From b8dc4ccc6ee580b084aa860e64af2d90d1cb5979 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 10:11:52 +0800
Subject: [PATCH] feat: 1、首页接口对接 2、部门物品分发

---
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 19 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
index 79fa7b3..6449cb7 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -30,6 +30,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
@@ -65,12 +66,11 @@
     @Autowired
     private LWhFormScrappedCoreService lWhFormScrappedCoreService;
 
-    private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
+    private static String QUERY_LIST = "SELECT DISTINCT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
 
-    private static final String QUERY_BF_DETAIL_LIST =
-        "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
-            + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
-            + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
+    private static final String QUERY_BF_DETAIL_LIST = "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
+        + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
+        + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
 
     /**
      * 鏂板
@@ -78,33 +78,50 @@
      * @param param
      * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛
      * @param sysInfo     褰撳墠鐧诲綍鐢ㄦ埛
-     * @return
+     * @return 1.鏂板鎶ュ簾鍗�  2.鏂板鎶ュ簾鍗曠墿鍝�
      */
-    //1.鏂板鎶ュ簾鍗�
-    //2.鏂板鎶ュ簾鍗曠墿鍝�
-    public int add(LWhFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
+
+    public int add(LWhFormScrappedParam param, int warehouseType, S_user_core currentUser, FinSysTenantUser sysInfo) {
         //1.鏂板鎶ュ簾鍗曡褰�
         LWhFormScrapped lWhFormScrapped = new LWhFormScrapped();
         //鎶ュ簾鍗昳d
         long lWhFormScrappedId = IdUtil.generateId();
         lWhFormScrapped.setId(lWhFormScrappedId);
         lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped));
-        lWhFormScrapped.setWarehouseType(0);
-        Long warehouseId = param.getWarehouseId();
-        lWhFormScrapped.setWarehouseId(warehouseId);
-        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
-        BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
-        if (warehouse == null) {
-            log.error("浠撳簱涓嶅瓨鍦�");
-            return 0;
+        lWhFormScrapped.setWarehouseType(warehouseType);
+
+        // 鍏敤
+        Long warehouseId = null;
+        //浠撳簱鍚嶇О
+        String wareHouseName = null;
+        if (warehouseType == 0) {
+            warehouseId = param.getWarehouseId();
+            //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+            BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
+            if (warehouse == null) {
+                log.error("浠撳簱涓嶅瓨鍦�");
+                return 0;
+            }
+            wareHouseName = warehouse.getWarehouseName();
+        } else {
+            // 鏌ヨ閮ㄩ棬鍚嶇О
+            warehouseId = param.getDepartmentId();
+            FinSysTenantDepartment sysTenantDepartment = departmentService.getById(warehouseId);
+            if (sysTenantDepartment == null) {
+                log.error("閮ㄩ棬涓嶅瓨鍦�");
+                return 0;
+            }
+            wareHouseName = sysTenantDepartment.getName();
         }
-        lWhFormScrapped.setWarehouseName(warehouse.getWarehouseName());
+        lWhFormScrapped.setWarehouseId(warehouseId);
+        lWhFormScrapped.setWarehouseName(wareHouseName);
         lWhFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
         lWhFormScrapped.setAgencyName(sysInfo.getTenantName());
         lWhFormScrapped.setOperatorId(sysInfo.getSysUserId());
         lWhFormScrapped.setOperatorName(sysInfo.getUserName());
         lWhFormScrapped.setDealTime(param.getDealTime());
         lWhFormScrapped.setStates(0);
+        lWhFormScrapped.setUploadFiles(param.getUploadFiles());
         //鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬
         FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId());
         if (department != null) {
@@ -149,7 +166,7 @@
                 LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
                 scrappedGoods.setId(IdUtil.generateId());
                 //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
+                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
                 if (params.getCounts() > goodsNum) {
                     log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
                     return 0;
@@ -257,6 +274,16 @@
             formScrappedGoodsVO.setBaseGoodsTemplateId(baseGoodsTemplateId);
             formScrappedGoodsVO.setGoodsName(lWhFormScrappedGoods.getGoodsTemplateName());
 
+            String sql = "select CATEGORY_NAME from base_goods_template where id = :id";
+            Map<String, Object> param = new HashMap<>();
+            param.put("id", baseGoodsTemplateId);
+            List<Map<String, Object>> goodTemplate = this.select(sql, param, new MapperUtil());
+            if (!CollectionUtils.isEmpty(goodTemplate)) {
+                Optional<Map<String, Object>> first = goodTemplate.stream().findFirst();
+                Map<String, Object> objectMap = first.get();
+                formScrappedGoodsVO.setCategoryName(objectMap.get("categoryName").toString());
+            }
+
             List<GoodsModelVO> goodsModelList = Lists.newArrayList();
             goodsList.forEach(item -> {
                 GoodsModelVO goodsModelVO = new GoodsModelVO();
@@ -336,6 +363,18 @@
         return pageUtil;
     }
 
+    public List<Map<String, Object>> export(Long id) {
+
+        String sql =
+            "SELECT BUSINESS_FORM_CODE, fs.DEAL_TIME, OPERATOR_NAME, AGENCY_NAME, GOODS_TEMPLATE_NAME, BASE_GOODS_MODELS_NAME, DEPARTMENT_NAME, COUNTS, SCRAPPED_NAME, BEIZ "
+                + "FROM l_wh_form_scrapped_goods fsg LEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE "
+                + "fs.ID = :id and STATES = 1";
+        Map<String, Object> param = new HashMap<>();
+        param.put("id", id);
+        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
+        return select;
+    }
+
     /**
      * @Description 瀵煎嚭鎶ュ簾鐧昏鍗�
      * @Author 鍗㈠簡闃�

--
Gitblit v1.9.1