From e2d97f3c90a6baa36b9edefe927225da907a27c6 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 19 十二月 2023 10:02:15 +0800 Subject: [PATCH] 去除默认机构默认仓库逻辑 --- consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 201 insertions(+), 11 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 62021c8..4b178c1 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,20 +3,24 @@ 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.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; @@ -40,15 +44,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) { @@ -57,7 +64,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()); @@ -83,7 +90,6 @@ lDeptFormScrapped.setDepartmentName(department.getName()); } - lDeptFormScrapped.setCreateTime(dealTime); lDeptFormScrapped.setStates(1); @@ -97,7 +103,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()); @@ -135,7 +141,7 @@ for (DepFormScrappedModelParam depFormScrappedModelParam : modelList) { DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); - depFormScrappedModel.setId(NumberGenerator.getLongSequenceNumber()); + depFormScrappedModel.setId(IdUtil.generateId()); depFormScrappedModel.setDepFormScrappedId(lWhFormScrappedId); depFormScrappedModel.setDepFormScrappedGoodsId(depFormScrappedGoods.getId()); //鎶ュ簾鍘熷洜 @@ -180,6 +186,7 @@ } int i = insertBatch(scrappedGoodsArrayList); int i2 = insertBatch(modelArrayList); + depFormScrappedCoreService.updateScrapped(lWhFormScrappedId,currentUser,dealTime); return ResponseValue.success(); } @@ -187,7 +194,7 @@ /** * @Description 鍒楄〃鏌ヨ */ - private static String QUERY_LIST = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME,SUM(model.COUNTS) total_Count 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 QUERY_LIST = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME,SUM(model.COUNTS) total_Count,model.unit 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 QUERY_LIST_END = " GROUP BY scrap.id,scrap.BUSINESS_FORM_CODE,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,model.BASE_GOODS_TEMPLATE_ID,model.BASE_GOODS_TEMPLATE_NAME ORDER BY scrap.DEAL_TIME DESC"; public GenericPager<Map<String, Object>> queryList(LDeptFormScrappedQry param) { @@ -199,8 +206,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()); } //鐗╁搧鍚嶇О @@ -225,4 +232,187 @@ sql.append(QUERY_LIST_END); return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); } + + + /** + * @Description 鏍规嵁id鏌ヨ璇︽儏 + */ + public DepFormScrappedExtendVo getById(Long id) { + DepFormScrappedExtendVo scrappedExtend = new DepFormScrappedExtendVo(); + //1.鏌ヨ鎶ュ簾鍗� + DepFormScrapped lWhFormScrapped = this.get(new DepFormScrapped(id)); + if (lWhFormScrapped != null) { + BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend); + } + ObjectMapper objectMapper = new ObjectMapper(); + + //2.鏌ヨ鎶ュ簾鍗曠墿鍝� + DepFormScrappedGoods goodsQuery = new DepFormScrappedGoods(); + goodsQuery.setDepFormScrappedId(id); + List<DepFormScrappedGoods> formScrappedGoodsList = select(goodsQuery); + List<Map> goodsList = new ArrayList<>(); + for (DepFormScrappedGoods scrappedGoods : formScrappedGoodsList) { + Map<String, Object> scrappedGoodsMap = objectMapper.convertValue(scrappedGoods, Map.class); + // 鏌ヨ瑙勬牸鍨嬪彿 + Long scrappedGoodsId = scrappedGoods.getId(); + DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); + depFormScrappedModel.setDepFormScrappedGoodsId(scrappedGoodsId); + List<DepFormScrappedModel> scrappedModelList = select(depFormScrappedModel); + 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.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<>(); + StringBuilder sql = new StringBuilder(EXPORT_SQL); + //鎶ュ簾鍗曞彿 + if (id != null) { + sql.append(" and scrap.id = :id"); + paramts.put("id", id); + } + //鏈烘瀯 + sql.append(" and scrap.AGENCY_ID = :agencyId "); + if (agencyId != null) { + paramts.put("agencyId", agencyId); + } + 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()); + } + + public GenericPager<Map<String, Object>> listByModel2(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 selectSplit(sql.append(EXPORT_SQL_END).toString(),paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); + +// 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