diff --git a/collect-sdry/src/main/java/com/docus/server/AppRunBootstrap.java b/collect-sdry/src/main/java/com/docus/server/AppRunBootstrap.java index 420bae5..7f13269 100644 --- a/collect-sdry/src/main/java/com/docus/server/AppRunBootstrap.java +++ b/collect-sdry/src/main/java/com/docus/server/AppRunBootstrap.java @@ -4,6 +4,8 @@ package com.docus.server; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.retry.annotation.EnableRetry; +import org.springframework.scheduling.annotation.EnableAsync; @Slf4j @@ -11,6 +13,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; //@EnableHystrix //@MapperScan("com.docus.server") @SpringBootApplication(scanBasePackages = {"com.docus"}) +@EnableRetry +@EnableAsync public class AppRunBootstrap { public static void main(String[] args) { System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); diff --git a/collect-sdry/src/main/java/com/docus/server/CxfConfig.java b/collect-sdry/src/main/java/com/docus/server/CxfConfig.java index 6dcd0ee..b0551d9 100644 --- a/collect-sdry/src/main/java/com/docus/server/CxfConfig.java +++ b/collect-sdry/src/main/java/com/docus/server/CxfConfig.java @@ -1,6 +1,6 @@ package com.docus.server; -import com.docus.server.ws.IWebserviceServer; +import com.docus.server.ws.IWebServiceServer; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBus; import org.apache.cxf.jaxws.EndpointImpl; @@ -16,7 +16,7 @@ import javax.xml.ws.Endpoint; @Configuration public class CxfConfig { @Resource - private IWebserviceServer webserviceServer; + private IWebServiceServer webserviceServer; /** * 注入Servlet,注意beanName不能为dispatcherServlet diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/HttpTBasicCollectServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectServiceImpl.java similarity index 93% rename from collect-sdry/src/main/java/com/docus/server/collect/basic/HttpTBasicCollectServiceImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectServiceImpl.java index f9f95f6..205f167 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/basic/HttpTBasicCollectServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectServiceImpl.java @@ -1,4 +1,4 @@ -package com.docus.server.collect.basic; +package com.docus.server.collect.basic.http; import com.docus.server.collect.service.IHttpTBasicCollectService; import com.docus.server.record.pojo.dto.TBasicDTO; diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/TBasicConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/TBasicConverter.java new file mode 100644 index 0000000..248a073 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/TBasicConverter.java @@ -0,0 +1,189 @@ +package com.docus.server.collect.basic.ws; + +import com.docus.core.util.Func; +import com.docus.core.util.XmlUtil; +import com.docus.server.collect.infrastructure.dao.FlagEnum; +import com.docus.server.record.pojo.dto.TBasicDTO; +import com.docus.server.tool.ParamsUtils; +import com.docus.server.ws.convert.ITBasicConverter; +import org.w3c.dom.Node; + +public class TBasicConverter implements ITBasicConverter { + + @Override + public TBasicDTO xmlToConvertBasicDTO(String message, FlagEnum flagEnum) { + XmlUtil xml = XmlUtil.of(message); + //id-消息流水号 + String serialId = null; + Node serialIdNode = FlagEnum.INSERT.equals(flagEnum) ? + xml.getNode("/PRPA_HIP0032/id/@extension") : xml.getNode("/PRPA_HIP0033/id/@extension"); + if (Func.isNotEmpty(serialIdNode)) { + serialId = serialIdNode.getNodeValue(); + } + //接受方 + String receive = null; + Node receiveNode = FlagEnum.INSERT.equals(flagEnum) ? + xml.getNode("/PRPA_HIP0032/receiver/device/id/item/@extension") : xml.getNode("/PRPA_HIP0033/receiver/device/id/item/@extension"); + if (Func.isNotEmpty(receiveNode)) { + receive = receiveNode.getNodeValue(); + } + //发送方 + String send = null; + Node sendNode = xml.getNode("/PRPA_HIP0032/sender/device/id/item/@extension"); + if (Func.isNotEmpty(sendNode)) { + send = sendNode.getNodeValue(); + } + //住院流水号 + String jzh = null; + Node jzhNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/item/@extension"); + if (Func.isNotEmpty(jzhNode)) { + jzh = jzhNode.getNodeValue(); + } + //住院号标识 + String inpatientNo = null; + Node inpatientNoNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/id/item/@extension"); + if (Func.isNotEmpty(inpatientNoNode)) { + inpatientNo = inpatientNoNode.getNodeValue(); + } + //住院次数[] + String admissTimes = null; + Node admissTimesNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/lengthOfStayQuantity[@unit='次']/@value"); + if (Func.isNotEmpty(admissTimesNode)) { + admissTimes = admissTimesNode.getNodeValue(); + } + //姓名 + String name = null; + Node nameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/name/item/part/@value"); + if (Func.isNotEmpty(nameNode)) { + name = nameNode.getNodeValue(); + } + //入院日期时间 + String admissDate = null; + Node admissDateNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/effectiveTime/low/@value"); + if (Func.isNotEmpty(admissDateNode)) { + admissDate = admissDateNode.getNodeValue(); + } + //出院日期时间 + String disDate = null; + Node disDateNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/effectiveTime/high/@value"); + if (Func.isNotEmpty(disDateNode)) { + disDate = disDateNode.getNodeValue(); + } + //入院诊断科室名称[] + String admissDeptName = null; + Node admissDeptNameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/component[@displayName='入院诊断']/section/entry[@displayName='入院诊断-西医条目']/observation/performer/assignedEntity/representedOrganization/name"); + if (Func.isNotEmpty(admissDeptNameNode)) { + admissDeptNameNode.getTextContent(); + } + //出院诊断科室名称[] + String disDeptName = null; + Node disDeptNameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/component[@displayName='出院诊断']/section/entry[@displayName='出院诊断-西医条目']/observation/performer/assignedEntity/representedOrganization/name"); + if (Func.isNotEmpty(disDeptNameNode)) { + disDeptName = disDeptNameNode.getTextContent(); + } + //主治医师[] + String attendingName = null; + Node attendingNameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/authenticator[@displayName='主治医师']/assignedEntity/assignedPerson/name"); + if (Func.isNotEmpty(attendingNameNode)) { + attendingName = attendingNameNode.getTextContent(); + } + //年龄 + String age = null; + Node ageNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/age[@unit='岁']/@value"); + if (Func.isNotEmpty(ageNode)) { + age = ageNode.getNodeValue(); + } + //性别 + String sex = null; + Node sexNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/administrativeGenderCode/@code"); + if (Func.isNotEmpty(sexNode)) { + sex = sexNode.getNodeValue(); + } + //身份证号 + String idCard = null; + Node idCardNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/id/item/@extension"); + if (Func.isNotEmpty(idCardNode)) { + idCard = idCardNode.getNodeValue(); + } + //出院科室 + String disDept = null; + Node disDeptCardNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/id/@extension"); + if (Func.isNotEmpty(disDeptCardNode)) { + disDept = disDeptCardNode.getNodeValue(); + } + //性别名称 + String sexName = null; + Node sexNameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/patientPerson/administrativeGenderCode/@displayName"); + if (Func.isNotEmpty(sexNameNode)) { + sexName = sexNameNode.getNodeValue(); + } + //床位号 + String bedNum = null; + Node bedNumNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/id/@extension"); + if (Func.isNotEmpty(bedNumNode)) { + bedNum = bedNumNode.getNodeValue(); + } + //住院天数数[] + String admissDays = null; + Node admissDaysNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/lengthOfStayQuantity[@unit='天']/@value"); + if (Func.isNotEmpty(admissDaysNode)) { + admissDays = admissDaysNode.getNodeValue(); + } + //是否死亡[] + String isDead = null; + Node isDeadNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/component[@displayName='出院诊断']/section/entry[@displayName='出院情况']/observation/value"); + if (Func.isNotEmpty(isDeadNode)) { + isDead = isDeadNode.getTextContent(); + } + //病区编号 + String wardCode = null; + Node wardCodeNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/id/@extension"); + if (Func.isNotEmpty(wardCodeNode)) { + wardCode = wardCodeNode.getNodeValue(); + } + //病区名称 + String wardName = null; + Node wardNameNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/componentOf/encompassingEncounter/location/healthCareFacility/serviceProviderOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/asOrganizationPartOf/wholeOrganization/name"); + if (Func.isNotEmpty(wardNameNode)) { + wardName = wardNameNode.getTextContent(); + } + //顺德人医第三方索引 + String sdryIndex = null; + Node sdryIndexNode = xml.getNode("/PRPA_HIP0032/controlActProcess/subject/encounterEvent/subject/patient/id/item/@extension"); + if (Func.isNotEmpty(sdryIndexNode)) { + sdryIndex = sdryIndexNode.getNodeValue(); + } + + //设置dto + TBasicDTO dto = new TBasicDTO(); + dto.setSerialId(serialId); + dto.setSend(send); + dto.setReceive(receive); + dto.setInpatientNo(inpatientNo); + dto.setName(name); + dto.setJzh(jzh); + dto.setAdmissDeptName(admissDeptName); + dto.setDisDeptName(disDeptName); + dto.setAdmissDate(admissDate); + dto.setDisDate(disDate); + dto.setAdmissTimes(admissTimes); + dto.setAttendingName(attendingName); + dto.setAge(age); + dto.setSex(sex); + dto.setIdCard(idCard); + dto.setDisDept(disDept); + dto.setSexName(sexName); + dto.setBedNum(bedNum); + dto.setIsDead(isDead); + dto.setAdmissDays(admissDays); + dto.setWardCode(wardCode); + dto.setWardName(wardName); + dto.setSdryIndex(sdryIndex); + + dto.setParams(ParamsUtils.addParam("serialId", dto.getSerialId()) + .addParam("receive", dto.getReceive()) + .addParam("send", dto.getSend()) + .param()); + return dto; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicResultImpl.java new file mode 100644 index 0000000..854ff0d --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicResultImpl.java @@ -0,0 +1,55 @@ +package com.docus.server.collect.basic.ws; + +import com.docus.core.util.DateUtil; +import com.docus.core.util.Func; +import com.docus.server.ws.IWsResult; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.Map; + +@Component("wsBasicResultImpl") +public class WsBasicResultImpl implements IWsResult { + + + @Override + public String ok(Map params) { + return null; + } + + @Override + public String fail(Map params) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "\n"; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/HttpDeptCollectServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectServiceImpl.java similarity index 96% rename from collect-sdry/src/main/java/com/docus/server/collect/dept/HttpDeptCollectServiceImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectServiceImpl.java index 8b858fe..bcbd796 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/dept/HttpDeptCollectServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectServiceImpl.java @@ -1,4 +1,4 @@ -package com.docus.server.collect.dept; +package com.docus.server.collect.dept.http; import com.docus.server.collect.service.IHttpDeptCollectService; import com.docus.server.sys.common.pojo.dto.DeptDTO; diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/JmsIbmMqDeptCollectServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/mq/JmsIbmMqDeptCollectServiceImpl.java similarity index 98% rename from collect-sdry/src/main/java/com/docus/server/collect/dept/JmsIbmMqDeptCollectServiceImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/dept/mq/JmsIbmMqDeptCollectServiceImpl.java index 19cd1c6..753e354 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/dept/JmsIbmMqDeptCollectServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/mq/JmsIbmMqDeptCollectServiceImpl.java @@ -1,4 +1,4 @@ -package com.docus.server.collect.dept; +package com.docus.server.collect.dept.mq; import com.docus.core.util.XmlUtil; import com.docus.server.collect.mq.dept.AbstractDeptMqCollectService; diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptResultImpl.java new file mode 100644 index 0000000..825791e --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptResultImpl.java @@ -0,0 +1,89 @@ +package com.docus.server.collect.dept.ws; + +import com.docus.core.util.DateUtil; +import com.docus.core.util.Func; +import com.docus.server.tool.IdUtil; +import com.docus.server.ws.IWsResult; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.Map; + +@Component("wsDeptResultImpl") +public class WsDeptResultImpl implements IWsResult { + + @Override + public String ok(Map params) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + ""; + } + + @Override + public String fail(Map params) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\n"; + } + +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/powerDeptConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/powerDeptConverter.java new file mode 100644 index 0000000..4db0a8e --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/powerDeptConverter.java @@ -0,0 +1,41 @@ +package com.docus.server.collect.dept.ws; + +import com.docus.core.util.XmlUtil; +import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.tool.ParamsUtils; +import com.docus.server.ws.convert.IPowerDeptConverter; +import org.w3c.dom.Node; + +public class powerDeptConverter implements IPowerDeptConverter { + + @Override + public DeptDTO xmlToConvertDeptDTO(String message) { + //TODO: 根据协议进行解析。 + XmlUtil xmlParseUtil = XmlUtil.of(message); + Node msgIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/id/@extension"); + Node receiverNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/receiver/device/id/item/@extension"); + Node operateTypeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/@operateType"); + Node deptCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_CODE/@value"); + Node deptNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_NAME/@value"); + Node authorIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/id/item/@extension"); + Node authorNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/assignedPerson/name/item/part/@value"); + + DeptDTO deptDto = new DeptDTO(); + deptDto.setMessageId(msgIdNode.getNodeValue()); + deptDto.setReceiver(receiverNode.getNodeValue()); + deptDto.setOperateType(operateTypeNode.getNodeValue()); + deptDto.setDeptCode(deptCodeNode.getNodeValue()); + deptDto.setDeptName(deptNameNode.getNodeValue()); + deptDto.setAuthorId(authorIdNode.getNodeValue()); + deptDto.setAuthorName(authorNameNode.getNodeValue()); + deptDto.setSource(message);//原始xml报文 + + deptDto.setParams(ParamsUtils.addParam("msg", "操作成功!") + .addParam("msgId", deptDto.getMessageId()) + .addParam("receiver", deptDto.getReceiver()) + .param()); + + return deptDto; + } + +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/HttpUserCollectServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectServiceImpl.java similarity index 95% rename from collect-sdry/src/main/java/com/docus/server/collect/user/HttpUserCollectServiceImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectServiceImpl.java index fd4e265..dab0a32 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/HttpUserCollectServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectServiceImpl.java @@ -1,4 +1,4 @@ -package com.docus.server.collect.user; +package com.docus.server.collect.user.http; import com.docus.server.collect.service.IHttpUserCollectService; import com.docus.server.sys.common.pojo.dto.UserDTO; diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/JmsIbmMqUserCollectServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/mq/JmsIbmMqUserCollectServiceImpl.java similarity index 99% rename from collect-sdry/src/main/java/com/docus/server/collect/user/JmsIbmMqUserCollectServiceImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/user/mq/JmsIbmMqUserCollectServiceImpl.java index 50cacf5..c14cd8d 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/JmsIbmMqUserCollectServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/mq/JmsIbmMqUserCollectServiceImpl.java @@ -1,4 +1,4 @@ -package com.docus.server.collect.user; +package com.docus.server.collect.user.mq; import com.docus.core.util.XmlUtil; import com.docus.server.collect.mq.user.AbstractUserMqCollectService; diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java new file mode 100644 index 0000000..e46c33d --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java @@ -0,0 +1,89 @@ +package com.docus.server.collect.user.ws; + +import com.docus.core.util.DateUtil; +import com.docus.core.util.Func; +import com.docus.server.tool.IdUtil; +import com.docus.server.ws.IWsResult; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.Map; + +@Component("wsUserResultImpl") +public class WsUserResultImpl implements IWsResult { + + @Override + public String ok(Map params) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + ""; + } + + @Override + public String fail(Map params) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\n"; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/powerUserConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/powerUserConverter.java new file mode 100644 index 0000000..afba057 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/powerUserConverter.java @@ -0,0 +1,42 @@ +package com.docus.server.collect.user.ws; + +import com.docus.core.util.XmlUtil; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.docus.server.tool.ParamsUtils; +import com.docus.server.ws.convert.IPowerUserConverter; +import org.w3c.dom.Node; + +public class powerUserConverter implements IPowerUserConverter { + + @Override + public UserDTO xmlToConvertUserDTO(String message) { + XmlUtil xmlParseUtil = XmlUtil.of(message); + Node msgIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/id/@extension"); + Node receiverNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/receiver/device/id/item/@extension"); + Node operateTypeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/@operateType"); + Node employeeCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/EMPL_CODE/@value"); + Node employeeNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/EMPL_NAME/@value"); + Node deptCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_CODE/@value"); + Node positionNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/POSI_NAME/@value"); + Node authorIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/id/item/@extension"); + Node authorNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/assignedPerson/name/item/part/@value"); + UserDTO userDTO = new UserDTO(); + userDTO.setDeptId(deptCodeNode.getNodeValue()); + userDTO.setReceiver(receiverNode.getNodeValue()); + userDTO.setOperateType(operateTypeNode.getNodeValue()); + userDTO.setUserName(employeeCodeNode.getNodeValue()); + userDTO.setName(employeeNameNode.getNodeValue()); + userDTO.setPosition(positionNode.getNodeValue()); + userDTO.setAuthorId(authorIdNode.getNodeValue()); + userDTO.setMessageId(msgIdNode.getNodeValue()); + userDTO.setAuthorName(authorNameNode.getNodeValue()); + userDTO.setRoleId(0L); + + userDTO.setParams(ParamsUtils.addParam("msg", "操作成功!") + .addParam("msgId", userDTO.getMessageId()) + .addParam("receiver", userDTO.getReceiver()) + .param()); + + return userDTO; + } +} diff --git a/collect-sdry/src/main/resources/bootstrap.yml b/collect-sdry/src/main/resources/bootstrap.yml index 21e0cbf..a4089bb 100644 --- a/collect-sdry/src/main/resources/bootstrap.yml +++ b/collect-sdry/src/main/resources/bootstrap.yml @@ -52,6 +52,7 @@ mybatis-plus: db-config: field-strategy: NOT_EMPTY db-type: MYSQL + type-enums-package: com.docus.server.collect.infrastructure.enums xxl: job: accessToken: diff --git a/common-collect/pom.xml b/common-collect/pom.xml index a108d23..2ef9011 100644 --- a/common-collect/pom.xml +++ b/common-collect/pom.xml @@ -26,5 +26,11 @@ his-sysem 1.0-SNAPSHOT + + + org.springframework.retry + spring-retry + + diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/CollectTypeEnum.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/CollectTypeEnum.java new file mode 100644 index 0000000..f8e5432 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/CollectTypeEnum.java @@ -0,0 +1,33 @@ +package com.docus.server.collect.infrastructure.dao; + +import com.docus.server.collect.infrastructure.enums.IIntegerEnum; + +public enum CollectTypeEnum implements IIntegerEnum { + + WS_XML_DEPT(0, "ws同步的科室数据"), + WS_XML_USER(1, "ws同步的用户数据"), + WS_XML_BASIC(2, "ws同步的病患数据"); + + private Integer value; + private String display; + + CollectTypeEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDisplay() { + + return display; + } + + public static CollectTypeEnum fromValue(Integer value) { + return IIntegerEnum.fromValue(CollectTypeEnum.class, value); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/FlagEnum.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/FlagEnum.java new file mode 100644 index 0000000..a116df0 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/FlagEnum.java @@ -0,0 +1,32 @@ +package com.docus.server.collect.infrastructure.dao; + +import com.docus.server.collect.infrastructure.enums.IIntegerEnum; + +public enum FlagEnum implements IIntegerEnum { + INSERT(1, "新增"), + UPDATE(2, "更新"), + DELETE(3, "删除"); + + private Integer value; + private String display; + + FlagEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDisplay() { + + return display; + } + + public static FlagEnum fromValue(Integer value) { + return IIntegerEnum.fromValue(FlagEnum.class, value); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/StateEnum.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/StateEnum.java new file mode 100644 index 0000000..3f57c77 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/StateEnum.java @@ -0,0 +1,27 @@ +package com.docus.server.collect.infrastructure.dao; + +import com.docus.server.collect.infrastructure.enums.IIntegerEnum; + +public enum StateEnum implements IIntegerEnum { + OK(0, "成功"), + FAIL(1, "失败"); + + private Integer value; + private String display; + + StateEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDisplay() { + + return display; + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/TaskOriginalMessage.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/TaskOriginalMessage.java new file mode 100644 index 0000000..242c563 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/dao/TaskOriginalMessage.java @@ -0,0 +1,59 @@ +package com.docus.server.collect.infrastructure.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + + +/** + *

