增加金域外送

1.1_jinyuwaisong
zengwh 2 years ago
parent 47e87687f4
commit 102e7c0696

@ -134,6 +134,15 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- 设置你期望的Java源代码版本 -->
<target>1.8</target> <!-- 设置你期望的Java目标字节码版本 -->
</configuration>
</plugin>
</plugins>
<finalName>LISInterface</finalName>
</build>

@ -60,7 +60,6 @@ public class TestController {
objects = client.invoke(interfaceForm.getInterfaceName(), interfaceForm.getParameter(), interfaceForm.getContent());
}
System.out.println(objects[0]);
} catch (Exception e) {
e.printStackTrace();
}

@ -61,6 +61,8 @@ public class AnalysisService {
public String getHIPMessageServerResult(String message, Class tClass, String parameter,String webserviceId) throws Exception{
String outContent = "失败", typeCodeValue = "AE";
ArchiveDetail archiveDetail = null;
//是否走掉接口
boolean interfaceFlag = false;
try {
long startTime = System.currentTimeMillis();
long endTime = 0;
@ -81,7 +83,6 @@ public class AnalysisService {
if((!ObjectUtils.isEmpty(messageDto.getDeliveryFlag()) )&&
Objects.equals(messageDto.getDeliveryFlag(),"广州金域")){
// 直接下载并生成文件到detail
//System.out.println(messageDto.getReportAddress());
UUID uuid = UUID.randomUUID();
File pdfFile = FileUtils.createFile("pdfs", messageDto.getInpNo(), messageDto.getVisitId(), uuid.toString(), null);
if(Base64Utils.isBase64(messageDto.getReportAddress())) {
@ -90,12 +91,14 @@ public class AnalysisService {
textContentTemp = "加密字节流转换pdf失败";
}
}else{
interfaceFlag = true;
//不是base64 2023-09-05新增根据接口下载pdf
boolean downFileFlag = collectCheckService.downFileWithCheck(archiveMasterId,messageDto.getBarCode(),messageDto.getCheckReportId(), messageDto.getReportAddress());
if(!downFileFlag){
textContentTemp = "金域外送base64下载失败";
}
}
if(!interfaceFlag) {
// 查询库中是否存在 如果存在就更新
archiveDetail = archiveDetailService.isExit(archiveMasterId, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), messageDto.getCheckReportId());
if (archiveDetail == null) {
@ -107,10 +110,10 @@ public class AnalysisService {
archiveDetail.setPdfPath(pdfFile.getAbsolutePath());
archiveDetailService.save(archiveDetail);
}
}
// 替换消息的pdf节点
String tempMessage = XMLUtils.replaceXpath(message, pdfFile.getAbsolutePath());
if(!ObjectUtils.isEmpty(tempMessage)){
//System.out.println(tempMessage);
message = tempMessage;
messageLog.setInputContent(message);
outContent = XMLUtils.generateV3XmlStr("AA", "成功啦~");
@ -148,8 +151,9 @@ public class AnalysisService {
}
}
}catch (Exception e){
e.printStackTrace();
// 报错删掉患者报告详情信息
if (archiveDetail != null) {
if (archiveDetail != null && !interfaceFlag) {
if (archiveDetail.getId() != null) {
archiveDetailService.delete(archiveDetail.getId());
}

@ -58,6 +58,7 @@ public class CollectCheckService {
public boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl) {
//登录
String token = getTokenByCheckKey(siteCode, customerCode, collectionLocation);
System.out.println("获取token:"+token);
//下载
return downFileWithCheck(masterId,hospBarcode,reportOdd,fileUrl,token);
}

@ -42,7 +42,6 @@ public class MessageServiceImpl implements MessageService {
@Override
public List<MessageLog> findAllMessage() {
List<MessageLog> allHaha = messageRepository.findAllHaha();
System.out.println(allHaha.size());
return allHaha;
}

@ -1,25 +1,44 @@
package com.ann.demo.utils;
import org.apache.axis.encoding.Base64;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Base64Utils {
public static String jdkBase64Decode(String src) {
/**
* base64
* @param str
* @return
* Ascii95
* 031127(33)
* 32126(95)(32485709
* 6590269712226
*/
public static boolean isBase64(String str) {
//使用正则来判断是否符合base64编码的特征但是无法排除类似于root这种特殊情况
String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
Boolean isLegal = str.matches(base64Pattern);
if (isLegal) {
//对于某些字符可能符合base64编码特征但是却不是base64编码格式进行进一步判断如果解码后含有乱码即Ascii码不在32~126,
//说明虽然符合base64编码特征但是不是base64编码,如root
try {
src = src.replaceAll("\r\n","");
byte[] decode = Base64.decode(src);
return new String(decode);
String decStr = new String(Base64.getDecoder().decode(str.getBytes()), StandardCharsets.UTF_8);
char[] passArr = decStr.toCharArray();
for (int i = 0; i < passArr.length; i++) {
if (charToByteAscii2(passArr[i]) < 32 || charToByteAscii2(passArr[i]) > 126) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return null;
}else {
return false;
}
public static boolean isBase64(String str) {
try {
Base64.decode(str);
return true;
} catch (IllegalArgumentException e) {
return false;
}
private static byte charToByteAscii2(char ch){
byte byteAscii = (byte)ch;
return byteAscii;
}
}

@ -69,7 +69,6 @@ public class DateUtils {
File[] files = file.listFiles();
for (File file1 : files) {
System.out.println(file1.getName());
}
}

@ -137,7 +137,6 @@ public class FileUtils {
String a = address.substring(0, address.indexOf(".pdf"));
String emrPath = a.substring(a.lastIndexOf("_") + 1, a.length());
System.out.println(emrPath);
}

@ -220,7 +220,6 @@ public class HttpClientUtils {
HttpResponse response = httpClient.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
String responseBody = EntityUtils.toString(responseEntity);
System.out.println(responseBody);
return responseBody;
} catch (IOException e) {
e.printStackTrace();

@ -25,8 +25,5 @@ public class JsonUtils {
String name = getValueByKey(jsonString, "name");
int age = Integer.parseInt(getValueByKey(jsonString, "age"));
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}

@ -274,7 +274,6 @@ public class XMLUtils {
Node node = x.selectSingleNode(doc);
if (node != null) {
node.setText(replaceContent);
System.out.println(node.getText());
}
}catch (Exception e){
return null;

@ -12,8 +12,8 @@ spring:
# ddl-auto: update
# show-sql: true
# database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
#url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new
url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
#url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new
username: sa
password: docus702
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
@ -62,16 +62,16 @@ file:
# 真正部署的时候 这个要改成Z盘
pdfPath: D:/project_js
server:
port: 8080
port: 8885
#################################################
#登录接口
#子公司代码
siteCode: K0101
#客户代码
customerCode: 44000259-001
customerCode: 44000259
#收样点代码
collectionLocation: 44000259-001|001
collectionLocation: 44000259|003
#loginUrl
loginUrl: https://kmcs.kingmed.com.cn/km-op/cxf/v0.1.0.0/syncInfo2?wsdl
#namespaceURI
@ -84,4 +84,4 @@ webServiceMethod: login
webServiceDownMethod: downloadPictureInfo
#调下载接口
downfileUrl: http://192.168.16.85:9292/api/downplatform/report
downfileUrl: http://10.6.1.127:9291/api/downplatform/report

@ -12,7 +12,6 @@ public class DemoApplicationTests {
@Test
public void contextLoads() {
int i = (int)Math.pow(2,3);
System.out.println(i);
}
}

Loading…
Cancel
Save