diff --git a/data-config/collect-task-config.json b/data-config/collect-task-config.json
index 31610c9..5bcc7f8 100644
--- a/data-config/collect-task-config.json
+++ b/data-config/collect-task-config.json
@@ -2,5 +2,9 @@
{
"method": "WS_RECORD_SUBMIT",
"collectorIds": ["1","2"]
+ },
+ {
+ "method": "WS_NURS_SUBMIT",
+ "collectorIds": ["3"]
}
]
\ No newline at end of file
diff --git a/data-config/message-forward-config.json b/data-config/message-forward-config.json
index c7e492b..f15cc6a 100644
--- a/data-config/message-forward-config.json
+++ b/data-config/message-forward-config.json
@@ -1,8 +1,13 @@
[
{
"method": "WS_RECORD_SUBMIT",
- "urls": ["http://127.0.0.1:9313/message/receive/wsRecordSubmit/do"],
- "errorResult": "1${{xpath:/Request/Msg/INHOSP_NO}}系统错误!",
+ "urls": ["http://127.0.0.1:9314/message/receive/wsRecordSubmit/do"],
+ "errorResult": "0成功",
+ "messageDataType": 1
+ } , {
+ "method": "WS_NURS_SUBMIT",
+ "urls": ["http://127.0.0.1:9314/message/receive/wsNurseSubmit/do"],
+ "errorResult": "1系统内部错误!",
"messageDataType": 1
}
]
\ No newline at end of file
diff --git a/src/main/java/com/docus/server/message/busservice/SdBusinessService.java b/src/main/java/com/docus/server/message/busservice/SdBusinessService.java
index 319bb5b..af1d017 100644
--- a/src/main/java/com/docus/server/message/busservice/SdBusinessService.java
+++ b/src/main/java/com/docus/server/message/busservice/SdBusinessService.java
@@ -6,8 +6,17 @@ import com.docus.server.message.dto.MessageResponse;
public interface SdBusinessService {
/**
* 顺德人医电子病历提交信息
+ *
* @param message 信息
* @return 消息处理结果
*/
MessageResponse recordSubmitHandle(Message message);
+
+ /**
+ * 顺德人医护理提交信息
+ *
+ * @param message 信息
+ * @return 消息处理结果
+ */
+ MessageResponse wsNurseSubmitHandle(Message message);
}
diff --git a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java
index 6d7dda9..41715ac 100644
--- a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java
+++ b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java
@@ -1,25 +1,26 @@
package com.docus.server.message.busservice.impl;
-import com.docus.core.util.DateUtil;
import com.docus.core.util.Func;
import com.docus.infrastructure.core.exception.BaseException;
import com.docus.infrastructure.web.api.CommonResult;
import com.docus.infrastructure.web.api.ResultCode;
-import com.docus.server.message.feign.service.CollectTaskService;
-import com.docus.server.message.feign.dto.CompensateTasRequest;
import com.docus.server.message.busservice.SdBusinessService;
import com.docus.server.message.config.CollectTaskConfig;
+import com.docus.server.message.converters.WsNurseSubmitMessageConvert;
+import com.docus.server.message.converters.WsRecordSubmitMessageConvert;
import com.docus.server.message.dto.Message;
import com.docus.server.message.dto.MessageResponse;
+import com.docus.server.message.dto.RecordSubmitDTO;
+import com.docus.server.message.dto.WsNurseSubmitDTO;
+import com.docus.server.message.feign.dto.CompensateTasRequest;
+import com.docus.server.message.feign.service.CollectTaskService;
import com.docus.server.message.mapper.TBasicMapper;
-import com.docus.server.message.util.XmlUtil;
-import lombok.Data;
+import com.docus.server.message.validate.RecordSubmitValidate;
+import com.docus.server.message.validate.WsNurseSubmitValidate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.w3c.dom.Node;
-import java.util.Date;
import java.util.List;
@Slf4j
@@ -46,11 +47,12 @@ public class SdBusinessServiceImpl implements SdBusinessService {
if (taskConfig == null || Func.isEmpty(taskConfig.getCollectorIds())) {
throw new RuntimeException("任务配置未配置采集器id,WS_RECORD_SUBMIT");
}
- RecordSubmitDTO recordSubmitDto = convert(message.getMessage());
- verifyRecordSubmitDTO(recordSubmitDto);
+ RecordSubmitDTO recordSubmitDto = WsRecordSubmitMessageConvert.convert(message.getMessage());
+ RecordSubmitValidate.verifyRecordSubmitDTO(recordSubmitDto);
List patientIds = tBasicMapper.getPatientIdsByInpatientNoAndTimes(recordSubmitDto.getInHospIndexNo(), recordSubmitDto.getVisitNo());
verifyPatientIds(patientIds);
- tBasicMapper.insertOrUpdateSubmitTime(patientIds.get(0),recordSubmitDto.getSubmitTime());
+ tBasicMapper.insertOrUpdateDoctorSubmitTime(patientIds.get(0), recordSubmitDto.getSubmitTime());
+ log.info("补偿电子病历任务 patientIds:{} collectId:{}", patientIds, taskConfig.getCollectorIds());
compensateTask(patientIds, taskConfig.getCollectorIds());
return new MessageResponse(ResultCode.SUCCESS.getCode(), success());
} catch (BaseException baseException) {
@@ -69,37 +71,50 @@ public class SdBusinessServiceImpl implements SdBusinessService {
}
- private void verifyRecordSubmitDTO(RecordSubmitDTO recordSubmitDto) {
- if (Func.isBlank(recordSubmitDto.getInHospIndexNo())) {
- throw new BaseException("住院号不能为空!");
- }
- if (Func.isEmpty(recordSubmitDto.getVisitNo())) {
- throw new BaseException("住院次数不能为空!");
- }
- if (Func.isEmpty(recordSubmitDto.getSubmitTime())) {
- throw new BaseException("提交时间不能为空!");
- }
- if (Func.isEmpty(recordSubmitDto.getInHospState())) {
- throw new BaseException("住院状态不能为空!");
- }
- if (recordSubmitDto.getInHospState() != 1) {
- throw new BaseException("住院状态需要为已出院!");
+ @Override
+ public MessageResponse wsNurseSubmitHandle(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");
+ }
+ WsNurseSubmitDTO nurseSubmitDTO = WsNurseSubmitMessageConvert.convert(message.getMessage());
+ WsNurseSubmitValidate.verifyNurseSubmitDTO(nurseSubmitDTO);
+ List patientIds = tBasicMapper.getPatientIdsByInpatientNoAndTimes(nurseSubmitDTO.getInHospIndexNo(), nurseSubmitDTO.getVisitNo());
+ verifyPatientIds(patientIds);
+ tBasicMapper.insertOrUpdateNurseSubmitTime(patientIds.get(0), nurseSubmitDTO.getSubmitTime());
+ tBasicMapper.insertOrUpdateNurseFileCount(patientIds.get(0), nurseSubmitDTO.getFilesCount());
+ log.info("补偿护理任务 patientIds:{} collectId:{}", patientIds, taskConfig.getCollectorIds());
+ compensateTask(patientIds, taskConfig.getCollectorIds());
+ 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 compensateTask(List patientIds, List collectorIds) {
CompensateTasRequest dto = new CompensateTasRequest();
dto.setPatientIds(patientIds);
dto.setCollectorIds(collectorIds);
dto.setPriority(4);
- log.info("补偿电子病历任务 数据:{}", dto);
CommonResult task = collectTaskService.compensateTask(dto);
if (ResultCode.FAILED.getCode().equals(task.getCode())) {
throw new RuntimeException("补偿失败!");
}
}
- private void verifyPatientIds(List patientIds) {
+ private void verifyPatientIds(List patientIds) throws BaseException {
if (Func.isEmpty(patientIds)) {
throw new BaseException("住院号+住院次数 ,系统无此患者!");
}
@@ -108,68 +123,6 @@ public class SdBusinessServiceImpl implements SdBusinessService {
}
}
- private RecordSubmitDTO convert(String str) {
- String inHospNo=null;
- String inHospIndexNo=null;
- Integer visitNo=null;
- String name=null;
- Date submitTime=null;
- Integer inHospState=null;
-
- XmlUtil xmlUtil = XmlUtil.of(str);
- try {
- // 住院状态 住院状态 0:在院 1:出院
- Node inHospStateNode = xmlUtil.getNode("/Request/Msg/INHOSP_STATE");
- inHospState=Integer.parseInt(inHospStateNode.getTextContent());
- }catch (Exception ex){
- throw new BaseException("解析住院状态出错!");
- }
- try {
- // 住院流水号
- Node inHospNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_NO");
- inHospNo=inHospNoNode.getTextContent();
- } catch (Exception ex) {
- throw new BaseException("解析 住院流水号 出错!");
- }
-
- try {
- // 住院号
- Node inHospIndexNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_INDEX_NO");
- inHospIndexNo=inHospIndexNoNode.getTextContent();
- } catch (Exception ex) {
- throw new BaseException("解析 住院号 出错!");
- }
- try {
- // 住院次数
- Node visitNoNode = xmlUtil.getNode("/Request/Msg/VISIT_NO");
- visitNo=Integer.parseInt(visitNoNode.getTextContent());
- } catch (Exception ex) {
- throw new BaseException("解析 住院次数 出错!");
- }
- try {
- // 患者姓名
- Node nameNode = xmlUtil.getNode("/Request/Msg/NAME");
- name=nameNode.getTextContent();
- } catch (Exception ex) {
- throw new BaseException("解析 出错!");
- }
- try {
- // 提交时间
- Node submitTimeNode = xmlUtil.getNode("/Request/Msg/SUBMIT_TIME");
- submitTime= DateUtil.parse(submitTimeNode.getTextContent(), DateUtil.PATTERN_DATETIME);
- } catch (Exception ex) {
- throw new BaseException("解析 提交时间 出错!");
- }
-
- RecordSubmitDTO recordSubmitDTO = new RecordSubmitDTO();
- recordSubmitDTO.setInHospNo(inHospNo);
- recordSubmitDTO.setVisitNo(visitNo);
- recordSubmitDTO.setInHospState(inHospState);
- recordSubmitDTO.setName(name);
- recordSubmitDTO.setInHospIndexNo(inHospIndexNo);
- recordSubmitDTO.setSubmitTime(submitTime);
- return recordSubmitDTO;
- }
private String success() {
return "" +
@@ -188,20 +141,4 @@ public class SdBusinessServiceImpl implements SdBusinessService {
"" +
"";
}
-
- @Data
- private static class RecordSubmitDTO {
- // 住院流水号
- private String inHospNo;
- // 住院号
- private String inHospIndexNo;
- // 住院次数
- private Integer visitNo;
- // 患者姓名
- private String name;
- // 提交时间
- private Date submitTime;
- // 住院状态0:在院 1:出院
- private Integer inHospState;
- }
}
diff --git a/src/main/java/com/docus/server/message/controller/MessageReceiveController.java b/src/main/java/com/docus/server/message/controller/MessageReceiveController.java
index 7514d3e..86aa3ac 100644
--- a/src/main/java/com/docus/server/message/controller/MessageReceiveController.java
+++ b/src/main/java/com/docus/server/message/controller/MessageReceiveController.java
@@ -24,14 +24,23 @@ import org.springframework.web.bind.annotation.RestController;
public class MessageReceiveController {
private SdBusinessService sdBusinessService;
+
@Autowired
- public void setSdBusinessService(SdBusinessService sdBusinessService){
- this.sdBusinessService=sdBusinessService;
+ public void setSdBusinessService(SdBusinessService sdBusinessService) {
+ this.sdBusinessService = sdBusinessService;
}
@PostMapping("/wsRecordSubmit/do")
- @ApiOperation("消息接收测试")
- public MessageResponse receiveMessage(@RequestBody Message message) {
+ @ApiOperation("顺德人医电子病历提交消息接收")
+ public MessageResponse receiveWsRecordSubmitMessage(@RequestBody Message message) {
+ log.info("顺德人医电子病历提交消息接收:{}", message);
return sdBusinessService.recordSubmitHandle(message);
}
+
+ @PostMapping("/wsNurseSubmit/do")
+ @ApiOperation("顺德人医护理提交消息接收")
+ public MessageResponse receiveWsNurseSubmitMessage(@RequestBody Message message) {
+ log.info("顺德人医护理提交消息接收:{}", message);
+ return sdBusinessService.wsNurseSubmitHandle(message);
+ }
}
diff --git a/src/main/java/com/docus/server/message/converters/WsNurseSubmitMessageConvert.java b/src/main/java/com/docus/server/message/converters/WsNurseSubmitMessageConvert.java
new file mode 100644
index 0000000..056e831
--- /dev/null
+++ b/src/main/java/com/docus/server/message/converters/WsNurseSubmitMessageConvert.java
@@ -0,0 +1,76 @@
+package com.docus.server.message.converters;
+
+import com.docus.core.util.DateUtil;
+import com.docus.infrastructure.core.exception.BaseException;
+import com.docus.server.message.dto.WsNurseSubmitDTO;
+import com.docus.server.message.util.XmlUtil;
+import org.w3c.dom.Node;
+
+import java.util.Date;
+
+public class WsNurseSubmitMessageConvert {
+ public static WsNurseSubmitDTO convert(String str) {
+ String inHospNo=null;
+ String inHospIndexNo=null;
+ Integer visitNo=null;
+ String name=null;
+ Date submitTime=null;
+ Integer fileCount=null;
+
+ XmlUtil xmlUtil = XmlUtil.of(str);
+
+ try {
+ // 文件数量
+ Node fileCountNode = xmlUtil.getNode("/Request/Msg/FILES_NUMBER");
+ fileCount=Integer.parseInt(fileCountNode.getTextContent());
+ } catch (Exception ex) {
+ throw new BaseException("解析 文件数量 出错!");
+ }
+ try {
+ // 住院流水号
+ Node inHospNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_NO");
+ inHospNo=inHospNoNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院流水号 出错!");
+ }
+
+ try {
+ // 住院号
+ Node inHospIndexNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_INDEX_NO");
+ inHospIndexNo=inHospIndexNoNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院号 出错!");
+ }
+ try {
+ // 住院次数
+ Node visitNoNode = xmlUtil.getNode("/Request/Msg/VISIT_NO");
+ visitNo=Integer.parseInt(visitNoNode.getTextContent());
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院次数 出错!");
+ }
+ try {
+ // 患者姓名
+ Node nameNode = xmlUtil.getNode("/Request/Msg/NAME");
+ name=nameNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 姓名 出错!");
+ }
+ try {
+ // 提交时间
+ Node submitTimeNode = xmlUtil.getNode("/Request/Msg/SUBMIT_TIME");
+ submitTime= DateUtil.parse(submitTimeNode.getTextContent(), DateUtil.PATTERN_DATETIME);
+ } catch (Exception ex) {
+ throw new BaseException("解析 提交时间 出错!");
+ }
+
+ WsNurseSubmitDTO nurseSubmitDTO = new WsNurseSubmitDTO();
+ nurseSubmitDTO.setInHospNo(inHospNo);
+ nurseSubmitDTO.setVisitNo(visitNo);
+ nurseSubmitDTO.setFilesCount(fileCount);
+ nurseSubmitDTO.setName(name);
+ nurseSubmitDTO.setInHospIndexNo(inHospIndexNo);
+ nurseSubmitDTO.setSubmitTime(submitTime);
+ return nurseSubmitDTO;
+ }
+
+}
diff --git a/src/main/java/com/docus/server/message/converters/WsRecordSubmitMessageConvert.java b/src/main/java/com/docus/server/message/converters/WsRecordSubmitMessageConvert.java
new file mode 100644
index 0000000..1344cd9
--- /dev/null
+++ b/src/main/java/com/docus/server/message/converters/WsRecordSubmitMessageConvert.java
@@ -0,0 +1,68 @@
+package com.docus.server.message.converters;
+
+import com.docus.core.util.DateUtil;
+import com.docus.infrastructure.core.exception.BaseException;
+import com.docus.server.message.dto.RecordSubmitDTO;
+import com.docus.server.message.util.XmlUtil;
+import org.w3c.dom.Node;
+
+import java.util.Date;
+
+public class WsRecordSubmitMessageConvert {
+ public static RecordSubmitDTO convert(String str) {
+ String inHospNo = null;
+ String inHospIndexNo = null;
+ Integer visitNo = null;
+ String name = null;
+ Date submitTime = null;
+ Integer inHospState = null;
+
+ XmlUtil xmlUtil = XmlUtil.of(str);
+
+ try {
+ // 住院流水号
+ Node inHospNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_NO");
+ inHospNo = inHospNoNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院流水号 出错!");
+ }
+
+ try {
+ // 住院号
+ Node inHospIndexNoNode = xmlUtil.getNode("/Request/Msg/INHOSP_INDEX_NO");
+ inHospIndexNo = inHospIndexNoNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院号 出错!");
+ }
+ try {
+ // 住院次数
+ Node visitNoNode = xmlUtil.getNode("/Request/Msg/VISIT_NO");
+ visitNo = Integer.parseInt(visitNoNode.getTextContent());
+ } catch (Exception ex) {
+ throw new BaseException("解析 住院次数 出错!");
+ }
+ try {
+ // 患者姓名
+ Node nameNode = xmlUtil.getNode("/Request/Msg/NAME");
+ name = nameNode.getTextContent();
+ } catch (Exception ex) {
+ throw new BaseException("解析 姓名 出错!");
+ }
+ try {
+ // 提交时间
+ Node submitTimeNode = xmlUtil.getNode("/Request/Msg/SUBMIT_TIME");
+ submitTime = DateUtil.parse(submitTimeNode.getTextContent(), DateUtil.PATTERN_DATETIME);
+ } catch (Exception ex) {
+ throw new BaseException("解析 提交时间 出错!");
+ }
+
+ RecordSubmitDTO recordSubmitDTO = new RecordSubmitDTO();
+ recordSubmitDTO.setInHospNo(inHospNo);
+ recordSubmitDTO.setVisitNo(visitNo);
+ recordSubmitDTO.setInHospState(inHospState);
+ recordSubmitDTO.setName(name);
+ recordSubmitDTO.setInHospIndexNo(inHospIndexNo);
+ recordSubmitDTO.setSubmitTime(submitTime);
+ return recordSubmitDTO;
+ }
+}
diff --git a/src/main/java/com/docus/server/message/dto/RecordSubmitDTO.java b/src/main/java/com/docus/server/message/dto/RecordSubmitDTO.java
new file mode 100644
index 0000000..b87a334
--- /dev/null
+++ b/src/main/java/com/docus/server/message/dto/RecordSubmitDTO.java
@@ -0,0 +1,21 @@
+package com.docus.server.message.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RecordSubmitDTO {
+ // 住院流水号
+ private String inHospNo;
+ // 住院号
+ private String inHospIndexNo;
+ // 住院次数
+ private Integer visitNo;
+ // 患者姓名
+ private String name;
+ // 提交时间
+ private Date submitTime;
+ // 住院状态0:在院 1:出院
+ private Integer inHospState;
+}
\ No newline at end of file
diff --git a/src/main/java/com/docus/server/message/dto/WsNurseSubmitDTO.java b/src/main/java/com/docus/server/message/dto/WsNurseSubmitDTO.java
new file mode 100644
index 0000000..67363fc
--- /dev/null
+++ b/src/main/java/com/docus/server/message/dto/WsNurseSubmitDTO.java
@@ -0,0 +1,21 @@
+package com.docus.server.message.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WsNurseSubmitDTO {
+ // 住院流水号
+ private String inHospNo;
+ // 住院号
+ private String inHospIndexNo;
+ // 住院次数
+ private Integer visitNo;
+ // 患者姓名
+ private String name;
+ // 提交时间
+ private Date submitTime;
+ // 文件数量
+ private Integer filesCount;
+}
\ No newline at end of file
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 1a6ff49..4806847 100644
--- a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java
+++ b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java
@@ -9,5 +9,27 @@ import java.util.List;
public interface TBasicMapper{
List getPatientIdsByInpatientNoAndTimes(@Param("inpatientNo")String inHospIndexNo, @Param("admissTimes") Integer visitNo);
- int insertOrUpdateSubmitTime(@Param("patientId") String patientId, @Param("submitTime") Date submitTime);
+ /**
+ * 更新医生提交时间
+ * @param patientId 病案主键
+ * @param submitTime 提交时间
+ * @return database操作行
+ */
+ int insertOrUpdateDoctorSubmitTime(@Param("patientId") String patientId, @Param("submitTime") Date submitTime);
+
+ /**
+ * 更新护士提交时间
+ * @param patientId 病案主键
+ * @param submitTime 提交时间
+ * @return database操作行
+ */
+ int insertOrUpdateNurseSubmitTime(@Param("patientId") String patientId, @Param("submitTime") Date submitTime);
+
+ /**
+ * 更新护理文件数量
+ * @param patientId 病案主键
+ * @param fileCount 文件数量
+ * @return database操作行
+ */
+ int insertOrUpdateNurseFileCount(@Param("patientId")String patientId,@Param("fileCount") Integer fileCount);
}
diff --git a/src/main/java/com/docus/server/message/util/XmlUtil.java b/src/main/java/com/docus/server/message/util/XmlUtil.java
index 24765c7..11342fc 100644
--- a/src/main/java/com/docus/server/message/util/XmlUtil.java
+++ b/src/main/java/com/docus/server/message/util/XmlUtil.java
@@ -18,6 +18,7 @@ package com.docus.server.message.util;
import com.docus.core.util.Exceptions;
import com.docus.core.util.IoUtil;
+import com.docus.core.util.StringUtil;
import org.springframework.lang.Nullable;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
@@ -83,6 +84,14 @@ public class XmlUtil {
return create(inputSource);
}
+ /**
+ * xml遇到的特殊字符替换
+ */
+ public static String specialCharacterSubstitution(String str){
+ str = StringUtil.replace(str, "\u00A0", " ");
+ return str;
+ }
+
/**
* 转换工具类
*
@@ -90,6 +99,7 @@ public class XmlUtil {
* @return XmlUtil
*/
public static XmlUtil of(String xmlStr) {
+ xmlStr=specialCharacterSubstitution(xmlStr);
StringReader sr = new StringReader(xmlStr.trim());
InputSource inputSource = new InputSource(sr);
XmlUtil xmlUtil = create(inputSource);
diff --git a/src/main/java/com/docus/server/message/validate/BaseValidate.java b/src/main/java/com/docus/server/message/validate/BaseValidate.java
new file mode 100644
index 0000000..646805f
--- /dev/null
+++ b/src/main/java/com/docus/server/message/validate/BaseValidate.java
@@ -0,0 +1,4 @@
+package com.docus.server.message.validate;
+
+public abstract class BaseValidate {
+}
diff --git a/src/main/java/com/docus/server/message/validate/RecordSubmitValidate.java b/src/main/java/com/docus/server/message/validate/RecordSubmitValidate.java
new file mode 100644
index 0000000..d3d4092
--- /dev/null
+++ b/src/main/java/com/docus/server/message/validate/RecordSubmitValidate.java
@@ -0,0 +1,19 @@
+package com.docus.server.message.validate;
+
+import com.docus.core.util.Func;
+import com.docus.infrastructure.core.exception.BaseException;
+import com.docus.server.message.dto.RecordSubmitDTO;
+
+public class RecordSubmitValidate{
+ public static void verifyRecordSubmitDTO(RecordSubmitDTO recordSubmitDto) throws BaseException{
+ if (Func.isBlank(recordSubmitDto.getInHospIndexNo())) {
+ throw new BaseException("住院号不能为空!");
+ }
+ if (Func.isEmpty(recordSubmitDto.getVisitNo())) {
+ throw new BaseException("住院次数不能为空!");
+ }
+ if (Func.isEmpty(recordSubmitDto.getSubmitTime())) {
+ throw new BaseException("提交时间不能为空!");
+ }
+ }
+}
diff --git a/src/main/java/com/docus/server/message/validate/WsNurseSubmitValidate.java b/src/main/java/com/docus/server/message/validate/WsNurseSubmitValidate.java
new file mode 100644
index 0000000..4c8de6f
--- /dev/null
+++ b/src/main/java/com/docus/server/message/validate/WsNurseSubmitValidate.java
@@ -0,0 +1,25 @@
+package com.docus.server.message.validate;
+
+import com.docus.core.util.Func;
+import com.docus.infrastructure.core.exception.BaseException;
+import com.docus.server.message.dto.WsNurseSubmitDTO;
+
+public class WsNurseSubmitValidate {
+ public static void verifyNurseSubmitDTO(WsNurseSubmitDTO dto) throws BaseException {
+ if (Func.isBlank(dto.getInHospIndexNo())) {
+ throw new BaseException("住院号不能为空!");
+ }
+ if (Func.isEmpty(dto.getVisitNo())) {
+ throw new BaseException("住院次数不能为空!");
+ }
+ if (Func.isEmpty(dto.getSubmitTime())) {
+ throw new BaseException("提交时间不能为空!");
+ }
+ if (Func.isEmpty(dto.getFilesCount())) {
+ throw new BaseException("文件数量不能为空!");
+ }
+ if (dto.getFilesCount() < 1) {
+ throw new BaseException("文件数量不能小于1!");
+ }
+ }
+}
diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml
index 0f15a5a..584ea29 100644
--- a/src/main/resources/mapper/TBasicMapper.xml
+++ b/src/main/resources/mapper/TBasicMapper.xml
@@ -3,10 +3,18 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
+
insert into `docus_medicalrecord`.`t_basic_extend` (patient_id,doctor_submit_time) values (#{patientId},#{submitTime})
ON DUPLICATE KEY UPDATE doctor_submit_time=#{submitTime}
+
+ insert into `docus_medicalrecord`.`t_basic_extend` (patient_id,nurse_submit_time) values (#{patientId},#{submitTime})
+ ON DUPLICATE KEY UPDATE nurse_submit_time=#{submitTime}
+
+
+ insert into `docus_medicalrecord`.`t_basic_extend` (patient_id,nurse_file_count) values (#{patientId},#{fileCount})
+ ON DUPLICATE KEY UPDATE nurse_file_count=#{fileCount}
+