ccjgmwz 3 年之前
父節點
當前提交
e44138b976

+ 124 - 138
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PaymentManagementServiceImpl.java

@@ -73,6 +73,8 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
     private IWeightedDetailsService weightedDetailsService;
     @Autowired
     private ICostManagementInfoService costManagementInfoService;
+    @Autowired
+    private ICommonSysParameterService iCommonSysParameterService;
     /**
      * 付款管理列表
      * @param paymentManagement
@@ -193,151 +195,135 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
         //查询关联流转记录
         QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
                 .eq("relation_id",paymentManagement1.getRelationId()));
-        WarehouseInOutInfo warehouseInOutInfo = warehouseInOutInfoService.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+        WarehouseInOutInfo warehouseInOutInfo1 = new WarehouseInOutInfo();
+        WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
                 .eq("warehouse_name",paymentManagement1.getWarehouseName())
+                .eq("comp_id",qualityInspectionManagement.getCompId()));
+        //生成流转信息
+        warehouseInOutInfo1.setId(IdGenerator.generateUUID());
+        warehouseInOutInfo1.setWarehouseName(paymentManagement1.getWarehouseName());
+
+        warehouseInOutInfo1.setBaseId(warehouseBaseInfo.getId());
+        //查到仓位编号
+        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectOne(new EntityWrapper<WarehousePositionInfo>()
+                .eq("base_id",warehouseBaseInfo.getId())
                 .eq("bin_number",qualityInspectionManagement.getBinNumber()));
-        //不为空修改流转信息
-        if(warehouseInOutInfo != null){
-            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+        warehouseInOutInfo1.setPositionId(warehousePositionInfo.getId());
+        warehouseInOutInfo1.setBinNumber(qualityInspectionManagement.getBinNumber());
+        warehouseInOutInfo1.setGoodsName(paymentManagement1.getGoodsName());
+        CommonSysParameter commonSysParameter = iCommonSysParameterService.selectOne(new EntityWrapper<CommonSysParameter>().eq("const_id","CON2").eq("const_value",paymentManagement1.getGoodsName()));
+        warehouseInOutInfo1.setGoodsNameKey(commonSysParameter.getConstKey());
+        warehouseInOutInfo1.setGrossWeight(paymentManagement1.getGrossWeight());
+        warehouseInOutInfo1.setTare(paymentManagement1.getTare());
+        warehouseInOutInfo1.setInOutType("收购入库");
+        warehouseInOutInfo1.setInOutFlag("2");
+        warehouseInOutInfo1.setCarNo(paymentManagement1.getCarNo());
+        warehouseInOutInfo1.setContractNo(paymentManagement1.getPaymentNo());
+        warehouseInOutInfo1.setAgent(paymentManagement.getSettlementClerk());
+        warehouseInOutInfo1.setInOutDate(new Date());
+        warehouseInOutInfo1.setGrade(qualityInspectionManagement.getGrade());
+        //潮粮取纯重,干粮取净重
+        if("潮粮".equals(paymentManagement1.getType())){
+            warehouseInOutInfo1.setPureWeight(paymentManagement.getPureWeight());
+            warehouseInOutInfo1.setNetWeight(paymentManagement.getPureWeight());
+        }else{
+            warehouseInOutInfo1.setNetWeight(paymentManagement.getNetWeight());
         }
-        else{
-            //生成流转信息
-            WarehouseInOutInfo warehouseInOutInfo1 = new WarehouseInOutInfo();
-            warehouseInOutInfo1.setId(IdGenerator.generateUUID());
-            warehouseInOutInfo1.setWarehouseName(paymentManagement1.getWarehouseName());
-            WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
-                    .eq("warehouse_name",paymentManagement1.getWarehouseName())
-                    .eq("comp_id",qualityInspectionManagement.getCompId()));
-            warehouseInOutInfo1.setBaseId(warehouseBaseInfo.getId());
-            //查到仓位编号
-            WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectOne(new EntityWrapper<WarehousePositionInfo>()
-                    .eq("base_id",warehouseBaseInfo.getId())
-                    .eq("bin_number",qualityInspectionManagement.getBinNumber()));
-            warehouseInOutInfo1.setPositionId(warehousePositionInfo.getId());
-            warehouseInOutInfo1.setBinNumber(qualityInspectionManagement.getBinNumber());
-            warehouseInOutInfo1.setGoodsName(paymentManagement1.getGoodsName());
-            warehouseInOutInfo1.setGrossWeight(paymentManagement1.getGrossWeight());
-            warehouseInOutInfo1.setTare(paymentManagement1.getTare());
-            warehouseInOutInfo1.setInOutType("收购入库");
-            warehouseInOutInfo1.setInOutFlag("2");
-            warehouseInOutInfo1.setCarNo(paymentManagement1.getCarNo());
-            warehouseInOutInfo1.setContractNo(paymentManagement1.getPaymentNo());
-            warehouseInOutInfo1.setAgent(paymentManagement.getSettlementClerk());
-            warehouseInOutInfo1.setInOutDate(paymentManagement1.getCreateDate());
-            warehouseInOutInfo1.setGrade(qualityInspectionManagement.getGrade());
-            //潮粮取纯重,干粮取净重
-            if("潮粮".equals(paymentManagement1.getType())){
-                warehouseInOutInfo1.setPureWeight(paymentManagement1.getPureWeight());
-                warehouseInOutInfo1.setNetWeight(paymentManagement1.getPureWeight());
-            }else{
-                warehouseInOutInfo1.setNetWeight(paymentManagement1.getNetWeight());
-            }
-            float original = 0f;
-            //  查询库位
-            if (warehousePositionInfo != null) {
-                // 查询货物库存量
-                WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
-                        .eq("position_id", warehouseInOutInfo1.getPositionId())
-                        .eq("goods_name", warehouseInOutInfo1.getGoodsName())
-                        .eq("delete_flag", "0"));
-                // 判断是否有货
-                if (warehousePositionStorageInfo != null) {
-                    original = warehousePositionStorageInfo.getStorage() + warehouseInOutInfo1.getNetWeight();
-                    // 更新库存量
-                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo1.getNetWeight());
-                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
-                }
-                // 没有货
-                else {
-                    original=0f;
-                    WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
-                    warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
-                    warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo1.getPositionId());
-                    warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo1.getBinNumber());
-                    warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo1.getGoodsName());
-                    warehousePositionStorageInfo1.setStorage(warehouseInOutInfo1.getNetWeight());
-                    warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
-                }
-            }
-            warehouseInOutInfo1.setStatusFlag("3");
-            warehouseInOutInfoService.insert(warehouseInOutInfo1);
-            WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
-            warehouseInOutDetail.setId(IdGenerator.generateUUID());
-            warehouseInOutDetail.setInfoId(warehouseInOutInfo1.getId());
-            warehouseInOutDetail.setQualityInspector(qualityInspectionManagement.getQualityInspector());
-            warehouseInOutDetail.setWaterContent(qualityInspectionManagement.getWaterContent());
-            warehouseInOutDetail.setImpurity(qualityInspectionManagement.getImpurity());
-            warehouseInOutDetail.setBulkDensity(qualityInspectionManagement.getBulkDensity());
-            warehouseInOutDetail.setMildewGrain(qualityInspectionManagement.getMildewGrain());
-            warehouseInOutDetail.setJiaorenli(qualityInspectionManagement.getJiaorenli());
-            warehouseInOutDetail.setImperfectGrain(qualityInspectionManagement.getImperfectGrain());
-            warehouseInOutDetailService.insert(warehouseInOutDetail);
-            WeightedDetails weightedDetails = new WeightedDetails();
-            weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
-            weightedDetails.setId(IdGenerator.generateUUID());
-            weightedDetails.setWarehouseId(warehouseInOutInfo1.getBaseId());
-            weightedDetails.setWarehouseName(warehouseInOutInfo1.getWarehouseName());
-            weightedDetails.setGoodsNameKey(warehouseInOutInfo1.getGoodsNameKey());
-            weightedDetails.setGoodsName(warehouseInOutInfo1.getGoodsName());
-            weightedDetails.setGrainType(warehouseInOutInfo1.getType());
-            weightedDetails.setInTypeKey(warehouseInOutInfo1.getTaskTypeKey());
-            weightedDetails.setInType(warehouseInOutInfo1.getTaskType());
-            weightedDetails.setNetWeight(warehouseInOutInfo1.getNetWeight());
-            weightedDetails.setPureWeight(warehouseInOutInfo1.getPureWeight());
-            weightedDetails.setUnitPrice(warehouseInOutInfo1.getUnitPrice());
-            weightedDetails.setDeductionAmount(warehouseInOutInfo1.getDeductionAmount());
-            weightedDetails.setFreight(warehouseInOutInfo1.getFreight());
-            weightedDetails.setOriginalStock(original);
-            // 查询入库全加权成本
-            List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo1.getWarehouseName())
-                    .eq("goods_name_key", warehouseInOutInfo1.getGoodsNameKey()).orderBy("update_date", false));
-            if (CollectionUtils.isEmpty(weightedDetailsList)) {
-                weightedDetails.setCostBefore(0f);
-            } else {
-                weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
-            }
-            // 计算新加权成本
-            Float newCost = 0f;
-            if ("干粮".equals(warehouseInOutInfo1.getTaskType())) {
-                newCost = ((warehouseInOutInfo1.getCost() + warehouseInOutInfo1.getFreight()) * warehouseInOutInfo1.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo1.getNetWeight() + original);
-
-            } else {
-                newCost = ((warehouseInOutInfo1.getCost() + warehouseInOutInfo1.getFreight()) * warehouseInOutInfo1.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo1.getPureWeight() + original);
-
-            }
-            weightedDetails.setCostAfter(newCost);
+        warehouseInOutInfo1.setStatusFlag("3");
+        warehouseInOutInfoService.insert(warehouseInOutInfo1);
+        float original = 0f;
+        // 查询货物库存量
+        WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                .eq("position_id", warehouseInOutInfo1.getPositionId())
+                .eq("goods_name", warehouseInOutInfo1.getGoodsName())
+                .eq("delete_flag", "0"));
+        // 判断是否有货
+        if (warehousePositionStorageInfo != null) {
+            original = warehousePositionStorageInfo.getStorage();
+            // 更新库存量
+            warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo1.getNetWeight());
+            warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+        }
+        // 没有货
+        else {
+            original=0f;
+            WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+            warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+            warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo1.getPositionId());
+            warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo1.getBinNumber());
+            warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo1.getGoodsName());
+            warehousePositionStorageInfo1.setStorage(warehouseInOutInfo1.getNetWeight());
+            warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+        }
+        WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
+        warehouseInOutDetail.setId(IdGenerator.generateUUID());
+        warehouseInOutDetail.setInfoId(warehouseInOutInfo1.getId());
+        warehouseInOutDetail.setQualityInspector(qualityInspectionManagement.getQualityInspector());
+        warehouseInOutDetail.setWaterContent(qualityInspectionManagement.getWaterContent());
+        warehouseInOutDetail.setImpurity(qualityInspectionManagement.getImpurity());
+        warehouseInOutDetail.setBulkDensity(qualityInspectionManagement.getBulkDensity());
+        warehouseInOutDetail.setMildewGrain(qualityInspectionManagement.getMildewGrain());
+        warehouseInOutDetail.setJiaorenli(qualityInspectionManagement.getJiaorenli());
+        warehouseInOutDetail.setImperfectGrain(qualityInspectionManagement.getImperfectGrain());
+        warehouseInOutDetailService.insert(warehouseInOutDetail);
+        WeightedDetails weightedDetails = new WeightedDetails();
+        weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        weightedDetails.setId(IdGenerator.generateUUID());
+        weightedDetails.setWarehouseId(warehouseInOutInfo1.getBaseId());
+        weightedDetails.setWarehouseName(warehouseInOutInfo1.getWarehouseName());
+        weightedDetails.setGoodsNameKey(warehouseInOutInfo1.getGoodsNameKey());
+        weightedDetails.setGoodsName(warehouseInOutInfo1.getGoodsName());
+        weightedDetails.setGrainType(warehouseInOutInfo1.getType());
+        weightedDetails.setInTypeKey(warehouseInOutInfo1.getTaskTypeKey());
+        weightedDetails.setInType(warehouseInOutInfo1.getTaskType());
+        weightedDetails.setNetWeight(warehouseInOutInfo1.getNetWeight());
+        weightedDetails.setPureWeight(warehouseInOutInfo1.getPureWeight());
+        weightedDetails.setUnitPrice(warehouseInOutInfo1.getUnitPrice());
+        weightedDetails.setDeductionAmount(warehouseInOutInfo1.getDeductionAmount());
+        weightedDetails.setFreight(warehouseInOutInfo1.getFreight());
+        weightedDetails.setOriginalStock(original);
+        // 查询入库全加权成本
+        List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo1.getWarehouseName())
+                .eq("goods_name_key", warehouseInOutInfo1.getGoodsNameKey()).orderBy("update_date", false));
+        if (CollectionUtils.isEmpty(weightedDetailsList)) {
+            weightedDetails.setCostBefore(0f);
+        } else {
+            weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
+        }
+        // 计算新加权成本
+        Float newCost = (paymentManagement.getActualPayment()  + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo1.getNetWeight() + original);
 
-            weightedDetailsService.insert(weightedDetails);
-            // 修改成本信息表
-            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
-                    .eq("goods_name_key", weightedDetails.getGoodsNameKey()));
-            List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo1.getWarehouseName())
-                    .eq("goods_name_key", warehouseInOutInfo1.getGoodsNameKey()).orderBy("update_date", false));
-            Float net = 0f;
-            for(int i=0;i<weightedDetailsLists.size();i++){
-                net = net +weightedDetailsLists.get(i).getNetWeight();
-            }
-            if(costManagementInfo ==null){
-                CostManagementInfo costManagementInfo1= new CostManagementInfo();
-                costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
-                costManagementInfo1.setId(IdGenerator.generateUUID());
-                costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
-                costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
-                costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
-                costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
-                costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
+        weightedDetails.setCostAfter(newCost);
 
-                costManagementInfo1.setStorage(net);
-                costManagementInfo1.setCost(weightedDetails.getCostAfter());
-                costManagementInfoService.insert(costManagementInfo1);
-            }
-            else{
-                costManagementInfo.setCost(weightedDetails.getCostAfter());
-                costManagementInfo.setStorage(net);
-                costManagementInfoService.updateById(costManagementInfo);
-            }
+        weightedDetailsService.insert(weightedDetails);
+        // 修改成本信息表
+        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
+                .eq("goods_name_key", weightedDetails.getGoodsNameKey()));
+        List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo1.getWarehouseName())
+                .eq("goods_name_key", warehouseInOutInfo1.getGoodsNameKey()).orderBy("update_date", false));
+        Float net = 0f;
+        for(int i=0;i<weightedDetailsLists.size();i++){
+            net = net +weightedDetailsLists.get(i).getNetWeight();
         }
+        if(costManagementInfo ==null){
+            CostManagementInfo costManagementInfo1= new CostManagementInfo();
+            costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+            costManagementInfo1.setId(IdGenerator.generateUUID());
+            costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
+            costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
+            costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
+            costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
+            costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
 
+            costManagementInfo1.setStorage(net);
+            costManagementInfo1.setCost(weightedDetails.getCostAfter());
+            costManagementInfoService.insert(costManagementInfo1);
+        }
+        else{
+            costManagementInfo.setCost(weightedDetails.getCostAfter());
+            costManagementInfo.setStorage(net);
+            costManagementInfoService.updateById(costManagementInfo);
+        }
 
         this.updateById(paymentManagement);
         return "OK";

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

@@ -219,14 +219,14 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                 paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
                 paymentManagement1.setType(weighingManagement1.getType());
                 paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
-                if ("潮粮".equals(weighingManagement1.getType())){
-                    //查收购设置数据
-                    PurchasePrice purchasePrice=purchasePriceService.selectOne(new EntityWrapper<PurchasePrice>()
-                            .eq("warehouse_id",weighingManagement.getWarehouseId())
-                            .eq("goods_name",weighingManagement.getGoodsName()));
-                    Float pureWeight=weighingManagement.getNetWeight()* (100-(Float.valueOf(qualityInspectionManagement1.getWaterContent())-purchasePrice.getWaterMin())*purchasePrice.getDeductWeight())/100;
-                    paymentManagement1.setPureWeight(pureWeight);
-                }
+//                if ("潮粮".equals(weighingManagement1.getType())){
+//                    //查收购设置数据
+//                    PurchasePrice purchasePrice=purchasePriceService.selectOne(new EntityWrapper<PurchasePrice>()
+//                            .eq("warehouse_id",weighingManagement.getWarehouseId())
+//                            .eq("goods_name",weighingManagement.getGoodsName()));
+//                    Float pureWeight=weighingManagement.getNetWeight()* (100-(Float.valueOf(qualityInspectionManagement1.getWaterContent())-purchasePrice.getWaterMin())*purchasePrice.getDeductWeight())/100;
+//                    paymentManagement1.setPureWeight(pureWeight);
+//                }
                 paymentManagement1.setStatus(StatusEnum.TO_BE_SETTLED.getName());
                 paymentManagement1.setStatusFlag(StatusEnum.TO_BE_SETTLED.getFlag());
                 paymentManagement1.setNetWeight(weighingManagement.getNetWeight());