viewtask 10 种job封装

segment2.0
linrf 2 years ago
parent 6a8c930fdc
commit ca342f8153

@ -13,10 +13,17 @@ import java.util.Map;
@DS(DSKeyConstants.DS_KEY) @DS(DSKeyConstants.DS_KEY)
public interface BlDeptMapper { public interface BlDeptMapper {
List<Map<String, Object>> list(@Param("startDate") Date startDate, List<Map<String, Object>> page(@Param("startDate") Date startDate,
@Param("endDate") Date endDate, @Param("endDate") Date endDate,
@Param("offset") int offset, @Param("offset") int offset,
@Param("pageSize") int pageSize); @Param("pageSize") int pageSize);
List<Map<String, Object>> BatchForJZH(@Param("jzhs") List<String> jzhs);
List<Map<String, Object>> BatchForJZHAndAdmissTimes(@Param("datas") List<Map<String, Object>> datas);
List<Map<String, Object>> BatchForZYHAndAdmissTimes(@Param("datas") List<Map<String, Object>> datas);
List<Map<String, Object>> BatchForEXAMTIME(@Param("datas") List<Map<String, Object>> datas);
} }

@ -1,16 +1,6 @@
package com.docus.server.bl.service; package com.docus.server.bl.service;
import com.docus.server.record.common.pojo.dto.TBasicDTO; import com.docus.server.client.api.IHospitalApi;
import com.docus.server.sys.common.pojo.dto.UserDTO;
import java.util.Date; public interface IBlService extends IHospitalApi {
import java.util.List;
import java.util.Map;
public interface IBlService {
List<Map<String, Object>> list(Date startDate, Date endDate, int pageNum, int pageSize);
List<UserDTO> getUserListView(Date startDate, Date endDate, int pageNum, int pageSize);
List<TBasicDTO> getTBasicListView(Date startDate, Date endDate, int pageNum, int pageSize);
} }

@ -1,11 +1,8 @@
package com.docus.server.bl.service.impl; package com.docus.server.bl.service.impl;
import com.docus.server.bl.common.DSKeyConstants;
import com.docus.server.bl.infrastructure.mapper.BlDeptMapper; import com.docus.server.bl.infrastructure.mapper.BlDeptMapper;
import com.docus.server.bl.infrastructure.mapper.BlTBasicMapper;
import com.docus.server.bl.infrastructure.mapper.BlUserMapper;
import com.docus.server.bl.service.IBlService; import com.docus.server.bl.service.IBlService;
import com.docus.server.record.common.pojo.dto.TBasicDTO;
import com.docus.server.sys.common.pojo.dto.UserDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -13,27 +10,35 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Component @Component(DSKeyConstants.DS_KEY + "ServiceImpl")
@AllArgsConstructor @AllArgsConstructor
public class BlServiceImpl implements IBlService { public class BlServiceImpl implements IBlService {
private final BlDeptMapper blDeptMapper; private final BlDeptMapper blDeptMapper;
private final BlUserMapper blUserMapper;
private final BlTBasicMapper blTBasicMapper;
@Override @Override
public List<Map<String, Object>> list(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> page(Date startDate, Date endDate, int pageNum, int pageSize) {
return blDeptMapper.list(startDate, endDate, (pageNum - 1) * pageSize, pageSize); return blDeptMapper.page(startDate, endDate, (pageNum - 1) * pageSize, pageSize);
} }
@Override @Override
public List<UserDTO> getUserListView(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> BatchForJZH(List<String> jzhs) {
return blUserMapper.getUserListView(startDate, endDate, (pageNum - 1) * pageSize, pageSize); return blDeptMapper.BatchForJZH(jzhs);
} }
@Override @Override
public List<TBasicDTO> getTBasicListView(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> BatchForJZHAndAdmissTimes(List<Map<String, Object>> datas) {
return blTBasicMapper.getTBasicListView(startDate, endDate, (pageNum - 1) * pageSize, pageSize); return blDeptMapper.BatchForJZHAndAdmissTimes(datas);
}
@Override
public List<Map<String, Object>> BatchForZYHAndAdmissTimes(List<Map<String, Object>> datas) {
return blDeptMapper.BatchForZYHAndAdmissTimes(datas);
}
@Override
public List<Map<String, Object>> BatchForEXAMTIME(List<Map<String, Object>> datas) {
return blDeptMapper.BatchForEXAMTIME(datas);
} }
} }

