noview job

segment2.0
beeajax 2 years ago
parent eb08b033de
commit 0857f0b986

@ -1,23 +1,21 @@
package com.docus.server.collect.basic.http; 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.docus.server.record.common.pojo.dto.TBasicDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* http, * http,
*
* @see IHttpCollector
* @see TBasicHttpCollectJob#execute(Date, Date, long, long)
*/ */
@Component("httpTBasicCollectorImpl") @Component("httpTBasicCollectorImpl")
public class HttpTBasicCollectorImpl implements IHttpCollector<TBasicDTO> { public class HttpTBasicCollectorImpl extends AbstractHttpCollector<TBasicDTO> {
@Override @Override
public List<TBasicDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<TBasicDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
TBasicDTO deptDTO = new TBasicDTO(); TBasicDTO deptDTO = new TBasicDTO();
TBasicDTO deptDTO1 = new TBasicDTO(); TBasicDTO deptDTO1 = new TBasicDTO();

@ -1,20 +1,22 @@
package com.docus.server.collect.basic.ws; 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.docus.server.record.common.pojo.dto.TBasicDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* ws * ws
*/ */
@Component("wsBasicCollectorImpl") @Component("wsBasicCollectorImpl")
public class WsBasicCollectorImpl implements IWsCollector<TBasicDTO> { public class WsBasicCollectorImpl extends AbstractWsCollector<TBasicDTO> {
@Override @Override
public List<TBasicDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<TBasicDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
TBasicDTO deptDTO = new TBasicDTO(); TBasicDTO deptDTO = new TBasicDTO();
deptDTO.setAdmissDate("1"); deptDTO.setAdmissDate("1");
deptDTO.setAdmissDays("admin"); deptDTO.setAdmissDays("admin");

@ -1,18 +1,19 @@
package com.docus.server.collect.dept.http; 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.docus.server.sys.common.pojo.dto.DeptDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
@Component("httpDeptCollectorImpl") @Component("httpDeptCollectorImpl")
public class HttpDeptCollectorImpl implements IHttpCollector<DeptDTO> { public class HttpDeptCollectorImpl extends AbstractHttpCollector<DeptDTO> {
@Override @Override
public List<DeptDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<DeptDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
DeptDTO deptDTO = new DeptDTO(); DeptDTO deptDTO = new DeptDTO();
deptDTO.setAuthorId("1"); deptDTO.setAuthorId("1");
deptDTO.setAuthorName("admin"); deptDTO.setAuthorName("admin");

@ -1,20 +1,21 @@
package com.docus.server.collect.dept.ws; 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.docus.server.sys.common.pojo.dto.DeptDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* ws * ws
*/ */
@Component("wsDeptCollectorImpl") @Component("wsDeptCollectorImpl")
public class WsDeptCollectorImpl implements IWsCollector<DeptDTO> { public class WsDeptCollectorImpl extends AbstractWsCollector<DeptDTO> {
@Override @Override
public List<DeptDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<DeptDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
DeptDTO deptDTO = new DeptDTO(); DeptDTO deptDTO = new DeptDTO();
deptDTO.setAuthorId("1"); deptDTO.setAuthorId("1");
deptDTO.setAuthorName("admin"); deptDTO.setAuthorName("admin");

@ -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<T> implements IJobResult<T> {
@Override
public T ok(Map<String, Object> params) {
return null;
}
@Override
public T fail(Map<String, Object> params) {
return null;
}
}

@ -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<Map<String, Object>> {
@Override
public List<Map<String, Object>> list(PeriodTime periodTime, TaskConfig taskConfig) {
List<Map<String, Object>> results = new ArrayList<>();
Map<String, Object> 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;
}
}

@ -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<List<Map<String, Object>>> {
@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<Map<String, Object>> results, String dsKey) {
}
@Override
public void handle(List<Map<String, Object>> results, Map<String, Object> param) {
Map<String, Object> params = TrackHelper.getParams();
if (Func.isNull(params)) {
return;
}
TaskConfig taskConfig = (TaskConfig) params.get("taskConfig");
List<ViewReportTwoDto> list = new ArrayList<>();
for (Map<String, Object> 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<ViewReportTwoDto> list, String syscodes) {
// List<NoViewConfig> configs = initNoviewConfig();
List<CollectsysDictionary> collectsysDictionaries = afCollectSysDictionary.findAll();
if (!StringUtils.isEmpty(syscodes)) {
List<String> 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<ViewReportTwoDto> 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<String, Object> 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<ViewReportTwoDto> chDispose(List<ViewReportTwoDto> list, String syscode) {
List<ViewReportTwoDto> 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<ViewReportTwoDto> Dispose(List<ViewReportTwoDto> list, String syscode, List<NoViewConfig> configs) {
List<ViewReportTwoDto> 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;
}
}

@ -23,7 +23,6 @@ import com.docus.server.collect.web.utils.RedisMq;
import com.docus.server.collect.web.utils.SpringRestTemplateUtils; import com.docus.server.collect.web.utils.SpringRestTemplateUtils;
import com.docus.server.common.message.MqMessage; import com.docus.server.common.message.MqMessage;
import com.docus.server.common.util.SpringUtils; 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.docus.server.record.service.ITBasicService;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@ -36,17 +35,11 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
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.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<String, Object>>> { public abstract class AbstractViewJobResultImpl<T> implements IJobResult<T> {
private IHospitalApi hospitalApi; private IHospitalApi hospitalApi;
@Resource @Resource
private IdService idService; private IdService idService;
@ -71,9 +64,10 @@ public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<Strin
private String syscodekey = "SYS_CODE"; private String syscodekey = "SYS_CODE";
@Override @Override
public void handle(List<Map<String, Object>> results, String dsKey) { @SuppressWarnings("unchecked")
public void handle(T results, String dsKey) {
this.hospitalApi = (IHospitalApi) SpringUtils.getBean(String.format("%s%s", dsKey, "ServiceImpl")); this.hospitalApi = (IHospitalApi) SpringUtils.getBean(String.format("%s%s", dsKey, "ServiceImpl"));
process(results, dsKey); process((List<Map<String, Object>>) results, dsKey);
} }
public void process(List<Map<String, Object>> datas, String key) { public void process(List<Map<String, Object>> datas, String key) {
@ -454,10 +448,7 @@ public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<Strin
*/ */
private List<Map<String, Object>> getBasicForZYHs(List<String> zyhs) { private List<Map<String, Object>> getBasicForZYHs(List<String> zyhs) {
List<TBasic> tBasics = basicService.findByList("inpatientNo", zyhs); return basicService.getBasicForZYHs(zyhs);
String s = com.docus.core.util.json.JSON.toJSON(tBasics);
return com.docus.core.util.json.JSON.fromJSONWithGeneric(s, new TypeReference<List<Map<String, Object>>>() {
});
// List<Map<String, Object>> datas = new ArrayList<>(); // List<Map<String, Object>> datas = new ArrayList<>();
// String url = String.format("http://localhost:%s", getPort()); // String url = String.format("http://localhost:%s", getPort());
@ -485,12 +476,17 @@ public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<Strin
} }
@Override @Override
public List<Map<String, Object>> ok(Map<String, Object> params) { public T ok(Map<String, Object> params) {
return null; return null;
} }
@Override @Override
public List<Map<String, Object>> fail(Map<String, Object> params) { public T fail(Map<String, Object> params) {
return null; return null;
} }
@Override
public void handle(T results, Map<String, Object> param) {
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("blViewJobResultImpl") @Component("blViewJobResultImpl")
public class BlViewJobResultImpl extends BaseViewJobResultImpl { public class BlViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("ecgViewJobResultImpl") @Component("ecgViewJobResultImpl")
public class EcgViewJobResultImpl extends BaseViewJobResultImpl { public class EcgViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("emrViewJobResultImpl") @Component("emrViewJobResultImpl")
public class EmrViewJobResultImpl extends BaseViewJobResultImpl { public class EmrViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("hlViewJobResultImpl") @Component("hlViewJobResultImpl")
public class HlViewJobResultImpl extends BaseViewJobResultImpl { public class HlViewJobResultImpl extends
AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("issubmitViewJobResultImpl") @Component("issubmitViewJobResultImpl")
public class IssubmitViewJobResultImpl extends BaseViewJobResultImpl { public class IssubmitViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* lis * lis
*/ */
@Component("lisViewJobResultImpl") @Component("lisViewJobResultImpl")
public class LisViewJobResultImpl extends BaseViewJobResultImpl { public class LisViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* Pacs * Pacs
*/ */
@Component("pacsViewJobResultImpl") @Component("pacsViewJobResultImpl")
public class PacsViewJobResultImpl extends BaseViewJobResultImpl { public class PacsViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* vte * vte
*/ */
@Component("vteViewJobResultImpl") @Component("vteViewJobResultImpl")
public class VteViewJobResultImpl extends BaseViewJobResultImpl { public class VteViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -2,10 +2,18 @@ package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
@Component("zzViewJobResultImpl") @Component("zzViewJobResultImpl")
public class ZzViewJobResultImpl extends BaseViewJobResultImpl { public class ZzViewJobResultImpl
extends AbstractViewJobResultImpl<List<Map<String, Object>>> {
@Override
public void handle(List<Map<String, Object>> results, String dsKey) {
super.handle(results, dsKey);
}
} }

@ -1,20 +1,21 @@
package com.docus.server.collect.user.http; 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.docus.server.sys.common.pojo.dto.UserDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* http * http
*/ */
@Component("httpUserCollectorImpl") @Component("httpUserCollectorImpl")
public class HttpUserCollectorImpl implements IHttpCollector<UserDTO> { public class HttpUserCollectorImpl extends AbstractHttpCollector<UserDTO> {
@Override @Override
public List<UserDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<UserDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
UserDTO deptDTO = new UserDTO(); UserDTO deptDTO = new UserDTO();
deptDTO.setAuthorId("1"); deptDTO.setAuthorId("1");
deptDTO.setAuthorName("admin"); deptDTO.setAuthorName("admin");

@ -1,27 +1,27 @@
package com.docus.server.collect.user.ws; 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.docus.server.sys.common.pojo.dto.UserDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* ws * ws
*/ */
@Component("wsUserCollectorImpl") @Component("wsUserCollectorImpl")
public class WsUserCollectorImpl implements IWsCollector<UserDTO> { public class WsUserCollectorImpl extends AbstractWsCollector<UserDTO> {
@Override @Override
public List<UserDTO> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<UserDTO> list(PeriodTime periodTime, TaskConfig taskConfig) {
UserDTO deptDTO = new UserDTO(); UserDTO deptDTO = new UserDTO();
deptDTO.setAuthorId("1"); deptDTO.setAuthorId("1");
deptDTO.setAuthorName("admin"); deptDTO.setAuthorName("admin");
deptDTO.setMessageId("1"); deptDTO.setMessageId("1");
deptDTO.setOperateType("save"); deptDTO.setOperateType("save");
deptDTO.setReceiver("admin"); deptDTO.setReceiver("admin");
UserDTO deptDTO1 = new UserDTO(); UserDTO deptDTO1 = new UserDTO();
deptDTO1.setAuthorId("2"); deptDTO1.setAuthorId("2");
deptDTO1.setAuthorName("admin2"); deptDTO1.setAuthorName("admin2");

@ -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);
}
}

@ -13,92 +13,92 @@ spring:
#公司病案的文件服务数据库 #公司病案的文件服务数据库
master: 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 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 username: root
password: docus702 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#公司病案的系统服务数据库 #公司病案的系统服务数据库
system: 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 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 username: root
password: docus702 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#公司病案的基础服务数据库 #公司病案的基础服务数据库
record: 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 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 username: root
password: docus702 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#医院的用户/科室/基础数据的数据库 #医院的用户/科室/基础数据的数据库
his: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#病理数据 #病理数据
bl: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#电生理系统数据 #电生理系统数据
ecg: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#电子病历系统数据 #电子病历系统数据
emr: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#护理文书系统数据 #护理文书系统数据
hl: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#手麻系统数据 #手麻系统数据
issubmit: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#lis系统数据 #lis系统数据
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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#Pacs系统数据视图 #Pacs系统数据视图
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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#vte静脉血栓栓塞症 #vte静脉血栓栓塞症
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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#重症系统数据 #重症系统数据
zz: 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 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 username: root
password: root@123456 password: root
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
# rabbitmq: # rabbitmq:
@ -108,7 +108,7 @@ spring:
# password: guest # password: guest
redis: redis:
host: redis.docus.cn host: redis.docus.cn
password: JSdocus@702 # password: JSdocus@702
cloud: cloud:
nacos: nacos:
discovery: discovery:

@ -0,0 +1,4 @@
package com.docus.server.collect;
public abstract class AbstractHttpCollector<T> implements ICollector<T> {
}

@ -0,0 +1,13 @@
package com.docus.server.collect;
import com.docus.server.record.service.ITBasicService;
import javax.annotation.Resource;
public abstract class AbstractJobCollector<T> implements ICollector<T> {
@Resource
protected ITBasicService basicService;
}

@ -0,0 +1,6 @@
package com.docus.server.collect;
public abstract class AbstractWsCollector<T> implements ICollector<T> {
}

@ -1,11 +1,17 @@
package com.docus.server.collect; 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; import java.util.List;
public interface ICollector<T> { public interface ICollector<T> {
/** /**
* *
*
* @param periodTime
* @param taskConfig
* @return
*/ */
List<T> list(Date startDate, Date endDate, int pageNum, int pageSize); List<T> list(PeriodTime periodTime, TaskConfig taskConfig);
} }

@ -1,4 +0,0 @@
package com.docus.server.collect;
public interface IHttpCollector<T> extends ICollector<T> {
}

@ -1,5 +1,7 @@
package com.docus.server.collect; package com.docus.server.collect;
import java.util.Map;
/** /**
* @author linruifeng * @author linruifeng
* @date 2023/6/14 14:27 * @date 2023/6/14 14:27
@ -7,11 +9,19 @@ package com.docus.server.collect;
public interface IJobResult<T> extends IResult<T> { public interface IJobResult<T> extends IResult<T> {
/** /**
* job * job
* *
* @param results * @param results
* @param dsKey key * @param dsKey key
*/ */
void handle(T results, String dsKey); void handle(T results, String dsKey);
/**
* job
*
* @param results
* @param param
*/
void handle(T results, Map<String, Object> param);
} }

@ -1,6 +0,0 @@
package com.docus.server.collect;
public interface IWsCollector<T> extends ICollector<T> {
}

@ -1,22 +1,20 @@
package com.docus.server.collect.basic.http; package com.docus.server.collect.basic.http;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.record.common.pojo.dto.TBasicDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* httpjob * httpjob
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob
* @see IHttpCollector
*/ */
@Component @Component
public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> { public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> {
@ -48,8 +46,8 @@ public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<TBasicDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<TBasicDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//需要根据不同医院去解析不同的内容。使用接口实现的方式。 //需要根据不同医院去解析不同的内容。使用接口实现的方式。
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -1,14 +1,15 @@
package com.docus.server.collect.basic.view; package com.docus.server.collect.basic.view;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.his.service.IHisService; import com.docus.server.his.service.IHisService;
import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.record.common.pojo.dto.TBasicDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -46,9 +47,10 @@ public class TBasicViewCollectJob extends AbstractCollectJob<TBasicDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<TBasicDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<TBasicDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return hisService.getTBasicListView(startDate, endDate, pageNum, pageSize); return hisService.getTBasicListView(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -1,14 +1,14 @@
package com.docus.server.collect.basic.ws; package com.docus.server.collect.basic.ws;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.record.common.pojo.dto.TBasicDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -16,7 +16,6 @@ import java.util.List;
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob * @see com.docus.server.collect.IJob
* @see IWsCollector
*/ */
@Component @Component
public class TBasicWsCollectJob extends AbstractCollectJob<TBasicDTO> { public class TBasicWsCollectJob extends AbstractCollectJob<TBasicDTO> {
@ -46,9 +45,9 @@ public class TBasicWsCollectJob extends AbstractCollectJob<TBasicDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<TBasicDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<TBasicDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//需要根据不同医院去解析不同的内容。使用接口实现的方式。 //需要根据不同医院去解析不同的内容。使用接口实现的方式。
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -1,14 +1,14 @@
package com.docus.server.collect.dept.http; package com.docus.server.collect.dept.http;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.docus.server.sys.common.pojo.dto.DeptDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -16,7 +16,6 @@ import java.util.List;
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob * @see com.docus.server.collect.IJob
* @see IHttpCollector
*/ */
@Component @Component
public class DeptHttpCollectJob extends AbstractCollectJob<DeptDTO> { public class DeptHttpCollectJob extends AbstractCollectJob<DeptDTO> {
@ -47,7 +46,7 @@ public class DeptHttpCollectJob extends AbstractCollectJob<DeptDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<DeptDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<DeptDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -1,14 +1,15 @@
package com.docus.server.collect.dept.view; package com.docus.server.collect.dept.view;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.his.service.IHisService; import com.docus.server.his.service.IHisService;
import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.docus.server.sys.common.pojo.dto.DeptDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -48,8 +49,9 @@ public class DeptViewCollectJob extends AbstractCollectJob<DeptDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<DeptDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<DeptDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return hisService.getDeptListView(startDate, endDate, pageNum, pageSize); return hisService.getDeptListView(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -1,14 +1,14 @@
package com.docus.server.collect.dept.ws; package com.docus.server.collect.dept.ws;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.docus.server.sys.common.pojo.dto.DeptDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -16,7 +16,6 @@ import java.util.List;
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob * @see com.docus.server.collect.IJob
* @see IWsCollector
*/ */
@Component @Component
public class DeptWsCollectJob extends AbstractCollectJob<DeptDTO> { public class DeptWsCollectJob extends AbstractCollectJob<DeptDTO> {
@ -46,8 +45,8 @@ public class DeptWsCollectJob extends AbstractCollectJob<DeptDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<DeptDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<DeptDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//需要根据不同医院去解析不同的内容。使用接口实现的方式。 //需要根据不同医院去解析不同的内容。使用接口实现的方式。
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -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<Map<String, Object>> {
@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<Map<String, Object>> results) {
jobResult.handle(results, TrackHelper.getParams());
}
@SuppressWarnings("unchecked")
@Override
public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
TrackContext.init(ParamsUtils.addParam("taskConfig", taskConfig).param());
return collector.list(periodTime, taskConfig);
}
}

@ -1,16 +1,17 @@
package com.docus.server.collect.report.view; 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.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.lis.common.DSKeyConstants; import com.docus.server.lis.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class BlViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class BlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IBlService blService;
@Resource(name = "blViewJobResultImpl") @Resource(name = "blViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllBlViewCollect")
public void startAllLisViewCollect() { public void startAllBlViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncBlViewCollect")
public void startIncLisViewCollect() { public void startIncBlViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,10 @@ public class BlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return blService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.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.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class EcgViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class EcgViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IEcgService ecgService;
@Resource(name = "ecgViewJobResultImpl") @Resource(name = "ecgViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllEcgViewCollect")
public void startAllLisViewCollect() { public void startAllEcgViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncEcgViewCollect")
public void startIncLisViewCollect() { public void startIncEcgViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class EcgViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return ecgService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.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.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class EmrViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class EmrViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IEmrService emrService;
@Resource(name = "emrViewJobResultImpl") @Resource(name = "emrViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllEmrViewCollect")
public void startAllLisViewCollect() { public void startAllEmrViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncEmrViewCollect")
public void startIncLisViewCollect() { public void startIncEmrViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class EmrViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return emrService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.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.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class HlViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class HlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IHlService hlService;
@Resource(name = "hlViewJobResultImpl") @Resource(name = "hlViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllHlViewCollect")
public void startAllLisViewCollect() { public void startAllHlViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncHlViewCollect")
public void startIncLisViewCollect() { public void startIncHlViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class HlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return hlService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.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.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class IssubmitViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class IssubmitViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IIssubmitService issubmitService;
@Resource(name = "issubmitViewJobResultImpl") @Resource(name = "issubmitViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllIssubmitViewCollect")
public void startAllLisViewCollect() { public void startAllIssubmitViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncIssubmitViewCollect")
public void startIncLisViewCollect() { public void startIncIssubmitViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class IssubmitViewCollectJob extends AbstractCollectJob<Map<String, Objec
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return issubmitService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.lis.common.DSKeyConstants; import com.docus.server.lis.common.DSKeyConstants;
import com.docus.server.lis.service.ILisService; import com.docus.server.lis.service.ILisService;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -52,8 +53,9 @@ public class LisViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return lisService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.lis.common.DSKeyConstants; 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 com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class PacsViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class PacsViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IPacsService pacsService;
@Resource(name = "pacsViewJobResultImpl") @Resource(name = "pacsViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllPacsViewCollect")
public void startAllLisViewCollect() { public void startAllPacsViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncPacsViewCollect")
public void startIncLisViewCollect() { public void startIncPacsViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class PacsViewCollectJob extends AbstractCollectJob<Map<String, Object>>
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return pacsService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.lis.common.DSKeyConstants; 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 com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class VteViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class VteViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IVteService vteService;
@Resource(name = "vteViewJobResultImpl") @Resource(name = "vteViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllVteViewCollect")
public void startAllLisViewCollect() { public void startAllVteViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncVteViewCollect")
public void startIncLisViewCollect() { public void startIncVteViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class VteViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return vteService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -3,14 +3,15 @@ package com.docus.server.collect.report.view;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.IJob; import com.docus.server.collect.IJob;
import com.docus.server.collect.IJobResult; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.lis.common.DSKeyConstants; 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 com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -25,23 +26,23 @@ import java.util.Map;
@Component @Component
public class ZzViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class ZzViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private IZzService zzService;
@Resource(name = "zzViewJobResultImpl") @Resource(name = "zzViewJobResultImpl")
private IJobResult jobResult; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startAllLisViewCollect") @XxlJob("startAllZzViewCollect")
public void startAllLisViewCollect() { public void startAllZzViewCollect() {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@XxlJob("startIncLisViewCollect") @XxlJob("startIncZzViewCollect")
public void startIncLisViewCollect() { public void startIncZzViewCollect() {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@ -52,8 +53,9 @@ public class ZzViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
} }
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize); return zzService.page(periodTime.getPeriodStartDate(), periodTime.getPeriodEndDate(),
taskConfig.getPageNum(), taskConfig.getPageSize());
} }
} }

@ -1,14 +1,14 @@
package com.docus.server.collect.user.http; package com.docus.server.collect.user.http;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.common.pojo.dto.UserDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -16,7 +16,6 @@ import java.util.List;
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob * @see com.docus.server.collect.IJob
* @see IHttpCollector
*/ */
@Component @Component
public class UserHttpCollectJob extends AbstractCollectJob<UserDTO> { public class UserHttpCollectJob extends AbstractCollectJob<UserDTO> {
@ -46,8 +45,8 @@ public class UserHttpCollectJob extends AbstractCollectJob<UserDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<UserDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<UserDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//需要根据不同医院去解析不同的内容。使用接口实现的方式。 //需要根据不同医院去解析不同的内容。使用接口实现的方式。
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -4,7 +4,9 @@ import com.docus.core.util.DateUtil;
import com.docus.core.util.Func; import com.docus.core.util.Func;
import com.docus.core.util.ListUtils; import com.docus.core.util.ListUtils;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.his.service.IHisService; import com.docus.server.his.service.IHisService;
import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.common.pojo.dto.UserDTO;
import com.docus.server.sys.common.pojo.entity.PowerDept; import com.docus.server.sys.common.pojo.entity.PowerDept;
@ -15,7 +17,6 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -66,9 +67,10 @@ public class UserViewCollectJob extends AbstractCollectJob<UserDTO> {
} }
@Override @Override
public List<UserDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<UserDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写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) { private void insertUserAndThirdLogin(UserDTO p, String userName) {

@ -1,14 +1,14 @@
package com.docus.server.collect.user.ws; package com.docus.server.collect.user.ws;
import com.docus.server.collect.ICollector; 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.job.AbstractCollectJob;
import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.common.pojo.dto.UserDTO;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -16,7 +16,6 @@ import java.util.List;
* *
* @see AbstractCollectJob * @see AbstractCollectJob
* @see com.docus.server.collect.IJob * @see com.docus.server.collect.IJob
* @see IWsCollector
*/ */
@Component @Component
public class UserWsCollectJob extends AbstractCollectJob<UserDTO> { public class UserWsCollectJob extends AbstractCollectJob<UserDTO> {
@ -46,8 +45,8 @@ public class UserWsCollectJob extends AbstractCollectJob<UserDTO> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<UserDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<UserDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
//需要根据不同医院去解析不同的内容。使用接口实现的方式。 //需要根据不同医院去解析不同的内容。使用接口实现的方式。
return collector.list(startDate, endDate, pageNum, pageSize); return collector.list(periodTime, taskConfig);
} }
} }

@ -1,5 +1,6 @@
package com.docus.server.collect.web.common.entity; 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.DateSpiltUtil;
import com.docus.server.collect.web.utils.PeriodTime; import com.docus.server.collect.web.utils.PeriodTime;
import com.docus.server.common.enums.StateEnum; import com.docus.server.common.enums.StateEnum;
@ -42,7 +43,16 @@ public class TaskConfig {
* *
*/ */
private Date allPointerTime; 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 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; return this.startTime;
} }
} }

@ -17,7 +17,6 @@ import com.xxl.job.core.context.XxlJobHelper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@ -88,12 +87,11 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
List<T> results; List<T> results;
int pageNum = 1; int pageNum = 1;
for (; true; pageNum++) { for (; true; pageNum++) {
results = this.execute( taskConfig.setPageNum(pageNum);
periodTime.getPeriodStartDate(),
periodTime.getPeriodEndDate(), taskConfig.setOffset((pageNum - 1) * taskConfig.getPageSize());
pageNum,
taskConfig.getPageSize() results = execute(periodTime, taskConfig);
);
if (Func.isEmpty(results)) { if (Func.isEmpty(results)) {
log.info("本次采集0笔" + taskConfig.getType()); log.info("本次采集0笔" + taskConfig.getType());
@ -101,10 +99,14 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
} }
log.info("本次采集:" + results.size() + "笔" + taskConfig.getType()); log.info("本次采集:" + results.size() + "笔" + taskConfig.getType());
this.doHandle(results); doHandle(results);
} }
} }
public abstract void doHandle(List<T> results);
public abstract List<T> execute(PeriodTime periodTime, TaskConfig taskConfig);
private void updateTaskState(TaskConfig taskConfig) { private void updateTaskState(TaskConfig taskConfig) {
taskConfig.setState(StateEnum.OK); taskConfig.setState(StateEnum.OK);
taskConfigService.updateById(taskConfig); taskConfigService.updateById(taskConfig);
@ -124,7 +126,4 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
return XxlJobHelper.getJobParam(); return XxlJobHelper.getJobParam();
} }
public abstract void doHandle(List<T> results);
public abstract List<T> execute(Date startDate, Date endDate, int pageNum, int pageSize);
} }

@ -1,11 +1,11 @@
package com.docus.server.common.consumer.receiver; package com.docus.server.common.consumer.receiver;
import com.docus.taskdistribute.common.bean.Result; import com.docus.server.common.bean.Result;
import com.docus.taskdistribute.common.message.MessageData; import com.docus.server.common.consumer.bean.HandleResult;
import com.docus.taskdistribute.common.util.ResultWapper; import com.docus.server.common.consumer.type.HandleSignalEnum;
import com.docus.taskdistribute.consumer.bean.HandleResult; import com.docus.server.common.consumer.type.MessageTypeEnum;
import com.docus.taskdistribute.consumer.type.HandleSignalEnum; import com.docus.server.common.message.MessageData;
import com.docus.taskdistribute.consumer.type.MessageTypeEnum; import com.docus.server.common.util.ResultWapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

@ -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<CollectsysDictionary> {
}

@ -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<CollectsysDictionary> {
}

@ -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<AfCollectSysDictionaryMapper, CollectsysDictionary> implements IAfCollectSysDictionary {
}

@ -11,7 +11,8 @@ import org.springframework.stereotype.Service;
* @date 2023/6/13 17:06 * @date 2023/6/13 17:06
*/ */
@Service @Service
public class AfViewCollectionLogServiceImpl extends BaseServiceImpl<AfViewCollectionLogMapper, AfViewCollectionLog> implements IAfViewCollectionLogService { public class AfViewCollectionLogServiceImpl
extends BaseServiceImpl<AfViewCollectionLogMapper, AfViewCollectionLog> implements IAfViewCollectionLogService {
} }

@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
@ -62,4 +63,22 @@ public interface TBasicMapper extends BaseMapper<TBasic> {
@Param("size") int size); @Param("size") int size);
List<TBasic> selectBasicListByPatientIds(@Param("patientIds") List<String> patientIds); List<TBasic> selectBasicListByPatientIds(@Param("patientIds") List<String> patientIds);
List<Map<String, Object>> getBasicForZYHs(@Param("zyhs") List<String> zyhs);
/**
*
*
* @param param
* @return
*/
List<Map<String, Object>> getBasicOutData(@Param("param") Map<String, Object> param);
/**
*
*
* @param param
* @return
*/
List<Map<String, Object>> getBasicData(@Param("param") Map<String, Object> param);
} }

@ -5,6 +5,7 @@ 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.TBasic;
import java.util.List; import java.util.List;
import java.util.Map;
public interface ITBasicService extends IBaseService<TBasic> { public interface ITBasicService extends IBaseService<TBasic> {
@ -38,4 +39,22 @@ public interface ITBasicService extends IBaseService<TBasic> {
* @return * @return
*/ */
Integer findByJzh(String jzh); Integer findByJzh(String jzh);
/**
*
*
* @param zyhs
* @return
*/
List<Map<String, Object>> getBasicForZYHs(List<String> zyhs);
/**
*
*/
List<Map<String, Object>> getBasicOutData(Map<String, Object> param);
/**
*
*/
List<Map<String, Object>> getBasicData(Map<String, Object> param);
} }

@ -5,10 +5,10 @@ import com.docus.core.util.DateUtil;
import com.docus.core.util.Func; import com.docus.core.util.Func;
import com.docus.infrastructure.redis.service.IdService; import com.docus.infrastructure.redis.service.IdService;
import com.docus.server.common.service.impl.BaseServiceImpl; 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.dto.TBasicDTO;
import com.docus.server.record.common.pojo.entity.TBasic; import com.docus.server.record.common.pojo.entity.TBasic;
import com.docus.server.record.common.pojo.entity.TBasicExtend; import com.docus.server.record.common.pojo.entity.TBasicExtend;
import com.docus.server.record.mapper.TBasicMapper;
import com.docus.server.record.service.ITBasicService; import com.docus.server.record.service.ITBasicService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class TBasicServiceImpl extends BaseServiceImpl<TBasicMapper, TBasic> implements ITBasicService { public class TBasicServiceImpl extends BaseServiceImpl<TBasicMapper, TBasic> implements ITBasicService {
@ -209,6 +210,33 @@ public class TBasicServiceImpl extends BaseServiceImpl<TBasicMapper, TBasic> imp
//判断jzh是否重复 //判断jzh是否重复
return tBasicMapper.selectOne(jzh); return tBasicMapper.selectOne(jzh);
} }
/**
*
*
* @param zyhs
* @return
*/
@Override
public List<Map<String, Object>> getBasicForZYHs(List<String> zyhs) {
return tBasicMapper.getBasicForZYHs(zyhs);
}
/**
*
*/
@Override
public List<Map<String, Object>> getBasicOutData(Map<String, Object> param) {
return tBasicMapper.getBasicOutData(param);
}
/**
*
*/
@Override
public List<Map<String, Object>> getBasicData(Map<String, Object> param) {
return tBasicMapper.getBasicData(param);
}
} }

@ -159,4 +159,83 @@
#{patientId} #{patientId}
</foreach> </foreach>
</select> </select>
<select id="getBasicForZYHs" resultType="map">
SELECT
patient_id,
inpatient_no,
DATE_FORMAT( admiss_date, '%Y-%m-%d %H:%i:%s' ) admiss_date,
DATE_FORMAT( dis_date, '%Y-%m-%d %H:%i:%s' ) dis_date,
jzh
FROM
docus_medicalrecord.t_basic
WHERE
1 = 1
<if test="zyhs!= null and zyhs.size()>0">
AND inpatient_no IN
<foreach collection="zyhs" item="zyh" open="(" close=")" separator=",">
#{zyh}
</foreach>
</if>
</select>
<!--查询基础出院数据增量数据-->
<select id="getBasicOutData" resultType="java.util.Map">
SELECT
patient_id patientid,
jzh,
inpatient_no inpatientno,
admiss_times admisstimes,
NAME,
date_format(create_time, '%Y-%m-%d %H:%i:%s') createtime,
date_format(admiss_date, '%Y-%m-%d %H:%i:%s') admissdate,
date_format(dis_date, '%Y-%m-%d %H:%i:%s') disdate,
dis_dept_name disdeptname
FROM
docus_medicalrecord.t_basic
WHERE
1 = 1
AND jzh IS NOT NULL
AND dis_date IS NOT NULL
AND dis_date != '1801-02-03 00:00:00'
AND is_cancel = 0
<if test="param.periodTime.periodStartDate != null">
AND dis_date <![CDATA[ >= ]]> #{param.periodTime.periodStartDate}
</if>
<if test="param.periodTime.periodEndDate != null">
AND dis_date <![CDATA[ <= ]]> #{param.periodTime.periodEndDate}
</if>
<if test="param.taskConfig.where != null">
AND #{param.taskConfig.where}
</if>
LIMIT #{param.taskConfig.offset}, #{param.taskConfig.pageSize}
</select>
<!--查询基础创建数据增量数据-->
<select id="getBasicData" resultType="java.util.Map">
SELECT
patient_id patientid,
jzh,
inpatient_no inpatientno,
admiss_times admisstimes,
NAME,
date_format( create_time, '%Y-%m-%d %H:%i:%s' ) createtime,
date_format( admiss_date, '%Y-%m-%d %H:%i:%s' ) admissdate,
date_format( dis_date, '%Y-%m-%d %H:%i:%s' ) disdate,
dis_dept_name disdeptname
FROM
docus_medicalrecord.t_basic
WHERE
1 = 1
AND jzh IS NOT NULL
AND is_cancel =0
<if test="param.periodTime.periodStartDate != null">
AND create_time <![CDATA[ >= ]]> #{param.periodTime.periodStartDate}
</if>
<if test="param.periodTime.periodEndDate != null">
AND create_time <![CDATA[ <= ]]> #{param.periodTime.periodEndDate}
</if>
<if test="param.taskConfig.where != null">
AND #{param.taskConfig.where}
</if>
LIMIT #{param.taskConfig.offset}, #{param.taskConfig.pageSize}
</select>
</mapper> </mapper>

@ -49,4 +49,8 @@ public final class TrackHelper {
trackContext.getParams().putAll(params); trackContext.getParams().putAll(params);
} }
public static void clear() {
TrackContext.clear();
}
} }

Loading…
Cancel
Save