| | |
| | | import cn.lihu.jh.framework.common.pojo.CommonResult; |
| | | import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; |
| | | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordSaveReqVO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; |
| | | import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DeviceMapper; |
| | | import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper; |
| | | import cn.lihu.jh.module.ecg.dal.mysql.queue.QueueMapper; |
| | | import cn.lihu.jh.module.ecg.enums.DevRentStateEnum; |
| | | import cn.lihu.jh.module.ecg.enums.DevStateEnum; |
| | | import cn.lihu.jh.module.ecg.enums.QueueStatusEnum; |
| | | import cn.lihu.jh.module.ecg.service.queue.QueueServiceTxFunctions; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | @Service |
| | | @Validated |
| | | public class DevRentServiceImpl implements DevRentService { |
| | | |
| | | @Resource |
| | | QueueServiceTxFunctions queueServiceTxFunctions; |
| | | |
| | | @Resource |
| | | private DevRentMapper devRentMapper; |
| | |
| | | jobTypeList.add( DevRentStateEnum.ROUTINE_CANCELLED.getState()); |
| | | JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); |
| | | if (devRentDOList.size() == 0) |
| | | throw exception(DEV_INSTALL_NOT_APPOINTMENT); |
| | | else if (devRentDOList.size() != 1) { |
| | |
| | | jobRecordSaveReqVO.setJobType( DevRentStateEnum.ROUTINE_FINISH.getState() ); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | } |
| | | |
| | | // 更新..队列状态 |
| | | queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | //queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | QueueDO firstOnStageQueueItem = queueMapper.getFirstItemByBedAndStatus(createReqVO.getRoomId(), |
| | | createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus()); |
| | | // QueueStatusEnum.ONSTAGE => QueueStatusEnum.FINISH |
| | | firstOnStageQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus()); // 默认状态 设置 |
| | | queueMapper.updateById( firstOnStageQueueItem ); |
| | | |
| | | // 检查项目.亲和性 处理逻辑 |
| | | CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( firstOnStageQueueItem.getBookCheckType() ); |
| | | if (checkTypeDO.getAffinityCheckTypes().length > 0) { |
| | | List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.AFFINITY_WAITING.getStatus()); |
| | | if (!affinityAffinityWaitingItems.isEmpty()) { |
| | | QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); |
| | | tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | queueMapper.updateById(tmpQueueDO); |
| | | } |
| | | } |
| | | |
| | | return CommonResult.success(rent_id); |
| | | } |
| | |
| | | jobTypeList.add( DevRentStateEnum.READY_CANCELLED.getState()); |
| | | JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); |
| | | if (devRentDOList.size() == 0) |
| | | throw exception(DEV_INSTALL_NOT_APPOINTMENT); |
| | | else if (devRentDOList.size() != 1) { |
| | |
| | | jobRecordSaveReqVO.setJobType( DevRentStateEnum.READY.getState() ); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | } |
| | | |
| | | // 更新..队列状态 |
| | | queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | //queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | |
| | | QueueDO firstOnStageQueueItem = queueMapper.getFirstItemByBedAndStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus()); |
| | | CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( firstOnStageQueueItem.getBookCheckType() ); |
| | | |
| | | // QueueStatusEnum.ONSTAGE => QueueStatusEnum.RECEIVED |
| | | firstOnStageQueueItem.setStatus(QueueStatusEnum.RECEIVED.getStatus()); // 默认状态 设置 |
| | | // 检查项目.亲和性 处理逻辑 |
| | | if (checkTypeDO.getAffinityCheckTypes().length > 0) { |
| | | List<QueueDO> affinityInstallingItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.INSTALLING.getStatus()); |
| | | if (!affinityInstallingItems.isEmpty()) { |
| | | firstOnStageQueueItem.setStatus(QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); |
| | | } |
| | | } |
| | | queueMapper.updateById( firstOnStageQueueItem ); |
| | | |
| | | // 检查项目.亲和性 处理逻辑 |
| | | if (checkTypeDO.getAffinityCheckTypes().length > 0) { |
| | | List<QueueDO> affinityReadyItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.READY.getStatus()); |
| | | if (!affinityReadyItems.isEmpty()) { |
| | | QueueDO tmpQueueDO = affinityReadyItems.get(0); |
| | | tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | queueMapper.updateById(tmpQueueDO); |
| | | } else { |
| | | List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.AFFINITY_WAITING.getStatus()); |
| | | if (!affinityAffinityWaitingItems.isEmpty()) { |
| | | QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); |
| | | tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | queueMapper.updateById(tmpQueueDO); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return CommonResult.success(rent_id); |
| | | } |
| | |
| | | |
| | | // 第一次 安装操作 |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.READY.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.READY.getState()); |
| | | if (devRentDOList.size() == 0) |
| | | throw exception(DEV_INSTALL_NOT_RECEIVED); |
| | | else if (devRentDOList.size() != 1) { |
| | |
| | | jobRecordSaveReqVO.setJobType( DevRentStateEnum.INSTALLED.getState() ); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | } |
| | | |
| | | // 更新..队列状态 |
| | | queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | //queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | // QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | QueueDO firstInstallingQueueItem = queueMapper.getFirstItemByBedAndStatus(createReqVO.getRoomId(), |
| | | createReqVO.getBedNo(), QueueStatusEnum.INSTALLING.getStatus()); |
| | | // QueueStatusEnum.INSTALLING => QueueStatusEnum.FINISH |
| | | firstInstallingQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus()); // 默认状态 设置 |
| | | queueMapper.updateById( firstInstallingQueueItem ); |
| | | |
| | | // 检查项目.亲和性 处理逻辑 |
| | | CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( firstInstallingQueueItem.getBookCheckType() ); |
| | | if (checkTypeDO.getAffinityCheckTypes().length > 0) { |
| | | List<QueueDO> affinityAffinityReceivedItems = queueMapper.getCurPatGivenCheckTypesAndStatus(firstInstallingQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes(), QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); |
| | | if (!affinityAffinityReceivedItems.isEmpty()) { |
| | | QueueDO tmpQueueDO = affinityAffinityReceivedItems.get(0); |
| | | tmpQueueDO.setStatus(QueueStatusEnum.INSTALLING.getStatus()); |
| | | queueMapper.updateById(tmpQueueDO); |
| | | } |
| | | } |
| | | |
| | | return CommonResult.success(rent_id); |
| | | } |
| | |
| | | jobRecordSaveReqVO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); |
| | | jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); |
| | | jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); |
| | | jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | | } else { |
| | |
| | | jobRecordSaveReqVO.setJobType( DevRentStateEnum.DATAENTERED.getState() ); |
| | | jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); |
| | | jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); |
| | | jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | | } else { |
| | |
| | | jobTypeList.add( DevRentStateEnum.ROUTINE_CANCELLED.getState()); |
| | | JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); |
| | | if (devRentDOList.size() != 1) |
| | | throw exception(ROUTINE_CHECK_EXIST); |
| | | |
| | |
| | | jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | jobTypeList.add( DevRentStateEnum.READY_CANCELLED.getState()); |
| | | JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); |
| | | if (devRentDOList.size() != 1) |
| | | throw exception(DEV_INSTALL_EXIST); |
| | | |
| | |
| | | jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | jobTypeList.add( DevRentStateEnum.INSTALL_CANCELLED.getState()); |
| | | JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); |
| | | if (null == jobRecordDO) { |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.READY.getState()); |
| | | List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.READY.getState()); |
| | | if (devRentDOList.size() != 1) |
| | | throw exception(DEV_INSTALL_EXIST); |
| | | |
| | |
| | | jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); |
| | | jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); |
| | | jobRecordSaveReqVO.setSummary(""); |
| | | jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); |
| | | |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | |
| | | jobRecordSaveReqVO.setJobType( devRentStateEnum.getState() ); |
| | | jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); |
| | | jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); |
| | | jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); |
| | | JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); |
| | | jobRecordMapper.insert(jobRecord); |
| | | } else { |