소스 검색

杰生重构 更新合同出货数量

home 2 년 전
부모
커밋
853177c8f2

+ 7 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/contract/ContractDetailsService.java

@@ -13,4 +13,11 @@ import com.fjhx.entity.contract.ContractDetails;
  */
 public interface ContractDetailsService extends StorageBaseService<ContractDetails> {
 
+    /**
+     * 修改合同明细出货数量
+     *
+     * @param waterBatchId 合同批次id
+     */
+    void updateShipmentQuantity(Long waterBatchId);
+
 }

+ 23 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/contract/impl/ContractDetailsServiceImpl.java

@@ -1,11 +1,18 @@
 package com.fjhx.service.contract.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.base.StorageBaseEntity;
 import com.fjhx.entity.contract.ContractDetails;
+import com.fjhx.entity.water.WaterBatch;
 import com.fjhx.mapper.contract.ContractDetailsMapper;
 import com.fjhx.service.contract.ContractDetailsService;
+import com.fjhx.service.water.WaterBatchService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 采购合同明细 服务实现类
@@ -17,4 +24,20 @@ import org.springframework.stereotype.Service;
 @Service
 public class ContractDetailsServiceImpl extends ServiceImpl<ContractDetailsMapper, ContractDetails> implements ContractDetailsService {
 
+    @Autowired
+    private WaterBatchService waterBatchService;
+
+    @Override
+    public synchronized void updateShipmentQuantity(Long waterBatchId) {
+        WaterBatch waterBatch = waterBatchService.getById(waterBatchId);
+        ContractDetails contractDetails = getById(waterBatch.getContractDetailsId());
+
+        // 原出货数量
+        BigDecimal shipmentQuantity = contractDetails.getShipmentQuantity();
+
+        // 更新合同出货数量
+        update(Wrappers.<ContractDetails>lambdaUpdate()
+                .eq(StorageBaseEntity::getId, contractDetails.getId())
+                .set(ContractDetails::getShipmentQuantity, shipmentQuantity.add(waterBatch.getTagQuantitySum())));
+    }
 }

+ 3 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/service/water/impl/WaterBatchServiceImpl.java

@@ -130,6 +130,9 @@ public class WaterBatchServiceImpl extends ServiceImpl<WaterBatchMapper, WaterBa
 
         // 到货贴标
         waterTagService.shipment(waterBatch.getId());
+
+        // 修改合同出货数量
+        contractDetailsService.updateShipmentQuantity(waterBatch.getId());
     }
 
     private String getCode(String contractCode) {

+ 0 - 1
hx-service/storage-restructure/src/main/java/com/fjhx/service/water/impl/WaterServiceImpl.java

@@ -101,7 +101,6 @@ public class WaterServiceImpl extends ServiceImpl<WaterMapper, Water> implements
         }
 
         throw new ServiceException("未知出入库类型");
-
     }
 
     /**