jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -17,6 +17,9 @@ ErrorCode APPOINTMENT_EXIST_TODAY = new ErrorCode(1_010_001_020, "å½å¤©é¢çº¦å·²åå¨"); ErrorCode APPOINTMENT_HAVE_QUEUED = new ErrorCode(1_010_001_030, "æ¨å·²ç»å¨æéä¸äº"); ErrorCode APPOINTMENT_NOT_BILLING = new ErrorCode(1_010_001_040, "æ¥è¯¢ä¸å°å¼åä¿¡æ¯"); ErrorCode APPOINTMENT_CREATE_FAIL = new ErrorCode(1_010_001_050, "ç³è¯·åå建失败"); ErrorCode APPOINTMENT_UPDATE_FAIL = new ErrorCode(1_010_001_060, "ç³è¯·åæ´æ°å¤±è´¥"); ErrorCode APPOINTMENT_STATUS_UPDATE_FAIL = new ErrorCode(1_010_001_070, "ç³è¯·åç¶ææ´æ°"); ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_002_000, "è¯å®¤åè¯çåºä¸åå¨"); ErrorCode ROOM_NOT_SIT = new ErrorCode(1_010_002_001, "è¯·éæ°å°±åº§"); jh-module-ecg/jh-module-ecg-biz/pom.xml
@@ -146,6 +146,35 @@ <scope>test</scope> </dependency> <!-- WebServiceç¸å ³ä¾èµ --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.5.5</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.5.5</version> </dependency> <dependency> <groupId>javax.xml.ws</groupId> <artifactId>jaxws-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>javax.jws</groupId> <artifactId>javax.jws-api</artifactId> <version>1.1</version> </dependency> <!-- Spring Boot é ç½®å¤çå¨ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> </dependencies> </project> jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/vo/AppointmentSaveReqVO.java
@@ -1,6 +1,7 @@ package cn.lihu.jh.module.ecg.controller.admin.appointment.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -21,6 +22,11 @@ @Schema(description = "å°±è¯æµæ°´å·", example = "2024546") //@NotEmpty(message = "å°±è¯æµæ°´å·") private String episodeId; /** * æ£è æ¥æºç±»å 01é®è¯ 02æ¥è¯ 03使£ 04ä½é¢ */ private Integer patSrc; @Schema(description = "æ£è ç¼å·", requiredMode = Schema.RequiredMode.REQUIRED, example = "29034") @NotEmpty(message = "æ£è ç¼å·ä¸è½ä¸ºç©º") @@ -82,4 +88,7 @@ @Schema(description = "已仿¬¾") private Integer paid; @TableField(exist = false) private String status; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -1,8 +1,10 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent; import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; import cn.lihu.jh.module.ecg.enums.DevStateEnum; import cn.lihu.jh.module.ecg.service.appointment.AppointmentService; import cn.lihu.jh.module.ecg.service.devmanage.DeviceService; import cn.lihu.jh.module.ecg.service.queue.QueueService; import lombok.extern.slf4j.Slf4j; @@ -24,6 +26,7 @@ import cn.lihu.jh.framework.excel.core.util.ExcelUtils; import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; @@ -49,6 +52,9 @@ @Resource private QueueService queueService; @Resource private AppointmentService appointmentService; // å¸¸è§æ£æ¥ 宿 @PostMapping("/routine-finish") @@ -135,7 +141,7 @@ @Operation(summary = "é失") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devLose(@Valid @RequestBody DevRentSaveReqVO loseReqVO) { loseReqVO.setState( DevStateEnum.LOST.getState() ); loseReqVO.setState(DevStateEnum.LOST.getState()); return devRentService.dismantleExceptionOperation(loseReqVO); } @@ -143,7 +149,7 @@ @Operation(summary = "æå") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devDamage(@Valid @RequestBody DevRentSaveReqVO damageReqVO) { damageReqVO.setState( DevStateEnum.DAMAGED.getState() ); damageReqVO.setState(DevStateEnum.DAMAGED.getState()); return devRentService.dismantleExceptionOperation(damageReqVO); } @@ -180,7 +186,7 @@ DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); DeviceDO deviceDO = deviceService.getDevice(devRent.getDevId()); if (null != deviceDO) { devRentRespVO.setCategory(deviceDO.getCategory()); devRentRespVO.setBrand(deviceDO.getBrand()); @@ -202,21 +208,18 @@ @Operation(summary = "导åºè£ æºææº Excel") @PreAuthorize("@ss.hasPermission('ecg:dev-rent:export')") @ApiAccessLog(operateType = EXPORT) public void exportDevRentExcel(@Valid DevRentPageReqVO pageReqVO, HttpServletResponse response) throws IOException { public void exportDevRentExcel(@Valid DevRentPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List<DevRentDO> list = devRentService.getDevRentPage(pageReqVO).getList(); // å¯¼åº Excel ExcelUtils.write(response, "è£ æºææº.xls", "æ°æ®", DevRentRespVO.class, BeanUtils.toBean(list, DevRentRespVO.class)); ExcelUtils.write(response, "è£ æºææº.xls", "æ°æ®", DevRentRespVO.class, BeanUtils.toBean(list, DevRentRespVO.class)); } @GetMapping("/get-free-rent") @Operation(summary = "æ ¹æ®æ£è æè®¾å¤, è·åå·²é¢åç§èµæ åµ") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getFreeRent( @Valid DevRentSearchReqVO searchReqVO ) { DevRentDO devRent = devRentService.getFreeRent( searchReqVO ); public CommonResult<DevRentRespVO> getFreeRent(@Valid DevRentSearchReqVO searchReqVO) { DevRentDO devRent = devRentService.getFreeRent(searchReqVO); if (null == devRent) { return CommonResult.success(null); } @@ -228,16 +231,15 @@ @GetMapping("/get-ready-rent") @Operation(summary = "è·åå·²é¢åç§èµæ åµ") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getReadyRent( @Valid DevRentSearchReqVO searchReqVO ) { DevRentDO devRent = devRentService.getReadyOrCancelledRent( searchReqVO ); public CommonResult<DevRentRespVO> getReadyRent(@Valid DevRentSearchReqVO searchReqVO) { DevRentDO devRent = devRentService.getReadyOrCancelledRent(searchReqVO); if (null == devRent) { return CommonResult.success(null); } DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); DeviceDO deviceDO = deviceService.getDevice(devRent.getDevId()); if (null != deviceDO) { devRentRespVO.setCategory(deviceDO.getCategory()); devRentRespVO.setBrand(deviceDO.getBrand()); @@ -250,39 +252,37 @@ @GetMapping("/get-existing-rent") @Operation(summary = "è·åå·²å®è£ ãå·²é¢ç¨çç§èµæ åµ") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getInstalledRent( @Valid DevRentSearchReqVO searchReqVO ) { DevRentDO devRent = devRentService.getExistingRent( searchReqVO ); public CommonResult<DevRentRespVO> getInstalledRent(@Valid DevRentSearchReqVO searchReqVO) { DevRentDO devRent = devRentService.getExistingRent(searchReqVO); if (null == devRent) { return CommonResult.success(null); } DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); DeviceDO deviceDO = deviceService.getDevice(devRent.getDevId()); DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); devRentRespVO.setCategory( deviceDO.getCategory() ); devRentRespVO.setBrand( deviceDO.getBrand() ); devRentRespVO.setModel( deviceDO.getModel() ); devRentRespVO.setDevState( devRent.getState() ); devRentRespVO.setCategory(deviceDO.getCategory()); devRentRespVO.setBrand(deviceDO.getBrand()); devRentRespVO.setModel(deviceDO.getModel()); devRentRespVO.setDevState(devRent.getState()); return CommonResult.success(devRentRespVO); } @GetMapping("/get-dismantled-rent") @Operation(summary = "è·åå·²æå¸ç§èµæ åµ") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getDismantledRent( @Valid DevRentSearchReqVO searchReqVO ) { DevRentDO devRent = devRentService.getDismantledRent( searchReqVO ); public CommonResult<DevRentRespVO> getDismantledRent(@Valid DevRentSearchReqVO searchReqVO) { DevRentDO devRent = devRentService.getDismantledRent(searchReqVO); if (null == devRent) { return CommonResult.success(null); } DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); DeviceDO deviceDO = deviceService.getDevice(devRent.getDevId()); DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); devRentRespVO.setCategory( deviceDO.getCategory() ); devRentRespVO.setBrand( deviceDO.getBrand() ); devRentRespVO.setModel( deviceDO.getModel() ); devRentRespVO.setCategory(deviceDO.getCategory()); devRentRespVO.setBrand(deviceDO.getBrand()); devRentRespVO.setModel(deviceDO.getModel()); return CommonResult.success(devRentRespVO); } @@ -296,8 +296,7 @@ String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, true); if (1 == result) return CommonResult.error(result, "确费失败"); if (1 == result) return CommonResult.error(result, "确费失败"); return CommonResult.success(result); } @@ -312,8 +311,7 @@ String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, false); if (1 == result) return CommonResult.error(result, "åæ¶ç¡®è´¹å¤±è´¥"); if (1 == result) return CommonResult.error(result, "åæ¶ç¡®è´¹å¤±è´¥"); return CommonResult.success(result); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/external/ExternalController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,80 @@ package cn.lihu.jh.module.ecg.controller.admin.external; import cn.lihu.jh.framework.common.pojo.CommonResult; import cn.lihu.jh.module.ecg.enums.ActionTypeEnum; import cn.lihu.jh.module.ecg.service.appointment.AppointmentService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.annotation.security.PermitAll; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Map; import java.util.function.Consumer; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.framework.common.pojo.CommonResult.success; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.APPOINTMENT_CREATE_FAIL; @Tag(name = "ä¾ç¬¬ä¸æ¹è°ç¨æ¥å£") @RestController @RequestMapping("/ecg/external") @Validated @Slf4j public class ExternalController { @Resource private AppointmentService appointmentService; /** * éç¨æ¥å£ * <p> * æ¯æä»¥ä¸actionç±»åï¼ * - S0201ECG: é¢çº¦å建 * - S0202ECG: é¢çº¦æ´æ° * * @param dataMap è¯·æ±æ°æ® * @param headers 请æ±å¤´ï¼å¿ é¡»å å«actionåæ®µ * @return å¤çç»æ */ @PermitAll @Operation(summary = "éç¨æ¥å£") @PostMapping("/generalInterface") public CommonResult<Boolean> generalInterface( @RequestBody @NotNull(message = "è¯·æ±æ°æ®ä¸è½ä¸ºç©º") Map<String, Object> dataMap, @RequestHeader @NotEmpty(message = "请æ±å¤´ä¸è½ä¸ºç©º") Map<String, String> headers) { log.info("[generalInterface][å¼å§å¤çè¯·æ± action({}) dataMap({})]", headers.get("action"), dataMap); String actionType = headers.get("action"); ActionTypeEnum action = ActionTypeEnum.getByType(actionType); if (action == null) { log.warn("[generalInterface][æªç¥çactionç±»å action({})]", actionType); throw exception(APPOINTMENT_CREATE_FAIL); } try { // 使ç¨çç¥æ¨¡å¼å¤çä¸åçaction Map<ActionTypeEnum, Consumer<Map<String, Object>>> actionHandlers = Map.of( ActionTypeEnum.S0201ECG, appointmentService::handleAppointmentCreate, ActionTypeEnum.S0202ECG, appointmentService::handleAppointmentUpdate, ActionTypeEnum.S040501HIS, appointmentService::handleAppointmentStateUpdate, ActionTypeEnum.S050401, appointmentService::handleCheckAppointmentUpdate, ActionTypeEnum.S050501, appointmentService::handleCheckAppointmentUpdate ); Consumer<Map<String, Object>> handler = actionHandlers.get(action); if (handler == null) { throw exception(APPOINTMENT_CREATE_FAIL); } handler.accept(dataMap); return success(true); } catch (Exception e) { throw exception(APPOINTMENT_CREATE_FAIL); } } } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/appointment/AppointmentDO.java
@@ -11,6 +11,7 @@ import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; @@ -57,7 +58,7 @@ private String patName; /** * æ£è æ§å« * * <p> * æä¸¾ {@link TODO system_user_sex 对åºçç±»} */ private Byte patGender; @@ -115,7 +116,6 @@ private LocalDateTime bookTime; /** * é¢çº¦æ£æ¥ç±»å * */ private Integer bookCheckType; /** @@ -137,4 +137,6 @@ @TableField(exist = false) private Integer bookSeqNum; } private String status; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/appointment/AppointmentMapper.java
@@ -1,11 +1,11 @@ package cn.lihu.jh.module.ecg.dal.mysql.appointment; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; import org.apache.ibatis.annotations.Mapper; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -21,12 +21,9 @@ public interface AppointmentMapper extends BaseMapperX<AppointmentDO> { default PageResult<AppointmentDO> selectPage(AppointmentPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX<AppointmentDO>() .eqIfPresent(AppointmentDO::getApplyNo, reqVO.getApplyNo()) .eqIfPresent(AppointmentDO::getEpisodeId, reqVO.getEpisodeId()) .eqIfPresent(AppointmentDO::getPatId, reqVO.getPatId()) .likeIfPresent(AppointmentDO::getPatName, reqVO.getPatName()) .eqIfPresent(AppointmentDO::getPatName, reqVO.getPatName()) .eqIfPresent(AppointmentDO::getPatGender, reqVO.getPatGender()) .eqIfPresent(AppointmentDO::getPatBirthday, reqVO.getPatBirthday()) .eqIfPresent(AppointmentDO::getPatMobile, reqVO.getPatMobile()) @@ -37,27 +34,25 @@ .eqIfPresent(AppointmentDO::getPatDeptDesc, reqVO.getPatDeptDesc()) .eqIfPresent(AppointmentDO::getPatWardCode, reqVO.getPatWardCode()) .eqIfPresent(AppointmentDO::getPatWardDesc, reqVO.getPatWardDesc()) .eqIfPresent(AppointmentDO::getPatBedNo, reqVO.getPatBedNo()) .eqIfPresent(AppointmentDO::getBookDate, reqVO.getBookDate()) .eqIfPresent(AppointmentDO::getBookTimeslot, reqVO.getBookTimeslot()) .betweenIfPresent(AppointmentDO::getBookTime, reqVO.getBookTime()) .eqIfPresent(AppointmentDO::getBookCheckType, reqVO.getBookCheckType()) .eqIfPresent(AppointmentDO::getBookSrc, reqVO.getBookSrc()) .eqIfPresent(AppointmentDO::getPaid, reqVO.getPaid()) .orderByDesc(AppointmentDO::getId)); } /* @Select("select * from lihu.appointment where pat_id = #{patId} and to_days(book_date) = to_days(Now())") List<AppointmentDO> getCurrentPatId(@Param("patId") String patId); */ List<AppointmentDO> getCurrentPatId(String patId); @Select("select * from lihu.appointment where pat_id = #{patId} and book_check_type = #{checkType} and to_days(book_date) = to_days(Now()) limit 1") AppointmentDO getCurrentByPatAndCheckType(@Param("patId") String patId, @Param("checkType") Integer checkType); @Select("select * from lihu.appointment where pat_id = #{patId} and book_check_type = #{checkType} and to_days(book_date) = to_days(#{book_date}) limit 1") AppointmentDO getByPatAndCheckTypeAndBookDate(@Param("patId") String patId, @Param("checkType") Integer checkType, @Param("book_date") LocalDate book_date); AppointmentDO getByPatAndCheckTypeAndBookDate(@Param("patId") String patId, @Param("checkType") Integer checkType); @Select("select * from lihu.appointment where episode_id = #{episodeId} and apply_no = #{applyNo} limit 1") AppointmentDO getByEpisodeIdAndApplyNo(@Param("episodeId") String episodeId, @Param("applyNo") String applyNo); @Select("select * from lihu.appointment where apply_no = #{applyNo} limit 1") AppointmentDO getByApplyNo(@Param("applyNo") String applyNo); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckCodeEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,52 @@ package cn.lihu.jh.module.ecg.enums; import lombok.AllArgsConstructor; import lombok.Getter; /** * HisçCheck_typeç±»åæä¸¾ */ @Getter @AllArgsConstructor public enum HisCheckCodeEnum { Y691133607("691133607", "100"), Y201605("201605", "200"), Y200327("200327", "300"), Y201652("201652", "400"), Y502490914("502490914", "500"), Y419562119("419562119", "600"), Y201604("201604", "700"), Y1202042("1202042", "800"), Y1202058("1202058", "900"), Y1202065("1202065", "1000"), Y559542128("559542128", "1100"), Y590244511("590244511", "1200"), Y666454217("666454217", "1300"), Y720791490("720791490", "1400"), Y720792077("720792077", "1500"); /** * ç±»å */ private final String code; /** * æè¿° */ private final String value; /** * æ ¹æ®ç±»åè·åæä¸¾ * * @param type ç±»å * @return æä¸¾ */ public static String getByCode(String code) { for (HisCheckCodeEnum value : values()) { if (value.getCode().equals(code)) { return value.getValue(); } } return null; } /** * æ ¹æ®ç±»åè·åæä¸¾ * * @param val å¼ç±»å * @return æä¸¾ */ public static String getByValue(String val) { for (HisCheckCodeEnum value : values()) { if (value.getValue().equals(val)) { return value.getCode(); } } return null; } } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentService.java
@@ -1,11 +1,14 @@ package cn.lihu.jh.module.ecg.service.appointment; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentConfirmReqVO; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentSaveReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; import javax.validation.Valid; import java.util.List; import java.util.Map; /** * é¢çº¦ Service æ¥å£ @@ -44,6 +47,45 @@ */ AppointmentDO getAppointment(Long id); /** * è·å¾é¢çº¦å页 * * @param pageReqVO å页æ¥è¯¢ * @return é¢çº¦å页 */ PageResult<AppointmentDO> getAppointmentPage(AppointmentPageReqVO pageReqVO); /** * ç³è¯·åå建 * * @param dataMap è¯·æ±æ°æ® * @return é¢çº¦ç¼å· */ Long handleAppointmentCreate(Map<String, Object> dataMap); /** * ç³è¯·åæ´æ° * * @param dataMap è¯·æ±æ°æ® */ void handleAppointmentUpdate(Map<String, Object> dataMap); /** * ç³è¯·åç¶ææ´æ° * * @param dataMap è¯·æ±æ°æ® */ void handleAppointmentStateUpdate(Map<String, Object> dataMap); /** * å¤çæ£æ¥é¢çº¦ç¶ææ°å¢ * * @param dataMap è¯·æ±æ°æ® */ void handleCheckAppointmentUpdate(Map<String, Object> dataMap); /** * è·å¾å½å¤©çé¢çº¦ æ ¹æ®PatID and CheckType * @@ -55,20 +97,14 @@ /** * è·å¾é¢çº¦ * * @param patId ç¼å· * @param patCode ç¼å· * @return é¢çº¦ */ List<AppointmentDO> queryAndCreateAppointmentByPatId(String patCode); /** * è·å¾é¢çº¦å页 * * @param pageReqVO å页æ¥è¯¢ * @return é¢çº¦å页 */ PageResult<AppointmentDO> getAppointmentPage(AppointmentPageReqVO pageReqVO); List<AppointmentDO> getAppointmentExtermal(String patId); Integer appoitmentConfirm(AppointmentConfirmReqVO appointmentConfirmReqVO); public AppointmentDO getByApplyNo(String applyNo); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java
@@ -1,45 +1,39 @@ package cn.lihu.jh.module.ecg.service.appointment; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.util.date.DateUtils; import cn.lihu.jh.framework.common.util.date.LocalDateTimeUtils; import cn.lihu.jh.framework.common.util.object.BeanUtils; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentConfirmReqVO; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentSaveReqVO; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; 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.enums.HisCheckCodeEnum; import cn.lihu.jh.module.ecg.feign.RemoteDataService; import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo; import cn.lihu.jh.module.ecg.feign.RestApiResult; import cn.lihu.jh.module.ecg.feign.dto.AppointmentExternal; import cn.lihu.jh.module.ecg.service.config.EcgConfigService; import cn.lihu.jh.module.ecg.service.queue.QueueService; import cn.lihu.jh.module.ecg.service.queue.QueueServiceTxFunctions; import cn.lihu.jh.module.ecg.service.queuesequence.QueueSequenceService; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.annotations.Param; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.util.object.BeanUtils; import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper; import javax.annotation.Resource; import javax.xml.crypto.Data; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.framework.common.pojo.CommonResult.error; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; /** @@ -71,8 +65,6 @@ public Long createAppointment(AppointmentSaveReqVO createReqVO) { // æå ¥ AppointmentDO appointment = BeanUtils.toBean(createReqVO, AppointmentDO.class); appointment.setBookTime( LocalDateTime.now() ); try { appointmentMapper.insert(appointment); @@ -114,7 +106,7 @@ @Override public AppointmentDO getCurAppointmentByPatIdAndCheckType(String patId, Integer checkType) { AppointmentDO appointmentDO = appointmentMapper.getByPatAndCheckTypeAndBookDate( patId, checkType, LocalDate.now() ); AppointmentDO appointmentDO = appointmentMapper.getByPatAndCheckTypeAndBookDate(patId, checkType); return appointmentDO; } @@ -125,23 +117,22 @@ @Override public List<AppointmentDO> queryAndCreateAppointmentByPatId(String patCode) { // ä»å»é¢å¹³å°æ¥è¯¢ List<AppointmentDO> appointmentExtermalList = getAppointmentExtermal( patCode ); List<AppointmentDO> appointmentExtermalList = getAppointmentExtermal(patCode); for ( int appointmentIndex = 0; appointmentIndex < appointmentExtermalList.size(); appointmentIndex++ ) { for (int appointmentIndex = 0; appointmentIndex < appointmentExtermalList.size(); appointmentIndex++) { AppointmentDO appointmentExtermal = appointmentExtermalList.get(appointmentIndex); if (null == appointmentExtermal ) continue; if (null == appointmentExtermal) continue; // ä»DBæ¥è¯¢é¢çº¦ï¼æ¯å¦å·²ç»åå¨ AppointmentDO appointmentDO = appointmentMapper.getByEpisodeIdAndApplyNo(appointmentExtermal.getEpisodeId(), appointmentExtermal.getApplyNo()); if (null == appointmentDO) { appointmentMapper.insert(appointmentExtermal); } else { appointmentExtermal.setId( appointmentDO.getId() ); // ç¡®ä¿ è¿åå¼å å« appointment id appointmentExtermal.setId(appointmentDO.getId()); // ç¡®ä¿ è¿åå¼å å« appointment id // å¤çç¬¬ä¸æ¬¡ç¡®è®¤æ¶è¿æ²¡æé¢çº¦æ¶é´ï¼åæ¥ç¡®è®¤æ¶å·²æé¢çº¦æ¶é´çæ åµ if (appointmentDO.getBookDate() != appointmentExtermal.getBookDate()) { appointmentMapper.updateById( appointmentExtermal ); appointmentMapper.updateById(appointmentExtermal); } } } @@ -170,74 +161,77 @@ @Override public List<AppointmentDO> getAppointmentExtermal(String patId) { List<AppointmentDO> curAppointDOList = new ArrayList<AppointmentDO>(); RestApiReqBodyVo reqBodyVo = new RestApiReqBodyVo(); if (18 == patId.length()) { reqBodyVo.setSfzh( patId ); } else { reqBodyVo.setMzzyh(patId); } // QueryRisReportList queryEcgRequest RestApiResult<AppointmentExternal> result = remoteDataService.httpApi("queryEcgRequest", "ECG", "ECG", reqBodyVo); if (0 == result.getRow().size()) { return curAppointDOList; } for (int appointIndex=0; appointIndex < result.getRow().size(); appointIndex++ ) { AppointmentExternal appointmentExternal = result.getRow().get( appointIndex ); AppointmentDO appointmentDO = BeanUtils.toBean(appointmentExternal, AppointmentDO.class); appointmentDO.setApplyNo( appointmentExternal.getReqIdeApplyno() ); appointmentDO.setEpisodeId( appointmentExternal.getEpisodeID() ); appointmentDO.setPatSrc( getCorrespondingPatientSource(appointmentExternal.getAdmTypeCode()) ); appointmentDO.setPatId(appointmentExternal.getPatientID()); // å 容为 身份è¯å· æ é¨è¯ä½é¢å· appointmentDO.setPatName(appointmentExternal.getPatName()); appointmentDO.setPatGender(Byte.valueOf(appointmentExternal.getPatgender())); appointmentDO.setPatBirthday(DateUtils.ofUTC(appointmentExternal.getEncPatBirthDate()).toLocalDate()); appointmentDO.setPatIdentityId(appointmentExternal.getIdentityID()); appointmentDO.setPatAddr(appointmentExternal.getAddress()); appointmentDO.setPatDeptCode(appointmentExternal.getPatLocDeptCode()); appointmentDO.setPatDeptDesc(appointmentExternal.getPatLocDeptDesc()); appointmentDO.setPatWardCode(appointmentExternal.getPatLocWardCode()); appointmentDO.setPatWardDesc(appointmentExternal.getPatLocWardDesc()); appointmentDO.setPatMobile(appointmentExternal.getPhone()); appointmentDO.setPatBedNo(appointmentExternal.getEnBedno()); appointmentDO.setBookCheckType(getCorrespondingCheckType(appointmentExternal.getPlanDefItemList().getPlanDefItem().getPlanDefItemcode())); appointmentDO.setBookTime(DateUtils.ofUTC(appointmentExternal.getReqAuthoredOn())); // å¼åæ¶é´ appointmentDO.setBookSrc( 0 ); // å å¼åçæ åµï¼æ²¡æé¢çº¦æ¶é´ if (null != appointmentExternal.getReqExtBooktime() ) { appointmentDO.setBookDate(DateUtils.ofUTC(appointmentExternal.getReqExtBooktime()).toLocalDate()); LocalDateTime bookStartTime = DateUtils.ofUTC(appointmentExternal.getReqExtBooktime()); LocalDateTime bookEndTime = bookStartTime.plusMinutes( ecgConfigService.getTimeslotLength()); appointmentDO.setBookTimeslot((bookStartTime.getHour() * 100 + bookStartTime.getMinute()) * 10000 + bookEndTime.getHour() * 100 + bookEndTime.getMinute()); } appointmentDO.setPaid( 0 ); curAppointDOList.add( appointmentDO ); } return curAppointDOList; return appointmentMapper.getCurrentPatId(patId); } // @Override // public List<AppointmentDO> getAppointmentExtermal(String patId) { // List<AppointmentDO> curAppointDOList = new ArrayList<AppointmentDO>(); // // RestApiReqBodyVo reqBodyVo = new RestApiReqBodyVo(); // if (18 == patId.length()) { // reqBodyVo.setSfzh( patId ); // } else { // reqBodyVo.setMzzyh(patId); // } // // // QueryRisReportList queryEcgRequest // RestApiResult<AppointmentExternal> result = remoteDataService.httpApi("queryEcgRequest", "ECG", "ECG", reqBodyVo); // if (0 == result.getRow().size()) { // return curAppointDOList; // } // // for (int appointIndex=0; appointIndex < result.getRow().size(); appointIndex++ ) { // AppointmentExternal appointmentExternal = result.getRow().get( appointIndex ); // // AppointmentDO appointmentDO = BeanUtils.toBean(appointmentExternal, AppointmentDO.class); // appointmentDO.setApplyNo( appointmentExternal.getReqIdeApplyno() ); // appointmentDO.setEpisodeId( appointmentExternal.getEpisodeID() ); // appointmentDO.setPatSrc( getCorrespondingPatientSource(appointmentExternal.getAdmTypeCode()) ); // appointmentDO.setPatId(appointmentExternal.getPatientID()); // å 容为 身份è¯å· æ é¨è¯ä½é¢å· // appointmentDO.setPatName(appointmentExternal.getPatName()); // appointmentDO.setPatGender(Byte.valueOf(appointmentExternal.getPatgender())); // appointmentDO.setPatBirthday(DateUtils.ofUTC(appointmentExternal.getEncPatBirthDate()).toLocalDate()); // appointmentDO.setPatIdentityId(appointmentExternal.getIdentityID()); // appointmentDO.setPatAddr(appointmentExternal.getAddress()); // appointmentDO.setPatDeptCode(appointmentExternal.getPatLocDeptCode()); // appointmentDO.setPatDeptDesc(appointmentExternal.getPatLocDeptDesc()); // appointmentDO.setPatWardCode(appointmentExternal.getPatLocWardCode()); // appointmentDO.setPatWardDesc(appointmentExternal.getPatLocWardDesc()); // appointmentDO.setPatMobile(appointmentExternal.getPhone()); // appointmentDO.setPatBedNo(appointmentExternal.getEnBedno()); // appointmentDO.setBookCheckType(getCorrespondingCheckType(appointmentExternal.getPlanDefItemList().getPlanDefItem().getPlanDefItemcode())); // appointmentDO.setBookTime(DateUtils.ofUTC(appointmentExternal.getReqAuthoredOn())); // å¼åæ¶é´ // appointmentDO.setBookSrc( 0 ); // // // å å¼åçæ åµï¼æ²¡æé¢çº¦æ¶é´ // if (null != appointmentExternal.getReqExtBooktime() ) { // appointmentDO.setBookDate(DateUtils.ofUTC(appointmentExternal.getReqExtBooktime()).toLocalDate()); // LocalDateTime bookStartTime = DateUtils.ofUTC(appointmentExternal.getReqExtBooktime()); // LocalDateTime bookEndTime = bookStartTime.plusMinutes( ecgConfigService.getTimeslotLength()); // appointmentDO.setBookTimeslot((bookStartTime.getHour() * 100 + bookStartTime.getMinute()) * 10000 + bookEndTime.getHour() * 100 + bookEndTime.getMinute()); // } // // appointmentDO.setPaid( 0 ); // // curAppointDOList.add( appointmentDO ); // } // // return curAppointDOList; // } @Override @Transactional(rollbackFor = Exception.class) public Integer appoitmentConfirm(AppointmentConfirmReqVO confirmReqVO) { AppointmentDO appointment = getAppointment(confirmReqVO.getId()); if (null == appointment) throw exception(PATIENT_NOT_EXISTS); if (null == appointment) throw exception(PATIENT_NOT_EXISTS); // æå¨é¢çº¦ï¼ç´æ¥è®¾ç½®é¢çº¦æ¥æä¸ºå½å¤© if (confirmReqVO.getIsVip() == 1) { appointment.setBookDate( LocalDate.now() ); appointment.setBookDate(LocalDate.now()); } if ( !DateUtils.isToday(appointment.getBookDate()) ) throw exception( APPOINTMENT_NOT_TODAY); if (!DateUtils.isToday(appointment.getBookDate())) throw exception(APPOINTMENT_NOT_TODAY); Integer newSeqNo = null; @@ -249,20 +243,20 @@ try { QueueSaveReqVO queueSaveReqVO = new QueueSaveReqVO(); queueSaveReqVO.setApplyNo( appointment.getApplyNo() ); queueSaveReqVO.setEpisodeId( appointment.getEpisodeId() ); queueSaveReqVO.setApplyNo(appointment.getApplyNo()); queueSaveReqVO.setEpisodeId(appointment.getEpisodeId()); queueSaveReqVO.setAppointId(appointment.getId()); queueSaveReqVO.setPatId(appointment.getPatId()); queueSaveReqVO.setPatName(appointment.getPatName()); queueSaveReqVO.setPatGender(appointment.getPatGender()); queueSaveReqVO.setBookDate(appointment.getBookDate()); queueSaveReqVO.setBookTimeslot( confirmReqVO.getBookTimeslot() ); /*appointment.getBookTimeslot()*/ queueSaveReqVO.setBookTimeslot(confirmReqVO.getBookTimeslot()); /*appointment.getBookTimeslot()*/ queueSaveReqVO.setBookCheckType(appointment.getBookCheckType()); queueSaveReqVO.setBookSeqNum( newSeqNo ); queueSaveReqVO.setIsVip( confirmReqVO.getIsVip() ); queueSaveReqVO.setBookSeqNum(newSeqNo); queueSaveReqVO.setIsVip(confirmReqVO.getIsVip()); queueSaveReqVO.setPassed((byte) 0); queueSaveReqVO.setExpired((byte) 0); queueSaveReqVO.setPatDetails( getPatDetails(appointment) ); queueSaveReqVO.setPatDetails(getPatDetails(appointment)); queueService.queue(queueSaveReqVO); } catch (DuplicateKeyException duplicateKeyException) { throw exception(APPOINTMENT_HAVE_QUEUED); @@ -271,67 +265,321 @@ return newSeqNo; } private Integer getCorrespondingCheckType(String strPlanDefItemcode) { if (strPlanDefItemcode.equals("691133607")) return 100; else if (strPlanDefItemcode.equals("201605")) return 200; else if (strPlanDefItemcode.equals("200327")) return 300; else if (strPlanDefItemcode.equals("201652")) return 400; else if (strPlanDefItemcode.equals("502490914")) return 500; else if (strPlanDefItemcode.equals("419562119")) return 600; else if (strPlanDefItemcode.equals("201604")) return 700; else if (strPlanDefItemcode.equals("1202042")) return 800; else if (strPlanDefItemcode.equals("1202058")) return 900; else if (strPlanDefItemcode.equals("1202065")) return 1000; else if (strPlanDefItemcode.equals("559542128")) return 1100; else if (strPlanDefItemcode.equals("590244511")) return 1200; else if (strPlanDefItemcode.equals("666454217")) return 1300; else if (strPlanDefItemcode.equals("720791490")) return 1400; else if (strPlanDefItemcode.equals("720792077")) return 1500; return 100; } private Integer getCorrespondingPatientSource(String admTypeCode) { if (admTypeCode.equals("AMB")) return 1; else if (admTypeCode.equals("EMER")) return 2; else if (admTypeCode.equals("IMP")) return 3; else if (admTypeCode.equals("PHY")) return 4; return 0; } private PatDetails getPatDetails(AppointmentDO appointment) { PatDetails patDetails = new PatDetails(); patDetails.setAppointmentId( appointment.getId() ); patDetails.setId( appointment.getPatId() ); patDetails.setName( appointment.getPatName() ); patDetails.setMobile( appointment.getPatMobile() ); patDetails.setDeptCode( appointment.getPatDeptCode() ); patDetails.setDeptDesc( appointment.getPatDeptDesc() ); patDetails.setWardCode( appointment.getPatWardCode() ); patDetails.setWardDesc( appointment.getPatWardDesc() ); patDetails.setBedNo( appointment.getPatBedNo() ); patDetails.setSource( appointment.getPatSrc() ); patDetails.setAppointmentId(appointment.getId()); patDetails.setId(appointment.getPatId()); patDetails.setName(appointment.getPatName()); patDetails.setMobile(appointment.getPatMobile()); patDetails.setDeptCode(appointment.getPatDeptCode()); patDetails.setDeptDesc(appointment.getPatDeptDesc()); patDetails.setWardCode(appointment.getPatWardCode()); patDetails.setWardDesc(appointment.getPatWardDesc()); patDetails.setBedNo(appointment.getPatBedNo()); patDetails.setSource(appointment.getPatSrc()); return patDetails; } @Override public Long handleAppointmentCreate(Map<String, Object> dataMap) { if (dataMap == null) { throw exception(APPOINTMENT_CREATE_FAIL); } try { // å建AppointmentDO对象 AppointmentDO appointment = new AppointmentDO(); // ä»dataMapä¸æåæ°æ® Map<String, Object> encounter = extractEncounter(dataMap); if (encounter == null) { throw exception(APPOINTMENT_CREATE_FAIL); } // è®¾ç½®å°±è¯æµæ°´å· Optional.ofNullable(encounter.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> items.size() > 1).map(items -> (Map<String, Object>) items.get(1)).map(item -> (String) item.get("extension")).ifPresent(appointment::setEpisodeId); Optional.ofNullable(encounter.get("location")).map(location -> (Map<String, Object>) location).map(location -> (Map<String, Object>) location.get("serviceDeliveryLocation")).map(serviceDeliveryLocation -> (Map<String, Object>) serviceDeliveryLocation.get("location")).map(location -> (Map<String, Object>) location.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(appointment::setPatBedNo); // 设置æ£è æ¥æºç±»å Optional.ofNullable(encounter.get("code")).map(code -> (Map<String, Object>) code).map(code -> (String) code.get("code")).map(Integer::parseInt).ifPresent(appointment::setPatSrc); // 设置æ£è ä¿¡æ¯ Optional.ofNullable(encounter.get("subject")).map(subject -> (Map<String, Object>) subject).map(subject -> (Map<String, Object>) subject.get("patient")).map(patient -> (Map<String, Object>) patient.get("patientPerson")).ifPresent(patientPerson -> { // 设置æ£è ID Optional.ofNullable(encounter.get("subject")).map(subject -> (Map<String, Object>) subject).map(subject -> (Map<String, Object>) subject.get("patient")).map(patient -> (Map<String, Object>) patient.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> items.size() > 1).map(items -> (Map<String, Object>) items.get(1)).map(item -> (String) item.get("extension")).ifPresent(appointment::setPatId); // 设置æ£è å§å Optional.ofNullable(patientPerson.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(appointment::setPatName); // 设置æ£è ææºåçµè¯ Optional.ofNullable(patientPerson.get("telecom")).map(telecom -> (Map<String, Object>) telecom).map(telecom -> (Map<String, Object>) telecom.get("item")).map(item -> (String) item.get("value")).ifPresent(phone -> { appointment.setPatMobile(phone); appointment.setPatPhone(phone); }); // 设置æ£è æ§å« Optional.ofNullable(patientPerson.get("administrativeGenderCode")).map(genderCode -> (Map<String, Object>) genderCode).map(genderCode -> (String) genderCode.get("code")).map(Byte::parseByte).ifPresent(appointment::setPatGender); // 设置æ£è çæ¥ Optional.ofNullable(patientPerson.get("birthTime")).map(birthTime -> (Map<String, Object>) birthTime).map(birthTime -> (String) birthTime.get("value")).map(birthdayStr -> LocalDate.parse(birthdayStr, DateTimeFormatter.ofPattern("yyyyMMdd"))).ifPresent(appointment::setPatBirthday); // 设置æ£è å°å Optional.ofNullable(patientPerson.get("addr")).map(addr -> (Map<String, Object>) addr).map(addr -> (Map<String, Object>) addr.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(appointment::setPatAddr); // 设置æ£è 身份è¯å· Optional.ofNullable(patientPerson.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> !items.isEmpty()).map(items -> (Map<String, Object>) items.get(0)).map(item -> (String) item.get("extension")).ifPresent(appointment::setPatIdentityId); }); // 设置ç§å®¤åç åºä¿¡æ¯ Optional.ofNullable(encounter.get("location")).map(location -> (Map<String, Object>) location).map(location -> (Map<String, Object>) location.get("serviceDeliveryLocation")).map(location -> (Map<String, Object>) location.get("serviceProviderOrganization")).ifPresent(org -> { // 设置ç§å®¤ä»£ç ååç§° Optional.ofNullable(org.get("id")).map(id -> (Map<String, Object>) id).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(appointment::setPatDeptCode); Optional.ofNullable(org.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(appointment::setPatDeptDesc); // 设置ç åºä»£ç ååç§° Optional.ofNullable(org.get("asOrganizationPartOf")).map(wardOrg -> (Map<String, Object>) wardOrg).map(wardOrg -> (Map<String, Object>) wardOrg.get("wholeOrganization")).ifPresent(wardOrg -> { Optional.ofNullable(wardOrg.get("id")).map(id -> (Map<String, Object>) id).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(appointment::setPatWardCode); Optional.ofNullable(wardOrg.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(appointment::setPatWardDesc); }); }); // 设置æ¯ä»ç¶æ Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("zdy")).map(zdy -> { Object payStatus = zdy.get("PayStatus"); if (payStatus != null) { try { return Integer.parseInt(payStatus.toString()); } catch (NumberFormatException e) { log.warn("PayStatus转æ¢å¤±è´¥: {}", payStatus); return null; } } return null; }).ifPresent(appointment::setPaid); // 设置ç³è¯·åå· Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(appointment::setApplyNo); //è®¾ç½®æ£æ¥ç±»å // String checkType = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (String) code.get("code")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); String checkType = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (String) code.get("code")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); if (checkType != null || checkType != "") appointment.setBookCheckType(Integer.valueOf(HisCheckCodeEnum.getByCode(checkType.substring(1)))); // å°AppointmentDO转æ¢ä¸ºAppointmentSaveReqVOå¹¶ä¿å AppointmentSaveReqVO saveReqVO = BeanUtils.toBean(appointment, AppointmentSaveReqVO.class); return createAppointment(saveReqVO); } catch (Exception e) { log.error("[handleAppointmentCreate][å¤çé¢çº¦å建失败 dataMap({})]", dataMap, e); throw exception(APPOINTMENT_CREATE_FAIL); } } @Override public void handleAppointmentUpdate(Map<String, Object> dataMap) { if (dataMap == null) { throw exception(APPOINTMENT_UPDATE_FAIL); } try { // ä»dataMap䏿åç³è¯·åå· String applyNo = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); // æ¥è¯¢ç°æé¢çº¦è®°å½ AppointmentDO existingAppointment = appointmentMapper.getByApplyNo(applyNo); // å¦æè®°å½ä¸åå¨ï¼åè°ç¨handleAppointmentCreateè¿è¡æ°å¢ if (existingAppointment == null) { handleAppointmentCreate(dataMap); return; } // ä»dataMapä¸æåæ°æ® Map<String, Object> encounter = extractEncounter(dataMap); if (encounter == null) { throw exception(APPOINTMENT_CREATE_FAIL); } // æ´æ°å°±è¯æµæ°´å· Optional.ofNullable(encounter.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> items.size() > 1).map(items -> (Map<String, Object>) items.get(1)).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setEpisodeId); // 设置åºä½å· Optional.ofNullable(encounter.get("location")).map(location -> (Map<String, Object>) location).map(location -> (Map<String, Object>) location.get("serviceDeliveryLocation")).map(serviceDeliveryLocation -> (Map<String, Object>) serviceDeliveryLocation.get("location")).map(location -> (Map<String, Object>) location.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setPatBedNo); // æ´æ°æ£è æ¥æºç±»å Optional.ofNullable(encounter.get("code")).map(code -> (Map<String, Object>) code).map(code -> (String) code.get("code")).map(Integer::parseInt).ifPresent(existingAppointment::setPatSrc); // æ´æ°æ£è ä¿¡æ¯ Optional.ofNullable(encounter.get("subject")).map(subject -> (Map<String, Object>) subject).map(subject -> (Map<String, Object>) subject.get("patient")).map(patient -> (Map<String, Object>) patient.get("patientPerson")).ifPresent(patientPerson -> { // æ´æ°æ£è ID Optional.ofNullable(encounter.get("subject")).map(subject -> (Map<String, Object>) subject).map(subject -> (Map<String, Object>) subject.get("patient")).map(patient -> (Map<String, Object>) patient.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> items.size() > 1).map(items -> (Map<String, Object>) items.get(1)).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setPatId); // æ´æ°æ£è å§å Optional.ofNullable(patientPerson.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(existingAppointment::setPatName); // æ´æ°æ£è ææºåçµè¯ Optional.ofNullable(patientPerson.get("telecom")).map(telecom -> (Map<String, Object>) telecom).map(telecom -> (Map<String, Object>) telecom.get("item")).map(item -> (String) item.get("value")).ifPresent(phone -> { existingAppointment.setPatMobile(phone); existingAppointment.setPatPhone(phone); }); // æ´æ°æ£è æ§å« Optional.ofNullable(patientPerson.get("administrativeGenderCode")).map(genderCode -> (Map<String, Object>) genderCode).map(genderCode -> (String) genderCode.get("code")).map(Byte::parseByte).ifPresent(existingAppointment::setPatGender); // æ´æ°æ£è çæ¥ Optional.ofNullable(patientPerson.get("birthTime")).map(birthTime -> (Map<String, Object>) birthTime).map(birthTime -> (String) birthTime.get("value")).map(birthdayStr -> LocalDate.parse(birthdayStr, DateTimeFormatter.ofPattern("yyyyMMdd"))).ifPresent(existingAppointment::setPatBirthday); // æ´æ°æ£è å°å Optional.ofNullable(patientPerson.get("addr")).map(addr -> (Map<String, Object>) addr).map(addr -> (Map<String, Object>) addr.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(existingAppointment::setPatAddr); // æ´æ°æ£è 身份è¯å· Optional.ofNullable(patientPerson.get("id")).map(id -> (Map<String, Object>) id).map(id -> (List<?>) id.get("item")).filter(items -> !items.isEmpty()).map(items -> (Map<String, Object>) items.get(0)).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setPatIdentityId); }); // æ´æ°ç§å®¤åç åºä¿¡æ¯ Optional.ofNullable(encounter.get("location")).map(location -> (Map<String, Object>) location).map(location -> (Map<String, Object>) location.get("serviceDeliveryLocation")).map(location -> (Map<String, Object>) location.get("serviceProviderOrganization")).ifPresent(org -> { // æ´æ°ç§å®¤ä»£ç ååç§° Optional.ofNullable(org.get("id")).map(id -> (Map<String, Object>) id).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setPatDeptCode); Optional.ofNullable(org.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(existingAppointment::setPatDeptDesc); // æ´æ°ç åºä»£ç ååç§° Optional.ofNullable(org.get("asOrganizationPartOf")).map(wardOrg -> (Map<String, Object>) wardOrg).map(wardOrg -> (Map<String, Object>) wardOrg.get("wholeOrganization")).ifPresent(wardOrg -> { Optional.ofNullable(wardOrg.get("id")).map(id -> (Map<String, Object>) id).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).ifPresent(existingAppointment::setPatWardCode); Optional.ofNullable(wardOrg.get("name")).map(name -> (Map<String, Object>) name).map(name -> (Map<String, Object>) name.get("item")).map(item -> (Map<String, Object>) item.get("part")).map(part -> (String) part.get("value")).ifPresent(existingAppointment::setPatWardDesc); }); }); // æ´æ°æ¯ä»ç¶æ Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("zdy")).map(zdy -> { Object payStatus = zdy.get("PayStatus"); if (payStatus != null) { try { return Integer.parseInt(payStatus.toString()); } catch (NumberFormatException e) { log.warn("PayStatus转æ¢å¤±è´¥: {}", payStatus); return null; } } return null; }).ifPresent(existingAppointment::setPaid); //è®¾ç½®æ£æ¥ç±»å String checkType = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("code")).map(code -> (String) code.get("code")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); if (checkType != null || checkType != "") existingAppointment.setBookCheckType(Integer.valueOf(HisCheckCodeEnum.getByCode(checkType.substring(1)))); // å°AppointmentDO转æ¢ä¸ºAppointmentSaveReqVOå¹¶æ´æ° AppointmentSaveReqVO updateReqVO = BeanUtils.toBean(existingAppointment, AppointmentSaveReqVO.class); updateAppointment(updateReqVO); } catch (Exception e) { log.error("[handleAppointmentUpdate][ç³è¯·åæ´æ°å¤±è´¥ dataMap({})]", dataMap, e); throw exception(APPOINTMENT_UPDATE_FAIL); } } @Override public void handleAppointmentStateUpdate(Map<String, Object> dataMap) { if (dataMap == null) { throw exception(APPOINTMENT_STATUS_UPDATE_FAIL); } // ä»dataMap䏿åç³è¯·åå· String applyNo = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("placerGroup")).map(placerGroup -> (Map<String, Object>) placerGroup.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("id")).map(id -> (Map<String, Object>) id.get("item")).map(item -> (String) item.get("extension")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); // æ¥è¯¢ç°æé¢çº¦è®°å½ AppointmentDO existingAppointment = appointmentMapper.getByApplyNo(applyNo); // å¦æè®°å½ä¸åå¨ï¼åè°ç¨handleAppointmentCreateè¿è¡æ°å¢ if (existingAppointment == null) { handleAppointmentCreate(dataMap); return; } // ä»dataMap䏿åç³è¯·åå· String status = Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("placerGroup")).map(placerGroup -> (Map<String, Object>) placerGroup.get("component2")).map(component2 -> (Map<String, Object>) component2.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("component1")).map(component1 -> (Map<String, Object>) component1.get("processStep")).map(processStep -> (Map<String, Object>) processStep.get("code")).map(code -> (Map<String, Object>) code.get("displayName")).map(displayName -> (String) displayName.get("value")).orElseThrow(() -> exception(APPOINTMENT_CREATE_FAIL)); existingAppointment.setStatus(status); // å°AppointmentDO转æ¢ä¸ºAppointmentSaveReqVOå¹¶æ´æ° AppointmentSaveReqVO updateReqVO = BeanUtils.toBean(existingAppointment, AppointmentSaveReqVO.class); updateAppointment(updateReqVO); } /** * ä»dataMap䏿åencounteræ°æ® */ private Map<String, Object> extractEncounter(Map<String, Object> dataMap) { return Optional.ofNullable(dataMap.get("controlActProcess")).map(controlActProcess -> (Map<String, Object>) controlActProcess).map(controlActProcess -> (Map<String, Object>) controlActProcess.get("subject")).map(subject -> (Map<String, Object>) subject.get("observationRequest")).map(observationRequest -> (Map<String, Object>) observationRequest.get("componentOf1")).map(componentOf1 -> (Map<String, Object>) componentOf1.get("encounter")).orElse(null); } @Override public void handleCheckAppointmentUpdate(Map<String, Object> dataMap) { // ä»dataMapä¸è·åcontrolActProcess Map<String, Object> controlActProcess = (Map<String, Object>) dataMap.get("controlActProcess"); Map<String, Object> subject = (Map<String, Object>) controlActProcess.get("subject"); Map<String, Object> actAppointment = (Map<String, Object>) subject.get("actAppointment"); // è·åç³è¯·ç¼å· List<Map<String, Object>> referencedOrders = (List<Map<String, Object>>) actAppointment.get("referencedOrder"); String applyNo = null; if (!CollectionUtils.isEmpty(referencedOrders)) { Map<String, Object> actOrder = (Map<String, Object>) referencedOrders.get(0).get("actOrder"); Map<String, Object> id = (Map<String, Object>) actOrder.get("id"); applyNo = (String) id.get("extension"); } if (applyNo == null) { log.warn("[handleCheckAppointmentUpdate][æªæ¾å°ç³è¯·ç¼å·]"); return; } // æ ¹æ®applyNoæ¥è¯¢é¢çº¦è®°å½ AppointmentDO appointment = appointmentMapper.getByApplyNo(applyNo); if (appointment == null) { log.warn("[handleCheckAppointmentUpdate][æªæ¾å°é¢çº¦è®°å½ applyNo({})]", applyNo); return; } // è·åé¢çº¦æ¶é´ Map<String, Object> effectiveTime = (Map<String, Object>) actAppointment.get("effectiveTime"); Map<String, Object> any = (Map<String, Object>) effectiveTime.get("any"); String bookTimeStr = (String) any.get("value"); // è·åé¢çº¦æ¥æº Map<String, Object> code = (Map<String, Object>) actAppointment.get("code"); String bookSrc = (String) code.get("code"); // è§£æé¢çº¦æ¶é´ LocalDateTime bookTime = LocalDateTime.parse(bookTimeStr, DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); LocalDate bookDate = bookTime.toLocalDate(); // è·åæ¶é´æ®µ String timeRange = (String) ((Map<String, Object>) actAppointment.get("ZDY")).get("time"); String[] time1 = timeRange.split(" "); String[] times = time1[1].split("-"); String startTime = times[0].trim(); String endTime = times[1].trim(); // è½¬æ¢æ¶é´æ®µæ ¼å¼ä¸ºhhmmhhmm int bookTimeslot = Integer.parseInt(startTime.replace(":", "")) * 10000 + Integer.parseInt(endTime.replace(":", "")); // æ´æ°é¢çº¦ä¿¡æ¯ appointment.setBookDate(bookDate); appointment.setBookTimeslot(bookTimeslot); appointment.setBookTime(bookTime); appointment.setBookSrc(Integer.parseInt(bookSrc)); // ä¿åæ´æ° appointmentMapper.updateById(appointment); } public AppointmentDO getByApplyNo(String applyNo) { return appointmentMapper.getByApplyNo(applyNo); } } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -1,43 +1,42 @@ package cn.lihu.jh.module.ecg.service.devrent; import cn.lihu.jh.framework.common.pojo.CommonResult; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.util.object.BeanUtils; import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; 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.devrent.DevRentDO; 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.devrent.DevRentMapper; 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.feign.*; import cn.lihu.jh.module.ecg.feign.FeeConfirmFeignService; import cn.lihu.jh.module.ecg.service.queue.QueueServiceTxFunctions; import cn.lihu.jh.module.ecg.webservice.client.JHFWWebServiceClient; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.util.object.BeanUtils; import cn.lihu.jh.module.ecg.dal.mysql.devrent.DevRentMapper; 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.getCurTimeString; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; /** @@ -66,10 +65,17 @@ DeviceMapper deviceMapper; @Resource AppointmentMapper appointmentMapper; @Resource QueueMapper queueMapper; @Resource CheckTypeMapper checkTypeMapper; @Resource private JHFWWebServiceClient jhfwWebServiceClient; @Override public CommonResult<Long> registerOperation(DevRentSaveReqVO createReqVO) { @@ -90,21 +96,20 @@ Long rent_id = createReqVO.getId(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.ROUTINE_FINISH.getState()); jobTypeList.add( DevRentStateEnum.ROUTINE_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.ROUTINE_FINISH.getState()); jobTypeList.add(DevRentStateEnum.ROUTINE_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() == 0) throw exception(DEV_INSTALL_NOT_APPOINTMENT); 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) { throw exception(DEV_INSTALL_EXCEPTION); throw exception(DEV_INSTALL_EXCEPTION); } rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.ROUTINE_FINISH.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.ROUTINE_FINISH.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -114,21 +119,21 @@ jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.ROUTINE_FINISH.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.ROUTINE_FINISH.getState()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { // æ¤é æ¾å¼æä½ createReqVO.setState( DevRentStateEnum.ROUTINE_FINISH.getState() ); createReqVO.setState(DevRentStateEnum.ROUTINE_FINISH.getState()); updateDevRent( createReqVO ); updateDevRent(createReqVO); jobRecordDO.setDevId(createReqVO.getDevId()); jobRecordDO.setJobType( DevRentStateEnum.ROUTINE_FINISH.getState() ); jobRecordDO.setJobType(DevRentStateEnum.ROUTINE_FINISH.getState()); jobRecordDO.setJobTime(createReqVO.getRentTime()); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); @@ -140,16 +145,15 @@ //queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); QueueDO firstOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus()); QueueDO firstOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus()); // QueueStatusEnum.ONSTAGE => QueueStatusEnum.FINISH firstOnStageQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus()); // é»è®¤ç¶æ 设置 queueMapper.updateById( firstOnStageQueueItem ); queueMapper.updateById(firstOnStageQueueItem); // æ£æ¥é¡¹ç®.äº²åæ§ å¤çé»è¾ CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( firstOnStageQueueItem.getBookCheckType() ); CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem(firstOnStageQueueItem.getBookCheckType()); if (checkTypeDO.getAffinityCheckTypes().length > 0) { procAffinityWhenRoutineFinish( firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes() ); procAffinityWhenRoutineFinish(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes()); } return CommonResult.success(rent_id); @@ -157,6 +161,7 @@ /** * é¢ç¨å®æ æä½ * * @param createReqVO åå»ºä¿¡æ¯ * @return */ @@ -175,22 +180,29 @@ throw exception(DEVICE_NOT_FREE); } // //设å¤é¢å宿åï¼æ¤æ¶æ£æ¥ç»è®°åæäºï¼éè¦å°è¿ä¸ªååç»éæå¹³å° // String action = "S0405"; // String message = ""; // jhfwWebServiceClient.callJHFWTYRK(action, message); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.RECEIVED.getState()); jobTypeList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.RECEIVED.getState()); jobTypeList.add(DevRentStateEnum.RECEIVED_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() == 0) throw exception(DEV_INSTALL_NOT_APPOINTMENT); 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) { throw exception(DEV_INSTALL_EXCEPTION); } rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.RECEIVED.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.RECEIVED.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -200,21 +212,21 @@ jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.RECEIVED.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.RECEIVED.getState()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { // æ¤é æ¾å¼æä½ createReqVO.setState( DevRentStateEnum.RECEIVED.getState() ); createReqVO.setState(DevRentStateEnum.RECEIVED.getState()); updateDevRent( createReqVO ); updateDevRent(createReqVO); jobRecordDO.setDevId(createReqVO.getDevId()); jobRecordDO.setJobType( DevRentStateEnum.RECEIVED.getState() ); jobRecordDO.setJobType(DevRentStateEnum.RECEIVED.getState()); jobRecordDO.setJobTime(createReqVO.getRentTime()); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); @@ -227,18 +239,17 @@ // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); // QueueStatusEnum.ONSTAGE => QueueStatusEnum.RECEIVED QueueDO bedOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus( createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus() ); CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( bedOnStageQueueItem.getBookCheckType() ); QueueDO bedOnStageQueueItem = queueMapper.getBedFirstQueueItemByStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.ONSTAGE.getStatus()); CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem(bedOnStageQueueItem.getBookCheckType()); bedOnStageQueueItem.setStatus(QueueStatusEnum.RECEIVED.getStatus()); // [å·²é¢ç¨] ç¶æ bedOnStageQueueItem.setAffinityItem( 0 ); // äº²åæ è®° æ¸ é¤ï¼å¨å®è£ é¶æ®µéæ°äº²å bedOnStageQueueItem.setAffinityItem(0); // äº²åæ è®° æ¸ é¤ï¼å¨å®è£ é¶æ®µéæ°äº²å // æ£æ¥é¡¹ç®.äº²åæ§ å¤çé»è¾ , æ´æ° bedOnStageQueueItem if (checkTypeDO.getAffinityCheckTypes().length > 0) { procAffinityWhenReadyFinish(/*IN, OUT*/bedOnStageQueueItem, checkTypeDO.getAffinityCheckTypes()); } queueMapper.updateById( bedOnStageQueueItem ); queueMapper.updateById(bedOnStageQueueItem); return CommonResult.success(rent_id); } @@ -252,7 +263,7 @@ DevRentDO devRentDO = getDevRent(rent_id); // 对äºå·²æé¢ç¨ï¼ä½æ¯è£ æºæ¶ä½¿ç¨ç䏿¯å·²é¢ç¨è®¾å¤ï¼æ¥é if ( null != devRentDO.getDevId() && !createReqVO.getDevId().equals(devRentDO.getDevId()) ) { if (null != devRentDO.getDevId() && !createReqVO.getDevId().equals(devRentDO.getDevId())) { throw exception(DEVICE_NOT_PAT_RECEIVED); } @@ -264,23 +275,22 @@ // æ£æ¥ job_record ç¨äºç¡®è®¤æ¯å¦æ¯ç¬¬ä¸æ¬¡å®è£ æä½ List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.INSTALLED.getState()); jobTypeList.add( DevRentStateEnum.INSTALL_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.INSTALLED.getState()); jobTypeList.add(DevRentStateEnum.INSTALL_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); // ç¬¬ä¸æ¬¡ å®è£ æä½ if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState()); if (devRentDOList.size() == 0) throw exception(DEV_INSTALL_NOT_RECEIVED); List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState()); if (devRentDOList.size() == 0) throw exception(DEV_INSTALL_NOT_RECEIVED); else if (devRentDOList.size() != 1) { throw exception(DEV_INSTALL_EXCEPTION); } rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.INSTALLED.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -290,20 +300,20 @@ jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.INSTALLED.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.INSTALLED.getState()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { // æ¤é æ¾å¼æä½ createReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); updateDevRent( createReqVO ); createReqVO.setState(DevRentStateEnum.INSTALLED.getState()); updateDevRent(createReqVO); jobRecordDO.setDevId(createReqVO.getDevId()); jobRecordDO.setJobType( DevRentStateEnum.INSTALLED.getState() ); jobRecordDO.setJobType(DevRentStateEnum.INSTALLED.getState()); jobRecordDO.setJobTime(createReqVO.getRentTime()); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); @@ -316,13 +326,12 @@ // QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); // QueueStatusEnum.INSTALLING => QueueStatusEnum.FINISH QueueDO bedInstallingQueueItem = queueMapper.getBedFirstQueueItemByStatus( createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.INSTALLING.getStatus()); QueueDO bedInstallingQueueItem = queueMapper.getBedFirstQueueItemByStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), QueueStatusEnum.INSTALLING.getStatus()); bedInstallingQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus()); // é»è®¤ç¶æ 设置 queueMapper.updateById( bedInstallingQueueItem ); queueMapper.updateById(bedInstallingQueueItem); // æ£æ¥é¡¹ç®.äº²åæ§ å¤çé»è¾ CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( bedInstallingQueueItem.getBookCheckType() ); CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem(bedInstallingQueueItem.getBookCheckType()); if (checkTypeDO.getAffinityCheckTypes().length > 0) { procAffinityWhenInstallFinish(bedInstallingQueueItem, checkTypeDO.getAffinityCheckTypes()); } @@ -333,41 +342,41 @@ @Override @Transactional(rollbackFor = Exception.class) public Long dismantleOperation(DevRentSaveReqVO updateReqVO) { updateReqVO.setState( DevRentStateEnum.DISMANTLED.getState() ); updateDevRent( updateReqVO ); updateReqVO.setState(DevRentStateEnum.DISMANTLED.getState()); updateDevRent(updateReqVO); Long rentId = updateReqVO.getId(); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); // è®¾å¤æ¢å¤å°ç©ºé² markDevFree( updateReqVO.getDevId(), rentId ); markDevFree(updateReqVO.getDevId(), rentId); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.DISMANTLED.getState()); jobTypeList.add(DevRentStateEnum.DISMANTLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId, jobTypeList); if (null == jobRecordDO) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); jobRecordSaveReqVO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); jobRecordSaveReqVO.setRentId(updateReqVO.getId()); jobRecordSaveReqVO.setDevId(updateReqVO.getDevId()); jobRecordSaveReqVO.setDocId(userId); jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(updateReqVO.getPatId()); jobRecordSaveReqVO.setPatName(updateReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(updateReqVO.getReturnTime()); 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 { jobRecordDO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordDO.setUpdater( String.valueOf(userId) ); jobRecordDO.setUpdateTime( LocalDateTime.now() ); jobRecordDO.setJobType(DevRentStateEnum.DISMANTLED.getState()); jobRecordDO.setJobTime(updateReqVO.getReturnTime()); jobRecordDO.setRemark(updateReqVO.getRemark()); jobRecordDO.setSummary(updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment()); jobRecordDO.setUpdater(String.valueOf(userId)); jobRecordDO.setUpdateTime(LocalDateTime.now()); jobRecordMapper.updateById(jobRecordDO); } return updateReqVO.getId(); @@ -376,36 +385,36 @@ @Override @Transactional(rollbackFor = Exception.class) public Long dataEntryOperation(DevRentSaveReqVO updateReqVO) { updateReqVO.setState( DevRentStateEnum.DATAENTERED.getState() ); updateDevRent( updateReqVO ); updateReqVO.setState(DevRentStateEnum.DATAENTERED.getState()); updateDevRent(updateReqVO); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.DATAENTERED.getState()); jobTypeList.add(DevRentStateEnum.DATAENTERED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId, jobTypeList); if (null == jobRecordDO) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getEntryTime() ); jobRecordSaveReqVO.setJobType( DevRentStateEnum.DATAENTERED.getState() ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); jobRecordSaveReqVO.setRentId(updateReqVO.getId()); jobRecordSaveReqVO.setDevId(updateReqVO.getDevId()); jobRecordSaveReqVO.setDocId(userId); jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(updateReqVO.getPatId()); jobRecordSaveReqVO.setPatName(updateReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(updateReqVO.getEntryTime()); 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 { jobRecordDO.setJobType( DevRentStateEnum.DATAENTERED.getState() ); jobRecordDO.setJobTime( updateReqVO.getEntryTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordDO.setUpdater( String.valueOf(userId) ); jobRecordDO.setJobType(DevRentStateEnum.DATAENTERED.getState()); jobRecordDO.setJobTime(updateReqVO.getEntryTime()); jobRecordDO.setRemark(updateReqVO.getRemark()); jobRecordDO.setSummary(updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment()); jobRecordDO.setUpdater(String.valueOf(userId)); jobRecordMapper.updateById(jobRecordDO); } return updateReqVO.getId(); @@ -420,23 +429,22 @@ DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); createReqVO.setDevId(null); createReqVO.setState( DevRentStateEnum.ROUTINE_CANCELLED.getState()); createReqVO.setState(DevRentStateEnum.ROUTINE_CANCELLED.getState()); Long rent_id = createReqVO.getId(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.ROUTINE_FINISH.getState()); jobTypeList.add( DevRentStateEnum.ROUTINE_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.ROUTINE_FINISH.getState()); jobTypeList.add(DevRentStateEnum.ROUTINE_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() != 1) throw exception(ROUTINE_CHECK_EXIST); List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() != 1) throw exception(ROUTINE_CHECK_EXIST); rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.ROUTINE_CANCELLED.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.ROUTINE_CANCELLED.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -445,16 +453,16 @@ jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.ROUTINE_CANCELLED.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.ROUTINE_CANCELLED.getState()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { updateDevRent( createReqVO ); updateDevRent(createReqVO); jobRecordDO.setDevId(null); jobRecordDO.setJobType(DevRentStateEnum.ROUTINE_CANCELLED.getState()); @@ -476,28 +484,27 @@ // è¥ä» è£ æº æ¹ä¸º åæ¶è£ æºï¼æ¢å¤è®¾å¤ç¶æ if (null != cancelReqVO.getDevId()) { markDevFree( cancelReqVO.getDevId(), rentId ); markDevFree(cancelReqVO.getDevId(), rentId); } DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); createReqVO.setDevId(null); createReqVO.setState( DevRentStateEnum.RECEIVED_CANCELLED.getState()); createReqVO.setState(DevRentStateEnum.RECEIVED_CANCELLED.getState()); Long rent_id = createReqVO.getId(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.RECEIVED.getState()); jobTypeList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.RECEIVED.getState()); jobTypeList.add(DevRentStateEnum.RECEIVED_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() != 1) throw exception(DEV_INSTALL_EXIST); List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.FREE.getState()); if (devRentDOList.size() != 1) throw exception(DEV_INSTALL_EXIST); rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.RECEIVED_CANCELLED.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.RECEIVED_CANCELLED.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -506,16 +513,16 @@ jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.RECEIVED_CANCELLED.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.RECEIVED_CANCELLED.getState()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { updateDevRent( createReqVO ); updateDevRent(createReqVO); jobRecordDO.setDevId(null); jobRecordDO.setJobType(DevRentStateEnum.RECEIVED_CANCELLED.getState()); @@ -537,28 +544,27 @@ // è¥ä» è£ æº æ¹ä¸º åæ¶è£ æºï¼æ¢å¤è®¾å¤ç¶æ if (null != cancelReqVO.getDevId()) { markDevFree( cancelReqVO.getDevId(), rentId ); markDevFree(cancelReqVO.getDevId(), rentId); } DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); createReqVO.setDevId(null); createReqVO.setState( DevRentStateEnum.INSTALL_CANCELLED.getState() ); createReqVO.setState(DevRentStateEnum.INSTALL_CANCELLED.getState()); Long rent_id = createReqVO.getId(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.INSTALLED.getState()); jobTypeList.add( DevRentStateEnum.INSTALL_CANCELLED.getState()); jobTypeList.add(DevRentStateEnum.INSTALLED.getState()); jobTypeList.add(DevRentStateEnum.INSTALL_CANCELLED.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId, jobTypeList); if (null == jobRecordDO) { List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState()); if (devRentDOList.size() != 1) throw exception(DEV_INSTALL_EXIST); List<DevRentDO> devRentDOList = devRentMapper.selectByPatAndChecktypeAndState(createReqVO.getPatId(), createReqVO.getCheckType(), DevRentStateEnum.RECEIVED.getState()); if (devRentDOList.size() != 1) throw exception(DEV_INSTALL_EXIST); rent_id = devRentDOList.getFirst().getId(); createReqVO.setId( rent_id ); createReqVO.setState( DevRentStateEnum.INSTALL_CANCELLED.getState() ); updateDevRent( createReqVO ); createReqVO.setId(rent_id); createReqVO.setState(DevRentStateEnum.INSTALL_CANCELLED.getState()); updateDevRent(createReqVO); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -567,19 +573,19 @@ jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobType( DevRentStateEnum.INSTALL_CANCELLED.getState() ); jobRecordSaveReqVO.setJobType(DevRentStateEnum.INSTALL_CANCELLED.getState()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); jobRecordSaveReqVO.setCheckType( createReqVO.getCheckType() ); jobRecordSaveReqVO.setCheckType(createReqVO.getCheckType()); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { updateDevRent( createReqVO ); updateDevRent(createReqVO); jobRecordDO.setDevId(null); jobRecordDO.setJobType( DevRentStateEnum.INSTALL_CANCELLED.getState() ); jobRecordDO.setJobType(DevRentStateEnum.INSTALL_CANCELLED.getState()); jobRecordDO.setJobTime(createReqVO.getRentTime()); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); @@ -597,49 +603,46 @@ if (updateReqVO.getState() == DevStateEnum.DAMAGED.getState()) { devStateEnum = DevStateEnum.DAMAGED; devRentStateEnum = DevRentStateEnum.DAMAGED; } else if (updateReqVO.getState() == DevStateEnum.LOST.getState()) { } else if (updateReqVO.getState() == DevStateEnum.LOST.getState()) { devStateEnum = DevStateEnum.LOST; devRentStateEnum = DevRentStateEnum.LOST; } else throw exception(DEV_DISMANTLE_EXCEPTION); } else throw exception(DEV_DISMANTLE_EXCEPTION); // 设å¤é失æ¶, æ æ³¨é失 markDevDismantleException( updateReqVO.getDevId(), updateReqVO.getId(), updateReqVO.getReturnTime().toLocalDate(), devStateEnum ); markDevDismantleException(updateReqVO.getDevId(), updateReqVO.getId(), updateReqVO.getReturnTime().toLocalDate(), devStateEnum); updateReqVO.setState( devRentStateEnum.getState() ); updateDevRent( updateReqVO ); updateReqVO.setState(devRentStateEnum.getState()); updateDevRent(updateReqVO); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); List<Integer> jobTypeList = new ArrayList<Integer>(); jobTypeList.add( DevRentStateEnum.DAMAGED.getState()); jobTypeList.add( DevRentStateEnum.LOST.getState()); jobTypeList.add(DevRentStateEnum.DAMAGED.getState()); jobTypeList.add(DevRentStateEnum.LOST.getState()); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId, jobTypeList); if (null == jobRecordDO) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); jobRecordSaveReqVO.setJobType( devRentStateEnum.getState() ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordSaveReqVO.setCheckType( updateReqVO.getCheckType() ); jobRecordSaveReqVO.setRentId(updateReqVO.getId()); jobRecordSaveReqVO.setDevId(updateReqVO.getDevId()); jobRecordSaveReqVO.setDocId(userId); jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(updateReqVO.getPatId()); jobRecordSaveReqVO.setPatName(updateReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(updateReqVO.getReturnTime()); 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 { jobRecordDO.setJobType( devRentStateEnum.getState() ); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordDO.setUpdater( String.valueOf(userId) ); jobRecordDO.setUpdateTime( LocalDateTime.now() ); jobRecordDO.setJobType(devRentStateEnum.getState()); jobRecordDO.setJobTime(updateReqVO.getReturnTime()); jobRecordDO.setRemark(updateReqVO.getRemark()); jobRecordDO.setSummary(updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment()); jobRecordDO.setUpdater(String.valueOf(userId)); jobRecordDO.setUpdateTime(LocalDateTime.now()); jobRecordMapper.updateById(jobRecordDO); } @@ -692,34 +695,34 @@ @Override public DevRentDO getExistingRent(DevRentSearchReqVO searchReqVO) { List<Integer> stateList = new ArrayList<>(); stateList.add( DevRentStateEnum.INSTALLED.getState() ); stateList.add( DevRentStateEnum.RECEIVED.getState()); searchReqVO.setStateList( stateList ); stateList.add(DevRentStateEnum.INSTALLED.getState()); stateList.add(DevRentStateEnum.RECEIVED.getState()); searchReqVO.setStateList(stateList); return devRentMapper.getRentByState(searchReqVO); } @Override public DevRentDO getFreeRent(DevRentSearchReqVO searchReqVO) { List<Integer> stateList = new ArrayList<>(); stateList.add( DevRentStateEnum.FREE.getState() ); searchReqVO.setStateList( stateList ); stateList.add(DevRentStateEnum.FREE.getState()); searchReqVO.setStateList(stateList); return devRentMapper.getRentByState(searchReqVO); } @Override public DevRentDO getReadyOrCancelledRent(DevRentSearchReqVO searchReqVO) { List<Integer> stateList = new ArrayList<>(); stateList.add( DevRentStateEnum.RECEIVED.getState() ); stateList.add( DevRentStateEnum.RECEIVED_CANCELLED.getState()); searchReqVO.setStateList( stateList ); stateList.add(DevRentStateEnum.RECEIVED.getState()); stateList.add(DevRentStateEnum.RECEIVED_CANCELLED.getState()); searchReqVO.setStateList(stateList); return devRentMapper.getRentByState(searchReqVO); } @Override public DevRentDO getDismantledRent(DevRentSearchReqVO searchReqVO) { List<Integer> stateList = new ArrayList<>(); stateList.add( DevRentStateEnum.DISMANTLED.getState() ); searchReqVO.setStateList( stateList ); stateList.add(DevRentStateEnum.DISMANTLED.getState()); searchReqVO.setStateList(stateList); return devRentMapper.getRentByState(searchReqVO); } @@ -735,34 +738,10 @@ return 2; } PatDetails patDetails = devRentDO.getPatDetails(); HisFeeConfirmReqBody hisFeeConfirmReqBody = new HisFeeConfirmReqBody(); MsgHeader msgHeader = new MsgHeader(); msgHeader.setMsgType("ODS_2212"); msgHeader.setMsgVersion("3.0"); msgHeader.setSender("ECG"); hisFeeConfirmReqBody.setMsgHeader(msgHeader); Item item = new Item(); item.setItemCode( getHisCheckCode(devRentDO.getCheckType()) ); // item.setItemStatus( isFeeConfirmOrCancel? "5" : "6" ); // 5 确费 6 åæ¶ç¡®è´¹ item.setExeOrganization("47162057-2"); item.setExeDeptName("å¿çµç§"); item.setExeDept("å¿çµç§"); item.setExeDoctor( hisId ); // item.setExeDoctorName( userNickname ); // item.setExeDateTime( getCurTimeString() ); // ExmRequest exmRequest = new ExmRequest(); exmRequest.setAuthorOrganization("47162057-2"); exmRequest.setRequestId( devRentDO.getApplyNo() ); // exmRequest.setPatientType( getPatientType(patDetails.getSource()) ); // exmRequest.setItem(item); hisFeeConfirmReqBody.setExmRequest(exmRequest); Integer returnValue = 1; try { HisFeeConfirmRespResult result = feeConfirmFeignService.httpFeeApi("UpdateExmRequestStatus", "ECG", "ECG", hisFeeConfirmReqBody); log.info( result.getMsgHeader().getStatus() ); returnValue = result.getMsgHeader().getStatus().equals("true") ? 0 : 1; AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(devRentDO.getApplyNo()); returnValue = appointmentDO.getPaid() == 1 ? 0 : 1; } catch (RuntimeException ex) { returnValue = 1; } @@ -778,10 +757,10 @@ // è®¾å¤æ 注 å·²é¢å DeviceDO deviceDO = deviceMapper.getDeviceByDevId(devId); if (null != deviceDO && DevStateEnum.FREE.isEqual(deviceDO.getState())) { deviceDO.setState( DevStateEnum.RECEIVED.getState() ); deviceDO.setRentId( rentId ); deviceDO.setStateDate( LocalDate.now() ); deviceDO.setPatDetails( patDetails ); deviceDO.setState(DevStateEnum.RECEIVED.getState()); deviceDO.setRentId(rentId); deviceDO.setStateDate(LocalDate.now()); deviceDO.setPatDetails(patDetails); return deviceMapper.updateById(deviceDO); } @@ -791,19 +770,18 @@ // æ è®° 设å¤å·²è¢«ä½¿ç¨ private Integer markDevInUse(String devId, Long rentId) { DeviceDO deviceDO = deviceMapper.getDeviceByDevId(devId); if (null == deviceDO) return 0; if (null == deviceDO) return 0; if (DevStateEnum.RECEIVED.isEqual(deviceDO.getState()) && rentId.equals(deviceDO.getRentId())) { deviceDO.setState( DevStateEnum.INUSE.getState() ); deviceDO.setStateDate( LocalDate.now() ); deviceDO.setState(DevStateEnum.INUSE.getState()); deviceDO.setStateDate(LocalDate.now()); return deviceMapper.updateById(deviceDO); } if (DevStateEnum.FREE.isEqual(deviceDO.getState())) { deviceDO.setState( DevStateEnum.INUSE.getState() ); deviceDO.setStateDate( LocalDate.now() ); deviceDO.setRentId( rentId ); deviceDO.setState(DevStateEnum.INUSE.getState()); deviceDO.setStateDate(LocalDate.now()); deviceDO.setRentId(rentId); return deviceMapper.updateById(deviceDO); } @@ -814,8 +792,8 @@ // è®¾å¤æ 注é失 DeviceDO deviceDO = deviceMapper.getDeviceByDevId(devId); if (null != deviceDO && DevStateEnum.INUSE.isEqual(deviceDO.getState()) && rentId.equals(deviceDO.getRentId())) { deviceDO.setState( devStateEnum.getState() ); deviceDO.setStateDate( localDate ); deviceDO.setState(devStateEnum.getState()); deviceDO.setStateDate(localDate); return deviceMapper.updateById(deviceDO); } @@ -824,22 +802,21 @@ private Integer markDevFree(String devId, Long rentId) { // è®¾å¤æ 注é失 æ¢å¤ä¸ºç©ºé² DeviceDO deviceDO = deviceMapper.getDeviceByDevId( devId ); DeviceDO deviceDO = deviceMapper.getDeviceByDevId(devId); if (null != deviceDO && rentId.equals(deviceDO.getRentId())) { deviceDO.setState( DevStateEnum.FREE.getState() ); deviceDO.setStateDate( LocalDate.now() ); deviceDO.setState(DevStateEnum.FREE.getState()); deviceDO.setStateDate(LocalDate.now()); deviceDO.setRentId(null); deviceDO.setPatDetails(null); return deviceMapper.updateById(deviceDO); } return 0; } private void procAffinityWhenRoutineFinish(String patId, Integer[] affinityCheckTypes) { // 妿åå¨ [亲å-æé] 亲å项ï¼åéæ© å ¶ä¸ä¸ä¸ªäº²å项 æ¥æ¿å ¶ å¤äº [å°±è¯ä¸] List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus( patId, affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus(patId, affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); if (!affinityAffinityWaitingItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); @@ -852,83 +829,60 @@ */ private void procAffinityWhenReadyFinish(/*IN,OUT*/QueueDO bedOnStageQueueItem, Integer[] affinityCheckTypes) { // 妿åå¨ [å®è£ ä¸] [å®è£ è¿å·] [å®è£ å¬å] è½è¢«ä¾éçæ£æ¥é¡¹ï¼åä¾éå°å ¶ä¸ä¸ä¸ªæ£æ¥é¡¹ List<QueueDO> affinityInstallingItems = queueMapper.getCurPatGivenCheckTypesAndStatusList( bedOnStageQueueItem.getPatId(), affinityCheckTypes, List.of(QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus())); List<QueueDO> affinityInstallingItems = queueMapper.getCurPatGivenCheckTypesAndStatusList(bedOnStageQueueItem.getPatId(), affinityCheckTypes, List.of(QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus())); if (!affinityInstallingItems.isEmpty()) { QueueDO affinityInstallingItem = affinityInstallingItems.get(0); bedOnStageQueueItem.setStatus(QueueStatusEnum.AFFINITY_INSTALL.getStatus()); // 亲å-é¢ç¨ bedOnStageQueueItem.setAffinityItem(1); bedOnStageQueueItem.setRoomId( affinityInstallingItem.getRoomId() ); bedOnStageQueueItem.setBedNo( affinityInstallingItem.getBedNo() ); // é¢ç¨ å° å®è£ å¯è½ä¼å¨ä¸åå·¥ä½ bedOnStageQueueItem.setRoomId(affinityInstallingItem.getRoomId()); bedOnStageQueueItem.setBedNo(affinityInstallingItem.getBedNo()); // é¢ç¨ å° å®è£ å¯è½ä¼å¨ä¸åå·¥ä½ } // 妿åå¨ [亲å-æé] 亲å项ï¼åéæ© å ¶ä¸ä¸ä¸ªäº²å项 æ¥æ¿å ¶ å¤äº [å°±è¯ä¸] List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus( bedOnStageQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); List<QueueDO> affinityAffinityWaitingItems = queueMapper.getCurPatGivenCheckTypesAndStatus(bedOnStageQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY.getStatus()); if (!affinityAffinityWaitingItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityWaitingItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.ONSTAGE.getStatus()); queueMapper.updateById( tmpQueueDO ); queueMapper.updateById(tmpQueueDO); } } // 妿åå¨ [亲å-é¢ç¨] 亲å项ï¼åéæ© å ¶ä¸ä¸ä¸ªäº²å项 æ¥æ¿å ¶ å¤äº [å®è£ ä¸] private void procAffinityWhenInstallFinish(QueueDO bedInstallingQueueItem, Integer[] affinityCheckTypes) { List<QueueDO> affinityAffinityReceivedItems = queueMapper.getCurPatGivenCheckTypesAndStatus( bedInstallingQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_INSTALL.getStatus()); List<QueueDO> affinityAffinityReceivedItems = queueMapper.getCurPatGivenCheckTypesAndStatus(bedInstallingQueueItem.getPatId(), affinityCheckTypes, QueueStatusEnum.AFFINITY_INSTALL.getStatus()); if (!affinityAffinityReceivedItems.isEmpty()) { QueueDO tmpQueueDO = affinityAffinityReceivedItems.get(0); tmpQueueDO.setStatus(QueueStatusEnum.INSTALLING.getStatus()); tmpQueueDO.setRoomId( bedInstallingQueueItem.getRoomId() ); tmpQueueDO.setBedNo( bedInstallingQueueItem.getBedNo() ); // ä» [é¢ç¨] å° [å®è£ ]ï¼ å¯é¥å¨ä¸åå·¥ä½ä¸æä½ tmpQueueDO.setRoomId(bedInstallingQueueItem.getRoomId()); tmpQueueDO.setBedNo(bedInstallingQueueItem.getBedNo()); // ä» [é¢ç¨] å° [å®è£ ]ï¼ å¯é¥å¨ä¸åå·¥ä½ä¸æä½ queueMapper.updateById(tmpQueueDO); } } private String getHisCheckCode(Integer checkType) { if (100 == checkType) return "691133607"; else if (200 == checkType) return "201605"; else if (300 == checkType) return "200327"; else if (400 == checkType) return "201652"; else if (500 == checkType) return "502490914"; else if (600 == checkType) return "419562119"; else if (700 == checkType) return "201604"; else if (800 == checkType) return "1202042"; else if (900 == checkType) return "1202058"; else if (1000 == checkType) return "1202065"; else if (1100 == checkType) return "559542128"; else if (1200 == checkType) return "590244511"; else if (1300 == checkType) return "666454217"; else if (1400 == checkType) return "720791490"; else if (1500 == checkType) return "720792077"; if (100 == checkType) return "691133607"; else if (200 == checkType) return "201605"; else if (300 == checkType) return "200327"; else if (400 == checkType) return "201652"; else if (500 == checkType) return "502490914"; else if (600 == checkType) return "419562119"; else if (700 == checkType) return "201604"; else if (800 == checkType) return "1202042"; else if (900 == checkType) return "1202058"; else if (1000 == checkType) return "1202065"; else if (1100 == checkType) return "559542128"; else if (1200 == checkType) return "590244511"; else if (1300 == checkType) return "666454217"; else if (1400 == checkType) return "720791490"; else if (1500 == checkType) return "720792077"; return "691133607"; } String getPatientType( Integer patientSource ) { if (1 == patientSource || 2 == patientSource) return "01"; else if (3 == patientSource) return "03"; else if (4 == patientSource) return "04"; String getPatientType(Integer patientSource) { if (1 == patientSource || 2 == patientSource) return "01"; else if (3 == patientSource) return "03"; else if (4 == patientSource) return "04"; return "01"; } jh-server/src/main/resources/application-prod.yaml
@@ -58,7 +58,7 @@ # url: jdbc:dm://127.0.0.1:5236?schema=RUOYI_VUE_PRO # DM è¿æ¥çç¤ºä¾ # url: jdbc:kingbase8://127.0.0.1:54321/test # 人大éä» KingbaseES è¿æ¥çç¤ºä¾ # url: jdbc:postgresql://127.0.0.1:5432/postgres # OpenGauss è¿æ¥çç¤ºä¾ username: root username: lihu password: Smartor.2023 # username: sa # SQL Server è¿æ¥çç¤ºä¾ # password: Jh@2024 # SQL Server è¿æ¥çç¤ºä¾ jh-server/src/main/resources/application.yaml
@@ -3,6 +3,7 @@ name: jh-server profiles: # active: prod active: stage main: @@ -314,4 +315,4 @@ key: pLXUGAwK5305 customer: E77DF18BE109F454A5CD319E44BF5177 debug: false debug: false