路径审核。

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.LabelField;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
@ -128,7 +127,7 @@ public class LabelFieldContentController extends BaseController {
* 画像查询
*/
@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));
}
}

View File

@ -5,9 +5,7 @@ import com.xinelu.manage.domain.labelfieldcontent.LabelFieldContent;
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.Map;
/**
* 标签字段内容信息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.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.PatientSexEnum;
import com.xinelu.common.enums.PortraitStatusEnum;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.BaseUtil;
import com.xinelu.common.utils.SecurityUtils;
@ -25,7 +26,6 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -148,6 +148,7 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
BeanUtils.copyProperties(contentDTO, labelFieldContent);
labelFieldContent.setFieldId(labelFieldContentAddDTO.getFieldId());
labelFieldContent.setFieldName(labelFieldContentAddDTO.getFieldName());
labelFieldContent.setPortraitStatus(PortraitStatusEnum.INUSE.getInfo());
labelFieldContent.setCreateBy(SecurityUtils.getUsername());
labelFieldContent.setCreateTime(LocalDateTime.now());
if (labelFieldContentMapper.insertLabelFieldContent(labelFieldContent) <= 0) {
@ -285,28 +286,30 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
return AjaxResult.success();
}
@Override public List<Map<String, List<List<GroupingValue>>>> getPortaitByPatient(Long patientId) {
List<Map<String, List<List<GroupingValue>>>> retMap = new ArrayList<>();
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(null, patientId, null);
@Override public List<List<GroupingValue>> getPortaitByPatient(Long patientId) {
//List<Map<String, List<List<GroupingValue>>>> retMap = new ArrayList<>();
List<List<GroupingValue>> retList = new ArrayList<>();
List<GroupingValue> labelFieldContents = labelFieldContentMapper.groupingValue(0L, patientId, null);
if (CollectionUtils.isEmpty(labelFieldContents)) {
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()) {
Map<String, List<List<GroupingValue>>> retObj = new HashMap<>();
List<List<GroupingValue>> lists = new ArrayList<>();
// 按照sn分组
List<GroupingValue> partitionList = groupByPartition.get(taskPartitionDictId);
Map<String, List<GroupingValue>> groupBySn = partitionList.stream().collect(Collectors.groupingBy(GroupingValue::getPortraitSn));
for (String sn : groupBySn.keySet()) {
lists.add(groupBySn.get(sn));
}
retObj.put(partitionList.get(0).getTaskPartitionDictName(), lists);
retMap.add(retObj);
}
return retMap;
//for (Long taskPartitionDictId : groupByPartition.keySet()) {
// Map<String, List<List<GroupingValue>>> retObj = new HashMap<>();
// List<List<GroupingValue>> lists = new ArrayList<>();
// // 按照sn分组
// List<GroupingValue> partitionList = groupByPartition.get(taskPartitionDictId);
// Map<String, List<GroupingValue>> groupBySn = partitionList.stream().collect(Collectors.groupingBy(GroupingValue::getPortraitSn));
// for (String sn : groupBySn.keySet()) {
// lists.add(groupBySn.get(sn));
// }
// retObj.put(partitionList.get(0).getTaskPartitionDictName(), lists);
// retMap.add(retObj);
//}
return retList;
}
/**

View File

@ -170,4 +170,17 @@ public class PatientVisitRecordVo {
/** 手术记录 */
@ApiModelProperty(value = "手术记录")
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.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.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
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}
</select>