From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期一, 15 四月 2024 09:07:05 +0800
Subject: [PATCH] bug修改

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java |  101 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 65 insertions(+), 36 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java
index 1edab61..c3f0f5a 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java
@@ -7,6 +7,9 @@
 import java.util.List;
 import java.util.Map;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.consum.base.pojo.query.LWhLedgerQry;
+import com.consum.base.service.*;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,11 +32,6 @@
 import com.consum.base.pojo.response.FormInventoryDetailVO;
 import com.consum.base.pojo.response.FormInventoryGoodsVO;
 import com.consum.base.pojo.response.FormInventoryVO;
-import com.consum.base.service.BaseWarehouseService;
-import com.consum.base.service.FinSysTenantService;
-import com.consum.base.service.LWhFormInventoryGoodsService;
-import com.consum.base.service.LWhFormInventoryService;
-import com.consum.base.service.LWhGoodsService;
 import com.consum.base.service.core.LWhFormInventoryCoreService;
 import com.consum.model.po.BaseWarehouse;
 import com.consum.model.po.FinSysTenant;
@@ -46,6 +44,8 @@
 import com.walker.jdbc.service.BaseServiceImpl;
 
 import lombok.extern.slf4j.Slf4j;
+
+import javax.annotation.Resource;
 
 /**
  * @Description 鐩樼偣
@@ -69,20 +69,22 @@
     @Autowired
     @Lazy
     private LWhFormInventoryCoreService lWhFormInventoryCoreService;
+    @Resource
+    private FinWarehouseLedgerServiceImpl finWarehouseLedgerService;
 
     private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 ";
 
     private static final String QUERY_PD_DETAIL_LIST =
-        "SELECT fig.id,fi.WAREHOUSE_NAME,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,fig.INVENTORY_RESULT,fig.INIT_COUNTS,fig.INVENTORY_COUNTS,"
-            + "fig.ERROR_COUNTS,fi.AGENCY_NAME,fi.OPERATOR_NAME,fi.STOP_TIME operatorTime,"
-            + "CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE END warehouseFormCode "
-            + "FROM l_wh_form_inventory fi INNER JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID where 1=1 ";
+            "SELECT fig.id,fi.WAREHOUSE_NAME,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,fig.INVENTORY_RESULT,fig.INIT_COUNTS,fig.INVENTORY_COUNTS,"
+                    + "fig.ERROR_COUNTS,fi.AGENCY_NAME,fi.OPERATOR_NAME,fi.STOP_TIME operatorTime,"
+                    + "CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE END warehouseFormCode "
+                    + "FROM l_wh_form_inventory fi INNER JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID where 1=1 ";
 
     /**
      * @param param
-     * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛
+     * @param currentUser  褰撳墠鐧诲綍鐢ㄦ埛
      * @param operatorUser 鐩樼偣浜�
-     * @param monitorUser 鐩戠洏浜�
+     * @param monitorUser  鐩戠洏浜�
      * @return
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
@@ -90,7 +92,7 @@
      */
     @Override
     public int add(FormInventoryParam param, FinSysTenantUser currentUser, FinSysTenantUser operatorUser,
-        FinSysTenantUser monitorUser) {
+                   FinSysTenantUser monitorUser) {
         // 鏂板鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = new LWhFormInventory();
         BeanUtils.copyProperties(param, lWhFormInventory);
@@ -142,7 +144,7 @@
         if (!StringUtils.isEmpty(param.getBusinessFormName())) {
             sql.append("and BUSINESS_FORM_NAME like :BUSINESS_FORM_NAME ");
             paramts.put("BUSINESS_FORM_NAME",
-                StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT);
+                    StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT);
         }
         // 浠撳簱缂栧彿
         if (param.getWarehouseId() != null) {
@@ -199,7 +201,7 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state, S_user_core currentUser,
-        FinSysTenantUser sysInfo) {
+                                   FinSysTenantUser sysInfo) {
         // 1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
         if (lWhFormInventory == null) {
@@ -220,7 +222,7 @@
 
             // 瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂�
             String inOutFormByInventoryId =
-                lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo);
+                    lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo);
             if (!StringUtils.isEmpty(inOutFormByInventoryId)) {
                 log.error(inOutFormByInventoryId);
                 return 0;
@@ -264,7 +266,7 @@
         if (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
             sql.append("and GOODS_TEMPLATE_NAME =:GOODS_TEMPLATE_NAME ");
             paramts.put("GOODS_TEMPLATE_NAME",
-                StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
+                    StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
         }
         // 瑙勬牸鍨嬪彿
         if (param.getBaseGoodsModelsId() != null) {
@@ -280,7 +282,7 @@
         // 鍑哄叆搴撳崟鍙�
         if (param.getWarehouseFormCode() != null) {
             sql.append(
-                " and CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE =:warehouseFormCode WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE =:warehouseFormCode END ");
+                    " and CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE =:warehouseFormCode WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE =:warehouseFormCode END ");
             paramts.put("warehouseFormCode", param.getWarehouseFormCode());
         }
         // 鎿嶄綔浜�
@@ -300,15 +302,15 @@
         sql.append("AND fig.INVENTORY_RESULT in(2,3) ");
         sql.append("ORDER BY CREATE_TIME DESC ");
         GenericPager<Map<String, Object>> mapGenericPager =
-            selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
+                selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
         PageUtil<FormInventoryDetailVO> pageUtil = new PageUtil<>(mapGenericPager);
         List<FormInventoryDetailVO> result = Lists.newArrayList();
         mapGenericPager.getDatas().forEach(item -> {
             FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class);
             formInventoryDetailVO.setInventoryResultType(formInventoryDetailVO.getInventoryResult() == null ? null
-                : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
+                    : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
             formInventoryDetailVO.setInventoryType(formInventoryDetailVO.getInventoryResult() == null ? null
-                : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
+                    : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
             formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode());
             result.add(formInventoryDetailVO);
         });
@@ -320,8 +322,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());
@@ -352,11 +354,11 @@
 
         // 缁熻浠撳簱鍐呯殑鐗╁搧
         String sql =
-            "SELECT distinct bgt.id baseGoodsTemplateId,bgm.id baseGoodsModelId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,"
-                + "bgt.CLASSIFICATION TYPE,bgm.UNIT FROM l_wh_goods g "
-                + "LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.ID "
-                + "LEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = bgt.id WHERE "
-                + "WAREHOUSE_ID = :warehouseId GROUP BY g.BASE_GOODS_MODELS_ID ";
+                "SELECT distinct bgt.id baseGoodsTemplateId,bgm.id baseGoodsModelId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,"
+                        + "bgt.CLASSIFICATION TYPE,bgm.UNIT FROM l_wh_goods g "
+                        + "LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.ID "
+                        + "LEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = bgt.id WHERE "
+                        + "WAREHOUSE_ID = :warehouseId GROUP BY g.BASE_GOODS_MODELS_ID ";
         HashMap<String, Object> param = new HashMap<>();
         param.put("warehouseId", warehouseId);
 
@@ -366,7 +368,7 @@
             FormInventoryGoodsVO baseGoodsModels = MapUtils.convertMapToObj(item, FormInventoryGoodsVO.class);
             List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
             int inventoryCount = this.lWhGoodsService.queryGoodsModelNum(null, warehouseIds,
-                baseGoodsModels.getBaseGoodsModelId(), 1, null);
+                    baseGoodsModels.getBaseGoodsModelId(), 1, null);
             baseGoodsModels.setInventoryCount(inventoryCount);
             goodsVOList.add(baseGoodsModels);
         });
