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

dev_2.0.0
liu 1 year ago
parent 1a650a4df5
commit ce1c2acdfa

@ -3,6 +3,7 @@ package com.supervision.mapper;
import com.supervision.model.DiagnosisPrimary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -17,6 +18,8 @@ public interface DiagnosisPrimaryMapper extends BaseMapper<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(@Param("processId") String processId);
List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(@Param("processId") String processId);
}

@ -8,6 +8,7 @@ import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import org.apache.ibatis.annotations.Insert;
/**
*
@ -60,6 +61,7 @@ public class DefaultItemIndicator implements Serializable {
/**
*
*/
private LocalDateTime updateTime;
@TableField(exist = false)

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.annotations.Insert;
/**
*
@ -56,6 +57,12 @@ public class DiagnosisAncillaryRecord extends Model<DiagnosisAncillaryRecord> im
@ApiModelProperty("检查结果")
private String result;
@ApiModelProperty("是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
@ApiModelProperty("是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
/**
* ID
*/

@ -62,6 +62,12 @@ public class DiagnosisPhysicalRecord extends Model<DiagnosisPhysicalRecord> impl
@ApiModelProperty("体格检查结果")
private String result;
@ApiModelProperty("是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
@ApiModelProperty("是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
/**
* ID
*/

@ -41,8 +41,8 @@ public class DiagnosisPrimary implements Serializable {
@TableField(exist = false)
private String primaryDiagnosisName;
@ApiModelProperty("是否删除(0否1是)如删除,仅页面不显示")
private Integer deleteFlag;
@ApiModelProperty("是否排除(0否1是)")
private Integer excludeFlag;
@ApiModelProperty("患者病情(初步诊断填写)")
private String patientDiseaseInfo;

@ -67,6 +67,12 @@ public class DiagnosisQaRecord extends Model<DiagnosisQaRecord> implements Seria
@ApiModelProperty("回答语音文件ID")
private String answerWavId;
@ApiModelProperty("是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
@ApiModelProperty("是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
/**
* ID
*/

@ -3,6 +3,7 @@ package com.supervision.service;
import com.supervision.model.DiagnosisPrimary;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import java.util.List;
@ -15,4 +16,6 @@ public interface DiagnosisPrimaryService extends IService<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId);
List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId);
}

@ -5,6 +5,7 @@ import com.supervision.model.DiagnosisPrimary;
import com.supervision.service.DiagnosisPrimaryService;
import com.supervision.mapper.DiagnosisPrimaryMapper;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import org.springframework.stereotype.Service;
import java.util.List;
@ -22,6 +23,11 @@ public class DiagnosisPrimaryServiceImpl extends ServiceImpl<DiagnosisPrimaryMap
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
return this.baseMapper.queryAskPrimaryList(processId);
}
@Override
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId) {
return this.baseMapper.queryDiagnosticBasisListForPrimary(processId);
}
}

