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/DepFormScrappedServiceImpl.java | 128 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 109 insertions(+), 19 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java index cc9a437..b109af4 100644 --- a/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java @@ -3,32 +3,39 @@ import cn.hutool.core.convert.Convert; import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; +import com.consum.base.core.DepFormScrappedCoreServiceImpl; +import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapperUtil; import com.consum.base.pojo.DepFormScrappedGoodsParam; import com.consum.base.pojo.DepFormScrappedModelParam; import com.consum.base.pojo.LDeptFormScrappedParam; import com.consum.base.pojo.query.LDeptFormScrappedQry; import com.consum.base.pojo.response.DepFormScrappedExtendVo; -import com.consum.model.po.*; +import com.consum.model.po.BaseCategory; +import com.consum.model.po.DepFormScrapped; +import com.consum.model.po.DepFormScrappedGoods; +import com.consum.model.po.DepFormScrappedModel; +import com.consum.model.po.FinSysTenantDepartment; +import com.consum.model.po.FinSysTenantUser; +import com.consum.model.po.LWhFormTransfer; +import com.consum.model.po.SDictData; import com.fasterxml.jackson.databind.ObjectMapper; 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.NumberGenerator; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import com.walker.web.ResponseValue; -import org.springframework.beans.BeanUtils; -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; +import javax.annotation.Resource; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * @ClassName DepFormScrappedServiceImpl @@ -43,15 +50,18 @@ @Resource private CodeGeneratorService codeGeneratorService; @Resource - private FinSysTenantDepartmentServiceImpl departmentService; + private FinSysTenantDepartmentService departmentService; @Resource - private LWhFormTransferServiceImpl lWhFormTransferService; + private LWhFormTransferService lWhFormTransferService; @Resource - private BaseCategoryServiceImpl baseCategoryService; + private BaseCategoryService baseCategoryService; @Resource private SDictDataServiceImpl sDictDataService; @Resource - private BaseGoodsModelsServiceImpl baseGoodsModelsService; + private BaseGoodsModelsService baseGoodsModelsService; + + @Resource + private DepFormScrappedCoreServiceImpl depFormScrappedCoreService; @Transactional public ResponseValue add(LDeptFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) { @@ -60,7 +70,7 @@ //1.鏂板鎶ュ簾鍗曡褰� DepFormScrapped lDeptFormScrapped = new DepFormScrapped(); //鎶ュ簾鍗昳d - long lWhFormScrappedId = NumberGenerator.getLongSequenceNumber(); + long lWhFormScrappedId = IdUtil.generateId(); lDeptFormScrapped.setId(lWhFormScrappedId); lDeptFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped)); lDeptFormScrapped.setProcureDoc(param.getProcureDoc()); @@ -86,7 +96,6 @@ lDeptFormScrapped.setDepartmentName(department.getName()); } - lDeptFormScrapped.setCreateTime(dealTime); lDeptFormScrapped.setStates(1); @@ -100,7 +109,7 @@ for (DepFormScrappedGoodsParam depFormScrappedGoodsParam : scrappedGoodsInfo) { DepFormScrappedGoods depFormScrappedGoods = new DepFormScrappedGoods(); - depFormScrappedGoods.setId(NumberGenerator.getLongSequenceNumber()); + depFormScrappedGoods.setId(IdUtil.generateId()); depFormScrappedGoods.setDepFormScrappedId(lWhFormScrappedId); depFormScrappedGoods.setBaseGoodsTemplateId(depFormScrappedGoodsParam.getBaseGoodsTemplateId()); depFormScrappedGoods.setBaseGoodsTemplateName(depFormScrappedGoodsParam.getGoodsTemplateName()); @@ -138,7 +147,7 @@ for (DepFormScrappedModelParam depFormScrappedModelParam : modelList) { DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); - depFormScrappedModel.setId(NumberGenerator.getLongSequenceNumber()); + depFormScrappedModel.setId(IdUtil.generateId()); depFormScrappedModel.setDepFormScrappedId(lWhFormScrappedId); depFormScrappedModel.setDepFormScrappedGoodsId(depFormScrappedGoods.getId()); //鎶ュ簾鍘熷洜 @@ -183,6 +192,7 @@ } int i = insertBatch(scrappedGoodsArrayList); int i2 = insertBatch(modelArrayList); + depFormScrappedCoreService.updateScrapped(lWhFormScrappedId,currentUser,dealTime); return ResponseValue.success(); } @@ -202,8 +212,8 @@ paramts.put("businessFormCode", param.getBusinessFormCode()); } //鏈烘瀯 - sql.append(" and scrap.AGENCY_ID = :agencyId "); if (param.getAgencyId() != null) { + sql.append(" and scrap.AGENCY_ID = :agencyId "); paramts.put("agencyId", param.getAgencyId()); } //鐗╁搧鍚嶇О @@ -244,6 +254,7 @@ //2.鏌ヨ鎶ュ簾鍗曠墿鍝� DepFormScrappedGoods goodsQuery = new DepFormScrappedGoods(); + goodsQuery.setDepFormScrappedId(id); List<DepFormScrappedGoods> formScrappedGoodsList = select(goodsQuery); List<Map> goodsList = new ArrayList<>(); for (DepFormScrappedGoods scrappedGoods : formScrappedGoodsList) { @@ -253,15 +264,21 @@ DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); depFormScrappedModel.setDepFormScrappedGoodsId(scrappedGoodsId); List<DepFormScrappedModel> scrappedModelList = select(depFormScrappedModel); - scrappedGoodsMap.put("models", scrappedModelList); + List<List<DepFormScrappedModel>> modelList = scrappedModelList.stream() + .collect(Collectors.groupingBy(DepFormScrappedModel::getBaseGoodsModelsId)) + .values().stream() + .map(list -> list.stream().collect(Collectors.toList())) + .collect(Collectors.toList()); + + scrappedGoodsMap.put("models", modelList); goodsList.add(scrappedGoodsMap); } scrappedExtend.setGoods(goodsList); return scrappedExtend; } - private static String EXPORT_SQL = "SELECT scrap.BUSINESS_FORM_CODE,scrap.DEAL_TIME,scrap.OPERATOR_NAME,scrap.AGENCY_NAME,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,scrap.OUT_WAREHOUSE_NAME,model.COUNTS,2 AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; - private static String EXPORT_SQL_END = "order by scrap.BUSINESS_FORM_CODE desc "; + private static String EXPORT_SQL = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,model.COUNTS,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,scrap.OUT_WAREHOUSE_NAME,ROUND( IFNULL( TOTAL_AMOUNT, 0 )/ 100, 2 ) AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; + private static String EXPORT_SQL_END = "order by scrap.DEAL_TIME DESC"; public List<Map<String, Object>> export(Long id, String agencyId) { HashMap<String, Object> paramts = new HashMap<>(); @@ -278,4 +295,77 @@ } return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); } + + public List<Map<String, Object>> listByModel(LDeptFormScrappedQry param) { + HashMap<String, Object> paramts = new HashMap<>(); + StringBuilder sql = new StringBuilder(EXPORT_SQL); + //鎶ュ簾鍗昳d + if (param.getId() != null) { + sql.append(" and scrap.id = :id"); + paramts.put("id", param.getId()); + } + //鎶ュ簾鍗曞彿 + if (param.getBusinessFormCode() != null) { + sql.append(" and scrap.BUSINESS_FORM_CODE= :businessFormCode"); + paramts.put("businessFormCode", param.getBusinessFormCode()); + } + //鐗╁搧鍚嶇О + if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { + sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); + paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + } + //瑙勬牸鍨嬪彿 + if (param.getBaseGoodsModelsId() != null) { + sql.append("and model.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); + paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); + } + + //鏈烘瀯 + if (param.getAgencyId() != null) { + sql.append(" and scrap.AGENCY_ID = :agencyId "); + paramts.put("agencyId", param.getAgencyId()); + } + // 閮ㄩ棬 姝ゅ鎸夌殑鏄墿鍝佷娇鐢ㄩ儴闂� 鑰屼笉鏄� 鎿嶄綔浜烘墍鍦ㄩ儴闂� + if (param.getDepartmentId() != null) { + sql.append(" and scrap.OUT_WAREHOUSE_ID= :departmentId"); + paramts.put("departmentId", param.getDepartmentId()); + } + //鍒涘缓浜� + if (!StringUtils.isEmpty(param.getOperatorName())) { + sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); + paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); + } + //鎶ュ簾鏃堕棿 + if (param.getStartTime() != null) { + sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); + paramts.put("dealTimeStart", param.getStartTime() * 1000000); + } + if (param.getEndTime() != null) { + sql.append(" and scrap.DEAL_TIME <:dealTimeEnd "); + paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); + } + return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); + } + + private static String GET_BF_MODEL_LIST = "SELECT\n" + + "\tscrGoods.TRANS_BUSINESS_ID,\n" + + "\tscrGoods.BUSINESS_FORM_CODE,\n" + + "\tscrGoods.TRANS_OUT_WAREHOUSE_TYPE,\n" + + "\tscrGoods.TRANS_OUT_WAREHOUSE_ID,\n" + + "\tgoodsModel.BASE_GOODS_TEMPLATE_ID,\n" + + "\tgoodsModel.COUNTS,\n" + + "\tgoodsModel.PROCURE_MODEL_USER_ID,\n" + + "\tgoodsModel.GOODS_USER_NAME \n" + + "FROM\n" + + "\tDEP_FORM_SCRAPPED_GOODS scrGoods\n" + + "\tLEFT JOIN DEP_FORM_SCRAPPED_MODEL goodsModel ON scrgoods.id = goodsModel.DEP_FORM_SCRAPPED_GOODS_ID"; + + public List<Map<String, Object>> getBfModelList(Long lWhFormScrappedId) { + HashMap<String, Object> paramts = new HashMap<>(); + StringBuilder sql = new StringBuilder(GET_BF_MODEL_LIST); + //鎶ュ簾鍗昳d + sql.append(" and scrGoods.DEP_FORM_SCRAPPED_ID = :lWhFormScrappedId"); + paramts.put("lWhFormScrappedId", lWhFormScrappedId); + return select(sql.toString(), paramts, new MapperUtil()); + } } -- Gitblit v1.9.1