From f5ccc7e9ca548c6bddf51ebe8e943fc09a3b2ff4 Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期二, 26 一月 2021 18:12:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master --- src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 69 +++++++++++++++++----------------- 1 files changed, 35 insertions(+), 34 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..c26f32f 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java @@ -508,23 +508,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 +556,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()); @@ -637,6 +605,8 @@ ope.setReserve(opeApplyReserve.getArrivalNum()); //仓库 ope.setWarehouseId(opeApplyReserve.getHouseId()); + //仓库的货柜号 + ope.setContainerId(opeApplyReserve.getContainerId()); //试剂 ope.setReagentId(opeApplyReserve.getReagent().getId()); //订单编号 @@ -705,13 +675,13 @@ } @Override - public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) { + public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) { if (opeList.size() < 1) { return; } 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 +689,7 @@ List<OpeWarehouseReserve> reserveList = opeWarehouseReserveService .selectWarehouseByRidAndArticleNumberAndWarehouse(reagentId, owr.getArticleNumber(), owr.getWarehouseId()); Integer numLeave = owr.getUseNum(); + for (OpeWarehouseReserve warehouseReserve:reserveList){ //库存大于剩余领用-》直接扣完 int usedNum = 0; @@ -731,6 +702,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(userId); + //仓库地点 + 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 +826,7 @@ opeWarehouseReserve.setArticleNumber(opeApply.getArticleNumber()); opeWarehouseReserve.setReserve(0); opeWarehouseReserve.setWarehouseId(opeApply.getHouseId()); + opeWarehouseReserve.setContainerId(opeApply.getContainerId()); } opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum()); if (StringUtils.isBlank(opeWarehouseReserve.getId())) { -- Gitblit v1.9.2