Merge branch '0418_小程序开发' of http://182.92.166.109:3000/zhuangyuanke/PostDischargePatientManage into 0418_小程序开发

 Conflicts:
	postdischarge-manage/src/main/java/com/xinelu/manage/mapper/labelfieldcontent/LabelFieldContentMapper.java
	postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java
	postdischarge-manage/src/main/resources/mapper/manage/labelfieldcontent/LabelFieldContentMapper.xml
This commit is contained in:
haown 2024-06-25 17:45:12 +08:00
commit c8bf7350a3
15 changed files with 408 additions and 63 deletions

View File

@ -0,0 +1,29 @@
package com.xinelu.common.enums;
import lombok.Getter;
/**
* @Description 画像状态
* @Author zh
* @Date 2024-06-24
*/
@Getter
public enum PortraitStatusEnum {
/**
* 已归档
*/
FIELD("FIELD"),
/**
* 在用
*/
INUSE("INUSE"),
;
final private String info;
PortraitStatusEnum(String info) {
this.info = info;
}
}

View File

@ -9,6 +9,8 @@ import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent; import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO; import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO;
import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService; import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService;
import com.xinelu.manage.vo.labelfieldcontent.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelField;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -94,7 +96,20 @@ public class LabelFieldContentController extends BaseController {
* 分组信息 * 分组信息
*/ */
@GetMapping("/groupingContent") @GetMapping("/groupingContent")
public AjaxResult groupingContent(String taskPartitionDictName) { public AjaxResult groupingContent() {
return labelFieldContentService.groupingContent(taskPartitionDictName); return labelFieldContentService.groupingContent();
}
/**
* 画像查询
*/
@GetMapping("/groupingValue")
public List<List<GroupingValue>> groupingValue(Long taskPartitionDictId, Long patientId) {
return labelFieldContentService.groupingValue(taskPartitionDictId, patientId);
}
@PostMapping("/insertLabelField")
public AjaxResult insertLabelField(@RequestBody LabelField labelField) {
return labelFieldContentService.insertLabelField(labelField);
} }
} }

View File

@ -1,6 +1,7 @@
package com.xinelu.manage.mapper.labelfieldcontent; package com.xinelu.manage.mapper.labelfieldcontent;
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent; import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
import com.xinelu.manage.vo.labelfieldcontent.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldContentVO;
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo;
import java.util.List; import java.util.List;
@ -79,6 +80,16 @@ public interface LabelFieldContentMapper {
*/ */
List<LabelFieldContentVO> selectLabelFieldContent(@Param("labelFieldIds") List<Long> labelFieldIds); List<LabelFieldContentVO> selectLabelFieldContent(@Param("labelFieldIds") List<Long> labelFieldIds);
/**
* 画像查询
*
* @param taskPartitionDictId 细分id
* @param patientId 患者id
* @param portraitStatus 状态
* @return GroupingValue
*/
List<GroupingValue> groupingValue(@Param("taskPartitionDictId") Long taskPartitionDictId, @Param("patientId") Long patientId, @Param("portraitStatus") String portraitStatus);
/** /**
* 查询患者在用标签字段信息 * 查询患者在用标签字段信息
* @param patientId 患者主键 * @param patientId 患者主键

View File

@ -27,4 +27,11 @@ public interface PatientAllInfoViewMapper {
*/ */
List<PatientAllInfoView> selectPatientAllInfoViewList(PatientAllInfoView patientAllInfoView); List<PatientAllInfoView> selectPatientAllInfoViewList(PatientAllInfoView patientAllInfoView);
/**
* 查询患者全部信息视图对象
*
* @param patientId 患者主键
* @return 患者全部信息视图对象
*/
List<PatientAllInfoView> selectPatientAllInfoListViewByPatientId(Long patientId);
} }

View File

