From ad2f00d48ac45030ed26dcb37445585e2d3e94f8 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Thu, 30 Dec 2021 13:07:40 +0800
Subject: [PATCH] bug
---
src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 153 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index 31e9bad..1bccad2 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -13,6 +13,7 @@
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.ExcelUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.log4j.Logger;
@@ -134,7 +135,7 @@
@Transactional(propagation = Propagation.REQUIRED)
public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,
- Date startDate,Date endDate,Integer first, Integer pageSize) {
+ Date startDate,Date endDate,Integer first, Integer pageSize,String operatestate) {
try {
Map<String, Object> params = new HashMap<String, Object>();
@@ -173,6 +174,7 @@
params.put("status", status);
params.put("houseName", houseName);
+ params.put("operatestate", operatestate);
params.put("containerCode", containerCode);
addParamByUserId(userId, params);
@@ -187,7 +189,7 @@
}
@Transactional(propagation = Propagation.REQUIRED)
- public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode,String containerCode, 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,String operatestate) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentId);
@@ -224,6 +226,7 @@
params.put("endDate",sdfend.format(now));
}
+ params.put("operatestate", operatestate);
params.put("houseName", houseName);
params.put("containerCode", containerCode);
addParamByUserId(userId, params);
@@ -371,12 +374,12 @@
}
@Override
- public void updateReceiptNumber(String code, String receiptNumber) {
- opeUseFlowDao.updateReceiptNumber(code, receiptNumber);
+ public void updateReceiptNumber(String code, String receiptNumber,String note) {
+ opeUseFlowDao.updateReceiptNumber(code, receiptNumber,note);
}
@Transactional
- public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber) {
+ public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber,String note) {
for (OpeApplyReserve oar : selectedTmpOrderList) {
if (oar.getFlag() == 1) {
@@ -384,14 +387,14 @@
for (String statusId : oar.getReagentCode()) {
String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
//此时状态为领用待入库
- this.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber,note);
}
}else{
//根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
List<String> codeTmp = opeReagentStatusService
.generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2());
for (String code : codeTmp) {
- this.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber,note);
}
}
@@ -429,21 +432,21 @@
}
@Override
- public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber) {
+ public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber,String note) {
for (OpeWarehouseReserve owr : selectTmpList) {
if (owr.getFlag() == 1) {
//库中领取 code存的是 试剂状态的id
for (String statusId : owr.getReagentCodes()) {
String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
//此时状态为领用待入库
- this.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber,note);
}
}else{
//根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向
List<String> codeTmp = opeReagentStatusService
.generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2());
for (String code : codeTmp) {
- this.updateReceiptNumber(code, receiptNumber);
+ this.updateReceiptNumber(code, receiptNumber,note);
}
}
@@ -452,12 +455,39 @@
}
@Override
- public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+ public int getPersonalUseInfoCount(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber,
String department, String project,String applyPerson,String reagentName) {
Map<String,Object> params = new HashMap<>();
+
+ SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+ SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+ Date now = new Date();
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(now);
+ cal.add(Calendar.DATE, -7);
+ Date startTime = cal.getTime();
+
+ if (null != startDate){
+ try {
+ params.put("startTime",sdfstart.format(startDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("startTime",sdfstart.format(startTime));
+ }
+
+ if (null != endDate){
+ try {
+ params.put("endTime",sdfend.format(endDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("endTime",sdfend.format(now));
+ }
+
params.put("userId", userId);
- params.put("startTime", startTime);
- params.put("endTime", endTime);
params.put("receiptNumber", receiptNumber);
params.put("department", department);
params.put("project", project);
@@ -475,17 +505,44 @@
List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
params.put("operatestate", baseMetas.get(0).getId());
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey()));
+ List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate1", baseMetas1.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,
+ public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber,
String department, String project,String applyPerson,String reagentName, int first, int pageSize) {
Map<String, Object> params = new HashMap<>();
+ SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+ SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+ Date now = new Date();
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(now);
+ cal.add(Calendar.DATE, -7);
+ Date startTime = cal.getTime();
+ if (null != startDate){
+ try {
+ params.put("startTime",sdfstart.format(startDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("startTime",sdfstart.format(startTime));
+ }
+ if (null != endDate){
+ try {
+ params.put("endTime",sdfend.format(endDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("endTime",sdfend.format(now));
+ }
params.put("userId", userId);
- params.put("startTime", startTime);
- params.put("endTime", endTime);
params.put("receiptNumber", receiptNumber);
params.put("department", department);
params.put("project", project);
@@ -498,6 +555,11 @@
metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
params.put("operatestate", baseMetas.get(0).getId());
+
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey()));
+ List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate1", baseMetas1.get(0).getId());
+
params.put("first", first);
params.put("pageSize", pageSize);
@@ -513,6 +575,11 @@
metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
params.put("operatestate", baseMetas.get(0).getId());
+
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey()));
+ List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate1", baseMetas1.get(0).getId());
+
params.put("receiptNumber", receiptNumber);
return opeUseFlowDao.getApplyInfo(params);
@@ -528,6 +595,11 @@
metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
params.put("operatestate", baseMetas.get(0).getId());
+
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey()));
+ List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate1", baseMetas1.get(0).getId());
+
params.put("receiptNumber", receiptNumber);
return opeUseFlowDao.getApplyInfoSize(params);
@@ -594,9 +666,74 @@
List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
params.put("operatestate", baseMetas.get(0).getId());
+ metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey()));
+ List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2);
+ params.put("operatestate1", baseMetas1.get(0).getId());
+
addParamByUserId(userId, params);
return opeUseFlowDao.selectByReceiptNumber(params);
}
+ @Override
+ public List<Map> selectAll(String houseName, String reagentId, String reagentCode, String containerCode, String userId, Date startDate, Date endDate) {
+ try {
+ Map<String, Object> params = new HashMap<String, Object>();
+
+ params.put("reagentName", reagentId);
+ if (StringUtils.isNotBlank(reagentCode)) {
+ params.put("reagentCode", "%" + reagentCode + "%");
+ }
+ SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+ SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+ Date now = new Date();
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(now);
+ cal.add(Calendar.DATE, -7);
+ Date startTime = cal.getTime();
+
+ if (null != startDate){
+ try {
+ params.put("startDate",sdfstart.format(startDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("startDate",sdfstart.format(startTime));
+ }
+ if (null != endDate){
+ try {
+ params.put("endDate",sdfend.format(endDate));
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }else {
+ params.put("endDate",sdfend.format(now));
+ }
+ params.put("houseName", houseName);
+ params.put("containerCode", containerCode);
+ addParamByUserId(userId, params);
+ return opeUseFlowDao.selectAll(params);
+ } catch (DataAccessException e) {
+ logger.error(e.getMessage(), e);
+ throw new BusinessException(ExceptionEnumCode.DB_ERR,
+ MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
+ }
+ }
+
+ @Override
+ public boolean export2Excel(List<Map> list) throws Exception {
+ Map<String,String> map = new LinkedHashMap<>();
+ map.put("reagentCode", "试剂条形码");
+ map.put("reagentName", "试剂名称");
+ map.put("laboratoryContainerCode", "柜号");
+ map.put("operatestateName", "操作状态");
+ map.put("remainder", "残存量");
+ map.put("userName", "持有者");
+ map.put("createTime", "更新时间");
+ map.put("warehouseContainerName", "场所名");
+ ExcelUtils.export2Excel(list,"试剂流向追踪列表",map);
+ return true;
+ }
+
}
--
Gitblit v1.9.2