diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java index e4ca7f7..82cd418 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java @@ -1,23 +1,21 @@ package com.docus.server.collect.basic.http; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.AbstractHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; /** * 主动http收集器,返回从客户那边获取的数据 - * - * @see IHttpCollector - * @see TBasicHttpCollectJob#execute(Date, Date, long, long) */ @Component("httpTBasicCollectorImpl") -public class HttpTBasicCollectorImpl implements IHttpCollector { +public class HttpTBasicCollectorImpl extends AbstractHttpCollector { @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { TBasicDTO deptDTO = new TBasicDTO(); TBasicDTO deptDTO1 = new TBasicDTO(); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java index 8690fa0..4b8c33f 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java @@ -1,20 +1,22 @@ package com.docus.server.collect.basic.ws; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.AbstractWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; /** * 主动ws采集数据 */ @Component("wsBasicCollectorImpl") -public class WsBasicCollectorImpl implements IWsCollector { +public class WsBasicCollectorImpl extends AbstractWsCollector { + @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { TBasicDTO deptDTO = new TBasicDTO(); deptDTO.setAdmissDate("1"); deptDTO.setAdmissDays("admin"); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectorImpl.java index 7ef7c13..141a09b 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/http/HttpDeptCollectorImpl.java @@ -1,18 +1,19 @@ package com.docus.server.collect.dept.http; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.AbstractHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; @Component("httpDeptCollectorImpl") -public class HttpDeptCollectorImpl implements IHttpCollector { +public class HttpDeptCollectorImpl extends AbstractHttpCollector { @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { DeptDTO deptDTO = new DeptDTO(); deptDTO.setAuthorId("1"); deptDTO.setAuthorName("admin"); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java index 1981636..ed8d56e 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java @@ -1,20 +1,21 @@ package com.docus.server.collect.dept.ws; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.AbstractWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; /** * 主动ws采集数据 */ @Component("wsDeptCollectorImpl") -public class WsDeptCollectorImpl implements IWsCollector { +public class WsDeptCollectorImpl extends AbstractWsCollector { @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { DeptDTO deptDTO = new DeptDTO(); deptDTO.setAuthorId("1"); deptDTO.setAuthorName("admin"); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/noview/AbstractNoViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/AbstractNoViewJobResultImpl.java new file mode 100644 index 0000000..8831d96 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/AbstractNoViewJobResultImpl.java @@ -0,0 +1,21 @@ +package com.docus.server.collect.report.noview; + +import com.docus.server.collect.IJobResult; +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; + +@Slf4j +public abstract class AbstractNoViewJobResultImpl implements IJobResult { + + @Override + public T ok(Map params) { + return null; + } + + @Override + public T fail(Map params) { + return null; + } + +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefJobNoViewCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefJobNoViewCollectorImpl.java new file mode 100644 index 0000000..81c478c --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefJobNoViewCollectorImpl.java @@ -0,0 +1,31 @@ +package com.docus.server.collect.report.noview; + +import com.docus.server.collect.AbstractJobCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.enums.QueryWayEnum; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.common.util.ParamsUtils; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Component("defJobNoViewCollectorImpl") +public class DefJobNoViewCollectorImpl + extends AbstractJobCollector> { + + @Override + public List> list(PeriodTime periodTime, TaskConfig taskConfig) { + List> results = new ArrayList<>(); + Map param = ParamsUtils.addParam("periodTime", periodTime).addParam("taskConfig", taskConfig).param(); + int queryway = taskConfig.getQueryway(); + if (queryway == QueryWayEnum.outtime.value()) { + results = basicService.getBasicOutData(param); + } + if (queryway == QueryWayEnum.createtime.value()) { + results = basicService.getBasicData(param); + } + return results; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefNoViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefNoViewJobResultImpl.java new file mode 100644 index 0000000..13db12b --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/noview/DefNoViewJobResultImpl.java @@ -0,0 +1,173 @@ +package com.docus.server.collect.report.noview; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.docus.core.util.Func; +import com.docus.log.context.TrackHelper; +import com.docus.server.archivefile.pojo.entity.CollectsysDictionary; +import com.docus.server.archivefile.service.IAfCollectSysDictionary; +import com.docus.server.collect.web.common.DocusProperties; +import com.docus.server.collect.web.common.NoViewChNewbornProperties; +import com.docus.server.collect.web.common.NoViewProperties; +import com.docus.server.collect.web.common.dto.NoViewConfig; +import com.docus.server.collect.web.common.dto.ViewReportTwoDto; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.enums.DisposeModeEnum; +import com.docus.server.collect.web.enums.HospitalEnum; +import com.docus.server.collect.web.enums.RedisKeyEnum; +import com.docus.server.collect.web.utils.MqQueueUtils; +import com.docus.server.collect.web.utils.RedisMq; +import com.docus.server.common.message.MqMessage; +import com.docus.server.common.util.MapObjUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 无视图 + */ +@Component("defNoViewJobResultImpl") +@Slf4j +public class DefNoViewJobResultImpl + extends AbstractNoViewJobResultImpl>> { + @Resource + private NoViewProperties noViewProperties; + @Resource + private NoViewChNewbornProperties noViewChNewbornProperties; + @Resource + private DocusProperties docusProperties; + @Resource(name = "defRedis") + private RedisMq redisMq; + @Resource + private IAfCollectSysDictionary afCollectSysDictionary; + @Resource + private AmqpTemplate amqpTemplate; + @Resource + MqQueueUtils mqQueueUtils; + + @Override + public void handle(List> results, String dsKey) { + + } + + @Override + public void handle(List> results, Map param) { + Map params = TrackHelper.getParams(); + if (Func.isNull(params)) { + return; + } + TaskConfig taskConfig = (TaskConfig) params.get("taskConfig"); + + List list = new ArrayList<>(); + for (Map map : results) { + ViewReportTwoDto viewReportTwoDto = MapObjUtil.map2ObjectUnderlined(map, ViewReportTwoDto.class); + viewReportTwoDto.setIspriority(taskConfig.getPriority()); + list.add(viewReportTwoDto); + } + try { + GenerateQueue(list, taskConfig.getSyscodes()); + } catch (Exception ex) { + log.error("发送队列信息失败,错误信息:" + ex.getMessage() + "." + JSON.toJSONString(dto)); + } + + TrackHelper.clear(); + } + + private void GenerateQueue(List list, String syscodes) { +// List configs = initNoviewConfig(); + List collectsysDictionaries = afCollectSysDictionary.findAll(); + if (!StringUtils.isEmpty(syscodes)) { + List collectids = Arrays.asList(syscodes.split(",")); + collectsysDictionaries = collectsysDictionaries.stream().filter(t -> collectids.contains(t.getSysCode())).collect(Collectors.toList()); + if (null == collectsysDictionaries) { + log.error("无可用采集器"); + return; + } + } + for (CollectsysDictionary o : collectsysDictionaries) { + List disposedata = chDispose(list, o.getSysCode()); + disposedata = Dispose(disposedata, o.getSysCode(), configs); + if (null == disposedata || disposedata.size() <= 0) { + continue; + } + disposedata.forEach(k -> { + k.setCollectorId(o.getSysCode()); + if (docusProperties.getMode().equals(DisposeModeEnum.mq)) { + MqMessage mqMessage = new MqMessage(); + String mqKey = String.format("topic_task_%s_queue", getQueueKey(o.getSysCode())); + mqQueueUtils.DeclareQueue(mqKey); + mqMessage.setMessageBody(JSON.toJSONString(k, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue)); + amqpTemplate.convertAndSend("", mqKey, mqMessage); + } + if (docusProperties.getMode().equals(DisposeModeEnum.redis)) { + redisMq.push(RedisKeyEnum.QUEUEREDISKEY, JSON.toJSONString(k, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue)); + } + }); + } + } + + private static String getQueueKey(String sysCode) { + TableJsonRead tableJsonRead = new TableJsonRead(); + JSONObject read = tableJsonRead.Read("docus", "queuemerge", JSONObject.class); + if (read == null || read.size() <= 0) { + return sysCode; + } + for (Map.Entry merge : read.entrySet()) { + if (Arrays.asList(String.valueOf(merge.getKey()).split(StrUtil.COMMA)).contains(sysCode)) { + if (StrUtil.isBlank(String.valueOf(merge.getValue())) || "null".equals(String.valueOf(merge.getValue()))) { + return sysCode; + } else { + return String.valueOf(merge.getValue()); + } + } + } + // 合并 主键包含 sysCode,则返回对应的 QueueCode + return sysCode; + } + + /** + * 澄海数据处理 + * + * @param list + * @param syscode + * @return + */ + private List chDispose(List list, String syscode) { + List datas = new ArrayList<>(); + if (!(HospitalEnum.ch.value() == noViewProperties.getHospital() && syscode.equals(noViewChNewbornProperties.getSyscode()))) { + return list; + } + datas = list.stream().filter(t -> t.getDisDeptName().equals(noViewChNewbornProperties.getDisdeptname())).collect(Collectors.toList()); + return datas; + } + + /** + * 指定队列,指定科室数据处理 + * + * @param list + * @param syscode + * @return + */ + private List Dispose(List list, String syscode, List configs) { + List datas = new ArrayList<>(); + if (null == configs || configs.size() == 0) { + return list; + } + NoViewConfig config = configs.stream().filter(t -> t.getSyscode().equals(syscode)).findFirst().orElse(null); + if (null == config) { + return list; + } + datas = list.stream().filter(t -> t.getDisDeptName().equals(config.getDeptname())).collect(Collectors.toList()); + return datas; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/BaseViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/AbstractViewJobResultImpl.java similarity index 96% rename from collect-sdry/src/main/java/com/docus/server/collect/report/view/BaseViewJobResultImpl.java rename to collect-sdry/src/main/java/com/docus/server/collect/report/view/AbstractViewJobResultImpl.java index 7432938..6795d41 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/BaseViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/AbstractViewJobResultImpl.java @@ -23,7 +23,6 @@ import com.docus.server.collect.web.utils.RedisMq; import com.docus.server.collect.web.utils.SpringRestTemplateUtils; import com.docus.server.common.message.MqMessage; import com.docus.server.common.util.SpringUtils; -import com.docus.server.record.common.pojo.entity.TBasic; import com.docus.server.record.service.ITBasicService; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; @@ -36,17 +35,11 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @Slf4j -public abstract class BaseViewJobResultImpl implements IJobResult>> { +public abstract class AbstractViewJobResultImpl implements IJobResult { private IHospitalApi hospitalApi; @Resource private IdService idService; @@ -71,9 +64,10 @@ public abstract class BaseViewJobResultImpl implements IJobResult> results, String dsKey) { + @SuppressWarnings("unchecked") + public void handle(T results, String dsKey) { this.hospitalApi = (IHospitalApi) SpringUtils.getBean(String.format("%s%s", dsKey, "ServiceImpl")); - process(results, dsKey); + process((List>) results, dsKey); } public void process(List> datas, String key) { @@ -454,10 +448,7 @@ public abstract class BaseViewJobResultImpl implements IJobResult> getBasicForZYHs(List zyhs) { - List tBasics = basicService.findByList("inpatientNo", zyhs); - String s = com.docus.core.util.json.JSON.toJSON(tBasics); - return com.docus.core.util.json.JSON.fromJSONWithGeneric(s, new TypeReference>>() { - }); + return basicService.getBasicForZYHs(zyhs); // List> datas = new ArrayList<>(); // String url = String.format("http://localhost:%s", getPort()); @@ -485,12 +476,17 @@ public abstract class BaseViewJobResultImpl implements IJobResult> ok(Map params) { + public T ok(Map params) { return null; } @Override - public List> fail(Map params) { + public T fail(Map params) { return null; } + + @Override + public void handle(T results, Map param) { + + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/BlViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/BlViewJobResultImpl.java index d141fff..8b7bf03 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/BlViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/BlViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 病理数据 */ @Component("blViewJobResultImpl") -public class BlViewJobResultImpl extends BaseViewJobResultImpl { +public class BlViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/EcgViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/EcgViewJobResultImpl.java index 54a3604..2d2ef7e 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/EcgViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/EcgViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 电生理系统数据 */ @Component("ecgViewJobResultImpl") -public class EcgViewJobResultImpl extends BaseViewJobResultImpl { +public class EcgViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/EmrViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/EmrViewJobResultImpl.java index 1ffaefb..413c63d 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/EmrViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/EmrViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 电子病历系统数据 */ @Component("emrViewJobResultImpl") -public class EmrViewJobResultImpl extends BaseViewJobResultImpl { +public class EmrViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/HlViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/HlViewJobResultImpl.java index 1820748..ee2d1c0 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/HlViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/HlViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 护理文书系统数据 */ @Component("hlViewJobResultImpl") -public class HlViewJobResultImpl extends BaseViewJobResultImpl { +public class HlViewJobResultImpl extends + AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/IssubmitViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/IssubmitViewJobResultImpl.java index aefc1de..29ec7b5 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/IssubmitViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/IssubmitViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 手麻系统数据 */ @Component("issubmitViewJobResultImpl") -public class IssubmitViewJobResultImpl extends BaseViewJobResultImpl { +public class IssubmitViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/LisViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/LisViewJobResultImpl.java index 69e580d..b30d8db 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/LisViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/LisViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * lis系统数据 */ @Component("lisViewJobResultImpl") -public class LisViewJobResultImpl extends BaseViewJobResultImpl { +public class LisViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/PacsViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/PacsViewJobResultImpl.java index 0ea28ce..e967325 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/PacsViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/PacsViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * Pacs系统数据视图 */ @Component("pacsViewJobResultImpl") -public class PacsViewJobResultImpl extends BaseViewJobResultImpl { +public class PacsViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/VteViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/VteViewJobResultImpl.java index 5e7bdfa..1d36c1a 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/VteViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/VteViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * vte静脉血栓栓塞症 */ @Component("vteViewJobResultImpl") -public class VteViewJobResultImpl extends BaseViewJobResultImpl { +public class VteViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/report/view/ZzViewJobResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/report/view/ZzViewJobResultImpl.java index 6d2f7c3..daa190d 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/report/view/ZzViewJobResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/report/view/ZzViewJobResultImpl.java @@ -2,10 +2,18 @@ package com.docus.server.collect.report.view; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; + /** * 重症系统数据 */ @Component("zzViewJobResultImpl") -public class ZzViewJobResultImpl extends BaseViewJobResultImpl { +public class ZzViewJobResultImpl + extends AbstractViewJobResultImpl>> { + @Override + public void handle(List> results, String dsKey) { + super.handle(results, dsKey); + } } diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java index 168e884..c5e3b34 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java @@ -1,20 +1,21 @@ package com.docus.server.collect.user.http; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.AbstractHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; /** * 主动http */ @Component("httpUserCollectorImpl") -public class HttpUserCollectorImpl implements IHttpCollector { +public class HttpUserCollectorImpl extends AbstractHttpCollector { @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { UserDTO deptDTO = new UserDTO(); deptDTO.setAuthorId("1"); deptDTO.setAuthorName("admin"); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java index e40b7da..9e518c1 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java @@ -1,27 +1,27 @@ package com.docus.server.collect.user.ws; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.AbstractWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; -import java.util.Date; import java.util.List; /** * 主动ws采集数据 */ @Component("wsUserCollectorImpl") -public class WsUserCollectorImpl implements IWsCollector { +public class WsUserCollectorImpl extends AbstractWsCollector { @Override - public List list(Date startDate, Date endDate, int pageNum, int pageSize) { + public List list(PeriodTime periodTime, TaskConfig taskConfig) { UserDTO deptDTO = new UserDTO(); deptDTO.setAuthorId("1"); deptDTO.setAuthorName("admin"); deptDTO.setMessageId("1"); deptDTO.setOperateType("save"); deptDTO.setReceiver("admin"); - UserDTO deptDTO1 = new UserDTO(); deptDTO1.setAuthorId("2"); deptDTO1.setAuthorName("admin2"); diff --git a/collect-sdry/src/main/java/com/docus/server/collect/web/enums/QueryWayEnum.java b/collect-sdry/src/main/java/com/docus/server/collect/web/enums/QueryWayEnum.java new file mode 100644 index 0000000..c51159e --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/web/enums/QueryWayEnum.java @@ -0,0 +1,25 @@ +package com.docus.server.collect.web.enums; + +public enum QueryWayEnum { + + /** + * 默认,出院 + */ + outtime(0), + /** + * 创建时间 + */ + createtime(1), + ; + private int value = 0; + + private QueryWayEnum(int value) { //必须是private的,否则编译错误 + this.value = value; + } + public int value() { + return this.value; + } + public String ToString() { + return String.valueOf(this.value); + } +} diff --git a/collect-sdry/src/main/resources/bootstrap.yml b/collect-sdry/src/main/resources/bootstrap.yml index 8dc13b0..ddbeaef 100644 --- a/collect-sdry/src/main/resources/bootstrap.yml +++ b/collect-sdry/src/main/resources/bootstrap.yml @@ -13,92 +13,92 @@ spring: #公司病案的文件服务数据库 master: url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: docus - password: docus702 + username: root + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #公司病案的系统服务数据库 system: url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_system?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: docus - password: docus702 + username: root + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #公司病案的基础服务数据库 record: url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: docus - password: docus702 + username: root + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #医院的用户/科室/基础数据的数据库 his: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #病理数据 bl: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #电生理系统数据 ecg: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #电子病历系统数据 emr: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #护理文书系统数据 hl: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #手麻系统数据 issubmit: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #lis系统数据 lis: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/lis?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #Pacs系统数据视图 pacs: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #vte静脉血栓栓塞症 vte: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #重症系统数据 zz: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root@123456 + password: root driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource # rabbitmq: @@ -108,7 +108,7 @@ spring: # password: guest redis: host: redis.docus.cn - password: JSdocus@702 + # password: JSdocus@702 cloud: nacos: discovery: diff --git a/common-collect/src/main/java/com/docus/server/collect/AbstractHttpCollector.java b/common-collect/src/main/java/com/docus/server/collect/AbstractHttpCollector.java new file mode 100644 index 0000000..6560f5c --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/AbstractHttpCollector.java @@ -0,0 +1,4 @@ +package com.docus.server.collect; + +public abstract class AbstractHttpCollector implements ICollector { +} diff --git a/common-collect/src/main/java/com/docus/server/collect/AbstractJobCollector.java b/common-collect/src/main/java/com/docus/server/collect/AbstractJobCollector.java new file mode 100644 index 0000000..a8c2e38 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/AbstractJobCollector.java @@ -0,0 +1,13 @@ +package com.docus.server.collect; + +import com.docus.server.record.service.ITBasicService; + +import javax.annotation.Resource; + +public abstract class AbstractJobCollector implements ICollector { + @Resource + protected ITBasicService basicService; + + + +} diff --git a/common-collect/src/main/java/com/docus/server/collect/AbstractWsCollector.java b/common-collect/src/main/java/com/docus/server/collect/AbstractWsCollector.java new file mode 100644 index 0000000..1b25396 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/AbstractWsCollector.java @@ -0,0 +1,6 @@ +package com.docus.server.collect; + +public abstract class AbstractWsCollector implements ICollector { + + +} diff --git a/common-collect/src/main/java/com/docus/server/collect/ICollector.java b/common-collect/src/main/java/com/docus/server/collect/ICollector.java index 0bd2f24..b6a42b0 100644 --- a/common-collect/src/main/java/com/docus/server/collect/ICollector.java +++ b/common-collect/src/main/java/com/docus/server/collect/ICollector.java @@ -1,11 +1,17 @@ package com.docus.server.collect; -import java.util.Date; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.utils.PeriodTime; + import java.util.List; public interface ICollector { /** * 根据配置适配收集器 + * + * @param periodTime 时间 + * @param taskConfig 任务配置 + * @return */ - List list(Date startDate, Date endDate, int pageNum, int pageSize); + List list(PeriodTime periodTime, TaskConfig taskConfig); } diff --git a/common-collect/src/main/java/com/docus/server/collect/IHttpCollector.java b/common-collect/src/main/java/com/docus/server/collect/IHttpCollector.java deleted file mode 100644 index d441805..0000000 --- a/common-collect/src/main/java/com/docus/server/collect/IHttpCollector.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.docus.server.collect; - -public interface IHttpCollector extends ICollector { -} diff --git a/common-collect/src/main/java/com/docus/server/collect/IJobResult.java b/common-collect/src/main/java/com/docus/server/collect/IJobResult.java index b38e0b6..e25ab5c 100644 --- a/common-collect/src/main/java/com/docus/server/collect/IJobResult.java +++ b/common-collect/src/main/java/com/docus/server/collect/IJobResult.java @@ -1,5 +1,7 @@ package com.docus.server.collect; +import java.util.Map; + /** * @author linruifeng * @date 2023/6/14 14:27 @@ -7,11 +9,19 @@ package com.docus.server.collect; public interface IJobResult extends IResult { /** - * job主动返回结果 + * 有视图job主动返回结果 * * @param results 分页查询表数据 * @param dsKey 数据源key */ void handle(T results, String dsKey); + + /** + * 无视图job主动返回结果 + * + * @param results 分页查询表数据 + * @param param 参数 + */ + void handle(T results, Map param); } diff --git a/common-collect/src/main/java/com/docus/server/collect/IWsCollector.java b/common-collect/src/main/java/com/docus/server/collect/IWsCollector.java deleted file mode 100644 index 48db912..0000000 --- a/common-collect/src/main/java/com/docus/server/collect/IWsCollector.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.docus.server.collect; - -public interface IWsCollector extends ICollector { - - -} diff --git a/common-collect/src/main/java/com/docus/server/collect/basic/http/TBasicHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/basic/http/TBasicHttpCollectJob.java index 9cb096c..5fbb6ed 100644 --- a/common-collect/src/main/java/com/docus/server/collect/basic/http/TBasicHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/basic/http/TBasicHttpCollectJob.java @@ -1,22 +1,20 @@ package com.docus.server.collect.basic.http; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** * 主动http请求基础数据job * * @see AbstractCollectJob - * @see com.docus.server.collect.IJob - * @see IHttpCollector */ @Component public class TBasicHttpCollectJob extends AbstractCollectJob { @@ -48,8 +46,8 @@ public class TBasicHttpCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.list(startDate, endDate, pageNum, pageSize); + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/basic/view/TBasicViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/basic/view/TBasicViewCollectJob.java index 00181a1..15ca87f 100644 --- a/common-collect/src/main/java/com/docus/server/collect/basic/view/TBasicViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/basic/view/TBasicViewCollectJob.java @@ -1,14 +1,15 @@ package com.docus.server.collect.basic.view; import com.docus.server.collect.ICollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.his.service.IHisService; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -46,9 +47,10 @@ public class TBasicViewCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return hisService.getTBasicListView(startDate, endDate, pageNum, pageSize); + return hisService.getTBasicListView(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/basic/ws/TBasicWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/basic/ws/TBasicWsCollectJob.java index 62d5a43..cd37423 100644 --- a/common-collect/src/main/java/com/docus/server/collect/basic/ws/TBasicWsCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/basic/ws/TBasicWsCollectJob.java @@ -1,14 +1,14 @@ package com.docus.server.collect.basic.ws; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -16,7 +16,6 @@ import java.util.List; * * @see AbstractCollectJob * @see com.docus.server.collect.IJob - * @see IWsCollector */ @Component public class TBasicWsCollectJob extends AbstractCollectJob { @@ -46,9 +45,9 @@ public class TBasicWsCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.list(startDate, endDate, pageNum, pageSize); + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/dept/http/DeptHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/dept/http/DeptHttpCollectJob.java index 6dfddb9..72e97d9 100644 --- a/common-collect/src/main/java/com/docus/server/collect/dept/http/DeptHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/dept/http/DeptHttpCollectJob.java @@ -1,14 +1,14 @@ package com.docus.server.collect.dept.http; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -16,7 +16,6 @@ import java.util.List; * * @see AbstractCollectJob * @see com.docus.server.collect.IJob - * @see IHttpCollector */ @Component public class DeptHttpCollectJob extends AbstractCollectJob { @@ -47,7 +46,7 @@ public class DeptHttpCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { - return collector.list(startDate, endDate, pageNum, pageSize); + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/dept/view/DeptViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/dept/view/DeptViewCollectJob.java index 7fd6004..14bf0b3 100644 --- a/common-collect/src/main/java/com/docus/server/collect/dept/view/DeptViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/dept/view/DeptViewCollectJob.java @@ -1,14 +1,15 @@ package com.docus.server.collect.dept.view; import com.docus.server.collect.ICollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.his.service.IHisService; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -48,8 +49,9 @@ public class DeptViewCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return hisService.getDeptListView(startDate, endDate, pageNum, pageSize); + return hisService.getDeptListView(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/dept/ws/DeptWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/dept/ws/DeptWsCollectJob.java index 67056cf..7a062e9 100644 --- a/common-collect/src/main/java/com/docus/server/collect/dept/ws/DeptWsCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/dept/ws/DeptWsCollectJob.java @@ -1,14 +1,14 @@ package com.docus.server.collect.dept.ws; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -16,7 +16,6 @@ import java.util.List; * * @see AbstractCollectJob * @see com.docus.server.collect.IJob - * @see IWsCollector */ @Component public class DeptWsCollectJob extends AbstractCollectJob { @@ -46,8 +45,8 @@ public class DeptWsCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.list(startDate, endDate, pageNum, pageSize); + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/noview/DefNoViewCollectionJob.java b/common-collect/src/main/java/com/docus/server/collect/report/noview/DefNoViewCollectionJob.java new file mode 100644 index 0000000..dae7ead --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/report/noview/DefNoViewCollectionJob.java @@ -0,0 +1,65 @@ +package com.docus.server.collect.report.noview; + +import com.docus.log.context.TrackContext; +import com.docus.log.context.TrackHelper; +import com.docus.server.collect.ICollector; +import com.docus.server.collect.IJob; +import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; +import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.common.util.ParamsUtils; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 默认无视图job + * + * @author linruifeng + * @see AbstractCollectJob + * @see IJob + * @see ICollector + */ +@Component +public class DefNoViewCollectionJob extends AbstractCollectJob> { + + @Resource(name = "defJobNoViewCollectorImpl") + private ICollector collector; + @Resource(name = "defNoViewJobResultImpl") + private IJobResult jobResult; + + /** + * xxl jobhandler 手工执行,全量执行 + */ + @XxlJob("startAllNoViewCollect") + public void startAllNoViewCollect() { + super.startCollectAll(getJobParam()); + } + + /** + * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 + */ + @XxlJob("startIncNoiewCollect") + public void startIncNoViewCollect() { + super.startCollectIncrement(getJobParam()); + } + + + @SuppressWarnings("unchecked") + @Override + public void doHandle(List> results) { + jobResult.handle(results, TrackHelper.getParams()); + } + + @SuppressWarnings("unchecked") + @Override + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { + //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 + TrackContext.init(ParamsUtils.addParam("taskConfig", taskConfig).param()); + return collector.list(periodTime, taskConfig); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/BlViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/BlViewCollectJob.java index 2a34ff9..58f9125 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/BlViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/BlViewCollectJob.java @@ -1,16 +1,17 @@ package com.docus.server.collect.report.view; +import com.docus.server.bl.service.IBlService; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class BlViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IBlService blService; @Resource(name = "blViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllBlViewCollect") + public void startAllBlViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncBlViewCollect") + public void startIncBlViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,10 @@ public class BlViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return blService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } + } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/EcgViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/EcgViewCollectJob.java index e637d25..08a4835 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/EcgViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/EcgViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.ecg.service.IEcgService; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class EcgViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IEcgService ecgService; @Resource(name = "ecgViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllEcgViewCollect") + public void startAllEcgViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncEcgViewCollect") + public void startIncEcgViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class EcgViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return ecgService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/EmrViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/EmrViewCollectJob.java index 11f8350..7e6f0d9 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/EmrViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/EmrViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.emr.service.IEmrService; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class EmrViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IEmrService emrService; @Resource(name = "emrViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllEmrViewCollect") + public void startAllEmrViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncEmrViewCollect") + public void startIncEmrViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class EmrViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return emrService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/HlViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/HlViewCollectJob.java index 5a81f86..998d2b8 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/HlViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/HlViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.hl.service.IHlService; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class HlViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IHlService hlService; @Resource(name = "hlViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllHlViewCollect") + public void startAllHlViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncHlViewCollect") + public void startIncHlViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class HlViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return hlService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/IssubmitViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/IssubmitViewCollectJob.java index a4d87d6..879aae7 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/IssubmitViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/IssubmitViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; +import com.docus.server.issubmit.service.IIssubmitService; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class IssubmitViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IIssubmitService issubmitService; @Resource(name = "issubmitViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllIssubmitViewCollect") + public void startAllIssubmitViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncIssubmitViewCollect") + public void startIncIssubmitViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class IssubmitViewCollectJob extends AbstractCollectJob> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return issubmitService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/LisViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/LisViewCollectJob.java index 6b36c53..d4d80da 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/LisViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/LisViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.lis.common.DSKeyConstants; import com.docus.server.lis.service.ILisService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -52,8 +53,9 @@ public class LisViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return lisService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/PacsViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/PacsViewCollectJob.java index 421b4c4..7627c2c 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/PacsViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/PacsViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; +import com.docus.server.pacs.service.IPacsService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class PacsViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IPacsService pacsService; @Resource(name = "pacsViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllPacsViewCollect") + public void startAllPacsViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncPacsViewCollect") + public void startIncPacsViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class PacsViewCollectJob extends AbstractCollectJob> } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return pacsService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/VteViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/VteViewCollectJob.java index e4ddf7c..2f90847 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/VteViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/VteViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; +import com.docus.server.vte.service.IVteService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class VteViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IVteService vteService; @Resource(name = "vteViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllVteViewCollect") + public void startAllVteViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncVteViewCollect") + public void startIncVteViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class VteViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return vteService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/report/view/ZzViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/report/view/ZzViewCollectJob.java index c577ebd..6797660 100644 --- a/common-collect/src/main/java/com/docus/server/collect/report/view/ZzViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/report/view/ZzViewCollectJob.java @@ -3,14 +3,15 @@ package com.docus.server.collect.report.view; import com.docus.server.collect.ICollector; import com.docus.server.collect.IJob; import com.docus.server.collect.IJobResult; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.lis.common.DSKeyConstants; -import com.docus.server.lis.service.ILisService; +import com.docus.server.zz.service.IZzService; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,23 +26,23 @@ import java.util.Map; @Component public class ZzViewCollectJob extends AbstractCollectJob> { @Resource - private ILisService lisService; + private IZzService zzService; @Resource(name = "zzViewJobResultImpl") private IJobResult jobResult; /** * xxl jobhandler 手工执行,全量执行 */ - @XxlJob("startAllLisViewCollect") - public void startAllLisViewCollect() { + @XxlJob("startAllZzViewCollect") + public void startAllZzViewCollect() { super.startCollectAll(getJobParam()); } /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ - @XxlJob("startIncLisViewCollect") - public void startIncLisViewCollect() { + @XxlJob("startIncZzViewCollect") + public void startIncZzViewCollect() { super.startCollectIncrement(getJobParam()); } @@ -52,8 +53,9 @@ public class ZzViewCollectJob extends AbstractCollectJob> { } @Override - public List> execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List> execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return lisService.page(startDate, endDate, pageNum, pageSize); + return zzService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/user/http/UserHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/user/http/UserHttpCollectJob.java index deb4234..6c1cff8 100644 --- a/common-collect/src/main/java/com/docus/server/collect/user/http/UserHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/user/http/UserHttpCollectJob.java @@ -1,14 +1,14 @@ package com.docus.server.collect.user.http; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IHttpCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -16,7 +16,6 @@ import java.util.List; * * @see AbstractCollectJob * @see com.docus.server.collect.IJob - * @see IHttpCollector */ @Component public class UserHttpCollectJob extends AbstractCollectJob { @@ -46,8 +45,8 @@ public class UserHttpCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.list(startDate, endDate, pageNum, pageSize); + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java index 580cb27..9df559f 100644 --- a/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java @@ -4,7 +4,9 @@ import com.docus.core.util.DateUtil; import com.docus.core.util.Func; import com.docus.core.util.ListUtils; import com.docus.server.collect.ICollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.his.service.IHisService; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.common.pojo.entity.PowerDept; @@ -15,7 +17,6 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Collection; -import java.util.Date; import java.util.List; import java.util.Objects; @@ -66,9 +67,10 @@ public class UserViewCollectJob extends AbstractCollectJob { } @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 - return hisService.getUserListView(startDate, endDate, pageNum, pageSize); + return hisService.getUserListView(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(), + taskConfig.getPageNum(), taskConfig.getPageSize()); } private void insertUserAndThirdLogin(UserDTO p, String userName) { diff --git a/common-collect/src/main/java/com/docus/server/collect/user/ws/UserWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/user/ws/UserWsCollectJob.java index 65e4f6f..7978908 100644 --- a/common-collect/src/main/java/com/docus/server/collect/user/ws/UserWsCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/user/ws/UserWsCollectJob.java @@ -1,14 +1,14 @@ package com.docus.server.collect.user.ws; import com.docus.server.collect.ICollector; -import com.docus.server.collect.IWsCollector; +import com.docus.server.collect.web.common.entity.TaskConfig; import com.docus.server.collect.web.job.AbstractCollectJob; +import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Date; import java.util.List; /** @@ -16,7 +16,6 @@ import java.util.List; * * @see AbstractCollectJob * @see com.docus.server.collect.IJob - * @see IWsCollector */ @Component public class UserWsCollectJob extends AbstractCollectJob { @@ -46,8 +45,8 @@ public class UserWsCollectJob extends AbstractCollectJob { @SuppressWarnings("unchecked") @Override - public List execute(Date startDate, Date endDate, int pageNum, int pageSize) { + public List execute(PeriodTime periodTime, TaskConfig taskConfig) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.list(startDate, endDate, pageNum, pageSize); + return collector.list(periodTime, taskConfig); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/web/common/entity/TaskConfig.java b/common-collect/src/main/java/com/docus/server/collect/web/common/entity/TaskConfig.java index 65e4715..234d227 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/common/entity/TaskConfig.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/common/entity/TaskConfig.java @@ -1,5 +1,6 @@ package com.docus.server.collect.web.common.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.docus.server.collect.web.utils.DateSpiltUtil; import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.common.enums.StateEnum; @@ -42,7 +43,16 @@ public class TaskConfig { * 指针时间,当前全量任务的任务执行到的时间 */ private Date allPointerTime; - + /** + * 偏移量 + */ + @TableField(exist = false) + private int offset; + /** + * 页码 + */ + @TableField(exist = false) + private int pageNum; /** * 每页大小 */ @@ -58,6 +68,32 @@ public class TaskConfig { * 指针时间,当前增量任务的执行到的时间 */ private Date incPointerTime; + /** + * 查询条件 + */ + private String where = ""; + /** + * 间隔 + */ + private Integer interval = 5; + /** + * 0:不计算节假日,1:计算节假日 + */ + private Integer holiday = 0; + /** + * 采集器ids,以 , 分隔 + */ + private String syscodes = ""; + + /** + * 数据查询方式, 0:出院,1:创建时间 + */ + private int queryway = 0; + + /** + * 此任务优先级优先级 + */ + private int priority = 1; /** * 执行状态 @@ -93,5 +129,4 @@ public class TaskConfig { return this.startTime; } - } diff --git a/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java index f7c2b2e..c7869bf 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java @@ -17,7 +17,6 @@ import com.xxl.job.core.context.XxlJobHelper; import lombok.extern.slf4j.Slf4j; import javax.annotation.Resource; -import java.util.Date; import java.util.List; @Slf4j @@ -88,12 +87,11 @@ public abstract class AbstractCollectJob implements IJob { List results; int pageNum = 1; for (; true; pageNum++) { - results = this.execute( - periodTime.getPeriodStartDate(), - periodTime.getPeriodEndDate(), - pageNum, - taskConfig.getPageSize() - ); + taskConfig.setPageNum(pageNum); + + taskConfig.setOffset((pageNum - 1) * taskConfig.getPageSize()); + + results = execute(periodTime, taskConfig); if (Func.isEmpty(results)) { log.info("本次采集:0笔" + taskConfig.getType()); @@ -101,10 +99,14 @@ public abstract class AbstractCollectJob implements IJob { } log.info("本次采集:" + results.size() + "笔" + taskConfig.getType()); - this.doHandle(results); + doHandle(results); } } + public abstract void doHandle(List results); + + public abstract List execute(PeriodTime periodTime, TaskConfig taskConfig); + private void updateTaskState(TaskConfig taskConfig) { taskConfig.setState(StateEnum.OK); taskConfigService.updateById(taskConfig); @@ -124,7 +126,4 @@ public abstract class AbstractCollectJob implements IJob { return XxlJobHelper.getJobParam(); } - public abstract void doHandle(List results); - - public abstract List execute(Date startDate, Date endDate, int pageNum, int pageSize); } diff --git a/docus-api-common/src/main/java/com/docus/server/common/consumer/receiver/DataReceiver.java b/docus-api-common/src/main/java/com/docus/server/common/consumer/receiver/DataReceiver.java index 5dba055..ddac2af 100644 --- a/docus-api-common/src/main/java/com/docus/server/common/consumer/receiver/DataReceiver.java +++ b/docus-api-common/src/main/java/com/docus/server/common/consumer/receiver/DataReceiver.java @@ -1,11 +1,11 @@ package com.docus.server.common.consumer.receiver; -import com.docus.taskdistribute.common.bean.Result; -import com.docus.taskdistribute.common.message.MessageData; -import com.docus.taskdistribute.common.util.ResultWapper; -import com.docus.taskdistribute.consumer.bean.HandleResult; -import com.docus.taskdistribute.consumer.type.HandleSignalEnum; -import com.docus.taskdistribute.consumer.type.MessageTypeEnum; +import com.docus.server.common.bean.Result; +import com.docus.server.common.consumer.bean.HandleResult; +import com.docus.server.common.consumer.type.HandleSignalEnum; +import com.docus.server.common.consumer.type.MessageTypeEnum; +import com.docus.server.common.message.MessageData; +import com.docus.server.common.util.ResultWapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; diff --git a/docus-archivefile/src/main/java/com/docus/server/archivefile/mapper/AfCollectSysDictionaryMapper.java b/docus-archivefile/src/main/java/com/docus/server/archivefile/mapper/AfCollectSysDictionaryMapper.java new file mode 100644 index 0000000..7d1f1f6 --- /dev/null +++ b/docus-archivefile/src/main/java/com/docus/server/archivefile/mapper/AfCollectSysDictionaryMapper.java @@ -0,0 +1,9 @@ +package com.docus.server.archivefile.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.docus.server.archivefile.pojo.entity.CollectsysDictionary; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AfCollectSysDictionaryMapper extends BaseMapper { +} diff --git a/docus-archivefile/src/main/java/com/docus/server/archivefile/service/IAfCollectSysDictionary.java b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/IAfCollectSysDictionary.java new file mode 100644 index 0000000..4e66ceb --- /dev/null +++ b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/IAfCollectSysDictionary.java @@ -0,0 +1,7 @@ +package com.docus.server.archivefile.service; + +import com.docus.server.archivefile.pojo.entity.CollectsysDictionary; +import com.docus.server.common.service.IBaseService; + +public interface IAfCollectSysDictionary extends IBaseService { +} diff --git a/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfCollectSysDictionaryImpl.java b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfCollectSysDictionaryImpl.java new file mode 100644 index 0000000..bc1f812 --- /dev/null +++ b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfCollectSysDictionaryImpl.java @@ -0,0 +1,10 @@ +package com.docus.server.archivefile.service.impl; + +import com.docus.server.archivefile.mapper.AfCollectSysDictionaryMapper; +import com.docus.server.archivefile.pojo.entity.CollectsysDictionary; +import com.docus.server.archivefile.service.IAfCollectSysDictionary; +import com.docus.server.common.service.impl.BaseServiceImpl; + +public class AfCollectSysDictionaryImpl + extends BaseServiceImpl implements IAfCollectSysDictionary { +} diff --git a/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfViewCollectionLogServiceImpl.java b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfViewCollectionLogServiceImpl.java index a8e0e79..01f9786 100644 --- a/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfViewCollectionLogServiceImpl.java +++ b/docus-archivefile/src/main/java/com/docus/server/archivefile/service/impl/AfViewCollectionLogServiceImpl.java @@ -11,7 +11,8 @@ import org.springframework.stereotype.Service; * @date 2023/6/13 17:06 */ @Service -public class AfViewCollectionLogServiceImpl extends BaseServiceImpl implements IAfViewCollectionLogService { +public class AfViewCollectionLogServiceImpl + extends BaseServiceImpl implements IAfViewCollectionLogService { } diff --git a/docus-medical-record/src/main/java/com/docus/server/record/mapper/TBasicMapper.java b/docus-medical-record/src/main/java/com/docus/server/record/mapper/TBasicMapper.java index cab9971..1385b29 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/mapper/TBasicMapper.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/mapper/TBasicMapper.java @@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** *

@@ -62,4 +63,22 @@ public interface TBasicMapper extends BaseMapper { @Param("size") int size); List selectBasicListByPatientIds(@Param("patientIds") List patientIds); + + List> getBasicForZYHs(@Param("zyhs") List zyhs); + + /** + * 查询基础出院数据增量数据 + * + * @param param + * @return + */ + List> getBasicOutData(@Param("param") Map param); + + /** + * 查询基础创建数据增量数据 + * + * @param param + * @return + */ + List> getBasicData(@Param("param") Map param); } diff --git a/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java b/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java index bc1628f..4746c4b 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/service/ITBasicService.java @@ -5,6 +5,7 @@ import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.record.common.pojo.entity.TBasic; import java.util.List; +import java.util.Map; public interface ITBasicService extends IBaseService { @@ -38,4 +39,22 @@ public interface ITBasicService extends IBaseService { * @return */ Integer findByJzh(String jzh); + + /** + * 根据住院查询住院信息 + * + * @param zyhs + * @return + */ + List> getBasicForZYHs(List zyhs); + + /** + * 查询基础出院数据增量数据 + */ + List> getBasicOutData(Map param); + + /** + * 查询基础创建数据增量数据 + */ + List> getBasicData(Map param); } diff --git a/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java b/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java index 987646c..7697140 100644 --- a/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java +++ b/docus-medical-record/src/main/java/com/docus/server/record/service/impl/TBasicServiceImpl.java @@ -5,10 +5,10 @@ import com.docus.core.util.DateUtil; import com.docus.core.util.Func; import com.docus.infrastructure.redis.service.IdService; import com.docus.server.common.service.impl.BaseServiceImpl; -import com.docus.server.record.mapper.TBasicMapper; import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.record.common.pojo.entity.TBasic; import com.docus.server.record.common.pojo.entity.TBasicExtend; +import com.docus.server.record.mapper.TBasicMapper; import com.docus.server.record.service.ITBasicService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.Map; @Service public class TBasicServiceImpl extends BaseServiceImpl implements ITBasicService { @@ -209,6 +210,33 @@ public class TBasicServiceImpl extends BaseServiceImpl imp //判断jzh是否重复 return tBasicMapper.selectOne(jzh); } + + /** + * 根据住院查询住院信息 + * + * @param zyhs + * @return + */ + @Override + public List> getBasicForZYHs(List zyhs) { + return tBasicMapper.getBasicForZYHs(zyhs); + } + + /** + * 查询基础出院数据增量数据 + */ + @Override + public List> getBasicOutData(Map param) { + return tBasicMapper.getBasicOutData(param); + } + + /** + * 查询基础创建数据增量数据 + */ + @Override + public List> getBasicData(Map param) { + return tBasicMapper.getBasicData(param); + } } diff --git a/docus-medical-record/src/main/resources/mapper/TBasicMapper.xml b/docus-medical-record/src/main/resources/mapper/TBasicMapper.xml index a0e6667..c351053 100644 --- a/docus-medical-record/src/main/resources/mapper/TBasicMapper.xml +++ b/docus-medical-record/src/main/resources/mapper/TBasicMapper.xml @@ -159,4 +159,83 @@ #{patientId} + + + + + + diff --git a/docus-starter-log/src/main/java/com/docus/log/context/TrackHelper.java b/docus-starter-log/src/main/java/com/docus/log/context/TrackHelper.java index 5aeeeda..c8ba7a1 100644 --- a/docus-starter-log/src/main/java/com/docus/log/context/TrackHelper.java +++ b/docus-starter-log/src/main/java/com/docus/log/context/TrackHelper.java @@ -49,4 +49,8 @@ public final class TrackHelper { trackContext.getParams().putAll(params); } + public static void clear() { + TrackContext.clear(); + } + }