From d6c65a4e3d1ca7d9a7bd6806c99fee035d0a44eb Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 27 一月 2021 16:54:34 +0800 Subject: [PATCH] 合并 --- src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 95 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java index bcd04a3..2d7ab3e 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java @@ -1,21 +1,19 @@ 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.enumtype.OperateStatus; import com.nanometer.smartlab.util.Constants; -import com.nanometer.smartlab.util.Utils; -import com.sun.org.apache.regexp.internal.RE; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.log4j.Logger; @@ -54,6 +52,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) @@ -363,4 +369,89 @@ 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); + } + } + + } + + } } -- Gitblit v1.9.2