From d584266629d2efffaa3c762edb33d286a7cffd88 Mon Sep 17 00:00:00 2001 From: zengwh Date: Fri, 2 Dec 2022 15:21:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9master=20Entity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/interfaceEntity/ArchiveMaster.java | 2 +- src/main/java/com/ann/job/ScheduledJob.java | 2 + src/main/java/com/ann/job/ScheduledJob2.java | 2 + src/main/java/com/ann/job/ScheduledJob3.java | 2 + src/main/java/com/ann/job/ScheduledJob4.java | 2 + .../java/com/ann/job/SchedulerAllJob.java | 16 +++- .../com/ann/service/impl/GenerateService.java | 91 +++++++++++-------- .../com/ann/utils/ExceptionPrintUtil.java | 40 ++++++++ 8 files changed, 111 insertions(+), 46 deletions(-) create mode 100644 src/main/java/com/ann/utils/ExceptionPrintUtil.java diff --git a/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java b/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java index d0947f9..fe5f59f 100644 --- a/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java +++ b/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java @@ -89,7 +89,7 @@ public class ArchiveMaster { /** * */ - private Date checkedDoctor; + private String checkedDoctor; /** diff --git a/src/main/java/com/ann/job/ScheduledJob.java b/src/main/java/com/ann/job/ScheduledJob.java index 2fbcb45..961eea4 100644 --- a/src/main/java/com/ann/job/ScheduledJob.java +++ b/src/main/java/com/ann/job/ScheduledJob.java @@ -3,6 +3,7 @@ package com.ann.job; import com.ann.entity.filing.MessageSubordinate; import com.ann.service.MessageSubordinateService; import com.ann.service.impl.QueueService; +import com.ann.utils.ExceptionPrintUtil; import com.ann.utils.QuartzUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -42,6 +43,7 @@ public class ScheduledJob implements Job { List all = messageSubordinateService.findAllByStatus(0); queueService.doSomething(all); } catch (Exception e) { + ExceptionPrintUtil.printException(e); // 如果报错-- 捕捉异常 继续执行 logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } diff --git a/src/main/java/com/ann/job/ScheduledJob2.java b/src/main/java/com/ann/job/ScheduledJob2.java index 1d58047..f38ecd6 100644 --- a/src/main/java/com/ann/job/ScheduledJob2.java +++ b/src/main/java/com/ann/job/ScheduledJob2.java @@ -3,6 +3,7 @@ package com.ann.job; import com.ann.entity.filing.MessageSubordinate; import com.ann.service.MessageSubordinateService; import com.ann.service.impl.QueueService; +import com.ann.utils.ExceptionPrintUtil; import com.ann.utils.QuartzUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -42,6 +43,7 @@ public class ScheduledJob2 implements Job { List all = messageSubordinateService.findAllMessageSubordinateByError(); queueService.doSomethingByError(all); } catch (Exception e) { + ExceptionPrintUtil.printException(e); // 如果报错-- 捕捉异常 继续执行 logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } diff --git a/src/main/java/com/ann/job/ScheduledJob3.java b/src/main/java/com/ann/job/ScheduledJob3.java index 8512301..baa1843 100644 --- a/src/main/java/com/ann/job/ScheduledJob3.java +++ b/src/main/java/com/ann/job/ScheduledJob3.java @@ -6,6 +6,7 @@ import com.ann.service.ArchiveMasterService; import com.ann.service.MessageSubordinateService; import com.ann.service.impl.GenerateService; import com.ann.service.impl.QueueService; +import com.ann.utils.ExceptionPrintUtil; import com.ann.utils.QuartzUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -44,6 +45,7 @@ public class ScheduledJob3 implements Job { QuartzUtils.pauseScheduleJob(scheduler, "group1", "job3"); generateService.doSomethingBySendTime(); } catch (Exception e) { + ExceptionPrintUtil.printException(e); // 如果报错-- 捕捉异常 继续执行 logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } diff --git a/src/main/java/com/ann/job/ScheduledJob4.java b/src/main/java/com/ann/job/ScheduledJob4.java index f583d72..8fda607 100644 --- a/src/main/java/com/ann/job/ScheduledJob4.java +++ b/src/main/java/com/ann/job/ScheduledJob4.java @@ -3,6 +3,7 @@ package com.ann.job; import com.ann.service.ArchiveMasterService; import com.ann.service.impl.GenerateService; import com.ann.service.impl.QueueService; +import com.ann.utils.ExceptionPrintUtil; import com.ann.utils.QuartzUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -38,6 +39,7 @@ public class ScheduledJob4 implements Job { QuartzUtils.pauseScheduleJob(scheduler, "group1", "job4"); queueService.doSomethingByHIS(); } catch (Exception e) { + ExceptionPrintUtil.printException(e); // 如果报错-- 捕捉异常 继续执行 logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } diff --git a/src/main/java/com/ann/job/SchedulerAllJob.java b/src/main/java/com/ann/job/SchedulerAllJob.java index ae64082..85198de 100644 --- a/src/main/java/com/ann/job/SchedulerAllJob.java +++ b/src/main/java/com/ann/job/SchedulerAllJob.java @@ -1,5 +1,6 @@ package com.ann.job; +import com.ann.utils.ExceptionPrintUtil; import org.quartz.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @@ -24,11 +25,16 @@ public class SchedulerAllJob { * @throws SchedulerException */ public void scheduleJobs() throws SchedulerException { - Scheduler scheduler = schedulerFactoryBean.getScheduler(); - scheduleJob1(scheduler); - scheduleJob2(scheduler); - scheduleJob3(scheduler); - scheduleJob4(scheduler); + try { + Scheduler scheduler = schedulerFactoryBean.getScheduler(); + scheduleJob1(scheduler); + scheduleJob2(scheduler); + scheduleJob3(scheduler); + scheduleJob4(scheduler); + } catch (SchedulerException e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + } } /** diff --git a/src/main/java/com/ann/service/impl/GenerateService.java b/src/main/java/com/ann/service/impl/GenerateService.java index c535c8c..599c459 100644 --- a/src/main/java/com/ann/service/impl/GenerateService.java +++ b/src/main/java/com/ann/service/impl/GenerateService.java @@ -1,12 +1,16 @@ package com.ann.service.impl; import com.ann.entity.interfaceEntity.ArchiveMaster; +import com.ann.job.ScheduledJob; import com.ann.service.ArchiveMasterService; +import com.ann.utils.ExceptionPrintUtil; import com.ann.utils.WebServiceUtils; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -20,6 +24,7 @@ import java.util.List; */ @Component public class GenerateService { + static final Logger logger = LoggerFactory.getLogger(GenerateService.class); @Autowired ArchiveMasterService archiveMasterService; @@ -36,51 +41,57 @@ public class GenerateService { GenerateService.cancelSignContent = cancelSignContent; } - public void doSomethingBySendTime() throws Exception{ - List all = archiveMasterService.findArchiveMasterBySendTime(); - for (ArchiveMaster archiveMaster: all) { - if(archiveMaster != null){ - //构建signContent - String now = LocalDateTime.now().toString(); - Document signContentDocument = DocumentHelper.parseText(signContent); - Element root = signContentDocument.getRootElement(); - Element patientStatu = root.element("patient_statu"); - patientStatu.setText("0"); - Element patientId = root.element("patient_id"); - patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId()); - Element creationTime = root.element("mr_back_date_time"); - creationTime.setText(now); - Element man = root.element("mr_back_man"); - man.setText(archiveMaster.getFirstInstance()+""); - String signReturn = signContentDocument.getRootElement().asXML(); - //调用webservice - Object[] objects = WebServiceUtils.connectEMR(signReturn); - if(objects != null){ - //更新发送时间 - archiveMasterService.updateSendTime(archiveMaster.getId(), now,0); + public void doSomethingBySendTime(){ + try { + List all = archiveMasterService.findArchiveMasterBySendTime(); + for (ArchiveMaster archiveMaster: all) { + if(archiveMaster != null){ + //构建signContent + String now = LocalDateTime.now().toString(); + Document signContentDocument = DocumentHelper.parseText(signContent); + Element root = signContentDocument.getRootElement(); + Element patientStatu = root.element("patient_statu"); + patientStatu.setText("0"); + Element patientId = root.element("patient_id"); + patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId()); + Element creationTime = root.element("mr_back_date_time"); + creationTime.setText(now); + Element man = root.element("mr_back_man"); + man.setText(archiveMaster.getFirstInstance()+""); + String signReturn = signContentDocument.getRootElement().asXML(); + //调用webservice + Object[] objects = WebServiceUtils.connectEMR(signReturn); + if(objects != null){ + //更新发送时间 + archiveMasterService.updateSendTime(archiveMaster.getId(), now,0); + } } } - } - List archiveMasters = archiveMasterService.findArchiveMasterBySendBackAndSendTime(); - for (ArchiveMaster archiveMaster: archiveMasters) { - if(archiveMaster != null){ - //构建cancelSignContent - /* Document cancelSignDocument = DocumentHelper.parseText(cancelSignContent); - Element cancelSignRoot = cancelSignDocument.getRootElement(); - Element patientStatu = cancelSignRoot.element("patient_statu"); - patientStatu.setText("1"); - Element patientId = cancelSignRoot.element("patient_id"); - patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId()); - String cancelSignReturn = cancelSignDocument.getRootElement().asXML(); - //调用webservice - Object[] objects = WebServiceUtils.connectEMR(cancelSignReturn); - if(objects != null){ - //更新发送时间 + List archiveMasters = archiveMasterService.findArchiveMasterBySendBackAndSendTime(); + for (ArchiveMaster archiveMaster: archiveMasters) { + if(archiveMaster != null){ + //构建cancelSignContent + /* Document cancelSignDocument = DocumentHelper.parseText(cancelSignContent); + Element cancelSignRoot = cancelSignDocument.getRootElement(); + Element patientStatu = cancelSignRoot.element("patient_statu"); + patientStatu.setText("1"); + Element patientId = cancelSignRoot.element("patient_id"); + patientId.setText(archiveMaster.getPatientId()+"|"+archiveMaster.getVisitId()); + String cancelSignReturn = cancelSignDocument.getRootElement().asXML(); + //调用webservice + Object[] objects = WebServiceUtils.connectEMR(cancelSignReturn); + if(objects != null){ + //更新发送时间 + archiveMasterService.updateSendTime(archiveMaster.getId(), null,1); + }*/ archiveMasterService.updateSendTime(archiveMaster.getId(), null,1); - }*/ - archiveMasterService.updateSendTime(archiveMaster.getId(), null,1); + } } + } catch (Exception e) { + logger.error("签收业务出错了"); + ExceptionPrintUtil.printException(e); + e.printStackTrace(); } } diff --git a/src/main/java/com/ann/utils/ExceptionPrintUtil.java b/src/main/java/com/ann/utils/ExceptionPrintUtil.java new file mode 100644 index 0000000..0f4b489 --- /dev/null +++ b/src/main/java/com/ann/utils/ExceptionPrintUtil.java @@ -0,0 +1,40 @@ +package com.ann.utils; + + + + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.PrintStream; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2020/8/4 14:18 + * @UpdateUser: 曾文和 + * @UpdateDate: 2020/8/4 14:18 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +public class ExceptionPrintUtil { + private static Logger log = LogManager.getLogger(ExceptionPrintUtil.class); + public static void printException(Exception e){ + //方法名 + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + e.printStackTrace(new PrintStream(baos)); + String exception = baos.toString(); + log.error(exception); + try { + baos.flush(); + baos.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } +}