标签修改
This commit is contained in:
parent
32fa03401e
commit
551e595909
@ -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,21 @@ public class LabelFieldContentController extends BaseController {
|
|||||||
* 分组信息
|
* 分组信息
|
||||||
*/
|
*/
|
||||||
@GetMapping("/groupingContent")
|
@GetMapping("/groupingContent")
|
||||||
public AjaxResult groupingContent(String taskPartitionDictName) {
|
public AjaxResult groupingContent(Long patientId) {
|
||||||
return labelFieldContentService.groupingContent(taskPartitionDictName);
|
return labelFieldContentService.groupingContent(patientId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 画像查询
|
||||||
|
*/
|
||||||
|
@GetMapping("/groupingValue")
|
||||||
|
public List<GroupingValue> groupingValue(Long taskPartitionDictId, Long patientId, Long signPatientManageRouteNodeId) {
|
||||||
|
return labelFieldContentService.groupingValue(taskPartitionDictId, patientId, signPatientManageRouteNodeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// @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 org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -78,4 +79,14 @@ public interface LabelFieldContentMapper {
|
|||||||
* @return LabelFieldContentVO
|
* @return LabelFieldContentVO
|
||||||
*/
|
*/
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -80,7 +80,7 @@ public interface LabelFieldInfoMapper {
|
|||||||
int countByFieldNameExcludingId(@Param("id") Long id, @Param("fieldType") String fieldType, @Param("fieldName") String fieldName);
|
int countByFieldNameExcludingId(@Param("id") Long id, @Param("fieldType") String fieldType, @Param("fieldName") String fieldName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组信息
|
* 分组信息 (暂不使用)
|
||||||
*
|
*
|
||||||
* @param taskPartitionDictName 分组名
|
* @param taskPartitionDictName 分组名
|
||||||
* @return LabelFieldInfo
|
* @return LabelFieldInfo
|
||||||
|
|||||||
@ -5,9 +5,10 @@ import com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto;
|
|||||||
import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto;
|
import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto;
|
||||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
||||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 签约患者管理任务路径节点Mapper接口
|
* 签约患者管理任务路径节点Mapper接口
|
||||||
*
|
*
|
||||||
@ -23,12 +24,13 @@ public interface SignPatientManageRouteNodeMapper {
|
|||||||
*/
|
*/
|
||||||
SignPatientManageRouteNode selectSignPatientManageRouteNodeById(Long id);
|
SignPatientManageRouteNode selectSignPatientManageRouteNodeById(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询患者管理路径节点
|
* 查询患者管理路径节点
|
||||||
* @param patientTaskDto 任务查询传输对象
|
*
|
||||||
* @return 患者管理任务路径节点
|
* @param patientTaskDto 任务查询传输对象
|
||||||
*/
|
* @return 患者管理任务路径节点
|
||||||
List<SignPatientManageRouteNode> getNodeList(PatientTaskDto patientTaskDto);
|
*/
|
||||||
|
List<SignPatientManageRouteNode> getNodeList(PatientTaskDto patientTaskDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询签约患者管理任务路径节点列表
|
* 查询签约患者管理任务路径节点列表
|
||||||
@ -38,7 +40,8 @@ public interface SignPatientManageRouteNodeMapper {
|
|||||||
*/
|
*/
|
||||||
public List<SignPatientManageRouteNode> selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
public List<SignPatientManageRouteNode> selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||||
|
|
||||||
List<PatientManageNodeListVo> selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
List<PatientManageNodeListVo> selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增签约患者管理任务路径节点
|
* 新增签约患者管理任务路径节点
|
||||||
*
|
*
|
||||||
@ -47,7 +50,7 @@ public interface SignPatientManageRouteNodeMapper {
|
|||||||
*/
|
*/
|
||||||
public int insertSignPatientManageRouteNode(SignPatientManageRouteNode signPatientManageRouteNode);
|
public int insertSignPatientManageRouteNode(SignPatientManageRouteNode signPatientManageRouteNode);
|
||||||
|
|
||||||
int insertBatch(@Param("nodeList") List<SignPatientManageRouteNode> nodeList);
|
int insertBatch(@Param("nodeList") List<SignPatientManageRouteNode> nodeList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改签约患者管理任务路径节点
|
* 修改签约患者管理任务路径节点
|
||||||
@ -81,16 +84,26 @@ public interface SignPatientManageRouteNodeMapper {
|
|||||||
*/
|
*/
|
||||||
int deleteRouteNodeByManageRouteId(Long manageRouteId);
|
int deleteRouteNodeByManageRouteId(Long manageRouteId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询患者任务列表
|
* 查询患者任务列表
|
||||||
* @param patientTaskDto 患者任务列表查询传输对象
|
*
|
||||||
* @return 患者任务列表
|
* @param patientTaskDto 患者任务列表查询传输对象
|
||||||
*/
|
* @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);
|
||||||
|
|
||||||
int updateMessageStatus(SignPatientManageRouteNode signPatientManageRouteNode);
|
int updateMessageStatus(SignPatientManageRouteNode signPatientManageRouteNode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (暂不使用)
|
||||||
|
*
|
||||||
|
* @param patientId a
|
||||||
|
* @param taskPartitionDictId a
|
||||||
|
* @return SignPatientManageRouteNode
|
||||||
|
*/
|
||||||
|
SignPatientManageRouteNode selectNodeByPatientId(Long patientId, Long taskPartitionDictId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
@ -60,4 +59,12 @@ public interface TaskPartitionDictMapper {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int deleteTaskPartitionDictByIds(Long[] ids);
|
int deleteTaskPartitionDictByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询任务细分字典
|
||||||
|
*
|
||||||
|
* @param code 任务细分字典主键
|
||||||
|
* @return 任务细分字典
|
||||||
|
*/
|
||||||
|
TaskPartitionDict selectTaskPartitionDictByCode(String code);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ 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 java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -69,8 +70,18 @@ public interface ILabelFieldContentService {
|
|||||||
/**
|
/**
|
||||||
* 分组信息
|
* 分组信息
|
||||||
*
|
*
|
||||||
* @param taskPartitionDictName 分组名
|
* @param patientId 患者信息
|
||||||
* @return LabelFieldInfo
|
* @return LabelFieldInfo
|
||||||
*/
|
*/
|
||||||
AjaxResult groupingContent(String taskPartitionDictName);
|
AjaxResult groupingContent(Long patientId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 画像查询
|
||||||
|
*
|
||||||
|
* @param taskPartitionDictId 细分id
|
||||||
|
* @param patientId 患者id
|
||||||
|
* @param signPatientManageRouteNodeId 节点id
|
||||||
|
* @return GroupingValue
|
||||||
|
*/
|
||||||
|
List<GroupingValue> groupingValue(Long taskPartitionDictId, Long patientId, Long signPatientManageRouteNodeId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,33 @@
|
|||||||
package com.xinelu.manage.service.labelfieldcontent.impl;
|
package com.xinelu.manage.service.labelfieldcontent.impl;
|
||||||
|
|
||||||
|
import com.xinelu.common.constant.TaskCreateTypeConstant;
|
||||||
import com.xinelu.common.core.domain.AjaxResult;
|
import com.xinelu.common.core.domain.AjaxResult;
|
||||||
import com.xinelu.common.exception.ServiceException;
|
import com.xinelu.common.exception.ServiceException;
|
||||||
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.patientinfo.PatientInfo;
|
||||||
|
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||||
|
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||||
|
import com.xinelu.manage.domain.taskpartitiondict.TaskPartitionDict;
|
||||||
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.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.specialdiseasenode.PatientSpecialDiseaseNodeVo;
|
||||||
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.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jsoup.Jsoup;
|
||||||
|
import org.jsoup.nodes.Document;
|
||||||
|
import org.jsoup.nodes.Element;
|
||||||
|
import org.jsoup.select.Elements;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -34,7 +48,15 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
|
|||||||
@Resource
|
@Resource
|
||||||
private LabelFieldContentMapper labelFieldContentMapper;
|
private LabelFieldContentMapper labelFieldContentMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private LabelFieldInfoMapper labelFieldInfoMapper;
|
private SignPatientManageRouteMapper signPatientManageRouteMapper;
|
||||||
|
@Resource
|
||||||
|
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
|
||||||
|
@Resource
|
||||||
|
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
|
||||||
|
@Resource
|
||||||
|
private PatientInfoMapper patientInfoMapper;
|
||||||
|
@Resource
|
||||||
|
private TaskPartitionDictMapper taskPartitionDictMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询标签字段内容信息
|
* 查询标签字段内容信息
|
||||||
@ -131,7 +153,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 +165,75 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
|
|||||||
/**
|
/**
|
||||||
* 分组信息
|
* 分组信息
|
||||||
*
|
*
|
||||||
* @param taskPartitionDictName 分组名
|
* @param patientId 患者信息
|
||||||
* @return LabelFieldInfo
|
* @return LabelFieldInfo
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult groupingContent(String taskPartitionDictName) {
|
public AjaxResult groupingContent(Long patientId) {
|
||||||
ArrayList<LabelFieldInfo> labelFieldInfos = new ArrayList<>();
|
//创建全部选项 TaskPartitionDictId =0为全部
|
||||||
if (StringUtils.isBlank(taskPartitionDictName)) {
|
List<PatientSpecialDiseaseNodeVo> patientSpecialDiseaseNode = new ArrayList<>();
|
||||||
LabelFieldInfo labelFieldOne = new LabelFieldInfo();
|
PatientSpecialDiseaseNodeVo specialDiseaseNode = new PatientSpecialDiseaseNodeVo();
|
||||||
labelFieldOne.setTaskPartitionDictId(0L);
|
specialDiseaseNode.setTaskPartitionDictId(0L);
|
||||||
labelFieldOne.setTaskPartitionDictName("全部");
|
specialDiseaseNode.setTaskPartitionDictName("全部");
|
||||||
labelFieldInfos.add(labelFieldOne);
|
patientSpecialDiseaseNode.add(specialDiseaseNode);
|
||||||
|
// 查询最新一次签约记录
|
||||||
|
PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(patientId);
|
||||||
|
if (ObjectUtils.isEmpty(patientInfo)) {
|
||||||
|
throw new ServiceException("请选择患者!");
|
||||||
}
|
}
|
||||||
List<LabelFieldInfo> labelFieldInfoList = labelFieldInfoMapper.taskPartitionDictIdList(taskPartitionDictName);
|
SignPatientManageRoute routeQuery = new SignPatientManageRoute();
|
||||||
if (CollectionUtils.isNotEmpty(labelFieldInfoList)) {
|
routeQuery.setSignPatientRecordId(patientInfo.getSignPatientRecordId());
|
||||||
labelFieldInfos.addAll(labelFieldInfoList);
|
routeQuery.setTaskCreateType(TaskCreateTypeConstant.MANUAL_MATCHE);
|
||||||
|
List<SignPatientManageRoute> manageRouteList = signPatientManageRouteMapper.selectSignPatientManageRouteList(routeQuery);
|
||||||
|
if (CollectionUtils.isEmpty(manageRouteList)) {
|
||||||
|
throw new ServiceException("未找到签约管理路径");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(taskPartitionDictName)) {
|
// 根据专病路径查询专病节点信息
|
||||||
LabelFieldInfo labelFieldInfo = new LabelFieldInfo();
|
List<PatientSpecialDiseaseNodeVo> patientSpecialDiseaseNodeVos = specialDiseaseNodeMapper.selectRouteNodeByRouteId(manageRouteList.get(0).getRouteId());
|
||||||
labelFieldInfo.setTaskPartitionDictName("未分组");
|
if (CollectionUtils.isNotEmpty(patientSpecialDiseaseNodeVos)) {
|
||||||
labelFieldInfos.add(labelFieldInfo);
|
patientSpecialDiseaseNode.addAll(patientSpecialDiseaseNodeVos);
|
||||||
}
|
}
|
||||||
return AjaxResult.success(labelFieldInfos);
|
//未分组选项 TaskPartitionDictId =null 为未分组
|
||||||
|
PatientSpecialDiseaseNodeVo patientSpecialDiseaseNodeVo = new PatientSpecialDiseaseNodeVo();
|
||||||
|
patientSpecialDiseaseNodeVo.setTaskPartitionDictName("未分组");
|
||||||
|
patientSpecialDiseaseNode.add(patientSpecialDiseaseNodeVo);
|
||||||
|
return AjaxResult.success(patientSpecialDiseaseNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 画像查询
|
||||||
|
*
|
||||||
|
* @param taskPartitionDictId 细分id
|
||||||
|
* @param patientId 患者id
|
||||||
|
* @param signPatientManageRouteNodeId 节点id
|
||||||
|
* @return GroupingValue
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GroupingValue> groupingValue(Long taskPartitionDictId, Long patientId, Long signPatientManageRouteNodeId) {
|
||||||
|
if (ObjectUtils.isEmpty(patientId)) {
|
||||||
|
throw new ServiceException("请选择患者!");
|
||||||
|
}
|
||||||
|
//根据patientId查询是否有已经维护的参数
|
||||||
|
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(taskPartitionDictId, patientId, null);
|
||||||
|
if (CollectionUtils.isNotEmpty(labelFieldContents)) {
|
||||||
|
return labelFieldContents;
|
||||||
|
}
|
||||||
|
//未维护时提取
|
||||||
|
SignPatientManageRouteNode specialDiseaseNode = signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(signPatientManageRouteNodeId);
|
||||||
|
TaskPartitionDict taskPartitionDict = taskPartitionDictMapper.selectTaskPartitionDictByCode(specialDiseaseNode.getTaskSubdivision());
|
||||||
|
if (StringUtils.isNotBlank(specialDiseaseNode.getNodeContent()) && specialDiseaseNode.getNodeContent().contains("data-fieldMark")) {
|
||||||
|
Document document = Jsoup.parse(specialDiseaseNode.getNodeContent());
|
||||||
|
// 需要提取的span
|
||||||
|
Elements spanList = document.select("span[data-w-e-type]");
|
||||||
|
GroupingValue groupingValue = new GroupingValue();
|
||||||
|
for (Element element : spanList) {
|
||||||
|
String filename = element.attr("data-filename");
|
||||||
|
groupingValue.setFieldName(filename);
|
||||||
|
groupingValue.setTaskPartitionDictId(taskPartitionDict.getId());
|
||||||
|
groupingValue.setTaskPartitionDictName(taskPartitionDict.getTaskPartitionName());
|
||||||
|
labelFieldContents.add(groupingValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return labelFieldContents;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
@ -231,4 +231,42 @@
|
|||||||
</if>
|
</if>
|
||||||
</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>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -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}, '%')
|
||||||
|
|||||||
@ -782,4 +782,70 @@
|
|||||||
set message_status = #{messageStatus}
|
set message_status = #{messageStatus}
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="selectNodeByPatientId"
|
||||||
|
resultType="com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode">
|
||||||
|
select id,
|
||||||
|
manage_route_id,
|
||||||
|
manage_route_name,
|
||||||
|
route_node_id,
|
||||||
|
route_node_name,
|
||||||
|
route_node_day,
|
||||||
|
task_type,
|
||||||
|
task_status,
|
||||||
|
task_subdivision,
|
||||||
|
second_classify_describe,
|
||||||
|
execute_time,
|
||||||
|
phone_push_sign,
|
||||||
|
phone_id,
|
||||||
|
phone_template_id,
|
||||||
|
phone_template_name,
|
||||||
|
phone_node_content,
|
||||||
|
phone_redial_times,
|
||||||
|
phone_time_interval,
|
||||||
|
phone_message_remind,
|
||||||
|
phone_message_template_id,
|
||||||
|
phone_message_template_name,
|
||||||
|
question_info_id,
|
||||||
|
questionnaire_name,
|
||||||
|
questionnaire_content,
|
||||||
|
question_expiration_date,
|
||||||
|
propaganda_info_id,
|
||||||
|
propaganda_title,
|
||||||
|
propaganda_content,
|
||||||
|
message_push_sign,
|
||||||
|
message_template_id,
|
||||||
|
message_template_name,
|
||||||
|
message_preview,
|
||||||
|
message_node_content,
|
||||||
|
official_push_sign,
|
||||||
|
official_template_id,
|
||||||
|
official_template_name,
|
||||||
|
official_remind_content,
|
||||||
|
official_node_content,
|
||||||
|
applet_push_sign,
|
||||||
|
applet_template_id,
|
||||||
|
applet_template_name,
|
||||||
|
applet_remind_content,
|
||||||
|
applet_prompt_description,
|
||||||
|
applet_node_content,
|
||||||
|
follow_template_id,
|
||||||
|
follow_template_name,
|
||||||
|
follow_content,
|
||||||
|
route_check_status,
|
||||||
|
route_check_person,
|
||||||
|
route_check_date,
|
||||||
|
route_check_remark,
|
||||||
|
route_node_remark,
|
||||||
|
node_execute_status,
|
||||||
|
route_handle_remark,
|
||||||
|
route_handle_id,
|
||||||
|
route_handle_person,
|
||||||
|
route_link,
|
||||||
|
text_remind_content,
|
||||||
|
node_content,
|
||||||
|
message_status,
|
||||||
|
del_flag
|
||||||
|
from sign_patient_manage_route_node
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -856,27 +856,27 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectRouteNodeByRouteId" resultType="com.xinelu.manage.vo.specialdiseasenode.PatientSpecialDiseaseNodeVo">
|
<select id="selectRouteNodeByRouteId" resultType="com.xinelu.manage.vo.specialdiseasenode.PatientSpecialDiseaseNodeVo">
|
||||||
select sdr.id routeId,
|
select sdr.id routeId,
|
||||||
sdr.route_name routeName,
|
sdr.route_name routeName,
|
||||||
sdn.id as routeNodeId,
|
sdn.id as routeNodeId,
|
||||||
sdn.route_node_name routeNodeName,
|
sdn.route_node_name routeNodeName,
|
||||||
sdn.route_node_day routeNodeDay,
|
sdn.route_node_day routeNodeDay,
|
||||||
sdn.task_type,
|
sdn.task_type,
|
||||||
sdn.task_subdivision,
|
sdn.task_subdivision,
|
||||||
sdn.route_check_status routeCheckStatus,
|
sdn.route_check_status routeCheckStatus,
|
||||||
ttd.id taskTypeId,
|
ttd.id taskTypeId,
|
||||||
ttd.task_type_name taskTypeName,
|
ttd.task_type_name taskTypeName,
|
||||||
ttd.task_type_code taskTypeCode,
|
ttd.task_type_code taskTypeCode,
|
||||||
tpd.id taskPartitionDictId,
|
tpd.id taskPartitionDictId,
|
||||||
tpd.task_partition_name taskPartitionDictName,
|
tpd.task_partition_name taskPartitionDictName,
|
||||||
tpd.task_partition_code taskPartitionCode
|
tpd.task_partition_code taskPartitionCode
|
||||||
from special_disease_route sdr
|
from special_disease_route sdr
|
||||||
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>
|
||||||
|
|
||||||
<select id="selectSpecialDiseaseRouteIds" resultType="java.lang.Long">
|
<select id="selectSpecialDiseaseRouteIds" resultType="java.lang.Long">
|
||||||
select id
|
select id
|
||||||
|
|||||||
@ -206,4 +206,10 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="selectTaskPartitionDictByCode"
|
||||||
|
resultType="com.xinelu.manage.domain.taskpartitiondict.TaskPartitionDict">
|
||||||
|
<include refid="selectTaskPartitionDictVo"/>
|
||||||
|
where task_partition_code = #{code}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user