提交诊断依据列表,初步诊断列表

dev_2.0.0
liu 1 year ago
parent b21a5f70e2
commit 7d444beed4

@ -0,0 +1,18 @@
package com.supervision.mapper;
import com.supervision.model.DiagnosisPrimaryRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author flevance
* @description vp_diagnosis_primary_relation()Mapper
* @createDate 2023-12-07 10:28:30
* @Entity com.supervision.model.DiagnosisPrimaryRelation
*/
public interface DiagnosisPrimaryRelationMapper extends BaseMapper<DiagnosisPrimaryRelation> {
}

@ -45,12 +45,6 @@ public class DiagnosisAncillaryRecord extends Model<DiagnosisAncillaryRecord> im
@ApiModelProperty("项目ID")
private String itemId;
/**
* ID
*/
@ApiModelProperty("初步诊断ID")
private String primaryId;
/**
*
*/

@ -50,12 +50,6 @@ public class DiagnosisPhysicalRecord extends Model<DiagnosisPhysicalRecord> impl
@ApiModelProperty("体格检查部位ID")
private String locationId;
/**
* ID
*/
@ApiModelProperty("初步诊断ID")
private String primaryId;
/**
*
*/

@ -0,0 +1,68 @@
package com.supervision.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
/**
*
* @TableName vp_diagnosis_primary_relation
*/
@TableName(value ="vp_diagnosis_primary_relation")
@Data
public class DiagnosisPrimaryRelation extends Model<DiagnosisPrimaryRelation> implements Serializable {
/**
*
*/
@TableId
private String id;
/**
* ID
*/
private String processId;
/**
* ID
*/
private String primaryId;
/**
* 1 (vp_diagnosis_qa_record) 2 (vp_diagnosis_physical_record) 3 (vp_diagnosis_ancillary_record)
*/
private Integer type;
/**
* ID
*/
private String relationId;
/**
* ID
*/
private String createUserId;
/**
*
*/
private LocalDateTime createTime;
/**
*
*/
private String updateUserId;
/**
*
*/
private LocalDateTime updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,13 @@
package com.supervision.service;
import com.supervision.model.DiagnosisPrimaryRelation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author flevance
* @description vp_diagnosis_primary_relation()Service
* @createDate 2023-12-07 10:28:30
*/
public interface DiagnosisPrimaryRelationService extends IService<DiagnosisPrimaryRelation> {
}

@ -0,0 +1,22 @@
package com.supervision.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.DiagnosisPrimaryRelation;
import com.supervision.service.DiagnosisPrimaryRelationService;
import com.supervision.mapper.DiagnosisPrimaryRelationMapper;
import org.springframework.stereotype.Service;
/**
* @author flevance
* @description vp_diagnosis_primary_relation()Service
* @createDate 2023-12-07 10:28:30
*/
@Service
public class DiagnosisPrimaryRelationServiceImpl extends ServiceImpl<DiagnosisPrimaryRelationMapper, DiagnosisPrimaryRelation>
implements DiagnosisPrimaryRelationService{
}

@ -28,9 +28,6 @@ public class AskPhysicalHistoryResVO {
@ApiModelProperty("体格检查结果")
private String result;
@ApiModelProperty("关联的初步诊断ID")
private String primaryId;
@ApiModelProperty("检查时间")
private LocalDateTime createTime;
}

@ -41,7 +41,6 @@
select t2.item_name as itemName,
t2.id as itemId,
t1.result as result,
t1.primary_id as primaryId,
t1.id as id,
t1.create_time as createTime
from vp_diagnosis_ancillary_record t1

@ -50,7 +50,6 @@
t4.id as locationId,
t1.id as id,
t1.result as result,
t1.primary_id as primaryId,
t1.create_time as createTime
from vp_diagnosis_physical_record t1
left join vp_config_physical_tool t3 on t1.tool_id = t3.id

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.supervision.mapper.DiagnosisPrimaryRelationMapper">
<resultMap id="BaseResultMap" type="com.supervision.model.DiagnosisPrimaryRelation">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="primaryId" column="primary_id" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="relationId" column="relation_id" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,process_id,primary_id,
type,relation_id,create_user_id,
create_time,update_user_id,update_time
</sql>
</mapper>

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
@ApiModel
@ -17,8 +18,8 @@ public class AskPhysicalResultReqVO {
@ApiModelProperty("位置编码")
private String locationCode;
@ApiModelProperty("初步诊断ID")
private String primaryId;
@ApiModelProperty("初步诊断ID列表")
private List<String> primaryIdList;
@NotBlank(message = "流程ID不能为空")
@ApiModelProperty("流程ID")

@ -1,6 +1,7 @@
package com.supervision.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.supervision.dto.DiseaseAncillaryDto;
import com.supervision.exception.BusinessException;
@ -56,10 +57,8 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
.orElseThrow(() -> new BusinessException("流程ID不能为空")).getProcessId()))
.orElseThrow(() -> new BusinessException("未找到流程ID"));
for (AskAncillaryBatchReqVO item : reqVO) {
for (String primaryId : item.getPrimaryId()) {
// 执行并保存结果
execSaveDiagnosisAncillaryRecord(item.getAncillaryItemId(), primaryId, process);
}
execSaveDiagnosisAncillaryRecord(item.getAncillaryItemId(), item.getPrimaryId(), process);
}
}
@ -68,14 +67,14 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
public DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
// 首先根据process_id查新到流程ID
Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
DiagnosisAncillaryRecord record = execSaveDiagnosisAncillaryRecord(reqVO.getItemId(), reqVO.getPrimaryId(), process);
DiagnosisAncillaryRecord record = execSaveDiagnosisAncillaryRecord(reqVO.getItemId(), CollUtil.newArrayList(reqVO.getPrimaryId()), process);
//重组返回结果
DiagnosisAncillaryRecordVo recordVo = BeanUtil.toBean(record, DiagnosisAncillaryRecordVo.class);
recordVo.setAncillaryName(record.getItemName());
return recordVo;
}
private DiagnosisAncillaryRecord execSaveDiagnosisAncillaryRecord(String itemId, String primaryId, Process process) {
private DiagnosisAncillaryRecord execSaveDiagnosisAncillaryRecord(String itemId, List<String> primaryIdList, Process process) {
// 找到对应的项目的检查结果
DiseaseAncillary diseaseAncillaryQueryBean = new DiseaseAncillary();
diseaseAncillaryQueryBean.setItemId(itemId);
@ -89,13 +88,25 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
DiagnosisAncillaryRecord record = new DiagnosisAncillaryRecord();
record.setProcessId(process.getId());
record.setItemId(itemId);
record.setPrimaryId(primaryId);
record.setAncillaryId(diseaseAncillary.getId());
record.setResult(diseaseAncillary.getResult());
record.setCreateUserId(UserUtil.getUser().getId());
record.setUpdateUserId(UserUtil.getUser().getId());
record.insert();
record.setItemName(diseaseAncillary.getItemName());
// 保存初步诊断的关联关系
for (String primaryId : primaryIdList) {
DiagnosisPrimaryRelation diagnosisPrimaryRelation = new DiagnosisPrimaryRelation();
diagnosisPrimaryRelation.setProcessId(process.getId());
diagnosisPrimaryRelation.setPrimaryId(primaryId);
diagnosisPrimaryRelation.setType(3);
diagnosisPrimaryRelation.setRelationId(record.getId());
diagnosisPrimaryRelation.insert();
}
return record;
}

@ -1,5 +1,6 @@
package com.supervision.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.supervision.exception.BusinessException;
@ -76,13 +77,25 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
diagnosisPhysicalRecord.setPhysicalId(result.getId());
diagnosisPhysicalRecord.setToolId(tool.getId());
diagnosisPhysicalRecord.setLocationId(location.getId());
diagnosisPhysicalRecord.setPrimaryId(reqVO.getPrimaryId());
diagnosisPhysicalRecord.setResult(result.getResult());
diagnosisPhysicalRecord.setCreateUserId(UserUtil.getUser().getCreateUserId());
diagnosisPhysicalRecord.setUpdateUserId(UserUtil.getUser().getCreateUserId());
diagnosisPhysicalRecord.insert();
return initDiagnosisPhysicalRecordVo(reqVO.getPrimaryId(), process.getId(), result, tool, location);
// 保存初步诊断
for (String primaryId : reqVO.getPrimaryIdList()) {
DiagnosisPrimaryRelation diagnosisPrimaryRelation = new DiagnosisPrimaryRelation();
diagnosisPrimaryRelation.setProcessId(process.getId());
diagnosisPrimaryRelation.setPrimaryId(primaryId);
diagnosisPrimaryRelation.setType(2);
diagnosisPrimaryRelation.setRelationId(diagnosisPhysicalRecord.getId());
diagnosisPrimaryRelation.insert();
}
DiagnosisPhysicalRecordVo resVo = BeanUtil.toBean(diagnosisPhysicalRecord, DiagnosisPhysicalRecordVo.class);
resVo.setLocationName(location.getLocationName());
resVo.setToolName(tool.getToolName());
return resVo;
}
@ -93,21 +106,6 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
}
private static DiagnosisPhysicalRecordVo initDiagnosisPhysicalRecordVo(String primaryId, String processId,
DiseasePhysical result, ConfigPhysicalTool tool,
ConfigPhysicalLocation location) {
DiagnosisPhysicalRecordVo diagnosisPhysicalRecordVo = new DiagnosisPhysicalRecordVo();
diagnosisPhysicalRecordVo.setProcessId(processId);
diagnosisPhysicalRecordVo.setToolId(tool.getToolName());
diagnosisPhysicalRecordVo.setToolName(tool.getToolName());
diagnosisPhysicalRecordVo.setLocationId(location.getId());
diagnosisPhysicalRecordVo.setLocationName(location.getLocationName());
diagnosisPhysicalRecordVo.setPrimaryId(primaryId);
diagnosisPhysicalRecordVo.setPhysicalId(result.getId());
diagnosisPhysicalRecordVo.setResult(result.getResult());
return diagnosisPhysicalRecordVo;
}
public static <K> Predicate<K> distinctPredicateNotNull(Function<K,Object> function){
ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>();
return t-> null != function.apply(t) && null == map.putIfAbsent(function.apply(t), true);

Loading…
Cancel
Save