diff --git a/pom.xml b/pom.xml
index 725c737..947aa10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
-docus-report-manager
+docus-report-unblocking
diff --git a/src/main/java/com/docus/server/CxfConfig.java b/src/main/java/com/docus/server/CxfConfig.java
index b06f8e6..20dca40 100644
--- a/src/main/java/com/docus/server/CxfConfig.java
+++ b/src/main/java/com/docus/server/CxfConfig.java
@@ -1,12 +1,11 @@
package com.docus.server;
-import com.docus.server.reportmanager.service.ReportManagerService;
+import com.docus.server.reportmanager.service.ReportSealedService;
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.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
@@ -18,8 +17,8 @@ import javax.xml.ws.Endpoint;
@Configuration
public class CxfConfig {
@Autowired
- @Qualifier("SzyReportManagerService")
- private ReportManagerService reportManagerService;
+ @Qualifier("SzyReportSealedService")
+ private ReportSealedService reportSealedService;
/**
* 注入Servlet,注意beanName不能为dispatcherServlet
@@ -40,7 +39,7 @@ public class CxfConfig {
@Bean
@Qualifier("reportEndPoint")
public Endpoint reportEndPoint() {
- EndpointImpl endpoint = new EndpointImpl(springBus(), reportManagerService);
+ EndpointImpl endpoint = new EndpointImpl(springBus(), reportSealedService);
endpoint.publish("/report");
return endpoint;
}
diff --git a/src/main/java/com/docus/server/reportmanager/entity/TSeal.java b/src/main/java/com/docus/server/reportmanager/entity/TSeal.java
new file mode 100644
index 0000000..62d572c
--- /dev/null
+++ b/src/main/java/com/docus/server/reportmanager/entity/TSeal.java
@@ -0,0 +1,58 @@
+package com.docus.server.reportmanager.entity;
+
+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 jiashi
+ * @since 2023-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="TSeal对象", description="在院封存")
+public class TSeal implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "在院封存病案主键")
+ private String patientId;
+
+ @ApiModelProperty(value = "封存id")
+ private String sealId;
+
+ @ApiModelProperty(value = "住院号")
+ private String inpatientNo;
+
+ @ApiModelProperty(value = "住院就诊号")
+ private String jzh;
+
+ @ApiModelProperty(value = "患者姓名")
+ private String name;
+
+ @ApiModelProperty(value = "住院时间")
+ private Date admissDate;
+
+ @ApiModelProperty(value = "封存时间")
+ private Date sealDate;
+
+ @ApiModelProperty(value = "文件来源")
+ private Integer fileSource;
+
+ @ApiModelProperty(value = "就诊次数")
+ private Integer admissTimes;
+
+ @ApiModelProperty(value = "纸质是否签名 0:否 1:是")
+ private Integer signinfo;
+
+ @ApiModelProperty(value = "备注")
+ private String remark;
+}
diff --git a/src/main/java/com/docus/server/reportmanager/mapper/ScanAssortMapper.java b/src/main/java/com/docus/server/reportmanager/mapper/ScanAssortMapper.java
index 3975fa5..3bdc23e 100644
--- a/src/main/java/com/docus/server/reportmanager/mapper/ScanAssortMapper.java
+++ b/src/main/java/com/docus/server/reportmanager/mapper/ScanAssortMapper.java
@@ -31,4 +31,13 @@ public interface ScanAssortMapper {
* @author YongBin Wen
*/
List getIdByPatientTask(@Param("patientId") String patientId, @Param("taskId") Long taskId);
+
+ /**
+ * 解封,修改文件表该患者下病案的状态
+ * @date 2024/1/10 11:25
+ * @author YongBin Wen
+ * @param patientId 病案主键
+ * @return int 数据库影响行
+ */
+ int unblocking(@Param("patientId")String patientId);
}
diff --git a/src/main/java/com/docus/server/reportmanager/mapper/TSealMapper.java b/src/main/java/com/docus/server/reportmanager/mapper/TSealMapper.java
new file mode 100644
index 0000000..e0df46a
--- /dev/null
+++ b/src/main/java/com/docus/server/reportmanager/mapper/TSealMapper.java
@@ -0,0 +1,14 @@
+package com.docus.server.reportmanager.mapper;
+
+
+import com.docus.server.reportmanager.entity.TSeal;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wyb
+ */
+@Mapper
+public interface TSealMapper {
+ TSeal findByCondition(@Param("condition") TSeal condition);
+}
diff --git a/src/main/java/com/docus/server/reportmanager/service/ReportSealedService.java b/src/main/java/com/docus/server/reportmanager/service/ReportSealedService.java
new file mode 100644
index 0000000..4a8b924
--- /dev/null
+++ b/src/main/java/com/docus/server/reportmanager/service/ReportSealedService.java
@@ -0,0 +1,21 @@
+package com.docus.server.reportmanager.service;
+
+import javax.jws.WebService;
+
+/**
+ * 报告管理服务接口
+ *
+ * @author YongBin Wen
+ * @date 2024/1/3 16:11
+ */
+@WebService
+public interface ReportSealedService {
+ /**
+ * 解封患者病历
+ *
+ * @param message 解封信息
+ * @return 处理结果
+ */
+ String Q_WS_JFHZBL(String message);
+
+}
diff --git a/src/main/java/com/docus/server/reportmanager/service/impl/SzyReportSealedServiceImpl.java b/src/main/java/com/docus/server/reportmanager/service/impl/SzyReportSealedServiceImpl.java
new file mode 100644
index 0000000..3723576
--- /dev/null
+++ b/src/main/java/com/docus/server/reportmanager/service/impl/SzyReportSealedServiceImpl.java
@@ -0,0 +1,77 @@
+package com.docus.server.reportmanager.service.impl;
+
+import com.docus.infrastructure.core.exception.BaseException;
+import com.docus.server.reportmanager.entity.TSeal;
+import com.docus.server.reportmanager.mapper.ScanAssortMapper;
+import com.docus.server.reportmanager.mapper.TSealMapper;
+import com.docus.server.reportmanager.service.ReportSealedService;
+import com.docus.server.reportmanager.util.XmlUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.w3c.dom.Node;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+/**
+ * 广东省中医报告管理服务接口
+ *
+ * @author YongBin Wen
+ * @date 2024/1/3 16:11
+ */
+@Service("SzyReportSealedService")
+@Slf4j
+public class SzyReportSealedServiceImpl implements ReportSealedService {
+
+ @Resource
+ private ScanAssortMapper scanAssortMapper;
+ @Resource
+ private TSealMapper sealMapper;
+
+ @Override
+ public String Q_WS_JFHZBL(String message) {
+ log.info("广东省中医报告解封,收到解封患者病历的信息:{}", message);
+ try {
+ XmlUtil xmlUtil = XmlUtil.of(message);
+ // 住院流水号
+ Node jzhNode = xmlUtil.getNode("/Request/INHOSP_NO");
+ String jzh = jzhNode.getTextContent();
+
+ TSeal condition = new TSeal();
+ condition.setJzh(jzh);
+
+ TSeal seal = sealMapper.findByCondition(condition);
+ if (Objects.isNull(seal)) {
+ log.error("不存在封存患者信息");
+ return error("不存在封存患者信息");
+ }
+ scanAssortMapper.unblocking(seal.getPatientId());
+ return success();
+ } catch (BaseException baseException) {
+ log.error(baseException.getMessage(), baseException);
+ return error(baseException.getMessage());
+ } catch (Exception ex) {
+ log.error(ex.getMessage(), ex);
+ return error("系统内部错误,请联系开发人员");
+ }
+ }
+
+
+ private String error(String msg) {
+ return "\n" +
+ " \n" +
+ " 1\n" +
+ " " + msg + "\n" +
+ " \n" +
+ "";
+ }
+
+ private String success() {
+ return "\n" +
+ " \n" +
+ " 0\n" +
+ " 成功\n" +
+ " \n" +
+ "";
+ }
+}
diff --git a/src/main/resources/bin/update.bat b/src/main/resources/bin/update.bat
index 8c9b881..feefdcd 100644
--- a/src/main/resources/bin/update.bat
+++ b/src/main/resources/bin/update.bat
@@ -1,7 +1,7 @@
@echo off
-set deployDir=%1\docus-report-manager
-if %deployDir%=="" set deployDir=d:\webroot\docus-report-manager
+set deployDir=%1\docus-report-unblocking
+if %deployDir%=="" set deployDir=d:\webroot\docus-report-unblocking
set curr_file=%cd%
cd /d %deployDir%
diff --git a/src/main/resources/bin/winsw.xml b/src/main/resources/bin/winsw.xml
index d7fe58a..5bd89d1 100644
--- a/src/main/resources/bin/winsw.xml
+++ b/src/main/resources/bin/winsw.xml
@@ -1,7 +1,7 @@
- docus-report-manager
- 生产-嘉时-报告管理服务
- 生产-嘉时-报告管理服务
+ docus-report-unblocking
+ 生产-嘉时-报告解封
+ 生产-嘉时-报告解封
Automatic
%BASE%\start.bat
diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml
index 2861362..f6c236e 100644
--- a/src/main/resources/bootstrap.yml
+++ b/src/main/resources/bootstrap.yml
@@ -1,11 +1,11 @@
server:
- port: 9444
+ port: 9445
spring:
application:
name: @artifactId@
profiles:
- active: test
+ active: prod
datasource:
dynamic:
primary: master #设置默认的数据源,默认值为master
@@ -67,11 +67,11 @@ xxl:
admin:
addresses: http://job.docus.cn:8180/xxl-job-admin
executor:
- appname: docus-report-manager
+ appname: docus-report-unblocking
address:
ip:
- port: 19444
+ port: 19445
logretentiondays: 30
- logpath: D:/xxl-job/docus-report-manager
+ logpath: D:/xxl-job/docus-report-unblocking
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 337c3c2..28cd3dc 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -1,6 +1,6 @@
- docus-report-manager
+ docus-report-unblocking
@@ -21,7 +21,7 @@
${log.path}%d.%i.log
- 500MB
+ 100MB
60
diff --git a/src/main/resources/mapper/ScanAssortMapper.xml b/src/main/resources/mapper/ScanAssortMapper.xml
index 761c191..be0676f 100644
--- a/src/main/resources/mapper/ScanAssortMapper.xml
+++ b/src/main/resources/mapper/ScanAssortMapper.xml
@@ -12,6 +12,11 @@
#{id}
+
+ UPDATE `docus_archivefile`.`t_scan_assort`
+ SET `sealed` = 1
+ WHERE `patient_id` = #{patientId}
+