Merge branch '3.11_院后第二增量' of http://182.92.166.109:3000/jihan/PostDischargePatientManage into 3.11_院后第二增量
Conflicts: postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java postdischarge-manage/src/main/java/com/xinelu/manage/domain/patientinfo/PatientInfo.java postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml
This commit is contained in:
commit
659cc4501e
@ -6,6 +6,7 @@ import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.utils.StringUtils;
|
||||
import com.xinelu.common.utils.file.FileUploadUtils;
|
||||
import com.xinelu.common.utils.file.FileUtils;
|
||||
import com.xinelu.common.utils.file.MimeTypeUtils;
|
||||
import com.xinelu.framework.config.ServerConfig;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -37,6 +38,9 @@ public class CommonController {
|
||||
|
||||
private static final String FILE_DELIMETER = ",";
|
||||
|
||||
@Resource
|
||||
private SystemBusinessConfig systemBusinessConfig;
|
||||
|
||||
/**
|
||||
* 通用下载请求
|
||||
*
|
||||
@ -140,4 +144,23 @@ public class CommonController {
|
||||
log.error("下载文件失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通用管理端富文本上传请求(单个)
|
||||
*/
|
||||
@PostMapping("/richTextPictureUrl")
|
||||
public AjaxResult richTextPictureUrl(MultipartFile file) throws Exception {
|
||||
// 上传文件路径
|
||||
String filePath = SystemBusinessConfig.getProfile() + systemBusinessConfig.getRichTextPictureUrl();
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, file, MimeTypeUtils.IMAGE_EXTENSION);
|
||||
//拼接路径
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax.put("url", url);
|
||||
ajax.put("fileName", fileName);
|
||||
ajax.put("newFileName", FileUtils.getName(fileName));
|
||||
ajax.put("originalFilename", file.getOriginalFilename());
|
||||
return ajax;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,6 +24,8 @@ xinelu:
|
||||
captchaType: math
|
||||
# 话术图片路径图片上传
|
||||
script-file-url: /scriptFileUrl
|
||||
# 获取管理端富文本的上传路径
|
||||
rich-text-picture-url: /richTextPictureUrl
|
||||
|
||||
# 开发环境配置
|
||||
server:
|
||||
@ -179,6 +181,6 @@ xss:
|
||||
# 过滤开关
|
||||
enabled: true
|
||||
# 排除链接(多个用逗号分隔)
|
||||
excludes: /system/notice
|
||||
excludes: /system/notice,/system/specialDiseaseNode/add,/system/specialDiseaseNode/edit
|
||||
# 匹配链接
|
||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||
|
||||
@ -71,6 +71,11 @@ public class SystemBusinessConfig {
|
||||
*/
|
||||
private String scriptFileUrl;
|
||||
|
||||
/**
|
||||
* 获取管理端富文本的上传路径
|
||||
*/
|
||||
private String richTextPictureUrl;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@ -193,4 +198,12 @@ public class SystemBusinessConfig {
|
||||
public void setMaterialsVideoUrl(String materialsVideoUrl) {
|
||||
this.materialsVideoUrl = materialsVideoUrl;
|
||||
}
|
||||
|
||||
public String getRichTextPictureUrl() {
|
||||
return richTextPictureUrl;
|
||||
}
|
||||
|
||||
public void setRichTextPictureUrl(String richTextPictureUrl) {
|
||||
this.richTextPictureUrl = richTextPictureUrl;
|
||||
}
|
||||
}
|
||||
|
||||
@ -194,25 +194,25 @@ public class Constants {
|
||||
*/
|
||||
public static final String TASK_STATUS_CODE = "TSC";
|
||||
|
||||
/**
|
||||
* 门诊患者
|
||||
*/
|
||||
public static final String OUTPATIENT = "outpatient";
|
||||
/**
|
||||
* 门诊患者
|
||||
*/
|
||||
public static final String OUTPATIENT = "outpatient";
|
||||
|
||||
/**
|
||||
* 预住院
|
||||
*/
|
||||
public static final String PRE_HOSPITALIZED = "prehospitalized";
|
||||
/**
|
||||
* 预住院
|
||||
*/
|
||||
public static final String PRE_HOSPITALIZED = "prehospitalized";
|
||||
|
||||
/**
|
||||
* 在院
|
||||
*/
|
||||
public static final String IN_HOSPITAL = "inhospital";
|
||||
/**
|
||||
* 在院
|
||||
*/
|
||||
public static final String IN_HOSPITAL = "inhospital";
|
||||
|
||||
/**
|
||||
* 出院
|
||||
*/
|
||||
public static final String DISCHARGED = "discharged";
|
||||
/**
|
||||
* 出院
|
||||
*/
|
||||
public static final String DISCHARGED = "discharged";
|
||||
|
||||
/**
|
||||
* 字段信息编码前缀
|
||||
|
||||
@ -146,6 +146,9 @@ public class AgencyController extends BaseController {
|
||||
return agencyService.insertAgencyImportList(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 医院园区科室病区联动查询
|
||||
*/
|
||||
@GetMapping("/getAgencyList")
|
||||
public AjaxResult getAgencyList(HospitalDTO hospitalDTO) {
|
||||
return agencyService.getAgencyList(hospitalDTO);
|
||||
|
||||
@ -51,6 +51,14 @@ public class LabelFieldInfoController extends BaseController {
|
||||
return AjaxResult.success(labelFieldInfoService.selectLabelFieldInfoList(labelFieldInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询标签字段信息列表树图
|
||||
*/
|
||||
@GetMapping("/labelFieldList")
|
||||
public AjaxResult labelFieldList(String fieldType) {
|
||||
return AjaxResult.success(labelFieldInfoService.labelFieldList(fieldType));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出标签字段信息列表
|
||||
*/
|
||||
|
||||
@ -7,19 +7,16 @@ import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.enums.BusinessType;
|
||||
import com.xinelu.common.utils.poi.ExcelUtil;
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
|
||||
import java.util.List;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 签约患者管理任务路径Controller
|
||||
@ -33,11 +30,11 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
@Resource
|
||||
private ISignPatientManageRouteService signPatientManageRouteService;
|
||||
|
||||
/**
|
||||
* 查询签约患者管理任务路径列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('manage:signroute:list')")
|
||||
@GetMapping("/list")
|
||||
/**
|
||||
* 查询签约患者管理任务路径列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('manage:signroute:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(SignPatientManageRoute signPatientManageRoute) {
|
||||
startPage();
|
||||
List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute);
|
||||
@ -52,7 +49,7 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, SignPatientManageRoute signPatientManageRoute) {
|
||||
List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute);
|
||||
ExcelUtil<SignPatientManageRoute> util = new ExcelUtil<SignPatientManageRoute>(SignPatientManageRoute. class);
|
||||
ExcelUtil<SignPatientManageRoute> util = new ExcelUtil<SignPatientManageRoute>(SignPatientManageRoute.class);
|
||||
util.exportExcel(response, list, "签约患者管理任务路径数据");
|
||||
}
|
||||
|
||||
@ -70,9 +67,9 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('manage:signroute:add')")
|
||||
@Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody SignPatientManageRoute signPatientManageRoute) {
|
||||
return toAjax(signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute));
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
|
||||
return signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -80,9 +77,9 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('manage:signroute:edit')")
|
||||
@Log(title = "签约患者管理任务路径", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody SignPatientManageRoute signPatientManageRoute) {
|
||||
return toAjax(signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute));
|
||||
@PutMapping("/edit")
|
||||
public AjaxResult edit(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
|
||||
return signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,5 +92,14 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
return toAjax(signPatientManageRouteService.deleteSignPatientManageRouteByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询人工随访代办列表
|
||||
*/
|
||||
@GetMapping("/manualFollowUpList")
|
||||
public TableDataInfo getManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO) {
|
||||
startPage();
|
||||
List<ManualFollowUpVO> list = signPatientManageRouteService.selectManualFollowUpList(manualFollowUpDTO);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -25,186 +25,261 @@ import lombok.NoArgsConstructor;
|
||||
@ApiModel(value = "患者信息对象", description = "patient_info")
|
||||
public class PatientInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键id */
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/** 居民信息表id */
|
||||
@ApiModelProperty(value = "居民信息表id")
|
||||
private Long residentId;
|
||||
/**
|
||||
* 居民信息表id
|
||||
*/
|
||||
@ApiModelProperty(value = "居民信息表id")
|
||||
private Long residentId;
|
||||
|
||||
/** 患者姓名 */
|
||||
/**
|
||||
* 患者姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
@Excel(name = "患者姓名")
|
||||
private String patientName;
|
||||
|
||||
/** 患者电话 */
|
||||
/**
|
||||
* 患者电话
|
||||
*/
|
||||
@ApiModelProperty(value = "患者电话")
|
||||
@Excel(name = "患者电话")
|
||||
private String patientPhone;
|
||||
|
||||
/** 家属电话 */
|
||||
/**
|
||||
* 家属电话
|
||||
*/
|
||||
@ApiModelProperty(value = "家属电话")
|
||||
private String familyMemberPhone;
|
||||
|
||||
/** 出生日期,格式:yyyy-MM-dd */
|
||||
/**
|
||||
* 出生日期,格式:yyyy-MM-dd
|
||||
*/
|
||||
@ApiModelProperty(value = "出生日期,格式:yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthDate;
|
||||
|
||||
/** 身份证号 */
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String cardNo;
|
||||
|
||||
/** 性别,男:MALE,女:FEMALE */
|
||||
/**
|
||||
* 性别,男:MALE,女:FEMALE
|
||||
*/
|
||||
@ApiModelProperty(value = "性别,男:MALE,女:FEMALE")
|
||||
@Excel(name = "性别,男:MALE,女:FEMALE")
|
||||
private String sex;
|
||||
|
||||
/** 住址 */
|
||||
/**
|
||||
* 住址
|
||||
*/
|
||||
@ApiModelProperty(value = "住址")
|
||||
@Excel(name = "住址")
|
||||
private String address;
|
||||
|
||||
/** 患者类型,预住院患者:PRE_HOSPITALIZED_PATIENT,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT,
|
||||
签约患者:CONTRACTED_PATIENT */
|
||||
/**
|
||||
* 患者类型,预住院患者:PRE_HOSPITALIZED_PATIENT,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT,
|
||||
* 签约患者:CONTRACTED_PATIENT
|
||||
*/
|
||||
@ApiModelProperty(value = "患者类型,预住院患者:PRE_HOSPITALIZED_PATIENT,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT,签约患者:CONTRACTED_PATIENT")
|
||||
private String patientType;
|
||||
|
||||
/**
|
||||
* 签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 服务到期:EXPIRE_SIGN
|
||||
*/
|
||||
@ApiModelProperty(value = "签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 过期:EXPIRE_SIGN")
|
||||
private String signStatus;
|
||||
/**
|
||||
* 签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 服务到期:EXPIRE_SIGN
|
||||
*/
|
||||
@ApiModelProperty(value = "签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 过期:EXPIRE_SIGN")
|
||||
private String signStatus;
|
||||
|
||||
@ApiModelProperty(value = "签约记录表id")
|
||||
private Long signPatientRecordId;
|
||||
@ApiModelProperty(value = "签约记录表id")
|
||||
private Long signPatientRecordId;
|
||||
|
||||
/**
|
||||
* 服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END
|
||||
*/
|
||||
@ApiModelProperty(value = "服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END")
|
||||
private String serviceStatus;
|
||||
/**
|
||||
* 服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END
|
||||
*/
|
||||
@ApiModelProperty(value = "服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END")
|
||||
private String serviceStatus;
|
||||
|
||||
/** 签约时间,格式:yyyy-MM-dd HH:mm:ss */
|
||||
/**
|
||||
* 签约时间,格式:yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@ApiModelProperty(value = "签约时间,格式:yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "签约时间,格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalDateTime signTime;
|
||||
|
||||
/** 就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL */
|
||||
/**
|
||||
* 就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL
|
||||
*/
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
@Excel(name = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
|
||||
/** 主治医生id */
|
||||
@ApiModelProperty(value = "主治医生id")
|
||||
@Excel(name = "主治医生id")
|
||||
private Long attendingPhysicianId;
|
||||
/**
|
||||
* 主治医生id
|
||||
*/
|
||||
@ApiModelProperty(value = "主治医生id")
|
||||
@Excel(name = "主治医生id")
|
||||
private Long attendingPhysicianId;
|
||||
|
||||
/** 主治医生姓名 */
|
||||
@ApiModelProperty(value = "主治医生姓名")
|
||||
@Excel(name = "主治医生姓名")
|
||||
private String attendingPhysicianName;
|
||||
/**
|
||||
* 主治医生姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "主治医生姓名")
|
||||
@Excel(name = "主治医生姓名")
|
||||
private String attendingPhysicianName;
|
||||
|
||||
/** 主要诊断 */
|
||||
/**
|
||||
* 主要诊断
|
||||
*/
|
||||
@ApiModelProperty(value = "主要诊断")
|
||||
private String mainDiagnosis;
|
||||
|
||||
/** 所属医院id */
|
||||
/**
|
||||
* 所属医院id
|
||||
*/
|
||||
@ApiModelProperty(value = "所属医院id")
|
||||
private Long hospitalAgencyId;
|
||||
|
||||
/** 所属医院名称 */
|
||||
/**
|
||||
* 所属医院名称
|
||||
*/
|
||||
@ApiModelProperty(value = "所属医院名称")
|
||||
@Excel(name = "所属医院名称")
|
||||
private String hospitalAgencyName;
|
||||
|
||||
/** 所属院区id */
|
||||
/**
|
||||
* 所属院区id
|
||||
*/
|
||||
@ApiModelProperty(value = "所属院区id")
|
||||
private Long campusAgencyId;
|
||||
|
||||
/** 所属院区名称 */
|
||||
/**
|
||||
* 所属院区名称
|
||||
*/
|
||||
@ApiModelProperty(value = "所属院区名称")
|
||||
@Excel(name = "所属院区名称")
|
||||
private String campusAgencyName;
|
||||
|
||||
/** 所属科室id */
|
||||
/**
|
||||
* 所属科室id
|
||||
*/
|
||||
@ApiModelProperty(value = "所属科室id")
|
||||
private Long departmentId;
|
||||
|
||||
/** 所属科室名称 */
|
||||
/**
|
||||
* 所属科室名称
|
||||
*/
|
||||
@ApiModelProperty(value = "所属科室名称")
|
||||
@Excel(name = "所属科室名称")
|
||||
private String departmentName;
|
||||
|
||||
/** 所属病区id */
|
||||
/**
|
||||
* 所属病区id
|
||||
*/
|
||||
@ApiModelProperty(value = "所属病区id")
|
||||
private Long wardId;
|
||||
|
||||
/** 所属病区名称 */
|
||||
/**
|
||||
* 所属病区名称
|
||||
*/
|
||||
@ApiModelProperty(value = "所属病区名称")
|
||||
@Excel(name = "所属病区名称")
|
||||
private String wardName;
|
||||
|
||||
/** 责任护士 */
|
||||
/**
|
||||
* 责任护士
|
||||
*/
|
||||
@ApiModelProperty(value = "责任护士")
|
||||
private String responsibleNurse;
|
||||
|
||||
/** 最新一条就诊记录id */
|
||||
@ApiModelProperty(value = "最新一条就诊记录id")
|
||||
private Long patientVisitRecordId;
|
||||
/**
|
||||
* 最新一条就诊记录id
|
||||
*/
|
||||
@ApiModelProperty(value = "最新一条就诊记录id")
|
||||
private Long patientVisitRecordId;
|
||||
|
||||
/** 就诊流水号 */
|
||||
/**
|
||||
* 就诊流水号
|
||||
*/
|
||||
@ApiModelProperty(value = "就诊流水号")
|
||||
private String visitSerialNumber;
|
||||
|
||||
/** 入院时间,时间格式:yyyy-MM-dd */
|
||||
/**
|
||||
* 入院时间,时间格式:yyyy-MM-dd
|
||||
*/
|
||||
@ApiModelProperty(value = "入院时间")
|
||||
private LocalDateTime admissionTime;
|
||||
|
||||
/** 出院时间(出院患者),时间格式:yyyy-MM-dd */
|
||||
/**
|
||||
* 出院时间(出院患者),时间格式:yyyy-MM-dd
|
||||
*/
|
||||
@ApiModelProperty(value = "出院时间(出院患者)")
|
||||
private LocalDateTime dischargeTime;
|
||||
|
||||
/** 预约治疗组(取值以及枚举未知?) */
|
||||
/**
|
||||
* 预约治疗组(取值以及枚举未知?)
|
||||
*/
|
||||
@ApiModelProperty(value = "预约治疗组(取值以及枚举未知?)")
|
||||
private String appointmentTreatmentGroup;
|
||||
|
||||
/** 登记号(预住院患者) */
|
||||
/**
|
||||
* 登记号(预住院患者)
|
||||
*/
|
||||
@ApiModelProperty(value = "登记号(预住院患者)")
|
||||
private String registrationNo;
|
||||
|
||||
/** 登记日期(预住院患者),时间格式:yyyy-MM-dd */
|
||||
/**
|
||||
* 登记日期(预住院患者),时间格式:yyyy-MM-dd
|
||||
*/
|
||||
@ApiModelProperty(value = "登记日期(预住院患者),时间格式:yyyy-MM-dd")
|
||||
private LocalDate registrationDate;
|
||||
|
||||
/** 预约时间(预住院患者),时间格式:yyyy-MM-dd */
|
||||
/**
|
||||
* 预约时间(预住院患者),时间格式:yyyy-MM-dd
|
||||
*/
|
||||
@ApiModelProperty(value = "预约时间(预住院患者),时间格式:yyyy-MM-dd")
|
||||
private LocalDate appointmentDate;
|
||||
|
||||
/** 门诊/住院号 */
|
||||
/**
|
||||
* 门诊/住院号
|
||||
*/
|
||||
@ApiModelProperty(value = "门诊/住院号 ")
|
||||
@Excel(name = "门诊/住院号 ", readConverterExp = "门诊/住院号 ")
|
||||
private String inHospitalNumber;
|
||||
|
||||
/** 就诊时间,格式:yyyy-MM-dd HH:mm:ss */
|
||||
@ApiModelProperty(value = "就诊时间,格式:yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "就诊时间,格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalDateTime visitDate;
|
||||
/**
|
||||
* 就诊时间,格式:yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@ApiModelProperty(value = "就诊时间,格式:yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "就诊时间,格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalDateTime visitDate;
|
||||
|
||||
/** 出院方式(出院患者) */
|
||||
/**
|
||||
* 出院方式(出院患者)
|
||||
*/
|
||||
@ApiModelProperty(value = "出院方式")
|
||||
@Excel(name = "出院方式", readConverterExp = "出=院患者")
|
||||
private String dischargeMethod;
|
||||
|
||||
/** 患者来源,微信小程序:WE_CHAT_APPLET,微信公众号:WE_CHAT_OFFICIAL_ACCOUNT,管理端:MANAGE_END */
|
||||
/**
|
||||
* 患者来源,微信小程序:WE_CHAT_APPLET,微信公众号:WE_CHAT_OFFICIAL_ACCOUNT,管理端:MANAGE_END
|
||||
*/
|
||||
@ApiModelProperty(value = "患者来源,微信小程序:WE_CHAT_APPLET,微信公众号:WE_CHAT_OFFICIAL_ACCOUNT,管理端:MANAGE_END")
|
||||
@Excel(name = "患者来源,微信小程序:WE_CHAT_APPLET,微信公众号:WE_CHAT_OFFICIAL_ACCOUNT,管理端:MANAGE_END")
|
||||
private String patientSource;
|
||||
|
||||
/**
|
||||
* 删除标识,0:未删除,1:已删除
|
||||
*/
|
||||
/** 手术名称 */
|
||||
@ApiModelProperty(value = "手术名称")
|
||||
@Excel(name = "手术名称")
|
||||
|
||||
@ -0,0 +1,85 @@
|
||||
package com.xinelu.manage.dto.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 人工随访查询DTO
|
||||
*
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/2 10:36
|
||||
*/
|
||||
@Data
|
||||
public class ManualFollowUpDTO {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "随访开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime followStartTime;
|
||||
|
||||
@ApiModelProperty(value = "随访结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime followEndTime;
|
||||
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String patientName;
|
||||
|
||||
@ApiModelProperty(value = "患者电话")
|
||||
private String patientPhone;
|
||||
|
||||
@ApiModelProperty(value = "所属医院id")
|
||||
private Long hospitalAgencyId;
|
||||
|
||||
@ApiModelProperty(value = "所属院区id")
|
||||
private Long campusAgencyId;
|
||||
|
||||
@ApiModelProperty(value = "所属科室id")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "所属病区id")
|
||||
private Long wardId;
|
||||
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
|
||||
@ApiModelProperty(value = "就诊流水号")
|
||||
private String visitSerialNumber;
|
||||
|
||||
@ApiModelProperty(value = "入院开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime admissionStartTime;
|
||||
|
||||
@ApiModelProperty(value = "入院结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime admissionEndTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "门诊(门诊患者)开始时间")
|
||||
private LocalDateTime clinicalStartTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "门诊(门诊患者)结束时间")
|
||||
private LocalDateTime clinicalEndTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "出院时间(出院患者)开始时间")
|
||||
private LocalDateTime dischargeStartTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "出院时间(出院患者)结束时间")
|
||||
private LocalDateTime dischargeEndTime;
|
||||
|
||||
@ApiModelProperty(value = "主要诊断")
|
||||
private String mainDiagnosis;
|
||||
|
||||
@ApiModelProperty(value = "主治医生id")
|
||||
private Long attendingPhysicianId;
|
||||
|
||||
@ApiModelProperty(value = "主治医生姓名")
|
||||
private String attendingPhysicianName;
|
||||
|
||||
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xinelu.manage.mapper.labelfieldcontent;
|
||||
|
||||
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
|
||||
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@ -69,4 +70,12 @@ public interface LabelFieldContentMapper {
|
||||
* 检查除去当前记录外有没有重复内容名称
|
||||
*/
|
||||
int existCountByContentNameExcludingId(@Param("id") Long id, @Param("fieldId") Long fieldId, @Param("contentName") String contentName);
|
||||
|
||||
/**
|
||||
* 查询标签信息根据标签字段信息表
|
||||
*
|
||||
* @param labelFieldIds 标签字段信息表
|
||||
* @return LabelFieldContentVO
|
||||
*/
|
||||
List<LabelFieldContentVO> selectLabelFieldContent(@Param("labelFieldIds") List<Long> labelFieldIds);
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xinelu.manage.mapper.labelfieldinfo;
|
||||
|
||||
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
|
||||
import com.xinelu.manage.vo.labelfieldinfo.LabelFieldVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@ -28,6 +29,14 @@ public interface LabelFieldInfoMapper {
|
||||
*/
|
||||
public List<LabelFieldInfo> selectLabelFieldInfoList(LabelFieldInfo labelFieldInfo);
|
||||
|
||||
/**
|
||||
* 查询标签字段信息列表
|
||||
*
|
||||
* @param fieldType 标签字段信息
|
||||
* @return 标签字段信息集合
|
||||
*/
|
||||
List<LabelFieldVO> selectLabelFieldList(String fieldType);
|
||||
|
||||
/**
|
||||
* 新增标签字段信息
|
||||
*
|
||||
|
||||
@ -3,6 +3,7 @@ package com.xinelu.manage.mapper.patientinfo;
|
||||
import com.xinelu.manage.domain.patientinfo.PatientInfo;
|
||||
import com.xinelu.manage.dto.patientinfo.PatientInfoDto;
|
||||
import com.xinelu.manage.vo.patientinfo.PatientBaseInfoVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -20,7 +21,13 @@ public interface PatientInfoMapper {
|
||||
*/
|
||||
public PatientInfo selectPatientInfoById(Long id);
|
||||
|
||||
public PatientBaseInfoVo getPatientBaseInfo(Long id);
|
||||
/**
|
||||
* 查询患者信息
|
||||
*
|
||||
* @param id 主键id
|
||||
* @return 患者信息
|
||||
*/
|
||||
public PatientBaseInfoVo getPatientBaseInfo(Long id);
|
||||
|
||||
/**
|
||||
* 查询患者信息列表
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package com.xinelu.manage.mapper.signpatientmanageroute;
|
||||
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -58,4 +61,12 @@ public interface SignPatientManageRouteMapper {
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSignPatientManageRouteByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 查询人工随访代办列表
|
||||
* @param manualFollowUpDTO 人工随访查询DTO
|
||||
* @return ManualFollowUpVO 人工随访代办VO
|
||||
*/
|
||||
List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO);
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,8 @@ import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 签约患者管理任务路径节点Mapper接口
|
||||
*
|
||||
@ -63,6 +65,14 @@ public interface SignPatientManageRouteNodeMapper {
|
||||
*/
|
||||
public int deleteSignPatientManageRouteNodeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 批量删除签约患者管理任务路径节点
|
||||
*
|
||||
* @param manageRouteId 需要删除的数据
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteRouteNodeByManageRouteId(Long manageRouteId);
|
||||
|
||||
/**
|
||||
* 查询患者任务列表
|
||||
* @param patientTaskDto 患者任务列表查询传输对象
|
||||
|
||||
@ -88,5 +88,11 @@ public interface IAgencyService {
|
||||
**/
|
||||
AjaxResult insertAgencyImportList(List<Agency> agencyList);
|
||||
|
||||
/**
|
||||
* 医院园区科室病区联动查询
|
||||
*
|
||||
* @param hospitalDTO 信息
|
||||
* @return AjaxResult
|
||||
*/
|
||||
AjaxResult getAgencyList(HospitalDTO hospitalDTO);
|
||||
}
|
||||
|
||||
@ -224,8 +224,15 @@ public class AgencyServiceImpl implements IAgencyService {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 医院园区科室病区联动查询
|
||||
*
|
||||
* @param hospitalDTO 信息
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getAgencyList(HospitalDTO hospitalDTO) {
|
||||
//只选医院
|
||||
HospitalVO hospitalVO = new HospitalVO();
|
||||
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.HOSPITAL.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getHospitalId())) {
|
||||
Agency agency = new Agency();
|
||||
@ -242,6 +249,7 @@ public class AgencyServiceImpl implements IAgencyService {
|
||||
List<Department> wardList = departmentMapper.selectDepartmentList(department);
|
||||
hospitalVO.setWardList(wardList);
|
||||
}
|
||||
//选到园区
|
||||
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.CAMPUS.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getCampusId())) {
|
||||
Department department = new Department();
|
||||
department.setNodeType(NodeTypeEnum.DEPARTMENT.getInfo());
|
||||
@ -252,6 +260,7 @@ public class AgencyServiceImpl implements IAgencyService {
|
||||
List<Department> wardList = departmentMapper.selectDepartmentList(department);
|
||||
hospitalVO.setWardList(wardList);
|
||||
}
|
||||
//选到科室
|
||||
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.DEPARTMENT.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getDepartmentId())) {
|
||||
Department department = new Department();
|
||||
department.setNodeType(NodeTypeEnum.WARD.getInfo());
|
||||
|
||||
@ -153,8 +153,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
/**
|
||||
* 查询科室信息列表及包含话术数量
|
||||
*
|
||||
* @param departmentDto
|
||||
* @return
|
||||
* @param departmentDto 科室信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public List<DepartmentVO> selectDepartmentListScriptNum(DepartmentDTO departmentDto) {
|
||||
@ -164,8 +164,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
/**
|
||||
* 查询科室信息列表及包含手术数量
|
||||
*
|
||||
* @param departmentDto
|
||||
* @return
|
||||
* @param departmentDto 科室信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public List<DepartmentVO> selectDepartmentListOperationNum(DepartmentDTO departmentDto) {
|
||||
@ -175,8 +175,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
/**
|
||||
* 查询科室信息列表及包含微信库数量
|
||||
*
|
||||
* @param departmentDto
|
||||
* @return
|
||||
* @param departmentDto 科室信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public List<DepartmentVO> selectDepartmentListWechatTemplateNum(DepartmentDTO departmentDto) {
|
||||
@ -186,8 +186,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
/**
|
||||
* 查询科室信息列表及包含短信库数量
|
||||
*
|
||||
* @param departmentDto
|
||||
* @return
|
||||
* @param departmentDto 科室信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public List<DepartmentVO> selectDepartmentListMessageNum(DepartmentDTO departmentDto) {
|
||||
@ -198,7 +198,7 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
* 科室信息导入
|
||||
*
|
||||
* @param departmentList 科室信息
|
||||
* @return
|
||||
* @return 结果
|
||||
*/
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -244,8 +244,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
|
||||
/**
|
||||
* 查询科室信息列表及包含服务包数量
|
||||
*
|
||||
* @param departmentDto
|
||||
* @return
|
||||
* @param departmentDto 科室
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public List<DepartmentVO> selectListServicePackageNum(DepartmentDTO departmentDto) {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xinelu.manage.service.labelfieldinfo;
|
||||
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
|
||||
import com.xinelu.manage.dto.labelfieldinfo.LabelFieldInfoAddDTO;
|
||||
|
||||
@ -28,6 +29,14 @@ public interface ILabelFieldInfoService {
|
||||
*/
|
||||
List<LabelFieldInfo> selectLabelFieldInfoList(LabelFieldInfo labelFieldInfo);
|
||||
|
||||
/**
|
||||
* 标签字段信息表 查询标签字段信息列表树图
|
||||
*
|
||||
* @param fieldType 字段类型
|
||||
* @return AjaxResult
|
||||
*/
|
||||
AjaxResult labelFieldList(String fieldType);
|
||||
|
||||
/**
|
||||
* 新增标签字段信息
|
||||
*
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
package com.xinelu.manage.service.labelfieldinfo.impl;
|
||||
|
||||
import com.xinelu.common.constant.Constants;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.codes.GenerateSystemCodeUtil;
|
||||
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
|
||||
import com.xinelu.manage.dto.labelfieldinfo.LabelFieldInfoAddDTO;
|
||||
import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper;
|
||||
import com.xinelu.manage.mapper.labelfieldinfo.LabelFieldInfoMapper;
|
||||
import com.xinelu.manage.service.labelfieldinfo.ILabelFieldInfoService;
|
||||
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO;
|
||||
import com.xinelu.manage.vo.labelfieldinfo.LabelFieldVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -17,6 +21,7 @@ import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -33,6 +38,9 @@ public class LabelFieldInfoServiceImpl implements ILabelFieldInfoService {
|
||||
@Resource
|
||||
private GenerateSystemCodeUtil systemCodeUtil;
|
||||
|
||||
@Resource
|
||||
private LabelFieldContentMapper labelFieldContentMapper;
|
||||
|
||||
/**
|
||||
* 查询标签字段信息
|
||||
*
|
||||
@ -55,6 +63,27 @@ public class LabelFieldInfoServiceImpl implements ILabelFieldInfoService {
|
||||
return labelFieldInfoMapper.selectLabelFieldInfoList(labelFieldInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询标签字段信息列表树图
|
||||
*
|
||||
* @param fieldType 字段类型
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult labelFieldList(String fieldType) {
|
||||
List<LabelFieldVO> labelFieldList = labelFieldInfoMapper.selectLabelFieldList(fieldType);
|
||||
List<Long> labelFieldIds = labelFieldList.stream().filter(Objects::nonNull).map(LabelFieldVO::getLabelFieldId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
if (labelFieldIds.size() == 0) {
|
||||
return AjaxResult.success(labelFieldList);
|
||||
}
|
||||
List<LabelFieldContentVO> labelFieldContentList = labelFieldContentMapper.selectLabelFieldContent(labelFieldIds);
|
||||
for (LabelFieldVO labelField : labelFieldList) {
|
||||
List<LabelFieldContentVO> collect = labelFieldContentList.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getFieldId()) && labelField.getLabelFieldId().equals(item.getFieldId())).collect(Collectors.toList());
|
||||
labelField.setLabelFieldContentList(collect);
|
||||
}
|
||||
return AjaxResult.success(labelFieldList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增标签字段信息
|
||||
*
|
||||
|
||||
@ -1,8 +1,14 @@
|
||||
package com.xinelu.manage.service.signpatientmanageroute;
|
||||
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 签约患者管理任务路径Service接口
|
||||
*
|
||||
@ -16,7 +22,7 @@ public interface ISignPatientManageRouteService {
|
||||
* @param id 签约患者管理任务路径主键
|
||||
* @return 签约患者管理任务路径
|
||||
*/
|
||||
public SignPatientManageRoute selectSignPatientManageRouteById(Long id);
|
||||
SignPatientManageRoute selectSignPatientManageRouteById(Long id);
|
||||
|
||||
/**
|
||||
* 查询签约患者管理任务路径列表
|
||||
@ -24,7 +30,7 @@ public interface ISignPatientManageRouteService {
|
||||
* @param signPatientManageRoute 签约患者管理任务路径
|
||||
* @return 签约患者管理任务路径集合
|
||||
*/
|
||||
public List<SignPatientManageRoute> selectSignPatientManageRouteList(SignPatientManageRoute signPatientManageRoute);
|
||||
List<SignPatientManageRoute> selectSignPatientManageRouteList(SignPatientManageRoute signPatientManageRoute);
|
||||
|
||||
/**
|
||||
* 新增签约患者管理任务路径
|
||||
@ -32,7 +38,7 @@ public interface ISignPatientManageRouteService {
|
||||
* @param signPatientManageRoute 签约患者管理任务路径
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute);
|
||||
AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute);
|
||||
|
||||
/**
|
||||
* 修改签约患者管理任务路径
|
||||
@ -40,7 +46,7 @@ public interface ISignPatientManageRouteService {
|
||||
* @param signPatientManageRoute 签约患者管理任务路径
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute);
|
||||
AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute);
|
||||
|
||||
/**
|
||||
* 批量删除签约患者管理任务路径
|
||||
@ -48,7 +54,7 @@ public interface ISignPatientManageRouteService {
|
||||
* @param ids 需要删除的签约患者管理任务路径主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSignPatientManageRouteByIds(Long[] ids);
|
||||
int deleteSignPatientManageRouteByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除签约患者管理任务路径信息
|
||||
@ -58,4 +64,11 @@ public interface ISignPatientManageRouteService {
|
||||
*/
|
||||
public int deleteSignPatientManageRouteById(Long id);
|
||||
|
||||
/**
|
||||
* 查询人工随访代办列表
|
||||
* @param manualFollowUpDTO 人工随访查询DTO
|
||||
* @return ManualFollowUpVO 人工随访代办VO
|
||||
*/
|
||||
List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO);
|
||||
|
||||
}
|
||||
|
||||
@ -1,13 +1,23 @@
|
||||
package com.xinelu.manage.service.signpatientmanageroute.impl;
|
||||
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
|
||||
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* 签约患者管理任务路径Service业务层处理
|
||||
@ -19,6 +29,8 @@ import org.springframework.stereotype.Service;
|
||||
public class SignPatientManageRouteServiceImpl implements ISignPatientManageRouteService {
|
||||
@Resource
|
||||
private SignPatientManageRouteMapper signPatientManageRouteMapper;
|
||||
@Resource
|
||||
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
|
||||
@Resource
|
||||
private PatientInfoMapper patientInfoMapper;
|
||||
|
||||
@ -51,9 +63,24 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) {
|
||||
signPatientManageRoute.setCreateTime(LocalDateTime.now());
|
||||
return signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute);
|
||||
public AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
|
||||
signPatientManageRoute.setCreateBy(SecurityUtils.getUsername());
|
||||
signPatientManageRoute.setCreateTime(LocalDateTime.now());
|
||||
int insertRoute = signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute);
|
||||
if (insertRoute < 0) {
|
||||
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
List<SignPatientManageRouteNode> routeNodeList = signPatientManageRoute.getRouteNodeList();
|
||||
for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) {
|
||||
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getId());
|
||||
signPatientManageRouteNode.setCreateTime(LocalDateTime.now());
|
||||
signPatientManageRouteNode.setCreateBy(SecurityUtils.getUsername());
|
||||
}
|
||||
int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(routeNodeList);
|
||||
if (insertBatchCount < 0) {
|
||||
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,9 +90,28 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) {
|
||||
signPatientManageRoute.setUpdateTime(LocalDateTime.now());
|
||||
return signPatientManageRouteMapper.updateSignPatientManageRoute(signPatientManageRoute);
|
||||
public AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
|
||||
signPatientManageRoute.setUpdateBy(SecurityUtils.getUsername());
|
||||
signPatientManageRoute.setUpdateTime(LocalDateTime.now());
|
||||
int updateCount = signPatientManageRouteMapper.updateSignPatientManageRoute(signPatientManageRoute);
|
||||
if (updateCount < 0) {
|
||||
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
int deleteCount = signPatientManageRouteNodeMapper.deleteRouteNodeByManageRouteId(signPatientManageRoute.getSignPatientManageRouteId());
|
||||
if (deleteCount < 0) {
|
||||
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
List<SignPatientManageRouteNode> routeNodeList = signPatientManageRoute.getRouteNodeList();
|
||||
for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) {
|
||||
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getSignPatientManageRouteId());
|
||||
signPatientManageRouteNode.setCreateTime(LocalDateTime.now());
|
||||
signPatientManageRouteNode.setCreateBy(SecurityUtils.getUsername());
|
||||
}
|
||||
int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(routeNodeList);
|
||||
if (insertBatchCount < 0) {
|
||||
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,4 +135,15 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
public int deleteSignPatientManageRouteById(Long id) {
|
||||
return signPatientManageRouteMapper.deleteSignPatientManageRouteById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询人工随访代办列表
|
||||
*
|
||||
* @param manualFollowUpDTO 人工随访查询DTO
|
||||
* @return ManualFollowUpVO 人工随访代办VO
|
||||
*/
|
||||
@Override
|
||||
public List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO) {
|
||||
return signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.xinelu.manage.vo.labelfieldcontent;
|
||||
|
||||
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 标签字段内容信息对象 label_field_content
|
||||
*
|
||||
* @author xinelu
|
||||
* @date 2024-03-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LabelFieldContentVO extends LabelFieldContent {
|
||||
|
||||
/**
|
||||
* 标签内容表
|
||||
*/
|
||||
private Long LabelFieldContentId;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xinelu.manage.vo.labelfieldinfo;
|
||||
|
||||
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
|
||||
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标签字段信息对象 label_field_info
|
||||
*
|
||||
* @author xinelu
|
||||
* @date 2024-03-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LabelFieldVO extends LabelFieldInfo {
|
||||
|
||||
/**
|
||||
* 标签字段表
|
||||
*/
|
||||
private Long LabelFieldId;
|
||||
|
||||
/**
|
||||
* 标签内容
|
||||
*/
|
||||
private List<LabelFieldContentVO> labelFieldContentList;
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package com.xinelu.manage.vo.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 人工随访代办VO
|
||||
*
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/2 10:36
|
||||
*/
|
||||
@Data
|
||||
public class ManualFollowUpVO {
|
||||
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String patientName;
|
||||
|
||||
@ApiModelProperty(value = "患者电话")
|
||||
private String patientPhone;
|
||||
|
||||
@ApiModelProperty(value = "性别,男:MALE,女:FEMALE")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "所属医院id")
|
||||
private Long hospitalAgencyId;
|
||||
|
||||
@ApiModelProperty(value = "所属医院名称")
|
||||
private String hospitalAgencyName;
|
||||
|
||||
@ApiModelProperty(value = "所属院区id")
|
||||
private Long campusAgencyId;
|
||||
|
||||
@ApiModelProperty(value = "所属院区名称")
|
||||
private String campusAgencyName;
|
||||
|
||||
@ApiModelProperty(value = "所属科室id")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "所属科室名称")
|
||||
private String departmentName;
|
||||
|
||||
@ApiModelProperty(value = "所属病区id")
|
||||
private Long wardId;
|
||||
|
||||
@ApiModelProperty(value = "所属病区名称")
|
||||
private String wardName;
|
||||
|
||||
@ApiModelProperty(value = "门诊/住院号 ")
|
||||
private String inHospitalNumber;
|
||||
|
||||
@ApiModelProperty(value = "就诊流水号")
|
||||
private String visitSerialNumber;
|
||||
|
||||
@ApiModelProperty(value = "主要诊断")
|
||||
private String mainDiagnosis;
|
||||
|
||||
@ApiModelProperty(value = "手术名称")
|
||||
private String surgicalName;
|
||||
|
||||
@ApiModelProperty(value = "主治医生id")
|
||||
private Long attendingPhysicianId;
|
||||
|
||||
@ApiModelProperty(value = "主治医生姓名")
|
||||
private String attendingPhysicianName;
|
||||
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
|
||||
@ApiModelProperty(value = "入院时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime admissionTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "门诊/出院时间")
|
||||
private LocalDateTime visitOrDischargeTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "随访时间")
|
||||
private LocalDateTime executeTime;
|
||||
|
||||
@ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
private String taskType;
|
||||
|
||||
@ApiModelProperty(value = "随访模板")
|
||||
private String templateName;
|
||||
|
||||
@ApiModelProperty(value = "模板id")
|
||||
private String templateId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.xinelu.manage.vo.signpatientmanageroute;
|
||||
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 签约患者管理任务路径对象 sign_patient_manage_route
|
||||
*
|
||||
* @author haown
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SignPatientManageRouteVO extends SignPatientManageRoute {
|
||||
|
||||
/**
|
||||
* 患者管理任务路径id
|
||||
*/
|
||||
private Long SignPatientManageRouteId;
|
||||
|
||||
/**
|
||||
* 节点信息
|
||||
*/
|
||||
List<SignPatientManageRouteNode> routeNodeList;
|
||||
|
||||
}
|
||||
@ -23,6 +23,15 @@ public class SpecialDiseaseRouteVO extends SpecialDiseaseRoute {
|
||||
*/
|
||||
private Long specialDiseaseRouteId;
|
||||
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
private Long totalNumber;
|
||||
|
||||
/**
|
||||
* 进度
|
||||
*/
|
||||
private Long agreeNumber;
|
||||
|
||||
/**
|
||||
* 节点信息
|
||||
@ -30,7 +39,7 @@ public class SpecialDiseaseRouteVO extends SpecialDiseaseRoute {
|
||||
List<SpecialDiseaseNodeVO> specialDiseaseNodeList;
|
||||
|
||||
/**
|
||||
* 节点信息
|
||||
* 触发条件信息
|
||||
*/
|
||||
List<TriggerConditionVO> triggerConditionList;
|
||||
}
|
||||
@ -212,4 +212,26 @@
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectLabelFieldContent"
|
||||
resultType="com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO">
|
||||
select id LabelFieldContentId,
|
||||
field_id,
|
||||
field_name,
|
||||
content_name,
|
||||
content_code,
|
||||
result_preview,
|
||||
content_sort,
|
||||
content_remark,
|
||||
field_mark
|
||||
from label_field_content
|
||||
<where>
|
||||
<if test="labelFieldIds != null and labelFieldIds.size() > 0">
|
||||
field_id in
|
||||
<foreach item="labelFieldIds" collection="labelFieldIds" open="(" separator="," close=")">
|
||||
#{labelFieldIds}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@ -59,6 +59,18 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectLabelFieldList" resultType="com.xinelu.manage.vo.labelfieldinfo.LabelFieldVO">
|
||||
select id LabelFieldId,
|
||||
field_name,
|
||||
field_code,
|
||||
field_type,
|
||||
field_sort,
|
||||
field_remark
|
||||
from label_field_info
|
||||
where field_type = #{fieldType}
|
||||
</select>
|
||||
|
||||
<select id="selectLabelFieldInfoById" parameterType="Long"
|
||||
resultMap="LabelFieldInfoResult">
|
||||
<include refid="selectLabelFieldInfoVo"/>
|
||||
@ -131,31 +143,31 @@
|
||||
update label_field_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="fieldName != null">field_name =
|
||||
#{fieldName},
|
||||
#{fieldName},
|
||||
</if>
|
||||
<if test="fieldCode != null">field_code =
|
||||
#{fieldCode},
|
||||
#{fieldCode},
|
||||
</if>
|
||||
<if test="fieldType != null">field_type =
|
||||
#{fieldType},
|
||||
#{fieldType},
|
||||
</if>
|
||||
<if test="fieldSort != null">field_sort =
|
||||
#{fieldSort},
|
||||
#{fieldSort},
|
||||
</if>
|
||||
<if test="fieldRemark != null">field_remark =
|
||||
#{fieldRemark},
|
||||
#{fieldRemark},
|
||||
</if>
|
||||
<if test="createBy != null">create_by =
|
||||
#{createBy},
|
||||
#{createBy},
|
||||
</if>
|
||||
<if test="createTime != null">create_time =
|
||||
#{createTime},
|
||||
#{createTime},
|
||||
</if>
|
||||
<if test="updateBy != null">update_by =
|
||||
#{updateBy},
|
||||
#{updateBy},
|
||||
</if>
|
||||
<if test="updateTime != null">update_time =
|
||||
#{updateTime},
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
|
||||
@ -3,53 +3,53 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.xinelu.manage.mapper.patientinfo.PatientInfoMapper">
|
||||
<resultMap type="com.xinelu.manage.domain.patientinfo.PatientInfo" id="PatientInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="residentId" column="resident_id" />
|
||||
<result property="patientName" column="patient_name" />
|
||||
<result property="patientPhone" column="patient_phone" />
|
||||
<result property="familyMemberPhone" column="family_member_phone" />
|
||||
<result property="birthDate" column="birth_date" />
|
||||
<result property="cardNo" column="card_no" />
|
||||
<result property="sex" column="sex" />
|
||||
<result property="address" column="address" />
|
||||
<result property="patientType" column="patient_type" />
|
||||
<result property="signStatus" column="sign_status" />
|
||||
<result property="signPatientRecordId" column="sign_patient_record_id" />
|
||||
<result property="serviceStatus" column="service_status" />
|
||||
<result property="signTime" column="sign_time" />
|
||||
<result property="visitMethod" column="visit_method" />
|
||||
<result property="attendingPhysicianId" column="attending_physician_id" />
|
||||
<result property="attendingPhysicianName" column="attending_physician_name" />
|
||||
<result property="mainDiagnosis" column="main_diagnosis" />
|
||||
<result property="hospitalAgencyId" column="hospital_agency_id" />
|
||||
<result property="hospitalAgencyName" column="hospital_agency_name" />
|
||||
<result property="campusAgencyId" column="campus_agency_id" />
|
||||
<result property="campusAgencyName" column="campus_agency_name" />
|
||||
<result property="departmentId" column="department_id" />
|
||||
<result property="departmentName" column="department_name" />
|
||||
<result property="wardId" column="ward_id" />
|
||||
<result property="wardName" column="ward_name" />
|
||||
<result property="responsibleNurse" column="responsible_nurse" />
|
||||
<result property="patientVisitRecordId" column="patient_visit_record_id" />
|
||||
<result property="visitSerialNumber" column="visit_serial_number" />
|
||||
<result property="admissionTime" column="admission_time" />
|
||||
<result property="dischargeTime" column="discharge_time" />
|
||||
<result property="appointmentTreatmentGroup" column="appointment_treatment_group" />
|
||||
<result property="registrationNo" column="registration_no" />
|
||||
<result property="registrationDate" column="registration_date" />
|
||||
<result property="appointmentDate" column="appointment_date" />
|
||||
<result property="inHospitalNumber" column="in_hospital_number" />
|
||||
<result property="visitDate" column="visit_date" />
|
||||
<result property="dischargeMethod" column="discharge_method" />
|
||||
<result property="patientSource" column="patient_source" />
|
||||
<result property="surgicalName" column="surgical_name" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
<resultMap type="com.xinelu.manage.domain.patientinfo.PatientInfo" id="PatientInfoResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="residentId" column="resident_id"/>
|
||||
<result property="patientName" column="patient_name"/>
|
||||
<result property="patientPhone" column="patient_phone"/>
|
||||
<result property="familyMemberPhone" column="family_member_phone"/>
|
||||
<result property="birthDate" column="birth_date"/>
|
||||
<result property="cardNo" column="card_no"/>
|
||||
<result property="sex" column="sex"/>
|
||||
<result property="address" column="address"/>
|
||||
<result property="patientType" column="patient_type"/>
|
||||
<result property="signStatus" column="sign_status"/>
|
||||
<result property="signPatientRecordId" column="sign_patient_record_id"/>
|
||||
<result property="serviceStatus" column="service_status"/>
|
||||
<result property="signTime" column="sign_time"/>
|
||||
<result property="visitMethod" column="visit_method"/>
|
||||
<result property="attendingPhysicianId" column="attending_physician_id"/>
|
||||
<result property="attendingPhysicianName" column="attending_physician_name"/>
|
||||
<result property="mainDiagnosis" column="main_diagnosis"/>
|
||||
<result property="hospitalAgencyId" column="hospital_agency_id"/>
|
||||
<result property="hospitalAgencyName" column="hospital_agency_name"/>
|
||||
<result property="campusAgencyId" column="campus_agency_id"/>
|
||||
<result property="campusAgencyName" column="campus_agency_name"/>
|
||||
<result property="departmentId" column="department_id"/>
|
||||
<result property="departmentName" column="department_name"/>
|
||||
<result property="wardId" column="ward_id"/>
|
||||
<result property="wardName" column="ward_name"/>
|
||||
<result property="responsibleNurse" column="responsible_nurse"/>
|
||||
<result property="patientVisitRecordId" column="patient_visit_record_id"/>
|
||||
<result property="visitSerialNumber" column="visit_serial_number"/>
|
||||
<result property="admissionTime" column="admission_time"/>
|
||||
<result property="dischargeTime" column="discharge_time"/>
|
||||
<result property="appointmentTreatmentGroup" column="appointment_treatment_group"/>
|
||||
<result property="registrationNo" column="registration_no"/>
|
||||
<result property="registrationDate" column="registration_date"/>
|
||||
<result property="appointmentDate" column="appointment_date"/>
|
||||
<result property="inHospitalNumber" column="in_hospital_number"/>
|
||||
<result property="visitDate" column="visit_date"/>
|
||||
<result property="dischargeMethod" column="discharge_method"/>
|
||||
<result property="patientSource" column="patient_source"/>
|
||||
<result property="surgicalName" column="surgical_name" />
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectPatientInfoVo">
|
||||
select id,resident_id,
|
||||
@ -72,88 +72,89 @@
|
||||
from patient_info
|
||||
</sql>
|
||||
|
||||
<select id="selectPatientInfoList" parameterType="com.xinelu.manage.dto.patientinfo.PatientInfoDto" resultMap="PatientInfoResult">
|
||||
<include refid="selectPatientInfoVo" />
|
||||
<where>
|
||||
del_flag = 0
|
||||
<if test="patientName != null and patientName != ''">
|
||||
and patient_name = #{patientName}
|
||||
</if>
|
||||
<if test="patientPhone != null and patientPhone != ''">
|
||||
and patient_phone like concat('%', #{patientPhone}, '%')
|
||||
</if>
|
||||
<if test="cardNo != null and cardNo != ''">
|
||||
and card_no = #{cardNo}
|
||||
</if>
|
||||
<if test="patientType != null and patientType != ''">
|
||||
<choose>
|
||||
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
|
||||
and (patient_type = 'OUTPATIENT' or patient_type = 'DISCHARGED_PATIENT')
|
||||
</when>
|
||||
<otherwise>
|
||||
and patient_type = #{patientType}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="attendingPhysicianId != null">
|
||||
and attending_physician_id = #{attendingPhysicianId}
|
||||
</if>
|
||||
<if test="mainDiagnosis != null and mainDiagnosis != ''">
|
||||
and main_diagnosis like concat('%', #{mainDiagnosis}, '%')
|
||||
</if>
|
||||
<if test="hospitalAgencyId != null ">
|
||||
and hospital_agency_id = #{hospitalAgencyId}
|
||||
</if>
|
||||
<if test="campusAgencyId != null ">
|
||||
and campus_agency_id = #{campusAgencyId}
|
||||
</if>
|
||||
<if test="departmentId != null ">
|
||||
and department_id = #{departmentId}
|
||||
</if>
|
||||
<if test="wardId != null ">
|
||||
and ward_id = #{wardId}
|
||||
</if>
|
||||
<if test="visitMethod != null and visitMethod != ''">
|
||||
and visit_method = #{visitMethod}
|
||||
</if>
|
||||
<if test="visitDateStart != null ">
|
||||
and visit_date >= #{visitDateStart}
|
||||
</if>
|
||||
<if test="visitDateEnd != null ">
|
||||
and visit_date <= #{visitDateEnd}
|
||||
</if>
|
||||
<if test="admissionTimeStart != null ">
|
||||
and admission_time >= #{admissionTimeStart}
|
||||
</if>
|
||||
<if test="admissionTimeEnd != null ">
|
||||
and admission_time <= #{admissionTimeEnd}
|
||||
</if>
|
||||
<if test="appointmentDateStart != null ">
|
||||
and appointment_date >= #{appointmentDateStart}
|
||||
</if>
|
||||
<if test="appointmentDateEnd != null ">
|
||||
and appointment_date <= #{appointmentDateEnd}
|
||||
</if>
|
||||
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
|
||||
and appointment_treatment_group = #{appointmentTreatmentGroup}
|
||||
</if>
|
||||
<if test="registrationNo != null and registrationNo != ''">
|
||||
and registration_no = #{registrationNo}
|
||||
</if>
|
||||
<if test="visitSerialNumber != null and visitSerialNumber != ''">
|
||||
and visit_serial_number = #{visitSerialNumber}
|
||||
</if>
|
||||
<if test="responsibleNurse != null and responsibleNurse != ''">
|
||||
and responsible_nurse = #{responsibleNurse}
|
||||
</if>
|
||||
<if test="patientSource != null and patientSource != ''">
|
||||
and patient_source = #{patientSource}
|
||||
</if>
|
||||
<if test="surgicalName != null and surgicalName != ''">
|
||||
and surgical_name = #{surgicalName}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="selectPatientInfoList" parameterType="com.xinelu.manage.dto.patientinfo.PatientInfoDto"
|
||||
resultMap="PatientInfoResult">
|
||||
<include refid="selectPatientInfoVo"/>
|
||||
<where>
|
||||
del_flag = 0
|
||||
<if test="patientName != null and patientName != ''">
|
||||
and patient_name = #{patientName}
|
||||
</if>
|
||||
<if test="patientPhone != null and patientPhone != ''">
|
||||
and patient_phone like concat('%', #{patientPhone}, '%')
|
||||
</if>
|
||||
<if test="cardNo != null and cardNo != ''">
|
||||
and card_no = #{cardNo}
|
||||
</if>
|
||||
<if test="patientType != null and patientType != ''">
|
||||
<choose>
|
||||
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
|
||||
and (patient_type = 'OUTPATIENT' or patient_type = 'DISCHARGED_PATIENT')
|
||||
</when>
|
||||
<otherwise>
|
||||
and patient_type = #{patientType}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="attendingPhysicianId != null">
|
||||
and attending_physician_id = #{attendingPhysicianId}
|
||||
</if>
|
||||
<if test="mainDiagnosis != null and mainDiagnosis != ''">
|
||||
and main_diagnosis like concat('%', #{mainDiagnosis}, '%')
|
||||
</if>
|
||||
<if test="hospitalAgencyId != null ">
|
||||
and hospital_agency_id = #{hospitalAgencyId}
|
||||
</if>
|
||||
<if test="campusAgencyId != null ">
|
||||
and campus_agency_id = #{campusAgencyId}
|
||||
</if>
|
||||
<if test="departmentId != null ">
|
||||
and department_id = #{departmentId}
|
||||
</if>
|
||||
<if test="wardId != null ">
|
||||
and ward_id = #{wardId}
|
||||
</if>
|
||||
<if test="visitMethod != null and visitMethod != ''">
|
||||
and visit_method = #{visitMethod}
|
||||
</if>
|
||||
<if test="visitDateStart != null ">
|
||||
and visit_date >= #{visitDateStart}
|
||||
</if>
|
||||
<if test="visitDateEnd != null ">
|
||||
and visit_date <= #{visitDateEnd}
|
||||
</if>
|
||||
<if test="admissionTimeStart != null ">
|
||||
and admission_time >= #{admissionTimeStart}
|
||||
</if>
|
||||
<if test="admissionTimeEnd != null ">
|
||||
and admission_time <= #{admissionTimeEnd}
|
||||
</if>
|
||||
<if test="appointmentDateStart != null ">
|
||||
and appointment_date >= #{appointmentDateStart}
|
||||
</if>
|
||||
<if test="appointmentDateEnd != null ">
|
||||
and appointment_date <= #{appointmentDateEnd}
|
||||
</if>
|
||||
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
|
||||
and appointment_treatment_group = #{appointmentTreatmentGroup}
|
||||
</if>
|
||||
<if test="registrationNo != null and registrationNo != ''">
|
||||
and registration_no = #{registrationNo}
|
||||
</if>
|
||||
<if test="visitSerialNumber != null and visitSerialNumber != ''">
|
||||
and visit_serial_number = #{visitSerialNumber}
|
||||
</if>
|
||||
<if test="responsibleNurse != null and responsibleNurse != ''">
|
||||
and responsible_nurse = #{responsibleNurse}
|
||||
</if>
|
||||
<if test="patientSource != null and patientSource != ''">
|
||||
and patient_source = #{patientSource}
|
||||
</if>
|
||||
<if test="surgicalName != null and surgicalName != ''">
|
||||
and surgical_name = #{surgicalName}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectPatientInfoById" parameterType="Long" resultMap="PatientInfoResult">
|
||||
<include refid="selectPatientInfoVo" />
|
||||
@ -495,15 +496,15 @@
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="deletePatientInfoById" parameterType="Long">
|
||||
<update id="deletePatientInfoById" parameterType="Long">
|
||||
update patient_info set del_flag = 1
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="deletePatientInfoByIds" parameterType="String">
|
||||
update patient_info set del_flag = 1 where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
<update id="deletePatientInfoByIds" parameterType="String">
|
||||
update patient_info set del_flag = 1 where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
||||
@ -93,6 +93,104 @@
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectManualFollowUpList"
|
||||
resultType="com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO">
|
||||
SELECT
|
||||
pi.patient_name,
|
||||
pi.patient_phone,
|
||||
pi.sex,
|
||||
pi.hospital_agency_id,
|
||||
pi.hospital_agency_name,
|
||||
pi.campus_agency_id,
|
||||
pi.campus_agency_name,
|
||||
pi.department_id,
|
||||
pi.department_name,
|
||||
pi.ward_id,
|
||||
pi.ward_name,
|
||||
pi.in_hospital_number,
|
||||
pi.visit_serial_number,
|
||||
pi.main_diagnosis,
|
||||
pvr.surgical_name,
|
||||
pi.attending_physician_id,
|
||||
pi.attending_physician_name,
|
||||
pi.visit_method,
|
||||
IF(pi.visit_method = 'OUTPATIENT_SERVICE',NULL,pi.admission_time) AS 'admissionTime',
|
||||
IF(pi.visit_method = 'OUTPATIENT_SERVICE',pi.visit_date,pi.discharge_time) AS 'visitOrDischargeTime',
|
||||
pter.execute_time AS 'executeTime',
|
||||
spmrn.task_type,
|
||||
CASE
|
||||
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name
|
||||
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name
|
||||
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_name
|
||||
END AS 'templateName',
|
||||
CASE
|
||||
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_id
|
||||
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.question_info_id
|
||||
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_id
|
||||
END AS 'templateId'
|
||||
FROM
|
||||
sign_patient_manage_route spmr
|
||||
LEFT JOIN sign_patient_manage_route_node spmrn ON spmr.id = spmrn.manage_route_id
|
||||
LEFT JOIN patient_task_execute_record pter on spmr.id = pter.manage_route_id and spmrn.id = pter.manage_route_node_id
|
||||
LEFT JOIN patient_info pi ON spmr.patient_id = pi.id
|
||||
LEFT JOIN patient_visit_record pvr ON pi.patient_visit_record_id = pvr.id
|
||||
<where>
|
||||
pi.del_flag = '0' AND spmrn.node_execute_status = 'UNEXECUTED'
|
||||
AND spmrn.task_type in ('PHONE_OUTBOUND','QUESTIONNAIRE_SCALE','ARTIFICIAL_FOLLOW_UP')
|
||||
<if test="patientName != null and patientName != ''">
|
||||
AND pi.patient_name LIKE concat('%', #{patientName}, '%')
|
||||
</if>
|
||||
<if test="patientPhone != null and patientPhone != ''">
|
||||
AND pi.patient_phone LIKE concat('%', #{patientPhone}, '%')
|
||||
</if>
|
||||
<if test="hospitalAgencyId != null">
|
||||
AND pi.hospital_agency_id = #{hospitalAgencyId}
|
||||
</if>
|
||||
<if test="campusAgencyId != null">
|
||||
AND pi.campus_agency_id = #{campusAgencyId}
|
||||
</if>
|
||||
<if test="departmentId != null">
|
||||
AND pi.department_id = #{departmentId}
|
||||
</if>
|
||||
<if test="wardId != null">
|
||||
AND pi.ward_id = #{wardId}
|
||||
</if>
|
||||
<if test="visitMethod != null and visitMethod != ''">
|
||||
AND pi.visit_method = #{visitMethod}
|
||||
</if>
|
||||
<if test="visitSerialNumber != null and visitSerialNumber != ''">
|
||||
AND pi.visit_serial_number LIKE concat('%', #{visitSerialNumber}, '%')
|
||||
</if>
|
||||
<if test="clinicalStartTime != null">
|
||||
AND pi.visit_date >= #{clinicalStartTime}
|
||||
</if>
|
||||
<if test="clinicalEndTime != null">
|
||||
AND pi.visit_date <= #{clinicalEndTime}
|
||||
</if>
|
||||
<if test="dischargeStartTime != null">
|
||||
AND pi.discharge_time >= #{dischargeStartTime}
|
||||
</if>
|
||||
<if test="dischargeEndTime != null">
|
||||
AND pi.discharge_time <= #{dischargeEndTime}
|
||||
</if>
|
||||
<if test="admissionStartTime != null">
|
||||
AND pi.admission_time >= #{admissionStartTime}
|
||||
</if>
|
||||
<if test="admissionEndTime != null">
|
||||
AND pi.admission_time <= #{admissionEndTime}
|
||||
</if>
|
||||
<if test="mainDiagnosis != null and mainDiagnosis != ''">
|
||||
AND pi.main_diagnosis LIKE concat('%', #{mainDiagnosis}, '%')
|
||||
</if>
|
||||
<if test="attendingPhysicianId != null">
|
||||
AND pi.attending_physician_id = #{attendingPhysicianId}
|
||||
</if>
|
||||
<if test="attendingPhysicianName != null and attendingPhysicianName != ''">
|
||||
AND pi.attending_physician_name LIKE concat('%',#{attendingPhysicianName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertSignPatientManageRoute" parameterType="com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute" useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into sign_patient_manage_route
|
||||
|
||||
@ -567,6 +567,12 @@
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRouteNodeByManageRouteId">
|
||||
delete
|
||||
from sign_patient_manage_route_node
|
||||
where manage_route_id = #{manageRouteId}
|
||||
</delete>
|
||||
|
||||
<select id="selectPatientTaskList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto" resultType="com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo">
|
||||
select patient.id as patientId, patient.patient_name,
|
||||
patient.patient_phone,
|
||||
|
||||
@ -37,6 +37,8 @@
|
||||
<result property="releaseStatus" column="release_status"/>
|
||||
<result property="suitRange" column="suit_range"/>
|
||||
<result property="routeSort" column="route_sort"/>
|
||||
<result property="agreeNumber" column="agreeNumber"/>
|
||||
<result property="totalNumber" column="totalNumber"/>
|
||||
<result property="routeRemark" column="route_remark"/>
|
||||
<collection property="triggerConditionList" javaType="java.util.List"
|
||||
resultMap="SpecialDiseaseTriggerConditionResult"/>
|
||||
@ -282,7 +284,7 @@
|
||||
<select id="selectSpecialDiseaseRouteAndTriggerById"
|
||||
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
|
||||
resultMap="SpecialDiseaseRouteVOResult">
|
||||
select sdr.id specialDiseaseRouteId,
|
||||
select sdr.id specialDiseaseRouteId,
|
||||
sdr.department_id,
|
||||
sdr.department_name,
|
||||
sdr.disease_type_id,
|
||||
@ -295,7 +297,7 @@
|
||||
sdr.suit_range,
|
||||
sdr.route_sort,
|
||||
sdr.route_remark,
|
||||
sdtc.id triggerConditionId,
|
||||
sdtc.id triggerConditionId,
|
||||
sdtc.route_id,
|
||||
sdtc.route_name,
|
||||
sdtc.trigger_condition_code,
|
||||
@ -303,8 +305,16 @@
|
||||
sdtc.trigger_condition_operator,
|
||||
sdtc.trigger_condition_value,
|
||||
sdtc.trigger_condition_sort,
|
||||
sdtc.trigger_condition_remark
|
||||
sdtc.trigger_condition_remark,
|
||||
(select COUNT(1)
|
||||
from special_disease_node
|
||||
where route_id = specialDiseaseRouteId) totalNumber,
|
||||
(select COUNT(1)
|
||||
from special_disease_node
|
||||
where route_id = specialDiseaseRouteId
|
||||
and route_check_status = 'AGREE') agreeNumber
|
||||
from special_disease_route sdr
|
||||
LEFT JOIN special_disease_node sdn ON sdn.route_id = sdr.id
|
||||
LEFT JOIN special_disease_trigger_condition sdtc ON sdr.id = sdtc.route_id
|
||||
where sdr.id = #{id}
|
||||
</select>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user