From 29166bc750623bea12a367ba7c527facdb582235 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期二, 13 七月 2021 17:12:28 +0800
Subject: [PATCH] 修改转移试剂,生成领用单
---
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 37 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
index 18fc0ef..a37acb1 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -16,6 +16,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
+import org.springframework.context.annotation.Lazy;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
@@ -46,6 +47,7 @@
@Resource
private OpeReagentStatusService opeReagentStatusService;
+ @Lazy
@Resource
private OpeUseFlowService opeUseFlowService;
@@ -92,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);
@@ -100,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);
@@ -109,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);
@@ -201,7 +205,7 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+ @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public boolean updateOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) {
try {
int row = this.opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve);
@@ -221,26 +225,14 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+ @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId){
try{
for(OpeApplyReserve app:selectedListForPerson){
List<String> reagentCodes = app.getReagentCode();
if (reagentCodes != null && reagentCodes.size() > 0) {
- List<OpeReagentStatus> ss=new ArrayList<>();
- for (String opeReagentStatusId : reagentCodes) {
- OpeReagentStatus opeReagentStatus = this.opeReagentStatusService.getOpeReagentStatus(opeReagentStatusId);
- opeReagentStatus.setUserId(userId);
- opeReagentStatus.setProjectNum(projectNum);
- //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus);
- this.opeReagentStatusService.updateReagentStatus3(opeReagentStatus);
- ss.add(opeReagentStatus);
- //更新试剂状态和
- opeReagentStatus.setHouseId(laboratoryId);
- opeReagentStatus.setContainerId(laboratoryContainerId);
- this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
+ this.opeReagentStatusService.updateReagentStatus3(reagentCodes,userId,projectNum,laboratoryId,laboratoryContainerId);
- }
//更新是现实库存
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
lr.setReagentId(app.getReagent().getId());
@@ -291,6 +283,9 @@
logger.error(ex.getMessage(), ex);
throw new BusinessException(ExceptionEnumCode.DB_ERR,
MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
+ }catch(Exception e){
+ e.printStackTrace();
+ throw new RuntimeException(e);
}
}
@@ -592,7 +587,7 @@
@Override
@Transactional
- public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) {
+ public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) {
OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
if (ope == null) {
@@ -613,6 +608,8 @@
//批号
ope.setArticleNumber(opeApplyReserve.getArticleNumber());
ope.setId(IDUtils.uuid());
+ //新增收货人 保存在仓库库存表
+ ope.setUserId(consigneeId);
opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope);
}else {
ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum());
@@ -671,8 +668,22 @@
opeWarehouseReserveDao.updateBtReserve(id, useNum);
}
- @Override
- public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) {
+ @Override
+ public int countByReagentId(String id) {
+ int num = 0;
+ if (opeWarehouseReserveDao.countByReagentId(id) != null) {
+ num = opeWarehouseReserveDao.countByReagentId(id);
+ }
+ return num;
+ }
+
+ @Override
+ public OpeWarehouseReserve getRowData(String rowKey) {
+ return opeWarehouseReserveDao.getRowData(rowKey);
+ }
+
+ @Override
+ public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) {
if (opeList.size() < 1) {
return;
}
@@ -707,7 +718,7 @@
OpeUseFlow opeUseFlow = new OpeUseFlow();
opeUseFlow.setReagentCode(reagentCodes.get(0));
opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
- opeUseFlow.setUserId(userId);
+ opeUseFlow.setUserId(warehouseReserve.getUserId());
//仓库地点
opeUseFlow.setHouseId(warehouseReserve.getWarehouseId());
opeUseFlow.setContainerId(warehouseReserve.getContainerId());
@@ -722,7 +733,11 @@
List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
opeUseFlow.setOperateState(baseMetaList.get(0).getId());
this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+ //更新试剂状态表 :批号
+ opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber());
+
reagentCodes.remove(0);
+
}
}
@@ -824,6 +839,7 @@
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