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