@ -27,6 +27,7 @@ public interface SignPatientManageRouteNodeMapper {
/** /**
* 查询患者管理路径节点 * 查询患者管理路径节点
*
* @param patientTaskDto 任务查询传输对象 * @param patientTaskDto 任务查询传输对象
* @return 患者管理任务路径节点 * @return 患者管理任务路径节点
*/ */
@ -86,12 +87,13 @@ public interface SignPatientManageRouteNodeMapper {
/** /**
* 查询患者任务列表 * 查询患者任务列表
*
* @param patientTaskDto 患者任务列表查询传输对象 * @param patientTaskDto 患者任务列表查询传输对象
* @return 患者任务列表 * @return 患者任务列表
*/ */
List<PatientTaskVo> selectPatientTaskList(PatientTaskDto patientTaskDto); List<PatientTaskVo> selectPatientTaskList(PatientTaskDto patientTaskDto);
List<SignPatientManageRouteNode> selectManageRouteByResidentId(@Param("residentId") Long residentId,@Param("nodeExecuteStatus") String nodeExecuteStatus); List<SignPatientManageRouteNode> selectManageRouteByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus);
String selectNodeContent(Long manageRouteNodeId); String selectNodeContent(Long manageRouteNodeId);

View File

@ -100,6 +100,12 @@ public interface SpecialDiseaseNodeMapper {
List<SpecialDiseaseNodeAuditVo> selectByRouteId(Long routeId); List<SpecialDiseaseNodeAuditVo> selectByRouteId(Long routeId);
/**
* 根据患者路径查询患者节点表
*
* @param specialDiseaseRouteId 患者路径
* @return Long
*/
List<Long> selectSpecialDiseaseRouteIds(Long specialDiseaseRouteId); List<Long> selectSpecialDiseaseRouteIds(Long specialDiseaseRouteId);
/** /**

View File

@ -1,6 +1,5 @@
package com.xinelu.manage.mapper.taskpartitiondict; package com.xinelu.manage.mapper.taskpartitiondict;
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
import com.xinelu.manage.domain.taskpartitiondict.TaskPartitionDict; import com.xinelu.manage.domain.taskpartitiondict.TaskPartitionDict;
import java.util.List; import java.util.List;

View File

@ -3,6 +3,8 @@ package com.xinelu.manage.service.labelfieldcontent;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent; import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO; import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO;
import com.xinelu.manage.vo.labelfieldcontent.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelField;
import java.util.List; import java.util.List;
@ -69,8 +71,18 @@ public interface ILabelFieldContentService {
/** /**
* 分组信息 * 分组信息
* *
* @param taskPartitionDictName 分组名
* @return LabelFieldInfo * @return LabelFieldInfo
*/ */
AjaxResult groupingContent(String taskPartitionDictName); AjaxResult groupingContent();
/**
* 画像查询
*
* @param taskPartitionDictId 细分id
* @param patientId 患者id
* @return GroupingValue
*/
List<List<GroupingValue>> groupingValue(Long taskPartitionDictId, Long patientId);
AjaxResult insertLabelField(LabelField labelField);
} }

View File

@ -1,19 +1,30 @@
package com.xinelu.manage.service.labelfieldcontent.impl; package com.xinelu.manage.service.labelfieldcontent.impl;
import com.alibaba.fastjson2.JSONObject;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.PatientSexEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.BaseUtil;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.common.utils.bean.BeanUtils;
import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent; import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo; import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
import com.xinelu.manage.domain.patientinfo.PatientAllInfoView;
import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO; import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO;
import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentDTO; import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentDTO;
import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper; import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper;
import com.xinelu.manage.mapper.labelfieldinfo.LabelFieldInfoMapper; import com.xinelu.manage.mapper.labelfieldinfo.LabelFieldInfoMapper;
import com.xinelu.manage.mapper.patientinfo.PatientAllInfoViewMapper;
import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper;
import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
import com.xinelu.manage.mapper.taskpartitiondict.TaskPartitionDictMapper;
import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService; import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService;
import com.xinelu.manage.vo.labelfieldcontent.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelField;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -22,6 +33,8 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 标签字段内容信息Service业务层处理 * 标签字段内容信息Service业务层处理
@ -35,6 +48,8 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
private LabelFieldContentMapper labelFieldContentMapper; private LabelFieldContentMapper labelFieldContentMapper;
@Resource @Resource
private LabelFieldInfoMapper labelFieldInfoMapper; private LabelFieldInfoMapper labelFieldInfoMapper;
@Resource
private PatientAllInfoViewMapper patientAllInfoViewMapper;
/** /**
* 查询标签字段内容信息 * 查询标签字段内容信息
@ -131,7 +146,6 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
BeanUtils.copyProperties(contentDTO, labelFieldContent); BeanUtils.copyProperties(contentDTO, labelFieldContent);
labelFieldContent.setFieldId(labelFieldContentAddDTO.getFieldId()); labelFieldContent.setFieldId(labelFieldContentAddDTO.getFieldId());
labelFieldContent.setFieldName(labelFieldContentAddDTO.getFieldName()); labelFieldContent.setFieldName(labelFieldContentAddDTO.getFieldName());
//labelFieldContent.setContentCode(Constants.CONTENT_ENCODING + systemCodeUtil.generateDepartCode(Constants.CONTENT_ENCODING));
labelFieldContent.setCreateBy(SecurityUtils.getUsername()); labelFieldContent.setCreateBy(SecurityUtils.getUsername());
labelFieldContent.setCreateTime(LocalDateTime.now()); labelFieldContent.setCreateTime(LocalDateTime.now());
if (labelFieldContentMapper.insertLabelFieldContent(labelFieldContent) <= 0) { if (labelFieldContentMapper.insertLabelFieldContent(labelFieldContent) <= 0) {
@ -144,27 +158,99 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
/** /**
* 分组信息 * 分组信息
* *
* @param taskPartitionDictName 分组名
* @return LabelFieldInfo * @return LabelFieldInfo
*/ */
@Override @Override
public AjaxResult groupingContent(String taskPartitionDictName) { public AjaxResult groupingContent() {
ArrayList<LabelFieldInfo> labelFieldInfos = new ArrayList<>(); //创建全部选项 TaskPartitionDictId =0为全部
if (StringUtils.isBlank(taskPartitionDictName)) { List<LabelFieldInfo> labelFieldInfoList = new ArrayList<>();
LabelFieldInfo labelFieldOne = new LabelFieldInfo();
labelFieldOne.setTaskPartitionDictId(0L);
labelFieldOne.setTaskPartitionDictName("全部");
labelFieldInfos.add(labelFieldOne);
}
List<LabelFieldInfo> labelFieldInfoList = labelFieldInfoMapper.taskPartitionDictIdList(taskPartitionDictName);
if (CollectionUtils.isNotEmpty(labelFieldInfoList)) {
labelFieldInfos.addAll(labelFieldInfoList);
}
if (StringUtils.isBlank(taskPartitionDictName)) {
LabelFieldInfo labelFieldInfo = new LabelFieldInfo(); LabelFieldInfo labelFieldInfo = new LabelFieldInfo();
labelFieldInfo.setTaskPartitionDictName("未分组"); labelFieldInfo.setTaskPartitionDictId(0L);
labelFieldInfos.add(labelFieldInfo); labelFieldInfo.setTaskPartitionDictName("全部");
labelFieldInfoList.add(labelFieldInfo);
//任务细分表数据
List<LabelFieldInfo> labelFieldInfos = labelFieldInfoMapper.taskPartitionDictIdList(null);
if (CollectionUtils.isNotEmpty(labelFieldInfos)) {
labelFieldInfoList.addAll(labelFieldInfos);
} }
return AjaxResult.success(labelFieldInfos); //未分组选项 TaskPartitionDictId =null 为未分组
LabelFieldInfo labelFieldInfoTow = new LabelFieldInfo();
labelFieldInfoTow.setTaskPartitionDictName("未分组");
labelFieldInfoList.add(labelFieldInfoTow);
return AjaxResult.success(labelFieldInfoList);
}
/**
* 画像查询
*
* @param taskPartitionDictId 细分id
* @param patientId 患者id
* @return GroupingValue
*/
@Override
public List<List<GroupingValue>> groupingValue(Long taskPartitionDictId, Long patientId) {
if (ObjectUtils.isEmpty(patientId)) {
throw new ServiceException("请选择患者!");
}
//根据patientId查询是否有已经维护的参数
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(taskPartitionDictId, patientId, null);
if (CollectionUtils.isNotEmpty(labelFieldContents)) {
Map<String, List<GroupingValue>> collect = labelFieldContents.stream().collect(Collectors.groupingBy(GroupingValue::getPortraitSn));
return new ArrayList<>(collect.values());
}
//查询未维护标签及从患者表取值
List<GroupingValue> labelFieldContentList = labelFieldContentMapper.groupingValue(taskPartitionDictId, null, null);
JSONObject paramsValue = getParamsValue(patientId);
if (CollectionUtils.isEmpty(labelFieldContentList)) {
return new ArrayList<>();
}
for (GroupingValue groupingValue : labelFieldContentList) {
//获取不同的文件路径
switch (groupingValue.getFieldName()) {
case "姓名":
String s = paramsValue.getOrDefault("patientName", "").toString();
groupingValue.setFieldValue(paramsValue.getOrDefault("patientName", "").toString());
break;
case "患者电话":
groupingValue.setFieldValue(paramsValue.getOrDefault("patientPhone", "").toString());
break;
case "性别":
groupingValue.setFieldValue(paramsValue.getOrDefault("sex", "").toString());
break;
case "医院":
groupingValue.setFieldValue(paramsValue.getOrDefault("hospitalAgencyName", "").toString());
break;
default:
break;
}
}
List<List<GroupingValue>> lists = new ArrayList<>();
lists.add(labelFieldContentList);
return lists;
}
/**
* 根据任务细分类型获取患者的真实信息
*
* @param patientId 患者主键
* @return 实际信息
*/
private JSONObject getParamsValue(Long patientId) {
JSONObject retObj;
List<PatientAllInfoView> patientAllInfoViews = patientAllInfoViewMapper.selectPatientAllInfoListViewByPatientId(patientId);
if (CollectionUtils.isEmpty(patientAllInfoViews) || ObjectUtils.isEmpty(patientAllInfoViews.get(0))) {
throw new ServiceException("患者信息获取错误,请联系管理员!");
}
PatientAllInfoView patientAllInfoView = patientAllInfoViews.get(0);
retObj = JSONObject.parseObject(JSONObject.toJSONString(patientAllInfoView));
// 性别转换成中文计算年龄
retObj.fluentPut("sex", PatientSexEnum.getInfoByCode(patientAllInfoView.getSex()).getInfo()).fluentPut("age", BaseUtil.getAge(patientAllInfoView.getBirthDate()));
return retObj;
}
@Override
public AjaxResult insertLabelField(LabelField labelField) {
return null;
} }
} }

View File

@ -0,0 +1,81 @@
package com.xinelu.manage.vo.labelfieldcontent;
import com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 标签字段内容信息对象
*
* @author xinelu
* @date 2024-03-11
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class GroupingValue extends LabelFieldInfo {
/**
* LabelFieldInfoId
*/
private Long labelFieldInfoId;
/**
* LabelFieldInfoId
*/
private Long labelFieldContentId;
/**
* 画像标签和知识库字段表id
*/
@ApiModelProperty(value = "画像标签和知识库字段表id")
private Long fieldId;
/**
* 字段名称
*/
@ApiModelProperty(value = "字段名称")
private String fieldName;
/**
* 字段编码同param_key字段值
*/
@ApiModelProperty(value = "字段编码同param_key字段值")
private String fieldCode;
/**
* 字段值同param_value
*/
@ApiModelProperty(value = "字段值同param_value")
private String fieldValue;
/**
* 画像流水号用年月日时分秒毫秒数字转成的字符串
*/
@ApiModelProperty(value = "画像流水号,用年月日时分秒毫秒数字转成的字符串")
private String portraitSn;
/**
* 患者ID
*/
@ApiModelProperty(value = "患者ID")
private Long patientId;
/**
* 画像状态FIELD已归档INUSE在用
*/
@ApiModelProperty(value = "画像状态")
private String portraitStatus;
/**
* 内容排序
*/
@ApiModelProperty(value = "内容排序")
private Integer contentSort;
/**
* 内容备注信息
*/
@ApiModelProperty(value = "内容备注信息")
private String contentRemark;
}

View File

@ -0,0 +1,11 @@
package com.xinelu.manage.vo.labelfieldcontent;
import lombok.Data;
import java.util.List;
@Data
public class LabelField {
private List<GroupingValue> groupingValues;
}

View File

