| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private SysUserService sysUserService; |
| | | @Resource |
| | | private OpeReagentStatusService opeReagentStatusService; |
| | | @Resource |
| | | private OpeUseFlowService opeUseFlowService; |
| | | @Resource |
| | | private SysReagentService sysReagentService; |
| | | @Resource |
| | | private BaseMetaDao baseMetaDao; |
| | | |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |