From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期一, 15 四月 2024 09:07:05 +0800 Subject: [PATCH] bug修改 --- consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java | 200 ++++++++++++++++++------------------------------- 1 files changed, 74 insertions(+), 126 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java index 273cd1c..644b65b 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java @@ -2,7 +2,7 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; -import com.consum.base.core.DepUsingFormBackCoreServiceImpl; +import com.consum.base.service.core.DepUsingFormBackCoreService; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; @@ -12,43 +12,27 @@ import com.consum.base.pojo.request.UsingFormBackGoodsInfo; import com.consum.base.pojo.request.UsingFormBackParam; import com.consum.base.pojo.request.baseGoodModel; -import com.consum.base.pojo.response.BaseGoodsTemplateInfo; -import com.consum.base.pojo.response.UseInfo; -import com.consum.base.pojo.response.UsingFormBackDetailListVO; -import com.consum.base.pojo.response.UsingFormBackDetailVO; -import com.consum.base.pojo.response.UsingFormBackGoodsTemplateInfo; -import com.consum.base.pojo.response.UsingFormBackModelInfo; -import com.consum.base.pojo.response.UsingFormBackVO; -import com.consum.base.service.BaseCategoryService; -import com.consum.base.service.FinSysTenantDepartmentService; -import com.consum.base.service.LWhFormTransferService; -import com.consum.base.service.UsingFormBackGoodsService; -import com.consum.base.service.UsingFormBackModelService; -import com.consum.base.service.UsingFormBackService; -import com.consum.model.po.BaseCategory; -import com.consum.model.po.FinSysTenantDepartment; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormTransfer; -import com.consum.model.po.UsingFormBack; -import com.consum.model.po.UsingFormBackGoods; -import com.consum.model.po.UsingFormBackModel; +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.CollectionUtils; import com.walker.infrastructure.utils.DateUtils; 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; -import javax.annotation.Resource; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author asus @@ -72,7 +56,9 @@ @Autowired private LWhFormTransferService lWhFormTransferService; @Resource - private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; + private DepUsingFormBackCoreService depUsingFormBackCoreService; + @Resource + private UsingFormBackModelService UsingFormBackModelService; @Override public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) { @@ -92,7 +78,8 @@ String departmentName = department.getName(); // 娣诲姞閫�鍥炶〃鍗� - Long usingFormBackId = addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc); + Long usingFormBackId = + addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc); // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨� List<UsingFormBackGoods> goodsBatch = new ArrayList<>(); @@ -103,7 +90,8 @@ goodsBatch.add(goods); for (baseGoodModel model : goodsInfo.getModels()) { - UsingFormBackModel formModel = createUsingFormBackModel(usingFormBackId, goods.getId(), goodsInfo, model); + UsingFormBackModel formModel = + createUsingFormBackModel(usingFormBackId, goods.getId(), goodsInfo, model); modelBatch.add(formModel); } } @@ -112,7 +100,8 @@ usingFormBackModelService.insertBatch(goodsBatch); usingFormBackGoodsService.insertBatch(modelBatch); - depUsingFormBackCoreService.updateBack(usingFormBackId, currentUser, DateUtils.getDateTimeNumber(System.currentTimeMillis())); + depUsingFormBackCoreService.updateBack(usingFormBackId, currentUser, + DateUtils.getDateTimeNumber(System.currentTimeMillis())); } private UsingFormBackGoods createUsingFormBackGoods(Long usingFormBackId, UsingFormBackGoodsInfo goodsInfo) { @@ -126,6 +115,9 @@ goods.setCategoryName(baseCategory.getCategoryName()); goods.setClassification(baseCategory.getClassification()); + goods.setTransBusinessId(goodsInfo.getTransBusinessId()); + goods.setBusinessFormCode(goodsInfo.getBusinessFormCode()); + LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(goodsInfo.getTransBusinessId()); goods.setTransOutWarehouseType(lWhFormTransfer.getOutWarehouseType()); goods.setTransOutWarehouseId(lWhFormTransfer.getOutWarehouseId()); @@ -133,8 +125,8 @@ return goods; } - private UsingFormBackModel createUsingFormBackModel(Long usingFormBackId, Long usingFormBackGoodsId, UsingFormBackGoodsInfo goodsInfo, - baseGoodModel model) { + private UsingFormBackModel createUsingFormBackModel(Long usingFormBackId, Long usingFormBackGoodsId, + UsingFormBackGoodsInfo goodsInfo, baseGoodModel model) { UsingFormBackModel formModel = new UsingFormBackModel(); formModel.setId(IdUtil.generateId()); formModel.setUsingFormBackId(usingFormBackId); @@ -154,21 +146,13 @@ return formModel; } - @Override public PageUtil selectPageByList(UsingFormBackQry usingFormBackParam) { - StringBuilder sql = new StringBuilder("SELECT\n" - + "\tDISTINCT ufb.ID,\n" - + "\tufb.BUSINESS_FORM_CODE,\n" - + "\tufb.DEPARTMENT_NAME,\n" - + "\tufb.OPERATOR_NAME,\n" - + "\tufb.DEAL_TIME\n" - + "FROM\n" - + "\tusing_form_back ufb\n" - + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n" - + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" - + "where 1=1 "); + StringBuilder sql = new StringBuilder("SELECT\n" + "\tDISTINCT ufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n" + + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME\n" + "FROM\n" + + "\tusing_form_back ufb\n" + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n" + + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" + "where 1=1 "); String businessFormCode = usingFormBackParam.getBusinessFormCode(); Long departmentId = usingFormBackParam.getDepartmentId(); @@ -217,31 +201,15 @@ map.put("createName", createName); } sql.append("ORDER BY ufb.CREATE_TIME DESC "); - GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map, usingFormBackParam.getPageNum(), - usingFormBackParam.getPageSize(), new MapperUtil()); + GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map, + usingFormBackParam.getPageNum(), usingFormBackParam.getPageSize(), new MapperUtil()); PageUtil pageUtil = new PageUtil(mapGenericPager); List<UsingFormBackVO> pageList = Lists.newArrayList(); mapGenericPager.getDatas().forEach(item -> { UsingFormBackVO usingFormBackVO = MapUtils.convertMapToObj(item, UsingFormBackVO.class); - Long id = usingFormBackVO.getId(); - StringBuilder countSql = new StringBuilder("SELECT \n" - + "\tufbg.BASE_GOODS_TEMPLATE_NAME,\n" - + "\tsum(ufbm.COUNTS) count,\n" - + "\tufbm.UNIT\n" - + "FROM\n" - + "\tusing_form_back_goods ufbg\n" - + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" - + "where ufbg.USING_FORM_BACK_ID = :id group by ufbg.BASE_GOODS_TEMPLATE_ID "); - Map<String, Object> countSqlMap = new HashMap<>(); - countSqlMap.put("id", id); - List<Map<String, Object>> select = this.select(countSql.toString(), countSqlMap, new MapperUtil()); - List<BaseGoodsTemplateInfo> baseGoodsTemplateInfoList = Lists.newArrayList(); - select.forEach(entity -> { - BaseGoodsTemplateInfo baseGoodsTemplateInfo = MapUtils.convertMapToObj(entity, BaseGoodsTemplateInfo.class); - baseGoodsTemplateInfoList.add(baseGoodsTemplateInfo); - }); - usingFormBackVO.setGoodsTemplateInfoList(baseGoodsTemplateInfoList); + List<GoodsTemplateCountVO> usingCount = UsingFormBackModelService.getUsingCountByBusinessId(id); + usingFormBackVO.setGoodsTemplateInfoList(usingCount); pageList.add(usingFormBackVO); }); pageUtil.setDatas(pageList); @@ -250,28 +218,13 @@ @Override public UsingFormBackDetailVO getDetail(Long id) { - StringBuilder sql = new StringBuilder("SELECT\n" - + "\tDISTINCT ufb.ID,\n" - + "\tufb.BUSINESS_FORM_CODE,\n" - + "\tufb.AGENCY_NAME,\n" - + "\tufb.DEPARTMENT_NAME,\n" - + "\tufb.OPERATOR_NAME,\n" - + "\tufb.DEAL_TIME,\n" - + "\tufb.PROCURE_DOC,\n" - + "\tufbg.CATEGORY_NAME,\n" - + "\tufbg.BASE_GOODS_TEMPLATE_NAME,\n" - + "\tufbg.CLASSIFICATION,\n" - + "\tufbg.BUSINESS_FORM_CODE,\n" - + "\tufbm.BASE_GOODS_MODELS_NAME,\n" - + "\tufbm.BASE_GOODS_TEMPLATE_ID,\n" - + "\tufbm.BASE_GOODS_MODELS_ID,\n" - + "\tufbm.UNIT,\n" - + "\tufbm.COUNTS,\n" - + "\tufbm.USE_COUNT,\n" - + "\tufbm.GOODS_USER_NAME\n" - + "FROM\n" - + "\tusing_form_back ufb\n" - + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n" + StringBuilder sql = new StringBuilder("SELECT\n" + "\tDISTINCT ufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n" + + "\tufb.AGENCY_NAME,\n" + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME,\n" + + "\tufb.PROCURE_DOC,\n" + "\tufbg.CATEGORY_NAME,\n" + "\tufbg.BASE_GOODS_TEMPLATE_NAME,\n" + + "\tufbg.CLASSIFICATION,\n" + "\tufbg.BUSINESS_FORM_CODE,\n" + "\tufbm.BASE_GOODS_MODELS_NAME,\n" + + "\tufbm.BASE_GOODS_TEMPLATE_ID,\n" + "\tufbm.BASE_GOODS_MODELS_ID,\n" + "\tufbm.UNIT,\n" + + "\tufbm.COUNTS,\n" + "\tufbm.USE_COUNT,\n" + "\tufbm.GOODS_USER_NAME\n" + "FROM\n" + + "\tusing_form_back ufb\n" + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n" + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID where ufb.id =:id"); Map<String, Object> map = new HashMap<>(); map.put("id", id); @@ -281,13 +234,15 @@ } List<UsingFormBackDetailDTO> usingFormBackDetailDTOList = Lists.newArrayList(); select.forEach(item -> { - UsingFormBackDetailDTO usingFormBackDetailDTO = MapUtils.convertMapToObj(item, UsingFormBackDetailDTO.class); + UsingFormBackDetailDTO usingFormBackDetailDTO = + MapUtils.convertMapToObj(item, UsingFormBackDetailDTO.class); usingFormBackDetailDTOList.add(usingFormBackDetailDTO); }); UsingFormBackDetailVO usingFormBackDetailVO = new UsingFormBackDetailVO(); List<UsingFormBackGoodsTemplateInfo> goodsTemplateInfoList = Lists.newArrayList(); - usingFormBackDetailDTOList.stream().collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsTemplateId)) + usingFormBackDetailDTOList.stream() + .collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsTemplateId)) .forEach((templateId, templateInfo) -> { UsingFormBackDetailDTO templateInfoDTO = templateInfo.get(0); BeanUtils.copyProperties(templateInfoDTO, usingFormBackDetailVO); @@ -300,24 +255,27 @@ goodsTemplateInfoList.add(usingFormBackGoodsTemplateInfo); usingFormBackDetailVO.setGoodsTemplateInfoList(goodsTemplateInfoList); List<UsingFormBackModelInfo> modelInfoList = Lists.newArrayList(); - templateInfo.stream().collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsModelsId)).forEach((modelId, modelInfo) -> { - UsingFormBackDetailDTO modelInfoDTO = modelInfo.get(0); - UsingFormBackModelInfo usingFormBackModelInfo = new UsingFormBackModelInfo(); - usingFormBackModelInfo.setBaseGoodsModelsName(modelInfoDTO.getBaseGoodsModelsName()); - usingFormBackModelInfo.setUnit(modelInfoDTO.getUnit()); - usingFormBackModelInfo.setId(modelId); - modelInfoList.add(usingFormBackModelInfo); - usingFormBackGoodsTemplateInfo.setModelInfoList(modelInfoList); - List<UseInfo> useInfoList = Lists.newArrayList(); - for (UsingFormBackDetailDTO useInfoDTO : modelInfo) { - UseInfo useInfo = new UseInfo(); - useInfo.setUseName(useInfoDTO.getGoodsUserName()); - useInfo.setReturnNum(useInfoDTO.getCounts()); - useInfo.setUseUnm(useInfoDTO.getUseCount()); - useInfoList.add(useInfo); - usingFormBackModelInfo.setUseInfoList(useInfoList); - } - }); + templateInfo.stream().collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsModelsId)) + .forEach((modelId, modelInfo) -> { + UsingFormBackDetailDTO modelInfoDTO = modelInfo.stream().findFirst().orElse(null); + UsingFormBackModelInfo usingFormBackModelInfo = new UsingFormBackModelInfo(); + if (modelInfoDTO != null) { + usingFormBackModelInfo.setBaseGoodsModelsName(modelInfoDTO.getBaseGoodsModelsName()); + usingFormBackModelInfo.setUnit(modelInfoDTO.getUnit()); + usingFormBackModelInfo.setId(modelId); + } + modelInfoList.add(usingFormBackModelInfo); + usingFormBackGoodsTemplateInfo.setModelInfoList(modelInfoList); + List<UseInfo> useInfoList = Lists.newArrayList(); + for (UsingFormBackDetailDTO useInfoDTO : modelInfo) { + UseInfo useInfo = new UseInfo(); + useInfo.setUseName(useInfoDTO.getGoodsUserName()); + useInfo.setReturnNum(useInfoDTO.getCounts()); + useInfo.setUseUnm(useInfoDTO.getUseCount()); + useInfoList.add(useInfo); + usingFormBackModelInfo.setUseInfoList(useInfoList); + } + }); }); return usingFormBackDetailVO; @@ -325,21 +283,12 @@ @Override public PageUtil selectPageByDetail(UsingFormBackQry usingFormBackParam) { - StringBuilder sql = new StringBuilder("SELECT\n" - + "\tufb.ID,\n" - + "\tufb.BUSINESS_FORM_CODE,\n" - + "\tufbm.BASE_GOODS_TEMPLATE_NAME,\n" - + "\tufbm.BASE_GOODS_MODELS_NAME,\n" - + "\tufbm.counts,\n" - + "\tufb.AGENCY_NAME,\n" - + "\tufb.DEPARTMENT_NAME,\n" - + "\tufb.OPERATOR_NAME,\n" - + "\tufb.DEAL_TIME\n" - + "FROM\n" - + "\tusing_form_back ufb\n" + StringBuilder sql = new StringBuilder("SELECT\n" + "\tufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n" + + "\tufbm.BASE_GOODS_TEMPLATE_NAME,\n" + "\tufbm.BASE_GOODS_MODELS_NAME,\n" + "\tufbm.counts,\n" + + "\tufb.AGENCY_NAME,\n" + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME\n" + + "FROM\n" + "\tusing_form_back ufb\n" + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n" - + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" - + "where 1=1 "); + + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" + "where 1=1 "); String businessFormCode = usingFormBackParam.getBusinessFormCode(); Long departmentId = usingFormBackParam.getDepartmentId(); @@ -388,8 +337,8 @@ map.put("createName", createName); } sql.append("ORDER BY ufb.CREATE_TIME DESC "); - GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map, usingFormBackParam.getPageNum(), - usingFormBackParam.getPageSize(), new MapperUtil()); + GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map, + usingFormBackParam.getPageNum(), usingFormBackParam.getPageSize(), new MapperUtil()); PageUtil pageUtil = new PageUtil(mapGenericPager); List<UsingFormBackDetailListVO> pageList = Lists.newArrayList(); mapGenericPager.getDatas().forEach(item -> { @@ -400,10 +349,9 @@ return pageUtil; } - @Transactional - public Long addUsingFormBack(FinSysTenantUser sysInfo, Long departmentId, String departmentName, Long operatorId, String operatorName, Long backTime, - String procureDoc) { + public Long addUsingFormBack(FinSysTenantUser sysInfo, Long departmentId, String departmentName, Long operatorId, + String operatorName, Long backTime, String procureDoc) { UsingFormBack usingFormBack = new UsingFormBack(); usingFormBack.setId(IdUtil.generateId()); usingFormBack.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.GOBACK)); -- Gitblit v1.9.1