@ -4,13 +4,144 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.docus.server.bl.infrastructure.mapper.BlDeptMapper"> <mapper namespace="com.docus.server.bl.infrastructure.mapper.BlDeptMapper">
<select id="list" resultType="map"> <!--根据更新时间分页查询-->
SELECT `update_time` as update_time ,`dept_code` as dept_code,`dept_name` as dept_name FROM `his_dept` <select id="page" resultType="java.util.Map">
WHERE update_time between #{startDate} and #{endDate} SELECT DISTINCT
order by update_time asc '6' AS SYS_CODE,
ZYH AS ZYH,
JZH AS FVISIT_ID,
FILE_NAME AS REPORT_NAME,
'' AS BGLX,
'1503577916225949698' AS ASSORTID,
EXAM_NO AS RP_EXAM_NO,
1 AS PATH_TYPE,
FILE_PATHFILE_PATH AS FILE_PATH,
0 AS ISDELETE,
0 AS state,
'' AS jch,
'' AS checktime,
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') AS MODIFYTIME
FROM
V_JSWZH_LISRECORD
WHERE
1 = 1
AND AFFIRM_TIME <![CDATA[ > ]]> #{startDate}
AND AFFIRM_TIME <![CDATA[ <= ]]> #{endDate}
ORDER BY
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') DESC
LIMIT #{offset}, #{pageSize} LIMIT #{offset}, #{pageSize}
</select> </select>
<!--根据jzh取得所需采集的批量数据-->
<select id="BatchForJZH" resultType="java.util.Map">
SELECT
'6' AS SYS_CODE,
ZYH AS ZYH,
JZH AS FVISIT_ID,
FILE_NAME AS REPORT_NAME,
'' AS BGLX,
'1503577916225949698' AS ASSORTID,
EXAM_NO AS RP_EXAM_NO,
1 AS PATH_TYPE,
FILE_PATHFILE_PATH AS FILE_PATH,
0 AS ISDELETE,
0 AS state,
'' AS jch,
'' AS checktime,
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') AS MODIFYTIME
FROM
V_JSWZH_LISRECORD
WHERE
1 = 1
AND JZH IN
<foreach item="item" index="index" collection="jzhs" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<!--记账号+住院次数-->
<select id="BatchForJZHAndAdmissTimes" resultType="java.util.Map">
SELECT
'6' AS SYS_CODE,
ZYH AS ZYH,
JZH AS FVISIT_ID,
FILE_NAME AS REPORT_NAME,
'' AS BGLX,
'1503577916225949698' AS ASSORTID,
EXAM_NO AS RP_EXAM_NO,
1 AS PATH_TYPE,
FILE_PATHFILE_PATH AS FILE_PATH,
0 AS ISDELETE,
0 AS state,
'' AS jch,
'' AS checktime,
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') AS MODIFYTIME
FROM
V_JSWZH_LISRECORD
WHERE
1 = 1
and (
<foreach item="item" index="index" collection="datas" open="(" separator="," close=")">
(JZH =#{item.FVISIT_ID} and ADMISS_TIMES=#{item.ADMISS_TIMES}) or
</foreach>
)
</select>
<select id="BatchForZYHAndAdmissTimes" resultType="java.util.Map">
SELECT
'6' AS SYS_CODE,
ZYH AS ZYH,
JZH AS FVISIT_ID,
FILE_NAME AS REPORT_NAME,
'' AS BGLX,
'1503577916225949698' AS ASSORTID,
EXAM_NO AS RP_EXAM_NO,
1 AS PATH_TYPE,
FILE_PATHFILE_PATH AS FILE_PATH,
0 AS ISDELETE,
0 AS state,
'' AS jch,
'' AS checktime,
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') AS MODIFYTIME
FROM
V_JSWZH_LISRECORD
WHERE
1 = 1
and (
<foreach item="item" index="index" collection="datas" open="(" separator="," close=")">
(ZYH =#{item.ZYH} and ADMISS_TIMES=#{item.ADMISS_TIMES}) or
</foreach>
)
</select>
<select id="BatchForEXAMTIME" resultType="java.util.Map">
SELECT
'6' AS SYS_CODE,
ZYH AS ZYH,
JZH AS FVISIT_ID,
FILE_NAME AS REPORT_NAME,
'' AS BGLX,
'1503577916225949698' AS ASSORTID,
EXAM_NO AS RP_EXAM_NO,
1 AS PATH_TYPE,
FILE_PATHFILE_PATH AS FILE_PATH,
0 AS ISDELETE,
0 AS state,
'' AS jch,
'' AS checktime,
date_format(AFFIRM_TIME, '%Y-%m-%d %H:%i:%s') AS MODIFYTIME
FROM
V_JSWZH_LISRECORD
WHERE
1 = 1
and (
<foreach item="item" index="index" collection="datas" open="(" separator="," close=")">
(ZYH =#{item.ZYH} and EXAM_TIME <![CDATA[ >= ]]> STR_TO_DATE(#{item.admiss_date})
<if test="item.dis_date != null">
and EXAM_TIME <![CDATA[ <= ]]> STR_TO_DATE(#{item.dis_date})
</if>
</foreach>
)
</select>
<!-- mysql <!-- mysql
<select id="list" resultType="com.docus.server.sys.common.pojo.dto.DeptDTO"> <select id="list" resultType="com.docus.server.sys.common.pojo.dto.DeptDTO">

@ -2,8 +2,8 @@ package com.docus.server.collect.dept.ws;
import com.docus.core.util.DateUtil; import com.docus.core.util.DateUtil;
import com.docus.core.util.Func; import com.docus.core.util.Func;
import com.docus.server.collect.web.utils.IdUtil;
import com.docus.server.collect.IWsResult; import com.docus.server.collect.IWsResult;
import com.docus.server.common.util.IdUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;

@ -5,9 +5,9 @@ import com.docus.core.util.Func;
import com.docus.core.util.XmlUtil; import com.docus.core.util.XmlUtil;
import com.docus.infrastructure.core.exception.BaseException; import com.docus.infrastructure.core.exception.BaseException;
import com.docus.server.archivefile.pojo.dto.ReportDTO; import com.docus.server.archivefile.pojo.dto.ReportDTO;
import com.docus.server.collect.web.utils.ParamsUtils;
import com.docus.server.collect.web.utils.TableJsonRead;
import com.docus.server.collect.IConverter; import com.docus.server.collect.IConverter;
import com.docus.server.collect.web.utils.TableJsonRead;
import com.docus.server.common.util.ParamsUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.w3c.dom.Node; import org.w3c.dom.Node;

@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.docus.infrastructure.redis.service.IdService; import com.docus.infrastructure.redis.service.IdService;
import com.docus.server.archivefile.pojo.entity.AfViewCollectionLog; import com.docus.server.archivefile.pojo.entity.AfViewCollectionLog;
import com.docus.server.archivefile.service.IAfViewCollectionLogService; import com.docus.server.archivefile.service.IAfViewCollectionLogService;
import com.docus.server.client.api.IHospitalApi;
import com.docus.server.collect.IJobResult;
import com.docus.server.collect.web.common.BasicProperties; import com.docus.server.collect.web.common.BasicProperties;
import com.docus.server.collect.web.common.DocusProperties; import com.docus.server.collect.web.common.DocusProperties;
import com.docus.server.collect.web.common.dto.BasicQueryDto; import com.docus.server.collect.web.common.dto.BasicQueryDto;
@ -19,15 +21,14 @@ import com.docus.server.collect.web.enums.RedisKeyEnum;
import com.docus.server.collect.web.utils.MqQueueUtils; import com.docus.server.collect.web.utils.MqQueueUtils;
import com.docus.server.collect.web.utils.RedisMq; 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.IHospital;
import com.docus.server.common.message.MqMessage; import com.docus.server.common.message.MqMessage;
import com.docus.server.common.util.SpringUtils;
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;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@ -42,10 +43,9 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component
@Slf4j @Slf4j
public class HospitalServiceImpl implements IHospitalService { public abstract class BaseViewJobResultImpl implements IJobResult<List<Map<String, Object>>> {
private IHospital hospital; private IHospitalApi hospitalApi;
@Resource @Resource
private IdService idService; private IdService idService;
@Resource @Resource
@ -67,12 +67,12 @@ public class HospitalServiceImpl implements IHospitalService {
private String syscodekey = "SYS_CODE"; private String syscodekey = "SYS_CODE";
@Override @Override
public void handle(List<Map<String, Object>> t, String dsKey, IHospital hospital) { public void handle(List<Map<String, Object>> results, String dsKey) {
this.hospital = hospital; this.hospitalApi = (IHospitalApi) SpringUtils.getBean(String.format("%s%s", dsKey, "ServiceImpl"));
handle(t, dsKey); process(results, dsKey);
} }
public void handle(List<Map<String, Object>> datas, String key) { public void process(List<Map<String, Object>> datas, String key) {
String mqKey = String.format("topic_task_%s_queue", key); String mqKey = String.format("topic_task_%s_queue", key);
MqMessage mqMessage = new MqMessage(); MqMessage mqMessage = new MqMessage();
//将key转为大写以免出错 //将key转为大写以免出错
@ -186,13 +186,13 @@ public class HospitalServiceImpl implements IHospitalService {
} }
private List<Map<String, Object>> GetColectionForJZHAndAdmissTimes(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs, List<Map<String, Object>> datas) { private List<Map<String, Object>> GetColectionForJZHAndAdmissTimes(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs, List<Map<String, Object>> datas) {
List<Map<String, Object>> batchcollects = hospital.BatchForJZHAndAdmissTimes(datas); List<Map<String, Object>> batchcollects = hospitalApi.BatchForJZHAndAdmissTimes(datas);
toReplaceBlank(batchcollects); toReplaceBlank(batchcollects);
return GetColectionForJZH(syscode, jzhs, batchcollects); return GetColectionForJZH(syscode, jzhs, batchcollects);
} }
private List<Map<String, Object>> GetColectionForZYHAndAdmissTimes(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs, List<Map<String, Object>> datas) { private List<Map<String, Object>> GetColectionForZYHAndAdmissTimes(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs, List<Map<String, Object>> datas) {
List<Map<String, Object>> batchcollects = hospital.BatchForZYHAndAdmissTimes(datas); List<Map<String, Object>> batchcollects = hospitalApi.BatchForZYHAndAdmissTimes(datas);
toReplaceBlank(batchcollects); toReplaceBlank(batchcollects);
return GetColectionForJZH(syscode, jzhs, batchcollects); return GetColectionForJZH(syscode, jzhs, batchcollects);
} }
@ -413,7 +413,7 @@ public class HospitalServiceImpl implements IHospitalService {
} }
//取得该患者全部住院文件 //取得该患者全部住院文件
List<Map<String, Object>> batchcollects = hospital.BatchForEXAMTIME(list); List<Map<String, Object>> batchcollects = hospitalApi.BatchForEXAMTIME(list);
toReplaceBlank(batchcollects); toReplaceBlank(batchcollects);
//添加记帐号 //添加记帐号
for (Map<String, Object> k : batchcollects) { for (Map<String, Object> k : batchcollects) {
@ -436,7 +436,7 @@ public class HospitalServiceImpl implements IHospitalService {
private List<Map<String, Object>> GetColectionForJZH(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs) { private List<Map<String, Object>> GetColectionForJZH(BasicQueryDto dto, String oldJzhkey, String syscode, List<String> jzhs) {
jzhs = jzhs.stream().distinct().collect(Collectors.toList()); jzhs = jzhs.stream().distinct().collect(Collectors.toList());
List<Map<String, Object>> batchcollects = hospital.BatchForJZH(jzhs); List<Map<String, Object>> batchcollects = hospitalApi.BatchForJZH(jzhs);
log.debug("size:{}", batchcollects.size()); log.debug("size:{}", batchcollects.size());
toReplaceBlank(batchcollects); toReplaceBlank(batchcollects);
return GetColectionForJZH(syscode, jzhs, batchcollects); return GetColectionForJZH(syscode, jzhs, batchcollects);
@ -473,4 +473,14 @@ public class HospitalServiceImpl implements IHospitalService {
private String getPort() { private String getPort() {
return environment.getProperty("local.server.port"); return environment.getProperty("local.server.port");
} }
@Override
public List<Map<String, Object>> ok(Map<String, Object> params) {
return null;
}
@Override
public List<Map<String, Object>> fail(Map<String, Object> params) {
return null;
}
} }

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("blViewJobResultImpl")
public class BlViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("ecgViewJobResultImpl")
public class EcgViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("emrViewJobResultImpl")
public class EmrViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("hlViewJobResultImpl")
public class HlViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("issubmitViewJobResultImpl")
public class IssubmitViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
* lis
*/
@Component("lisViewJobResultImpl")
public class LisViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
* Pacs
*/
@Component("pacsViewJobResultImpl")
public class PacsViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
* vte
*/
@Component("vteViewJobResultImpl")
public class VteViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -0,0 +1,11 @@
package com.docus.server.collect.report.view;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("zzViewJobResultImpl")
public class ZzViewJobResultImpl extends BaseViewJobResultImpl {
}

@ -2,8 +2,8 @@ package com.docus.server.collect.user.ws;
import com.docus.core.util.DateUtil; import com.docus.core.util.DateUtil;
import com.docus.core.util.Func; import com.docus.core.util.Func;
import com.docus.server.collect.web.utils.IdUtil;
import com.docus.server.collect.IWsResult; import com.docus.server.collect.IWsResult;
import com.docus.server.common.util.IdUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;

@ -1,4 +1,4 @@
package com.docus.server.collect.web.service; package com.docus.server.collect.web.enums;
/** /**
* *

@ -4,7 +4,11 @@ import com.alibaba.fastjson.JSONArray;
import com.docus.server.collect.web.common.dto.HoliDay; import com.docus.server.collect.web.common.dto.HoliDay;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
public class HoliDayUtil { public class HoliDayUtil {

@ -0,0 +1,17 @@
package com.docus.server.collect;
/**
* @author linruifeng
* @date 2023/6/14 14:27
*/
public interface IJobResult<T> extends IResult<T> {
/**
* job
*
* @param results
* @param dsKey key
*/
void handle(T results, String dsKey);
}

@ -42,8 +42,8 @@ public class TBasicHttpCollectJob extends AbstractCollectJob<TBasicDTO> {
@Override @Override
public void doHandle(List<TBasicDTO> t) { public void doHandle(List<TBasicDTO> results) {
basicService.batchSaveBasics(t); basicService.batchSaveBasics(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -40,8 +40,8 @@ public class TBasicViewCollectJob extends AbstractCollectJob<TBasicDTO> {
} }
@Override @Override
public void doHandle(List<TBasicDTO> t) { public void doHandle(List<TBasicDTO> results) {
basicService.batchSaveBasics(t); basicService.batchSaveBasics(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -40,8 +40,8 @@ public class TBasicWsCollectJob extends AbstractCollectJob<TBasicDTO> {
} }
@Override @Override
public void doHandle(List<TBasicDTO> t) { public void doHandle(List<TBasicDTO> results) {
basicService.batchSaveBasics(t); basicService.batchSaveBasics(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -41,8 +41,8 @@ public class DeptHttpCollectJob extends AbstractCollectJob<DeptDTO> {
} }
@Override @Override
public void doHandle(List<DeptDTO> t) { public void doHandle(List<DeptDTO> results) {
deptService.batchInsertOrUpdatePowerDept(t); deptService.batchInsertOrUpdatePowerDept(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -42,8 +42,8 @@ public class DeptViewCollectJob extends AbstractCollectJob<DeptDTO> {
} }
@Override @Override
public void doHandle(List<DeptDTO> t) { public void doHandle(List<DeptDTO> results) {
deptService.batchInsertOrUpdatePowerDept(t); deptService.batchInsertOrUpdatePowerDept(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -40,8 +40,8 @@ public class DeptWsCollectJob extends AbstractCollectJob<DeptDTO> {
} }
@Override @Override
public void doHandle(List<DeptDTO> t) { public void doHandle(List<DeptDTO> results) {
deptService.batchInsertOrUpdatePowerDept(t); deptService.batchInsertOrUpdatePowerDept(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class BlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "blViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class EcgViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "ecgViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class EmrViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "emrViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class HlViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "hlViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -1,16 +0,0 @@
package com.docus.server.collect.report.view;
import com.docus.server.common.IHospital;
import java.util.List;
import java.util.Map;
/**
* @author linruifeng
* @date 2023/6/14 9:38
*/
public interface IHospitalService {
void handle(List<Map<String, Object>> t, String dsKey, IHospital hospital);
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class IssubmitViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "issubmitViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -2,6 +2,7 @@ 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.web.job.AbstractCollectJob; import com.docus.server.collect.web.job.AbstractCollectJob;
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;
@ -14,7 +15,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* job * lis
* *
* @author linruifeng * @author linruifeng
* @see AbstractCollectJob * @see AbstractCollectJob
@ -25,8 +26,8 @@ import java.util.Map;
public class LisViewCollectJob extends AbstractCollectJob<Map<String, Object>> { public class LisViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource @Resource
private ILisService lisService; private ILisService lisService;
@Resource @Resource(name = "lisViewJobResultImpl")
private IHospitalService hospitalService; private IJobResult jobResult;
/** /**
* xxl jobhandler * xxl jobhandler
@ -44,12 +45,12 @@ public class LisViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
super.startCollectIncrement(getJobParam()); super.startCollectIncrement(getJobParam());
} }
@SuppressWarnings("unchecked")
@Override @Override
public void doHandle(List<Map<String, Object>> t) { public void doHandle(List<Map<String, Object>> results) {
hospitalService.handle(t, DSKeyConstants.DS_KEY, lisService); jobResult.handle(results, DSKeyConstants.DS_KEY);
} }
@SuppressWarnings("unchecked")
@Override @Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) { public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。 //每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
* Pacs
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class PacsViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "pacsViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
* vte
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class VteViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "vteViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -0,0 +1,59 @@
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.job.AbstractCollectJob;
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;
/**
*
*
* @author linruifeng
* @see AbstractCollectJob
* @see IJob
* @see ICollector
*/
@Component
public class ZzViewCollectJob extends AbstractCollectJob<Map<String, Object>> {
@Resource
private ILisService lisService;
@Resource(name = "zzViewJobResultImpl")
private IJobResult jobResult;
/**
* xxl jobhandler
*/
@XxlJob("startAllLisViewCollect")
public void startAllLisViewCollect() {
super.startCollectAll(getJobParam());
}
/**
* xxl jobhandler
*/
@XxlJob("startIncLisViewCollect")
public void startIncLisViewCollect() {
super.startCollectIncrement(getJobParam());
}
@SuppressWarnings("unchecked")
@Override
public void doHandle(List<Map<String, Object>> results) {
jobResult.handle(results, DSKeyConstants.DS_KEY);
}
@Override
public List<Map<String, Object>> execute(Date startDate, Date endDate, int pageNum, int pageSize) {
//每家医院按照固定的格式写sql不同医院需要替换不同的sql即可。
return lisService.page(startDate, endDate, pageNum, pageSize);
}
}

@ -40,8 +40,8 @@ public class UserHttpCollectJob extends AbstractCollectJob<UserDTO> {
} }
@Override @Override
public void doHandle(List<UserDTO> t) { public void doHandle(List<UserDTO> results) {
userService.batchInsertOrUpdatePowerUser(t); userService.batchInsertOrUpdatePowerUser(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -48,13 +48,13 @@ public class UserViewCollectJob extends AbstractCollectJob<UserDTO> {
} }
@Override @Override
public void doHandle(List<UserDTO> t) { public void doHandle(List<UserDTO> results) {
//docus-BasicDataReceive同步user逻辑 //docus-BasicDataReceive同步user逻辑
Collection<Object> userNames = ListUtils.distinctSelect(t, UserDTO::getUserName); Collection<Object> userNames = ListUtils.distinctSelect(results, UserDTO::getUserName);
List<PowerUser> powerUsers = userService.findByList("userName", userNames); List<PowerUser> powerUsers = userService.findByList("userName", userNames);
List<String> existUserNames = ListUtils.distinctSelect(powerUsers, PowerUser::getUserName); List<String> existUserNames = ListUtils.distinctSelect(powerUsers, PowerUser::getUserName);
t.forEach(p -> { results.forEach(p -> {
String userName = p.getUserName(); String userName = p.getUserName();
String pwd = p.getPwd(); String pwd = p.getPwd();
if (existUserNames.contains(userName)) { if (existUserNames.contains(userName)) {

@ -40,8 +40,8 @@ public class UserWsCollectJob extends AbstractCollectJob<UserDTO> {
} }
@Override @Override
public void doHandle(List<UserDTO> t) { public void doHandle(List<UserDTO> results) {
userService.batchInsertOrUpdatePowerUser(t); userService.batchInsertOrUpdatePowerUser(results);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

@ -0,0 +1,8 @@
package com.docus.server.collect.web.common;
/**
* @author linruifeng
* @date 2023/6/14 14:10
*/
public class A {
}

@ -85,23 +85,23 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
@Override @Override
public void get(PeriodTime periodTime, TaskConfig taskConfig) { public void get(PeriodTime periodTime, TaskConfig taskConfig) {
//考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。 //考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。
List<T> t; List<T> results;
int pageNum = 1; int pageNum = 1;
for (; true; pageNum++) { for (; true; pageNum++) {
t = this.execute( results = this.execute(
periodTime.getPeriodStartDate(), periodTime.getPeriodStartDate(),
periodTime.getPeriodEndDate(), periodTime.getPeriodEndDate(),
pageNum, pageNum,
taskConfig.getPageSize() taskConfig.getPageSize()
); );
if (Func.isEmpty(t)) { if (Func.isEmpty(results)) {
log.info("本次采集0笔" + taskConfig.getType()); log.info("本次采集0笔" + taskConfig.getType());
break; break;
} }
log.info("本次采集:" + t.size() + "笔" + taskConfig.getType()); log.info("本次采集:" + results.size() + "笔" + taskConfig.getType());
this.doHandle(t); this.doHandle(results);
} }
} }
@ -124,7 +124,7 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
return XxlJobHelper.getJobParam(); return XxlJobHelper.getJobParam();
} }
public abstract void doHandle(List<T> t); public abstract void doHandle(List<T> results);
public abstract List<T> execute(Date startDate, Date endDate, int pageNum, int pageSize); public abstract List<T> execute(Date startDate, Date endDate, int pageNum, int pageSize);
} }

@ -8,9 +8,9 @@ import com.docus.server.collect.IConverter;
import com.docus.server.collect.IResult; import com.docus.server.collect.IResult;
import com.docus.server.collect.web.enums.CollectTypeEnum; import com.docus.server.collect.web.enums.CollectTypeEnum;
import com.docus.server.collect.web.service.ITaskOriginalMessageService; import com.docus.server.collect.web.service.ITaskOriginalMessageService;
import com.docus.server.collect.web.utils.SpringUtils;
import com.docus.server.common.enums.IIntegerEnum; import com.docus.server.common.enums.IIntegerEnum;
import com.docus.server.common.enums.StateEnum; import com.docus.server.common.enums.StateEnum;
import com.docus.server.common.util.SpringUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.context.XxlJobHelper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -8,9 +8,9 @@ import com.docus.server.collect.IConverter;
import com.docus.server.collect.IResult; import com.docus.server.collect.IResult;
import com.docus.server.collect.web.enums.CollectTypeEnum; import com.docus.server.collect.web.enums.CollectTypeEnum;
import com.docus.server.collect.web.service.ITaskOriginalMessageService; import com.docus.server.collect.web.service.ITaskOriginalMessageService;
import com.docus.server.collect.web.utils.SpringUtils;
import com.docus.server.common.enums.IIntegerEnum; import com.docus.server.common.enums.IIntegerEnum;
import com.docus.server.common.enums.StateEnum; import com.docus.server.common.enums.StateEnum;
import com.docus.server.common.util.SpringUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -0,0 +1,32 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>docus-collector-server</artifactId>
<groupId>com.docus</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>docus-api-common</artifactId>
<name>Archetype - docus-api-common</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.docus</groupId>
<artifactId>docus-client-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save