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/LWhFormInventoryServiceImpl.java | 101 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 65 insertions(+), 36 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java index 1edab61..c3f0f5a 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormInventoryServiceImpl.java @@ -7,6 +7,9 @@ import java.util.List; import java.util.Map; +import cn.hutool.core.collection.CollectionUtil; +import com.consum.base.pojo.query.LWhLedgerQry; +import com.consum.base.service.*; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,11 +32,6 @@ import com.consum.base.pojo.response.FormInventoryDetailVO; import com.consum.base.pojo.response.FormInventoryGoodsVO; import com.consum.base.pojo.response.FormInventoryVO; -import com.consum.base.service.BaseWarehouseService; -import com.consum.base.service.FinSysTenantService; -import com.consum.base.service.LWhFormInventoryGoodsService; -import com.consum.base.service.LWhFormInventoryService; -import com.consum.base.service.LWhGoodsService; import com.consum.base.service.core.LWhFormInventoryCoreService; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenant; @@ -46,6 +44,8 @@ import com.walker.jdbc.service.BaseServiceImpl; import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Resource; /** * @Description 鐩樼偣 @@ -69,20 +69,22 @@ @Autowired @Lazy private LWhFormInventoryCoreService lWhFormInventoryCoreService; + @Resource + private FinWarehouseLedgerServiceImpl finWarehouseLedgerService; private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 "; private static final String QUERY_PD_DETAIL_LIST = - "SELECT fig.id,fi.WAREHOUSE_NAME,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,fig.INVENTORY_RESULT,fig.INIT_COUNTS,fig.INVENTORY_COUNTS," - + "fig.ERROR_COUNTS,fi.AGENCY_NAME,fi.OPERATOR_NAME,fi.STOP_TIME operatorTime," - + "CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE END warehouseFormCode " - + "FROM l_wh_form_inventory fi INNER JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID where 1=1 "; + "SELECT fig.id,fi.WAREHOUSE_NAME,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,fig.INVENTORY_RESULT,fig.INIT_COUNTS,fig.INVENTORY_COUNTS," + + "fig.ERROR_COUNTS,fi.AGENCY_NAME,fi.OPERATOR_NAME,fi.STOP_TIME operatorTime," + + "CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE END warehouseFormCode " + + "FROM l_wh_form_inventory fi INNER JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID where 1=1 "; /** * @param param - * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛 + * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛 * @param operatorUser 鐩樼偣浜� - * @param monitorUser 鐩戠洏浜� + * @param monitorUser 鐩戠洏浜� * @return * @Description 鏂板 * @Author 鍗㈠簡闃� @@ -90,7 +92,7 @@ */ @Override public int add(FormInventoryParam param, FinSysTenantUser currentUser, FinSysTenantUser operatorUser, - FinSysTenantUser monitorUser) { + FinSysTenantUser monitorUser) { // 鏂板鐩樼偣鍗� LWhFormInventory lWhFormInventory = new LWhFormInventory(); BeanUtils.copyProperties(param, lWhFormInventory); @@ -142,7 +144,7 @@ if (!StringUtils.isEmpty(param.getBusinessFormName())) { sql.append("and BUSINESS_FORM_NAME like :BUSINESS_FORM_NAME "); paramts.put("BUSINESS_FORM_NAME", - StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT); + StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT); } // 浠撳簱缂栧彿 if (param.getWarehouseId() != null) { @@ -199,7 +201,7 @@ @Transactional(rollbackFor = Exception.class) @Override public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state, S_user_core currentUser, - FinSysTenantUser sysInfo) { + FinSysTenantUser sysInfo) { // 1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId())); if (lWhFormInventory == null) { @@ -220,7 +222,7 @@ // 瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂� String inOutFormByInventoryId = - lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo); + lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo); if (!StringUtils.isEmpty(inOutFormByInventoryId)) { log.error(inOutFormByInventoryId); return 0; @@ -264,7 +266,7 @@ if (!StringUtils.isEmpty(param.getGoodsTemplateName())) { sql.append("and GOODS_TEMPLATE_NAME =:GOODS_TEMPLATE_NAME "); paramts.put("GOODS_TEMPLATE_NAME", - StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); } // 瑙勬牸鍨嬪彿 if (param.getBaseGoodsModelsId() != null) { @@ -280,7 +282,7 @@ // 鍑哄叆搴撳崟鍙� if (param.getWarehouseFormCode() != null) { sql.append( - " and CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE =:warehouseFormCode WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE =:warehouseFormCode END "); + " and CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE =:warehouseFormCode WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE =:warehouseFormCode END "); paramts.put("warehouseFormCode", param.getWarehouseFormCode()); } // 鎿嶄綔浜� @@ -300,15 +302,15 @@ sql.append("AND fig.INVENTORY_RESULT in(2,3) "); sql.append("ORDER BY CREATE_TIME DESC "); GenericPager<Map<String, Object>> mapGenericPager = - selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); + selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); PageUtil<FormInventoryDetailVO> pageUtil = new PageUtil<>(mapGenericPager); List<FormInventoryDetailVO> result = Lists.newArrayList(); mapGenericPager.getDatas().forEach(item -> { FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class); formInventoryDetailVO.setInventoryResultType(formInventoryDetailVO.getInventoryResult() == null ? null - : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); + : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); formInventoryDetailVO.setInventoryType(formInventoryDetailVO.getInventoryResult() == null ? null - : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱")); + : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱")); formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode()); result.add(formInventoryDetailVO); }); @@ -320,8 +322,8 @@ public List<FormInventoryGoodsVO> selectDetailById(Long id) { String sql = "select fig.id, fig.BASE_GOODS_TEMPLATE_ID,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME," - + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from " - + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID where fig.WH_FORM_INVENTORY_ID = :id"; + + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from " + + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID where fig.WH_FORM_INVENTORY_ID = :id"; HashMap<String, Object> param = new HashMap<>(); param.put("id", id); List<Map<String, Object>> select = select(sql, param, new MapperUtil()); @@ -352,11 +354,11 @@ // 缁熻浠撳簱鍐呯殑鐗╁搧 String sql = - "SELECT distinct bgt.id baseGoodsTemplateId,bgm.id baseGoodsModelId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName," - + "bgt.CLASSIFICATION TYPE,bgm.UNIT FROM l_wh_goods g " - + "LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.ID " - + "LEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = bgt.id WHERE " - + "WAREHOUSE_ID = :warehouseId GROUP BY g.BASE_GOODS_MODELS_ID "; + "SELECT distinct bgt.id baseGoodsTemplateId,bgm.id baseGoodsModelId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName," + + "bgt.CLASSIFICATION TYPE,bgm.UNIT FROM l_wh_goods g " + + "LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.ID " + + "LEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = bgt.id WHERE " + + "WAREHOUSE_ID = :warehouseId GROUP BY g.BASE_GOODS_MODELS_ID "; HashMap<String, Object> param = new HashMap<>(); param.put("warehouseId", warehouseId); @@ -366,7 +368,7 @@ FormInventoryGoodsVO baseGoodsModels = MapUtils.convertMapToObj(item, FormInventoryGoodsVO.class); List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); int inventoryCount = this.lWhGoodsService.queryGoodsModelNum(null, warehouseIds, - baseGoodsModels.getBaseGoodsModelId(), 1, null); + baseGoodsModels.getBaseGoodsModelId(), 1, null); baseGoodsModels.setInventoryCount(inventoryCount); goodsVOList.add(baseGoodsModels); }); @@ -377,12 +379,12 @@ @Override public List<InventoryExcelTemplate> getExportList(Long id) { String sql = "SELECT\n" + "\tfi.INVENTORY_DATE createTime,\n" + "\tfi.STOP_TIME endTime,\n" - + "\tfi.OPERATOR_NAME,\n" + "\tfi.OPERATOR_NAME2 monitorName,\n" + "\tfi.AGENCY_NAME tenantName,\n" - + "\tfig.GOODS_TEMPLATE_NAME templateName,\n" + "\tfig.BASE_GOODS_MODELS_NAME baseModelName,\n" - + "\tfig.INVENTORY_COUNTS num,\n" + "\tfig.INIT_COUNTS stockNum,\n" + "\tfig.INVENTORY_RESULT,\n" - + "\tBEIZ1 remark\n" + "FROM\n" + "\tl_wh_form_inventory fi\n" - + "\tLEFT JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID\n" + "WHERE\n" - + "\tfi.ID = :id"; + + "\tfi.OPERATOR_NAME,\n" + "\tfi.OPERATOR_NAME2 monitorName,\n" + "\tfi.AGENCY_NAME tenantName,\n" + + "\tfig.GOODS_TEMPLATE_NAME templateName,\n" + "\tfig.BASE_GOODS_MODELS_NAME baseModelName,\n" + + "\tfig.INVENTORY_COUNTS num,\n" + "\tfig.INIT_COUNTS stockNum,\n" + "\tfig.INVENTORY_RESULT,\n" + + "\tBEIZ1 remark\n" + "FROM\n" + "\tl_wh_form_inventory fi\n" + + "\tLEFT JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID\n" + "WHERE\n" + + "\tfi.ID = :id"; HashMap<String, Object> param = new HashMap<>(); param.put("id", id); List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); @@ -392,13 +394,40 @@ List<InventoryExcelTemplate> list = Lists.newArrayList(); select.forEach(item -> { InventoryExcelTemplate inventoryExcelTemplate = - MapUtils.convertMapToObj(item, InventoryExcelTemplate.class); + MapUtils.convertMapToObj(item, InventoryExcelTemplate.class); inventoryExcelTemplate.setInventoryDeception(inventoryExcelTemplate.getInventoryResult() == 1 ? "鏄�" : "鍚�"); inventoryExcelTemplate.setDeception(inventoryExcelTemplate.getInventoryResult() == 1 ? "姝e父" - : (inventoryExcelTemplate.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); + : (inventoryExcelTemplate.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); list.add(inventoryExcelTemplate); }); return list; } + + @Override + public Integer isAddInventory(LWhFormInventoryQry param, FinSysTenantUser sysInfo) { + // isAddInventory + StringBuilder sql = new StringBuilder(QUERY_LIST); + HashMap<String, Object> paramts = new HashMap<>(); + // 鏈烘瀯 + sql.append("and AGENCY_ID =:agencyId "); + paramts.put("agencyId", sysInfo.getTenantId()); + // 鐘舵�� + sql.append("and states !=:states "); + paramts.put("states", "2"); + List<LWhFormInventory> select = select(sql.toString(), paramts, new LWhFormInventory()); + if (!CollectionUtil.isEmpty(select)) { + return 0; + } + LWhLedgerQry query = new LWhLedgerQry(); + query.setAgencyId(new Long(sysInfo.getTenantId())); + query.setPageSize(100); + query.setPageNum(1); + query.setStates(new Short("1")); + GenericPager pager = finWarehouseLedgerService.ledgerList(query); + if(pager==null || CollectionUtil.isEmpty(pager.getDatas())){ + return -1; + } + return 1; + } } -- Gitblit v1.9.1