修改人工随访代办处理

This commit is contained in:
youxilong 2024-04-08 17:53:20 +08:00
parent 6f4a37bfa5
commit cb102a2651
4 changed files with 28 additions and 11 deletions

View File

@ -44,8 +44,8 @@ public class ManualFollowUpDTO {
@ApiModelProperty(value = "所属病区id")
private Long wardId;
@ApiModelProperty(value = "患者类型在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT")
private String patientType;
@ApiModelProperty(value = "适用范围在院IN_THE_HOSPITAL出院DISCHARGE门诊OUTPATIENT_SERVICE")
private String suitRange;
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;

View File

@ -291,8 +291,8 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
signPatientManageRouteNode.setRouteHandleRemark(dto.getRouteHandleRemark());
signPatientManageRouteNode.setRouteHandleId(dto.getRouteHandleId());
signPatientManageRouteNode.setRouteHandlePerson(routeHandlePerson);
signPatientManageRouteNode.setCreateBy(routeHandlePerson);
signPatientManageRouteNode.setCreateTime(time);
signPatientManageRouteNode.setUpdateBy(routeHandlePerson);
signPatientManageRouteNode.setUpdateTime(time);
// 更新节点任务表
if (signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode) <= 0) {
throw new ServiceException("更新节点任务表失败");

View File

@ -90,8 +90,8 @@ public class ManualFollowUpVO {
@ApiModelProperty(value = "主治医生姓名")
private String attendingPhysicianName;
@ApiModelProperty(value = "患者类型在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT")
private String patientType;
@ApiModelProperty(value = "在院IN_THE_HOSPITAL出院DISCHARGE门诊OUTPATIENT_SERVICE")
private String suitRange;
@ApiModelProperty(value = "入院时间")
@JsonFormat(pattern = "yyyy-MM-dd")

View File

@ -115,9 +115,17 @@
pvr.surgical_name,
pi.attending_physician_id,
pi.attending_physician_name,
pi.patient_type,
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',
IF(spmr.suit_range = 'IN_THE_HOSPITAL', pi.admission_time, NULL) AS 'admissionTime',
CASE
WHEN spmr.suit_range = 'OUTPATIENT_SERVICE' THEN pi.visit_date
WHEN spmr.suit_range = 'DISCHARGE' THEN pi.discharge_time
WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' THEN COALESCE(pi.visit_date, pi.discharge_time)
END AS 'visitOrDischargeTime',
CASE
WHEN spmr.suit_range IN ('IN_THE_HOSPITAL', 'DISCHARGE', 'OUTPATIENT_SERVICE') THEN spmr.suit_range
WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' AND pi.visit_date IS NOT NULL THEN 'OUTPATIENT_SERVICE'
WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' AND pi.discharge_time IS NOT NULL THEN 'DISCHARGE'
END AS 'suitRange',
pter.execute_time AS 'executeTime',
spmr.id AS 'manageRouteId',
spmrn.id AS 'manageRouteNodeId',
@ -162,8 +170,17 @@
<if test="wardId != null">
AND pi.ward_id = #{wardId}
</if>
<if test="patientType != null and patientType != ''">
AND pi.patient_type = #{patientType}
<if test="suitRange != null and suitRange != ''">
<choose>
<!-- 当传入的是出院或门诊时,也匹配门诊+出院 -->
<when test="suitRange == 'DISCHARGE' or suitRange == 'OUTPATIENT_SERVICE'">
AND (spmr.suit_range = #{suitRange} OR spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE')
</when>
<!-- 其他情况直接匹配传入的值 -->
<otherwise>
AND spmr.suit_range = #{suitRange}
</otherwise>
</choose>
</if>
<if test="visitSerialNumber != null and visitSerialNumber != ''">
AND pi.visit_serial_number LIKE concat('%', #{visitSerialNumber}, '%')