diff --git a/data-config/message-forward-config.json b/data-config/message-forward-config.json
index 76a64e5..68d8d36 100644
--- a/data-config/message-forward-config.json
+++ b/data-config/message-forward-config.json
@@ -5,6 +5,12 @@
"errorResult": "0成功",
"messageDataType": 1
},
+ {
+ "method": "WS_NURS_SUBMIT",
+ "urls": ["http://127.0.0.1:9314/hospital/mzsy/wsNurseSubmit/do"],
+ "errorResult": "0成功",
+ "messageDataType": 1
+ },
{
"method": "WS_FSSY_USER",
"urls": ["http://127.0.0.1:9000/fssy-basic-receive/user/do"],
diff --git a/src/main/java/com/docus/server/message/busservice/MzsyBusinessService.java b/src/main/java/com/docus/server/message/busservice/MzsyBusinessService.java
index 096410c..6331996 100644
--- a/src/main/java/com/docus/server/message/busservice/MzsyBusinessService.java
+++ b/src/main/java/com/docus/server/message/busservice/MzsyBusinessService.java
@@ -14,5 +14,13 @@ public interface MzsyBusinessService {
*/
MessageResponse recordSubmitHandle(Message message);
+ /**
+ * 梅州三院护理提交信息
+ *
+ * @param message 信息
+ * @return 消息处理结果
+ */
+ MessageResponse nurseSubmitHandle(Message message);
+
}
diff --git a/src/main/java/com/docus/server/message/busservice/impl/MzsyBusinessServiceImpl.java b/src/main/java/com/docus/server/message/busservice/impl/MzsyBusinessServiceImpl.java
index 3ee7c1e..308bb81 100644
--- a/src/main/java/com/docus/server/message/busservice/impl/MzsyBusinessServiceImpl.java
+++ b/src/main/java/com/docus/server/message/busservice/impl/MzsyBusinessServiceImpl.java
@@ -92,6 +92,52 @@ public class MzsyBusinessServiceImpl implements MzsyBusinessService {
return response;
}
}
+
+ @Override
+ public MessageResponse nurseSubmitHandle(Message message) {
+ try {
+ CollectTaskConfig.TaskConfig taskConfig = CollectTaskConfig.getTaskConfig("WS_NURS_SUBMIT");
+ if (taskConfig == null || Func.isEmpty(taskConfig.getCollectorIds())) {
+ throw new RuntimeException("任务配置未配置采集器id,WS_NURS_SUBMIT");
+ }
+ NkRecordSubmitDTO dto = NkWsRecordSubmitMessageConvert.convert(message.getMessage());
+ NkRecordSubmitValidate.verifyRecordSubmitDTO(dto);
+ TbasicQrPreciseCondition condition = MzsyWsRecordSubmitMessageConvert.convert(dto);
+ List patientIds = tBasicMapper.getMzsyPatientIdByPreciseConditions(condition);
+ verifyPatientIds(patientIds);
+
+ String submitDate = dto.getSubmitDate();
+ tBasicMapper.insertOrUpdateNurseSubmitTime(patientIds.get(0), Func.parseDate(submitDate, DateUtil.PATTERN_DATETIME));
+
+ compensateTask("护理提交",patientIds, taskConfig.getCollectorIds());
+ tBasicMapper.updateNursCollectState(patientIds.get(0), 1);
+
+ String submitName = dto.getSubmitName();
+ String submitNo = dto.getSubmitNo();
+ // 添加提交记录
+ HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO();
+ nodeLogAddDTO.setPatientId(patientIds.get(0));
+ nodeLogAddDTO.setContent(new String[]{submitDate});
+ nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.NURSE);
+ nodeLogAddDTO.setCreater(submitName+"("+submitNo+")");
+ nodeLogAddDTO.setCreaterName(submitName+"("+submitNo+")");
+ hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO);
+ return new MessageResponse(ResultCode.SUCCESS.getCode(), success());
+ } catch (BaseException baseException) {
+ log.error(baseException.getMessage(), baseException);
+ // 业务异常,不希望重试,直接消息返回错误
+ MessageResponse response = new MessageResponse(ResultCode.FAILED.getCode(), fail(baseException.getMessage()));
+ response.setRetry(0);
+ return response;
+ } catch (Exception ex) {
+ log.error(ex.getMessage(), ex);
+ // 不可知的错误,希望重试
+ MessageResponse response = new MessageResponse(ResultCode.FAILED.getCode(), fail("系统错误"));
+ response.setRetry(1);
+ return response;
+ }
+ }
+
private void verifyPatientIds(List patientIds) {
if (Func.isEmpty(patientIds)) {
throw new BaseException("系统无此患者!");
diff --git a/src/main/java/com/docus/server/message/controller/MzsyHospitalController.java b/src/main/java/com/docus/server/message/controller/MzsyHospitalController.java
index c5312fa..0778a81 100644
--- a/src/main/java/com/docus/server/message/controller/MzsyHospitalController.java
+++ b/src/main/java/com/docus/server/message/controller/MzsyHospitalController.java
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
/**
* @author WYBDEV
*/
-@Api("广州脑科医院")
+@Api("梅州三院")
@RestController
@Slf4j
@RequestMapping("/hospital/mzsy")
@@ -32,5 +32,11 @@ public class MzsyHospitalController {
return mzsyBusinessService.recordSubmitHandle(message);
}
+ @PostMapping("/wsNurseSubmit/do")
+ @ApiOperation("梅州三院护理提交消息接收")
+ public MessageResponse wsNurseSubmit(@RequestBody Message message) {
+ log.info("梅州三院护理提交消息接收:{}", message);
+ return mzsyBusinessService.nurseSubmitHandle(message);
+ }
}
diff --git a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java
index d0bd72b..a635898 100644
--- a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java
+++ b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java
@@ -117,6 +117,8 @@ public interface TBasicMapper {
*/
int updateEmrSubmitState(@Param("patientId") String patientId, @Param("emrSubmitState") int emrSubmitState);
+
+ int updateNursCollectState(@Param("patientId") String patientId, @Param("emrSubmitState") int submitState);
/**
* 根据住院号和住院次数查询出院日期 yyyyMMdd
* @param inpatientNo 住院号
diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml
index 9f11a64..1ed52c0 100644
--- a/src/main/resources/mapper/TBasicMapper.xml
+++ b/src/main/resources/mapper/TBasicMapper.xml
@@ -35,6 +35,11 @@
set `emr_submit`=#{emrSubmitState}
where patient_id=#{patientId}
+
+ update `docus_medicalrecord`.`t_basic`
+ set `nurs_collect`=#{submitState}
+ where patient_id=#{patientId}
+
update `docus_medicalrecord`.`t_basic`
set `dis_dept`=#{deptCode},