| | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public OpeUseFlow insertOpeUseFlow(OpeUseFlow opeUseFlow) { |
| | | try { |
| | | if (opeUseFlow.getId() == null) { |
| | | opeUseFlow.setId(IDUtils.uuid()); |
| | | } |
| | | |
| | | if(opeUseFlow.getCreateTime()==null){ |
| | | opeUseFlow.setCreateTime(new Timestamp(System.currentTimeMillis()+1000)); |
| | | } |
| | | |
| | | this.opeUseFlowDao.insertOpeUseFlow(opeUseFlow); |
| | | return opeUseFlow; |
| | | } catch (DuplicateKeyException ex) { |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int batchInsertOpeUseFlow(List<OpeUseFlow> opeUseFlowList) { |
| | | try { |
| | | return this.opeUseFlowDao.batchInsertOpeUseFlow(opeUseFlowList); |
| | | } catch (DuplicateKeyException ex) { |
| | | logger.warn(ex.getMessage(), ex); |
| | | throw new AlarmException(AlarmCode.DATA_DUPLICATE, |
| | | MessageUtil.getMessage(AlarmCode.DATA_DUPLICATE.getCode())); |
| | | } catch (DataIntegrityViolationException ex) { |
| | | logger.warn(ex.getMessage(), ex); |
| | | throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode())); |
| | | } catch (DataAccessException ex) { |
| | | logger.error(ex.getMessage(), ex); |
| | | throw new BusinessException(ExceptionEnumCode.DB_ERR, |
| | | MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); |
| | | } |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<OpeUseFlow> getOpeUseFlowList(String reagentId, String reagentCode, Integer status, String userId, |
| | | public List<OpeUseFlow> getOpeUseFlowList(Long reagentId, String reagentCode, Integer status, Long userId, |
| | | Integer first, Integer pageSize) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public int getOpeUseFlowTotalCount(String reagentId, String reagentCode, Integer status, String userId) { |
| | | public int getOpeUseFlowTotalCount(Long reagentId, String reagentCode, Integer status, Long userId) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentId", reagentId); |
| | |
| | | } |
| | | |
| | | @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,String operatestate) { |
| | | public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,Long reagentId, String reagentCode,String containerCode, Integer status, Long userId, |
| | | Date startDate,Date endDate,Integer first, Integer pageSize,Integer operatestate) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | |
| | |
| | | return commonPage; |
| | | } |
| | | |
| | | @Override |
| | | public OpeUseFlow getLastUseFlow(String reagentCode) { |
| | | return this.opeUseFlowDao.getLastUseFlow(reagentCode); |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,Date startDate,Date endDate,String operatestate) { |
| | | public int getOpeUseFlowTotalCountByName(String houseName,Long reagentId, String reagentCode,String containerCode, Integer status, Long userId,Date startDate,Date endDate,Integer operatestate) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentName", reagentId); |
| | |
| | | } |
| | | } |
| | | |
| | | private void addParamByUserId(String userId, Map<String, Object> params) { |
| | | if (StringUtils.isNotBlank(userId)) { |
| | | private void addParamByUserId(Long userId, Map<String, Object> params) { |
| | | if (userId!=null) { |
| | | SysUser sysUser = sysUserService.getSysUser(userId); |
| | | |
| | | // 不是管理员时,加入userid |
| | |
| | | //0:个人领用 1:在库 3:报废 |
| | | //<!--0:个人领用 1:在仓库sys_warehouse_container 2:在实验室sys_laboratory_container 3:报废--> |
| | | OpeUseFlow opeUseFlow = new OpeUseFlow(); |
| | | opeUseFlow.setId(IDUtils.uuid()); |
| | | // opeUseFlow.setId(IDUtils.uuid()); |
| | | opeUseFlow.setCreateTime(new Timestamp(DateUtils.parseDate(params.get("updateTime").toString(), Constants.TIME_PATTERN_YYYY_MM_DD_HH_MM_SS).getTime())); |
| | | opeUseFlow.setStatus(ArrivalStatus.parse(Integer.valueOf(String.valueOf(params.get("status"))))); |
| | | opeUseFlow.setStatus(Integer.valueOf(String.valueOf(params.get("status")))); |
| | | opeUseFlow.setReagentCode((String) params.get("reagentCode")); |
| | | if (params.get("idcard") != null) { |
| | | SysUser sysUser = sysUserService.getSysUserByIdCard((String) params.get("idcard")); |
| | |
| | | continue; |
| | | } |
| | | opeUseFlow.setUserId(sysUser.getId()); |
| | | opeUseFlow.setContainerId("0"); |
| | | opeUseFlow.setHouseId("0"); |
| | | opeUseFlow.setContainerId(0l); |
| | | opeUseFlow.setHouseId(0l); |
| | | } else { |
| | | logger.error("The idcard is empty!"); |
| | | continue; |
| | |
| | | SysWarehouseContainer container = sysWarehouseContainerDao.getSysWarehouseContainerByContainerCode((String) params.get("containerCode")); |
| | | if (Objects.isNull(container)==false) { |
| | | if (params.get("status").toString().equals("1")) { |
| | | opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE); |
| | | opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE.getKey()); |
| | | } else { |
| | | opeUseFlow.setStatus(ArrivalStatus.PERSONAL); |
| | | opeUseFlow.setStatus(ArrivalStatus.PERSONAL.getKey()); |
| | | } |
| | | opeUseFlow.setContainerId(container.getId()); |
| | | opeUseFlow.setHouseId(container.getWarehouseId()); |
| | | opeUseFlow.setPlace(container.getStructure()); |
| | | // opeUseFlow.setPlace(container.getStructure()); |
| | | }else{ |
| | | SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode((String) params.get("containerCode")); |
| | | if (Objects.isNull(sysLaboratoryContainer)) { |
| | |
| | | continue; |
| | | } |
| | | if (params.get("status").toString().equals("1")) { |
| | | opeUseFlow.setStatus(ArrivalStatus.LABORATORY); |
| | | opeUseFlow.setStatus(ArrivalStatus.LABORATORY.getKey()); |
| | | } else { |
| | | opeUseFlow.setStatus(ArrivalStatus.PERSONAL); |
| | | opeUseFlow.setStatus(ArrivalStatus.PERSONAL.getKey()); |
| | | } |
| | | opeUseFlow.setContainerId(sysLaboratoryContainer.getId()); |
| | | opeUseFlow.setHouseId(sysLaboratoryContainer.getLaboratoryId()); |
| | | opeUseFlow.setPlace(sysLaboratoryContainer.getStructure()); |
| | | // opeUseFlow.setPlace(sysLaboratoryContainer.getStructure()); |
| | | } |
| | | // } |
| | | |
| | |
| | | opeUseFlowDao.updateReceiptNumber(code, receiptNumber,note); |
| | | } |
| | | |
| | | //---------待完善------------20240408 |
| | | @Transactional |
| | | public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber,String note) { |
| | | |
| | | for (OpeApplyReserve oar : selectedTmpOrderList) { |
| | | if (oar.getFlag() == 1) { |
| | | //库中领取 code存的是 试剂状态的id |
| | | for (String statusId : oar.getReagentCode()) { |
| | | String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode(); |
| | | for (String reagentCode : oar.getReagentCodes()) { |
| | | String code = opeReagentStatusService.getOpeReagentStatusByCode(reagentCode).getReagentCode(); |
| | | //此时状态为领用待入库 |
| | | this.updateReceiptNumber(code, receiptNumber,note); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Integer> getRegentInfoFromReceiptNumber(String receiptNumber) { |
| | | public Map<Long, Integer> getRegentInfoFromReceiptNumber(String receiptNumber) { |
| | | List<Map> maps = opeUseFlowDao.getRegentInfoFromReceiptNumber(receiptNumber); |
| | | if (maps.size() > 0) { |
| | | Map<String, Integer> printInfo = new HashMap<>(); |
| | | Map<Long, Integer> printInfo = new HashMap<>(); |
| | | for (Map map : maps) { |
| | | Integer count =Integer.parseInt(String.valueOf(map.get("count")));; |
| | | String reagentId = (String) map.get("reagentId"); |
| | | Long reagentId = Long.valueOf(map.get("reagentId").toString()); |
| | | SysReagent reagent = sysReagentService.getSysReagent(reagentId); |
| | | printInfo.put(reagent.getId(), count); |
| | | } |
| | |
| | | @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); |
| | | return opeUseFlowDao.getUserIdByReagentCode(reagentCode, OperateStatus.WAREHOUSEOUT.getKey()); |
| | | } |
| | | |
| | | //---------待完善------------20240408 |
| | | @Override |
| | | 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(); |
| | | String code = opeReagentStatusService.getOpeReagentStatusByCode(statusId).getReagentCode(); |
| | | //此时状态为领用待入库 |
| | | this.updateReceiptNumber(code, receiptNumber,note); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int getPersonalUseInfoCount(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber, |
| | | public int getPersonalUseInfoCount(String reagentCode,Long userId, Date startDate, Date endDate, String receiptNumber, |
| | | String department, String project,String applyPerson,String reagentName) { |
| | | Map<String,Object> params = new HashMap<>(); |
| | | |
| | |
| | | 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()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | |
| | | addParamByUserId(userId, params); |
| | | return opeUseFlowDao.countPersonalUseInfo(params); |
| | | } |
| | | |
| | | @Override |
| | | public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber, |
| | | public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,Long 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"); |
| | |
| | | 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("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | |
| | | @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("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | |
| | | params.put("receiptNumber", receiptNumber); |
| | | |
| | |
| | | @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("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | |
| | | params.put("receiptNumber", receiptNumber); |
| | | |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void scrapReagent(String reagentId,String reagentCode, String userId) { |
| | | public void scrapReagent(Long reagentId,String reagentCode, Long userId) { |
| | | //1.试剂状态表更新试剂状态为报废 |
| | | OpeReagentStatus status = opeReagentStatusService.getStatus(reagentId, reagentCode); |
| | | if (status.getStatus() == ArrivalStatus.SCRAP) { |
| | | if (status.getStatus() == ArrivalStatus.SCRAP.getKey()) { |
| | | throw new BusinessException(ExceptionEnumCode.PARAM_ERR,"该试剂已是报废状态,无法进行操作"); |
| | | } |
| | | //报废 |
| | | status.setStatus(ArrivalStatus.SCRAP); |
| | | status.setStatus(ArrivalStatus.SCRAP.getKey()); |
| | | 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.setOperateState(OperateStatus.SCRAP.getKey()); |
| | | useFlow.setReagentCode(reagentCode); |
| | | useFlow.setContainerId(status.getContainerId()); |
| | | useFlow.setHouseId(status.getHouseId()); |
| | |
| | | useFlow.setPlace(status.getPlace()); |
| | | useFlow.setRemainder(status.getRemainder()); |
| | | useFlow.setStoreType(status.getStoreType()); |
| | | useFlow.setProject(status.getProjectNum()); |
| | | useFlow.setProjectId(status.getProjectId()); |
| | | useFlow.setArticleNumber(status.getArticleNumber()); |
| | | |
| | | useFlow.setCreateTime(new Timestamp(new Date().getTime())); |
| | | useFlow.setId(IDUtils.uuid()); |
| | | // useFlow.setId(IDUtils.uuid()); |
| | | opeUseFlowDao.insertOpeUseFlow(useFlow); |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public OpeUseFlow selectByReceiptNumber(String receiptNumber,String userId) { |
| | | public OpeUseFlow selectByReceiptNumber(String receiptNumber,Long 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()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | |
| | | addParamByUserId(userId, params); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Map> selectAll(String houseName, String reagentId, String reagentCode, String containerCode, String userId, Date startDate, Date endDate) { |
| | | public List<Map> selectAll(String houseName, Long reagentId, String reagentCode, String containerCode, Long userId, Date startDate, Date endDate) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | |
| | |
| | | * @Description: 查询导出 |
| | | */ |
| | | @Override |
| | | public List<Map> selectExportDetail(String reagentCode, String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, String applyPerson, String reagentName) { |
| | | public List<Map> selectExportDetail(String reagentCode, Long userId, Date startTime, Date endTime, String receiptNumber, String department, String project, String applyPerson, String reagentName) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | Map<String, String> metaMap2 = new HashMap<>(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | if (startTime != null) { |
| | | params.put("startTime", sdf.format(startTime) +" 00:00:00"); |
| | |
| | | params.put("applyPerson", applyPerson); |
| | | params.put("reagentName", reagentName); |
| | | params.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()); |
| | | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); |
| | | List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | params.put("operatestate1", baseMetas1.get(0).getId()); |
| | | params.put("operatestate", OperateStatus.WAREHOUSEOUT.getKey()); |
| | | |
| | | params.put("operatestate1", OperateStatus.TRANSFER.getKey()); |
| | | addParamByUserId(userId, params); |
| | | return opeUseFlowDao.selectDetail(params); |
| | | } |
| | |
| | | map.put("productHome", "厂家"); |
| | | map.put("articleNumber", "批号"); |
| | | map.put("username", "申领人"); |
| | | map.put("project", "课题组"); |
| | | map.put("projectName", "课题组"); |
| | | map.put("department", "部门"); |
| | | map.put("location", "地点"); |
| | | map.put("createTime", "领用时间"); |
| | |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |