优化金域外送

1.1_jinyuwaisong
zengwh 2 years ago
parent bfe6b078eb
commit 7bff807b82

@ -61,7 +61,7 @@ public class TestController {
@RequestMapping("/demo1") @RequestMapping("/demo1")
@ResponseBody @ResponseBody
public String demo1() { public String demo1() {
collectCheckService.downFileWithCheck("123","100041535327","GZ002WWRQAZEUXP","http://kmcs.kingmed.com.cn:8890/km-platform-web/restful/fileDownload/0df10c5e-af85-4acd-b2df-c1628f77b59c@88f14792ee4a31129fa721f85e2068bb"); collectCheckService.downFileWithCheck("123","100041535327","GZ002WWRQAZEUXP","http://kmcs.kingmed.com.cn:8890/km-platform-web/restful/fileDownload/0df10c5e-af85-4acd-b2df-c1628f77b59c@88f14792ee4a31129fa721f85e2068bb","123");
return "demo1"; return "demo1";
} }
} }

@ -1,6 +1,7 @@
package com.ann.demo.entity.filing.dto; package com.ann.demo.entity.filing.dto;
import lombok.Data; import lombok.Data;
import lombok.ToString;
import java.util.Date; import java.util.Date;
@ -9,6 +10,7 @@ import java.util.Date;
* @Date 2019/7/9 16:50 * @Date 2019/7/9 16:50
* @Created by ljx * @Created by ljx
*/ */
@ToString
public class MessageDto<T> { public class MessageDto<T> {
private String entity; private String entity;

@ -44,16 +44,16 @@ public class WebServiceConfig {
System.out.println("-----------------------LIS已发布-------------------------"); System.out.println("-----------------------LIS已发布-------------------------");
EndpointImpl endpoint = new EndpointImpl(springBus(), homepageDictionary()); EndpointImpl endpoint = new EndpointImpl(springBus(), homepageDictionary());
endpoint.publish("HomepageDictionary"); endpoint.publish("HomepageDictionary");
System.out.println("在线的wsdl:http://localhost:"+port+"/services/HomepageDictionary?wsdl");
log.info("在线的wsdl:http://localhost:"+port+"/services{}?wsdl","/HomepageDictionary");
return endpoint; return endpoint;
} }
@Bean /*@Bean
public Endpoint userServiceEndpoint() { public Endpoint userServiceEndpoint() {
EndpointImpl userEndpoint = new EndpointImpl(bus, webServiceDemo); EndpointImpl userEndpoint = new EndpointImpl(bus, webServiceDemo);
userEndpoint.publish(path); userEndpoint.publish(path);
System.out.println("在线的wsdl:http://localhost:"+port+"/services"+path+"?wsdl");
log.info("在线的wsdl:http://localhost:"+port+"/services{}?wsdl",path);
return userEndpoint; return userEndpoint;
} }*/
} }

