| | |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.log4j.Logger; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.dao.DataAccessException; |
| | | import org.springframework.dao.DataIntegrityViolationException; |
| | | import org.springframework.dao.DuplicateKeyException; |
| | |
| | | @Resource |
| | | private OpeReagentStatusService opeReagentStatusService; |
| | | |
| | | @Lazy |
| | | @Resource |
| | | private OpeUseFlowService opeUseFlowService; |
| | | |
| | |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, |
| | | Integer pageSize,String productSn) { |
| | | Integer pageSize,String productSn,String warehouseName) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentName", reagentId); |
| | |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | | params.put("productSn", productSn); |
| | | params.put("warehouseName", warehouseName); |
| | | return this.opeWarehouseReserveDao.getOpeWarehouseReserveList(params); |
| | | } catch (DataAccessException e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn) { |
| | | public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentName", reagentId); |
| | | params.put("supplierId", supplierId); |
| | | params.put("productSn", productSn); |
| | | params.put("warehouseName", warehouseName); |
| | | return this.opeWarehouseReserveDao.getOpeWarehouseReserveTotalCount(params); |
| | | } catch (DataAccessException e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | } |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) |
| | | public boolean updateOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) { |
| | | try { |
| | | int row = this.opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); |
| | |
| | | } |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId){ |
| | | @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) |
| | | public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId,String receiptNumber){ |
| | | try{ |
| | | for(OpeApplyReserve app:selectedListForPerson){ |
| | | List<String> reagentCodes = app.getReagentCode(); |
| | | if (reagentCodes != null && reagentCodes.size() > 0) { |
| | | List<OpeReagentStatus> ss=new ArrayList<>(); |
| | | for (String opeReagentStatusId : reagentCodes) { |
| | | OpeReagentStatus opeReagentStatus = this.opeReagentStatusService.getOpeReagentStatus(opeReagentStatusId); |
| | | opeReagentStatus.setUserId(userId); |
| | | opeReagentStatus.setProjectNum(projectNum); |
| | | //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); |
| | | this.opeReagentStatusService.updateReagentStatus3(opeReagentStatus); |
| | | ss.add(opeReagentStatus); |
| | | //更新试剂状态和 |
| | | opeReagentStatus.setHouseId(laboratoryId); |
| | | opeReagentStatus.setContainerId(laboratoryContainerId); |
| | | this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus); |
| | | this.opeReagentStatusService.updateReagentStatus3(reagentCodes,userId,projectNum,laboratoryId,laboratoryContainerId,receiptNumber); |
| | | |
| | | } |
| | | //更新是现实库存 |
| | | OpeLaboratoryReserve lr=new OpeLaboratoryReserve(); |
| | | lr.setReagentId(app.getReagent().getId()); |
| | |
| | | logger.error(ex.getMessage(), ex); |
| | | throw new BusinessException(ExceptionEnumCode.DB_ERR, |
| | | MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); |
| | | }catch(Exception e){ |
| | | e.printStackTrace(); |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | // 仓库领用 |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public void claim(List<OpeWarehouseReserve> selectedList, String userId,String projectNum) { |
| | | public void claim(List<OpeWarehouseReserve> selectedList, String userId,String projectNum,String receiptNumber) { |
| | | try { |
| | | for (OpeWarehouseReserve opeWarehouseReserve : selectedList) { |
| | | List<String> reagentCodes = opeWarehouseReserve.getReagentCodes(); |
| | |
| | | opeReagentStatus.setUserId(userId); |
| | | opeReagentStatus.setProjectNum(projectNum); |
| | | //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); |
| | | this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); |
| | | this.opeReagentStatusService.updateReagentStatus(opeReagentStatus,receiptNumber); |
| | | //if (flag) { |
| | | //opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() - 1); |
| | | //opeWarehouseReserve.setSelectNum(0); |
| | |
| | | } |
| | | } |
| | | |
| | | public void reagentDStore4(List<OpeApply> reagentDStoreList, String loginUserId){ |
| | | public void reagentDStore4(List<OpeApply> reagentDStoreList, String loginUserId,String receiptNumber){ |
| | | if (reagentDStoreList == null) { |
| | | return; |
| | | } |
| | |
| | | metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); |
| | | List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2); |
| | | ouf.setOperateState(baseMetaList2.get(0).getId()); |
| | | ouf.setReceiptNumber(receiptNumber); |
| | | this.opeUseFlowService.insertOpeUseFlow(ouf); |
| | | } |
| | | } |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) { |
| | | public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) { |
| | | |
| | | OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId()); |
| | | if (ope == null) { |
| | |
| | | //批号 |
| | | ope.setArticleNumber(opeApplyReserve.getArticleNumber()); |
| | | ope.setId(IDUtils.uuid()); |
| | | //新增收货人 保存在仓库库存表 |
| | | ope.setUserId(consigneeId); |
| | | opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope); |
| | | }else { |
| | | ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum()); |
| | |
| | | opeWarehouseReserveDao.updateBtReserve(id, useNum); |
| | | } |
| | | |
| | | @Override |
| | | public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) { |
| | | @Override |
| | | public int countByReagentId(String id) { |
| | | int num = 0; |
| | | if (opeWarehouseReserveDao.countByReagentId(id) != null) { |
| | | num = opeWarehouseReserveDao.countByReagentId(id); |
| | | } |
| | | return num; |
| | | } |
| | | |
| | | @Override |
| | | public OpeWarehouseReserve getRowData(String rowKey) { |
| | | return opeWarehouseReserveDao.getRowData(rowKey); |
| | | } |
| | | |
| | | @Override |
| | | public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) { |
| | | if (opeList.size() < 1) { |
| | | return; |
| | | } |
| | |
| | | OpeUseFlow opeUseFlow = new OpeUseFlow(); |
| | | opeUseFlow.setReagentCode(reagentCodes.get(0)); |
| | | opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE); |
| | | opeUseFlow.setUserId(userId); |
| | | opeUseFlow.setUserId(warehouseReserve.getUserId()); |
| | | //仓库地点 |
| | | opeUseFlow.setHouseId(warehouseReserve.getWarehouseId()); |
| | | opeUseFlow.setContainerId(warehouseReserve.getContainerId()); |
| | |
| | | List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); |
| | | opeUseFlow.setOperateState(baseMetaList.get(0).getId()); |
| | | this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); |
| | | //更新试剂状态表 :批号 |
| | | opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber()); |
| | | |
| | | reagentCodes.remove(0); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | opeWarehouseReserve.setReserve(0); |
| | | opeWarehouseReserve.setWarehouseId(opeApply.getHouseId()); |
| | | opeWarehouseReserve.setContainerId(opeApply.getContainerId()); |
| | | opeWarehouseReserve.setUserId(loginUserId); |
| | | } |
| | | opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum()); |
| | | if (StringUtils.isBlank(opeWarehouseReserve.getId())) { |