From b4adff68a07b783fc90da1c9370d8be5f383e700 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期三, 08 五月 2024 13:46:34 +0800
Subject: [PATCH] 20240528修改: bug41、42、43修改 领用单(分发单),调拨单,流程优化

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java |   74 ++++++++++++++++++-------------------
 1 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java
index 9a3e556..067df3e 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java
@@ -1,10 +1,10 @@
 package com.consum.base.service.impl;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 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;
@@ -16,6 +16,8 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
+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;
 import com.consum.base.core.utils.MapperUtil;
@@ -23,22 +25,23 @@
 import com.consum.base.pojo.LWhFormScrappedGoodsInfoParam;
 import com.consum.base.pojo.LWhFormScrappedGoodsModelParams;
 import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.base.pojo.dto.GoodModelInfoDTO;
 import com.consum.base.pojo.excel.ScrappedInfoExcelTemplate;
 import com.consum.base.pojo.query.LWhFormScrappedQry;
 import com.consum.base.pojo.response.FormScrappedGoodsDetailVO;
-import com.consum.base.pojo.response.FormScrappedGoodsVO;
 import com.consum.base.pojo.response.GoodsModelVO;
 import com.consum.base.pojo.response.GoodsTemplateCountVO;
+import com.consum.base.pojo.response.GoodsTemplateInfoVO;
 import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
 import com.consum.base.service.BaseGoodsModelsService;
 import com.consum.base.service.BaseGoodsTemplateService;
 import com.consum.base.service.BaseWarehouseService;
 import com.consum.base.service.FinSysTenantDepartmentService;
-import com.consum.base.service.LWhFormScrappedCoreService;
 import com.consum.base.service.LWhFormScrappedGoodsService;
 import com.consum.base.service.LWhFormScrappedService;
 import com.consum.base.service.LWhGoodsService;
-import com.consum.base.service.SDictDataServiceImpl;
+import com.consum.base.service.SDictDataService;
+import com.consum.base.service.core.LWhFormScrappedCoreService;
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
 import com.consum.model.po.BaseWarehouse;
@@ -49,6 +52,7 @@
 import com.consum.model.po.SDictData;
 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;
 
@@ -71,7 +75,7 @@
     @Autowired
     private LWhFormScrappedGoodsService scrappedGoodsService;
     @Autowired
-    private SDictDataServiceImpl sDictDataService;
+    private SDictDataService sDictDataService;
     @Autowired
     private BaseGoodsModelsService baseGoodsModelsService;
     @Autowired
@@ -103,7 +107,7 @@
         long lWhFormScrappedId = IdUtil.generateId();
         lWhFormScrapped.setId(lWhFormScrappedId);
         lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped));
-        lWhFormScrapped.setWarehouseType(0);
+        lWhFormScrapped.setWarehouseType(WareHouseType.TENANT.getValue());
 
         // 鍏敤
         Long warehouseId = null;
@@ -125,6 +129,7 @@
         lWhFormScrapped.setOperatorName(sysInfo.getUserName());
         lWhFormScrapped.setDealTime(param.getDealTime());
         lWhFormScrapped.setStates(0);
+        lWhFormScrapped.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         lWhFormScrapped.setUploadFiles(param.getUploadFiles());
         // 鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬
         FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId());
@@ -175,7 +180,8 @@
                 LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
                 scrappedGoods.setId(IdUtil.generateId());
                 // 鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId,
+                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
+                int goodsNum = lWhGoodsService.queryGoodsModelNum(WareHouseType.TENANT.getValue(), warehouseIds,
                     scrappedGoods.getBaseGoodsModelsId(), 1, null);
                 if (params.getCounts() > goodsNum) {
                     log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
@@ -197,11 +203,10 @@
                     scrappedGoods.setBaseGoodsModelsName(baseGoodsModels.getModelName());
                     scrappedGoods.setUnit(baseGoodsModels.getUnit());
                 }
-
                 scrappedGoodsList.add(scrappedGoods);
             }
             int flag2 = this.scrappedGoodsService.insertBatch(scrappedGoodsList);
-            if (flag2 != scrappedGoodsList.size()) {
+            if (flag2 == 0) {
                 log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰� 澶辫触");
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return 0;
@@ -274,31 +279,23 @@
         if (lWhFormScrapped != null) {
             BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend);
         }
-        // 2.鏌ヨ鎶ュ簾鍗�
-        List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
+        // 2.鏌ヨ鎶ュ簾鍗曞晢鍝佷俊鎭�
+        List<GoodModelInfoDTO> scrappedGoodsInfoList = scrappedGoodsService.getScrappedGoodsByScrappedId(id);
         // 閫氳繃baseGoodsTemplateId 杩涜鍒嗙粍
-        Map<Long, List<LWhFormScrappedGoods>> map =
-            scrappedGoodsList.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsTemplateId));
+        Map<Long, List<GoodModelInfoDTO>> map =
+            scrappedGoodsInfoList.stream().collect(Collectors.groupingBy(GoodModelInfoDTO::getBaseGoodsTemplateId));
         // 寰幆map鐨刱ey鍜寁alue
