From fa3a13b43cdcd3bcc42abae4d9c0a67e48ebea41 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期二, 12 十二月 2023 16:05:41 +0800
Subject: [PATCH] feat: bug修复 12536

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java |  128 ++++++++++++++++--------------------------
 1 files changed, 49 insertions(+), 79 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..83aa02f 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,12 +1,22 @@
 package com.consum.base.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
+import com.consum.base.core.CodeGeneratorEnum;
+import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.utils.*;
+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.*;
+import com.consum.base.service.*;
+import com.consum.model.po.*;
+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 org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,43 +24,11 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
-import com.consum.base.core.CodeGeneratorEnum;
-import com.consum.base.core.CodeGeneratorService;
-import com.consum.base.core.utils.IdUtil;
-import com.consum.base.core.utils.MapUtils;
-import com.consum.base.core.utils.MapperUtil;
-import com.consum.base.core.utils.PageUtil;
-import com.consum.base.pojo.LWhFormScrappedGoodsInfoParam;
-import com.consum.base.pojo.LWhFormScrappedGoodsModelParams;
-import com.consum.base.pojo.LWhFormScrappedParam;
-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.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.model.po.BaseGoodsModels;
-import com.consum.model.po.BaseGoodsTemplate;
-import com.consum.model.po.BaseWarehouse;
-import com.consum.model.po.FinSysTenantDepartment;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.LWhFormScrapped;
-import com.consum.model.po.LWhFormScrappedGoods;
-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.StringUtils;
-import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description 鎶ュ簾鍗�
@@ -125,6 +103,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,8 +154,8 @@
                 LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
                 scrappedGoods.setId(IdUtil.generateId());
                 // 鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId,
-                    scrappedGoods.getBaseGoodsModelsId(), 1, null);
+                int goodsNum =
+                    lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
                 if (params.getCounts() > goodsNum) {
                     log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
                     return 0;
@@ -197,19 +176,17 @@
                     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;
             }
         }
         // 3.鏍规嵁鎶ュ簾鍗曟姤搴熺墿鍝�
-        Long lWarehouseFlowId =
-            this.lWhFormScrappedCoreService.outFormByTransId(lWhFormScrappedId, currentUser, param.getDealTime());
+        Long lWarehouseFlowId = this.lWhFormScrappedCoreService.outFormByTransId(lWhFormScrappedId, currentUser, param.getDealTime());
         if (lWarehouseFlowId == null) {
             log.error("鏍规嵁鍑哄簱鍗曞嚭搴� 澶辫触");
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -274,31 +251,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 +279,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 +353,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 +369,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