From 20913c80c3f5fc8e533cb92b90e6f20bcd68e032 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 17:49:32 +0800 Subject: [PATCH] feat: 1、优化导入 2、部门物品台账查询对接 --- consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java | 96 +++++++++++++++++++++++++++++++---------------- 1 files changed, 63 insertions(+), 33 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java index 79fa7b3..30e84e6 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java @@ -14,29 +14,20 @@ import com.consum.base.pojo.response.FormScrappedGoodsVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.LWhFormScrappedExtendVO; -import com.consum.model.po.BaseGoodsModels; -import com.consum.model.po.BaseGoodsTemplate; -import com.consum.model.po.BaseWarehouse; -import com.consum.model.po.FinSysTenantDepartment; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormScrapped; -import com.consum.model.po.LWhFormScrappedGoods; -import com.consum.model.po.SDictData; +import com.consum.model.po.*; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; 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 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.interceptor.TransactionAspectSupport; import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; /** * @Description 鎶ュ簾鍗� @@ -65,12 +56,11 @@ @Autowired private LWhFormScrappedCoreService lWhFormScrappedCoreService; - private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 "; + private static String QUERY_LIST = "SELECT DISTINCT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 "; - private static final String QUERY_BF_DETAIL_LIST = - "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS," - + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs " - + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 "; + private static final String QUERY_BF_DETAIL_LIST = "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS," + + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs " + + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 "; /** * 鏂板 @@ -78,33 +68,50 @@ * @param param * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛 * @param sysInfo 褰撳墠鐧诲綍鐢ㄦ埛 - * @return + * @return 1.鏂板鎶ュ簾鍗� 2.鏂板鎶ュ簾鍗曠墿鍝� */ - //1.鏂板鎶ュ簾鍗� - //2.鏂板鎶ュ簾鍗曠墿鍝� - public int add(LWhFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) { + + public int add(LWhFormScrappedParam param, int warehouseType, S_user_core currentUser, FinSysTenantUser sysInfo) { //1.鏂板鎶ュ簾鍗曡褰� LWhFormScrapped lWhFormScrapped = new LWhFormScrapped(); //鎶ュ簾鍗昳d long lWhFormScrappedId = IdUtil.generateId(); lWhFormScrapped.setId(lWhFormScrappedId); lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped)); - lWhFormScrapped.setWarehouseType(0); - Long warehouseId = param.getWarehouseId(); - lWhFormScrapped.setWarehouseId(warehouseId); - //鏍规嵁浠撳簱id鏌ヨ浠撳簱 - BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId); - if (warehouse == null) { - log.error("浠撳簱涓嶅瓨鍦�"); - return 0; + lWhFormScrapped.setWarehouseType(warehouseType); + + // 鍏敤 + Long warehouseId = null; + //浠撳簱鍚嶇О + String wareHouseName = null; + if (warehouseType == 0) { + warehouseId = param.getWarehouseId(); + //鏍规嵁浠撳簱id鏌ヨ浠撳簱 + BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId); + if (warehouse == null) { + log.error("浠撳簱涓嶅瓨鍦�"); + return 0; + } + wareHouseName = warehouse.getWarehouseName(); + } else { + // 鏌ヨ閮ㄩ棬鍚嶇О + warehouseId = param.getDepartmentId(); + FinSysTenantDepartment sysTenantDepartment = departmentService.getById(warehouseId); + if (sysTenantDepartment == null) { + log.error("閮ㄩ棬涓嶅瓨鍦�"); + return 0; + } + wareHouseName = sysTenantDepartment.getName(); } - lWhFormScrapped.setWarehouseName(warehouse.getWarehouseName()); + lWhFormScrapped.setWarehouseId(warehouseId); + lWhFormScrapped.setWarehouseName(wareHouseName); lWhFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId())); lWhFormScrapped.setAgencyName(sysInfo.getTenantName()); lWhFormScrapped.setOperatorId(sysInfo.getSysUserId()); lWhFormScrapped.setOperatorName(sysInfo.getUserName()); lWhFormScrapped.setDealTime(param.getDealTime()); lWhFormScrapped.setStates(0); + lWhFormScrapped.setUploadFiles(param.getUploadFiles()); //鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬 FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId()); if (department != null) { @@ -149,7 +156,7 @@ LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods(); scrappedGoods.setId(IdUtil.generateId()); //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨 - int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null); + int goodsNum = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null); if (params.getCounts() > goodsNum) { log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺"); return 0; @@ -173,7 +180,7 @@ scrappedGoodsList.add(scrappedGoods); } - int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList); + int flag2 = this.scrappedGoodsService.insertBatch(scrappedGoodsList); if (flag2 != scrappedGoodsList.size()) { log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰� 澶辫触"); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -257,6 +264,16 @@ 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<GoodsModelVO> goodsModelList = Lists.newArrayList(); goodsList.forEach(item -> { GoodsModelVO goodsModelVO = new GoodsModelVO(); @@ -336,6 +353,18 @@ return pageUtil; } + public List<Map<String, Object>> export(Long id) { + + String sql = + "SELECT BUSINESS_FORM_CODE, fs.DEAL_TIME, OPERATOR_NAME, AGENCY_NAME, GOODS_TEMPLATE_NAME, BASE_GOODS_MODELS_NAME, DEPARTMENT_NAME, COUNTS, SCRAPPED_NAME, BEIZ " + + "FROM l_wh_form_scrapped_goods fsg LEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE " + + "fs.ID = :id and STATES = 1"; + Map<String, Object> param = new HashMap<>(); + param.put("id", id); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + return select; + } + /** * @Description 瀵煎嚭鎶ュ簾鐧昏鍗� * @Author 鍗㈠簡闃� @@ -357,4 +386,5 @@ // } // return scrappedExtend; // } + } -- Gitblit v1.9.1