From 8beaf701a900ddd5a0a482f425080635ff55166d Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Mon, 01 Feb 2021 10:16:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 92 +++++++++++++++++++++++-----------------------
1 files changed, 46 insertions(+), 46 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..70cb85e 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -48,8 +48,6 @@
@Resource
private OpeUseFlowService opeUseFlowService;
- @Resource
- private OpeWarehouseReserveService opeWarehouseReserveService;
@Resource(name="baseMetaDao")
private BaseMetaDao baseMetaDao;
@@ -94,7 +92,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 +100,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 +110,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 +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());
@@ -628,8 +596,7 @@
@Transactional
public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) {
- OpeWarehouseReserve ope = this.opeWarehouseReserveService
- .getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
+ OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
if (ope == null) {
ope = new OpeWarehouseReserve();
@@ -637,6 +604,8 @@
ope.setReserve(opeApplyReserve.getArrivalNum());
//仓库
ope.setWarehouseId(opeApplyReserve.getHouseId());
+ //仓库的货柜号
+ ope.setContainerId(opeApplyReserve.getContainerId());
//试剂
ope.setReagentId(opeApplyReserve.getReagent().getId());
//订单编号
@@ -649,7 +618,7 @@
opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope);
}else {
ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum());
- this.opeWarehouseReserveService.updateOpeWarehouseReserve(ope);
+ this.updateOpeWarehouseReserve(ope);
}
@@ -705,20 +674,21 @@
}
@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) {
//1.根据仓库id和试剂id搜索不同批号的试剂库存
- List<OpeWarehouseReserve> reserveList = opeWarehouseReserveService
+ List<OpeWarehouseReserve> reserveList = this
.selectWarehouseByRidAndArticleNumberAndWarehouse(reagentId, owr.getArticleNumber(), owr.getWarehouseId());
Integer numLeave = owr.getUseNum();
+
for (OpeWarehouseReserve warehouseReserve:reserveList){
//库存大于剩余领用-》直接扣完
int usedNum = 0;
@@ -731,8 +701,37 @@
// 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);
+ this.updateBtReserve(warehouseReserve.getId(),usedNum);
if (numLeave < 1) {
break;
}
@@ -819,19 +818,20 @@
// 仓库库存update
- opeWarehouseReserve = this.opeWarehouseReserveService.getOpeWarehouseReserve2(opeApply.getReagent().getId(), opeApply.getArticleNumber(),opeApply.getHouseId());
+ opeWarehouseReserve = this.getOpeWarehouseReserve2(opeApply.getReagent().getId(), opeApply.getArticleNumber(),opeApply.getHouseId());
if (opeWarehouseReserve == null) {
opeWarehouseReserve = new OpeWarehouseReserve();
opeWarehouseReserve.setReagentId(opeApply.getReagent().getId());
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())) {
- this.opeWarehouseReserveService.insertOpeWarehouseReserve(opeWarehouseReserve);
+ this.insertOpeWarehouseReserve(opeWarehouseReserve);
} else {
- this.opeWarehouseReserveService.updateOpeWarehouseReserve(opeWarehouseReserve);
+ this.updateOpeWarehouseReserve(opeWarehouseReserve);
}
}
}
--
Gitblit v1.9.2