路径审核。

This commit is contained in:
haown 2024-06-27 17:23:16 +08:00
parent 070981b54d
commit f45b9d207a
5 changed files with 39 additions and 24 deletions

View File

@ -13,7 +13,6 @@ import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService;
import com.xinelu.manage.vo.labelfieldcontent.GroupingValue; import com.xinelu.manage.vo.labelfieldcontent.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelField; import com.xinelu.manage.vo.labelfieldcontent.LabelField;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -128,7 +127,7 @@ public class LabelFieldContentController extends BaseController {
* 画像查询 * 画像查询
*/ */
@GetMapping("/getPortaitByPatient") @GetMapping("/getPortaitByPatient")
public R<List<Map<String, List<List<GroupingValue>>>>> getPortaitByPatient(Long patientId) { public R<List<List<GroupingValue>>> getPortaitByPatient(Long patientId) {
return R.ok(labelFieldContentService.getPortaitByPatient(patientId)); return R.ok(labelFieldContentService.getPortaitByPatient(patientId));
} }
} }

View File

@ -5,9 +5,7 @@ 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.GroupingValue;
import com.xinelu.manage.vo.labelfieldcontent.LabelField; import com.xinelu.manage.vo.labelfieldcontent.LabelField;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 标签字段内容信息Service接口 * 标签字段内容信息Service接口
@ -96,5 +94,5 @@ public interface ILabelFieldContentService {
/** /**
* 画像审核->查询患者画像信息 * 画像审核->查询患者画像信息
*/ */
List<Map<String, List<List<GroupingValue>>>> getPortaitByPatient(Long patientId); List<List<GroupingValue>> getPortaitByPatient(Long patientId);
} }

View File

@ -3,6 +3,7 @@ package com.xinelu.manage.service.labelfieldcontent.impl;
import com.alibaba.fastjson2.JSONObject; 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.enums.PatientSexEnum;
import com.xinelu.common.enums.PortraitStatusEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.BaseUtil; import com.xinelu.common.utils.BaseUtil;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
@ -25,7 +26,6 @@ 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.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -148,6 +148,7 @@ 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.setPortraitStatus(PortraitStatusEnum.INUSE.getInfo());
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) {
@ -285,28 +286,30 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
return AjaxResult.success(); return AjaxResult.success();
} }
@Override public List<Map<String, List<List<GroupingValue>>>> getPortaitByPatient(Long patientId) { @Override public List<List<GroupingValue>> getPortaitByPatient(Long patientId) {
List<Map<String, List<List<GroupingValue>>>> retMap = new ArrayList<>(); //List<Map<String, List<List<GroupingValue>>>> retMap = new ArrayList<>();
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(null, patientId, null); List<List<GroupingValue>> retList = new ArrayList<>();
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(0L, patientId, null);
if (CollectionUtils.isEmpty(labelFieldContents)) { if (CollectionUtils.isEmpty(labelFieldContents)) {
return null; return null;
} }
retList.add(labelFieldContents);
// 按照任务细分分组 // 按照任务细分分组
Map<Long, List<GroupingValue>> groupByPartition = labelFieldContents.stream().collect(Collectors.groupingBy(GroupingValue::getTaskPartitionDictId)); //Map<Long, List<GroupingValue>> groupByPartition = labelFieldContents.stream().collect(Collectors.groupingBy(GroupingValue::getTaskPartitionDictId));
for (Long taskPartitionDictId : groupByPartition.keySet()) { //for (Long taskPartitionDictId : groupByPartition.keySet()) {
Map<String, List<List<GroupingValue>>> retObj = new HashMap<>(); // Map<String, List<List<GroupingValue>>> retObj = new HashMap<>();
List<List<GroupingValue>> lists = new ArrayList<>(); // List<List<GroupingValue>> lists = new ArrayList<>();
// 按照sn分组 // // 按照sn分组
List<GroupingValue> partitionList = groupByPartition.get(taskPartitionDictId); // List<GroupingValue> partitionList = groupByPartition.get(taskPartitionDictId);
Map<String, List<GroupingValue>> groupBySn = partitionList.stream().collect(Collectors.groupingBy(GroupingValue::getPortraitSn)); // Map<String, List<GroupingValue>> groupBySn = partitionList.stream().collect(Collectors.groupingBy(GroupingValue::getPortraitSn));
for (String sn : groupBySn.keySet()) { // for (String sn : groupBySn.keySet()) {
lists.add(groupBySn.get(sn)); // lists.add(groupBySn.get(sn));
} // }
retObj.put(partitionList.get(0).getTaskPartitionDictName(), lists); // retObj.put(partitionList.get(0).getTaskPartitionDictName(), lists);
retMap.add(retObj); // retMap.add(retObj);
} //}
return retMap; return retList;
} }
/** /**

View File

@ -170,4 +170,17 @@ public class PatientVisitRecordVo {
/** 手术记录 */ /** 手术记录 */
@ApiModelProperty(value = "手术记录") @ApiModelProperty(value = "手术记录")
private String surgicalRecord; private String surgicalRecord;
/**
* 画像审核状态同意AGREE不同意DISAGREE
*/
@ApiModelProperty(value = "画像审核状态同意AGREE不同意DISAGREE")
private String portaitCheckStatus;
/**
* 画像审核时间
*/
@ApiModelProperty(value = "画像审核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime portaitCheckDate;
} }

View File

@ -104,9 +104,11 @@
patient.hospital_agency_id, patient.hospital_agency_name, patient.campus_agency_id, patient.campus_agency_name, patient.hospital_agency_id, patient.hospital_agency_name, patient.campus_agency_id, patient.campus_agency_name,
patient.department_id, patient.department_name, patient.ward_id, patient.ward_name, patient.patient_source, patient.department_id, patient.department_name, patient.ward_id, patient.ward_name, patient.patient_source,
record.id as patientVisitRecordId, record.visit_method, record.visit_date, record.main_diagnosis, record.id as patientVisitRecordId, record.visit_method, record.visit_date, record.main_diagnosis,
record.admission_time, record.discharge_time, record.in_hospital_info, record.out_hospital_info, record.surgical_name, record.surgical_record record.admission_time, record.discharge_time, record.in_hospital_info, record.out_hospital_info, record.surgical_name, record.surgical_record,
sign.portait_check_status, sign.portait_check_date
from patient_info patient from patient_info patient
left join patient_visit_record record on patient.patient_visit_record_id = record.id left join patient_visit_record record on patient.patient_visit_record_id = record.id
left join sign_patient_record sign on sign.id = patient.sign_patient_record_id
where patient.id = #{patientId} where patient.id = #{patientId}
</select> </select>