ソースを参照

新增缺失条目根据病历模块和申诉说明判断是否被申诉

songxinlu 3 年 前
コミット
8c9abf392a

+ 7 - 6
report-service/src/main/java/com/lantone/report/facade/MedAppealInfoManagementFacade.java

@@ -148,8 +148,8 @@ public class MedAppealInfoManagementFacade {
                     }
                 }
                 //1.判断新增缺失是否存在(医院id+病历id+申诉说明+状态【申诉】)
-                AppealInfo notAppealInfo = getAppealInfo(addAppealInfoVO.getHospitalId(), addAppealInfoVO.getBehospitalCode()
-                        , addAppealInfoVO.getAppealExplain());
+                AppealInfo notAppealInfo = getAppealInfo(addAppealInfoVO.getHospitalId(), addAppealInfoVO.getBehospitalCode(),
+                        addAppealInfoVO.getModeId(), addAppealInfoVO.getAppealExplain());
                 //申诉记录不存在
                 if (notAppealInfo != null) {
                     if (WorkFlowNodeEnum.APPEAL.getKey().equals(notAppealInfo.getWorkFlowNodeId() + "")) {
@@ -213,7 +213,7 @@ public class MedAppealInfoManagementFacade {
                     .eq("behospital_code", addAppealInfoVO.getBehospitalCode())
                     .eq("cases_entry_id", addAppealInfoVO.getCasesEntryId())
                     .notIn("work_flow_node_id", WorkFlowNodeEnum.APPEAL_BACK.getKey())
-                    .notIn("claimant_id",addAppealInfoVO.getClaimantId())
+                    .notIn("claimant_id", addAppealInfoVO.getClaimantId())
                     .orderByDesc("gmt_create"));
             if (ListUtil.isNotEmpty(appealInfos)) {
                 Asserts.fail("该缺陷条目已被他人操作,无法操作。");
@@ -290,12 +290,13 @@ public class MedAppealInfoManagementFacade {
      * @Description获取该病历缺陷申诉记录(新增缺失)
      * @Return com.lantone.report.entity.AppealInfo
      */
-    private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, String appealExplain) {
+    private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, Long modeId, String appealExplain) {
 
         List<AppealInfo> appealInfos = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
                 .eq("hospital_id", hospitalId)
                 .eq("behospital_code", behospitalCode)
                 .eq("appeal_operation_type", AppealOperationTypeEnum.ADD_NO_EXIST.getKey())
+                .eq(modeId != null, "mode_id", modeId)
                 .eq("appeal_explain", appealExplain)
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .orderByDesc("gmt_create"));
@@ -374,7 +375,7 @@ public class MedAppealInfoManagementFacade {
                     .eq("hospital_id", qcresultDetail.getHospitalId())
                     .eq("behospital_code", qcresultDetail.getBehospitalCode())
                     .eq("cases_entry_id", qcresultDetail.getCasesEntryId())
-                    .orderByDesc("gmt_create"));
+                    .orderByDesc("id"));
             if (ListUtil.isNotEmpty(qcresultDetails)) {
                 nowQcresultDetail = qcresultDetails.get(0);
             }
@@ -430,7 +431,7 @@ public class MedAppealInfoManagementFacade {
         Boolean out = false;
         //获取申诉记录
         AppealInfo appealInfo = appealInfoFacade.getById(cancelAppealInfoVO.getId());
-        if(!cancelAppealInfoVO.getClaimantId().equals(appealInfo.getClaimantId())){
+        if (!cancelAppealInfoVO.getClaimantId().equals(appealInfo.getClaimantId())) {
             Asserts.fail("该申诉并非由你发起,无法撤回。");
         }
         if (appealInfo == null) {