feat: 广东省中医用户科室推送

广东省中医_gdszy
wyb 10 months ago
parent e1abd3bdbe
commit f037d9e766

@ -1,29 +1,21 @@
package com.docus.server;
import com.docus.server.collection.webservice.IDeptServer;
import com.docus.server.collection.webservice.IUserServer;
import com.docus.server.collection.webservice.ReceiveServer;
import com.docus.server.collection.webservice.BasicService;
import org.apache.cxf.jaxws.EndpointImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;
@Configuration
@RequiredArgsConstructor
public class CxfConfig {
private final IUserServer userServer;
private final IDeptServer deptServer;
private final BasicService tBasicService;
private final ReceiveServer receiveServer;
/**
* ServletbeanNamedispatcherServlet
@ -40,33 +32,11 @@ public class CxfConfig {
return new SpringBus();
}
@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), receiveServer);
endpoint.publish("/api");
return endpoint;
}
@Bean
@Qualifier("userEndPoint")
public Endpoint userEndPoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), userServer);
endpoint.publish("/api/user");
return endpoint;
}
@Bean
@Qualifier("deptEndPoint")
public Endpoint deptEndPoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), deptServer);
endpoint.publish("/api/dept");
return endpoint;
}
@Bean
public Endpoint endpoint2() {
EndpointImpl endpoint = new EndpointImpl(springBus(), tBasicService);
endpoint.publish("/api/basic");
Endpoint endpoint = new EndpointImpl(this.springBus(), this.receiveServer);
endpoint.publish("/api/receive");
return endpoint;
}
}

@ -20,5 +20,5 @@ public interface IPowerDeptService {
* @param deptCode
* @return
*/
void delDeptByDeptCode(String deptCode);
boolean delDeptByDeptCode(String deptCode);
}

@ -2,7 +2,6 @@ package com.docus.server.collection.service.impl;
import com.docus.core.util.Func;
import com.docus.infrastructure.redis.service.IdService;
import com.docus.server.collection.consts.PowerDeptConst;
import com.docus.server.collection.dto.DeptDto;
import com.docus.server.collection.dto.DeptModifyParam;
import com.docus.server.collection.entity.PowerDept;
@ -11,7 +10,6 @@ import com.docus.server.collection.service.IPowerDeptService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
*
@ -27,51 +25,28 @@ public class PowerDeptServiceImpl implements IPowerDeptService {
@Override
public boolean register(DeptDto deptDto) {
String deptCode = deptDto.getDeptCode();
PowerDept powerDept = null;
PowerDept powerDept = this.powerDeptMapper.getDeptByDeptCode(deptDto.getDeptCode());
DeptModifyParam deptModifyParam = deptDto.transDeptAddParam();
if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) {
powerDept = powerDeptMapper.getWardDeptByDeptCode(deptCode);
} else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) {
powerDept = powerDeptMapper.getMzDeptByDeptCode(deptCode);
} else {
powerDept = powerDeptMapper.getDeptByDeptCode(deptCode);
}
if (Objects.isNull(powerDept)) {
long deptId = idService.getDateSeq();
if (Func.isEmpty(powerDept)) {
long deptId = this.idService.getDateSeq();
deptModifyParam.setDeptId(deptId);
if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) {
powerDeptMapper.addWardDept(deptModifyParam);
} else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) {
powerDeptMapper.addMzDept(deptModifyParam);
} else {
powerDeptMapper.addDept(deptModifyParam);
}
this.powerDeptMapper.addDept(deptModifyParam);
return true;
}
deptModifyParam.setDeptId(powerDept.getDeptId());
if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) {
powerDeptMapper.updateWardDept(deptModifyParam);
} else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) {
powerDeptMapper.updateMzDept(deptModifyParam);
} else {
powerDeptMapper.updateDept(deptModifyParam);
deptModifyParam.setDeptId(powerDept.getDeptId());
this.powerDeptMapper.updateDept(deptModifyParam);
return true;
}
return true;
}
@Override
public void delDeptByDeptCode(String deptCode) {
if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) {
powerDeptMapper.delWardDeptByDeptCode(deptCode);
} else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) {
powerDeptMapper.delMzDeptByDeptCode(deptCode);
public boolean delDeptByDeptCode(String deptCode) {
PowerDept powerDept = this.powerDeptMapper.getDeptByDeptCode(deptCode);
if (Func.isEmpty(powerDept)) {
return true;
} else {
powerDeptMapper.delDeptByDeptCode(deptCode);
this.powerDeptMapper.delDeptByDeptCode(deptCode);
return true;
}
}
}

