| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.nanometer.smartlab.dao.OpeApplyDao; |
| | | import com.nanometer.smartlab.dao.OpeReagentStatusDao; |
| | | import com.nanometer.smartlab.dao.*; |
| | | import com.nanometer.smartlab.entity.*; |
| | | import com.nanometer.smartlab.entity.enumtype.ValidFlag; |
| | | import com.nanometer.smartlab.exception.AlarmCode; |
| | | import com.nanometer.smartlab.exception.AlarmException; |
| | | import com.nanometer.smartlab.util.FacesUtils; |
| | | import com.nanometer.smartlab.util.IDUtils; |
| | | |
| | | 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; |
| | |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.nanometer.smartlab.dao.BaseMetaDao; |
| | | import com.nanometer.smartlab.dao.OpeWarehouseReserveDao; |
| | | import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; |
| | | import com.nanometer.smartlab.entity.enumtype.OperateStatus; |
| | | import com.nanometer.smartlab.entity.enumtype.StoreType; |
| | |
| | | @Resource |
| | | private OpeReagentStatusService opeReagentStatusService; |
| | | |
| | | @Lazy |
| | | @Resource |
| | | private OpeUseFlowService opeUseFlowService; |
| | | |
| | |
| | | @Resource |
| | | private OpeLaboratoryReserveService opeLaboratoryReserveService; |
| | | |
| | | @Resource |
| | | private OpeLaboratoryReserveDao opeLaboratoryReserveDao; |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String supplierId, Integer first, |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, Long supplierId, Integer first, |
| | | Integer pageSize) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public int getOpeWarehouseReserveTotalCount(String reagentId, String supplierId) { |
| | | public int getOpeWarehouseReserveTotalCount(Long reagentId, Long supplierId) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentId", reagentId); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentName, Long supplierId, Integer first, |
| | | Integer pageSize,String productSn,String warehouseName) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentName", reagentId); |
| | | params.put("reagentName", reagentName); |
| | | params.put("supplierId", supplierId); |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName) { |
| | | public int getOpeWarehouseReserveTotalCountByName(String reagentName, Long supplierId,String productSn,String warehouseName) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentName", reagentId); |
| | | params.put("reagentName", reagentName); |
| | | params.put("supplierId", supplierId); |
| | | params.put("productSn", productSn); |
| | | params.put("warehouseName", warehouseName); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public OpeWarehouseReserve getOpeWarehouseReserveBy(String reagentId, String articleNumber){ |
| | | public OpeWarehouseReserve getOpeWarehouseReserveBy(Long reagentId, String articleNumber){ |
| | | OpeWarehouseReserve ope=new OpeWarehouseReserve(); |
| | | ope.setReagentId(reagentId); |
| | | ope.setArticleNumber(articleNumber); |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public OpeWarehouseReserve getOpeWarehouseReserve(String reagentId, String articleNumber) { |
| | | public OpeWarehouseReserve getOpeWarehouseReserve(Long reagentId, String articleNumber) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentId", reagentId); |
| | |
| | | } |
| | | } |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public OpeWarehouseReserve getOpeWarehouseReserve2(String reagentId, String articleNumber,String warehouseId) { |
| | | public OpeWarehouseReserve getOpeWarehouseReserve2(Long reagentId, String articleNumber,Long warehouseId) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("reagentId", reagentId); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String articleNumber,String warehouseId) { |
| | | Map<String, String> params = new HashMap<>(); |
| | | public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, String articleNumber,Long warehouseId) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("reagentId", reagentId); |
| | | params.put("warehouseId", warehouseId); |
| | | params.put("articleNumber", articleNumber); |
| | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public OpeWarehouseReserve insertOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) { |
| | | try { |
| | | if (opeWarehouseReserve.getId() == null) { |
| | | opeWarehouseReserve.setId(IDUtils.uuid()); |
| | | } |
| | | // if (opeWarehouseReserve.getId() == null) { |
| | | // opeWarehouseReserve.setId(IDUtils.uuid()); |
| | | // } |
| | | this.opeWarehouseReserveDao.insertOpeWarehouseReserve(opeWarehouseReserve); |
| | | return opeWarehouseReserve; |
| | | } catch (DuplicateKeyException ex) { |
| | |
| | | } |
| | | } |
| | | |
| | | @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,Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber){ |
| | | try{ |
| | | for(OpeApplyReserve app:selectedListForPerson){ |
| | | List<String> reagentCodes = app.getReagentCode(); |
| | | List<String> reagentCodes = app.getReagentCodes(); |
| | | 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,projectId,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) { |
| | | try { |
| | | for (OpeWarehouseReserve opeWarehouseReserve : selectedList) { |
| | | List<String> reagentCodes = opeWarehouseReserve.getReagentCodes(); |
| | | if (reagentCodes != null && reagentCodes.size() > 0) { |
| | | for (String opeReagentStatusId : reagentCodes) { |
| | | OpeReagentStatus opeReagentStatus = this.opeReagentStatusService |
| | | .getOpeReagentStatus(opeReagentStatusId); |
| | | opeReagentStatus.setUserId(userId); |
| | | opeReagentStatus.setProjectNum(projectNum); |
| | | //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); |
| | | this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); |
| | | //if (flag) { |
| | | //opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() - 1); |
| | | //opeWarehouseReserve.setSelectNum(0); |
| | | //} |
| | | @Transactional(propagation = Propagation.REQUIRED,rollbackFor = RuntimeException.class) |
| | | public void claim(List<OpeWarehouseReserve> selectedList, Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber) { |
| | | for (OpeWarehouseReserve opeWarehouseReserve : selectedList) { |
| | | List<OpeLaboratoryReserve>lrList=new ArrayList<>(); |
| | | List<Long> reagentStatusIds=new ArrayList<>(); |
| | | List<String> reagentCodes = opeWarehouseReserve.getReagentCodes(); |
| | | List<OpeUseFlow> opeUseFlowList=new ArrayList<>(); |
| | | if (reagentCodes != null && !reagentCodes.isEmpty()) { |
| | | for (String reagentCode : reagentCodes) { |
| | | OpeReagentStatus opeReagentStatus = this.opeReagentStatusService |
| | | .getOpeReagentStatusByCode(reagentCode); |
| | | if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) { |
| | | throw new BusinessException(ExceptionEnumCode.SYS_ERR,"只能申领在仓库的试剂"); |
| | | } |
| | | |
| | | opeReagentStatus.setUserId(userId); |
| | | opeReagentStatus.setProjectId(projectId); |
| | | // this.opeReagentStatusService.updateReagentStatus(opeReagentStatus,receiptNumber); |
| | | reagentStatusIds.add(opeReagentStatus.getId()); |
| | | OpeLaboratoryReserve lr = new OpeLaboratoryReserve(); |
| | | lr.setReagentId(opeWarehouseReserve.getReagentId()); |
| | | lr.setHouseId(laboratoryId); |
| | | lr.setContainerId(laboratoryContainerId); |
| | | lr.setReserve(opeWarehouseReserve.getSelectNum()); |
| | | lr.setUserId(userId); |
| | | lr.setValidFlag(ValidFlag.VALID); |
| | | lrList.add(lr); |
| | | |
| | | OpeUseFlow opeUseFlow = new OpeUseFlow(); |
| | | opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode()); |
| | | opeUseFlow.setStatus(opeReagentStatus.getStatus()); |
| | | opeUseFlow.setHouseId(opeReagentStatus.getHouseId()); |
| | | opeUseFlow.setContainerId(opeReagentStatus.getContainerId()); |
| | | opeUseFlow.setUserId(opeReagentStatus.getUserId()); |
| | | opeUseFlow.setPlace(opeReagentStatus.getPlace()); |
| | | opeUseFlow.setRemainder(opeReagentStatus.getRemainder()); |
| | | opeUseFlow.setReceiptNumber(receiptNumber); |
| | | opeUseFlow.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); |
| | | opeUseFlowList.add(opeUseFlow); |
| | | } |
| | | opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum()); |
| | | opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); |
| | | } |
| | | } 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); |
| | | if(reagentStatusIds.size()>0){ |
| | | this.opeReagentStatusDao.batchUpdateReagentStatusByIds(reagentStatusIds,laboratoryId,laboratoryContainerId,ArrivalStatus.NOREGISTER.getKey()); |
| | | } |
| | | if(lrList.size()>0){ |
| | | this.opeLaboratoryReserveDao.batchInsert(lrList); |
| | | } |
| | | if(opeUseFlowList.size()>0){ |
| | | this.opeUseFlowService.batchInsertOpeUseFlow(opeUseFlowList); |
| | | } |
| | | opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum()); |
| | | opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); |
| | | } |
| | | |
| | | } |
| | | |
| | | public void reagentDStore2(List<OpeApply> reagentDStoreList, String loginUserId){ |
| | | public void reagentDStore2(List<OpeApply> reagentDStoreList, Long loginUserId){ |
| | | if (reagentDStoreList == null) { |
| | | return; |
| | | } |
| | |
| | | //opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | |
| | | opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | | //opeReagentStatus.setPlace(opeApply.getPlaceId()); |
| | | //opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0)); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); |
| | | |
| | | // 试剂使用情况入库insert |
| | |
| | | opeUseFlow.setUserId(opeReagentStatus.getUserId()); |
| | | opeUseFlow.setPlace(opeReagentStatus.getPlace()); |
| | | opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | Map<String, String> metaMap = new HashMap<>(); |
| | | metaMap.put("groupId", "operate_status"); |
| | | metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); |
| | | List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); |
| | | opeUseFlow.setOperateState(baseMetaList.get(0).getId()); |
| | | opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); |
| | | this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); |
| | | // 试剂使用情况领用insert |
| | | OpeUseFlow ouf=new OpeUseFlow(); |
| | |
| | | ouf.setUserId(opeReagentStatus.getUserId()); |
| | | ouf.setPlace(opeReagentStatus.getPlace()); |
| | | ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | 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); |
| | | ouf.setOperateState(baseMetaList2.get(0).getId()); |
| | | ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); |
| | | this.opeUseFlowService.insertOpeUseFlow(ouf); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public void reagentDStore4(List<OpeApply> reagentDStoreList, String loginUserId){ |
| | | public void reagentDStore4(List<OpeApply> reagentDStoreList, Long loginUserId,String receiptNumber){ |
| | | if (reagentDStoreList == null) { |
| | | return; |
| | | } |
| | |
| | | //opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | |
| | | opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | | //opeReagentStatus.setPlace(opeApply.getPlaceId()); |
| | | //opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0)); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); |
| | | |
| | | |
| | |
| | | ouf.setUserId(opeReagentStatus.getUserId()); |
| | | ouf.setPlace(opeReagentStatus.getPlace()); |
| | | ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | 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); |
| | | ouf.setOperateState(baseMetaList2.get(0).getId()); |
| | | ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); |
| | | ouf.setReceiptNumber(receiptNumber); |
| | | this.opeUseFlowService.insertOpeUseFlow(ouf); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | public void reagentDStore3(List<OpeApply> reagentDStoreList, String loginUserId){ |
| | | public void reagentDStore3(List<OpeApply> reagentDStoreList, Long loginUserId){ |
| | | if (reagentDStoreList == null) { |
| | | return; |
| | | } |
| | |
| | | opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); |
| | | opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); |
| | | |
| | | |
| | |
| | | ouf.setUserId(opeReagentStatus.getUserId()); |
| | | ouf.setPlace(opeReagentStatus.getPlace()); |
| | | ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE); |
| | | ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | 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); |
| | | ouf.setOperateState(baseMetaList2.get(0).getId()); |
| | | ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); |
| | | this.opeUseFlowService.insertOpeUseFlow(ouf); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | @Override |
| | | public List<OpeWarehouseReserve> selectByReId(String id) { |
| | | public List<OpeWarehouseReserve> selectByReId(Long id) { |
| | | return this.opeWarehouseReserveDao.selectByReId(id); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByReId(String newReId, String oldReId) { |
| | | public void updateByReId(Long newReId, Long oldReId) { |
| | | Map<String, Object> params=new HashMap(); |
| | | params.put("newReId",newReId); |
| | | params.put("oldReId",oldReId); |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) { |
| | | public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,Long consigneeId) { |
| | | |
| | | OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId()); |
| | | if (ope == null) { |
| | |
| | | ope.setApplyCode(opeApplyReserve.getApplyCode()); |
| | | //批号 |
| | | ope.setArticleNumber(opeApplyReserve.getArticleNumber()); |
| | | ope.setId(IDUtils.uuid()); |
| | | //ope.setId(IDUtils.uuid()); |
| | | //新增收货人 保存在仓库库存表 |
| | | ope.setUserId(consigneeId); |
| | | opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(String id,String articleNumber,boolean flag) { |
| | | Map<String, String> params = new HashMap<>(); |
| | | public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(Long id,String articleNumber,boolean flag) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("reagentId", id); |
| | | params.put("articleNumber", articleNumber); |
| | | List<OpeWarehouseReserve> reserveList = opeWarehouseReserveDao.selectWarehouseByReagentIdAndArticleNumber(params); |
| | |
| | | /** |
| | | * 补贴扣库存去除有条码的数据 |
| | | */ |
| | | public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(String id,String articleNumber,String warehouseId) { |
| | | Map<String, String> params = new HashMap<>(); |
| | | public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(Long id,String articleNumber,Long warehouseId) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("reagentId", id); |
| | | params.put("articleNumber", articleNumber); |
| | | params.put("warehouseId", warehouseId); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void updateBtReserve(String id, Integer useNum) { |
| | | public void updateBtReserve(Long id, Integer useNum) { |
| | | opeWarehouseReserveDao.updateBtReserve(id, useNum); |
| | | } |
| | | |
| | | @Override |
| | | @Override |
| | | public int countByReagentId(Long id) { |
| | | int num = 0; |
| | | if (opeWarehouseReserveDao.countByReagentId(id) != null) { |
| | | num = opeWarehouseReserveDao.countByReagentId(id); |
| | | } |
| | | return num; |
| | | } |
| | | |
| | | @Override |
| | | public OpeWarehouseReserve getRowData(Long rowKey) { |
| | | return opeWarehouseReserveDao.getRowData(rowKey); |
| | | } |
| | | |
| | | @Override |
| | | public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) { |
| | | if (opeList.size() < 1) { |
| | | return; |
| | | } |
| | | for (OpeApplyReserve oar : opeList) { |
| | | String reagentId = oar.getReagent().getId(); |
| | | List<String> reagentCodes = new ArrayList<>(oar.getReagentCode()); |
| | | Long reagentId = oar.getReagent().getId(); |
| | | List<String> reagentCodes = new ArrayList<>(oar.getReagentCodes()); |
| | | //开始库存扣除 |
| | | List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList(); |
| | | for (OpeWarehouseReserve owr : cacheUpdateList) { |
| | |
| | | // 试剂使用情况入库insert TODO 流向需要当时的时间和地点 |
| | | OpeUseFlow opeUseFlow = new OpeUseFlow(); |
| | | opeUseFlow.setReagentCode(reagentCodes.get(0)); |
| | | opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE); |
| | | opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE.getKey()); |
| | | opeUseFlow.setUserId(warehouseReserve.getUserId()); |
| | | //仓库地点 |
| | | opeUseFlow.setHouseId(warehouseReserve.getWarehouseId()); |
| | |
| | | opeUseFlow.setRemainder(oar.getReagent().getMainMetering()!=null?oar.getReagent().getMainMetering():new BigDecimal(0)); |
| | | //入库时间 |
| | | opeUseFlow.setCreateTime(warehouseReserve.getUpdateTime()); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | Map<String, String> metaMap = new HashMap<>(); |
| | | metaMap.put("groupId", "operate_status"); |
| | | metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); |
| | | List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); |
| | | opeUseFlow.setOperateState(baseMetaList.get(0).getId()); |
| | | opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); |
| | | this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); |
| | | //更新试剂状态表 :批号 |
| | | opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber()); |
| | | |
| | | reagentCodes.remove(0); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public void reagentDStore(List<OpeApply> reagentDStoreList, String loginUserId) { |
| | | public void reagentDStore(List<OpeApply> reagentDStoreList, Long loginUserId) { |
| | | |
| | | if (reagentDStoreList == null) { |
| | | return; |
| | |
| | | opeReagentStatus.setReagentId(opeApply.getReagent().getId()); |
| | | opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); |
| | | opeReagentStatus.setReagentCode(reagentCode); |
| | | opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE); |
| | | opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE.getKey()); |
| | | opeReagentStatus.setHouseId(opeApply.getHouseId()); |
| | | opeReagentStatus.setContainerId(opeApply.getContainerId()); |
| | | opeReagentStatus.setUserId(loginUserId); |
| | | opeReagentStatus.setPlace(opeApply.getPlaceId()); |
| | | opeReagentStatus.setPlace(opeApply.getPlace()); |
| | | opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0)); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); |
| | | opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); |
| | | |
| | | // 试剂使用情况insert |
| | |
| | | opeUseFlow.setUserId(opeReagentStatus.getUserId()); |
| | | opeUseFlow.setPlace(opeReagentStatus.getPlace()); |
| | | opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0)); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE); |
| | | opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); |
| | | |
| | | Map<String, String> metaMap = new HashMap<>(); |
| | | metaMap.put("groupId", "operate_status"); |
| | | metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); |
| | | List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); |
| | | opeUseFlow.setOperateState(baseMetaList.get(0).getId()); |
| | | opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); |
| | | |
| | | |
| | | this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); |
| | |
| | | opeWarehouseReserve.setUserId(loginUserId); |
| | | } |
| | | opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum()); |
| | | if (StringUtils.isBlank(opeWarehouseReserve.getId())) { |
| | | if (opeWarehouseReserve.getId()!=null) { |
| | | this.insertOpeWarehouseReserve(opeWarehouseReserve); |
| | | } else { |
| | | this.updateOpeWarehouseReserve(opeWarehouseReserve); |