From be96b79932aaaf0bd6a1c143e6f1d045c6a8935a Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 07 十二月 2023 16:16:05 +0800 Subject: [PATCH] 分发列表去重 --- consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedServiceImpl.java | 62 +++++++++++++----------------- 1 files changed, 27 insertions(+), 35 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..83fe6e2 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 @@ -4,7 +4,6 @@ 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 +15,7 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; +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,18 +23,18 @@ 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; @@ -175,8 +175,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,7 +197,6 @@ scrappedGoods.setBaseGoodsModelsName(baseGoodsModels.getModelName()); scrappedGoods.setUnit(baseGoodsModels.getUnit()); } - scrappedGoodsList.add(scrappedGoods); } int flag2 = this.scrappedGoodsService.insertBatch(scrappedGoodsList); @@ -274,31 +273,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 +301,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 +375,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 +391,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