-        List<FormScrappedGoodsVO> scrappedGoodsVO = Lists.newArrayList();
-        for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : map.entrySet()) {
-            Long baseGoodsTemplateId = entry.getKey();
-            List<LWhFormScrappedGoods> goodsList = entry.getValue();
-            LWhFormScrappedGoods lWhFormScrappedGoods = goodsList.stream().findFirst().get();
-            FormScrappedGoodsVO formScrappedGoodsVO = new FormScrappedGoodsVO();
-            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<GoodsTemplateInfoVO> scrappedGoodsVO = Lists.newArrayList();
+        for (Map.Entry<Long, List<GoodModelInfoDTO>> entry : map.entrySet()) {
+            List<GoodModelInfoDTO> goodsList = entry.getValue();
+            GoodModelInfoDTO goodModelInfoDTO = goodsList.stream().findFirst().orElse(null);
+            GoodsTemplateInfoVO goodsTemplateInfoVO = new GoodsTemplateInfoVO();
+            if (goodModelInfoDTO != null) {
+                goodsTemplateInfoVO.setId(goodModelInfoDTO.getId());
+                goodsTemplateInfoVO.setGoodsName(goodModelInfoDTO.getBaseGoodsName());
+                goodsTemplateInfoVO.setCategoryName(goodModelInfoDTO.getCategoryName());
+                goodsTemplateInfoVO.setId(goodModelInfoDTO.getId());
             }
-
             List<GoodsModelVO> goodsModelList = Lists.newArrayList();
             goodsList.forEach(item -> {
                 GoodsModelVO goodsModelVO = new GoodsModelVO();
@@ -310,8 +307,8 @@
                 goodsModelVO.setScrappedName(item.getScrappedName());
                 goodsModelList.add(goodsModelVO);
             });
-            formScrappedGoodsVO.setModels(goodsModelList);
-            scrappedGoodsVO.add(formScrappedGoodsVO);
+            goodsTemplateInfoVO.setModels(goodsModelList);
+            scrappedGoodsVO.add(goodsTemplateInfoVO);
 
         }
         scrappedExtend.setScrappedGoods(scrappedGoodsVO);
@@ -384,11 +381,11 @@
 
     @Override
     public List<ScrappedInfoExcelTemplate> export(Long id) {
-        String sql = "SELECT\n" + "\tBUSINESS_FORM_CODE,\n" + "\tfs.DEAL_TIME,\n" + "\tOPERATOR_NAME,\n"
-            + "\tAGENCY_NAME tenantName,\n" + "\tGOODS_TEMPLATE_NAME templateName,\n"
-            + "\tBASE_GOODS_MODELS_NAME baseModelName,\n" + "\tCOUNTS num,\n" + "\tSCRAPPED_NAME deception,\n"
-            + "\tBEIZ remark\n" + "FROM\n" + "\tl_wh_form_scrapped_goods fsg\n"
-            + "\tLEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID\n" + "WHERE\n" + "\tfs.ID = :id\n"
+        String sql = "SELECT BUSINESS_FORM_CODE,fs.DEAL_TIME,OPERATOR_NAME,\n"
+            + "\tAGENCY_NAME tenantName,GOODS_TEMPLATE_NAME templateName,\n"
+            + "\tBASE_GOODS_MODELS_NAME baseModelName,COUNTS num,SCRAPPED_NAME deception,\n"
+            + "\tBEIZ remark,total_amount FROM l_wh_form_scrapped_goods fsg\n"
+            + "\tLEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE fs.ID = :id\n"
             + "\tAND STATES = 1";
         Map<String, Object> param = new HashMap<>();
         param.put("id", id);
@@ -400,6 +397,7 @@
         select.forEach(item -> {
             ScrappedInfoExcelTemplate inventoryExcelTemplate =
                 MapUtils.convertMapToObj(item, ScrappedInfoExcelTemplate.class);
+            inventoryExcelTemplate.setAmount(CurrencyUtil.convertFenToYuan(inventoryExcelTemplate.getTotalAmount()));
             list.add(inventoryExcelTemplate);
         });
         return list;

--
Gitblit v1.9.1