|
|
@@ -6,17 +6,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
|
|
|
import org.jeecg.modules.medical.common.bo.before.PatientInformationResponse;
|
|
|
+import org.jeecg.modules.medical.common.bo.before.PrescriptionDetail;
|
|
|
import org.jeecg.modules.medical.common.bo.mid.AuditMidDetailListResponse;
|
|
|
import org.jeecg.modules.medical.common.bo.mid.request.AuditMidDetailListRequest;
|
|
|
import org.jeecg.modules.medical.common.bo.mid.response.*;
|
|
|
import org.jeecg.modules.medical.entity.AdvanceWarningAuditDetail;
|
|
|
import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
|
|
|
-import org.jeecg.modules.medical.service.IAdvanceWarningAuditDetailService;
|
|
|
-import org.jeecg.modules.medical.service.IMidIncidentAuditDetailService;
|
|
|
-import org.jeecg.modules.medical.service.IMidIncidentAuditService;
|
|
|
-import org.jeecg.modules.medical.service.IViolationAnalysisService;
|
|
|
+import org.jeecg.modules.medical.service.*;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -44,6 +43,8 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
|
|
|
private IMidIncidentAuditService midIncidentAuditService;
|
|
|
@Autowired // 事中审查详情服务
|
|
|
private IMidIncidentAuditDetailService midIncidentAuditDetailService;
|
|
|
+ @Autowired
|
|
|
+ private IAdvanceWarningAuditService advanceWarningAuditService;
|
|
|
|
|
|
@Override
|
|
|
public IPage<AuditAdvanceWarningAuditDetailResponse> loadBeforeList(AuditAdvanceWarningAuditDetailResponse advanceWarningAuditDetail, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap) {
|
|
|
@@ -70,6 +71,7 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
|
|
|
|
|
|
/**
|
|
|
* 事中审查统计
|
|
|
+ *
|
|
|
* @param request
|
|
|
* @param pageNo
|
|
|
* @param pageSize
|
|
|
@@ -104,6 +106,7 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
|
|
|
|
|
|
/**
|
|
|
* 事中审查统计-查看明细
|
|
|
+ *
|
|
|
* @param detailId: 详情ID
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -163,6 +166,11 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
|
|
|
return midIncidentAuditDetailService.midDeptAuditList(page, deptName, startTime, endTime);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public IPage<MidDeptAuditDetailResponse> afterDeptAuditList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String deptName, String startTime, String endTime) {
|
|
|
+ return midIncidentAuditDetailService.afterDeptAuditList(page, deptName, startTime, endTime);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<MidAuditViolateProjectStatisticsResponse> violateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectSearch, String startTime, String endTime) {
|
|
|
return midIncidentAuditDetailService.violateProjectStatisticsList(page, projectSearch, startTime, endTime);
|
|
|
@@ -173,6 +181,40 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
|
|
|
return midIncidentAuditDetailService.midViolateRuleTypePageList(page, medicalInsRuleInfoName, projectType, startTime, endTime);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public MidAuditDetailResponse beforeAuditDetail(Integer detailId) {
|
|
|
+
|
|
|
+ MidAuditDetailResponse result = new MidAuditDetailResponse();
|
|
|
+
|
|
|
+ AdvanceWarningAuditDetail detailInfo = advanceWarningAuditDetailService.getById(detailId);
|
|
|
+ if (detailInfo == null) {
|
|
|
+ log.error("找不到审查记录");
|
|
|
+ throw new JeecgBootException("找不到审查记录");
|
|
|
+ }
|
|
|
+ result.setDescription(detailInfo.getDescription());
|
|
|
+ result.setViolationLevel(detailInfo.getReminderLevel());
|
|
|
+ result.setMedicalInsRuleInfoCode(detailInfo.getMedicalInsRuleInfoCode());
|
|
|
+ List<PrescriptionDetail> prescriptionDetails = advanceWarningAuditService.listPrescriptionsByCase(detailInfo.getOutpatientNumber(), detailInfo.getTreatmentType());
|
|
|
+ if (oConvertUtils.isNotEmpty(prescriptionDetails)) {
|
|
|
+ result.setPrescriptionDetail(prescriptionDetails);
|
|
|
+ }
|
|
|
+ // 构建患者信息
|
|
|
+ PatientInformationResponse patientInformationResponse =
|
|
|
+ midIncidentAuditDetailService.loadPatientInfoById(detailInfo.getPatientId().toString(), midIncidentAuditService);
|
|
|
+ result.setPatientInfo(patientInformationResponse);
|
|
|
+ // 构建医生信息
|
|
|
+ MidAuditDoctorInfo midAuditDoctorInfo = new MidAuditDoctorInfo();
|
|
|
+ midAuditDoctorInfo.setMedicalDeptCode(detailInfo.getMedicalDeptCode());
|
|
|
+ midAuditDoctorInfo.setMedicalDeptName(detailInfo.getMedicalDeptName());
|
|
|
+ midAuditDoctorInfo.setDoctorId(detailInfo.getDoctorId());
|
|
|
+ midAuditDoctorInfo.setDoctorName(detailInfo.getDoctorName());
|
|
|
+// midAuditDoctorInfo.setFeedbackResult(detailInfo.getFeedbackResult());
|
|
|
+ result.setDoctorInfo(midAuditDoctorInfo);
|
|
|
+
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
// @Override
|
|
|
// public IPage<AfterwardsAuditDetail> allAuditPage(AuditMidDetailListRequest request, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap) {
|
|
|
// Page<AfterwardsAuditDetail> page = new Page<>(pageNo, pageSize);
|