1、archive_detail新增报告单号,并只对下载检验报告用报告单号进行新增更新处理,其他还是依据电子申请单号

2、新增对下载病案首页PDF,不做任何状态限制
3、因暂时电子病历不提供页码,针对新生儿会有_,电子病历也只采取老方式进行传送,也就是apply_id等于住院号_住院次数_Nurse_提交时间,页码是截取ftp地址
4、病理报告从原有共享目录改成ftp路径
master
leijx 5 years ago
parent ce66fbac70
commit a6ff0a6723

@ -54,7 +54,7 @@ public class AliasName {
// public static final String NURSING_RECORD_SHEET = "2";
// 病案首页
// public static final String MEDICAL_RECORD_HOMEPAGE = "3";
public static final String MEDICAL_RECORD_HOMEPAGE = "3";
// 评估护理单
// public static final String ASSESSMENT_NURSING_LIST = "4";

@ -51,6 +51,9 @@ public class ArchiveDetail {
*/
private String applyId;
// 2020-12-28 新增报告单号
private String checkReportId;
public ArchiveDetail() {
}
@ -62,6 +65,18 @@ public class ArchiveDetail {
this.applyId = applyId;
}
// lis系统下载
public ArchiveDetail(String masterID, Date upLoadDateTime, String assortID, String source, String applyId,String checkReportId, String title) {
this.masterID = masterID;
this.upLoadDateTime = upLoadDateTime;
this.assortID = assortID;
this.source = source;
this.checkReportId = checkReportId;
this.title = title;
this.applyId = applyId;
}
// 普通下载
public ArchiveDetail(String masterID, Date upLoadDateTime, String assortID, String source, String applyId, String title,Integer i) {
this.masterID = masterID;

@ -38,14 +38,14 @@ public class ScheduledJob implements Job {
public void execute(JobExecutionContext context) {
try {
//System.out.println("动态的定时任务1执行时间" + LocalTime.now());
QuartzUtils.pauseScheduleJob(scheduler, "group1", "job1");
QuartzUtils.pauseScheduleJob(scheduler, "group1", "job5");
List<MessageSubordinate> all = messageSubordinateService.findAllByStatus(0);
queueService.doSomething(all);
} catch (Exception e) {
// 如果报错-- 捕捉异常 继续执行
logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]);
}
QuartzUtils.resumeScheduleJob(scheduler, "group1", "job1");
QuartzUtils.resumeScheduleJob(scheduler, "group1", "job5");
}
}

@ -36,7 +36,7 @@ public class SchedulerAllJob {
* properties
* http://blog.csdn.net/liuchuanhong1/article/details/60873295
* ScheduleRefreshDatabase
*
*
* @param scheduler
* @throws SchedulerException
*/
@ -45,16 +45,16 @@ public class SchedulerAllJob {
* ScheduleRefreshDatabase
*
*/
JobDetail jobDetail = JobBuilder.newJob(ScheduledJob.class).withIdentity("job1", "group1").build();
// 每5s执行一次
JobDetail jobDetail = JobBuilder.newJob(ScheduledJob.class).withIdentity("job5", "group1").build();
// 每15s执行一次
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/15 * * * * ?");
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job1", "group1").withSchedule(scheduleBuilder).build();
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job5", "group1").withSchedule(scheduleBuilder).build();
scheduler.scheduleJob(jobDetail, cronTrigger);
}
/**
* Job2
*
*
* @param scheduler
* @throws SchedulerException
*/
@ -68,29 +68,29 @@ public class SchedulerAllJob {
/**
* Job3
*
*
* @param scheduler
* @throws SchedulerException
*/
private void scheduleJob3(Scheduler scheduler) throws SchedulerException {
JobDetail jobDetail = JobBuilder.newJob(ScheduledJob3.class).withIdentity("job3", "group1").build();
// 0 1-2 * * * ?
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/15 * * * * ?");
// 每1分钟执行一次
// 0 1-2 * * * ? 0 0/5 * * * ?
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0 0/2 * * * ? ");
// 每30秒执行一次
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job3", "group1").withSchedule(scheduleBuilder).build();
scheduler.scheduleJob(jobDetail, cronTrigger);
}
/**
* Job4
*
*
* @param scheduler
* @throws SchedulerException
*/
private void scheduleJob4(Scheduler scheduler) throws SchedulerException {
JobDetail jobDetail = JobBuilder.newJob(ScheduledJob4.class).withIdentity("job4", "group1").build();
// 0 1-2 * * * ?
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0 */1 * * * ?");
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("* 0/10 * * * ?");
// 每1分钟执行一次
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job4", "group1").withSchedule(scheduleBuilder).build();
scheduler.scheduleJob(jobDetail, cronTrigger);

@ -64,7 +64,7 @@ public class QueueService {
ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(), messageDto.getVisitId());
Date date = new Date();
if (archiveMaster != null) {
if (!Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT)) {
if (!Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT) || !Objects.equals(messageDto.getType(), AliasName.MEDICAL_RECORD_HOMEPAGE)) {
if (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档")) {
messageSubordinate.setStatus(3);
messageSubordinateService.save(messageSubordinate);
@ -79,6 +79,19 @@ public class QueueService {
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), messageDto.getDetailType(), 1);
archiveDetailService.save(archiveDetail);
} else {
//如果是检验报告 单独处理
if(Objects.equals(messageDto.getType(),AliasName.INSPECTION_REPORT)){
// 查询库中是否存在 如果存在就更新
archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getCheckReportId());
if (archiveDetail == null) {
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(),messageDto.getApplyId(), messageDto.getCheckReportId(),
messageDto.getDetailType());
archiveDetailService.save(archiveDetail);
} else {
//更新时间
archiveDetail.setUpLoadDateTime(date);
}
}else{
// 查询库中是否存在 如果存在就更新
archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId());
if (archiveDetail == null) {
@ -89,7 +102,7 @@ public class QueueService {
//更新时间
archiveDetail.setUpLoadDateTime(date);
}
}
}
String pdfPath = null;
String tempPath = "";
@ -102,13 +115,16 @@ public class QueueService {
}
String tempPageNum = "";
if (messageDto.getApplyId().lastIndexOf("_") != -1) {
// if (messageDto.getApplyId().lastIndexOf("_") != -1 ) {
//apply_id 000562390700_1_000562390700_0_1_JHR06.00.02_34_2.pdf
tempPageNum = messageDto.getApplyId().substring(0, messageDto.getApplyId().indexOf(".pdf"));
}else{
// if(archiveMaster.getInpNo().lastIndexOf("_") != -1){
// }
// tempPageNum = messageDto.getApplyId().substring(0, messageDto.getApplyId().indexOf(".pdf"));
// }else{
// address ftp://10.6.0.155/2020-08-04/000562390700_1_000562390700_0_1_JHR06.00.02_34_2_0.pdf
tempPageNum = address.substring(0, address.lastIndexOf("_"));
}
// }
tempPageNum = tempPageNum.substring(tempPageNum.lastIndexOf("_") + 1, tempPageNum.length() );
if(isInteger(tempPageNum)){
pageNum = Integer.valueOf(tempPageNum);

@ -165,6 +165,19 @@ public class DownloadUtils {
FTPClient ftpClient = FTPUtil.connectFtpServer(url, port, split[0], split[1]);
return FTPUtil.downloadFtp(path, ftpClient, imageFile);
}
if (Objects.equals(type, AliasName.PATHOLOGY_REPORT)) {
// ftp://10.6.0.74:33/202012_U/Report668771_1.jpg
address = address.substring(address.indexOf("/") + 2, address.length());
String url = address.substring(0, address.indexOf(":"));
Integer port = 0;
if (address.indexOf(":") != -1 && address.indexOf("/") != -1) {
port = Integer.parseInt(address.substring(address.indexOf(":") + 1, address.indexOf("/")));
}
String path = address.substring(address.indexOf("/"), address.length());
FTPClient ftpClient = FTPUtil.connectFtpServer(url, port, "", "");
return FTPUtil.downloadFtp(path, ftpClient, imageFile);
}
} else {
// 共享文件
// //10.6.0.74/Images/201907_U/Report609639_1.jpg
@ -172,7 +185,6 @@ public class DownloadUtils {
return DownloadUtils.cmdFile(address, imageFile);
//return true
}
return false;
}

@ -1,25 +1,25 @@
spring:
datasource:
# url: jdbc:mysql://localhost:3306/test
# # url: jdbc:mysql://10.6.1.127:3306/test
# username: root
# password: 123456
# driver-class-name: com.mysql.jdbc.Driver
# jpa:
# database: mysql
# show-sql: false
# hibernate:
# ddl-auto: update
url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
# url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record
username: sa
password: docus@702
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:mysql://localhost:3306/test
# url: jdbc:mysql://10.6.1.127:3306/test
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
jpa:
database: sql_server
database: mysql
show-sql: false
hibernate:
dialect: org.hibernate.dialect.SQLServer2008Dialect
ddl-auto: update
# url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
# # url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record
# username: sa
# password: docus@702
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# jpa:
# database: sql_server
# show-sql: false
# hibernate:
# dialect: org.hibernate.dialect.SQLServer2008Dialect
thymeleaf:
prefix: classpath:/templates/
@ -50,8 +50,8 @@ file:
dischargeRecordPath: D:\\1\dischargeRecord.properties
transferRecordPath: D:\\1\transferRecord.properties
admissionRecordPath: D:\\1\admissionRecord.properties
pdfPath: Z:/project_js
imagePath: Z:/images
pdfPath: D:/project_js
imagePath: D:/images
signContent: <REQUEST>
<patient_statu>0</patient_statu>

Loading…
Cancel
Save