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:
commit
c8bf7350a3
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 患者主键
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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,
|
||||||
|
|||||||
@ -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}, '%')
|
||||||
|
|||||||
@ -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>
|
||||||
@ -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>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user