From ceecebe477faf5a45b19f3b258f7add8f93b4583 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 05 十二月 2023 10:00:24 +0800 Subject: [PATCH] 代码优化 结构调整 --- consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java | 182 ++++++++++++++++++--------------------------- 1 files changed, 72 insertions(+), 110 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..e7345dc 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 @@ -1,5 +1,19 @@ 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.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 com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; import com.consum.base.core.DepUsingFormBackCoreServiceImpl; @@ -12,7 +26,7 @@ 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.GoodsTemplateCountVO; import com.consum.base.pojo.response.UseInfo; import com.consum.base.pojo.response.UsingFormBackDetailListVO; import com.consum.base.pojo.response.UsingFormBackDetailVO; @@ -38,17 +52,6 @@ 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; /** * @author asus @@ -73,6 +76,8 @@ private LWhFormTransferService lWhFormTransferService; @Resource private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; + @Resource + private UsingFormBackModelService UsingFormBackModelService; @Override public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) { @@ -92,7 +97,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 +109,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 +119,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) { @@ -133,8 +141,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 +162,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 +217,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 +234,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 +250,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 +271,25 @@ 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.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); + } + }); }); return usingFormBackDetailVO; @@ -325,21 +297,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 +351,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 +363,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