From e3f9c9350c14707277b4fbf03a4d78c75ec04174 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Mon, 01 Feb 2021 10:16:04 +0800
Subject: [PATCH] 增加搜索
---
src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 194 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 189 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index 12d1e8b..d14da94 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -1,20 +1,20 @@
package com.nanometer.smartlab.service;
import java.math.BigDecimal;
-import java.sql.Time;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.annotation.Resource;
-import javax.ejb.EJB;
+import com.nanometer.smartlab.dao.BaseMetaDao;
import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
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 com.nanometer.smartlab.util.Utils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.log4j.Logger;
@@ -53,6 +53,14 @@
@Resource
private SysUserService sysUserService;
+ @Resource
+ private OpeReagentStatusService opeReagentStatusService;
+ @Resource
+ private OpeUseFlowService opeUseFlowService;
+ @Resource
+ private SysReagentService sysReagentService;
+ @Resource
+ private BaseMetaDao baseMetaDao;
@Transactional(propagation = Propagation.REQUIRED)
@@ -128,7 +136,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>();
@@ -168,6 +176,7 @@
params.put("status", status);
params.put("houseName", houseName);
+ params.put("containerCode", containerCode);
addParamByUserId(userId, params);
params.put("first", first);
@@ -181,7 +190,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);
@@ -219,6 +228,7 @@
}
params.put("houseName", houseName);
+ params.put("containerCode", containerCode);
addParamByUserId(userId, params);
params.put("status", status);
@@ -357,4 +367,178 @@
params.put("status",-1);
opeUseFlowDao.updateTimeByCode(params);
}
+
+ @Override
+ public OpeUseFlow getOpeUseFlowByCode(String reagentCode) {
+ return opeUseFlowDao.getOpeUseFlowByCode(reagentCode);
+ }
+
+ @Override
+ public void updateReceiptNumber(String code, String receiptNumber) {
+ opeUseFlowDao.updateReceiptNumber(code, receiptNumber);
+ }
+
+ @Transactional
+ 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) {
+ String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
+ //此时状态为领用待入库
+ opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ }
+ }else{
+ for (String code : codeTmp) {
+ opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ }
+ }
+
+ }
+
+
+ }
+
+ @Override
+ public Map<String, Integer> getRegentInfoFromReceiptNumber(String receiptNumber) {
+ List<Map> maps = opeUseFlowDao.getRegentInfoFromReceiptNumber(receiptNumber);
+ if (maps.size() > 0) {
+ Map<String, Integer> printInfo = new HashMap<>();
+ for (Map map : maps) {
+ Integer count =Integer.parseInt(String.valueOf(map.get("count")));;
+ String reagentId = (String) map.get("reagentId");
+ SysReagent reagent = sysReagentService.getSysReagent(reagentId);
+ printInfo.put(reagent.getId(), count);
+ }
+ return printInfo;
+ }
+
+ return null;
+ }
+
+ @Override
+ public Map getApplyUserByReagentCode(String reagentCode) {
+
+ 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);
+ String id = baseMetaList2.get(0).getId();
+ return opeUseFlowDao.getUserIdByReagentCode(reagentCode, id);
+ }
+
+ @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) {
+ String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
+ //此时状态为领用待入库
+ opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+ }
+ }else{
+ for (String code : codeTmp) {
+ opeUseFlowService.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);
+
+ }
+
}
--
Gitblit v1.9.2