@ -72,6 +72,7 @@ public class AnalysisService {
MessageLog messageLog = new MessageLog(message, InterfaceName.HIP_MESSAGE_SERVER, new Date(), webserviceId); MessageLog messageLog = new MessageLog(message, InterfaceName.HIP_MESSAGE_SERVER, new Date(), webserviceId);
messageService.save(messageLog); messageService.save(messageLog);
MessageDto messageDto = XMLUtils.xpathToBean(message, tClass, parameter); MessageDto messageDto = XMLUtils.xpathToBean(message, tClass, parameter);
logger.info("接收到信息:"+messageDto.toString());
if (messageDto != null) { if (messageDto != null) {
archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId()); archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
if (archiveMasterId != null) { if (archiveMasterId != null) {
@ -93,7 +94,7 @@ public class AnalysisService {
}else{ }else{
interfaceFlag = true; interfaceFlag = true;
//不是base64 2023-09-05新增根据接口下载pdf //不是base64 2023-09-05新增根据接口下载pdf
boolean downFileFlag = collectCheckService.downFileWithCheck(archiveMasterId,messageDto.getBarCode(),messageDto.getCheckReportId(), messageDto.getReportAddress()); boolean downFileFlag = collectCheckService.downFileWithCheck(archiveMasterId,messageDto.getBarCode(),messageDto.getCheckReportId(), messageDto.getReportAddress(),messageDto.getApplyId());
if(!downFileFlag){ if(!downFileFlag){
textContentTemp = "金域外送base64下载失败"; textContentTemp = "金域外送base64下载失败";
} }
@ -136,6 +137,7 @@ public class AnalysisService {
result = 1; result = 1;
} }
} else { } else {
logger.info("患者不存在:住院号:"+messageDto.getInpNo()+",住院次数:"+messageDto.getVisitId());
textContent = "没有入院信息"; textContent = "没有入院信息";
} }
} else { } else {

@ -17,6 +17,8 @@ import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Service; import org.apache.axis.client.Service;
import org.apache.axis.utils.StringUtils; import org.apache.axis.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -35,7 +37,6 @@ import java.util.*;
@Slf4j @Slf4j
public class CollectCheckService { public class CollectCheckService {
private Map<String,String> tokenCacheMap = new HashMap<>(); private Map<String,String> tokenCacheMap = new HashMap<>();
private String FILENAME = "fileName"; private String FILENAME = "fileName";
private String FILEBASE64 = "fileBase64"; private String FILEBASE64 = "fileBase64";
@Value("${siteCode}") @Value("${siteCode}")
@ -55,12 +56,12 @@ public class CollectCheckService {
@Value("${downfileUrl}") @Value("${downfileUrl}")
private String downfileUrl; private String downfileUrl;
public boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl) { public boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl,String applyId) {
//登录 //登录
String token = getTokenByCheckKey(siteCode, customerCode, collectionLocation); String token = getTokenByCheckKey(siteCode, customerCode, collectionLocation);
System.out.println("获取token:"+token); log.info("获取token:"+token);
//下载 //下载
return downFileWithCheck(masterId,hospBarcode,reportOdd,fileUrl,token); return downFileWithCheck(masterId,hospBarcode,reportOdd,fileUrl,token,applyId);
} }
/** /**
@ -72,7 +73,7 @@ public class CollectCheckService {
* @param token * @param token
* @return * @return
*/ */
private boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl,String token){ private boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl,String token,String applyId){
//根据参数请求接口返回json数据 //根据参数请求接口返回json数据
String result = reqInterfaceByParam(hospBarcode, reportOdd, fileUrl, token); String result = reqInterfaceByParam(hospBarcode, reportOdd, fileUrl, token);
//解析返回json数据 //解析返回json数据
@ -80,10 +81,11 @@ public class CollectCheckService {
//唯一文件码 //唯一文件码
String serialnum = hospBarcode + "_" + reportOdd; String serialnum = hospBarcode + "_" + reportOdd;
//根据解析的数据调用下载 //根据解析的数据调用下载
String reqResult = downFile(masterId,map,serialnum); String reqResult = downFile(masterId,map,serialnum,applyId);
if(!StringUtils.isEmpty(reqResult)) { if(!StringUtils.isEmpty(reqResult)) {
String code = JsonUtils.getValueByKey(reqResult, "code"); String code = JsonUtils.getValueByKey(reqResult, "code");
if(!StringUtils.isEmpty(code) && "0".equals(code)){ if(!StringUtils.isEmpty(code) && "0".equals(code)){
log.info("下载成功masterId"+masterId);
return true; return true;
} }
} }
@ -94,14 +96,13 @@ public class CollectCheckService {
* *
* @param map * @param map
*/ */
private String downFile(String masterId,Map<String, String> map,String serialnum) { private String downFile(String masterId,Map<String, String> map,String serialnum,String applyId) {
if(!CollectionUtils.isEmpty(map)){ if(!CollectionUtils.isEmpty(map)){
//设置下载参数 //设置下载参数
Map rootMap = setDownReqParams(masterId, map, serialnum); Map rootMap = setDownReqParams(masterId, map, serialnum,applyId);
//调用下载接口 //调用下载接口
String result = HttpClientUtils.doPost(downfileUrl,JSON.toJSONString(rootMap)); String result = HttpClientUtils.doPost(downfileUrl,JSON.toJSONString(rootMap));
log.info("上传下载服务result:"+result); log.info("上传下载服务result:"+result);
System.out.println("上传下载服务result:"+result);
return result; return result;
} }
return null; return null;
@ -114,7 +115,7 @@ public class CollectCheckService {
* @param serialnum * @param serialnum
* @return * @return
*/ */
private Map setDownReqParams(String masterId, Map<String, String> map, String serialnum) { private Map setDownReqParams(String masterId, Map<String, String> map, String serialnum,String applyId) {
//设置文件信息参数 //设置文件信息参数
Map<String,Object> scanfilesMap = new HashMap<>(); Map<String,Object> scanfilesMap = new HashMap<>();
scanfilesMap.put("taskid",-1); scanfilesMap.put("taskid",-1);
@ -122,8 +123,9 @@ public class CollectCheckService {
scanfilesMap.put("filesource",1); scanfilesMap.put("filesource",1);
scanfilesMap.put("filestoragetype",1); scanfilesMap.put("filestoragetype",1);
scanfilesMap.put("filetype",2); scanfilesMap.put("filetype",2);
scanfilesMap.put("applyId",applyId);
scanfilesMap.put("downurl", map.get(FILEBASE64)); scanfilesMap.put("downurl", map.get(FILEBASE64));
scanfilesMap.put("serialnum", serialnum +"1"); scanfilesMap.put("serialnum", serialnum);
List<Map<String,Object>> scanfilesList = new ArrayList<>(); List<Map<String,Object>> scanfilesList = new ArrayList<>();
scanfilesList.add(scanfilesMap); scanfilesList.add(scanfilesMap);
//设置患者信息参数 //设置患者信息参数

@ -15,7 +15,7 @@ spring:
url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
#url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new #url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new
username: sa username: sa
password: docus702 password: docus@702
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
jpa: jpa:
database: sql_server database: sql_server
@ -63,7 +63,13 @@ file:
pdfPath: D:/project_js pdfPath: D:/project_js
server: server:
port: 8885 port: 8885
logging:
config : classpath:logback-spring.xml
level:
com.example.mapper: debug
file:
#日志文件位置
name: D:/logs/toDayLog/log.log
################################################# #################################################
#登录接口 #登录接口
#子公司代码 #子公司代码
@ -84,4 +90,5 @@ webServiceMethod: login
webServiceDownMethod: downloadPictureInfo webServiceDownMethod: downloadPictureInfo
#调下载接口 #调下载接口
#downfileUrl: http://192.168.16.85:9292/api/downplatform/report
downfileUrl: http://10.6.1.127:9291/api/downplatform/report downfileUrl: http://10.6.1.127:9291/api/downplatform/report

@ -1,47 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="10 seconds"> <configuration>
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】,,, -->
<contextName>logback</contextName> <!-- appender是configuration的子节点是负责写日志的组件。 -->
<!-- 格式化输出:%date表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符--> <!-- ConsoleAppender把日志输出到控制台 -->
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- 定义日志存储的路径,不要配置相对路径 D:/logs/spring-log.%d{yyyy-MM-dd}.%i.log -->
<property name="FILE_PATH" value="D:/logs/%d{yyyy-MM-dd}/LISInterface.%i.log"/>
<!-- 控制台输出日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志级别过滤INFO以下 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder> <encoder>
<!-- 按照上面配置的LOG_PATTERN来打印日志 --> <pattern>[%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%contextName] [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n</pattern>
<pattern>${LOG_PATTERN}</pattern> <!-- 控制台也要使用UTF-8不要使用GBK否则会中文乱码 -->
<charset>UTF-8</charset>
</encoder> </encoder>
</appender> </appender>
<!-- RollingFileAppender滚动记录文件先将日志记录到指定文件当符合某个条件时将日志记录到其他文件 -->
<!--每天生成一个日志文件保存30天的日志文件。rollingFile用来切分文件的 --> <!-- 以下的大概意思是1.先按日期存日志日期变了将前一天的日志文件名重命名为XXX%日期%索引新的日志仍然是demo.log -->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 2.如果日期没有发生变化但是当前日志的文件大小超过1KB时对当前日志进行分割 重命名-->
<appender name="demolog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>D:/logs/toDayLog/log.log</File>
<!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
<!-- TimeBasedRollingPolicy 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern> <!-- 活动文件的名字会根据fileNamePattern的值每隔一段时间改变一次 -->
<!-- keep 15 days' worth of history --> <!-- 文件名log/demo.2017-12-05.0.log -->
<maxHistory>30</maxHistory> <fileNamePattern>D:/logs/log/demo.%d.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 每产生一个日志文件该日志文件的保存期限为15天 -->
<!-- 日志文件的最大大小 --> <maxHistory>15</maxHistory>
<maxFileSize>2MB</maxFileSize> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- maxFileSize:这是活动文件的大小默认值是10MB测试时可改成1KB看效果 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy> </timeBasedFileNamingAndTriggeringPolicy>
<!-- 超出删除老文件 -->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${LOG_PATTERN}</pattern> <!-- pattern节点用来设置日志的输入格式 -->
<pattern>
[%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%X{traceId}] [%L] [%-5p] %m%n
</pattern>
<charset>utf-8</charset>
<!-- 记录日志的编码:此处设置字符集 - -->
<charset>UTF-8</charset>
</encoder> </encoder>
<bufferSize>1024</bufferSize>
</appender> </appender>
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<!-- project default level --> <appender-ref ref="demolog" />
<logger name="com.ann" level="ERROR"/> </appender>
<!-- 控制台输出日志级别 -->
<!-- 日志输出级别 --> <root level="info">
<root level="error"> <appender-ref ref="STDOUT" />
<appender-ref ref="console"/>
<appender-ref ref="rollingFile"/>
</root> </root>
<!-- 指定项目中某个包,当有日志操作行为时的日志记录级别 -->
<!-- com.liyan为根包也就是只要是发生在这个根包下面的所有日志操作行为的权限都是DEBUG -->
<!-- 级别依次为【从高到低】FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
<logger name="com" level="INFO">
<appender-ref ref="ASYNC_FILE" />
</logger>
</configuration> </configuration>

@ -14,7 +14,7 @@
<div class="col-sm-offset-1 col-sm-6"> <div class="col-sm-offset-1 col-sm-6">
<label for="url">URL</label> <label for="url">URL</label>
<select class="form-control" id="url" name="url"> <select class="form-control" id="url" name="url">
<option value="http://localhost:8080/services/HomepageDictionary?wsdl">本地</option> <option value="http://localhost:8885/services/HomepageDictionary?wsdl">本地</option>
<option value="http://10.6.1.128:8888/AcquisitionServer/services/HomepageDictionary?wsdl">服务端</option> <option value="http://10.6.1.128:8888/AcquisitionServer/services/HomepageDictionary?wsdl">服务端</option>
</select> </select>
</div> </div>

Loading…
Cancel
Save