修改userviewjob保存逻辑和basicdatareveive.jar保持一致

segment2.0
linrf 2 years ago
parent 35a5d7038d
commit 0347e222a5

@ -13,78 +13,78 @@ spring:
#公司病案的数据库 #公司病案的数据库
master: master:
url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: docus
password: root password: docus702
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#医院的用户/科室/基础数据的数据库 #医院的用户/科室/基础数据的数据库
his: his:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#病理数据 #病理数据
bl: bl:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#电生理系统数据 #电生理系统数据
ecg: ecg:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#电子病历系统数据 #电子病历系统数据
emr: emr:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#护理文书系统数据 #护理文书系统数据
hl: hl:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#手麻系统数据 #手麻系统数据
issubmit: issubmit:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#lis系统数据 #lis系统数据
lis: lis:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#Pacs系统数据视图 #Pacs系统数据视图
pacs: pacs:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#vte静脉血栓栓塞症 #vte静脉血栓栓塞症
vte: vte:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#重症系统数据 #重症系统数据
zz: zz:
url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
# rabbitmq: # rabbitmq:
@ -94,7 +94,7 @@ spring:
# password: guest # password: guest
redis: redis:
host: redis.docus.cn host: redis.docus.cn
# password: JSdocus@702 password: JSdocus@702
cloud: cloud:
nacos: nacos:
discovery: discovery:
@ -109,6 +109,9 @@ spring:
docus: docus:
dbtype: mysql dbtype: mysql
user:
# 用户默认密码
defpwd: fd29cd53ec12616e5f36b77d4afffbff
mybatis-plus: mybatis-plus:
configuration: configuration:
@ -137,14 +140,6 @@ xxl:
logretentiondays: 30 logretentiondays: 30
logpath: D:/xxl-job/inspection logpath: D:/xxl-job/inspection
api:
soft-delete-column-name=state
soft-delete-column-value=1
logging:
level:
com:
baomidou:
mybatisplus: DEBUG
# #
#ibm: #ibm:
# mq: # mq:

@ -1,5 +1,6 @@
package com.docus.server.collect.user.view; package com.docus.server.collect.user.view;
import com.docus.core.util.ListUtils;
import com.docus.server.collect.ICollector; import com.docus.server.collect.ICollector;
import com.docus.server.collect.web.job.AbstractCollectJob; import com.docus.server.collect.web.job.AbstractCollectJob;
import com.docus.server.his.service.IHisService; import com.docus.server.his.service.IHisService;
@ -31,7 +32,6 @@ public class UserViewCollectJob extends AbstractCollectJob<UserDTO> {
super.startCollectAll(getJobParam()); super.startCollectAll(getJobParam());
} }
/** /**
* xxl jobhandler * xxl jobhandler
*/ */
@ -42,6 +42,7 @@ public class UserViewCollectJob extends AbstractCollectJob<UserDTO> {
@Override @Override
public void batchInsertOrUpdate(List<UserDTO> t) { public void batchInsertOrUpdate(List<UserDTO> t) {
List<String> userNames = ListUtils.distinctSelect(t, UserDTO::getUserName);
userService.batchInsertOrUpdatePowerUser(t); userService.batchInsertOrUpdatePowerUser(t);
} }

@ -65,9 +65,9 @@ public class TaskConfig {
private StateEnum state = StateEnum.OK; private StateEnum state = StateEnum.OK;
/** /**
* *
*/ */
private String errorMsg; private String lastErrorMsg;
public List<PeriodTime> getAllPeriodTimes() { public List<PeriodTime> getAllPeriodTimes() {
List<PeriodTime> periodTimes = DateSpiltUtil.spiltDate(this.getStartTime(), this.endTime, 1000 * spiltPeriod); List<PeriodTime> periodTimes = DateSpiltUtil.spiltDate(this.getStartTime(), this.endTime, 1000 * spiltPeriod);

@ -10,12 +10,14 @@ import com.docus.server.record.service.ITBasicService;
import com.docus.server.sys.service.IPowerDeptService; import com.docus.server.sys.service.IPowerDeptService;
import com.docus.server.sys.service.IPowerUserService; import com.docus.server.sys.service.IPowerUserService;
import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.context.XxlJobHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@Slf4j
public abstract class AbstractCollectJob<T> implements IJob<T> { public abstract class AbstractCollectJob<T> implements IJob<T> {
@Resource @Resource
protected IPowerUserService userService; protected IPowerUserService userService;
@ -37,14 +39,19 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
taskConfigService.updateAllPointerDate(taskConfigId, periodTime.getPeriodEndDate()); taskConfigService.updateAllPointerDate(taskConfigId, periodTime.getPeriodEndDate());
} }
} catch (Exception ex) { } catch (Exception ex) {
updateTaskState(ex, taskConfig); log.error(ex.getMessage(), ex);
updateTaskState(ex.getMessage(), taskConfig);
}
if (StateEnum.FAIL.equals(taskConfig.getState())) {
updateTaskState(taskConfig);
} }
} }
@Override @Override
public void startCollectIncrement(String taskConfigId) { public void startCollectIncrement(String taskConfigId) {
TaskConfig taskConfig = taskConfigService.getTaskConfig(taskConfigId); TaskConfig taskConfig = getTaskConfig(taskConfigId);
try { try {
List<PeriodTime> periodTimes = taskConfig.getIncPeriodTimes(); List<PeriodTime> periodTimes = taskConfig.getIncPeriodTimes();
@ -54,10 +61,16 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
}); });
} catch (Exception ex) { } catch (Exception ex) {
updateTaskState(ex, taskConfig); log.error(ex.getMessage(), ex);
updateTaskState(ex.getMessage(), taskConfig);
}
if (StateEnum.FAIL.equals(taskConfig.getState())) {
updateTaskState(taskConfig);
} }
} }
@Override @Override
public void get(PeriodTime periodTime, TaskConfig taskConfig) { public void get(PeriodTime periodTime, TaskConfig taskConfig) {
//考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。 //考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。
@ -78,15 +91,19 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
} }
} }
private void updateTaskState(Exception ex, TaskConfig taskConfig) { private void updateTaskState(TaskConfig taskConfig) {
taskConfig.setState(StateEnum.OK);
taskConfigService.updateById(taskConfig);
}
private void updateTaskState(String message, TaskConfig taskConfig) {
taskConfig.setState(StateEnum.FAIL); taskConfig.setState(StateEnum.FAIL);
String message = ex.getMessage(); taskConfig.setLastErrorMsg(message.length() > 1000 ? message.substring(0, 1000) : message);
taskConfig.setErrorMsg(message.length() > 500 ? message.substring(0, 500) : message); taskConfigService.updateById(taskConfig);
taskConfigService.updateByTaskId(taskConfig);
} }
private TaskConfig getTaskConfig(String taskConfigId) { private TaskConfig getTaskConfig(String taskConfigId) {
return taskConfigService.getTaskConfig(taskConfigId); return taskConfigService.getById(taskConfigId);
} }
protected String getJobParam() { protected String getJobParam() {

@ -1,15 +1,14 @@
package com.docus.server.collect.web.service; package com.docus.server.collect.web.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.collect.web.domain.TaskConfig; import com.docus.server.collect.web.domain.TaskConfig;
import java.util.Date; import java.util.Date;
public interface ITaskConfigService { public interface ITaskConfigService extends IService<TaskConfig> {
void updateAllPointerDate(String id, Date date); void updateAllPointerDate(String id, Date date);
void updateIncPointerDate(String id, Date date); void updateIncPointerDate(String id, Date date);
TaskConfig getTaskConfig(String id);
void updateByTaskId(TaskConfig taskConfig);
} }

@ -27,16 +27,4 @@ public class TaskConfigServiceImpl extends ServiceImpl<TaskConfigMapper, TaskCon
super.updateById(taskConfig); super.updateById(taskConfig);
} }
@Override
public TaskConfig getTaskConfig(String id) {
return super.getById(id);
}
@Transactional
@Override
public void updateByTaskId(TaskConfig taskConfig) {
super.updateById(taskConfig);
}
} }