@@ -377,12 +379,12 @@
     @Override
     public List<InventoryExcelTemplate> getExportList(Long id) {
         String sql = "SELECT\n" + "\tfi.INVENTORY_DATE createTime,\n" + "\tfi.STOP_TIME endTime,\n"
-            + "\tfi.OPERATOR_NAME,\n" + "\tfi.OPERATOR_NAME2 monitorName,\n" + "\tfi.AGENCY_NAME tenantName,\n"
-            + "\tfig.GOODS_TEMPLATE_NAME templateName,\n" + "\tfig.BASE_GOODS_MODELS_NAME baseModelName,\n"
-            + "\tfig.INVENTORY_COUNTS num,\n" + "\tfig.INIT_COUNTS stockNum,\n" + "\tfig.INVENTORY_RESULT,\n"
-            + "\tBEIZ1 remark\n" + "FROM\n" + "\tl_wh_form_inventory fi\n"
-            + "\tLEFT JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID\n" + "WHERE\n"
-            + "\tfi.ID = :id";
+                + "\tfi.OPERATOR_NAME,\n" + "\tfi.OPERATOR_NAME2 monitorName,\n" + "\tfi.AGENCY_NAME tenantName,\n"
+                + "\tfig.GOODS_TEMPLATE_NAME templateName,\n" + "\tfig.BASE_GOODS_MODELS_NAME baseModelName,\n"
+                + "\tfig.INVENTORY_COUNTS num,\n" + "\tfig.INIT_COUNTS stockNum,\n" + "\tfig.INVENTORY_RESULT,\n"
+                + "\tBEIZ1 remark\n" + "FROM\n" + "\tl_wh_form_inventory fi\n"
+                + "\tLEFT JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID\n" + "WHERE\n"
+                + "\tfi.ID = :id";
         HashMap<String, Object> param = new HashMap<>();
         param.put("id", id);
         List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
@@ -392,13 +394,40 @@
         List<InventoryExcelTemplate> list = Lists.newArrayList();
         select.forEach(item -> {
             InventoryExcelTemplate inventoryExcelTemplate =
-                MapUtils.convertMapToObj(item, InventoryExcelTemplate.class);
+                    MapUtils.convertMapToObj(item, InventoryExcelTemplate.class);
             inventoryExcelTemplate.setInventoryDeception(inventoryExcelTemplate.getInventoryResult() == 1 ? "鏄�" : "鍚�");
             inventoryExcelTemplate.setDeception(inventoryExcelTemplate.getInventoryResult() == 1 ? "姝e父"
-                : (inventoryExcelTemplate.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
+                    : (inventoryExcelTemplate.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
             list.add(inventoryExcelTemplate);
         });
         return list;
 
     }
+
+    @Override
+    public Integer isAddInventory(LWhFormInventoryQry param, FinSysTenantUser sysInfo) {
+        // isAddInventory
+        StringBuilder sql = new StringBuilder(QUERY_LIST);
+        HashMap<String, Object> paramts = new HashMap<>();
+        // 鏈烘瀯
+        sql.append("and AGENCY_ID =:agencyId ");
+        paramts.put("agencyId", sysInfo.getTenantId());
+        // 鐘舵��
+        sql.append("and states !=:states ");
+        paramts.put("states", "2");
+        List<LWhFormInventory> select = select(sql.toString(), paramts, new LWhFormInventory());
+        if (!CollectionUtil.isEmpty(select)) {
+            return 0;
+        }
+        LWhLedgerQry query = new LWhLedgerQry();
+        query.setAgencyId(new Long(sysInfo.getTenantId()));
+        query.setPageSize(100);
+        query.setPageNum(1);
+        query.setStates(new Short("1"));
+        GenericPager pager = finWarehouseLedgerService.ledgerList(query);
+        if(pager==null || CollectionUtil.isEmpty(pager.getDatas())){
+            return -1;
+        }
+        return 1;
+    }
 }

--
Gitblit v1.9.1