|  |  | 
 |  |  | import cn.lihu.jh.module.ecg.enums.QueueStatusEnum; | 
 |  |  | 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 cn.lihu.jh.module.ecg.webservice.WebServiceClient; | 
 |  |  | import cn.lihu.jh.module.infra.dal.dataobject.config.ConfigDO; | 
 |  |  | import cn.lihu.jh.module.infra.dal.mysql.config.ConfigMapper; | 
 |  |  | import cn.lihu.jh.module.infra.service.config.ConfigService; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.validation.annotation.Validated; | 
 |  |  | 
 |  |  | import java.time.LocalDate; | 
 |  |  | import java.time.LocalDateTime; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; | 
 |  |  | 
 |  |  |     CheckTypeMapper checkTypeMapper; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private JHFWWebServiceClient jhfwWebServiceClient; | 
 |  |  |     private ConfigService configService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WebServiceClient webServiceClient; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |             procAffinityWhenRoutineFinish(firstOnStageQueueItem.getPatId(), checkTypeDO.getAffinityCheckTypes()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //检查完成后,此时检查登记写成了,需要将这个回写给集成平台(线上环境才回写) | 
 |  |  |         ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); | 
 |  |  |         if (configDO.getValue().equals("1")) { | 
 |  |  |             if (createReqVO.getCheckType() != 100 && createReqVO.getCheckType() != 1000 && createReqVO.getCheckType() != 1100 && createReqVO.getCheckType() != 1400 && createReqVO.getCheckType() != 1500) { | 
 |  |  |                 AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); | 
 |  |  |                 ApplicationTemplate app = new ApplicationTemplate(); | 
 |  |  |                 String action = "S0405"; | 
 |  |  |                 String message = app.getXML(createReqVO.getApplyNo(), "3", "检查登记", createReqVO.getOperater(), appointmentDO.getPatDeptCode(), appointmentDO.getPatDeptDesc(), appointmentDO.getPatWardCode(), appointmentDO.getPatWardDesc(), appointmentDO.getPatBedNo(), appointmentDO.getEpisodeId(), "" + appointmentDO.getBookSrc(), appointmentDO.getPatId(), appointmentDO.getPatName()); | 
 |  |  |                 String s = webServiceClient.callJHFWTYRK(action, "", message); | 
 |  |  |                 log.info("routineFinishWebServiceClient的返回值为:{}", s); | 
 |  |  |                 if (s.contains("更新成功")) { | 
 |  |  |                     //需要根据applyNo,将appiontment表里的status改成3 | 
 |  |  |                     appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "3", new Date()); | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 //检查类型是床边的或常规的,需要根据applyNo,将appiontment表里的status改成7 | 
 |  |  |                 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return CommonResult.success(rent_id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |             throw exception(DEVICE_NOT_FREE); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | //        //设备领取完成后,此时检查登记写成了,需要将这个回写给集成平台 | 
 |  |  | //        String action = "S0405"; | 
 |  |  | //        String message = ""; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | //        jhfwWebServiceClient.callJHFWTYRK(action, message); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //设备领取完成后,此时检查登记写成了,需要将这个回写给集成平台(线上环境才回写) | 
 |  |  |         ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); | 
 |  |  |         if (configDO.getValue().equals("1")) { | 
 |  |  |             AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); | 
 |  |  |             ApplicationTemplate app = new ApplicationTemplate(); | 
 |  |  |             String action = "S0405"; | 
 |  |  |             String message = app.getXML(createReqVO.getApplyNo(), "3", "检查登记", createReqVO.getOperater(), appointmentDO.getPatDeptCode(), appointmentDO.getPatDeptDesc(), appointmentDO.getPatWardCode(), appointmentDO.getPatWardDesc(), appointmentDO.getPatBedNo(), appointmentDO.getEpisodeId(), "" + appointmentDO.getBookSrc(), appointmentDO.getPatId(), appointmentDO.getPatName()); | 
 |  |  |             String s = webServiceClient.callJHFWTYRK(action, "", message); | 
 |  |  |             log.info("webservice的返回值为:{}", s); | 
 |  |  |             if (s.contains("更新成功")) { | 
 |  |  |                 //需要根据applyNo,将appiontment表里的status改成3 | 
 |  |  |                 appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "3", new Date()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         List<Integer> jobTypeList = new ArrayList<Integer>(); | 
 |  |  |         jobTypeList.add(DevRentStateEnum.RECEIVED.getState()); | 
 |  |  |         jobTypeList.add(DevRentStateEnum.RECEIVED_CANCELLED.getState()); | 
 |  |  | 
 |  |  |             createReqVO.setState(DevRentStateEnum.ROUTINE_CANCELLED.getState()); | 
 |  |  |             updateDevRent(createReqVO); | 
 |  |  |  | 
 |  |  |             ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); | 
 |  |  |             if (configDO.getValue().equals("1")) { | 
 |  |  |                 if (cancelReqVO.getCheckType() != 100 && cancelReqVO.getCheckType() != 1000 && cancelReqVO.getCheckType() != 1100 && cancelReqVO.getCheckType() != 1400 && cancelReqVO.getCheckType() != 1500) { | 
 |  |  |                     AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); | 
 |  |  |                     ApplicationTemplate app = new ApplicationTemplate(); | 
 |  |  |                     String action = "S0405"; | 
 |  |  |                     String message = app.getXML(createReqVO.getApplyNo(), "4", "取消检查", createReqVO.getOperater(), appointmentDO.getPatDeptCode(), appointmentDO.getPatDeptDesc(), appointmentDO.getPatWardCode(), appointmentDO.getPatWardDesc(), appointmentDO.getPatBedNo(), appointmentDO.getEpisodeId(), "" + appointmentDO.getBookSrc(), appointmentDO.getPatId(), appointmentDO.getPatName()); | 
 |  |  |                     String s = webServiceClient.callJHFWTYRK(action, "", message); | 
 |  |  |                     log.info("routineFinishWebServiceClient的返回值为:{}", s); | 
 |  |  |                     if (s.contains("更新成功")) { | 
 |  |  |                         //需要根据applyNo,将appiontment表里的status改成3 | 
 |  |  |                         appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); | 
 |  |  |                     } | 
 |  |  |                 } else { | 
 |  |  |                     //检查类型是床边的或常规的,需要根据applyNo,将appiontment表里的status改成7 | 
 |  |  |                     appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "7", null); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); | 
 |  |  |             jobRecordSaveReqVO.setRentId(rent_id); | 
 |  |  |             jobRecordSaveReqVO.setDevId(null); | 
 |  |  | 
 |  |  |             jobRecordDO.setUpdateTime(LocalDateTime.now()); | 
 |  |  |             jobRecordMapper.updateById(jobRecordDO); | 
 |  |  |         } | 
 |  |  |         QueueDO firstOnStageQueueItem = queueMapper.getBedFirstQueueItemByApplyNo(createReqVO.getApplyNo(), QueueStatusEnum.ONSTAGE.getStatus()); | 
 |  |  |         // QueueStatusEnum.ONSTAGE  =>  QueueStatusEnum.FINISH | 
 |  |  |         firstOnStageQueueItem.setStatus(QueueStatusEnum.FINISH.getStatus());  // 默认状态 设置 | 
 |  |  |         firstOnStageQueueItem.setUpdateTime(LocalDateTime.now()); | 
 |  |  |         queueMapper.updateById(firstOnStageQueueItem); | 
 |  |  |         return CommonResult.success(rent_id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |             createReqVO.setId(rent_id); | 
 |  |  |             createReqVO.setState(DevRentStateEnum.RECEIVED_CANCELLED.getState()); | 
 |  |  |             updateDevRent(createReqVO); | 
 |  |  |  | 
 |  |  |             ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); | 
 |  |  |             if (configDO.getValue().equals("1")) { | 
 |  |  |                 AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); | 
 |  |  |                 ApplicationTemplate app = new ApplicationTemplate(); | 
 |  |  |                 String action = "S0405"; | 
 |  |  |                 String message = app.getXML(createReqVO.getApplyNo(), "4", "取消检查", createReqVO.getOperater(), appointmentDO.getPatDeptCode(), appointmentDO.getPatDeptDesc(), appointmentDO.getPatWardCode(), appointmentDO.getPatWardDesc(), appointmentDO.getPatBedNo(), appointmentDO.getEpisodeId(), "" + appointmentDO.getBookSrc(), appointmentDO.getPatId(), appointmentDO.getPatName()); | 
 |  |  |                 String s = webServiceClient.callJHFWTYRK(action, "", message); | 
 |  |  |                 log.info("routineFinishWebServiceClient的返回值为:{}", s); | 
 |  |  |                 if (s.contains("更新成功")) { | 
 |  |  |                     //需要根据applyNo,将appiontment表里的status改成3 | 
 |  |  |                     appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); | 
 |  |  |             jobRecordSaveReqVO.setRentId(rent_id); | 
 |  |  | 
 |  |  |             createReqVO.setId(rent_id); | 
 |  |  |             createReqVO.setState(DevRentStateEnum.INSTALL_CANCELLED.getState()); | 
 |  |  |             updateDevRent(createReqVO); | 
 |  |  |  | 
 |  |  |             ConfigDO configDO = configService.getConfigByKey("ecg.back.data"); | 
 |  |  |             if (configDO.getValue().equals("1")) { | 
 |  |  |                 AppointmentDO appointmentDO = appointmentMapper.getByApplyNo(createReqVO.getApplyNo()); | 
 |  |  |                 ApplicationTemplate app = new ApplicationTemplate(); | 
 |  |  |                 String action = "S0405"; | 
 |  |  |                 String message = app.getXML(createReqVO.getApplyNo(), "4", "取消检查", createReqVO.getOperater(), appointmentDO.getPatDeptCode(), appointmentDO.getPatDeptDesc(), appointmentDO.getPatWardCode(), appointmentDO.getPatWardDesc(), appointmentDO.getPatBedNo(), appointmentDO.getEpisodeId(), "" + appointmentDO.getBookSrc(), appointmentDO.getPatId(), appointmentDO.getPatName()); | 
 |  |  |                 String s = webServiceClient.callJHFWTYRK(action, "", message); | 
 |  |  |                 log.info("routineFinishWebServiceClient的返回值为:{}", s); | 
 |  |  |                 if (s.contains("更新成功")) { | 
 |  |  |                     //需要根据applyNo,将appiontment表里的status改成3 | 
 |  |  |                     appointmentMapper.updateStatusByApplyNo(createReqVO.getApplyNo(), "4", null); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); | 
 |  |  |             jobRecordSaveReqVO.setRentId(rent_id); | 
 |  |  | 
 |  |  |  | 
 |  |  |         return "01"; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |  |