xml get Node 提取判空方法

3.2.4.44
wyb 2 years ago
parent 60f0a2cc71
commit a921593922

@ -0,0 +1,51 @@
package com.docus.server.report.converter;
import org.w3c.dom.Node;
/**
* @author wyb
*/
public interface XmlMessageConverter {
/**
* nodenode null
*
* @param node
* @return
*/
default String getNodeValue(Node node) {
return getTextContentOrDefault(node, null);
}
/**
* nodenode
*
* @param node
* @param defaultVal
* @return
*/
default String getNodeValueOrDefault(Node node, String defaultVal) {
return node == null ? defaultVal : node.getNodeValue();
}
/**
* nodenodenull
*
* @param node
* @return
*/
default String getTextContent(Node node) {
return getTextContentOrDefault(node, null);
}
/**
* nodenode
*
* @param node
* @param defaultVal
* @return
*/
default String getTextContentOrDefault(Node node, String defaultVal) {
return node == null ? defaultVal : node.getTextContent();
}
}

@ -1,5 +1,6 @@
package com.docus.server.report.converter;
package com.docus.server.report.converter.impl;
import com.docus.server.report.converter.XmlMessageConverter;
import com.docus.server.report.dto.MaternalInfantRelationshipDTO;
import com.docus.server.report.util.XmlUtil;
import org.w3c.dom.Node;
@ -9,7 +10,7 @@ import org.w3c.dom.Node;
*
* @author wyb
*/
public class HIP1264ReceiveMessageConverter {
public class HIP1264ReceiveMessageConverter implements XmlMessageConverter {
private final String message;
public HIP1264ReceiveMessageConverter(String message) {
@ -28,15 +29,15 @@ public class HIP1264ReceiveMessageConverter {
Node parentHisIdNode = xmlUtil.getNode("/PRPA_HIP1264/controlActProcess/parentHisId/@value");
Node hospCodeNode = xmlUtil.getNode("/PRPA_HIP1264/controlActProcess/hospInfo/@code");
String messageId = messageIdNode == null ? "" : messageIdNode.getNodeValue();
String sender = senderNode == null ? "" : senderNode.getNodeValue();
String receiver = receiverNode == null ? "" : receiverNode.getNodeValue();
String babyId = babyIdNode == null ? "" : babyIdNode.getNodeValue();
String babyHisId = babyHisIdNode == null ? "" : babyHisIdNode.getNodeValue();
String momId = momIdNode == null ? "" : momIdNode.getNodeValue();
String parentTimes = parentTimesNode == null ? "" : parentTimesNode.getNodeValue();
String parentHisId = parentHisIdNode == null ? "" : parentHisIdNode.getNodeValue();
String hospCode = hospCodeNode == null ? "" : hospCodeNode.getNodeValue();
String messageId = getNodeValueOrDefault(messageIdNode, "");
String sender = getNodeValueOrDefault(senderNode, "");
String receiver = getNodeValueOrDefault(receiverNode, "");
String babyId = getNodeValueOrDefault(babyIdNode, "");
String babyHisId = getNodeValueOrDefault(babyHisIdNode, "");
String momId = getNodeValueOrDefault(momIdNode, "");
String parentTimes = getNodeValueOrDefault(parentTimesNode, "");
String parentHisId = getNodeValueOrDefault(parentHisIdNode, "");
String hospCode = getNodeValueOrDefault(hospCodeNode, "");
MaternalInfantRelationshipDTO dto = new MaternalInfantRelationshipDTO();
dto.setMsgId(messageId);

@ -3,7 +3,7 @@ package com.docus.server.report.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.report.converter.HIP1264ReceiveMessageConverter;
import com.docus.server.report.converter.impl.HIP1264ReceiveMessageConverter;
import com.docus.server.report.converter.MaternalInfantRelationshipConverter;
import com.docus.server.report.dto.MaternalInfantRelationshipDTO;
import com.docus.server.report.entity.MaternalInfantRelationship;
@ -40,13 +40,13 @@ public class HIP1264MaternalInfantRelationshipHandler implements WebserviceRecei
MaternalInfantRelationshipConverter maternalInfantRelationshipConverter = new MaternalInfantRelationshipConverter(dto);
MaternalInfantRelationship maternalInfantRelationship = maternalInfantRelationshipConverter.dto2po();
maternalInfantRelationshipMapper.saveOrUpdate(maternalInfantRelationship);
return insertSuccess(dto.getMsgId(), dto.getSender(), dto.getReceiver());
return insertSuccess(dto.getMsgId());
} catch (BaseException baseException) {
log.error(baseException.getMessage(), baseException);
return insertFailed(dto.getMsgId(), dto.getSender(), dto.getReceiver(), baseException.getMessage());
return insertFailed(dto.getMsgId(), baseException.getMessage());
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
return insertFailed(dto.getMsgId(), dto.getSender(), dto.getReceiver(), "系统错误!");
return insertFailed(dto.getMsgId(), "系统错误!");
}
}
@ -62,83 +62,20 @@ public class HIP1264MaternalInfantRelationshipHandler implements WebserviceRecei
/**
*
*
* @param msgId id
* @param sender
* @param receiver
* @param msgId id
*/
public String insertSuccess(String msgId, String sender, String receiver) {
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\">" +
"<id extension=\"" + IdUtil.standardUUID() + "\"/>" +
"<creationTime value=\"" + createTime + "\"/>" +
"<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>" +
"<processingCode code=\"P\"/>" +
"<processingModeCode/>" +
"<acceptAckCode code=\"AL\"/>" +
"<receiver typeCode=\"RCV\">" +
"<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" +
"<id>" +
"<item extension=\"Orion-001\"/>" +
"</id>" +
"</device>" +
"</receiver>" +
"<sender typeCode=\"SND\">" +
"<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" +
"<id>" +
"<item extension=\"PaperlessManagementMRIS-001\"/>" +
"</id>" +
"</device>" +
"</sender>" +
"<acknowledgement typeCode=\"AA\">" +
"<targetMessage>" +
"<id extension=\"" + msgId + "\"/>" +
"</targetMessage>" +
"<acknowledgementDetail>" +
"<text value=\"成功\"/>" +
"</acknowledgementDetail>" +
"</acknowledgement>" +
"</MCCI_IN000002UV01>";
public String insertSuccess(String msgId) {
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\">" + "<id extension=\"" + IdUtil.standardUUID() + "\"/>" + "<creationTime value=\"" + Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI) + "\"/>" + "<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>" + "<processingCode code=\"P\"/>" + "<processingModeCode/>" + "<acceptAckCode code=\"AL\"/>" + "<receiver typeCode=\"RCV\">" + "<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" + "<id>" + "<item extension=\"Orion-001\"/>" + "</id>" + "</device>" + "</receiver>" + "<sender typeCode=\"SND\">" + "<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" + "<id>" + "<item extension=\"PaperlessManagementMRIS-001\"/>" + "</id>" + "</device>" + "</sender>" + "<acknowledgement typeCode=\"AA\">" + "<targetMessage>" + "<id extension=\"" + msgId + "\"/>" + "</targetMessage>" + "<acknowledgementDetail>" + "<text value=\"成功\"/>" + "</acknowledgementDetail>" + "</acknowledgement>" + "</MCCI_IN000002UV01>";
}
/**
*
*
* @param msgId id
* @param sender
* @param receiver
* @param msgId id
*/
public String insertFailed(String msgId, String sender, String receiver, String failedMessage) {
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\">" +
"<id extension=\"" + IdUtil.standardUUID() + "\"/>" +
"<creationTime value=\"" + createTime + "\"/>" +
"<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>" +
"<processingCode code=\"P\"/>" +
"<processingModeCode/>" +
"<acceptAckCode code=\"AL\"/>" +
"<receiver typeCode=\"RCV\">" +
"<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" +
"<id>" +
"<item extension=\"Orion-001\"/>" +
"</id>" +
"</device>" +
"</receiver>" +
"<sender typeCode=\"SND\">" +
"<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" +
"<id>" +
"<item extension=\"PaperlessManagementMRIS-001\"/>" +
"</id>" +
"</device>" +
"</sender>" +
"<acknowledgement typeCode=\"AE\">" +
"<targetMessage>" +
"<id extension=\"" + msgId + "\"/>" +
"</targetMessage>" +
"<acknowledgementDetail>" +
"<text value=\"" + failedMessage + "\"/>" +
"</acknowledgementDetail>" +
"</acknowledgement>" +
"</MCCI_IN000002UV01>";
public String insertFailed(String msgId, String failedMessage) {
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\">" + "<id extension=\"" + IdUtil.standardUUID() + "\"/>" + "<creationTime value=\"" + Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI) + "\"/>" + "<interactionId root=\"2.16.840.1.113883.1.6\" extension=\"MCCI_IN000002UV01\"/>" + "<processingCode code=\"P\"/>" + "<processingModeCode/>" + "<acceptAckCode code=\"AL\"/>" + "<receiver typeCode=\"RCV\">" + "<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" + "<id>" + "<item extension=\"Orion-001\"/>" + "</id>" + "</device>" + "</receiver>" + "<sender typeCode=\"SND\">" + "<device classCode=\"DEV\" determinerCode=\"INSTANCE\">" + "<id>" + "<item extension=\"PaperlessManagementMRIS-001\"/>" + "</id>" + "</device>" + "</sender>" + "<acknowledgement typeCode=\"AE\">" + "<targetMessage>" + "<id extension=\"" + msgId + "\"/>" + "</targetMessage>" + "<acknowledgementDetail>" + "<text value=\"" + failedMessage + "\"/>" + "</acknowledgementDetail>" + "</acknowledgement>" + "</MCCI_IN000002UV01>";
}
}

Loading…
Cancel
Save