From b48666e1f30b3334726d218d6b05d1228a307fd7 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: Fri, 25 Jun 2021 18:11:06 +0800
Subject: [PATCH] 修改选中项
---
src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 195 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 170 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index 2d7ab3e..31e9bad 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -8,10 +8,9 @@
import javax.annotation.Resource;
-import com.nanometer.smartlab.dao.BaseMetaDao;
-import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
-import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
+import com.nanometer.smartlab.dao.*;
import com.nanometer.smartlab.entity.*;
+import com.nanometer.smartlab.entity.dto.PersonUseDetail;
import com.nanometer.smartlab.entity.enumtype.OperateStatus;
import com.nanometer.smartlab.util.Constants;
import org.apache.commons.lang.StringUtils;
@@ -24,7 +23,6 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import com.nanometer.smartlab.dao.OpeUseFlowDao;
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
import com.nanometer.smartlab.exception.AlarmCode;
@@ -55,11 +53,11 @@
@Resource
private OpeReagentStatusService opeReagentStatusService;
@Resource
- private OpeUseFlowService opeUseFlowService;
- @Resource
private SysReagentService sysReagentService;
@Resource
private BaseMetaDao baseMetaDao;
+ @Resource
+ private OpeReagentStatusDao opeReagentStatusDao;
@Transactional(propagation = Propagation.REQUIRED)
@@ -70,7 +68,7 @@
}
if(opeUseFlow.getCreateTime()==null){
- opeUseFlow.setCreateTime(new Timestamp(System.currentTimeMillis()));
+ opeUseFlow.setCreateTime(new Timestamp(System.currentTimeMillis()+1000));
}
this.opeUseFlowDao.insertOpeUseFlow(opeUseFlow);
@@ -135,7 +133,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode, Integer status, String userId,
+ public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,
Date startDate,Date endDate,Integer first, Integer pageSize) {
try {
Map<String, Object> params = new HashMap<String, Object>();
@@ -175,6 +173,7 @@
params.put("status", status);
params.put("houseName", houseName);
+ params.put("containerCode", containerCode);
addParamByUserId(userId, params);
params.put("first", first);
@@ -188,7 +187,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode, Integer status, String userId,Date startDate,Date endDate) {
+ public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,Date startDate,Date endDate) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentId);
@@ -226,6 +225,7 @@
}
params.put("houseName", houseName);
+ params.put("containerCode", containerCode);
addParamByUserId(userId, params);
params.put("status", status);
@@ -379,21 +379,19 @@
public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber) {
for (OpeApplyReserve oar : selectedTmpOrderList) {
- //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
- List<String> codeTmp = opeReagentStatusService
- .generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2());
- assert codeTmp.size() > 0;
-
if (oar.getFlag() == 1) {
//库中领取 code存的是 试剂状态的id
- for (String statusId : codeTmp) {
+ for (String statusId : oar.getReagentCode()) {
String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
//此时状态为领用待入库
- opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber);
}
}else{
+ //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
+ List<String> codeTmp = opeReagentStatusService
+ .generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2());
for (String code : codeTmp) {
- opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber);
}
}
@@ -433,25 +431,172 @@
@Override
public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber) {
for (OpeWarehouseReserve owr : selectTmpList) {
- //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
- List<String> codeTmp = opeReagentStatusService
- .generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2());
- assert codeTmp.size() > 0;
-
if (owr.getFlag() == 1) {
//库中领取 code存的是 试剂状态的id
- for (String statusId : codeTmp) {
+ for (String statusId : owr.getReagentCodes()) {
String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
//此时状态为领用待入库
- opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber);
}
}else{
+ //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
+ List<String> codeTmp = opeReagentStatusService
+ .generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2());
for (String code : codeTmp) {
- opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber);
}
}
}
}
+
+ @Override
+ public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+ String department, String project,String applyPerson,String reagentName) {
+ Map<String,Object> params = new HashMap<>();
+ params.put("userId", userId);
+ params.put("startTime", startTime);
+ params.put("endTime", endTime);
+ params.put("receiptNumber", receiptNumber);
+ params.put("department", department);
+ params.put("project", project);
+ params.put("reagentCode", reagentCode);
+ params.put("applyPerson", applyPerson);
+ if (StringUtils.isNotBlank(reagentName)) {
+ //根据试剂名获取单号
+
+ }
+ params.put("reagentName", reagentName);
+ //操作状态位仓库领取
+ Map<String, String> metaMap2 = new HashMap<>();
+ metaMap2.put("groupId", "operate_status");
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate", baseMetas.get(0).getId());
+
+ addParamByUserId(userId, params);
+ return opeUseFlowDao.countPersonalUseInfo(params);
+ }
+
+ @Override
+ public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+ String department, String project,String applyPerson,String reagentName, int first, int pageSize) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("userId", userId);
+ params.put("startTime", startTime);
+ params.put("endTime", endTime);
+ params.put("receiptNumber", receiptNumber);
+ params.put("department", department);
+ params.put("project", project);
+ params.put("reagentCode", reagentCode);
+ params.put("applyPerson", applyPerson);
+ params.put("reagentName", reagentName);
+ //操作状态位仓库领取
+ Map<String, String> metaMap2 = new HashMap<>();
+ metaMap2.put("groupId", "operate_status");
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate", baseMetas.get(0).getId());
+ params.put("first", first);
+ params.put("pageSize", pageSize);
+
+ addParamByUserId(userId, params);
+ return opeUseFlowDao.selectPersonalUseInfo(params);
+ }
+
+ @Override
+ public List<PersonUseDetail> getApplyInfo(String receiptNumber) {
+ Map<String,Object> params = new HashMap<>();
+ Map<String, String> metaMap2 = new HashMap<>();
+ metaMap2.put("groupId", "operate_status");
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate", baseMetas.get(0).getId());
+ params.put("receiptNumber", receiptNumber);
+
+ return opeUseFlowDao.getApplyInfo(params);
+
+ }
+
+
+ @Override
+ public int getApplyInfoSize(String receiptNumber) {
+ Map<String,Object> params = new HashMap<>();
+ Map<String, String> metaMap2 = new HashMap<>();
+ metaMap2.put("groupId", "operate_status");
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate", baseMetas.get(0).getId());
+ params.put("receiptNumber", receiptNumber);
+
+ return opeUseFlowDao.getApplyInfoSize(params);
+
+ }
+
+ @Override
+ public int getOpeUseFlow(OpeUseFlow opeUseFlow) {
+ return opeUseFlowDao.countOpeUseFlow(opeUseFlow);
+ }
+
+ @Override
+ @Transactional
+ public void scrapReagent(String reagentId,String reagentCode, String userId) {
+ //1.试剂状态表更新试剂状态为报废
+ OpeReagentStatus status = opeReagentStatusService.getStatus(reagentId, reagentCode);
+ if (status.getStatus() == ArrivalStatus.SCRAP) {
+ throw new BusinessException(ExceptionEnumCode.PARAM_ERR,"该试剂已是报废状态,无法进行操作");
+ }
+ //报废
+ status.setStatus(ArrivalStatus.SCRAP);
+ status.setUserId(userId);
+ opeReagentStatusDao.updateOpeReagentStatusDao(status);
+
+ //2.插入一条报废的流向记录
+ OpeUseFlow useFlow = new OpeUseFlow();
+ //获取报废状态id
+ Map<String, Object> params = new HashMap<>();
+ params.put("groupId", "operate_status");
+ params.put("metaKey", String.valueOf(OperateStatus.SCRAP.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(params);
+ useFlow.setOperateState(baseMetas.get(0).getId());
+ useFlow.setReagentCode(reagentCode);
+ useFlow.setContainerId(status.getContainerId());
+ useFlow.setHouseId(status.getHouseId());
+ useFlow.setUserId(userId);
+ useFlow.setPlace(status.getPlace());
+ useFlow.setRemainder(status.getRemainder());
+ useFlow.setStoreType(status.getStoreType());
+ useFlow.setProject(status.getProjectNum());
+ useFlow.setArticleNumber(status.getArticleNumber());
+
+ useFlow.setCreateTime(new Timestamp(new Date().getTime()));
+ useFlow.setId(IDUtils.uuid());
+ opeUseFlowDao.insertOpeUseFlow(useFlow);
+
+ }
+
+ @Override
+ public OpeUseFlow selectById(String id) {
+ return opeUseFlowDao.selectById(id);
+ }
+
+ @Override
+ public OpeUseFlow selectByReceiptNumber(String receiptNumber,String userId) {
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("userId", userId);
+ params.put("receiptNumber", receiptNumber);
+ //操作状态位仓库领取
+ Map<String, String> metaMap2 = new HashMap<>();
+ metaMap2.put("groupId", "operate_status");
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate", baseMetas.get(0).getId());
+
+ addParamByUserId(userId, params);
+
+ return opeUseFlowDao.selectByReceiptNumber(params);
+ }
+
}
--
Gitblit v1.9.2