jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java
@@ -19,8 +19,8 @@ PASSED(5, "已过号"), PASSED_INSTALL(7, "已过号-安装"), WAITING(10, "排队中"), AFFINITY_WAITING(12, "已亲和-排队中"), AFFINITY_RECEIVED(13, "已亲和-已领用"), AFFINITY(12, "亲和"), AFFINITY_INSTALL(13, "亲和-安装"), RECALLED(15, "已召回"), RECALLED_INSTALL(17, "已召回-安装"), READY(20, "候诊中"), jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -3,13 +3,11 @@ 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.appointment.AppointmentDO; 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.patient.PatDetails; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper; import cn.lihu.jh.module.ecg.dal.mysql.checktype.CheckTypeMapper; import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DeviceMapper; import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper; @@ -18,21 +16,16 @@ import cn.lihu.jh.module.ecg.enums.DevStateEnum; import cn.lihu.jh.module.ecg.enums.QueueStatusEnum; import cn.lihu.jh.module.ecg.feign.*; import cn.lihu.jh.module.ecg.feign.dto.AppointmentExternal; import cn.lihu.jh.module.ecg.service.queue.QueueServiceTxFunctions; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.io.Console; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO; @@ -44,7 +37,6 @@ import javax.annotation.Resource; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static cn.lihu.jh.framework.common.util.date.DateUtils.getCurTimeString; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; @@ -838,7 +830,7 @@ private void procAffinityWhenRoutineFinish(String patId, Integer[] affinityCheckTypes) { // 如果存在 [亲和-排队] 亲和项,则选择 其中一个亲和项 接替其 处于 [就诊中] List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus( patId, affinityCheckTypes, QueueStatusEnum.AFFINITY_WAITING.getStatus()); patId, affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); if (!affinityAffinityWaitingItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); @@ -857,14 +849,14 @@ QueueStatusEnum.RECALLED_INSTALL.getStatus())); if (!affinityInstallingItems.isEmpty()) { QueueDO affinityInstallingItem = affinityInstallingItems.get(0); bedOnStageQueueItem.setStatus(QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); // 亲和-领用 bedOnStageQueueItem.setStatus(QueueStatusEnum.AFFINITY_INSTALL.getStatus()); // 亲和-领用 bedOnStageQueueItem.setRoomId( affinityInstallingItem.getRoomId() ); bedOnStageQueueItem.setBedNo( affinityInstallingItem.getBedNo() ); // 领用 到 安装 可能会在不同工位 } // 如果存在 [亲和-排队] 亲和项,则选择 其中一个亲和项 接替其 处于 [就诊中] List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus( bedOnStageQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_WAITING.getStatus()); bedOnStageQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); if (!affinityAffinityWaitingItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); @@ -875,7 +867,7 @@ // 如果存在 [亲和-领用] 亲和项,则选择 其中一个亲和项 接替其 处于 [安装中] private void procAffinityWhenInstallFinish(QueueDO bedInstallingQueueItem, Integer[] affinityCheckTypes) { List<QueueDO> affinityAffinityReceivedItems = queueMapper.getCurPatGivenCheckTypesAndStatus( bedInstallingQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); bedInstallingQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_INSTALL.getStatus()); if (!affinityAffinityReceivedItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityReceivedItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.INSTALLING.getStatus()); jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -596,7 +596,7 @@ queueStatusList.add(QueueStatusEnum.READY.getStatus()); queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); queueStatusList.add(QueueStatusEnum.AFFINITY_WAITING.getStatus()); queueStatusList.add(QueueStatusEnum.AFFINITY.getStatus()); List<QueueDO> queueDOList = getBedQueueByStatus(roomId, bedNo, queueStatusList); //把 [亲和的] 挪到主项后面 @@ -604,7 +604,7 @@ ListIterator<QueueDO> iterator = queueDOList.listIterator(); while (iterator.hasNext()) { QueueDO item = iterator.next(); if (item.getStatus() == QueueStatusEnum.AFFINITY_WAITING.getStatus()) { if (item.getStatus() == QueueStatusEnum.AFFINITY.getStatus()) { iterator.remove(); affinityWaitingList.add(item); } @@ -626,7 +626,7 @@ List<Integer> queueStatusList = new ArrayList<>(); queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus()); queueStatusList.add(QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); queueStatusList.add(QueueStatusEnum.AFFINITY_INSTALL.getStatus()); List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList); queueStatusList.clear(); @@ -639,7 +639,7 @@ ListIterator<QueueDO> iterator = queueDOList.listIterator(); while (iterator.hasNext()) { QueueDO item = iterator.next(); if (item.getStatus() == QueueStatusEnum.AFFINITY_RECEIVED.getStatus()) { if (item.getStatus() == QueueStatusEnum.AFFINITY_INSTALL.getStatus()) { iterator.remove(); affinityReceivedList.add(item); } @@ -669,7 +669,7 @@ */ private void procAffinityWhenInstallRecall(String patId, Integer[] affinityCheckTypes, Long roomId_operator, String bedNo_operator) { List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatus( patId, affinityCheckTypes, QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); patId, affinityCheckTypes, QueueStatusEnum.AFFINITY_INSTALL.getStatus()); for (int i = 0; i < affinityItems.size(); i++) { QueueDO queueItem = affinityItems.get(i); queueItem.setRoomId( roomId_operator ); @@ -690,7 +690,7 @@ QueueStatusEnum.PASSED.getStatus(), QueueStatusEnum.RECALLED.getStatus())); if (!affinityItems.isEmpty()) { QueueDO queueItem = affinityItems.get(0); queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); // [亲和-排队] 状态 queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY.getStatus()); // [亲和-排队] 状态 queueSaveReqVO.setAffinityItem( 1 ); queueSaveReqVO.setRoomId(queueItem.getRoomId()); queueSaveReqVO.setRoomName(queueItem.getRoomName()); jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
@@ -556,7 +556,7 @@ preemptQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.WAITING.getStatus()); for (int i = 0; i < affinityItems.size(); i++) { QueueDO queueItem = affinityItems.get(i); queueItem.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); //改变 排队状态 queueItem.setStatus(QueueStatusEnum.AFFINITY.getStatus()); //改变 排队状态 queueItem.setAffinityItem( 1 ); queueItem.setRoomId(preemptQueueItem.getRoomId()); queueItem.setRoomName(preemptQueueItem.getRoomName()); @@ -568,7 +568,7 @@ private void procAffinityWhenRecalled(QueueDO recalledQueueItem, Integer[] affinityCheckTypes) { List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatus( recalledQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_WAITING.getStatus()); recalledQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); for (int i = 0; i < affinityItems.size(); i++) { QueueDO queueItem = affinityItems.get(i); queueItem.setSeqNum( recalledQueueItem.getSeqNum() ); // 召回后,原内部序号更新 @@ -637,7 +637,7 @@ patId, affinityCheckTypes, QueueStatusEnum.RECEIVED.getStatus()); for (int i = 0; i < affinityItems.size(); i++) { QueueDO queueItem = affinityItems.get(i); queueItem.setStatus(QueueStatusEnum.AFFINITY_RECEIVED.getStatus()); //改变 排队状态 queueItem.setStatus(QueueStatusEnum.AFFINITY_INSTALL.getStatus()); //改变 排队状态 queueItem.setRoomId(roomId_operator); queueItem.setBedNo(bedNo_operator); // 跟随到 装机 工位 queueMapper.updateById(queueItem);