From 24fc98301c0b38a76b7d5aa704fe79a2e385e584 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 14:20:41 +0800
Subject: [PATCH] feat: 1、物品分发部门查询 2、分发新增数量校验

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java |   62 +++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 23 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
index 45982fd..cb62402 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -16,19 +16,22 @@
 import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormInventory;
+import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description 鐩樼偣
@@ -44,15 +47,14 @@
     @Autowired
     private BaseWarehouseServiceImpl baseWarehouseService;
     @Autowired
-    private FinSysTenantUserServiceImpl finSysTenantUserService;
-    @Autowired
     private LWhFormInventoryGoodsServiceImpl inventoryGoodsService;
-    @Autowired
-    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
     @Autowired
     private LWhGoodsService lWhGoodsService;
     @Autowired
     private FinSysTenantServiceImpl finSysTenantService;
+    @Autowired
+    @Lazy
+    private LWhFormInventoryCoreService lWhFormInventoryCoreService;
 
 
     private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 ";
@@ -180,20 +182,39 @@
 
     }
 
+
     /**
      * 淇濆瓨鐩樼偣淇℃伅
      *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
-    public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state) {
+    public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state, S_user_core currentUser, FinSysTenantUser sysInfo) {
         //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
         if (lWhFormInventory == null) {
             log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曞け璐�");
             return 0;
         }
-        //2.淇敼鐩樼偣鍗�
+        //娣诲姞鐩樼偣鍗曠墿鍝�
+        List<FormInventoryGoodsVO> inventoryGoodsList = dto.getInventoryGoodsList();
+        if (CollectionUtils.isEmpty(inventoryGoodsList)) {
+            log.error("鐩樼偣鍗曠墿鍝佷负绌�");
+            return 0;
+        }
+        this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList);
+        //淇敼鐩樼偣鍗�
+        if (state == 2) {
+            //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂�
+            lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+
+            //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂�
+            String inOutFormByInventoryId = lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo);
+            if (!StringUtils.isEmpty(inOutFormByInventoryId)) {
+                log.error(inOutFormByInventoryId);
+                return 0;
+            }
+        }
         lWhFormInventory.setStates(state);
         lWhFormInventory.setInventoryDate(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         int flag1 = this.update(lWhFormInventory);
@@ -201,13 +222,7 @@
             log.error("淇敼鐩樼偣鍗曞け璐�");
             return 0;
         }
-        //3.娣诲姞鐩樼偣鍗曠墿鍝�
-        List<FormInventoryGoodsVO> inventoryGoodsList = dto.getInventoryGoodsList();
-        if (CollectionUtils.isEmpty(inventoryGoodsList)) {
-            log.error("鐩樼偣鍗曠墿鍝佷负绌�");
-            return 0;
-        }
-        this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList);
+
         return 1;
     }
 
@@ -323,9 +338,10 @@
         mapGenericPager.getDatas().forEach(item -> {
             FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class);
             formInventoryDetailVO.setInventoryResultType(
-                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
+                    formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
             formInventoryDetailVO.setInventoryType(
-                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
+                    formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
+            formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode());
             result.add(formInventoryDetailVO);
         });
         pageUtil.setDatas(result);
@@ -335,8 +351,8 @@
     public List<FormInventoryGoodsVO> selectDetailById(Long id) {
 
         String sql = "select fig.id, fig.BASE_GOODS_TEMPLATE_ID,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,"
-            + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from "
-            + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID  where fig.WH_FORM_INVENTORY_ID = :id";
+                + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from "
+                + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID  where fig.WH_FORM_INVENTORY_ID = :id";
         HashMap<String, Object> param = new HashMap<>();
         param.put("id", id);
         List<Map<String, Object>> select = select(sql, param, new MapperUtil());
@@ -366,9 +382,9 @@
         formInventoryVO.setWarehouseName(inventory.getWarehouseName());
 
         String sql =
-            "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT "
-                + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id "
-                + "where bgt.AGENCY_ID = :agencyId";
+                "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT "
+                        + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id "
+                        + "where bgt.AGENCY_ID = :agencyId";
         HashMap<String, Object> param = new HashMap<>();
         param.put("agencyId", inventory.getAgencyId());
         List<Map<String, Object>> result = this.select(sql, param, new MapperUtil());

--
Gitblit v1.9.1