@ -0,0 +1,41 @@
package com.supervision.vo.ask;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import java.util.List;
@Data
public class DiagnosticBasisForPrimaryResVO {
@ApiModelProperty("本项ID")
private String id;
@ApiModelProperty("阶段,1问诊 2体格检查 3辅助检查")
private Integer type;
@ApiModelProperty("身体部位")
private String locationName;
@ApiModelProperty("检查类目")
private String category;
@ApiModelProperty("问诊项目")
private String item;
@ApiModelProperty("初步诊断名称")
private String primaryName;
@ApiModelProperty("初步诊断ID")
private String primaryId;
@ApiModelProperty("是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
@ApiModelProperty("是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
}

@ -9,6 +9,7 @@
<result property="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="primaryDiagnosisId" column="primary_diagnosis_id" jdbcType="VARCHAR"/>
<result property="patientDiseaseInfo" column="patient_disease_info" jdbcType="VARCHAR"/>
<result property="excludeFlag" column="exclude_flag" 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"/>
@ -25,11 +26,57 @@
<select id="queryAskPrimaryList" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
<where>
<if test="processId != null and processId != ''">
AND process_id = #{processId}
</if>
</where>
</select>
<select id="queryDiagnosticBasisListForPrimary"
resultType="com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO">
select t1.id as id,
1 as type,
null as locationName,
t4.name_zh_path as category,
t1.question as item,
null as primaryId,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_qa_record t1
left join vp_ask_patient_answer t2 on t1.answer_id = t2.id
left join vp_ask_template_question_library t3 on t2.library_question_id = t3.id
left join vp_common_dic t4 on t3.dict_id = t4.id
where t1.process_id = #{processId}
union
select t1.id as id,
2 as type,
t2.location_name as locationName,
t3.type as category,
t3.tool_name as item,
t1.primary_id as primaryId,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_physical_record t1
left join vp_config_physical_location t2 on t1.location_id = t2.id
left join vp_config_physical_tool t3 on t1.tool_id = t3.id
where t1.process_id = #{processId}
union
select t1.id as id,
3 as type,
t2.location_name as locationName,
t2.type as category,
t2.item_name as item,
t1.primary_id as primaryId,
t1.basis_confirm_flag as basisConfirmFlag,
t1.basis_identification_flag as basisIdentificationFlag
from vp_diagnosis_ancillary_record t1
left join vp_config_ancillary_item t2 on t1.item_id = t2.id
left join vp_disease_ancillary t3 on t1.ancillary_id = t3.id
where t1.process_id = #{processId}
</select>
</mapper>

@ -3,6 +3,8 @@ package com.supervision.controller;
import com.supervision.model.DiagnosisPrimary;
import com.supervision.model.Disease;
import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import com.supervision.service.AskPrimaryService;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
@ -39,15 +41,33 @@ public class AskPrimaryController {
askPrimaryService.modifyPrimaryDiseaseInfo(reqVO);
}
@ApiOperation("保存初步诊断")
@ApiOperation("新增初步诊断")
@PostMapping("savePrimary")
public void savePrimary(@RequestBody DiagnosisPrimary reqVO){
askPrimaryService.savePrimary(reqVO);
}
@ApiOperation("确认诊断时,修改初步诊断的信息")
@PostMapping("updatePrimaryByConfirm")
public void updatePrimaryByConfirm(@RequestBody DiagnosisPrimary reqVO){
askPrimaryService.updatePrimaryByConfirm(reqVO);
}
@ApiOperation("删除初步诊断")
@GetMapping("deletePrimary")
public void deletePrimary(String id){
askPrimaryService.deletePrimary(id);
}
@ApiOperation("查询初步诊断需要填写的诊断依据")
@GetMapping("queryDiagnosticBasisListForPrimary")
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId){
return askPrimaryService.queryDiagnosticBasisListForPrimary(processId);
}
@ApiOperation("保存诊断依据")
@PostMapping("saveDiagnosticBasis")
public void saveDiagnosticBasis(@RequestBody List<DiagnosticBasisForPrimaryReqVO> reqVO){
askPrimaryService.saveDiagnosticBasis(reqVO);
}
}

