From c1ac6d13630b04b4e11d6f383858e4f8fa64f924 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期六, 02 十二月 2023 17:24:34 +0800 Subject: [PATCH] 盘点查询返回结果修改 --- consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java | 153 +++++++++++++++++++++++++++----------------------- 1 files changed, 82 insertions(+), 71 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java index fd99dd7..9cebb1c 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java @@ -6,6 +6,7 @@ import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; import com.consum.base.core.utils.PageUtil; +import com.consum.base.pojo.excel.InventoryExcelTemplate; import com.consum.base.pojo.query.LWhFormInventoryQry; import com.consum.base.pojo.request.FormInventoryParam; import com.consum.base.pojo.request.LWhFormInventoryParam; @@ -16,6 +17,7 @@ import com.consum.model.po.FinSysTenant; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormInventory; +import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; @@ -27,7 +29,9 @@ import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; /** @@ -37,22 +41,21 @@ */ @Slf4j @Service -public class LWhFormInventoryServiceImpl extends BaseServiceImpl { +public class LWhFormInventoryServiceImpl extends BaseServiceImpl implements LWhFormInventoryService { @Autowired private CodeGeneratorService codeGeneratorService; @Autowired private BaseWarehouseServiceImpl baseWarehouseService; @Autowired - private FinSysTenantUserServiceImpl finSysTenantUserService; - @Autowired private LWhFormInventoryGoodsServiceImpl inventoryGoodsService; - @Autowired - private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; @Autowired private LWhGoodsService lWhGoodsService; @Autowired private FinSysTenantServiceImpl finSysTenantService; + @Autowired + @Lazy + private LWhFormInventoryCoreService lWhFormInventoryCoreService; private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 "; @@ -80,6 +83,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/31 */ + @Override public int add(FormInventoryParam param, FinSysTenantUser currentUser, FinSysTenantUser operatorUser, FinSysTenantUser monitorUser) { //鏂板鐩樼偣鍗� LWhFormInventory lWhFormInventory = new LWhFormInventory(); @@ -118,6 +122,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/31 */ + @Override public GenericPager<LWhFormInventory> queryList(LWhFormInventoryQry param, FinSysTenantUser sysInfo) { StringBuilder sql = new StringBuilder(QUERY_LIST); HashMap<String, Object> paramts = new HashMap<>(); @@ -155,7 +160,8 @@ } - public void saveInventory(FormInventoryVO dto, Long id) { + @Override + public FormInventoryVO saveInventory(FormInventoryVO dto, Long id) { //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(id)); if (lWhFormInventory == null) { @@ -173,12 +179,11 @@ if (CollectionUtils.isEmpty(formInventoryGoodsList)) { log.error("鐩樼偣鍗曠墿鍝佷负绌�"); } - int num = inventoryGoodsService.add(formInventoryGoodsList, id); - if (num != formInventoryGoodsList.size()) { - log.error("鏇存柊鐩樼偣鍗曠墿鍝佸け璐�"); - } - + List<FormInventoryGoodsVO> result = inventoryGoodsService.add(formInventoryGoodsList, id); + dto.setFormInventoryGoodsList(result); + return dto; } + /** * 淇濆瓨鐩樼偣淇℃伅 @@ -186,80 +191,45 @@ * @author 鍗㈠簡闃� * @date 2023/10/31 */ - public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state) { + @Transactional(rollbackFor = Exception.class) + @Override + public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state, S_user_core currentUser, FinSysTenantUser sysInfo) { //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId())); if (lWhFormInventory == null) { log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曞け璐�"); return 0; } - //2.淇敼鐩樼偣鍗� - lWhFormInventory.setStates(state); - if (state == 2) { - //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂� - lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - } - lWhFormInventory.setInventoryDate(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - int flag1 = this.update(lWhFormInventory); - if (flag1 == 0) { - log.error("淇敼鐩樼偣鍗曞け璐�"); - return 0; - } - //3.娣诲姞鐩樼偣鍗曠墿鍝� + //娣诲姞鐩樼偣鍗曠墿鍝� List<FormInventoryGoodsVO> inventoryGoodsList = dto.getInventoryGoodsList(); if (CollectionUtils.isEmpty(inventoryGoodsList)) { log.error("鐩樼偣鍗曠墿鍝佷负绌�"); return 0; } this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList); + //淇敼鐩樼偣鍗� + if (state == 2) { + //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂� + lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); + + //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂� + String inOutFormByInventoryId = lWhFormInventoryCoreService.createInOutFormByInventoryId(dto.getId(), currentUser, sysInfo); + if (!StringUtils.isEmpty(inOutFormByInventoryId)) { + log.error(inOutFormByInventoryId); + return 0; + } + } + lWhFormInventory.setStates(state); + lWhFormInventory.setInventoryDate(DateUtils.getDateTimeNumber(System.currentTimeMillis())); + int flag1 = this.update(lWhFormInventory); + if (flag1 == 0) { + log.error("淇敼鐩樼偣鍗曞け璐�"); + return 0; + } + return 1; } - /** - * 瀹屾垚鐩樼偣 - * - * @author 鍗㈠簡闃� - * @date 2023/10/31 - */ -// public int finishPd(LWhFormInventoryParam dto) { -// //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� -// LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId())); -// if (lWhFormInventory == null) { -// log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� 澶辫触"); -// return 0; -// } -// //2.淇敼鐩樼偣鍗� -// lWhFormInventory.setStates(2); -// lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); -// int flag1 = this.update(lWhFormInventory); -// if (flag1 == 0) { -// log.error("淇敼鐩樼偣鍗� 澶辫触"); -// return 0; -// } -// //3.鏇存柊鐩樼偣鍗曠墿鍝� -// List<LWhFormInventoryGoods> inventoryGoodsList = dto.getInventoryGoodsList(); -// if (CollectionUtils.isEmpty(inventoryGoodsList)) { -// log.error("鐩樼偣鍗曠墿鍝� 涓虹┖"); -// return 0; -// } -// for (LWhFormInventoryGoods inventoryGoods : inventoryGoodsList) { -// int errorCounts = inventoryGoods.getInitCounts() - inventoryGoods.getInventoryCounts(); -// if (errorCounts > 0) { -// inventoryGoods.setInventoryResult(3); -// } else if (errorCounts < 0) { -// inventoryGoods.setInventoryResult(2); -// } else { -// inventoryGoods.setInventoryResult(1); -// } -// inventoryGoods.setErrorCounts(Math.abs(errorCounts)); -// } -// int flag2 = inventoryGoodsService.update(inventoryGoodsList); -// if (flag2 != inventoryGoodsList.size()) { -// log.error("鏇存柊鐩樼偣鍗曠墿鍝� 澶辫触"); -// return 0; -// } -// return 1; -// } /** * @return @@ -267,6 +237,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/11/1 */ + @Override public PageUtil<FormInventoryDetailVO> queryPdDetailList(LWhFormInventoryQry param, FinSysTenantUser sysInfo) { StringBuilder sql = new StringBuilder(QUERY_PD_DETAIL_LIST); HashMap<String, Object> paramts = new HashMap<>(); @@ -330,12 +301,14 @@ formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); formInventoryDetailVO.setInventoryType( formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱")); + formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode()); result.add(formInventoryDetailVO); }); pageUtil.setDatas(result); return pageUtil; } + @Override 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," @@ -352,6 +325,7 @@ return result; } + @Override public FormInventoryVO queryInventBaseGoodTemplate(Long id) { FormInventoryVO formInventoryVO = new FormInventoryVO(); @@ -370,7 +344,7 @@ formInventoryVO.setWarehouseName(inventory.getWarehouseName()); String sql = - "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT " + "select bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT " + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id " + "where bgt.AGENCY_ID = :agencyId"; HashMap<String, Object> param = new HashMap<>(); @@ -386,4 +360,41 @@ formInventoryVO.setFormInventoryGoodsList(goodsVOList); return formInventoryVO; } + + @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"; + HashMap<String, Object> param = new HashMap<>(); + param.put("id", id); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + if (CollectionUtils.isEmpty(select)) { + return null; + } + List<InventoryExcelTemplate> list = Lists.newArrayList(); + select.forEach(item -> { + InventoryExcelTemplate inventoryExcelTemplate = MapUtils.convertMapToObj(item, InventoryExcelTemplate.class); + inventoryExcelTemplate.setInventoryDeception(inventoryExcelTemplate.getInventoryResult() == 1 ? "鏄�" : "鍚�"); + inventoryExcelTemplate.setDeception( + inventoryExcelTemplate.getInventoryResult() == 1 ? "姝e父" : (inventoryExcelTemplate.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭")); + list.add(inventoryExcelTemplate); + }); + return list; + + } } -- Gitblit v1.9.1