1747191978@qq.com 4 months ago
parent
commit
d5bc58c8e1
  1. 19
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java
  2. 13
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java
  3. 150
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/TaskController.java
  4. 4
      acupuncture-generator/src/main/resources/mbg.xml
  5. 4
      acupuncture-system/pom.xml
  6. 2
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/FmsFollowupVo.java
  7. 121
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java
  8. 33
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/UmsDataSourceVo.java
  9. 20
      acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/UmsDataSourceDao.java
  10. 5
      acupuncture-system/src/main/java/com/acupuncture/system/service/FmsFollowupService.java
  11. 13
      acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java
  12. 15
      acupuncture-system/src/main/java/com/acupuncture/system/service/TaskService.java
  13. 2
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java
  14. 30
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java
  15. 12
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java
  16. 120
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/TaskServiceImpl.java
  17. 2
      acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml
  18. 28
      acupuncture-system/src/main/resources/mapper/dao/UmsDataSourceDao.xml

19
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/FmsFollowupController.java

@ -1,17 +1,29 @@
package com.acupuncture.web.controller.web;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.common.annotation.Anonymous;
import com.acupuncture.common.core.domain.BaseDto;
import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder;
import com.acupuncture.system.domain.dto.FmsFollowupDto;
import com.acupuncture.system.domain.po.FmsFollowupTask;
import com.acupuncture.system.domain.vo.FmsFollowupVo;
import com.acupuncture.system.domain.vo.UmsDataSourceVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.dao.UmsDataSourceDao;
import com.acupuncture.system.persist.mapper.FmsFollowupTaskMapper;
import com.acupuncture.system.service.FmsFollowupQueueService;
import com.acupuncture.system.service.FmsFollowupService;
import com.acupuncture.system.service.TaskService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.quartz.TriggerUtils;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -19,6 +31,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
@ -36,6 +51,10 @@ public class FmsFollowupController {
private FmsFollowupQueueService fmsFollowupQueueService;
@Resource
private FmsFollowupService fmsFollowupService;
@Resource
private TaskService taskService;
@Resource
private UmsDataSourceDao umsDataSourceDao;
@ApiOperation("查询公共队列")
@PostMapping("/commonQueue")

13
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/StatisticsController.java

@ -0,0 +1,13 @@
package com.acupuncture.web.controller.web;
/**
* @Author zzc
* @Package com.acupuncture.web.controller.web
* @Date 2025/2/13 8:58
* @description:
*/
public class StatisticsController {
}

150
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/TaskController.java

@ -0,0 +1,150 @@
package com.acupuncture.web.controller.web;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder;
import com.acupuncture.system.domain.po.FmsFollowupTask;
import com.acupuncture.system.domain.vo.FmsFollowupVo;
import com.acupuncture.system.domain.vo.UmsDataSourceVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.dao.UmsDataSourceDao;
import com.acupuncture.system.persist.mapper.FmsFollowupTaskMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.quartz.TriggerUtils;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @Author zzc
* @Package com.acupuncture.web.controller.web
* @Date 2025/2/13 8:50
* @description:
*/
@Slf4j
@Api(tags = "定时任务相关")
@RestController
@RequestMapping("/task")
public class TaskController {
@Resource
private FmsFollowupDao fmsFollowupDao;
@Resource
private FmsFollowupTaskMapper fmsFollowupTaskMapper;
@Resource
private UmsDataSourceDao umsDataSourceDao;
@ApiOperation("定时任务添加随访工单")
@PostMapping("/task")
public void task() {
//查询租户,根据租户循环切换数据源,定时处理所有医院的随访工单
List<UmsDataSourceVo.Result> query = umsDataSourceDao.query();
if (CollectionUtil.isEmpty(query)) {
return;
}
//切换数据源
for (UmsDataSourceVo.Result result : query) {
changeDataSource(result);
{
//获取随访患者列表,根据患者出院日时间和队列添加工单
//1. 查询队列
List<FmsFollowupVo.FollowupQueueVO> queueList = fmsFollowupDao.selectQueueList(null);
//查询公共队列
changeDataSource(result);
List<FmsFollowupVo.FollowupQueueVO> queueResults = fmsFollowupDao.queryCommonQueue(null);
if (CollectionUtil.isEmpty(queueList)) {
queueList = queueResults;
} else {
queueList.addAll(queueResults);
}
for (FmsFollowupVo.FollowupQueueVO followupQueueVO : queueList) {
//2. 查询队列随访患者列表
changeDataSource(result);
List<FmsFollowupVo.FollowupPatient> patientList = fmsFollowupDao.queryPatient(followupQueueVO.getId());
if (CollectionUtil.isEmpty(patientList)) {
continue;
}
//随访总月数
Integer followupMethod = followupQueueVO.getFollowupMethod();
for (FmsFollowupVo.FollowupPatient followupPatient : patientList) {
//获取随访到期时间 出院时间+随访总月数 = 到期时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(followupPatient.getDischargeTime());
calendar.set(Calendar.MONTH, followupMethod);
Date time = calendar.getTime();
//获取队列信息
String frequency = followupQueueVO.getFrequency();
List<Date> dateList = new ArrayList<>();
try {
CronTriggerImpl cronTrigger = new CronTriggerImpl();
cronTrigger.setCronExpression(frequency);
//TriggerUtils.computeFireTimesBetween(要计算触发时间的触发器对象, 用于计算触发时间的日历对象, 计算触发时间的起始时间点, 计算触发时间的结束时间点);
dateList = TriggerUtils.computeFireTimesBetween(cronTrigger, null, followupPatient.getDischargeTime(), time);
if (CollectionUtil.isEmpty(dateList)) {
continue;
}
} catch (Exception e) {
e.printStackTrace();
}
//3. 判断随访类型
if (followupQueueVO.getFollowupType() == 0) {
//单次
FmsFollowupTask fmsFollowupTask = new FmsFollowupTask();
BeanUtil.copyProperties(followupQueueVO, fmsFollowupTask);
fmsFollowupTask.setId(IdUtil.getSnowflakeNextId());
fmsFollowupTask.setQueueId(followupQueueVO.getId());
fmsFollowupTask.setPatientId(followupPatient.getId());
fmsFollowupTask.setDelFlag((byte) 0);
fmsFollowupTask.setCreateTime(new Date());
fmsFollowupTask.setStatus((byte) 0);
fmsFollowupTask.setStartTime(dateList.get(0));
fmsFollowupTask.setEndTime(dateList.get(0));
fmsFollowupTask.setFollowuper(followupQueueVO.getPersonInCharge());
fmsFollowupTask.setFollowupTime(dateList.get(0));
changeDataSource(result);
fmsFollowupTaskMapper.insertSelective(fmsFollowupTask);
} else {
//周期
//4. 根据频次和总月数添加
for (Date date : dateList) {
//单次
FmsFollowupTask fmsFollowupTask = new FmsFollowupTask();
BeanUtil.copyProperties(followupQueueVO, fmsFollowupTask);
fmsFollowupTask.setId(IdUtil.getSnowflakeNextId());
fmsFollowupTask.setQueueId(followupQueueVO.getId());
fmsFollowupTask.setDelFlag((byte) 0);
fmsFollowupTask.setCreateTime(new Date());
fmsFollowupTask.setStatus((byte) 0);
fmsFollowupTask.setStartTime(date);
fmsFollowupTask.setEndTime(date);
fmsFollowupTask.setFollowuper(followupQueueVO.getPersonInCharge());
fmsFollowupTask.setFollowupTime(date);
changeDataSource(result);
fmsFollowupTask.setPatientId(followupPatient.getId());
fmsFollowupTaskMapper.insertSelective(fmsFollowupTask);
}
}
}
}
}
}
}
private static void changeDataSource(UmsDataSourceVo.Result result) {
DynamicDataSourceContextHolder.setDataSourceType(result.getDataSourceKey());
}
}

4
acupuncture-generator/src/main/resources/mbg.xml

@ -20,9 +20,9 @@
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/acupuncture?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;tinyInt1isBit=false"
connectionURL="jdbc:mysql://sd.tall.wiki:3306/acupuncture?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;tinyInt1isBit=false"
userId="root"
password="q7510327">
password="po3OynBO[M3579p6L7)o">
<!--仅仅查询当前库的表,不查询其他库-->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>

4
acupuncture-system/pom.xml

@ -43,6 +43,10 @@
<version>1.6.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
</dependencies>
</project>

2
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/FmsFollowupVo.java

@ -105,6 +105,8 @@ public class FmsFollowupVo {
private Long tenantId;
private Date dischargeTime;
private String createBy;
private Date createTime;

121
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/StatisticsVo.java

@ -0,0 +1,121 @@
package com.acupuncture.system.domain.vo;
import com.acupuncture.common.annotation.DataSource;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author zzc
* @Package com.acupuncture.system.domain.vo
* @Date 2025/2/13 8:59
* @description:
*/
public class StatisticsVo {
@Data
@ApiModel("患者统计")
public static class PatientVo {
private Integer totalPatients;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date date;
private GenderVo gender;
private AgeVo age;
private JwbzVo jwbz;
@Data
public static class GenderVo {
@ApiModelProperty("男患者人数")
private Integer male;
@ApiModelProperty("女患者人数")
private Integer female;
@ApiModelProperty("未知患者人数")
private Integer other;
}
@Data
public static class AgeVo {
private Integer num1;
private Integer num2;
private Integer num3;
private Integer num4;
private Integer num5;
private Integer num6;
}
@Data
public static class JwbzVo {
private Integer gxy;
private Integer nxgb;
private Integer exzl;
private Integer gxb;
private Integer jsjb;
private Integer whsezcky;
private Integer fpz;
private Integer gzssz;
private Integer ycxXtxjb;
private Integer tnb;
private Integer mxfxjb;
private Integer gzxz;
private Integer gzjb;
private Integer gmxjb;
private Integer gjy;
private Integer tf;
private Integer sySb;
private Integer other;
}
}
@Data
@ApiModel("诊疗信息")
public static class TreamentVo {
private List<SortVo> sort;
private TxfbVo txfb;
@Data
@ApiModel("排名信息")
public static class SortVo {
private Integer total;
private Integer sort;
private Integer type;
}
@Data
@ApiModel("体型分布")
public static class TxfbVo {
@ApiModelProperty("")
private Integer total;
@ApiModelProperty("")
private Integer date;
@ApiModelProperty("隐形肥胖型")
private Integer yxfpz;
@ApiModelProperty("脂肪过多型")
private Integer zfgdx;
@ApiModelProperty("肥胖型")
private Integer fpx;
@ApiModelProperty("肌肉不足型")
private Integer jrbzx;
@ApiModelProperty("健康匀称型")
private Integer jkjcx;
@ApiModelProperty("超重肌肉型")
private Integer czjrx;
@ApiModelProperty("消瘦型")
private Integer xsx;
@ApiModelProperty("低脂肪型")
private Integer dzfx;
@ApiModelProperty("运动员型")
private Integer ydyx;
}
}
}

33
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/UmsDataSourceVo.java

@ -0,0 +1,33 @@
package com.acupuncture.system.domain.vo;
import com.acupuncture.system.domain.po.UmsDataSource;
import lombok.Data;
/**
* @Author zzc
* @Package com.acupuncture.system.domain.vo
* @Date 2025/2/12 18:02
* @description:
*/
public class UmsDataSourceVo {
@Data
public static class Result {
private Long id;
private String dataSourceKey;
private Long hospitalId;
private String url;
private String username;
private String password;
private Long tenantId;
private String tenantName;
}
}

20
acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/UmsDataSourceDao.java

@ -0,0 +1,20 @@
package com.acupuncture.system.persist.dao;
import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.system.domain.vo.UmsDataSourceVo;
import java.util.List;
/**
* @Author zzc
* @Package com.acupuncture.system.persist.dao
* @Date 2025/2/12 18:02
* @description:
*/
public interface UmsDataSourceDao {
@DataSource(DataSourceType.MASTER)
List<UmsDataSourceVo.Result> query();
}

5
acupuncture-system/src/main/java/com/acupuncture/system/service/FmsFollowupService.java

@ -45,9 +45,6 @@ public interface FmsFollowupService {
*/
void completeFollowup(FmsFollowupDto.FollowupCompleteDTO dto);
/**
* 定时任务添加随访工单
*/
void task();
}

13
acupuncture-system/src/main/java/com/acupuncture/system/service/StatisticsService.java

@ -0,0 +1,13 @@
package com.acupuncture.system.service;
/**
* @Author zzc
* @Package com.acupuncture.system.service
* @Date 2025/2/13 8:58
* @description:
*/
public interface StatisticsService {
}

15
acupuncture-system/src/main/java/com/acupuncture/system/service/TaskService.java

@ -0,0 +1,15 @@
package com.acupuncture.system.service;
/**
* @Author zzc
* @Package com.acupuncture.system.service
* @Date 2025/2/12 17:58
* @description:
*/
public interface TaskService {
/**
* 定时任务添加随访工单
*/
void task();
}

2
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java

@ -30,6 +30,8 @@ public class DmsLoginServiceImpl implements DmsLoginService {
@Resource
private UmsDataSourceMapper umsDataSourceMapper;
@Override
public DmsLoginUserVo.DataScoreVo selectUserByUserName(String userName) {
return dmsUserDao.queryLoginUserDataScore(userName);

30
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java

@ -1,13 +1,24 @@
package com.acupuncture.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.system.domain.dto.FmsFollowupDto;
import com.acupuncture.system.domain.po.FmsFollowupTask;
import com.acupuncture.system.domain.po.FmsPatientQueueRelation;
import com.acupuncture.system.domain.vo.FmsFollowupVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.mapper.FmsFollowupTaskMapper;
import com.acupuncture.system.service.FmsFollowupService;
import org.quartz.TriggerUtils;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.scheduling.support.CronExpression;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
@ -22,7 +33,6 @@ public class FmsFollowupServiceImpl implements FmsFollowupService {
@Resource
private FmsFollowupDao fmsFollowupDao;
@Override
public List<FmsFollowupVo.FollowupQueueVO> queryQueue(FmsFollowupDto.FollowupQueueQueryDTO dto) {
return fmsFollowupDao.selectQueueList(dto.getId());
@ -47,22 +57,4 @@ public class FmsFollowupServiceImpl implements FmsFollowupService {
public void completeFollowup(FmsFollowupDto.FollowupCompleteDTO dto) {
fmsFollowupDao.completeFollowup(dto);
}
@Override
public void task() {
//获取随访患者列表,根据患者出院日时间和队列添加工单
//1. 查询队列
List<FmsFollowupVo.FollowupQueueVO> queueList = fmsFollowupDao.selectQueueList(null);
if (CollectionUtil.isEmpty(queueList)) {
//查询公共队列
List<FmsFollowupVo.FollowupQueueVO> queueResults = fmsFollowupDao.queryCommonQueue(null);
}
//2. 查询队列随访患者列表
List<FmsFollowupVo.FollowupPatient> patientList = fmsFollowupDao.queryPatient(null);
//3. 判断随访类型
//4. 根据频次和总月数添加
}
}

12
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/StatisticsServiceImpl.java

@ -0,0 +1,12 @@
package com.acupuncture.system.service.impl;
import com.acupuncture.system.service.StatisticsService;
/**
* @Author zzc
* @Package com.acupuncture.system.service
* @Date 2025/2/13 8:58
* @description:
*/
public class StatisticsServiceImpl implements StatisticsService {
}

120
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/TaskServiceImpl.java

@ -0,0 +1,120 @@
package com.acupuncture.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.system.domain.po.FmsFollowupTask;
import com.acupuncture.system.domain.vo.FmsFollowupVo;
import com.acupuncture.system.domain.vo.UmsDataSourceVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.dao.UmsDataSourceDao;
import com.acupuncture.system.persist.mapper.FmsFollowupTaskMapper;
import com.acupuncture.system.service.TaskService;
import org.quartz.TriggerUtils;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @Author zzc
* @Package com.acupuncture.system.service.impl
* @Date 2025/2/12 17:58
* @description:
*/
@Service
public class TaskServiceImpl implements TaskService {
@Resource
private FmsFollowupDao fmsFollowupDao;
@Resource
private FmsFollowupTaskMapper fmsFollowupTaskMapper;
@Resource
private UmsDataSourceDao umsDataSourceDao;
@Override
public void task() {
//获取随访患者列表,根据患者出院日时间和队列添加工单
//1. 查询队列
List<FmsFollowupVo.FollowupQueueVO> queueList = fmsFollowupDao.selectQueueList(null);
//查询公共队列
List<FmsFollowupVo.FollowupQueueVO> queueResults = fmsFollowupDao.queryCommonQueue(null);
if (CollectionUtil.isEmpty(queueList)) {
queueList = queueResults;
} else {
queueList.addAll(queueResults);
}
for (FmsFollowupVo.FollowupQueueVO followupQueueVO : queueList) {
//2. 查询队列随访患者列表
List<FmsFollowupVo.FollowupPatient> patientList = fmsFollowupDao.queryPatient(followupQueueVO.getId());
if (CollectionUtil.isEmpty(patientList)) {
continue;
}
//随访总月数
Integer followupMethod = followupQueueVO.getFollowupMethod();
for (FmsFollowupVo.FollowupPatient followupPatient : patientList) {
//获取随访到期时间 出院时间+随访总月数 = 到期时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(followupPatient.getDischargeTime());
calendar.set(Calendar.MONTH, followupMethod);
Date time = calendar.getTime();
//获取队列信息
String frequency = followupQueueVO.getFrequency();
List<Date> dateList = new ArrayList<>();
try {
CronTriggerImpl cronTrigger = new CronTriggerImpl();
cronTrigger.setCronExpression(frequency);
//TriggerUtils.computeFireTimesBetween(要计算触发时间的触发器对象, 用于计算触发时间的日历对象, 计算触发时间的起始时间点, 计算触发时间的结束时间点);
dateList = TriggerUtils.computeFireTimesBetween(cronTrigger, null, followupPatient.getDischargeTime(), time);
if (CollectionUtil.isEmpty(dateList)) {
continue;
}
} catch (Exception e) {
e.printStackTrace();
}
//3. 判断随访类型
if (followupQueueVO.getFollowupType() == 0) {
//单次
FmsFollowupTask fmsFollowupTask = new FmsFollowupTask();
BeanUtil.copyProperties(followupQueueVO, fmsFollowupTask);
fmsFollowupTask.setId(IdUtil.getSnowflakeNextId());
fmsFollowupTask.setQueueId(followupQueueVO.getId());
fmsFollowupTask.setDelFlag((byte) 0);
fmsFollowupTask.setCreateTime(new Date());
fmsFollowupTask.setStatus((byte) 0);
fmsFollowupTask.setStartTime(dateList.get(0));
fmsFollowupTask.setEndTime(dateList.get(0));
fmsFollowupTask.setFollowuper(followupQueueVO.getPersonInCharge());
fmsFollowupTask.setFollowupTime(dateList.get(0));
fmsFollowupTaskMapper.insertSelective(fmsFollowupTask);
} else {
//周期
//4. 根据频次和总月数添加
for (Date date : dateList) {
//单次
FmsFollowupTask fmsFollowupTask = new FmsFollowupTask();
BeanUtil.copyProperties(followupQueueVO, fmsFollowupTask);
fmsFollowupTask.setId(IdUtil.getSnowflakeNextId());
fmsFollowupTask.setQueueId(followupQueueVO.getId());
fmsFollowupTask.setDelFlag((byte) 0);
fmsFollowupTask.setCreateTime(new Date());
fmsFollowupTask.setStatus((byte) 0);
fmsFollowupTask.setStartTime(date);
fmsFollowupTask.setEndTime(date);
fmsFollowupTask.setFollowuper(followupQueueVO.getPersonInCharge());
fmsFollowupTask.setFollowupTime(date);
fmsFollowupTaskMapper.insertSelective(fmsFollowupTask);
}
}
}
}
}
}

2
acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml

@ -43,6 +43,7 @@
<select id="queryPatient" resultType="com.acupuncture.system.domain.vo.FmsFollowupVo$FollowupPatient">
select
patient_id as id,
queue_id as queueId,
name,
pinyin_full as pinyinFull,
@ -52,6 +53,7 @@
ethnicity,
education_years as educationYears,
phone,
discharge_time as dischargeTime,
id_card_type as idCardType,
id_card as idCard,
tenant_id as tenantId,

28
acupuncture-system/src/main/resources/mapper/dao/UmsDataSourceDao.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.acupuncture.system.persist.dao.UmsDataSourceDao">
<select id="query" resultType="com.acupuncture.system.domain.vo.UmsDataSourceVo$Result">
select
t.id as tenantId,
t.name,
s.id,
s.data_source_key as dataSourceKey,
s.hospital_id as hospitalId,
s.url,
s.username,
s.password
from
dms_tenant t
left join
ums_data_source s
on t.data_source_id = s.id
where
t.del_flag = 0
and
s.del_flag = 0
group by
t.id
</select>
</mapper>
Loading…
Cancel
Save