+ * 任务采集原始报文信息 + *

+ * + * @author AutoGenerator + * @since 2023-06-01 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("task_original_message") +@ApiModel(value = "TaskOriginalMessage对象", description = "") +public class TaskOriginalMessage implements Serializable { + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private long id; + + @ApiModelProperty(value = "采集名字") + @TableField("name") + private String name; + + @ApiModelProperty(value = "采集类型") + @TableField("collect_type") + private CollectTypeEnum collectType; + + @ApiModelProperty(value = "原始报文") + @TableField("source") + private String source; + + @ApiModelProperty(value = "状态 1:失败,0:成功") + @TableField("state") + private StateEnum state; + + @ApiModelProperty(value = "入库时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + @TableField("update_time") + private Date updateTime; + + +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumItemView.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumItemView.java new file mode 100644 index 0000000..4697cfa --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumItemView.java @@ -0,0 +1,31 @@ +package com.docus.server.collect.infrastructure.enums; + +public class EnumItemView { + + private Integer value; + private String display; + + public EnumItemView() { + } + + public EnumItemView(Integer value, String display) { + this.value = value; + this.display = display; + } + + public Integer getValue() { + return value; + } + + public void setValue(Integer value) { + this.value = value; + } + + public String getDisplay() { + return display; + } + + public void setDisplay(String display) { + this.display = display; + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumTypeHandlerDispatch.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumTypeHandlerDispatch.java new file mode 100644 index 0000000..03e376f --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/EnumTypeHandlerDispatch.java @@ -0,0 +1,49 @@ +package com.docus.server.collect.infrastructure.enums; + +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.EnumTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +//mybatis枚举类型分发 +public class EnumTypeHandlerDispatch> extends BaseTypeHandler { + private BaseTypeHandler typeHandler; + + public EnumTypeHandlerDispatch(Class type) { + if (type == null) { + throw new IllegalArgumentException("Type argument. cannot be nu11"); + } + if (IIntegerEnum.class.isAssignableFrom(type)) { + //如果实现了IIntegerEnum,使用自定义的转换器 + typeHandler = new IntegerEnumHandler(type); + } else { + //默认转换器 + typeHandler = new EnumTypeHandler<>(type); + } + } + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, E parameter, JdbcType jdbcType) throws + SQLException { + typeHandler.setNonNullParameter(ps, i, parameter, jdbcType); + } + + @Override + public E getNullableResult(ResultSet rs, String columnName) throws SQLException { + return typeHandler.getNullableResult(rs, columnName); + } + + @Override + public E getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return typeHandler.getNullableResult(rs, columnIndex); + } + + @Override + public E getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return typeHandler.getNullableResult(cs, columnIndex); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IIntegerEnum.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IIntegerEnum.java new file mode 100644 index 0000000..645371c --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IIntegerEnum.java @@ -0,0 +1,23 @@ +package com.docus.server.collect.infrastructure.enums; + +import com.baomidou.mybatisplus.annotation.IEnum; + +import java.util.Objects; + +public interface IIntegerEnum extends IEnum { + + + @Override + Integer getValue(); + + String getDisplay(); + + static T fromValue(Class enumType, Integer value) { + for (T object : enumType.getEnumConstants()) { + if (Objects.equals(value, object.getValue())) { + return object; + } + } + throw new IllegalArgumentException("No. enum value 。" + value + "of " + enumType.getCanonicalName()); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IntegerEnumHandler.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IntegerEnumHandler.java new file mode 100644 index 0000000..5b2f3ba --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/enums/IntegerEnumHandler.java @@ -0,0 +1,48 @@ +package com.docus.server.collect.infrastructure.enums; + +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +//mybatis枚举类型转换 +public class IntegerEnumHandler extends BaseTypeHandler { + private final Class type; + + public IntegerEnumHandler(Class type) { + if (type == null) { + throw new IllegalArgumentException("Type argument. cannot. be nu11"); + } + this.type = type; + } + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, E parameter, JdbcType jdbcType) throws SQLException { + if (jdbcType == null) { + ps.setInt(i, parameter.getValue()); + } else { + ps.setObject(i, parameter.getValue(), jdbcType.TYPE_CODE); //1 / see r3589 + } + } + + @Override + public E getNullableResult(ResultSet rs, String columnName) throws SQLException { + String s = rs.getString(columnName); + return s == null ? null : IIntegerEnum.fromValue(type, Integer.parseInt(s)); + } + + @Override + public E getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + String s = rs.getString(columnIndex); + return s == null ? null : IIntegerEnum.fromValue(type, Integer.parseInt(s)); + } + + @Override + public E getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + String s = cs.getString(columnIndex); + return s == null ? null : IIntegerEnum.fromValue(type, Integer.parseInt(s)); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/infrastructure/mapper/TaskOriginalMessageMapper.java b/common-collect/src/main/java/com/docus/server/collect/infrastructure/mapper/TaskOriginalMessageMapper.java new file mode 100644 index 0000000..fa89679 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/infrastructure/mapper/TaskOriginalMessageMapper.java @@ -0,0 +1,14 @@ +package com.docus.server.collect.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.docus.server.collect.infrastructure.dao.TaskOriginalMessage; +import org.apache.ibatis.annotations.Mapper; + +/** + * Mapper 接口 + * Generated on 2023-06-01 + */ +@Mapper +public interface TaskOriginalMessageMapper extends BaseMapper { + +} diff --git a/common-collect/src/main/java/com/docus/server/collect/service/CollectService.java b/common-collect/src/main/java/com/docus/server/collect/service/CollectService.java index 1d2789a..05b3f13 100644 --- a/common-collect/src/main/java/com/docus/server/collect/service/CollectService.java +++ b/common-collect/src/main/java/com/docus/server/collect/service/CollectService.java @@ -1,35 +1,48 @@ package com.docus.server.collect.service; -import com.docus.server.collect.infrastructure.dao.ReceiveDeptInfoEntity; -import com.docus.server.collect.infrastructure.mapper.ReceiveDeptInfoMapper; import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.service.IPowerDeptService; -import org.springframework.stereotype.Component; +import com.docus.server.sys.service.IPowerUserService; +import com.docus.server.ws.impl.BaseCollectService; +import org.springframework.retry.annotation.Backoff; +import org.springframework.retry.annotation.Retryable; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; -@Component @Service -public class CollectService { - +public class CollectService extends BaseCollectService { @Resource private IPowerDeptService deptService; @Resource - private ReceiveDeptInfoMapper receiveDeptInfoMapper; - - public void receiveDept(DeptDTO dept) { - - //判断任务是否存在。 - //保存数据库 - //从dept 解析为数据库对象 - ReceiveDeptInfoEntity receiveDeptInfoEntity = new ReceiveDeptInfoEntity(); - receiveDeptInfoMapper.insert(receiveDeptInfoEntity); - + private IPowerUserService userService; + + /** + * 默认3次重试 + */ + @Async + @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 1.5)) + public void toInsertOrUpdateDept(DeptDTO deptDTO) { //异步写入归档系统,失败自动重试。 - deptService.saveOrUpdatePowerDept(dept); + if (checkType(deptDTO.getOperateType(), delType)) { + deptService.delDeptByDeptCode(deptDTO.getDeptCode()); + } else { + deptService.saveOrUpdatePowerDept(deptDTO); + } } + @Async + @Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 1.5)) + public void toInsertOrUpdateUser(UserDTO userDTO) { + // 判断操作类型 + if (checkType(userDTO.getOperateType(), delType)) { + userService.delUserByUserName(userDTO.getUserName()); + } else { + userService.saveOrUpdatePowerUser(userDTO); + } + } } diff --git a/common-collect/src/main/java/com/docus/server/tool/ParamsUtils.java b/common-collect/src/main/java/com/docus/server/tool/ParamsUtils.java new file mode 100644 index 0000000..9963be4 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/tool/ParamsUtils.java @@ -0,0 +1,34 @@ +package com.docus.server.tool; + +import java.util.HashMap; +import java.util.Map; + +public final class ParamsUtils { + + public static Param addParam(String key, Object obj) { + return new Param(key, obj); + } + + public Map param(String key, Object obj) { + return new Param(key, obj).param(); + } + + public static final class Param { + + private Map params = new HashMap(); + + + public Param(String key, Object value) { + addParam(key, value); + } + + public Param addParam(String key, Object value) { + this.params.put(key, value); + return this; + } + + public Map param() { + return this.params; + } + } +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IBasicService.java b/common-collect/src/main/java/com/docus/server/ws/IBasicService.java new file mode 100644 index 0000000..3aeb3e8 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/IBasicService.java @@ -0,0 +1,16 @@ +package com.docus.server.ws; + +import javax.jws.WebService; + +@WebService +public interface IBasicService { + /** + * @description新增基础数据 + */ + public String setTBasic(String str); + + /** + * @description更新基础数据 + */ + public String updateTBasic(String str); +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IDeptServer.java b/common-collect/src/main/java/com/docus/server/ws/IDeptServer.java new file mode 100644 index 0000000..c173504 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/IDeptServer.java @@ -0,0 +1,17 @@ +package com.docus.server.ws; + +import javax.jws.WebService; + +/** + * @author Fang Ruichuan + * @date 2022-11-14 19:03 + */ +@WebService +public interface IDeptServer { + /** + * 科室信息接收,进行操作 + * @param receiveUser 接收到的科室数据 + * @return 返回结果 + */ + String deptModify(String receiveUser); +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IReportServer.java b/common-collect/src/main/java/com/docus/server/ws/IReportServer.java new file mode 100644 index 0000000..f6dc561 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/IReportServer.java @@ -0,0 +1,38 @@ +package com.docus.server.ws; + +import javax.jws.WebService; + +/** + * @author Fang Ruichuan + * @date 2022-11-14 19:03 + */ +@WebService +public interface IReportServer { + /** + * 接收手麻报告信息 + * @param saReportMessage 手麻报告信息 + * @return 返回信息 + */ + String pushSAReport(String saReportMessage); + + /** + * 接收重症报告信息 + * @param icuReportMessage 重症报告信息 + * @return 返回信息 + */ + String pushICUReport(String icuReportMessage); + + /** + * 接收检查报告的信息 - 新增 + * @param inspectionReportMessage 检查报告信息 - 新增 + * @return 成功或者异常信息 + */ + String pushAddInspectionReport(String inspectionReportMessage); + + /** + * 接收检查报告的信息 - 更新 + * @param inspectionReportMessage 检查报告信息 -更新 + * @return 成功或者异常信息 + */ + String pushUpdateInspectionReport(String inspectionReportMessage); +} diff --git a/common-collect/src/main/java/com/docus/server/ws/ITaskOriginalMessageService.java b/common-collect/src/main/java/com/docus/server/ws/ITaskOriginalMessageService.java new file mode 100644 index 0000000..cc2b57e --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/ITaskOriginalMessageService.java @@ -0,0 +1,11 @@ +package com.docus.server.ws; + +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; + +public interface ITaskOriginalMessageService { + + long insertTaskOriginalMessage(String deptXml, CollectTypeEnum collectType); + + void updateTaskOriginalMessage(long id); + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IUserServer.java b/common-collect/src/main/java/com/docus/server/ws/IUserServer.java new file mode 100644 index 0000000..f0d72b5 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/IUserServer.java @@ -0,0 +1,17 @@ +package com.docus.server.ws; + +import javax.jws.WebService; + +/** + * @author Fang Ruichuan + * @date 2022-11-14 19:03 + */ +@WebService +public interface IUserServer { + /** + * 用户信息接收,进行操作 + * @param receiveUser 接收到的用户参数 + * @return 返回结果 + */ + String userModify(String receiveUser); +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IWebserviceServer.java b/common-collect/src/main/java/com/docus/server/ws/IWebServiceServer.java similarity index 93% rename from common-collect/src/main/java/com/docus/server/ws/IWebserviceServer.java rename to common-collect/src/main/java/com/docus/server/ws/IWebServiceServer.java index 7fd43a3..049db92 100644 --- a/common-collect/src/main/java/com/docus/server/ws/IWebserviceServer.java +++ b/common-collect/src/main/java/com/docus/server/ws/IWebServiceServer.java @@ -2,15 +2,14 @@ package com.docus.server.ws; import javax.jws.WebService; -@WebService -public interface IWebserviceServer { +@WebService(targetNamespace = "http://impl.webservice.collection.server.docus.com/") +public interface IWebServiceServer { /** * 接收xml。并且下载病案。 */ String receiveHandNumbness(String handNumbness); - /** * 接收部门xml * diff --git a/common-collect/src/main/java/com/docus/server/ws/IWsResult.java b/common-collect/src/main/java/com/docus/server/ws/IWsResult.java index 124e8b6..cc8997a 100644 --- a/common-collect/src/main/java/com/docus/server/ws/IWsResult.java +++ b/common-collect/src/main/java/com/docus/server/ws/IWsResult.java @@ -6,9 +6,6 @@ public interface IWsResult { String ok(Map params); - String fail(String message); - - String ok(String message); - + String fail(Map params); } diff --git a/common-collect/src/main/java/com/docus/server/ws/WsCollect.java b/common-collect/src/main/java/com/docus/server/ws/WsCollect.java index 7681215..6e13085 100644 --- a/common-collect/src/main/java/com/docus/server/ws/WsCollect.java +++ b/common-collect/src/main/java/com/docus/server/ws/WsCollect.java @@ -1,7 +1,5 @@ package com.docus.server.ws; -import com.docus.core.util.Func; -import com.docus.infrastructure.core.exception.BaseException; import com.docus.server.collect.service.CollectService; import com.docus.server.collect.service.IParseService; import com.docus.server.record.pojo.entity.MedicalRecord; @@ -12,9 +10,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.Map; - @Slf4j @Component public class WsCollect { @@ -28,10 +23,6 @@ public class WsCollect { private IWsResult wsResult; @Autowired private IPowerDeptService powerDeptService; - @Autowired - private IWsResult wsResult; - @Autowired - private IWsResult wsResult; //接收xml。并且下载病案。 public String receiveHandNumbness(String handNumbness) { @@ -58,31 +49,4 @@ public class WsCollect { } } - - public String deptModify(String receiveUser) { - log.info("新增/修改科室数据:{}", receiveUser); - DeptDTO deptDto = new DeptDTO(); - try { - deptDto = parseService.parseDeptXml(receiveUser); - String operateType = deptDto.getOperateType(); - String delType = "D"; - // 判断操作类型 - if (Func.isNotEmpty(operateType) && operateType.contains(delType)) { - powerDeptService.delDeptByDeptCode(deptDto.getDeptCode()); - } else { - powerDeptService.saveOrUpdatePowerDept(deptDto); - } - return wsResult.ok(parseService.parseDeptOkXml(deptDto)); - } catch (BaseException e) { - log.error(e.getMessage(), e); - deptDto.setErrorMsg(e.getMessage()); - return wsResult.fail(parseService.parseDeptFailXml(deptDto)); - } catch (Exception e) { - log.error(e.getMessage(), e); - deptDto.setErrorMsg("系统出错啦!"); - return wsResult.fail(parseService.parseDeptFailXml(deptDto)); - } - } - - } diff --git a/common-collect/src/main/java/com/docus/server/ws/convert/IPowerDeptConverter.java b/common-collect/src/main/java/com/docus/server/ws/convert/IPowerDeptConverter.java new file mode 100644 index 0000000..4afbb79 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/convert/IPowerDeptConverter.java @@ -0,0 +1,14 @@ +package com.docus.server.ws.convert; + +import com.docus.server.sys.common.pojo.dto.DeptDTO; + +public interface IPowerDeptConverter { + /** + * 解析 ws dept xml + * + * @param message + * @return + */ + DeptDTO xmlToConvertDeptDTO(String message); + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/convert/IPowerUserConverter.java b/common-collect/src/main/java/com/docus/server/ws/convert/IPowerUserConverter.java new file mode 100644 index 0000000..1fe51be --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/convert/IPowerUserConverter.java @@ -0,0 +1,14 @@ +package com.docus.server.ws.convert; + +import com.docus.server.sys.common.pojo.dto.UserDTO; + +public interface IPowerUserConverter { + /** + * 解析 ws user xml + * + * @param message + * @return + */ + UserDTO xmlToConvertUserDTO(String message); + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/convert/ITBasicConverter.java b/common-collect/src/main/java/com/docus/server/ws/convert/ITBasicConverter.java new file mode 100644 index 0000000..4167e8e --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/convert/ITBasicConverter.java @@ -0,0 +1,16 @@ +package com.docus.server.ws.convert; + +import com.docus.server.collect.infrastructure.dao.FlagEnum; +import com.docus.server.record.pojo.dto.TBasicDTO; + +public interface ITBasicConverter { + /** + * 解析 ws basic xml + * + * @param message + * @param update + * @return + */ + TBasicDTO xmlToConvertBasicDTO(String message, FlagEnum update); + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/convert/TaskOriginalMessageConverter.java b/common-collect/src/main/java/com/docus/server/ws/convert/TaskOriginalMessageConverter.java new file mode 100644 index 0000000..6b2ed86 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/convert/TaskOriginalMessageConverter.java @@ -0,0 +1,28 @@ +package com.docus.server.ws.convert; + +import com.docus.core.util.DateUtil; +import com.docus.infrastructure.redis.service.IdService; +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; +import com.docus.server.collect.infrastructure.dao.StateEnum; +import com.docus.server.collect.infrastructure.dao.TaskOriginalMessage; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class TaskOriginalMessageConverter { + @Resource + private IdService idService; + + public TaskOriginalMessage toConvertTaskOriginalMessageDO(String xml, CollectTypeEnum collectType) { + TaskOriginalMessage taskOriginalMessage = new TaskOriginalMessage(); + taskOriginalMessage.setId(idService.getDateSeq()); + taskOriginalMessage.setName(collectType.name()); + taskOriginalMessage.setCollectType(collectType); + taskOriginalMessage.setSource(xml); + taskOriginalMessage.setState(StateEnum.OK); + taskOriginalMessage.setCreateTime(DateUtil.now()); + taskOriginalMessage.setUpdateTime(DateUtil.now()); + return taskOriginalMessage; + } +} diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/BaseCollectService.java b/common-collect/src/main/java/com/docus/server/ws/impl/BaseCollectService.java new file mode 100644 index 0000000..f46347f --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/BaseCollectService.java @@ -0,0 +1,16 @@ +package com.docus.server.ws.impl; + +import com.docus.core.util.Func; + +public class BaseCollectService { + + protected String delType = "D"; + + + protected boolean checkType(String operateType, String delType) { + return Func.isNotEmpty(operateType) + && operateType.contains(delType); + } + + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/BasicServiceImpl.java b/common-collect/src/main/java/com/docus/server/ws/impl/BasicServiceImpl.java new file mode 100644 index 0000000..6d8ab88 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/BasicServiceImpl.java @@ -0,0 +1,92 @@ +package com.docus.server.ws.impl; + +import com.docus.core.util.Func; +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; +import com.docus.server.collect.infrastructure.dao.FlagEnum; +import com.docus.server.record.pojo.dto.TBasicDTO; +import com.docus.server.record.service.ITBasicService; +import com.docus.server.tool.ParamsUtils; +import com.docus.server.ws.IBasicService; +import com.docus.server.ws.ITaskOriginalMessageService; +import com.docus.server.ws.IWsResult; +import com.docus.server.ws.convert.ITBasicConverter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @BelongsProject: docus-webservice-sdry + * @BelongsPackage: com.docus.server.collection.webservice + * @Author: chierhao + * @CreateTime: 2023-02-25 14:52 + * @Description: TODO + * @Version: 1.0 + */ +@Service +@Slf4j +public class BasicServiceImpl implements IBasicService { + @Resource(name = "wsDeptResultImpl") + private IWsResult wsResult; + @Resource + private ITBasicService tBasicService; + @Resource + private ITBasicConverter converter; + @Resource + private ITaskOriginalMessageService taskOriginalMessageService; + + @Override + public String setTBasic(String message) { + log.info("新增基础数据:{}", message); + + if (Func.isEmpty(message)) { + return toFail(); + } + + //此处需要存储原xml内容。 + TBasicDTO tBasicDTO = new TBasicDTO(); + long id = 0; + try { + id = taskOriginalMessageService.insertTaskOriginalMessage(message, CollectTypeEnum.WS_XML_BASIC); + tBasicDTO = converter.xmlToConvertBasicDTO(message, FlagEnum.INSERT); + tBasicService.insertTBasic(tBasicDTO); + return wsResult.ok(tBasicDTO.getParams()); + } catch (Exception e) { + log.error(e.getMessage(), e); + taskOriginalMessageService.updateTaskOriginalMessage(id); + tBasicDTO.getParams().put("msg", e.getMessage()); + return wsResult.fail(tBasicDTO.getParams()); + } + } + + @Override + public String updateTBasic(String message) { + log.info("修改基础数据:{}", message); + + if (Func.isEmpty(message)) { + return toFail(); + } + + TBasicDTO tBasicDTO = new TBasicDTO(); + long id = 0; + try { + id = taskOriginalMessageService.insertTaskOriginalMessage(message, CollectTypeEnum.WS_XML_BASIC); + tBasicDTO = converter.xmlToConvertBasicDTO(message, FlagEnum.UPDATE); + tBasicService.updateTBasic(tBasicDTO); + return wsResult.ok(tBasicDTO.getParams()); + } catch (Exception e) { + log.error(e.getMessage(), e); + taskOriginalMessageService.updateTaskOriginalMessage(id); + tBasicDTO.getParams().put("msg", e.getMessage()); + return wsResult.fail(tBasicDTO.getParams()); + } + } + + private String toFail() { + return wsResult.fail(ParamsUtils.addParam("serialId", null) + .addParam("msg", "参数为空") + .addParam("receive", null) + .addParam("send", null).param()); + } +} + diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/DeptServerImpl.java b/common-collect/src/main/java/com/docus/server/ws/impl/DeptServerImpl.java new file mode 100644 index 0000000..8063f37 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/DeptServerImpl.java @@ -0,0 +1,52 @@ +package com.docus.server.ws.impl; + +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; +import com.docus.server.collect.service.CollectService; +import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.ws.IDeptServer; +import com.docus.server.ws.ITaskOriginalMessageService; +import com.docus.server.ws.IWsResult; +import com.docus.server.ws.convert.IPowerDeptConverter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author wen yongbin + * @date 2023年2月25日21:56:33 + */ +@Service +@Slf4j +public class DeptServerImpl implements IDeptServer { + @Resource(name = "wsBasicResultImpl") + private IWsResult wsResult; + @Resource + private CollectService collectService; + @Resource + private IPowerDeptConverter converter; + @Resource + private ITaskOriginalMessageService taskOriginalMessageService; + + @Override + public String deptModify(String message) { + log.info("新增/修改科室数据:{}", message); + + DeptDTO deptDTO = new DeptDTO(); + long id = 0; + + try { + //此处需要存储原xml内容。 + id = taskOriginalMessageService.insertTaskOriginalMessage(message, CollectTypeEnum.WS_XML_DEPT); + deptDTO = converter.xmlToConvertDeptDTO(message); + collectService.toInsertOrUpdateDept(deptDTO); + return wsResult.ok(deptDTO.getParams()); + } catch (Exception e) { + log.error(e.getMessage(), e); + taskOriginalMessageService.updateTaskOriginalMessage(id); + deptDTO.getParams().put("msg", e.getMessage()); + return wsResult.fail(deptDTO.getParams()); + } + } +} + diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/TaskOriginalMessageServiceImpl.java b/common-collect/src/main/java/com/docus/server/ws/impl/TaskOriginalMessageServiceImpl.java new file mode 100644 index 0000000..5445ece --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/TaskOriginalMessageServiceImpl.java @@ -0,0 +1,45 @@ +package com.docus.server.ws.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.docus.core.util.DateUtil; +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; +import com.docus.server.collect.infrastructure.dao.StateEnum; +import com.docus.server.collect.infrastructure.dao.TaskOriginalMessage; +import com.docus.server.collect.infrastructure.mapper.TaskOriginalMessageMapper; +import com.docus.server.ws.ITaskOriginalMessageService; +import com.docus.server.ws.convert.TaskOriginalMessageConverter; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Objects; + +@Service +public class TaskOriginalMessageServiceImpl extends ServiceImpl implements ITaskOriginalMessageService { + + @Resource + private TaskOriginalMessageConverter converter; + + /** + * 新增 ws xml dept 原始报文 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public long insertTaskOriginalMessage(String deptXml, CollectTypeEnum collectType) { + TaskOriginalMessage taskOriginalMessage = converter.toConvertTaskOriginalMessageDO(deptXml, collectType); + super.save(taskOriginalMessage); + return taskOriginalMessage.getId(); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void updateTaskOriginalMessage(long id) { + TaskOriginalMessage taskOriginalMessage = super.getById(id); + if (Objects.nonNull(taskOriginalMessage)) { + taskOriginalMessage.setUpdateTime(DateUtil.now()); + taskOriginalMessage.setState(StateEnum.FAIL); + super.updateById(taskOriginalMessage); + } + } + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java b/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java new file mode 100644 index 0000000..c962a91 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java @@ -0,0 +1,51 @@ +package com.docus.server.ws.impl; + +import com.docus.server.collect.infrastructure.dao.CollectTypeEnum; +import com.docus.server.collect.service.CollectService; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.docus.server.ws.ITaskOriginalMessageService; +import com.docus.server.ws.IUserServer; +import com.docus.server.ws.IWsResult; +import com.docus.server.ws.convert.IPowerUserConverter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author wen yongbin + * @date 2023年2月25日21:56:33 + */ +@Service +@Slf4j +public class UserServerImpl implements IUserServer { + @Resource(name = "wsUserResultImpl") + private IWsResult wsResult; + @Resource + private CollectService collectService; + @Resource + private IPowerUserConverter converter; + @Resource + private ITaskOriginalMessageService taskOriginalMessageService; + + @Override + public String userModify(String message) { + log.info("新增/修改用户数据:{}", message); + + UserDTO userDTO = new UserDTO(); + long id = 0; + + try { + id = taskOriginalMessageService.insertTaskOriginalMessage(message, CollectTypeEnum.WS_XML_USER); + userDTO = converter.xmlToConvertUserDTO(message); + collectService.toInsertOrUpdateUser(userDTO); + return wsResult.ok(userDTO.getParams()); + } catch (Exception e) { + log.error(e.getMessage(), e); + taskOriginalMessageService.updateTaskOriginalMessage(id); + userDTO.getParams().put("msg", e.getMessage()); + return wsResult.fail(userDTO.getParams()); + } + } +} + diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/WebServiceServer.java b/common-collect/src/main/java/com/docus/server/ws/impl/WebServiceServer.java new file mode 100644 index 0000000..351cc82 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/ws/impl/WebServiceServer.java @@ -0,0 +1,181 @@ +package com.docus.server.ws.impl; + +import com.docus.server.ws.IBasicService; +import com.docus.server.ws.IDeptServer; +import com.docus.server.ws.IReportServer; +import com.docus.server.ws.IUserServer; +import com.docus.server.ws.IWebServiceServer; +import com.docus.server.ws.WsCollect; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + + +@Slf4j +@Service +public class WebServiceServer implements IWebServiceServer { + @Resource + private IUserServer userServer; + @Resource + private IDeptServer deptServer; + @Resource + private IBasicService basicService; + @Resource + private IReportServer reportServer; + @Resource + private WsCollect wsCollect; + + @Override + public String receiveHandNumbness(String handNumbness) { + return wsCollect.receiveHandNumbness(handNumbness); + } + + + @Override + public String receiveDept(String deptXml) { + return wsCollect.receiveDept(deptXml); + } + + @Override + public String deptModify(String receiveDept) { + return deptServer.deptModify(receiveDept); + } + + @Override + public String setTBasic(String str) { + return basicService.setTBasic(str); + } + + @Override + public String updateTBasic(String str) { + return basicService.updateTBasic(str); + } + + @Override + public String userModify(String receiveUser) { + return userServer.userModify(receiveUser); + } + + + @Override + public String pushICUReport(String icuReportMessage) { + return reportServer.pushICUReport(icuReportMessage); + } + + @Override + public String pushAddInspectionReport(String inspectionReportMessage) { + return reportServer.pushAddInspectionReport(inspectionReportMessage); + } + + @Override + public String pushUpdateInspectionReport(String inspectionReportMessage) { + return reportServer.pushUpdateInspectionReport(inspectionReportMessage); + } + + @Override + public String querySdJxIndexTest(String xml) { + System.out.println("收到那个人想查报告的动机,参数为:" + xml); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\tceshi1\n" + + "\t\t\t\t\tceshi2\n" + + "\t\t\t\t\tceshi3\n" + + "\t\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\n"; + } + + @Override + public String querySdJxIndexNoResultTest(String xml) { + System.out.println("收到那个人想查报告的动机,参数为:" + xml); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\n"; + } + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java b/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java deleted file mode 100644 index 25a388a..0000000 --- a/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.docus.server.ws.impl; - -import com.docus.server.ws.IWebserviceServer; -import com.docus.server.ws.WsCollect; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -@Slf4j -@Service -public class WebserviceServer implements IWebserviceServer { - @Resource - private WsCollect wsCollect; - - @Override - public String receiveHandNumbness(String handNumbness) { - return wsCollect.receiveHandNumbness(handNumbness); - } - - - @Override - public String receiveDept(String deptXml) { - return wsCollect.receiveDept(deptXml); - } - - @Override - public String deptModify(String deptXml) { - return wsCollect.deptModify(deptXml); - } - - @Override - public String setTBasic(String str) { - return null; - } - - @Override - public String updateTBasic(String str) { - return null; - } - - @Override - public String userModify(String receiveUser) { - return null; - } - - @Override - public String pushICUReport(String icuReportMessage) { - return null; - } - - @Override - public String pushAddInspectionReport(String inspectionReportMessage) { - return null; - } - - @Override - public String pushUpdateInspectionReport(String inspectionReportMessage) { - return null; - } - - @Override - public String querySdJxIndexTest(String xml) { - return null; - } - - @Override - public String querySdJxIndexNoResultTest(String xml) { - return null; - } - -} diff --git a/docus-medical-record/src/main/java/com/docus/server/record/pojo/dto/TBasicDTO.java b/docus-medical-record/src/main/java/com/docus/server/record/pojo/dto/TBasicDTO.java index 1bce16d..98cc98c 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/pojo/dto/TBasicDTO.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/pojo/dto/TBasicDTO.java @@ -2,6 +2,8 @@ package com.docus.server.record.pojo.dto; import lombok.Data; +import java.util.Map; + /** * @BelongsProject: docus-webservice-sdry * @BelongsPackage: com.docus.server.collection.webservice @@ -38,4 +40,9 @@ public class TBasicDTO { private String wardCode; private String wardName; private String sdryIndex; + + /** + * 拓展参数 + */ + private Map params; } diff --git a/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java b/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java index 095a76f..222d734 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java @@ -12,7 +12,7 @@ public interface ITBasicService { * @param dto * @throws Exception */ - void addTBasic(TBasicDTO dto) throws Exception; + void insertTBasic(TBasicDTO dto) throws Exception; /** * 更新 diff --git a/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java b/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java index 5ab004e..d57eef7 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java @@ -28,7 +28,7 @@ public class TBasicServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public void addTBasic(TBasicDTO tBasicDTO) { + public void insertTBasic(TBasicDTO tBasicDTO) { //判断jzh是否重复 Integer num = tBasicMapper.selectOne(tBasicDTO.getJzh()); if (num > 0) { @@ -116,7 +116,7 @@ public class TBasicServiceImpl extends ServiceImpl impleme //判断jzh是否存在 String patientId = tBasicMapper.getPatientId(tBasicDTO.getJzh()); if (Func.isEmpty(patientId)) { - addTBasic(tBasicDTO); + insertTBasic(tBasicDTO); return; } diff --git a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java index 679f1f0..af2d7a9 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java +++ b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java @@ -2,7 +2,6 @@ package com.docus.server.sys.common.pojo.dto; import lombok.Data; -import java.util.HashMap; import java.util.Map; /** @@ -11,10 +10,25 @@ import java.util.Map; */ @Data public class DeptDTO { + + /** + * 科室代码 + */ + private String deptCode; + + /** + * 科室名称 + */ + private String deptName; + /** * id-消息流水号 返回消息体需要 */ private String messageId; + /** + * 操作消息 + */ + private String message; /** * 接收方 */ @@ -26,31 +40,21 @@ public class DeptDTO { private String operateType; /** - * 科室代码 - */ - private String deptCode; - - /** - * 科室名称 + * 操作人ID */ - private String deptName; - - + private String authorId; /** * 操作人名称 */ private String authorName; - - /** - * 操作人ID + * xml原始报文 */ - private String authorId; - + private String source; /** - * 异常消息 + * 拓展参数 */ - private String errorMsg; + private Map params; /** * 转换用户修改对象 @@ -66,33 +70,5 @@ public class DeptDTO { return deptModifyParam; } - /** - * 拓展参数 - */ - public Param addParam(String key, Object obj) { - return new Param(key, obj); - } - - public Map param(String key, Object obj) { - return new Param(key, obj).param(); - } - - protected static final class Param { - private Map params = new HashMap(); - - - public Param(String key, Object value) { - addParam(key, value); - } - - public Param addParam(String key, Object value) { - this.params.put(key, value); - return this; - } - - public Map param() { - return this.params; - } - } } diff --git a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java index 7c78f2f..c291627 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java +++ b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java @@ -2,6 +2,8 @@ package com.docus.server.sys.common.pojo.dto; import lombok.Data; +import java.util.Map; + /** * @author Fang Ruichuan * @date 2022-11-14 19:02 @@ -53,7 +55,10 @@ public class UserDTO { * 操作人ID */ private String authorId; - + /** + * 拓展参数 + */ + private Map params; /** * 转换用户修改对象 diff --git a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java index b244c71..462a35c 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java +++ b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java @@ -9,6 +9,7 @@ import com.docus.server.sys.common.pojo.entity.PowerDept; import com.docus.server.sys.mapper.PowerDeptMapper; import com.docus.server.sys.service.IPowerDeptService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @@ -28,6 +29,7 @@ public class PowerDeptServiceImpl extends ServiceImpl