From 8ce1dcfe07de7dcfd397a0af02689653da0981eb Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 22 十二月 2023 13:49:16 +0800
Subject: [PATCH] 部门分发时,修改正确的预警库存

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
index 28451b3..4261eb3 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -19,7 +19,10 @@
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.type.CategoryType;
+import com.consum.base.core.type.StatesType;
 import com.consum.base.core.type.TransferBusinessType;
+import com.consum.base.core.type.TransferStatesType;
+import com.consum.base.core.type.WareHouseType;
 import com.consum.base.core.utils.CurrencyUtil;
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.MapUtils;
@@ -37,7 +40,7 @@
 import com.consum.base.pojo.response.LWHFromTransferExtendVO;
 import com.consum.base.service.BaseWarehouseManagerService;
 import com.consum.base.service.BaseWarehouseService;
-import com.consum.base.service.FinSysTenantServiceImpl;
+import com.consum.base.service.FinSysTenantService;
 import com.consum.base.service.LWhFormTransferService;
 import com.consum.base.service.LWhGoodsService;
 import com.consum.base.service.LWhProcureModelService;
@@ -69,7 +72,7 @@
     @Autowired
     private CodeGeneratorService codeGeneratorService;
     @Autowired
-    private FinSysTenantServiceImpl finSysTenantService;
+    private FinSysTenantService finSysTenantService;
     @Autowired
     private LWhGoodsService lWhGoodsService;
     @Autowired
@@ -112,13 +115,12 @@
 
         lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(codeGeneratorEnum));
 
-        Long warehouseId = param.getInWarehouseId();
         // 璋冩嫧绫诲瀷鍗曟嵁
         if (businessType == TransferBusinessType.STOCK_TRANSFER.getValue()) {
-            // 鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱
+            // 鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱涓殑绗竴涓�
             String tenantId = sysInfo.getTenantId();
             String tenantName = sysInfo.getTenantName();
-            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
+            BaseWarehouse warehouse = baseWarehouseService.getWarehouseByAgencyId(Long.valueOf(tenantId), null);
             if (warehouse == null) {
                 log.error("浠撳簱涓嶅瓨鍦�");
                 throw new Exception("浠撳簱涓嶅瓨鍦�");
@@ -148,13 +150,13 @@
             baseWarehouse.setId(baseWarehouseId);
             BaseWarehouse warehouse = baseWarehouseService.get(baseWarehouse);
 
-            lWhFormTransfer.setInWarehouseType(1);
+            lWhFormTransfer.setInWarehouseType(WareHouseType.DEPARTMENT.getValue());
             lWhFormTransfer.setInWarehouseId(param.getDepartmentId());
             lWhFormTransfer.setInWarehouseName(param.getDepartmentName());
             lWhFormTransfer.setInOperatorName(param.getOperatorName());
             lWhFormTransfer.setInTime(param.getCreateTime());
 
-            lWhFormTransfer.setOutWarehouseType(0);
+            lWhFormTransfer.setOutWarehouseType(WareHouseType.TENANT.getValue());
             lWhFormTransfer.setOutWarehouseId(warehouse.getId());
             lWhFormTransfer.setOutWarehouseName(warehouse.getWarehouseName());
 
@@ -170,13 +172,14 @@
         if (finSysTenant == null) {
             log.error("璋冩嫧鏈烘瀯涓嶅瓨鍦�");
         }
-        lWhFormTransfer.setOutAgencyId(finSysTenant.getId());
+        Long outAgencyId = finSysTenant.getId();
+        lWhFormTransfer.setOutAgencyId(outAgencyId);
         lWhFormTransfer.setOutAgencyName(finSysTenant.getName());
         lWhFormTransfer.setOperatorId(sysInfo.getId());
         lWhFormTransfer.setOperatorName(sysInfo.getUserName());
         lWhFormTransfer.setCreateTime(param.getCreateTime());
         // 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴撳簱:4=宸叉挙閿�
-        lWhFormTransfer.setStates(0);
+        lWhFormTransfer.setStates(TransferStatesType.OUT_PENDING.getValue());
         lWhFormTransfer.setProcureDoc(param.getProcureDoc());
 
         int flag1 = this.insert(lWhFormTransfer);
@@ -214,7 +217,13 @@
                 if (businessType == TransferBusinessType.STOCK_TRANSFER.getValue()) {
                     lWhProcureModel.setBusinessType(2);
                     // 鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                    int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
+                    // 璋冩嫧鐢宠鏃舵病鏈変粨搴搃d 鏌ヨ涓婄骇鏈烘瀯鐨勬墍鏈変粨搴�
+                    List<BaseWarehouse> baseWareHouseList =
+                        baseWarehouseService.getBaseWareHouseList(outAgencyId, StatesType.NORMAL.getValue());
+                    List<Long> warehouseIdList =
+                        baseWareHouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList());
+                    int goodsNum = lWhGoodsService.queryGoodsModelNum(WareHouseType.TENANT.getValue(), warehouseIdList,
+                        baseGoodsModelsId, 1, null);
                     lWhProcureModel.setWorehouseCount(goodsNum);
                 }
                 if (businessType == TransferBusinessType.DEPARTMENT_PROCURE.getValue()) {
@@ -536,7 +545,7 @@
      */
     public int updateStatus(Long id) {
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
-        lWhFormTransfer.setStates(4);
+        lWhFormTransfer.setStates(TransferStatesType.CANCEL.getValue());
         return this.update(lWhFormTransfer);
     }
 
@@ -635,11 +644,11 @@
         }
         if (param.getOutAgencyId() != null) {
             sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId ");
-            params.put("outAgencyId", param.getOutAgencyId());
+            params.put("outAgencyId", param.getOutAgencyId() + StringUtils.CHAR_PERCENT);
         }
-        if (param.getOutAgencyId() != null) {
+        if (param.getInAgencyId() != null) {
             sql.append("AND ft.IN_AGENCY_ID like :inAgencyId ");
-            params.put("inAgencyId", param.getInAgencyId());
+            params.put("inAgencyId", param.getInAgencyId() + StringUtils.CHAR_PERCENT);
         }
         if (StringUtils.isNotEmpty(param.getOperatorName())) {
             sql.append("AND ft.OPERATOR_NAME = :operatorName ");

--
Gitblit v1.9.1