From a3207e38c13a81299afc1963e0e52d9800e05a68 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 07 六月 2025 15:55:48 +0800
Subject: [PATCH] 代码提交

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWRequest.java             |   30 ++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/JHFWWebService.java              |   32 ++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/client/JHFWWebServiceClient.java |   50 ++++++++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java                   |   43 ++++++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWResponse.java            |   17 +++++
 5 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java
new file mode 100644
index 0000000..2d9f849
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java
@@ -0,0 +1,43 @@
+package cn.lihu.jh.module.ecg.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * Action绫诲瀷鏋氫妇
+ */
+@Getter
+@AllArgsConstructor
+public enum ActionTypeEnum {
+
+    S0201ECG("S0201ECG", "鐢宠鍗曞垱寤�"),
+    S0202ECG("S0202ECG", "鐢宠鍗曟洿鏂�"),
+    S040501HIS("S040501HIS", "棰勭害鏇存柊"),
+    S050401("S050401", "妫�鏌ラ绾︾姸鎬佹柊澧�"),
+    S050501("S050501", "妫�鏌ラ绾︾姸鎬佷慨鏀�");
+
+
+    /**
+     * 绫诲瀷
+     */
+    private final String type;
+    /**
+     * 鎻忚堪
+     */
+    private final String description;
+
+    /**
+     * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇
+     *
+     * @param type 绫诲瀷
+     * @return 鏋氫妇
+     */
+    public static ActionTypeEnum getByType(String type) {
+        for (ActionTypeEnum value : values()) {
+            if (value.getType().equals(type)) {
+                return value;
+            }
+        }
+        return null;
+    }
+}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/JHFWWebService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/JHFWWebService.java
new file mode 100644
index 0000000..b830cad
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/JHFWWebService.java
@@ -0,0 +1,32 @@
+package cn.lihu.jh.module.ecg.webservice;
+
+import cn.lihu.jh.module.ecg.webservice.dto.JHFWRequest;
+import cn.lihu.jh.module.ecg.webservice.dto.JHFWResponse;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+/**
+ * JHFW WebService鎺ュ彛
+ */
+@WebService(targetNamespace = "urn:hl7-org:v3", name = "SAMPLEBSSoap")
+@XmlSeeAlso({JHFWRequest.class, JHFWResponse.class})
+public interface JHFWWebService {
+
+    /**
+     * JHFWTYRK鏂规硶
+     *
+     * @param request 璇锋眰鍙傛暟
+     * @return 鍝嶅簲缁撴灉
+     */
+    @WebMethod(operationName = "JHFWTYRK", action = "urn:hl7-org:v3/ZHIP.JHFWTYRK.BS.JHFWTYRK.JHFWTYRK")
+    @WebResult(name = "JHFWTYRKResult", targetNamespace = "urn:hl7-org:v3")
+    @RequestWrapper(localName = "JHFWTYRK", targetNamespace = "urn:hl7-org:v3", className = "cn.lihu.jh.module.ecg.webservice.dto.JHFWRequest")
+    @ResponseWrapper(localName = "JHFWTYRKResponse", targetNamespace = "urn:hl7-org:v3", className = "cn.lihu.jh.module.ecg.webservice.dto.JHFWResponse")
+    JHFWResponse jhfwtyrk(@WebParam(name = "parameters", targetNamespace = "urn:hl7-org:v3") JHFWRequest request);
+} 
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/client/JHFWWebServiceClient.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/client/JHFWWebServiceClient.java
new file mode 100644
index 0000000..5fc9aad
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/client/JHFWWebServiceClient.java
@@ -0,0 +1,50 @@
+package cn.lihu.jh.module.ecg.webservice.client;
+
+import cn.lihu.jh.module.ecg.webservice.JHFWWebService;
+import cn.lihu.jh.module.ecg.webservice.dto.JHFWRequest;
+import cn.lihu.jh.module.ecg.webservice.dto.JHFWResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.springframework.stereotype.Component;
+
+/**
+ * JHFW WebService瀹㈡埛绔�
+ */
+@Slf4j
+@Component
+public class JHFWWebServiceClient {
+
+    private static final String WSDL_URL = "http://10.0.4.36/ZHIP/Service/ZHIP.JHFWTYRK.BS.JHFWTYRK.cls?wsdl";
+    private final JHFWWebService webService;
+
+    public JHFWWebServiceClient() {
+        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
+        factory.setServiceClass(JHFWWebService.class);
+        factory.setAddress(WSDL_URL);
+        this.webService = (JHFWWebService) factory.create();
+    }
+
+    /**
+     * 璋冪敤JHFWTYRK鏂规硶
+     *
+     * @param action  鎿嶄綔绫诲瀷
+     * @param message 娑堟伅鍐呭
+     * @return 鍝嶅簲缁撴灉
+     */
+    public String callJHFWTYRK(String action, String message) {
+        try {
+            JHFWRequest request = new JHFWRequest();
+            JHFWRequest.JHFWreq req = new JHFWRequest.JHFWreq();
+            req.setAction(action);
+            req.setRdn("");
+            req.setMessage(message);
+            request.setReq(req);
+
+            JHFWResponse response = webService.jhfwtyrk(request);
+            return response.getResult();
+        } catch (Exception e) {
+            log.error("[callJHFWTYRK][璋冪敤澶辫触 action({}) message({})]", action, message, e);
+            throw new RuntimeException("璋冪敤WebService澶辫触", e);
+        }
+    }
+}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWRequest.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWRequest.java
new file mode 100644
index 0000000..6916c70
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWRequest.java
@@ -0,0 +1,30 @@
+package cn.lihu.jh.module.ecg.webservice.dto;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.*;
+
+/**
+ * JHFW璇锋眰瀵硅薄
+ */
+@Data
+@XmlRootElement(name = "JHFWTYRK", namespace = "urn:hl7-org:v3")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class JHFWRequest {
+
+    @XmlElement(name = "req", namespace = "urn:hl7-org:v3")
+    private JHFWreq req;
+
+    @Data
+    @XmlAccessorType(XmlAccessType.FIELD)
+    public static class JHFWreq {
+        @XmlElement(name = "action", namespace = "urn:hl7-org:v3")
+        private String action;
+
+        @XmlElement(name = "rdn", namespace = "urn:hl7-org:v3")
+        private String rdn;
+
+        @XmlElement(name = "message", namespace = "urn:hl7-org:v3")
+        private String message;
+    }
+} 
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWResponse.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWResponse.java
new file mode 100644
index 0000000..a22d9ec
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/webservice/dto/JHFWResponse.java
@@ -0,0 +1,17 @@
+package cn.lihu.jh.module.ecg.webservice.dto;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.*;
+
+/**
+ * JHFW鍝嶅簲瀵硅薄
+ */
+@Data
+@XmlRootElement(name = "JHFWTYRKResponse", namespace = "urn:hl7-org:v3")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class JHFWResponse {
+
+    @XmlElement(name = "JHFWTYRKResult", namespace = "urn:hl7-org:v3")
+    private String result;
+} 
\ No newline at end of file

--
Gitblit v1.9.3