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

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

@ -13,78 +13,78 @@ 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: root
password: root
username: docus
password: docus702
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
password: root@123456
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
password: root@123456
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
password: root@123456
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
password: root@123456
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
password: root@123456
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
password: root@123456
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/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
password: root@123456
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
password: root@123456
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
password: root@123456
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
password: root@123456
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource
# rabbitmq:
@ -94,7 +94,7 @@ spring:
# password: guest
redis:
host: redis.docus.cn
# password: JSdocus@702
password: JSdocus@702
cloud:
nacos:
discovery:
@ -109,6 +109,9 @@ spring:
docus:
dbtype: mysql
user:
# 用户默认密码
defpwd: fd29cd53ec12616e5f36b77d4afffbff
mybatis-plus:
configuration:
@ -137,14 +140,6 @@ xxl:
logretentiondays: 30
logpath: D:/xxl-job/inspection
api:
soft-delete-column-name=state
soft-delete-column-value=1
logging:
level:
com:
baomidou:
mybatisplus: DEBUG
#
#ibm:
# mq:

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

@ -65,9 +65,9 @@ public class TaskConfig {
private StateEnum state = StateEnum.OK;
/**
*
*
*/
private String errorMsg;
private String lastErrorMsg;
public List<PeriodTime> getAllPeriodTimes() {
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.IPowerUserService;
import com.xxl.job.core.context.XxlJobHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Slf4j
public abstract class AbstractCollectJob<T> implements IJob<T> {
@Resource
protected IPowerUserService userService;
@ -37,14 +39,19 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
taskConfigService.updateAllPointerDate(taskConfigId, periodTime.getPeriodEndDate());
}
} catch (Exception ex) {
updateTaskState(ex, taskConfig);
log.error(ex.getMessage(), ex);
updateTaskState(ex.getMessage(), taskConfig);
}
if (StateEnum.FAIL.equals(taskConfig.getState())) {
updateTaskState(taskConfig);
}
}
@Override
public void startCollectIncrement(String taskConfigId) {
TaskConfig taskConfig = taskConfigService.getTaskConfig(taskConfigId);
TaskConfig taskConfig = getTaskConfig(taskConfigId);
try {
List<PeriodTime> periodTimes = taskConfig.getIncPeriodTimes();
@ -54,10 +61,16 @@ public abstract class AbstractCollectJob<T> implements IJob<T> {
});
} catch (Exception ex) {
updateTaskState(ex, taskConfig);
log.error(ex.getMessage(), ex);
updateTaskState(ex.getMessage(), taskConfig);
}
if (StateEnum.FAIL.equals(taskConfig.getState())) {
updateTaskState(taskConfig);
}
}
@Override
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);
String message = ex.getMessage();
taskConfig.setErrorMsg(message.length() > 500 ? message.substring(0, 500) : message);
taskConfigService.updateByTaskId(taskConfig);
taskConfig.setLastErrorMsg(message.length() > 1000 ? message.substring(0, 1000) : message);
taskConfigService.updateById(taskConfig);
}
private TaskConfig getTaskConfig(String taskConfigId) {
return taskConfigService.getTaskConfig(taskConfigId);
return taskConfigService.getById(taskConfigId);
}
protected String getJobParam() {

@ -1,15 +1,14 @@
package com.docus.server.collect.web.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.collect.web.domain.TaskConfig;
import java.util.Date;
public interface ITaskConfigService {
public interface ITaskConfigService extends IService<TaskConfig> {
void updateAllPointerDate(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);
}
@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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.server.record.pojo.dto.TBasicDTO;
import com.docus.server.record.pojo.entity.TBasic;
import java.util.List;
public interface ITBasicService {
public interface ITBasicService extends IService<TBasic> {
/**
*

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

@ -1,10 +1,12 @@
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.entity.PowerDept;
import java.util.List;
public interface IPowerDeptService {
public interface IPowerDeptService extends IService<PowerDept> {
/**
*

@ -1,13 +1,15 @@
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.entity.PowerUser;
import java.util.List;
/**
*
*/
public interface IPowerUserService {
public interface IPowerUserService extends IService<PowerUser> {
/**
*
*

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

@ -5,9 +5,9 @@
<mapper namespace="com.docus.server.his.infrastructure.mapper.HisDeptMapper">
<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`
WHERE update_time between #{startDate} and #{endDate}
order by update_time asc
SELECT `update_date` as update_time ,`dept_code` as dept_code,`dept_name` as dept_name FROM `his_dept`
WHERE update_date between #{startDate} and #{endDate}
order by update_date asc
LIMIT #{offset}, #{pageSize}
</select>

Loading…
Cancel
Save