noview job

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

@ -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<TBasicDTO> {
public class HttpTBasicCollectorImpl extends AbstractHttpCollector<TBasicDTO> {
@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 deptDTO1 = new TBasicDTO();

@ -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<TBasicDTO> {
public class WsBasicCollectorImpl extends AbstractWsCollector<TBasicDTO> {
@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();
deptDTO.setAdmissDate("1");
deptDTO.setAdmissDays("admin");

@ -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<DeptDTO> {
public class HttpDeptCollectorImpl extends AbstractHttpCollector<DeptDTO> {
@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.setAuthorId("1");
deptDTO.setAuthorName("admin");

@ -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<DeptDTO> {
public class WsDeptCollectorImpl extends AbstractWsCollector<DeptDTO> {
@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.setAuthorId("1");
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.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<List<Map<String, Object>>> {
public abstract class AbstractViewJobResultImpl<T> implements IJobResult<T> {
private IHospitalApi hospitalApi;
@Resource
private IdService idService;
@ -71,9 +64,10 @@ public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<Strin
private String syscodekey = "SYS_CODE";
@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"));
process(results, dsKey);
process((List<Map<String, Object>>) results, dsKey);
}
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) {
List<TBasic> 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<List<Map<String, Object>>>() {
});
return basicService.getBasicForZYHs(zyhs);
// List<Map<String, Object>> datas = new ArrayList<>();
// String url = String.format("http://localhost:%s", getPort());
@ -485,12 +476,17 @@ public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<Strin
}
@Override
public List<Map<String, Object>> ok(Map<String, Object> params) {
public T ok(Map<String, Object> params) {
return null;
}
@Override
public List<Map<String, Object>> fail(Map<String, Object> params) {
public T fail(Map<String, Object> params) {
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 java.util.List;
import java.util.Map;
/**
*
*/
@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 java.util.List;
import java.util.Map;
/**
*
*/
@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 java.util.List;
import java.util.Map;
/**
*
*/
@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 java.util.List;
import java.util.Map;
/**
*
*/
@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 java.util.List;
import java.util.Map;
/**
*
*/
@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 java.util.List;
import java.util.Map;
/**
* lis
*/
@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 java.util.List;
import java.util.Map;
/**
* Pacs
*/
@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 java.util.List;
import java.util.Map;
/**
* vte
*/
@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 java.util.List;
import java.util.Map;
/**
*
*/
@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;
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<UserDTO> {
public class HttpUserCollectorImpl extends AbstractHttpCollector<UserDTO> {
@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();
deptDTO.setAuthorId("1");
deptDTO.setAuthorName("admin");

@ -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<UserDTO> {
public class WsUserCollectorImpl extends AbstractWsCollector<UserDTO> {
@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();
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");

@ -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:
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:

@ -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;
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<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;
import java.util.Map;
/**
* @author linruifeng
* @date 2023/6/14 14:27
@ -7,11 +9,19 @@ package com.docus.server.collect;
public interface IJobResult<T> extends IResult<T> {
/**
* job
* job
*
* @param results
* @param dsKey key
*/
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;
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;
/**
* httpjob
*
* @see AbstractCollectJob
* @see com.docus.server.collect.IJob
* @see IHttpCollector
*/
@Component
public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> {
@ -48,8 +46,8 @@ public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> {
@SuppressWarnings("unchecked")
@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;
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<TBasicDTO> {
@SuppressWarnings("unchecked")
@Override
public List<TBasicDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
public List<TBasicDTO> 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());
}
}

@ -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<TBasicDTO> {
@ -46,9 +45,9 @@ public class TBasicWsCollectJob extends AbstractCollectJob<TBasicDTO> {
@SuppressWarnings("unchecked")
@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;
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<DeptDTO> {
@ -47,7 +46,7 @@ public class DeptHttpCollectJob extends AbstractCollectJob<DeptDTO> {
@SuppressWarnings("unchecked")
@Override
public List<DeptDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
return collector.list(startDate, endDate, pageNum, pageSize);
public List<DeptDTO> execute(PeriodTime periodTime, TaskConfig taskConfig) {
return collector.list(periodTime, taskConfig);
}
}

@ -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<DeptDTO> {
@SuppressWarnings("unchecked")
@Override
public List<DeptDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
public List<DeptDTO> 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());
}
}

@ -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<DeptDTO> {
@ -46,8 +45,8 @@ public class DeptWsCollectJob extends AbstractCollectJob<DeptDTO> {
@SuppressWarnings("unchecked")
@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;
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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Objec
}
@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即可。
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.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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>>
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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.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<Map<String, Object>> {
@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<Map<String, Object>> {
}
@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即可。
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;
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<UserDTO> {
@ -46,8 +45,8 @@ public class UserHttpCollectJob extends AbstractCollectJob<UserDTO> {
@SuppressWarnings("unchecked")
@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.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<UserDTO> {
}
@Override
public List<UserDTO> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
public List<UserDTO> 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) {

@ -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<UserDTO> {
@ -46,8 +45,8 @@ public class UserWsCollectJob extends AbstractCollectJob<UserDTO> {
@SuppressWarnings("unchecked")
@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;
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;
}
}

@ -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<T> implements IJob<T> {
List<T> 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<T> implements IJob<T> {
}
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) {
taskConfig.setState(StateEnum.OK);
taskConfigService.updateById(taskConfig);
@ -124,7 +126,4 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
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;
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;

@ -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
*/
@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 java.util.List;
import java.util.Map;
/**
* <p>
@ -62,4 +63,22 @@ public interface TBasicMapper extends BaseMapper<TBasic> {
@Param("size") int size);
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 java.util.List;
import java.util.Map;
public interface ITBasicService extends IBaseService<TBasic> {
@ -38,4 +39,22 @@ public interface ITBasicService extends IBaseService<TBasic> {
* @return
*/
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.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<TBasicMapper, TBasic> implements ITBasicService {
@ -209,6 +210,33 @@ public class TBasicServiceImpl extends BaseServiceImpl<TBasicMapper, TBasic> imp
//判断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}
</foreach>
</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>

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

Loading…
Cancel
Save