Merge remote-tracking branch 'origin/dev_2.0.0' into dev_2.0.0

dev_2.0.0
xueqingkun 1 year ago
commit ba61e59b6f

@ -3,6 +3,7 @@ package com.supervision.mapper;
import com.supervision.model.DiagnosisPrimary; import com.supervision.model.DiagnosisPrimary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -17,6 +18,8 @@ public interface DiagnosisPrimaryMapper extends BaseMapper<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(@Param("processId") String processId); 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 java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
import org.apache.ibatis.annotations.Insert;
/** /**
* *
@ -60,6 +61,7 @@ public class DefaultItemIndicator implements Serializable {
/** /**
* *
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
@TableField(exist = false) @TableField(exist = false)

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

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

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

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

@ -3,6 +3,7 @@ package com.supervision.service;
import com.supervision.model.DiagnosisPrimary; import com.supervision.model.DiagnosisPrimary;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import java.util.List; import java.util.List;
@ -15,4 +16,6 @@ public interface DiagnosisPrimaryService extends IService<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId); 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.service.DiagnosisPrimaryService;
import com.supervision.mapper.DiagnosisPrimaryMapper; import com.supervision.mapper.DiagnosisPrimaryMapper;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -22,6 +23,11 @@ public class DiagnosisPrimaryServiceImpl extends ServiceImpl<DiagnosisPrimaryMap
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) { public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
return this.baseMapper.queryAskPrimaryList(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="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="primaryDiagnosisId" column="primary_diagnosis_id" jdbcType="VARCHAR"/> <result property="primaryDiagnosisId" column="primary_diagnosis_id" jdbcType="VARCHAR"/>
<result property="patientDiseaseInfo" column="patient_disease_info" 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="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@ -25,11 +26,57 @@
<select id="queryAskPrimaryList" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO"> <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 select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1 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> <where>
<if test="processId != null and processId != ''"> <if test="processId != null and processId != ''">
AND process_id = #{processId} AND process_id = #{processId}
</if> </if>
</where> </where>
</select> </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> </mapper>

@ -3,6 +3,8 @@ package com.supervision.controller;
import com.supervision.model.DiagnosisPrimary; import com.supervision.model.DiagnosisPrimary;
import com.supervision.model.Disease; 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.service.AskPrimaryService;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO; import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
@ -39,15 +41,33 @@ public class AskPrimaryController {
askPrimaryService.modifyPrimaryDiseaseInfo(reqVO); askPrimaryService.modifyPrimaryDiseaseInfo(reqVO);
} }
@ApiOperation("保存初步诊断") @ApiOperation("新增初步诊断")
@PostMapping("savePrimary") @PostMapping("savePrimary")
public void savePrimary(@RequestBody DiagnosisPrimary reqVO){ public void savePrimary(@RequestBody DiagnosisPrimary reqVO){
askPrimaryService.savePrimary(reqVO); askPrimaryService.savePrimary(reqVO);
} }
@ApiOperation("确认诊断时,修改初步诊断的信息")
@PostMapping("updatePrimaryByConfirm")
public void updatePrimaryByConfirm(@RequestBody DiagnosisPrimary reqVO){
askPrimaryService.updatePrimaryByConfirm(reqVO);
}
@ApiOperation("删除初步诊断") @ApiOperation("删除初步诊断")
@GetMapping("deletePrimary") @GetMapping("deletePrimary")
public void deletePrimary(String id){ public void deletePrimary(String id){
askPrimaryService.deletePrimary(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.DiagnosisPrimary;
import com.supervision.model.Disease; 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.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO; import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -18,5 +20,11 @@ public interface AskPrimaryService {
void savePrimary(DiagnosisPrimary reqVO); void savePrimary(DiagnosisPrimary reqVO);
void updatePrimaryByConfirm(DiagnosisPrimary reqVO);
void deletePrimary(String id); 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() List<DiagnosisPrimary> list = diagnosisPrimaryService.lambdaQuery()
.eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId()) .eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
.eq(DiagnosisPrimary::getDeleteFlag, 0) .eq(DiagnosisPrimary::getExcludeFlag,0)
.list(); .list();
if (CollectionUtil.isEmpty(list)){ if (CollectionUtil.isEmpty(list)){
throw new BusinessException("您还未进行有效的初步诊断!"); throw new BusinessException("您还未进行有效的初步诊断!");

@ -1,10 +1,10 @@
package com.supervision.service.impl; package com.supervision.service.impl;
import com.supervision.model.DiagnosisPrimary; import com.supervision.exception.BusinessException;
import com.supervision.model.Disease; import com.supervision.model.*;
import com.supervision.service.AskPrimaryService; import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO;
import com.supervision.service.DiagnosisPrimaryService; import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import com.supervision.service.DiseaseService; import com.supervision.service.*;
import com.supervision.util.UserUtil; import com.supervision.util.UserUtil;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO; import com.supervision.vo.ask.ModifyPrimaryDiseaseInfoReqVO;
@ -22,6 +22,12 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
private final DiseaseService diseaseService; private final DiseaseService diseaseService;
private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService;
private final DiagnosisQaRecordService diagnosisQaRecordService;
@Override @Override
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) { public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
return diagnosisPrimaryService.queryAskPrimaryList(processId); return diagnosisPrimaryService.queryAskPrimaryList(processId);
@ -34,19 +40,71 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
@Override @Override
public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) { public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) {
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo,reqVO.getPatientDiseaseInfo()) diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo, reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId,reqVO.getId()).update(); .eq(DiagnosisPrimary::getId, reqVO.getId()).update();
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void savePrimary(DiagnosisPrimary reqVO) { public void savePrimary(DiagnosisPrimary reqVO) {
reqVO.setExcludeFlag(null);
reqVO.setCreateUserId(UserUtil.getUser().getId()); reqVO.setCreateUserId(UserUtil.getUser().getId());
diagnosisPrimaryService.save(reqVO); 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 @Override
public void deletePrimary(String id) { 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