From 160ae352de2d3d6cab01203ce2ae8b104b900afd Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 09 四月 2025 08:44:27 +0800 Subject: [PATCH] just refactor - rename --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java | 69 ++++++++++++++-------------------- 1 files changed, 28 insertions(+), 41 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java index db4bdd6..8a8db51 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java @@ -7,7 +7,6 @@ import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO; import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; -import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; import cn.lihu.jh.module.ecg.dal.mysql.call.CallMapper; import cn.lihu.jh.module.ecg.dal.mysql.checktype.CheckTypeMapper; @@ -98,10 +97,6 @@ return ROOM_INVALID_STATUS; } - List<Integer> queueStatusList = new ArrayList<>(); - queueStatusList.add(QueueStatusEnum.READY.getStatus()); - List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, queueStatusList); - RoomDO roomDO = roomMapper.getRoom(roomId, bedNo); // 鏂板..宸ヤ綅闃熷垪 @@ -109,8 +104,6 @@ bedBO.setRoomId(roomId); bedBO.setRoomName(roomName); bedBO.setBedNo(bedNo); - bedBO.setMaxReadyPatNum(getBedReadyMax(roomId, bedNo)); - bedBO.setReadyPatNum(new AtomicInteger(queueDOList.size())); bedBO.setStatus(BedStatusEnum.OPENING.getStatus()); bedBO.setCheckTypes( roomDO.getCheckTypes() ); bedBO.setOpType( roomDO.getOpType() ); @@ -154,7 +147,7 @@ } mapOpeningBed.remove( Utils.formatRoomBed(roomId, bedNo) ); - removeRoutingQueue(bedBO); + removeBedFromRoutingQueue(bedBO); return GlobalErrorCodeConstants.SUCCESS; } @@ -175,7 +168,7 @@ } bedBO.setStatus(BedStatusEnum.DOCTOR_PAUSE.getStatus()); - removeRoutingQueue(bedBO); + removeBedFromRoutingQueue(bedBO); return GlobalErrorCodeConstants.SUCCESS; } @@ -197,7 +190,7 @@ } bedBO.setStatus(BedStatusEnum.DOCTOR_ON.getStatus()); - addRoutingQueue(bedBO); + addBedToRoutingQueue(bedBO); return GlobalErrorCodeConstants.SUCCESS; } @@ -218,7 +211,7 @@ } bedBO.setStatus(BedStatusEnum.DOCTOR_ON.getStatus()); - addRoutingQueue(bedBO); + addBedToRoutingQueue(bedBO); return GlobalErrorCodeConstants.SUCCESS; } @@ -239,7 +232,7 @@ return ROOM_INVALID_STATUS; } - removeRoutingQueue(bedBO); + removeBedFromRoutingQueue(bedBO); bedBO.setStatus(BedStatusEnum.OPENING.getStatus()); return GlobalErrorCodeConstants.SUCCESS; @@ -281,7 +274,7 @@ BedBO bo = mapOpeningBed.get( Utils.formatRoomBed( roomId, bedNo ) ); bo.readyPatNum.getAndDecrement(); // 鍙兘宸茬粡銆愬苟鍙戠殑銆戝湪 hurry-up 涓敼鍙樹簡鍊� - refreshRoutingQueue(bo); + refreshBedPriorityLevelInRoutingQueue(bo); return GlobalErrorCodeConstants.SUCCESS; } @@ -334,22 +327,10 @@ List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList); List<BedBO> bedBOList = roomDOList.stream().map(item -> BeanUtils.toBean(item, BedBO.class)).toList(); - // 浠嶥B 鑾峰彇 闃熷垪涓� 銆愬�欒瘖涓�戜汉鍛樼粺璁� 鍒楄〃 - List<Integer> queueStatusList = new ArrayList<>(); - queueStatusList.add(QueueStatusEnum.READY.getStatus()); - List<QueueStatisticDO> queueStatisticDOList = queueMapper.queueStatistic(queueStatusList); - bedBOList.forEach(item -> { - item.setMaxReadyPatNum( getBedReadyMax(item.roomId, item.bedNo) ); - Optional<QueueStatisticDO> queueStatisticDOOptional = queueStatisticDOList.stream().filter(it->it.getRoomId()==item.roomId && it.getBedNo().equals(item.getBedNo())).findFirst(); - int queueNum = queueStatisticDOOptional.isPresent() ? queueStatisticDOOptional.get().getTotalInStatus() : 0; - if ( item.getMaxReadyPatNum() < queueNum ) - throw new RuntimeException("init: exceed max queue number!"); - - item.setReadyPatNum( new AtomicInteger(queueNum) ); mapOpeningBed.put( Utils.formatRoomBed(item.roomId, item.bedNo), item); if (BedStatusEnum.DOCTOR_ON.getStatus() == item.getStatus()) { - addRoutingQueue(item); + addBedToRoutingQueue(item); } }); @@ -417,7 +398,7 @@ bedBO.readyPatNum.incrementAndGet(); // 鍙兘宸茬粡銆愬苟鍙戠殑銆戝湪 nextPatient 涓敼鍙樹簡鍒嗘祦闃熷垪椤哄簭 - refreshRoutingQueue(bedBO); + refreshBedPriorityLevelInRoutingQueue(bedBO); } // 澶勭悊 鎺掗槦涓� 鎮h�� @@ -478,7 +459,7 @@ bedBO.readyPatNum.incrementAndGet(); // 鍙兘宸茬粡銆愬苟鍙戠殑銆戝湪 nextPatient 涓敼鍙樹簡鍒嗘祦闃熷垪椤哄簭 - refreshRoutingQueue(bedBO); + refreshBedPriorityLevelInRoutingQueue(bedBO); } } @@ -548,7 +529,7 @@ } // 鏀瑰彉浜嗗垎娴侀槦鍒楅『搴� - refreshRoutingQueue(bedBO); + refreshBedPriorityLevelInRoutingQueue(bedBO); } /** @@ -582,22 +563,28 @@ } } - private Integer getBedReadyMax(Long roomId, String bedNo) { - RoomDO roomDO = roomMapper.getRoom(roomId, bedNo); - Integer[] checkTypes = roomDO.getCheckTypes(); - Integer ret = 0; - for (int i=0; i<checkTypes.length; i++) { - CheckTypeDO checkTypeDO = mapCheckTypeVsReadyMax.get(checkTypes[i]); + private Integer getBedReadyMax(BedBO bedBO) { + Integer[] checkTypes = bedBO.getCheckTypes(); + int ret = 0; + for (Integer checkType : checkTypes) { + CheckTypeDO checkTypeDO = mapCheckTypeVsReadyMax.get(checkType); Integer tmp = checkTypeDO.getReadyNum(); ret = ret < tmp ? tmp : ret; //銆愬�欒瘖涓�戞暟閲� 鍙栧ぇ鍊� } return ret; } - private void addRoutingQueue(BedBO bedBO) { + private void addBedToRoutingQueue(BedBO bedBO) { // 瑁呮満宸ヤ綅 涓嶈繘 鍒嗘祦闃熷垪锛屼笉鎺ユ敹 銆愭帓闃熶腑銆戞偅鑰呭垎娴� - if (BedOpTypeEnum.OP_INSTALL.getOpType() == bedBO.getOpType()) + if (Objects.equals(BedOpTypeEnum.OP_INSTALL.getOpType(), bedBO.getOpType())) return; + + // 鍚屾DB, 璁剧疆宸ヤ綅鐨勫垎娴佹帶鍒朵俊鎭� + List<Integer> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.READY.getStatus()); //[鍊欒瘖涓璢 + List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(bedBO.getRoomId(), bedBO.getBedNo(), queueStatusList); + bedBO.setMaxReadyPatNum( getBedReadyMax(bedBO) ); + bedBO.setReadyPatNum(new AtomicInteger(queueDOList.size())); Integer[] checkTypes = bedBO.getCheckTypes(); Arrays.stream(checkTypes).forEach(checkType -> { @@ -616,9 +603,9 @@ }); } - private void removeRoutingQueue(BedBO bedBO) { + private void removeBedFromRoutingQueue(BedBO bedBO) { // 瑁呮満宸ヤ綅 涓嶈繘 鍒嗘祦闃熷垪锛屼笉鎺ユ敹 銆愭帓闃熶腑銆戞偅鑰呭垎娴� - if (BedOpTypeEnum.OP_INSTALL.getOpType() == bedBO.getOpType()) + if (Objects.equals(BedOpTypeEnum.OP_INSTALL.getOpType(), bedBO.getOpType())) return; Integer[] checkTypes = bedBO.getCheckTypes(); @@ -629,9 +616,9 @@ }); } - private void refreshRoutingQueue(BedBO bedBO) { + private void refreshBedPriorityLevelInRoutingQueue(BedBO bedBO) { // 瑁呮満宸ヤ綅 涓嶈繘 鍒嗘祦闃熷垪锛屼笉鎺ユ敹 銆愭帓闃熶腑銆戞偅鑰呭垎娴� - if (BedOpTypeEnum.OP_INSTALL.getOpType() == bedBO.getOpType()) + if (Objects.equals(BedOpTypeEnum.OP_INSTALL.getOpType(), bedBO.getOpType())) return; Integer[] checkTypes = bedBO.getCheckTypes(); -- Gitblit v1.9.3