From 26279d5b43efdd690542ef7a01d9d0cda77d394f Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期二, 02 二月 2021 15:00:23 +0800 Subject: [PATCH] 领用页面 订单申请人显示和默认申领人显示 --- src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 78 +++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java index a0deb2c..ed3c861 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java @@ -94,7 +94,7 @@ @Transactional(propagation = Propagation.REQUIRED) public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, - Integer pageSize,String productSn) { + Integer pageSize,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentName", reagentId); @@ -102,6 +102,7 @@ params.put("first", first); params.put("pageSize", pageSize); params.put("productSn", productSn); + params.put("warehouseName", warehouseName); return this.opeWarehouseReserveDao.getOpeWarehouseReserveList(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -111,12 +112,13 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn) { + public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentName", reagentId); params.put("supplierId", supplierId); params.put("productSn", productSn); + params.put("warehouseName", warehouseName); return this.opeWarehouseReserveDao.getOpeWarehouseReserveTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -508,23 +510,7 @@ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); - // 试剂使用情况入库insert - OpeUseFlow opeUseFlow = new OpeUseFlow(); - opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode()); - opeUseFlow.setStatus(opeReagentStatus.getStatus()); - opeUseFlow.setHouseId(opeReagentStatus.getHouseId()); - opeUseFlow.setContainerId(opeReagentStatus.getContainerId()); - opeUseFlow.setUserId(opeReagentStatus.getUserId()); - opeUseFlow.setPlace(opeReagentStatus.getPlace()); - opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - opeUseFlow.setStoreType(StoreType.DIRECTSTORE); - Map<String, String> metaMap = new HashMap<>(); - metaMap.put("groupId", "operate_status"); - metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); - List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); - opeUseFlow.setOperateState(baseMetaList.get(0).getId()); - this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); // 试剂使用情况领用insert OpeUseFlow ouf=new OpeUseFlow(); ouf.setReagentCode(opeReagentStatus.getReagentCode()); @@ -572,23 +558,7 @@ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); - // 试剂使用情况入库insert - OpeUseFlow opeUseFlow = new OpeUseFlow(); - opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode()); - opeUseFlow.setStatus(opeReagentStatus.getStatus()); - opeUseFlow.setHouseId(opeReagentStatus.getHouseId()); - opeUseFlow.setContainerId(opeReagentStatus.getContainerId()); - opeUseFlow.setUserId(opeReagentStatus.getUserId()); - opeUseFlow.setPlace(opeReagentStatus.getPlace()); - opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - opeUseFlow.setStoreType(StoreType.DIRECTSTORE); - Map<String, String> metaMap = new HashMap<>(); - metaMap.put("groupId", "operate_status"); - metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); - List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); - opeUseFlow.setOperateState(baseMetaList.get(0).getId()); - this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); // 试剂使用情况领用insert OpeUseFlow ouf=new OpeUseFlow(); ouf.setReagentCode(opeReagentStatus.getReagentCode()); @@ -626,7 +596,7 @@ @Override @Transactional - public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) { + public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) { OpeWarehouseReserve ope = this.opeWarehouseReserveService .getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId()); @@ -637,6 +607,8 @@ ope.setReserve(opeApplyReserve.getArrivalNum()); //仓库 ope.setWarehouseId(opeApplyReserve.getHouseId()); + //仓库的货柜号 + ope.setContainerId(opeApplyReserve.getContainerId()); //试剂 ope.setReagentId(opeApplyReserve.getReagent().getId()); //订单编号 @@ -646,6 +618,8 @@ //批号 ope.setArticleNumber(opeApplyReserve.getArticleNumber()); ope.setId(IDUtils.uuid()); + //新增收货人 保存在仓库库存表 + ope.setUserId(consigneeId); opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope); }else { ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum()); @@ -711,7 +685,7 @@ } for (OpeApplyReserve oar : opeList) { String reagentId = oar.getReagent().getId(); - + List<String> reagentCodes = new ArrayList<>(oar.getReagentCode()); //开始库存扣除 List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList(); for (OpeWarehouseReserve owr : cacheUpdateList) { @@ -719,6 +693,7 @@ List<OpeWarehouseReserve> reserveList = opeWarehouseReserveService .selectWarehouseByRidAndArticleNumberAndWarehouse(reagentId, owr.getArticleNumber(), owr.getWarehouseId()); Integer numLeave = owr.getUseNum(); + for (OpeWarehouseReserve warehouseReserve:reserveList){ //库存大于剩余领用-》直接扣完 int usedNum = 0; @@ -731,6 +706,35 @@ // warehouseReserve.setReserve(0); usedNum = warehouseReserve.getReserve(); } + + //更新流向,加入一条 + if (usedNum > 0) { + for (int i = 0; i < usedNum; i++) { + // 试剂使用情况入库insert TODO 流向需要当时的时间和地点 + OpeUseFlow opeUseFlow = new OpeUseFlow(); + opeUseFlow.setReagentCode(reagentCodes.get(0)); + opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE); + opeUseFlow.setUserId(warehouseReserve.getUserId()); + //仓库地点 + opeUseFlow.setHouseId(warehouseReserve.getWarehouseId()); + opeUseFlow.setContainerId(warehouseReserve.getContainerId()); + opeUseFlow.setRemainder(oar.getReagent().getMainMetering()!=null?oar.getReagent().getMainMetering():new BigDecimal(0)); + //入库时间 + opeUseFlow.setCreateTime(warehouseReserve.getUpdateTime()); + opeUseFlow.setStoreType(StoreType.DIRECTSTORE); + + Map<String, String> metaMap = new HashMap<>(); + metaMap.put("groupId", "operate_status"); + metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); + List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); + opeUseFlow.setOperateState(baseMetaList.get(0).getId()); + this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); + reagentCodes.remove(0); + } + + } + + //更新库存 opeWarehouseReserveService.updateBtReserve(warehouseReserve.getId(),usedNum); if (numLeave < 1) { @@ -826,6 +830,8 @@ opeWarehouseReserve.setArticleNumber(opeApply.getArticleNumber()); opeWarehouseReserve.setReserve(0); opeWarehouseReserve.setWarehouseId(opeApply.getHouseId()); + opeWarehouseReserve.setContainerId(opeApply.getContainerId()); + opeWarehouseReserve.setUserId(loginUserId); } opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum()); if (StringUtils.isBlank(opeWarehouseReserve.getId())) { -- Gitblit v1.9.2