Переглянути джерело

付款管理结算更新库存

zhangyuewww 3 роки тому
батько
коміт
ec47ca9974

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

@@ -64,6 +64,8 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
     @Autowired
     private IWarehousePositionInfoService warehousePositionInfoService;
     @Autowired
+    private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+    @Autowired
     private IWeightedDetailsService weightedDetailsService;
     @Autowired
     private ICostManagementInfoService costManagementInfoService;
@@ -223,6 +225,33 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
             }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() + warehouseInOutInfo.getNetWeight();
+                    // 更新库存量
+                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
+                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                }
+                // 没有货
+                else {
+                    original=0f;
+                    WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+                    warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+                    warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
+                    warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
+                    warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
+                    warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
+                    warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+                }
+            }
             warehouseInOutInfo1.setStatusFlag("3");
             warehouseInOutInfoService.insert(warehouseInOutInfo1);
             WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
@@ -236,9 +265,6 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
             warehouseInOutDetail.setJiaorenli(qualityInspectionManagement.getJiaorenli());
             warehouseInOutDetail.setImperfectGrain(qualityInspectionManagement.getImperfectGrain());
             warehouseInOutDetailService.insert(warehouseInOutDetail);
-
-            // 生成加权成本数据
-            Float original = 0f;
             WeightedDetails weightedDetails = new WeightedDetails();
             weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
             weightedDetails.setId(IdGenerator.generateUUID());