From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Mon, 01 Jul 2024 10:58:35 +0800
Subject: [PATCH] change
---
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 280 +++++++++++++++++++++++++++++--------------------------
1 files changed, 147 insertions(+), 133 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..4628a07 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -6,16 +6,17 @@
import javax.annotation.Resource;
-import com.nanometer.smartlab.dao.OpeApplyDao;
-import com.nanometer.smartlab.dao.OpeReagentStatusDao;
+import com.nanometer.smartlab.dao.*;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
import com.nanometer.smartlab.exception.AlarmCode;
import com.nanometer.smartlab.exception.AlarmException;
+import com.nanometer.smartlab.util.FacesUtils;
import com.nanometer.smartlab.util.IDUtils;
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;
@@ -23,8 +24,6 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import com.nanometer.smartlab.dao.BaseMetaDao;
-import com.nanometer.smartlab.dao.OpeWarehouseReserveDao;
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
import com.nanometer.smartlab.entity.enumtype.OperateStatus;
import com.nanometer.smartlab.entity.enumtype.StoreType;
@@ -46,6 +45,7 @@
@Resource
private OpeReagentStatusService opeReagentStatusService;
+ @Lazy
@Resource
private OpeUseFlowService opeUseFlowService;
@@ -59,8 +59,11 @@
@Resource
private OpeLaboratoryReserveService opeLaboratoryReserveService;
+ @Resource
+ private OpeLaboratoryReserveDao opeLaboratoryReserveDao;
+
@Transactional(propagation = Propagation.REQUIRED)
- public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String supplierId, Integer first,
+ public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, Long supplierId, Integer first,
Integer pageSize) {
try {
Map<String, Object> params = new HashMap<String, Object>();
@@ -77,7 +80,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public int getOpeWarehouseReserveTotalCount(String reagentId, String supplierId) {
+ public int getOpeWarehouseReserveTotalCount(Long reagentId, Long supplierId) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentId", reagentId);
@@ -91,15 +94,16 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first,
- Integer pageSize,String productSn) {
+ public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentName, Long supplierId, Integer first,
+ Integer pageSize,String productSn,String warehouseName) {
try {
Map<String, Object> params = new HashMap<String, Object>();
- params.put("reagentName", reagentId);
+ params.put("reagentName", reagentName);
params.put("supplierId", supplierId);
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 +113,13 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn) {
+ public int getOpeWarehouseReserveTotalCountByName(String reagentName, Long supplierId,String productSn,String warehouseName) {
try {
Map<String, Object> params = new HashMap<String, Object>();
- params.put("reagentName", reagentId);
+ params.put("reagentName", reagentName);
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);
@@ -124,7 +129,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public OpeWarehouseReserve getOpeWarehouseReserveBy(String reagentId, String articleNumber){
+ public OpeWarehouseReserve getOpeWarehouseReserveBy(Long reagentId, String articleNumber){
OpeWarehouseReserve ope=new OpeWarehouseReserve();
ope.setReagentId(reagentId);
ope.setArticleNumber(articleNumber);
@@ -132,7 +137,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public OpeWarehouseReserve getOpeWarehouseReserve(String reagentId, String articleNumber) {
+ public OpeWarehouseReserve getOpeWarehouseReserve(Long reagentId, String articleNumber) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentId", reagentId);
@@ -150,7 +155,7 @@
}
}
@Transactional(propagation = Propagation.REQUIRED)
- public OpeWarehouseReserve getOpeWarehouseReserve2(String reagentId, String articleNumber,String warehouseId) {
+ public OpeWarehouseReserve getOpeWarehouseReserve2(Long reagentId, String articleNumber,Long warehouseId) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentId", reagentId);
@@ -170,8 +175,8 @@
}
@Override
- public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String articleNumber,String warehouseId) {
- Map<String, String> params = new HashMap<>();
+ public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, String articleNumber,Long warehouseId) {
+ Map<String, Object> params = new HashMap<>();
params.put("reagentId", reagentId);
params.put("warehouseId", warehouseId);
params.put("articleNumber", articleNumber);
@@ -182,9 +187,9 @@
@Transactional(propagation = Propagation.REQUIRED)
public OpeWarehouseReserve insertOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) {
try {
- if (opeWarehouseReserve.getId() == null) {
- opeWarehouseReserve.setId(IDUtils.uuid());
- }
+// if (opeWarehouseReserve.getId() == null) {
+// opeWarehouseReserve.setId(IDUtils.uuid());
+// }
this.opeWarehouseReserveDao.insertOpeWarehouseReserve(opeWarehouseReserve);
return opeWarehouseReserve;
} catch (DuplicateKeyException ex) {
@@ -201,7 +206,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 +226,14 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
- public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId){
+ @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
+ public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber){
try{
for(OpeApplyReserve app:selectedListForPerson){
- List<String> reagentCodes = app.getReagentCode();
+ List<String> reagentCodes = app.getReagentCodes();
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,projectId,laboratoryId,laboratoryContainerId,receiptNumber);
- }
//更新是现实库存
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
lr.setReagentId(app.getReagent().getId());
@@ -291,47 +284,70 @@
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);
}
}
// 仓库领用
- @Transactional(propagation = Propagation.REQUIRED)
- public void claim(List<OpeWarehouseReserve> selectedList, String userId,String projectNum) {
- try {
- for (OpeWarehouseReserve opeWarehouseReserve : selectedList) {
- List<String> reagentCodes = opeWarehouseReserve.getReagentCodes();
- if (reagentCodes != null && reagentCodes.size() > 0) {
- for (String opeReagentStatusId : reagentCodes) {
- OpeReagentStatus opeReagentStatus = this.opeReagentStatusService
- .getOpeReagentStatus(opeReagentStatusId);
- opeReagentStatus.setUserId(userId);
- opeReagentStatus.setProjectNum(projectNum);
- //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus);
- this.opeReagentStatusService.updateReagentStatus(opeReagentStatus);
- //if (flag) {
- //opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() - 1);
- //opeWarehouseReserve.setSelectNum(0);
- //}
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = RuntimeException.class)
+ public void claim(List<OpeWarehouseReserve> selectedList, Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber) {
+ for (OpeWarehouseReserve opeWarehouseReserve : selectedList) {
+ List<OpeLaboratoryReserve>lrList=new ArrayList<>();
+ List<Long> reagentStatusIds=new ArrayList<>();
+ List<String> reagentCodes = opeWarehouseReserve.getReagentCodes();
+ List<OpeUseFlow> opeUseFlowList=new ArrayList<>();
+ if (reagentCodes != null && !reagentCodes.isEmpty()) {
+ for (String reagentCode : reagentCodes) {
+ OpeReagentStatus opeReagentStatus = this.opeReagentStatusService
+ .getOpeReagentStatusByCode(reagentCode);
+ if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) {
+ throw new BusinessException(ExceptionEnumCode.SYS_ERR,"只能申领在仓库的试剂");
}
+
+ opeReagentStatus.setUserId(userId);
+ opeReagentStatus.setProjectId(projectId);
+ // this.opeReagentStatusService.updateReagentStatus(opeReagentStatus,receiptNumber);
+ reagentStatusIds.add(opeReagentStatus.getId());
+ OpeLaboratoryReserve lr = new OpeLaboratoryReserve();
+ lr.setReagentId(opeWarehouseReserve.getReagentId());
+ lr.setHouseId(laboratoryId);
+ lr.setContainerId(laboratoryContainerId);
+ lr.setReserve(opeWarehouseReserve.getSelectNum());
+ lr.setUserId(userId);
+ lr.setValidFlag(ValidFlag.VALID);
+ lrList.add(lr);
+
+ 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(opeReagentStatus.getRemainder());
+ opeUseFlow.setReceiptNumber(receiptNumber);
+ opeUseFlow.setOperateState(OperateStatus.WAREHOUSEOUT.getKey());
+ opeUseFlowList.add(opeUseFlow);
}
- opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum());
- opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve);
}
- } catch (DuplicateKeyException ex) {
- logger.warn(ex.getMessage(), ex);
- throw new AlarmException(AlarmCode.DATA_DUPLICATE,
- MessageUtil.getMessage(AlarmCode.DATA_DUPLICATE.getCode()));
- } catch (DataIntegrityViolationException ex) {
- logger.warn(ex.getMessage(), ex);
- throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode()));
- } catch (DataAccessException ex) {
- logger.error(ex.getMessage(), ex);
- throw new BusinessException(ExceptionEnumCode.DB_ERR,
- MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
+ if(reagentStatusIds.size()>0){
+ this.opeReagentStatusDao.batchUpdateReagentStatusByIds(reagentStatusIds,laboratoryId,laboratoryContainerId,ArrivalStatus.NOREGISTER.getKey());
+ }
+ if(lrList.size()>0){
+ this.opeLaboratoryReserveDao.batchInsert(lrList);
+ }
+ if(opeUseFlowList.size()>0){
+ this.opeUseFlowService.batchInsertOpeUseFlow(opeUseFlowList);
+ }
+ opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum());
+ opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve);
}
+
}
- public void reagentDStore2(List<OpeApply> reagentDStoreList, String loginUserId){
+ public void reagentDStore2(List<OpeApply> reagentDStoreList, Long loginUserId){
if (reagentDStoreList == null) {
return;
}
@@ -367,7 +383,7 @@
//opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
@@ -399,13 +415,13 @@
opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
//opeReagentStatus.setPlace(opeApply.getPlaceId());
//opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0));
- opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
+ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey());
this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
// 试剂使用情况入库insert
@@ -417,13 +433,9 @@
opeUseFlow.setUserId(opeReagentStatus.getUserId());
opeUseFlow.setPlace(opeReagentStatus.getPlace());
opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
- opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+ opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey());
- 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());
+ opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey());
this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
// 试剂使用情况领用insert
OpeUseFlow ouf=new OpeUseFlow();
@@ -434,13 +446,9 @@
ouf.setUserId(opeReagentStatus.getUserId());
ouf.setPlace(opeReagentStatus.getPlace());
ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
- ouf.setStoreType(StoreType.DIRECTSTORE);
+ ouf.setStoreType(StoreType.DIRECTSTORE.getKey());
- Map<String, String> metaMap2 = new HashMap<>();
- metaMap2.put("groupId", "operate_status");
- metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
- List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2);
- ouf.setOperateState(baseMetaList2.get(0).getId());
+ ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey());
this.opeUseFlowService.insertOpeUseFlow(ouf);
}
}
@@ -448,7 +456,7 @@
}
}
- public void reagentDStore4(List<OpeApply> reagentDStoreList, String loginUserId){
+ public void reagentDStore4(List<OpeApply> reagentDStoreList, Long loginUserId,String receiptNumber){
if (reagentDStoreList == null) {
return;
}
@@ -465,7 +473,7 @@
//opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
@@ -497,13 +505,13 @@
opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
//opeReagentStatus.setPlace(opeApply.getPlaceId());
//opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0));
- opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
+ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey());
this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
@@ -516,20 +524,17 @@
ouf.setUserId(opeReagentStatus.getUserId());
ouf.setPlace(opeReagentStatus.getPlace());
ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
- ouf.setStoreType(StoreType.DIRECTSTORE);
+ ouf.setStoreType(StoreType.DIRECTSTORE.getKey());
- Map<String, String> metaMap2 = new HashMap<>();
- metaMap2.put("groupId", "operate_status");
- metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
- List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2);
- ouf.setOperateState(baseMetaList2.get(0).getId());
+ ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey());
+ ouf.setReceiptNumber(receiptNumber);
this.opeUseFlowService.insertOpeUseFlow(ouf);
}
}
}
}
- public void reagentDStore3(List<OpeApply> reagentDStoreList, String loginUserId){
+ public void reagentDStore3(List<OpeApply> reagentDStoreList, Long loginUserId){
if (reagentDStoreList == null) {
return;
}
@@ -547,11 +552,11 @@
opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
- opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
+ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey());
this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
@@ -564,13 +569,9 @@
ouf.setUserId(opeReagentStatus.getUserId());
ouf.setPlace(opeReagentStatus.getPlace());
ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0));
- ouf.setStoreType(StoreType.DIRECTSTORE);
+ ouf.setStoreType(StoreType.DIRECTSTORE.getKey());
- Map<String, String> metaMap2 = new HashMap<>();
- metaMap2.put("groupId", "operate_status");
- metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
- List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2);
- ouf.setOperateState(baseMetaList2.get(0).getId());
+ ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey());
this.opeUseFlowService.insertOpeUseFlow(ouf);
}
}
@@ -578,12 +579,12 @@
}
}
@Override
- public List<OpeWarehouseReserve> selectByReId(String id) {
+ public List<OpeWarehouseReserve> selectByReId(Long id) {
return this.opeWarehouseReserveDao.selectByReId(id);
}
@Override
- public void updateByReId(String newReId, String oldReId) {
+ public void updateByReId(Long newReId, Long oldReId) {
Map<String, Object> params=new HashMap();
params.put("newReId",newReId);
params.put("oldReId",oldReId);
@@ -592,7 +593,7 @@
@Override
@Transactional
- public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) {
+ public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,Long consigneeId) {
OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
if (ope == null) {
@@ -612,7 +613,9 @@
ope.setApplyCode(opeApplyReserve.getApplyCode());
//批号
ope.setArticleNumber(opeApplyReserve.getArticleNumber());
- ope.setId(IDUtils.uuid());
+ //ope.setId(IDUtils.uuid());
+ //新增收货人 保存在仓库库存表
+ ope.setUserId(consigneeId);
opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope);
}else {
ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum());
@@ -625,8 +628,8 @@
}
@Override
- public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(String id,String articleNumber,boolean flag) {
- Map<String, String> params = new HashMap<>();
+ public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(Long id,String articleNumber,boolean flag) {
+ Map<String, Object> params = new HashMap<>();
params.put("reagentId", id);
params.put("articleNumber", articleNumber);
List<OpeWarehouseReserve> reserveList = opeWarehouseReserveDao.selectWarehouseByReagentIdAndArticleNumber(params);
@@ -647,8 +650,8 @@
/**
* 补贴扣库存去除有条码的数据
*/
- public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(String id,String articleNumber,String warehouseId) {
- Map<String, String> params = new HashMap<>();
+ public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(Long id,String articleNumber,Long warehouseId) {
+ Map<String, Object> params = new HashMap<>();
params.put("reagentId", id);
params.put("articleNumber", articleNumber);
params.put("warehouseId", warehouseId);
@@ -667,18 +670,32 @@
}
@Override
- public void updateBtReserve(String id, Integer useNum) {
+ public void updateBtReserve(Long id, Integer useNum) {
opeWarehouseReserveDao.updateBtReserve(id, useNum);
}
- @Override
- public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) {
+ @Override
+ public int countByReagentId(Long id) {
+ int num = 0;
+ if (opeWarehouseReserveDao.countByReagentId(id) != null) {
+ num = opeWarehouseReserveDao.countByReagentId(id);
+ }
+ return num;
+ }
+
+ @Override
+ public OpeWarehouseReserve getRowData(Long rowKey) {
+ return opeWarehouseReserveDao.getRowData(rowKey);
+ }
+
+ @Override
+ public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) {
if (opeList.size() < 1) {
return;
}
for (OpeApplyReserve oar : opeList) {
- String reagentId = oar.getReagent().getId();
- List<String> reagentCodes = new ArrayList<>(oar.getReagentCode());
+ Long reagentId = oar.getReagent().getId();
+ List<String> reagentCodes = new ArrayList<>(oar.getReagentCodes());
//开始库存扣除
List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList();
for (OpeWarehouseReserve owr : cacheUpdateList) {
@@ -706,23 +723,23 @@
// 试剂使用情况入库insert TODO 流向需要当时的时间和地点
OpeUseFlow opeUseFlow = new OpeUseFlow();
opeUseFlow.setReagentCode(reagentCodes.get(0));
- opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
- opeUseFlow.setUserId(userId);
+ opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE.getKey());
+ 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);
+ opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey());
- 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());
+ opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey());
this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+ //更新试剂状态表 :批号
+ opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber());
+
reagentCodes.remove(0);
+
}
}
@@ -742,7 +759,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public void reagentDStore(List<OpeApply> reagentDStoreList, String loginUserId) {
+ public void reagentDStore(List<OpeApply> reagentDStoreList, Long loginUserId) {
if (reagentDStoreList == null) {
return;
@@ -783,13 +800,13 @@
opeReagentStatus.setReagentId(opeApply.getReagent().getId());
opeReagentStatus.setArticleNumber(opeApply.getArticleNumber());
opeReagentStatus.setReagentCode(reagentCode);
- opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE);
+ opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE.getKey());
opeReagentStatus.setHouseId(opeApply.getHouseId());
opeReagentStatus.setContainerId(opeApply.getContainerId());
opeReagentStatus.setUserId(loginUserId);
- opeReagentStatus.setPlace(opeApply.getPlaceId());
+ opeReagentStatus.setPlace(opeApply.getPlace());
opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0));
- opeReagentStatus.setStoreType(StoreType.DIRECTSTORE);
+ opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey());
this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus);
// 试剂使用情况insert
@@ -801,13 +818,9 @@
opeUseFlow.setUserId(opeReagentStatus.getUserId());
opeUseFlow.setPlace(opeReagentStatus.getPlace());
opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0));
- opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+ opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey());
- 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());
+ opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey());
this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
@@ -824,9 +837,10 @@
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())) {
+ if (opeWarehouseReserve.getId()!=null) {
this.insertOpeWarehouseReserve(opeWarehouseReserve);
} else {
this.updateOpeWarehouseReserve(opeWarehouseReserve);
--
Gitblit v1.9.2