@ -1,10 +1,12 @@
package com.docus.server.record.service; package com.docus.server.record.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.record.pojo.dto.TBasicDTO; import com.docus.server.record.pojo.dto.TBasicDTO;
import com.docus.server.record.pojo.entity.TBasic;
import java.util.List; import java.util.List;
public interface ITBasicService { public interface ITBasicService extends IService<TBasic> {
/** /**
* *

@ -40,7 +40,7 @@ public class UserDTO {
*/ */
private String authorId; private String authorId;
// ---------------------- base info ---------------------- // ---------------------- xml info ----------------------
/** /**
* id- * id-
*/ */

@ -1,10 +1,12 @@
package com.docus.server.sys.service; package com.docus.server.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.docus.server.sys.common.pojo.dto.DeptDTO;
import com.docus.server.sys.common.pojo.entity.PowerDept;
import java.util.List; import java.util.List;
public interface IPowerDeptService { public interface IPowerDeptService extends IService<PowerDept> {
/** /**
* *

@ -1,13 +1,15 @@
package com.docus.server.sys.service; package com.docus.server.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.sys.common.pojo.dto.UserDTO; import com.docus.server.sys.common.pojo.dto.UserDTO;
import com.docus.server.sys.common.pojo.entity.PowerUser;
import java.util.List; import java.util.List;
/** /**
* *
*/ */
public interface IPowerUserService { public interface IPowerUserService extends IService<PowerUser> {
/** /**
* *
* *

@ -15,7 +15,7 @@ import java.util.List;
@Component @Component
@AllArgsConstructor @AllArgsConstructor
public class HisService implements IHisService { public class HisServiceImpl implements IHisService {
private final HisDeptMapper hisDeptMapper; private final HisDeptMapper hisDeptMapper;
private final HisUserMapper hisUserMapper; private final HisUserMapper hisUserMapper;

@ -5,9 +5,9 @@
<mapper namespace="com.docus.server.his.infrastructure.mapper.HisDeptMapper"> <mapper namespace="com.docus.server.his.infrastructure.mapper.HisDeptMapper">
<select id="getDeptListView" resultType="com.docus.server.sys.common.pojo.dto.DeptDTO"> <select id="getDeptListView" resultType="com.docus.server.sys.common.pojo.dto.DeptDTO">
SELECT `update_time` as update_time ,`dept_code` as dept_code,`dept_name` as dept_name FROM `his_dept` SELECT `update_date` as update_time ,`dept_code` as dept_code,`dept_name` as dept_name FROM `his_dept`
WHERE update_time between #{startDate} and #{endDate} WHERE update_date between #{startDate} and #{endDate}
order by update_time asc order by update_date asc
LIMIT #{offset}, #{pageSize} LIMIT #{offset}, #{pageSize}
</select> </select>

Loading…
Cancel
Save