@ -30,21 +30,19 @@ public class PowerUserServiceImpl implements IPowerUserService {
@Override
public boolean register(UserDto userDto) {
PowerUser powerUser = powerUserMapper.getUserByUserName(userDto.getUserName());
PowerUser powerUser = this.powerUserMapper.getUserByUserName(userDto.getUserName());
UserModifyParam userModifyParam = userDto.transUserAddParam();
if (Func.isEmpty(powerUser)) {
long userId = idService.getDateSeq();
long userId = this.idService.getDateSeq();
userModifyParam.setUserId(userId);
userModifyParam.setUserPwd(syncConfig.getPassword());
powerUserMapper.addUser(userModifyParam);
userModifyParam.setUserPwd(this.syncConfig.getPassword());
this.powerUserMapper.addUser(userModifyParam);
return true;
} else {
userModifyParam.setUserId(powerUser.getUserId());
this.powerUserMapper.updateUser(userModifyParam);
return true;
}
String powerDept = getUpdatePowerDept(powerUser, userDto);
userModifyParam.setPowerDept(powerDept);
userModifyParam.setUserId(powerUser.getUserId());
powerUserMapper.updateUser(userModifyParam);
return true;
}

@ -1,11 +1,7 @@
package com.docus.server.collection.util;
import com.docus.core.util.DateUtil;
import com.docus.core.util.Func;
import lombok.Data;
import java.util.Date;
/**
* @BelongsProject: docus-webservice-sdry
* @BelongsPackage: com.docus.server.collection.util
@ -17,160 +13,11 @@ import java.util.Date;
@Data
public class Result {
public static String success(String serialId,String receive,String send){
String createTime= Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
String message="成功";
return "<MCCI_IN000002UV01 xmlns=\"urn:hl7-org:v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xsi:schemaLocation=\"urn:hl7-org:v3 file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI _IN000002UV01.xsd\"> \n" +
" <id extension=\""+Func.randomUUID()+"\"/> \n" +
" <creationTime value=\""+createTime+"\"/> \n" +
" <interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/> \n" +
" <processingCode code=\"P\"/> \n" +
" <processingModeCode/> \n" +
" <acceptAckCode code=\"AL\"/> \n" +
" <receiver typeCode=\"RCV\"> \n" +
" <device classCode=\"DEV\" determinerCode=\"INSTANCE\"> \n" +
" <id> \n" +
" <item extension=\""+receive+"\"/> \n" +
" </id> \n" +
" </device> \n" +
" </receiver> \n" +
" <sender typeCode=\"SND\"> \n" +
" <device classCode=\"DEV\" determinerCode=\"INSTANCE\"> \n" +
" <id> \n" +
// " <item extension=\""+send+"\"/> \n" +
" <item extension=\""+"PaperlessManagementMRIS-001"+"\"/> \n" +
" </id> \n" +
" </device> \n" +
" </sender> \n" +
" <acknowledgement typeCode=\"AA\"> \n" +
" <!--请求消息ID--> \n" +
" <targetMessage> \n" +
" <id extension=\""+serialId+"\"/> \n" +
" </targetMessage> \n" +
" <acknowledgementDetail> \n" +
" <text value=\""+message+"\"/> \n" +
" </acknowledgementDetail> \n" +
" </acknowledgement> \n" +
"</MCCI_IN000002UV01>\n";
}
public static String failed(String serialId,String message,String receive,String send){
String createTime= Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<MCCI_IN000002UV01 xmlns=\"urn:hl7-org:v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xsi:schemaLocation=\"urn:hl7-org:v3 file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI_IN000002UV01.xsd\"> \n" +
" <id extension=\""+Func.randomUUID()+"\"/> \n" +
" <creationTime value=\""+createTime+"\"/> \n" +
" <interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\" displayable=\"true\"/> \n" +
" <processingCode code=\"P\"/> \n" +
" <processingModeCode/> \n" +
" <acceptAckCode code=\"AL\"/> \n" +
" <receiver typeCode=\"RCV\"> \n" +
" <device classCode=\"DEV\" determinerCode=\"INSTANCE\"> \n" +
" <id> \n" +
" <item extension=\""+receive+"\"/> \n" +
" </id> \n" +
" </device> \n" +
" </receiver> \n" +
" <sender typeCode=\"SND\"> \n" +
" <device classCode=\"DEV\" determinerCode=\"INSTANCE\"> \n" +
" <id> \n" +
// " <item extension=\""+send+"\"/> \n" +
" <item extension=\""+"PaperlessManagementMRIS-001"+"\"/> \n" +
" </id> \n" +
" </device> \n" +
" </sender> \n" +
" <acknowledgement typeCode=\"AE\"> \n" +
" <!--请求消息ID--> \n" +
" <targetMessage> \n" +
" <id extension=\""+serialId+"\"/> \n" +
" </targetMessage> \n" +
" <acknowledgementDetail> \n" +
" <text value=\""+message+"\"/> \n" +
" </acknowledgementDetail> \n" +
" </acknowledgement> \n" +
"</MCCI_IN000002UV01>\n";
public static String success() {
return "<RetInfo>\n <!--结果代码-->\n <RetCode>0</RetCode>\n <!--结果描述-->\n <RetCon>操作成功</RetCon>\n</RetInfo>";
}
public static String successMessage(String serialId,String receive,String send){
String createTime= Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
String message="成功";
return "<MCCI_IN000002UV01 xmlns=\"urn:hl7-org:v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xsi:schemaLocation=\"urn:hl7-org:v3 file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI _IN000002UV01.xsd\">\n" +
"\t<id extension=\""+Func.randomUUID()+"\"/>\n" +
"\t<creationTime value=\""+createTime+"\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"Orion-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"ygit\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AA\">\n" +
"\t\t<!--请求消息ID-->\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\""+serialId+"\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\""+message+"\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</MCCI_IN000002UV01>\n";
}
public static String failedMessage(String serialId,String message,String receive,String send){
String createTime= Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<MCCI_IN000002UV01 xmlns=\"urn:hl7-org:v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xsi:schemaLocation=\"urn:hl7-org:v3 file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI _IN000002UV01.xsd\">\n" +
"\t<id extension=\""+Func.randomUUID()+"\"/>\n" +
"\t<creationTime value=\""+createTime+"\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"Orion-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"ygit\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AE\">\n" +
"\t\t<!--请求消息ID-->\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\""+serialId+"\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\""+message+"\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</MCCI_IN000002UV01>\n";
public static String failed() {
return "";
}
}

@ -1,6 +1,7 @@
package com.docus.server.collection.webservice;
import javax.jws.WebService;
import java.util.Map;
/**
* @author Fang Ruichuan
@ -8,10 +9,6 @@ import javax.jws.WebService;
*/
@WebService
public interface IDeptServer {
/**
*
* @param receiveUser
* @return
*/
String deptModify(String receiveUser);
String deptModify(Map<String, String> msgInfo);
}

@ -1,8 +1,7 @@
package com.docus.server.collection.webservice;
import com.docus.server.collection.dto.UserDto;
import javax.jws.WebService;
import java.util.Map;
/**
* @author Fang Ruichuan
@ -10,10 +9,6 @@ import javax.jws.WebService;
*/
@WebService
public interface IUserServer {
/**
*
* @param receiveUser
* @return
*/
String userModify(String receiveUser);
String userModify(Map<String, String> msgInfo);
}

@ -9,121 +9,5 @@ import javax.jws.WebService;
@WebService
public interface ReceiveServer {
/**
*
*
* @param receiveUser
* @return
*/
String deptModify(String receiveUser);
String setTBasic(String str);
String updateTBasic(String str);
/**
* @description
*/
public String setAdmissTBasic(String message);
/**
* @description
*/
public String updateAdmissTBasic(String message);
/**
* @description
*/
public String setBedDoctor(String message);
/**
*
*
* @param receiveUser
* @return
*/
String userModify(String receiveUser);
/**
*
*
* @param icuReportMessage
* @return
*/
String pushICUReport(String icuReportMessage);
/**
*
*
* @param examinationReportMessage
* @return
*/
public String pushExaminationReport(String examinationReportMessage);
/**
* HIP1166-pdf
*
* @param uploadMessage pdf
* @return
*/
String pdfUpload(String uploadMessage);
/**
* -
*
* @param inspectionReportMessage -
* @return
*/
String pushAddInspectionReport(String inspectionReportMessage);
/**
* -
*
* @param inspectionReportMessage -
* @return
*/
String pushUpdateInspectionReport(String inspectionReportMessage);
/**
*
*
* @param laboratoryMessage
* @return
*/
String pushAddLaboratoryReport(String laboratoryMessage);
/**
*
*
* @param laboratoryMessage
* @return
*/
String pushUpdateLaboratoryReport(String laboratoryMessage);
/**
* -
*
* @param xml -
* @return
*/
String querySdJxIndexTest(String xml);
String querySdJxIndexNoResultTest(String xml);
/**
*
* @param maternalInfantRelationshipMessage
* @return
*/
String pushMaternalInfantRelationship(String maternalInfantRelationshipMessage);
/**
* @description
*/
String cancelHospital(String message);
String receiveMsg(String Msg);
}

@ -1,20 +1,14 @@
package com.docus.server.collection.webservice.impl;
import com.docus.core.util.DateUtil;
import com.docus.core.util.Func;
import com.docus.infrastructure.core.exception.BaseException;
import com.docus.server.collection.dto.DeptDto;
import com.docus.server.collection.service.IPowerDeptService;
import com.docus.server.collection.util.IdUtil;
import com.docus.server.collection.util.XmlUtil;
import com.docus.server.collection.util.Result;
import com.docus.server.collection.webservice.IDeptServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.w3c.dom.Node;
import javax.annotation.Resource;
import javax.jws.WebService;
import java.util.Date;
import java.util.Map;
/**
* @author wen yongbin
@ -28,145 +22,18 @@ public class DeptServerImpl implements IDeptServer {
IPowerDeptService powerDeptService;
@Override
public String deptModify(String receiveUser) {
log.info("新增/修改科室数据:{}", receiveUser);
DeptDto deptDto;
String msgId = "";
String receiver = "";
try {
deptDto = strToDeptDto(receiveUser);
msgId = deptDto.getMessageId();
receiver = deptDto.getReceiver();
String operateType = deptDto.getOperateType();
String delType = "D";
// 判断操作类型
if (Func.isNotEmpty(operateType) && operateType.contains(delType)) {
powerDeptService.delDeptByDeptCode(deptDto.getDeptCode());
} else {
powerDeptService.register(deptDto);
}
return successMessage("操作成功!", msgId, receiver);
} catch (BaseException e) {
log.error(e.getMessage(), e);
return failedMessage(e.getMessage(), msgId, receiver);
} catch (Exception e) {
log.error(e.getMessage(), e);
return failedMessage("系统出错啦!", msgId, receiver);
}
public String deptModify(Map<String, String> msgInfo) {
DeptDto deptDto = this.strToDeptDto(msgInfo);
this.powerDeptService.register(deptDto);
return Result.success();
}
/**
* DeptDto
*
* @param receiveUser
* @return UserDto
*/
public DeptDto strToDeptDto(String receiveUser) {
XmlUtil xmlParseUtil = XmlUtil.of(receiveUser);
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");
public DeptDto strToDeptDto(Map<String, String> msgInfo) {
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.setDeptCode(msgInfo.get("DEPT_CLASS_CODE"));
deptDto.setDeptName(msgInfo.get("DEPT_CLASS_NAME"));
return deptDto;
}
/**
* @param message
* @param msgId id
* @param receiver
* @return
*/
private String successMessage(String message, String msgId, String receiver) {
String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<MCCI_IN000002UV01 ITSVersion=\"XML_1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3\n" +
"file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI\n" +
"_IN000002UV01.xsd\">\n" +
"\t<id extension=\"" + IdUtil.standardUUID() + "\"/>\n" +
"\t<creationTime value=\"" + createTime + "\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"" + receiver + "\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AA\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\"" + msgId + "\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"" + message + "\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</MCCI_IN000002UV01>";
}
/**
* @param message
* @param msgId id
* @param receiver
* @return
*/
private String failedMessage(String message, String msgId, String receiver) {
String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<RCMR_IN000030UV01 ITSVersion=\"XML_1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3\n" +
"file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/RCMR\n" +
"_IN000030UV01.xsd\">\n" +
"\t<id extension=\"" + IdUtil.standardUUID() + "\"/>\n" +
"\t<creationTime value=\"" + createTime + "\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"RCMR_IN000030UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"" + receiver + "\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AE\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\"" + msgId + "\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"" + message + "\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</RCMR_IN000030UV01>\n";
}
}

@ -1,14 +1,15 @@
package com.docus.server.collection.webservice.impl;
import com.docus.server.collection.webservice.BasicService;
import cn.hutool.core.util.XmlUtil;
import com.docus.server.collection.util.Result;
import com.docus.server.collection.webservice.IDeptServer;
import com.docus.server.collection.webservice.IUserServer;
import com.docus.server.collection.webservice.ReceiveServer;
import com.docus.server.report.webservice.IReportServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/**
* @BelongsProject: docus-webservice-sdry
@ -22,199 +23,22 @@ import javax.annotation.Resource;
@Slf4j
public class ReceiveServerImpl implements ReceiveServer {
@Resource
private IUserServer userServer;
private IDeptServer deptServer;
@Resource
private IDeptServer deptServer;
@Resource
private BasicService basicService;
@Resource
private IReportServer reportServer;
@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 setAdmissTBasic(String message) {
return basicService.setAdmissTBasic(message);
}
@Override
public String updateAdmissTBasic(String message) {
return basicService.updateAdmissTBasic(message) ;
}
@Override
public String setBedDoctor(String message) {
return basicService.setBedDoctor(message);
}
private IUserServer userServer;
@Override
public String userModify(String receiveUser) {
return userServer.userModify(receiveUser);
public String receiveMsg(String Msg) {
Map<String, Object> msgMap = XmlUtil.xmlToMap(Msg);
Map<String, String> msgInfo = (Map) msgMap.get("Msg");
String dictCode = msgInfo.get("DICT_CODE");
if ("STAFF_DICT".equals(dictCode)) {
return this.userServer.userModify(msgInfo);
}
if ("DEPT_DICT".equals(dictCode)) {
return this.deptServer.deptModify(msgInfo);
}
return Result.success();
}
@Override
public String pushICUReport(String icuReportMessage) {
return reportServer.pushICUReport(icuReportMessage);
}
@Override
public String pushExaminationReport(String examinationReportMessage) {
return reportServer.pushExaminationReport(examinationReportMessage);
}
@Override
public String pdfUpload(String uploadMessage) {
return reportServer.pdfUpload(uploadMessage);
}
@Override
public String pushAddInspectionReport(String inspectionReportMessage) {
return reportServer.pushAddInspectionReport(inspectionReportMessage);
}
@Override
public String pushUpdateInspectionReport(String inspectionReportMessage) {
return reportServer.pushUpdateInspectionReport(inspectionReportMessage);
}
@Override
public String pushAddLaboratoryReport(String laboratoryMessage) {
return reportServer.pushAddLaboratoryReport(laboratoryMessage);
}
@Override
public String pushUpdateLaboratoryReport(String laboratoryMessage) {
return reportServer.pushUpdateLaboratoryReport(laboratoryMessage);
}
@Override
public String pushMaternalInfantRelationship(String maternalInfantRelationshipMessage) {
return reportServer.pushMaternalInfantRelationship(maternalInfantRelationshipMessage);
}
@Override
public String cancelHospital(String message) {
return basicService.cancelHospital(message);
}
@Override
public String querySdJxIndexTest(String xml) {
System.out.println("收到那个人想查报告的动机,参数为:"+xml);
return "<PRPA_HIP1179 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3 ../multicacheschemas/PRPA_IN201306UV02.xsd\">\n" +
"\t<id root=\"2.16.156.10011.0\" extension=\"8D73520B-D489-4B70-8F4B-7B5C2D7961B5\"/>\n" +
"\t<creationTime value=\"20120101010101\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"PRPA_HIP1179\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<telecom/>\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.1\" extension=\"Orion-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<telecom/>\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.2\" extension=\"\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AA\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id root=\"2.16.156.10011.0\" extension=\"22a0f9e0-4454-11dc-a6be-3603d6866807\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"处理结果说明\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"\t<controlActProcess classCode=\"CACT\" moodCode=\"EVN\">\n" +
"\t\t<subject typeCode=\"SUBJ\">\n" +
"\t\t\t<!-- 交叉索引信息 -->\n" +
"\t\t\t<empiIndex>\n" +
"\t\t\t\t<patientIds>\n" +
"\t\t\t\t\t<!--patientId节点循环有多个-->\n" +
"\t\t\t\t\t<patientId>ceshi1</patientId>\n" +
"\t\t\t\t\t<patientId>ceshi2</patientId>\n" +
"\t\t\t\t\t<patientId>ceshi3</patientId>\n" +
"\t\t\t\t</patientIds>\n" +
"\t\t\t\t<idCards>\n" +
"\t\t\t\t\t<!-- type卡类型 value卡号 name患者姓名-->\n" +
"\t\t\t\t\t<idCard type=\"居民身份证\" value=\"xxx\" name=\"xxx\"/>\n" +
"\t\t\t\t</idCards>\n" +
"\t\t\t</empiIndex>\n" +
"\t\t</subject>\n" +
"\t</controlActProcess>\n" +
"</PRPA_HIP1179>\n";
}
@Override
public String querySdJxIndexNoResultTest(String xml) {
System.out.println("收到那个人想查报告的动机,参数为:"+xml);
return "<PRPA_HIP1179 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3 ../multicacheschemas/PRPA_IN201306UV02.xsd\">\n" +
"\t<id root=\"2.16.156.10011.0\" extension=\"8D73520B-D489-4B70-8F4B-7B5C2D7961B5\"/>\n" +
"\t<creationTime value=\"20120101010101\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"PRPA_HIP1179\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<telecom/>\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.1\" extension=\"Orion-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<telecom/>\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.2\" extension=\"\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AA\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id root=\"2.16.156.10011.0\" extension=\"22a0f9e0-4454-11dc-a6be-3603d6866807\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"处理结果说明\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"\t<controlActProcess classCode=\"CACT\" moodCode=\"EVN\">\n" +
"\t\t<subject typeCode=\"SUBJ\">\n" +
"\t\t\t<!-- 交叉索引信息 -->\n" +
"\t\t\t<empiIndex>\n" +
"\t\t\t\t<patientIds>\n" +
"\t\t\t\t\t<!--patientId节点循环有多个-->\n" +
"\t\t\t\t</patientIds>\n" +
"\t\t\t\t<idCards>\n" +
"\t\t\t\t\t<!-- type卡类型 value卡号 name患者姓名-->\n" +
"\t\t\t\t\t<idCard type=\"居民身份证\" value=\"xxx\" name=\"xxx\"/>\n" +
"\t\t\t\t</idCards>\n" +
"\t\t\t</empiIndex>\n" +
"\t\t</subject>\n" +
"\t</controlActProcess>\n" +
"</PRPA_HIP1179>\n";
}
}

@ -1,19 +1,14 @@
package com.docus.server.collection.webservice.impl;
import com.docus.core.util.DateUtil;
import com.docus.core.util.Func;
import com.docus.infrastructure.core.exception.BaseException;
import com.docus.server.collection.dto.UserDto;
import com.docus.server.collection.service.IPowerUserService;
import com.docus.server.collection.util.IdUtil;
import com.docus.server.collection.util.XmlUtil;
import com.docus.server.collection.util.Result;
import com.docus.server.collection.webservice.IUserServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.w3c.dom.Node;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Map;
/**
* @author wen yongbin
@ -22,161 +17,40 @@ import java.util.Date;
@Service
@Slf4j
public class UserServerImpl implements IUserServer {
@Resource
IPowerUserService iPowerUserService;
@Override
public String userModify(String receiveUser) {
log.info("新增/修改用户数据:{}", receiveUser);
UserDto userDto;
String msgId = "";
String receiver = "";
try {
userDto = strToUserDto(receiveUser);
msgId = userDto.getMessageId();
receiver = userDto.getReceiver();
String operateType = userDto.getOperateType();
String delType = "D";
// 判断操作类型 是否是删除,或者 删除标记的
boolean isDel = (Func.isNotEmpty(operateType) && operateType.contains(delType)) || userDto.isDelFlag();
if (isDel) {
iPowerUserService.delUserByUserName(userDto.getUserName());
} else {
iPowerUserService.register(userDto);
}
return successMessage("操作成功!", msgId, receiver);
} catch (BaseException e) {
log.error(e.getMessage(), e);
return failedMessage(e.getMessage(), msgId, receiver);
} catch (Exception e) {
log.error(e.getMessage(), e);
return failedMessage("系统出错啦!", msgId, receiver);
}
public String userModify(Map<String, String> msgInfo) {
log.info("新增/修改用户数据:{}", msgInfo);
UserDto userDto = this.strToUserDto(msgInfo);
this.iPowerUserService.register(userDto);
return Result.success();
}
/**
* UserDto
*
* @param receiveUser
* @return UserDto
*/
public UserDto strToUserDto(String receiveUser) {
final String notDelFlag = "1";
XmlUtil xmlParseUtil = XmlUtil.of(receiveUser);
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");
Node telephoneNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/EMPL_TEL/@value");
Node delFlagNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/STATUS_CODE/@value");
boolean isDel = !notDelFlag.equals(delFlagNode.getNodeValue());
public UserDto strToUserDto(Map<String, String> msgInfo) {
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());
String deptCode = removeLeadingAndTrailingComma(msgInfo.get("DEPT_CODE"));
userDto.setDeptId(deptCode);
userDto.setUserName(msgInfo.get("STAFF_CODE"));
userDto.setName(msgInfo.get("STAFF_NAME"));
userDto.setPosition(msgInfo.get("TITLE_LEVEL_NAME"));
userDto.setRoleId(0L);
userDto.setTelephone(telephoneNode != null ? telephoneNode.getNodeValue() : "");
userDto.setDelFlag(isDel);
return userDto;
}
/**
* @param message
* @param msgId id
* @param receiver
* @return
*/
private String successMessage(String message, String msgId, String receiver) {
String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<MCCI_IN000002UV01 ITSVersion=\"XML_1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3\n" +
"file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/MCCI\n" +
"_IN000002UV01.xsd\">\n" +
"\t<id extension=\"" + IdUtil.standardUUID() + "\"/>\n" +
"\t<creationTime value=\"" + createTime + "\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"" + receiver + "\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AA\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\"" + msgId + "\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"" + message + "\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</MCCI_IN000002UV01>";
public static String removeLeadingAndTrailingComma(String input) {
if (input == null || input.isEmpty()) {
return input;
}
input=input.trim();
// 使用正则表达式来删除前后的逗号
input = input.replaceAll("^,+|,+$", "");
return input;
}
/**
* @param message
* @param msgId id
* @param receiver
* @return
*/
private String failedMessage(String message, String msgId, String receiver) {
String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
return "<RCMR_IN000030UV01 ITSVersion=\"XML_1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:hl7-org:v3\" xsi:schemaLocation=\"urn:hl7-org:v3\n" +
"file:///E:/hl7/HL7/v3ballot_fullsite_2011MAY/v3ballot/html/processable/multicacheschemas/RCMR\n" +
"_IN000030UV01.xsd\">\n" +
"\n" +
"\t<id extension=\"" + IdUtil.standardUUID() + "\"/>\n" +
"\t<creationTime value=\"" + createTime + "\"/>\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"RCMR_IN000030UV01\"/>\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<processingModeCode/>\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<item extension=\"" + receiver + "\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<acknowledgement typeCode=\"AE\">\n" +
"\t\t<targetMessage>\n" +
"\t\t\t<id extension=\"" + msgId + "\"/>\n" +
"\t\t</targetMessage>\n" +
"\t\t<acknowledgementDetail>\n" +
"\t\t\t<text value=\"" + message + "\"/>\n" +
"\t\t</acknowledgementDetail>\n" +
"\t</acknowledgement>\n" +
"</RCMR_IN000030UV01>\n";
public static void main(String[] args) {
System.out.println(removeLeadingAndTrailingComma(",hhh,jfa,fads,"));
}
}

@ -1,6 +1,5 @@
package com.docus.server.report.scheduler;
import com.docus.server.report.thread.VerifyNisReportHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -14,13 +13,13 @@ public class JobScheduler {
private static final Logger logger = LoggerFactory.getLogger(JobScheduler.class);
public void init() throws Exception {
VerifyNisReportHelper.getInstance().start();
// VerifyNisReportHelper.getInstance().start();
logger.info(">>>>>>>>> init job admin success.");
}
public void destroy() throws Exception {
VerifyNisReportHelper.getInstance().toStop();
// VerifyNisReportHelper.getInstance().toStop();
}
}

@ -1,129 +0,0 @@
package com.docus.server.collection.webservice.impl;
import com.docus.server.collection.dto.DeptDto;
import com.docus.server.collection.dto.DeptModifyParam;
import com.docus.server.collection.dto.UserDto;
import com.docus.server.collection.dto.UserModifyParam;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.junit.Test;
public class DeptServerImplTest {
String xml = "<PRVS_IN000002UV01 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\">\n" +
"\t<!--消息唯一ID-->\n" +
"\t<id extension=\"a10f1ad0-6f12-41b6-95f2-a629490774cf\"/>\n" +
"\t<!--creationTime-消息创建时间-->\n" +
"\t<creationTime value=\"20221115164552\"/>\n" +
"\t<!--interactionId-消息的服务标识-->\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"PRVS_IN000002UV01\"/>\n" +
"\t<!--processingCode-处理代码。标识此消息是否是产品、训练、调试系统的一部分。D调试P产\n" +
"品T训练-->\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<!--processingModeCode-处理模型代码。定义此消息是一个文档处理还是一个初始装载的一部分。A\n" +
"存档I初始装载R从存档中恢复T当前处理间隔传递。-->\n" +
"\t<processingModeCode/>\n" +
"\t<!--acceptAckCode-接收确认类型 AL总是确认NE从不确认ER仅在错误/或拒绝时确认SU\n" +
"仅在成功完成时确认。-->\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<!-- 指定接收方,用于 Orion 通讯点路由 -->\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.1\" extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<!-- 指定发送方,用于 Orion 通讯点路由 -->\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.2\" extension=\"HIS-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<controlActProcess classCode=\"CACT\" moodCode=\"EVN\">\n" +
"\t\t<code code=\"ValueSetUpdate\">\n" +
"\t\t\t<displayName value=\"字典更新\"/>\n" +
"\t\t</code>\n" +
"\t\t<subject typeCode=\"SUBJ\">\n" +
"\t\t\t<registrationRequest classCode=\"REG\" moodCode=\"RQO\">\n" +
"\t\t\t\t<statusCode/>\n" +
"\t\t\t\t<!--值集注册subject1为1..1-->\n" +
"\t\t\t\t<subject1 typeCode=\"SBJ\">\n" +
"\t\t\t\t\t<valueSet>\n" +
"\t\t\t\t\t\t<!--值集标识符 STANDARD_CODE-->\n" +
"\t\t\t\t\t\t<id extension=\"HIP833\"/>\n" +
"\t\t\t\t\t\t<!--值集描述 COLLECTION_NAME + COLLECTION_VERSION-->\n" +
"\t\t\t\t\t\t<desc value=\"人员his科室字典\"/>\n" +
"\t\t\t\t\t\t<!--值集状态代码-->\n" +
"\t\t\t\t\t\t<statusCode code=\"1\"/>\n" +
"\t\t\t\t\t\t<!--字典的副本号 RELEASE_TAG-->\n" +
"\t\t\t\t\t\t<version code=\"1.0\">\n" +
"\t\t\t\t\t\t\t<originalText value=\"\"/>\n" +
"\t\t\t\t\t\t</version>\n" +
"\t\t\t\t\t\t<!-- 字典具体的某一行数据operateType有三种值C 代表新增、U 代表修改、D 代表删除-->\n" +
"\t\t\t\t\t\t<valueSetItems operateType=\"CU\">\n" +
"\t\t\t\t\t\t\t<!--科室编码-->\n" +
"\t\t\t\t\t\t\t<DEPT_CODE value=\"M010615\"/>\n" +
"\t\t\t\t\t\t\t<!--科室名称-->\n" +
"\t\t\t\t\t\t\t<DEPT_NAME value=\"卵巢早衰专科\"/>\n" +
"\t\t\t\t\t\t\t<!--科室类型(门诊住院)-->\n" +
"\t\t\t\t\t\t\t<DEPT_TYPE value=\"\"/>\n" +
"\t\t\t\t\t\t\t<!--拼音简码-->\n" +
"\t\t\t\t\t\t\t<SPELL_CODE value=\"LCZSZK\"/>\n" +
"\t\t\t\t\t\t\t<!--五笔简码-->\n" +
"\t\t\t\t\t\t\t<WB_CODE value=\"QVJYFT\"/>\n" +
"\t\t\t\t\t\t\t<!--科室地址-->\n" +
"\t\t\t\t\t\t\t<DEPT_ADDRESS value=\"1号楼6楼C区\"/>\n" +
"\t\t\t\t\t\t\t<!--备注-->\n" +
"\t\t\t\t\t\t\t<REMARKS value=\"\"/>\n" +
"\t\t\t\t\t\t\t<!--科室角色状态代码-->\n" +
"\t\t\t\t\t\t\t<STATUS_CODE value=\"1\"/>\n" +
"\t\t\t\t\t\t\t<!--机构代码-->\n" +
"\t\t\t\t\t\t\t<ORG_CODE value=\"4560886379\"/>\n" +
"\t\t\t\t\t\t\t<!--机构名称-->\n" +
"\t\t\t\t\t\t\t<ORG_NAME value=\"南方医科大学顺德医院\"/>\n" +
"\t\t\t\t\t\t</valueSetItems>\n" +
"\t\t\t\t\t</valueSet>\n" +
"\t\t\t\t</subject1>\n" +
"\t\t\t\t<!-- 谁做了本次操作-->\n" +
"\t\t\t\t<author typeCode=\"AUT\">\n" +
"\t\t\t\t\t<assignedEntity classCode=\"ASSIGNED\">\n" +
"\t\t\t\t\t\t<id>\n" +
"\t\t\t\t\t\t\t<item root=\"2.16.156.10011.1.4\" extension=\"操作人ID\"/>\n" +
"\t\t\t\t\t\t</id>\n" +
"\t\t\t\t\t\t<assignedPerson classCode=\"PSN\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t\t\t\t\t<name xsi:type=\"DSET_EN\">\n" +
"\t\t\t\t\t\t\t\t<item>\n" +
"\t\t\t\t\t\t\t\t\t<part value=\"操作人名称\"/>\n" +
"\t\t\t\t\t\t\t\t</item>\n" +
"\t\t\t\t\t\t\t</name>\n" +
"\t\t\t\t\t\t</assignedPerson>\n" +
"\t\t\t\t\t</assignedEntity>\n" +
"\t\t\t\t</author>\n" +
"\t\t\t</registrationRequest>\n" +
"\t\t</subject>\n" +
"\t</controlActProcess>\n" +
"</PRVS_IN000002UV01>\n";
@Test
public void parseDeptDtoTest() {
DeptServerImpl deptServer = new DeptServerImpl();
DeptDto deptDto = deptServer.strToDeptDto(xml);
DeptModifyParam addParam = deptDto.transDeptAddParam();
System.out.println(deptDto);
System.out.println(addParam);
assert deptDto.getDeptName().equals(addParam.getDeptName());
assert deptDto.getAuthorId().equals(addParam.getAuthorId());
assert deptDto.getAuthorName().equals(addParam.getAuthorName());
assert deptDto.getDeptCode().equals(addParam.getDeptCode());
}
@Test
public void modifyWebserviceTest() throws Exception{
// JaxWsDynamicClientFactory jaxWsDynamicClientFactory = JaxWsDynamicClientFactory.newInstance();
// Client client = jaxWsDynamicClientFactory.createClient("http://localhost:9111/webservice/api/dept?wsdl");
// Object[] invoke = client.invoke("deptModify", xml);
// System.out.println(invoke[0].toString());
}
}

@ -1,137 +0,0 @@
package com.docus.server.collection.webservice.impl;
import com.docus.server.collection.dto.UserDto;
import com.docus.server.collection.dto.UserModifyParam;
import org.junit.Test;
public class UserServerImplTest {
String xml = "<PRVS_IN000002UV01 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\">\n" +
"\t<!--消息唯一ID-->\n" +
"\t<id extension=\"c460c892-24ad-490a-979c-853afc65a208\"/>\n" +
"\t<!--creationTime-消息创建时间-->\n" +
"\t<creationTime value=\"20221115170803\"/>\n" +
"\t<!--interactionId-消息的服务标识-->\n" +
"\t<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"PRVS_IN000002UV01\"/>\n" +
"\t<!--processingCode-处理代码。标识此消息是否是产品、训练、调试系统的一部分。D调试P产\n" +
"品T训练-->\n" +
"\t<processingCode code=\"P\"/>\n" +
"\t<!--processingModeCode-处理模型代码。定义此消息是一个文档处理还是一个初始装载的一部分。A\n" +
"存档I初始装载R从存档中恢复T当前处理间隔传递。-->\n" +
"\t<processingModeCode/>\n" +
"\t<!--acceptAckCode-接收确认类型 AL总是确认NE从不确认ER仅在错误/或拒绝时确认SU\n" +
"仅在成功完成时确认。-->\n" +
"\t<acceptAckCode code=\"AL\"/>\n" +
"\t<receiver typeCode=\"RCV\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<!-- 指定接收方,用于 Orion 通讯点路由 -->\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.1\" extension=\"MDM\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</receiver>\n" +
"\t<sender typeCode=\"SND\">\n" +
"\t\t<device classCode=\"DEV\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t<id>\n" +
"\t\t\t\t<!-- 指定发送方,用于 Orion 通讯点路由 -->\n" +
"\t\t\t\t<item root=\"2.16.156.10011.0.1.2\" extension=\"HIS-001\"/>\n" +
"\t\t\t</id>\n" +
"\t\t</device>\n" +
"\t</sender>\n" +
"\t<controlActProcess classCode=\"CACT\" moodCode=\"EVN\">\n" +
"\t\t<code code=\"ValueSetUpdate\">\n" +
"\t\t\t<displayName value=\"字典更新\"/>\n" +
"\t\t</code>\n" +
"\t\t<subject typeCode=\"SUBJ\">\n" +
"\t\t\t<registrationRequest classCode=\"REG\" moodCode=\"RQO\">\n" +
"\t\t\t\t<statusCode/>\n" +
"\t\t\t\t<!--值集注册subject1为1..1-->\n" +
"\t\t\t\t<subject1 typeCode=\"SBJ\">\n" +
"\t\t\t\t\t<valueSet>\n" +
"\t\t\t\t\t\t<!--值集标识符 STANDARD_CODE-->\n" +
"\t\t\t\t\t\t<id extension=\"HIP834\"/>\n" +
"\t\t\t\t\t\t<!--值集描述 COLLECTION_NAME + COLLECTION_VERSION-->\n" +
"\t\t\t\t\t\t<desc value=\"HIS人员字典\"/>\n" +
"\t\t\t\t\t\t<!--值集状态代码-->\n" +
"\t\t\t\t\t\t<statusCode code=\"1\"/>\n" +
"\t\t\t\t\t\t<!--字典的副本号 RELEASE_TAG-->\n" +
"\t\t\t\t\t\t<version code=\"1.0\">\n" +
"\t\t\t\t\t\t\t<originalText value=\"\"/>\n" +
"\t\t\t\t\t\t</version>\n" +
"\t\t\t\t\t\t<!-- 字典具体的某一行数据operateType有三种值C 代表新增、U 代表修改、D 代表删除-->\n" +
"\t\t\t\t\t\t<valueSetItems operateType=\"CU\">\n" +
"\t\t\t\t\t\t\t<!--员工编码-->\n" +
"\t\t\t\t\t\t\t<HIS_CODE value=\"05231\"/>\n" +
"\t\t\t\t\t\t\t<!--员工工号-->\n" +
"\t\t\t\t\t\t\t<EMPL_CODE value=\"W-011\"/>\n" +
"\t\t\t\t\t\t\t<!--员工姓名-->\n" +
"\t\t\t\t\t\t\t<EMPL_NAME value=\"郑大海\"/>\n" +
"\t\t\t\t\t\t\t<!--员工所在科室编号-->\n" +
"\t\t\t\t\t\t\t<DEPT_CODE value=\"0402\"/>\n" +
"\t\t\t\t\t\t\t<!--员工所在科室名称-->\n" +
"\t\t\t\t\t\t\t<DEPT_NAME value=\"神经外科\"/>\n" +
"\t\t\t\t\t\t\t<!--职务名称-->\n" +
"\t\t\t\t\t\t\t<POSI_NAME value=\"主任医师\"/>\n" +
"\t\t\t\t\t\t\t<!--身份证号-->\n" +
"\t\t\t\t\t\t\t<IDENNO value=\"\"/>\n" +
"\t\t\t\t\t\t\t<!--创建人科室编号-->\n" +
"\t\t\t\t\t\t\t<CDEPT_CODE value=\"\"/>\n" +
"\t\t\t\t\t\t\t<!--创建人科室名称-->\n" +
"\t\t\t\t\t\t\t<CDEPT_NAME value=\"\"/>\n" +
"\t\t\t\t\t\t\t<!--科室角色状态代码-->\n" +
"\t\t\t\t\t\t\t<STATUS_CODE value=\"0\"/>\n" +
"\t\t\t\t\t\t\t<!--拼音码-->\n" +
"\t\t\t\t\t\t\t<SPELL_CODE value=\"ZDH\"/>\n" +
"\t\t\t\t\t\t\t<!--五笔码-->\n" +
"\t\t\t\t\t\t\t<WB_CODE value=\"UDI\"/>\n" +
"\t\t\t\t\t\t\t<!--电话号码-->\n" +
"\t\t\t\t\t\t\t<EMPL_TEL value=\"110\"/>\n" +
"\t\t\t\t\t\t\t<!--机构代码-->\n" +
"\t\t\t\t\t\t\t<ORG_CODE value=\"4560886379\"/>\n" +
"\t\t\t\t\t\t\t<!--机构名称-->\n" +
"\t\t\t\t\t\t\t<ORG_NAME value=\"南方医科大学顺德医院\"/>\n" +
"\t\t\t\t\t\t</valueSetItems>\n" +
"\t\t\t\t\t</valueSet>\n" +
"\t\t\t\t</subject1>\n" +
"\t\t\t\t<!-- 谁做了本次操作-->\n" +
"\t\t\t\t<author typeCode=\"AUT\">\n" +
"\t\t\t\t\t<assignedEntity classCode=\"ASSIGNED\">\n" +
"\t\t\t\t\t\t<id>\n" +
"\t\t\t\t\t\t\t<item root=\"2.16.156.10011.1.4\" extension=\"操作人ID\"/>\n" +
"\t\t\t\t\t\t</id>\n" +
"\t\t\t\t\t\t<assignedPerson classCode=\"PSN\" determinerCode=\"INSTANCE\">\n" +
"\t\t\t\t\t\t\t<name xsi:type=\"DSET_EN\">\n" +
"\t\t\t\t\t\t\t\t<item>\n" +
"\t\t\t\t\t\t\t\t\t<part value=\"操作人名称\"/>\n" +
"\t\t\t\t\t\t\t\t</item>\n" +
"\t\t\t\t\t\t\t</name>\n" +
"\t\t\t\t\t\t</assignedPerson>\n" +
"\t\t\t\t\t</assignedEntity>\n" +
"\t\t\t\t</author>\n" +
"\t\t\t</registrationRequest>\n" +
"\t\t</subject>\n" +
"\t</controlActProcess>\n" +
"</PRVS_IN000002UV01>\n";
@Test
public void parseUserDtoTest() {
UserServerImpl userServer = new UserServerImpl();
UserDto userDto = userServer.strToUserDto(xml);
UserModifyParam addParam = userDto.transUserAddParam();
System.out.println(userServer);
System.out.println(addParam);
assert userDto.getUserName().equals(addParam.getUserName());
assert userDto.getName().equals(addParam.getName());
assert userDto.getAuthorId().equals(addParam.getAuthorId());
assert userDto.getAuthorName().equals(addParam.getAuthorName());
assert userDto.getDeptId().equals(addParam.getDeptId());
assert userDto.getPosition().equals(addParam.getPosition());
assert userDto.getRoleId().equals(addParam.getRoleId());
}
@Test
public void modifyWebserviceTest() throws Exception{
// JaxWsDynamicClientFactory jaxWsDynamicClientFactory = JaxWsDynamicClientFactory.newInstance();
// Client client = jaxWsDynamicClientFactory.createClient("http://localhost:9111/webservice/api/user?wsdl");
// Object[] invoke = client.invoke("userModify", xml);
// System.out.println(invoke[0].toString());
}
}
Loading…
Cancel
Save