@ -0,0 +1,20 @@
package com.supervision.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DiagnosticBasisForPrimaryReqVO {
@ApiModelProperty("本项ID")
private String id;
@ApiModelProperty("阶段,1问诊 2体格检查 3辅助检查")
private Integer type;
@ApiModelProperty("是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
@ApiModelProperty("是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
}

@ -2,6 +2,8 @@ package com.supervision.service;
import com.supervision.model.DiagnosisPrimary;
import com.supervision.model.Disease;
import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
import org.springframework.web.bind.annotation.RequestBody;
@ -18,5 +20,11 @@ public interface AskPrimaryService {
void savePrimary(DiagnosisPrimary reqVO);
void updatePrimaryByConfirm(DiagnosisPrimary reqVO);
void deletePrimary(String id);
List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId);
void saveDiagnosticBasis(List<DiagnosticBasisForPrimaryReqVO> reqVO);
}

@ -54,7 +54,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
// 最终诊断结果,从初步诊断中获取
List<DiagnosisPrimary> list = diagnosisPrimaryService.lambdaQuery()
.eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
.eq(DiagnosisPrimary::getDeleteFlag, 0)
.eq(DiagnosisPrimary::getExcludeFlag,0)
.list();
if (CollectionUtil.isEmpty(list)){
throw new BusinessException("您还未进行有效的初步诊断!");

@ -1,10 +1,10 @@
package com.supervision.service.impl;
import com.supervision.model.DiagnosisPrimary;
import com.supervision.model.Disease;
import com.supervision.service.AskPrimaryService;
import com.supervision.service.DiagnosisPrimaryService;
import com.supervision.service.DiseaseService;
import com.supervision.exception.BusinessException;
import com.supervision.model.*;
import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import com.supervision.service.*;
import com.supervision.util.UserUtil;
import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
@ -22,6 +22,12 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
private final DiseaseService diseaseService;
private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService;
private final DiagnosisQaRecordService diagnosisQaRecordService;
@Override
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
return diagnosisPrimaryService.queryAskPrimaryList(processId);
@ -34,19 +40,71 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
@Override
public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) {
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo,reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId,reqVO.getId()).update();
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo, reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId, reqVO.getId()).update();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void savePrimary(DiagnosisPrimary reqVO) {
reqVO.setExcludeFlag(null);
reqVO.setCreateUserId(UserUtil.getUser().getId());
diagnosisPrimaryService.save(reqVO);
}
@Override
public void updatePrimaryByConfirm(DiagnosisPrimary reqVO) {
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getExcludeFlag,reqVO.getExcludeFlag())
.set(DiagnosisPrimary::getPatientDiseaseInfo,reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId,reqVO.getId()).update();
}
@Override
public void deletePrimary(String id) {
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getDeleteFlag,1).eq(DiagnosisPrimary::getId,id).update();
// 如果本项初步诊断已经做过了辅助检查和体格检查,则不允许删除
DiagnosisPrimary primary = diagnosisPrimaryService.getById(id);
Integer ancillaryCount = diagnosisAncillaryRecordService.lambdaQuery().eq(DiagnosisAncillaryRecord::getProcessId, primary.getProcessId()).count();
if (ancillaryCount > 0) {
throw new BusinessException("仅支持删除没有做过体格、辅助检查的初步诊断项目");
}
Integer physicalCount = diagnosisPhysicalRecordService.lambdaQuery().eq(DiagnosisPhysicalRecord::getProcessId, primary.getProcessId()).count();
if (physicalCount > 0) {
throw new BusinessException("仅支持删除没有做过体格、辅助检查的初步诊断项目");
}
diagnosisPrimaryService.lambdaUpdate().eq(DiagnosisPrimary::getId, id).remove();
}
/**
* ,
* @param processId ID
* @return
*/
@Override
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId) {
return diagnosisPrimaryService.queryDiagnosticBasisListForPrimary(processId);
}
@Override
public void saveDiagnosticBasis(List<DiagnosticBasisForPrimaryReqVO> reqVO) {
for (DiagnosticBasisForPrimaryReqVO node : reqVO) {
if (1 == node.getType()){
diagnosisQaRecordService.lambdaUpdate().set(DiagnosisQaRecord::getBasisConfirmFlag,node.getBasisConfirmFlag())
.set(DiagnosisQaRecord::getBasisIdentificationFlag,node.getBasisIdentificationFlag())
.eq(DiagnosisQaRecord::getId,node.getId()).update();
continue;
}
if (2 == node.getType()){
diagnosisPhysicalRecordService.lambdaUpdate().set(DiagnosisPhysicalRecord::getBasisConfirmFlag,node.getBasisConfirmFlag())
.set(DiagnosisPhysicalRecord::getBasisIdentificationFlag,node.getBasisIdentificationFlag())
.eq(DiagnosisPhysicalRecord::getId,node.getId()).update();
continue;
}
if (3 == node.getType()){
diagnosisAncillaryRecordService.lambdaUpdate().set(DiagnosisAncillaryRecord::getBasisConfirmFlag,node.getBasisConfirmFlag())
.set(DiagnosisAncillaryRecord::getBasisIdentificationFlag,node.getBasisIdentificationFlag())
.eq(DiagnosisAncillaryRecord::getId,node.getId()).update();
}
}
}
}

Loading…
Cancel
Save