zhangyuewww 2 년 전
부모
커밋
c9a5aa1c9c

+ 34 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java

@@ -84,6 +84,10 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
     @Autowired
     private IPriceConfirmationSheetService priceConfirmationSheetService;
     @Autowired
+    private IContractInventoryDistributionService contractInventoryDistributionService;
+    @Autowired
+    private IWarehousingOrderService warehousingOrderService;
+    @Autowired
     private ICollectionWarehousingRecordService collectionWarehousingRecordService;
     @Value("${file-root-path}")
     private String localPath;
@@ -128,7 +132,7 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
             }
         }
         //现货自运采购合同添加临时仓库
-        if (NumberConstant.CONSTANT1.equals(contractManagementInfo.getGoodsType())&&NumberConstant.CONSTANT2.equals(contractManagementInfo.getContractType()) && NumberConstant.CONSTANT1.equals(contractManagementInfo.getDeliverType())) {
+        if (NumberConstant.CONSTANT1.equals(contractManagementInfo.getGoodsType())&&NumberConstant.CONSTANT2.equals(contractManagementInfo.getContractType()) && (NumberConstant.CONSTANT1.equals(contractManagementInfo.getDeliverType())||NumberConstant.CONSTANT3.equals(contractManagementInfo.getDeliverType()))) {
             WarehouseBaseInfo warehouseBaseInfo = new WarehouseBaseInfo();
             warehouseBaseInfo.setId(IdGenerator.generateUUID());
             Map<String, Object> pageView = new HashMap<>();
@@ -187,6 +191,35 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
             warehouseInOutInfo.setBackOffice(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
             warehouseInOutInfo.setInOutDate(contractManagementInfo.getSigningDate());
             warehouseInOutInfoService.insert(warehouseInOutInfo);
+            //采购自运合同自动生成入库单
+            WarehousingOrder warehousingOrder = new WarehousingOrder();
+            warehousingOrder.setId(IdGenerator.generateUUID());
+            warehousingOrder.setBaseId(warehouseBaseInfo.getId());
+            warehousingOrder.setWarehouseName(contractManagementInfo.getContractNo());
+            warehousingOrder.setGoodsSource(contractManagementInfo.getContractNo());
+            warehousingOrder.setInType("采购入库");
+            warehousingOrder.setCustomer(contractManagementInfo.getSeller());
+            warehousingOrder.setAvgCost(contractManagementInfo.getUnitContractPrice());
+            warehousingOrder.setCompId(contractManagementInfo.getCompId());
+            warehousingOrder.setGoodsName(contractManagementInfo.getContractGoodsInfo().getGoodsName());
+            warehousingOrder.setContractNo(contractManagementInfo.getContractNo());
+            warehousingOrder.setInWarehouseWeight(contractManagementInfo.getFinalTradingVolume());
+            warehousingOrder.setAmountNotPayable(contractManagementInfo.getTotalContractPrice());
+            warehousingOrder.setAmountEdPayable(0d);
+            warehousingOrder.setSurplusWeight(contractManagementInfo.getFinalTradingVolume());
+            warehousingOrder.setIssuingTime(new Date());
+            warehousingOrder.setGrainFund(contractManagementInfo.getTotalContractPrice());
+            warehousingOrderService.insert(warehousingOrder);
+            //采购自运合同自动生成库存
+            ContractInventoryDistribution contractInventoryDistribution=new ContractInventoryDistribution();
+            contractInventoryDistribution.setId(IdGenerator.generateUUID());
+            contractInventoryDistribution.setCompId(contractManagementInfo.getCompId());
+            contractInventoryDistribution.setInStorage(Double.valueOf(String.valueOf(contractManagementInfo.getFinalTradingVolume())));
+            contractInventoryDistribution.setWarehouse(contractManagementInfo.getContractNo());
+            contractInventoryDistribution.setContractNo(contractManagementInfo.getContractNo());
+            contractInventoryDistribution.setGoodsName(contractManagementInfo.getGoodsName());
+            contractInventoryDistribution.setInventoryType("1");
+            contractInventoryDistributionService.insert(contractInventoryDistribution);
         }
         // 货物信息新增
         ContractGoodsInfo contractGoodsInfo = contractManagementInfo.getContractGoodsInfo();

+ 63 - 9
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java

@@ -97,10 +97,25 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
                 for (SourceRelationInfo sourceRelationInfo: sourceRelationInfoList) {
                     sourceRelationInfo.setId(IdGenerator.generateUUID());
                     sourceRelationInfo.setTaskId(inOutWarehouseTask.getId());
+                    //计算比例
+                    sourceRelationInfo.setProportion(sourceRelationInfo.getEstimateOutWarehouseWeight()/Double.valueOf(String.valueOf(inOutWarehouseTask.getWeight())));
                     sourceRelationInfoService.insert(sourceRelationInfo);
-                    WarehousingOrder warehousingOrder=warehousingOrderService.selectById(sourceRelationInfo.getSourceId());
-                    warehousingOrder.setSurplusWeight(warehousingOrder.getSurplusWeight()-sourceRelationInfo.getEstimateOutWarehouseWeight());
-                    warehousingOrderService.updateById(warehousingOrder);
+                    //退库勾选标识
+                    if (sourceRelationInfo.getWarehouseInOutId()!=null){
+                        WarehouseInOutInfo warehouseInOutInfo=warehouseInOutInfoService.selectById(sourceRelationInfo.getWarehouseInOutId());
+                        warehouseInOutInfo.setReturnTickFlag(sourceRelationInfo.getReturnTickFlag());
+                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                    }
+                    //出库
+                    else {
+                        WarehousingOrder warehousingOrder=warehousingOrderService.selectById(sourceRelationInfo.getSourceId());
+                        if(warehousingOrder!=null) {
+                            warehousingOrder.setOutWarehouseWeight(warehousingOrder.getOutWarehouseWeight()+sourceRelationInfo.getEstimateOutWarehouseWeight());
+                            //修改入库单剩余重量
+                            warehousingOrder.setSurplusWeight(warehousingOrder.getSurplusWeight() - sourceRelationInfo.getEstimateOutWarehouseWeight());
+                            warehousingOrderService.updateById(warehousingOrder);
+                        }
+                    }
                 }
             }
             //出库任务,入库任务,赋值关联id
@@ -152,6 +167,36 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
             inOutWarehouseTask.setTaskStatus(StatusEnum.TASK_REVIEWED.getName());
             // 操作主表数据
             this.updateById(inOutWarehouseTask);
+            List<SourceRelationInfo> sourceRelationInfoList = inOutWarehouseTask.getSourceRelationInfoList();
+            if (CollectionUtils.isNotEmpty(sourceRelationInfoList)) {
+                for (SourceRelationInfo sourceRelationInfo: sourceRelationInfoList) {
+                    //获取原来的重量
+                    SourceRelationInfo sourceRelationInfo1=sourceRelationInfoService.selectById(sourceRelationInfo.getId());
+                    sourceRelationInfo.setProportion(sourceRelationInfo.getEstimateOutWarehouseWeight()/Double.valueOf(String.valueOf(inOutWarehouseTask.getWeight())));
+                    //退库勾选标识
+                    if (sourceRelationInfo.getWarehouseInOutId()!=null){
+                        WarehouseInOutInfo warehouseInOutInfo=warehouseInOutInfoService.selectById(sourceRelationInfo.getWarehouseInOutId());
+                        warehouseInOutInfo.setReturnTickFlag(sourceRelationInfo.getReturnTickFlag());
+                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                    }
+                    //出库
+                    else{
+                        WarehousingOrder warehousingOrder=warehousingOrderService.selectById(sourceRelationInfo.getSourceId());
+                        if (warehousingOrder!=null) {
+                            warehousingOrder.setOutWarehouseWeight(warehousingOrder.getOutWarehouseWeight()+sourceRelationInfo.getEstimateOutWarehouseWeight());
+                            warehousingOrder.setSurplusWeight(warehousingOrder.getSurplusWeight() - sourceRelationInfo.getEstimateOutWarehouseWeight() + sourceRelationInfo1.getSurplusWeight());
+                            warehousingOrderService.updateById(warehousingOrder);
+                        }
+                    }
+                    //退库编辑时取消勾选
+                    if(sourceRelationInfo.getReturnTickFlag()!=null&&"0".equals(sourceRelationInfo.getReturnTickFlag())){
+                        sourceRelationInfoService.deleteById(sourceRelationInfo.getId());
+                    }
+                    else {
+                        sourceRelationInfoService.updateById(sourceRelationInfo);
+                    }
+                }
+            }
             boolean isStartWorkflow = StringUtils.isBlank(inOutWarehouseTask.getWorkflowId());
             // 不是退回的单子
             if (isStartWorkflow) {
@@ -281,6 +326,12 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
         .orderBy("in_out_flag"));
         if (CollectionUtils.isNotEmpty(inOutWarehouseTaskList)) {
             for (InOutWarehouseTask inOutWarehouseTask1 : inOutWarehouseTaskList) {
+                List<SourceRelationInfo> sourceRelationInfoList =sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
+                        .eq("task_id", inOutWarehouseTask1.getId())
+                        .eq("delete_flag", "0"));
+                if (CollectionUtils.isNotEmpty(sourceRelationInfoList)){
+                    inOutWarehouseTask1.setSourceRelationInfoList(sourceRelationInfoList);
+                }
                 String taskId = "";
                 // 只有待审核状态才有taskId
                 if (StringUtils.isNotBlank(inOutWarehouseTask1.getWorkflowId())) {
@@ -617,12 +668,15 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
         //状态改成已完成
         inOutWarehouseTask.setTaskStatusKey(StatusEnum.TASK_COMPLETED.getFlag());
         inOutWarehouseTask.setTaskStatus(StatusEnum.TASK_COMPLETED.getName());
-        String[] sourceIdNew = inOutWarehouseTask.getSourceId().split(",");
-        //货源的预计出库重量赋值为实际出库重量
-        for (String id : sourceIdNew) {
-            WarehousingOrder warehousingOrder=warehousingOrderService.selectById(id);
-            warehousingOrder.setEstimateOutWarehouseWeight(warehousingOrder.getActualOutWarehouseWeight());
-            warehousingOrderService.updateById(warehousingOrder);
+        List<SourceRelationInfo> sourceRelationInfoList =sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
+                .eq("task_id", inOutWarehouseTask.getId())
+                .eq("delete_flag", "0"));
+        if(CollectionUtils.isNotEmpty(sourceRelationInfoList)){
+            //货源的预计出库重量赋值为实际出库重量
+            for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
+                sourceRelationInfo.setEstimateOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight());
+                sourceRelationInfoService.updateById(sourceRelationInfo);
+            }
         }
         this.updateById(inOutWarehouseTask);
         return "ok";

+ 30 - 8
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranSettlementReportServiceImpl.java

@@ -17,6 +17,7 @@ import com.yh.saas.plugin.yiliangyiyun.mapper.TranSettlementReportMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -55,6 +56,8 @@ public class TranSettlementReportServiceImpl extends ServiceImpl<TranSettlementR
     private ITranCarInfoService tranCarInfoService;
     @Autowired
     private ITranProcessInfoService tranProcessInfoService;
+    @Autowired
+    private IInOutWarehouseTaskService inOutWarehouseTaskService;
 
     /**
      * 汽运结算统计列表
@@ -209,13 +212,29 @@ public class TranSettlementReportServiceImpl extends ServiceImpl<TranSettlementR
      */
     @Override
     public List<ContractManagementInfo> selectContractNoList(String compId) {
+        List<ContractManagementInfo> temp = new ArrayList();
         //查我方承运的合同
         List<ContractManagementInfo> contractManagementInfoList = contractManagementInfoService.selectList(new EntityWrapper<ContractManagementInfo>()
                 .eq("comp_id", compId)
                 .eq("deliver_type", "1")
                 .eq("delete_flag", "0")
                 .orderBy("update_date", false));
-        for (ContractManagementInfo contractManagementInfo : contractManagementInfoList) {
+        if (!CollectionUtils.isEmpty(contractManagementInfoList)){
+            temp.addAll(contractManagementInfoList);
+        }
+        List<InOutWarehouseTask> inOutWarehouseTaskList = inOutWarehouseTaskService.selectList(new EntityWrapper<InOutWarehouseTask>()
+                .eq("comp_id", compId)
+                .eq("delete_flag", "0")
+                .eq("task_type_key", "3")
+                .eq("in_out_flag", "1")
+                .orderBy("update_date", false));
+        for (InOutWarehouseTask inOutWarehouseTask : inOutWarehouseTaskList) {
+            ContractManagementInfo contractManagementInfo = new ContractManagementInfo();
+            BeanUtils.copyProperties(inOutWarehouseTask, contractManagementInfo);
+            contractManagementInfo.setContractNo(inOutWarehouseTask.getMoveTaskNo());
+            temp.add(contractManagementInfo);
+        }
+        for (ContractManagementInfo contractManagementInfo : temp) {
             Float money = 0.0f;
             //查汽运结算报表
             List<TranSettlementReport> tranSettlementReportList = this.selectList(new EntityWrapper<TranSettlementReport>()
@@ -233,7 +252,8 @@ public class TranSettlementReportServiceImpl extends ServiceImpl<TranSettlementR
                 }
             }
         }
-        return contractManagementInfoList;
+
+        return temp;
     }
 
     /**
@@ -351,12 +371,14 @@ public class TranSettlementReportServiceImpl extends ServiceImpl<TranSettlementR
                 .eq("comp_id", tranSettlementReport.getCompId())
                 .eq("contract_no", tranSettlementReport.getContractNo())
                 .eq("delete_flag", "0"));
-        //销售
-        if ("1".equals(contractManagementInfo.getContractType())){
-            tranSettlementReport.setCustomer(contractManagementInfo.getBuyer());
-        }
-        else{
-            tranSettlementReport.setCustomer(contractManagementInfo.getSeller());
+        //合同类型
+        if(contractManagementInfo!=null) {
+            //销售
+            if ("1".equals(contractManagementInfo.getContractType())) {
+                tranSettlementReport.setCustomer(contractManagementInfo.getBuyer());
+            } else {
+                tranSettlementReport.setCustomer(contractManagementInfo.getSeller());
+            }
         }
         return tranSettlementReport;
     }

+ 105 - 18
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -111,6 +111,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
     private IQualityInspectionManagementService qualityInspectionManagementService;
     @Autowired
     private IPaymentManagementService paymentManagementService;
+    @Autowired
+    private ISourceRelationInfoService sourceRelationInfoService;
+    @Autowired
+    private IContractInventoryDistributionService contractInventoryDistributionService;
 
     /**
      * 待完成页面列表
@@ -300,6 +304,16 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
                         .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
                 if (inOutWarehouseTask != null) {
+                    //更新货源实际出库重量
+                    List<SourceRelationInfo> sourceRelationInfoList=sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
+                    .eq("task_id",inOutWarehouseTask.getId()));
+                    if (!CollectionUtils.isEmpty(sourceRelationInfoList)){
+                        for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
+                            //实际重量
+                            sourceRelationInfo.setActualOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()*sourceRelationInfo.getProportion())));
+                            sourceRelationInfoService.updateById(sourceRelationInfo);
+                        }
+                    }
                     //可超出重量
                     Float overNeight = 0.0f;
                     ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
@@ -2509,15 +2523,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
                 if (inOutWarehouseTask != null) {
                     //更新货源实际出库重量
-//                    List<SourceRelationInfo> sourceRelationInfoList=sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
-//                            .eq("task_id",inOutWarehouseTask.getId()));
-//                    if (!CollectionUtils.isEmpty(sourceRelationInfoList)){
-//                        for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
-//                            //实际重量
-//                            sourceRelationInfo.setActualOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()*sourceRelationInfo.getProportion())));
-//                            sourceRelationInfoService.updateById(sourceRelationInfo);
-//                        }
-//                    }
+                    List<SourceRelationInfo> sourceRelationInfoList=sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
+                            .eq("task_id",inOutWarehouseTask.getId()));
+                    if (!CollectionUtils.isEmpty(sourceRelationInfoList)){
+                        for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
+                            //实际重量
+                            sourceRelationInfo.setActualOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()*sourceRelationInfo.getProportion())));
+                            sourceRelationInfoService.updateById(sourceRelationInfo);
+                        }
+                    }
                     //可超出重量
                     Float overNeight = 0.0f;
                     ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
@@ -2562,15 +2576,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
                 if (inOutWarehouseTask != null) {
                     //更新货源实际出库重量
-//                    List<SourceRelationInfo> sourceRelationInfoList=sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
-//                            .eq("task_id",inOutWarehouseTask.getId()));
-//                    if (!CollectionUtils.isEmpty(sourceRelationInfoList)){
-//                        for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
-//                            //实际重量
-//                            sourceRelationInfo.setActualOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()*sourceRelationInfo.getProportion())));
-//                            sourceRelationInfoService.updateById(sourceRelationInfo);
-//                        }
-//                    }
+                    List<SourceRelationInfo> sourceRelationInfoList=sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
+                            .eq("task_id",inOutWarehouseTask.getId()));
+                    if (!CollectionUtils.isEmpty(sourceRelationInfoList)){
+                        for (SourceRelationInfo sourceRelationInfo:sourceRelationInfoList){
+                            //实际重量
+                            sourceRelationInfo.setActualOutWarehouseWeight(sourceRelationInfo.getActualOutWarehouseWeight()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()*sourceRelationInfo.getProportion())));
+                            sourceRelationInfoService.updateById(sourceRelationInfo);
+                        }
+                    }
                     //可超出重量
                     Float overNeight = 0.0f;
                     ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
@@ -3137,11 +3151,43 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     }
                                 }
                             }
+                            //常用库之间移库
+                            else{
+                                //查收货库
+                                InOutWarehouseTask inOutWarehouseTask1 = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                                        .eq("relevance_id", inOutWarehouseTask.getRelevanceId())
+                                        .eq("in_out_flag", "2")
+                                        .eq("delete_flag", "0"));
+                                //更新所在仓库收购库存
+                                ContractInventoryDistribution contractInventoryDistribution1=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                        .eq("comp_id",inOutWarehouseTask1.getCompId()).eq("inventory_type","3").eq("warehouse",inOutWarehouseTask.getWarehouseName())
+                                        .eq("locus_warehouse",inOutWarehouseTask1.getWarehouseName())
+                                        .eq("goods_name",warehouseInOutInfo.getGoodsName()));
+                                if (contractInventoryDistribution1!=null){
+                                    contractInventoryDistribution1.setInventory(contractInventoryDistribution1.getInventory()+warehouseInOutInfo.getNetWeight());
+                                    contractInventoryDistributionService.updateById(contractInventoryDistribution1);
+                                }
+                                else {
+                                    ContractInventoryDistribution contractInventoryDistribution2=new ContractInventoryDistribution();
+                                    contractInventoryDistribution2.setId(IdGenerator.generateUUID());
+                                    contractInventoryDistribution2.setCompId(inOutWarehouseTask.getCompId());
+                                    //所属仓库  发货库
+                                    contractInventoryDistribution2.setWarehouse(inOutWarehouseTask.getWarehouseName());
+                                    contractInventoryDistribution2.setInventory(warehouseInOutInfo.getNetWeight());
+                                    //所在仓库  收货
+                                    contractInventoryDistribution2.setLocusWarehouse(inOutWarehouseTask1.getWarehouseName());
+                                    contractInventoryDistribution2.setGoodsName(warehouseInOutInfo.getGoodsName());
+                                    contractInventoryDistribution2.setInventoryType("3");
+                                    contractInventoryDistributionService.insert(contractInventoryDistribution2);
+
+                                }
+                            }
                         }
                     }
 
                     //常用库退库入库类型
                     else if ("退库".equals(warehouseInOutInfo.getInOutType())) {
+                        warehouseInOutInfo.setReturnTickFlag("2");
                         //检斤表
                         WeighingManagement weighingManagement = weighingManagementService.selectOne(new EntityWrapper<WeighingManagement>()
                                 .eq("warehouse_in_out_id", warehouseInOutInfo.getId())
@@ -3473,6 +3519,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
                     //常用库销售出库类型
                     if ("1".equals(warehouseInOutInfo.getInOutTypeKey())) {
+                        //更新合同销售库存
+                        ContractInventoryDistribution contractInventoryDistribution=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                .eq("comp_id",warehouseBaseInfo.getCompId()).eq("inventory_type","1").eq("contract_no",warehouseInOutInfo.getContractNo())
+                                .eq("warehouse",warehouseInOutInfo.getWarehouseName()));
+                        if (contractInventoryDistribution!=null){
+                            contractInventoryDistribution.setSaleStorage(contractInventoryDistribution.getSaleStorage()+warehouseInOutInfo.getNetWeight());
+                            contractInventoryDistributionService.updateById(contractInventoryDistribution);
+                        }
                         //检斤表
                         WeighingManagement weighingManagement = weighingManagementService.selectOne(new EntityWrapper<WeighingManagement>()
                                 .eq("warehouse_in_out_id", warehouseInOutInfo.getId())
@@ -3695,11 +3749,28 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     }
                     //常用库移库出库类型
                     if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
+                        //更新合同移库库存
+                        ContractInventoryDistribution contractInventoryDistribution1=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                .eq("comp_id",warehouseBaseInfo.getCompId()).eq("inventory_type","1").eq("contract_no",warehouseInOutInfo.getContractNo())
+                                .eq("warehouse",warehouseInOutInfo.getWarehouseName()));
+                        if (contractInventoryDistribution1!=null){
+                            contractInventoryDistribution1.setRemoveStorage(contractInventoryDistribution1.getRemoveStorage()+warehouseInOutInfo.getNetWeight());
+                            contractInventoryDistributionService.updateById(contractInventoryDistribution1);
+                        }
                         InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
                                 .eq("move_task_no", warehouseInOutInfo.getContractNo())
                                 .eq("in_out_flag", "1")
                                 .eq("delete_flag", "0"));
                         if (inOutWarehouseTask != null) {
+                            //更新所属仓库收购库存
+                            ContractInventoryDistribution contractInventoryDistribution=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                    .eq("comp_id",inOutWarehouseTask.getCompId()).eq("inventory_type","3").eq("warehouse",inOutWarehouseTask.getWarehouseName())
+                                    .eq("locus_warehouse",inOutWarehouseTask.getWarehouseName())
+                                    .eq("goods_name",warehouseInOutInfo.getGoodsName()));
+                            if (contractInventoryDistribution!=null){
+                                contractInventoryDistribution.setInventory(contractInventoryDistribution.getInventory()-warehouseInOutInfo.getNetWeight());
+                                contractInventoryDistributionService.updateById(contractInventoryDistribution);
+                            }
                             //自运出库时手动加的车
                             if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
                                 List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
@@ -3908,6 +3979,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             .eq("delete_flag", "0"));
                     //临时库销售出库类型 且为自动创建的临时库时(采购报表进数据,销售报表也进数据)
                     if ("1".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
+                        //更新合同销售库存
+                        ContractInventoryDistribution contractInventoryDistribution1=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                .eq("comp_id",warehouseBaseInfo.getCompId()).eq("inventory_type","1").eq("contract_no",warehouseInOutInfo.getContractNo())
+                                .eq("warehouse",warehouseInOutInfo.getWarehouseName()));
+                        if (contractInventoryDistribution1!=null){
+                            contractInventoryDistribution1.setSaleStorage(contractInventoryDistribution1.getSaleStorage()+warehouseInOutInfo.getNetWeight());
+                            contractInventoryDistributionService.updateById(contractInventoryDistribution1);
+                        }
                         ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseBaseInfo.getWarehouseName())
                                 .eq("deliver_type", "1")
@@ -4038,6 +4117,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     }
                     //临时库移库出库类型 且为自动创建的临时库时进采购报表
                     if ("3".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
+                        //更新合同移库库存
+                        ContractInventoryDistribution contractInventoryDistribution1=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                                .eq("comp_id",warehouseBaseInfo.getCompId()).eq("inventory_type","1").eq("contract_no",warehouseInOutInfo.getContractNo())
+                                .eq("warehouse",warehouseInOutInfo.getWarehouseName()));
+                        if (contractInventoryDistribution1!=null){
+                            contractInventoryDistribution1.setRemoveStorage(contractInventoryDistribution1.getRemoveStorage()+warehouseInOutInfo.getNetWeight());
+                            contractInventoryDistributionService.updateById(contractInventoryDistribution1);
+                        }
                         //按出库重量结算
                         ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseBaseInfo.getWarehouseName())

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehousingOrderMapper.xml

@@ -57,6 +57,8 @@
         w.comp_id as compId,
         w.warehouse_name as warehouseName,
         wbi.warehouse_type as warehouseType,
+        w.request_funds as requestFunds,
+        w.in_warehouse_weight as inWarehouseWeight,
         w.customer,
         w.remark,
         w.batch_id as batchId,