|
|
|
@ -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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|