@ -232,6 +232,44 @@
</where> </where>
</select> </select>
<select id="groupingValue" resultType="com.xinelu.manage.vo.labelfieldcontent.GroupingValue">
select
lfi.id labelFieldInfoId,
lfi.field_name,
lfi.field_code,
lfi.field_type,
lfi.field_sort,
lfi.field_remark,
lfi.task_partition_dict_id,
lfi.task_partition_dict_name,
lfi.task_type_id,
lfi.task_type_name,
lfc.id labelFieldContentId,
lfc.field_id,
lfc.field_name,
lfc.field_code,
lfc.field_value,
lfc.portrait_sn,
lfc.portrait_status,
lfc.content_sort
from label_field_info lfi
LEFT JOIN label_field_content lfc ON lfi.id =lfc.field_id
where 1=1
<if test="taskPartitionDictId != null and taskPartitionDictId != 0">
and lfi.task_partition_dict_id = #{taskPartitionDictId}
</if>
<if test="taskPartitionDictId == null">
and lfi.task_partition_dict_id is null
</if>
<if test="patientId != null">
and lfc.patient_id = #{patientId}
</if>
<if test="portraitStatus != null">
and lfc.portrait_status = #{portraitStatus}
</if>
Order by lfc.content_sort
</select>
<select id="selectByPatientId" resultType="com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo"> <select id="selectByPatientId" resultType="com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo">
select select
content.field_code, content.field_code,

View File

@ -216,10 +216,9 @@
<select id="taskPartitionDictIdList" resultType="com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo"> <select id="taskPartitionDictIdList" resultType="com.xinelu.manage.domain.labelfieldinfo.LabelFieldInfo">
select select
field_code, id taskPartitionDictId,
task_partition_dict_id, task_partition_name taskPartitionDictName
task_partition_dict_name from task_partition_dict
from label_field_info
<where> <where>
<if test="taskPartitionDictName != null and taskPartitionDictName != ''"> <if test="taskPartitionDictName != null and taskPartitionDictName != ''">
task_partition_dict_name like concat('%', #{taskPartitionDictName}, '%') task_partition_dict_name like concat('%', #{taskPartitionDictName}, '%')

View File

@ -73,4 +73,53 @@
where patient_id = #{patientId} where patient_id = #{patientId}
</select> </select>
<select id="selectPatientAllInfoListViewByPatientId"
resultType="com.xinelu.manage.domain.patientinfo.PatientAllInfoView">
select paiv.patient_id,
paiv.patient_name,
paiv.patient_phone,
paiv.family_member_phone,
paiv.birth_date,
paiv.card_no,
paiv.sex,
paiv.address,
paiv.patient_type,
paiv.patient_visit_record_id,
paiv.visit_method,
paiv.visit_date,
paiv.hospital_agency_name,
paiv.campus_agency_name,
paiv.department_name,
paiv.ward_name,
paiv.attending_physician_name,
paiv.main_diagnosis,
paiv.admission_time,
paiv.discharge_time,
paiv.hospitalization_days,
paiv.in_hospital_info,
paiv.out_hospital_info,
paiv.visit_serial_number,
paiv.in_hospital_number,
paiv.responsible_nurse,
paiv.surgical_name,
paiv.surgical_record,
paiv.sign_patient_record_id,
paiv.payment_status,
paiv.health_manage_name,
paiv.service_status,
paiv.sign_status,
paiv.billing_doctor_name,
paiv.sign_time,
paiv.package_name,
paiv.package_payment_status,
paiv.package_price,
paiv.service_start_time,
paiv.service_end_time,
paiv.package_term,
paiv.package_term_unit
from patient_all_info_view paiv
left join patient_info pi ON pi.id = paiv.patient_id
where paiv.patient_id = #{patientId}
Order BY pi.update_time
</select>
</mapper> </mapper>

View File

@ -874,7 +874,7 @@
left join special_disease_node sdn ON sdn.route_id = sdr.id left join special_disease_node sdn ON sdn.route_id = sdr.id
left join task_type_dict ttd ON ttd.task_type_code = sdn.task_type left join task_type_dict ttd ON ttd.task_type_code = sdn.task_type
left join task_partition_dict tpd on tpd.task_partition_code = sdn.task_subdivision left join task_partition_dict tpd on tpd.task_partition_code = sdn.task_subdivision
where sdr.id = #{specialDiseaseRouteId} and sdn.node_content like '%data-w-e-type%' where sdr.id = #{specialDiseaseRouteId}
and sdn.route_check_status = 'AGREE' and sdn.route_check_status = 'AGREE'
</select> </select>