Selaa lähdekoodia

Merge branch 'dev/20210625_v3.1_权限' into dev/20220228_v3.0.1通用版_渠道管理第一期

# Conflicts:
#	gateway-service/src/main/resources/bootstrap.yml
rengb 3 vuotta sitten
vanhempi
commit
bdd87da59a
20 muutettua tiedostoa jossa 406 lisäystä ja 293 poistoa
  1. 4 4
      config-center/src/main/resources/shared/gateway-service-debug.yml
  2. 4 4
      config-center/src/main/resources/shared/report-service-debug.yml
  3. 2 0
      gateway-service/src/main/resources/bootstrap.yml
  4. 6 1
      message-service/src/main/resources/bootstrap.yml
  5. 20 0
      report-service/src/main/java/com/lantone/report/dto/GetAppealDeptDTO.java
  6. 20 0
      report-service/src/main/java/com/lantone/report/dto/GetAppealModeDTO.java
  7. 3 0
      report-service/src/main/java/com/lantone/report/dto/GetComplaintRecordDTO.java
  8. 21 206
      report-service/src/main/java/com/lantone/report/facade/MedAppealExamineInfoManagementFacade.java
  9. 135 34
      report-service/src/main/java/com/lantone/report/facade/MedAppealInfoManagementFacade.java
  10. 21 18
      report-service/src/main/java/com/lantone/report/mapper/AppealExamineInfoMapper.java
  11. 8 0
      report-service/src/main/java/com/lantone/report/mapper/AppealInfoMapper.java
  12. 38 0
      report-service/src/main/java/com/lantone/report/vo/GetAppealDeptVo.java
  13. 37 0
      report-service/src/main/java/com/lantone/report/vo/GetAppealModeVo.java
  14. 1 2
      report-service/src/main/java/com/lantone/report/vo/GetAppealOperationTypeVO.java
  15. 3 0
      report-service/src/main/java/com/lantone/report/vo/GetComplaintRecordVO.java
  16. 3 10
      report-service/src/main/java/com/lantone/report/web/MedAppealExamineInfoManagementController.java
  17. 19 0
      report-service/src/main/java/com/lantone/report/web/MedAppealInfoManagementController.java
  18. 7 8
      report-service/src/main/resources/mapper/AppealExamineInfoMapper.xml
  19. 53 5
      report-service/src/main/resources/mapper/AppealInfoMapper.xml
  20. 1 1
      security-center/src/main/resources/bootstrap.yml

+ 4 - 4
config-center/src/main/resources/shared/gateway-service-debug.yml

@@ -1,8 +1,8 @@
 spring:
   redis:
-    database: 8
-    host: 192.168.2.126 # Redis服务器地址
-    port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
 
 swagger.show: true

+ 4 - 4
config-center/src/main/resources/shared/report-service-debug.yml

@@ -1,9 +1,9 @@
 spring:
   redis:
-    database: 8
-    host: 192.168.2.126 # Redis服务器地址
-    port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
   datasource:
     druid:
       url: jdbc:mysql://192.168.2.126:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true

+ 2 - 0
gateway-service/src/main/resources/bootstrap.yml

@@ -118,4 +118,6 @@ secure:
       - "/report-service/medAppealInfoManage/getAppealOperationType"
       - "/report-service/medAppealInfoManage/cancelAppealInfo"
       - "/report-service/medAppealInfoManage/getAppealInfo"
+      - "/report-service/medAppealInfoManage/getAppealDept"
+      - "/report-service/medAppealInfoManage/getAppealMode"
       - "/daqe-center/**"

+ 6 - 1
message-service/src/main/resources/bootstrap.yml

@@ -6,6 +6,11 @@ spring:
     name: message-service
   thymeleaf:
     cache: false
+  jackson:
+    date-format: yyyy-MM-dd HH:mm:ss
+    time-zone: GMT+8
+    serialization:
+      write-dates-as-timestamps: false
   cloud:
     config:
       discovery:
@@ -48,7 +53,7 @@ spring:
           max-interval: 64000
           stateless: true # 不论重试是有状态的还是无状态的
   profiles:
-    active: local
+    active: debug
 
 eureka:
   client:

+ 20 - 0
report-service/src/main/java/com/lantone/report/dto/GetAppealDeptDTO.java

@@ -0,0 +1,20 @@
+package com.lantone.report.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 申诉审核科室下拉列表返回对象
+ * @Author songxl
+ */
+@Data
+public class GetAppealDeptDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "科室id")
+    private String deptId;
+
+    @ApiModelProperty(value = "科室名称")
+    private String deptName;
+}

+ 20 - 0
report-service/src/main/java/com/lantone/report/dto/GetAppealModeDTO.java

@@ -0,0 +1,20 @@
+package com.lantone.report.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 申诉审核模块下拉列表返回对象
+ * @Author songxl
+ */
+@Data
+public class GetAppealModeDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "申诉模块id")
+    private Long modeId;
+
+    @ApiModelProperty(value = "模块名称")
+    private String modeName;
+}

+ 3 - 0
report-service/src/main/java/com/lantone/report/dto/GetComplaintRecordDTO.java

@@ -71,6 +71,9 @@ public class GetComplaintRecordDTO {
     @ApiModelProperty(value = "状态")
     private String exampleStatus;
 
+    @ApiModelProperty(value = "审核处理方式: 1:修改|2:删除|3:新增已有|4:新增缺失|5:恢复")
+    private String exampleOperation;
+
     @ApiModelProperty(value = "缺陷扣分分值")
     private BigDecimal qcresultDetaiValue;
 

+ 21 - 206
report-service/src/main/java/com/lantone/report/facade/MedAppealExamineInfoManagementFacade.java

@@ -15,7 +15,6 @@ import com.lantone.report.enums.AppealOperationTypeEnum;
 import com.lantone.report.enums.ExampleStatusEnum;
 import com.lantone.report.facade.base.AppealExamineInfoFacade;
 import com.lantone.report.facade.base.AppealInfoFacade;
-import com.lantone.report.vo.ApprovedVo;
 import com.lantone.report.vo.GetAppealInfoVO;
 import com.lantone.report.vo.GetAppealReviewVO;
 import com.lantone.report.vo.GetAuditNumberVO;
@@ -27,10 +26,14 @@ import org.springframework.stereotype.Component;
 import java.util.Date;
 
 /**
- * @Description:申述记录
- * @Author: songxl
- * @Date 2022/1/5
+ * <p>
+ * 申诉审核
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2022/2/24
  */
+
 @Component
 public class MedAppealExamineInfoManagementFacade {
     @Autowired
@@ -39,8 +42,10 @@ public class MedAppealExamineInfoManagementFacade {
     private AppealInfoFacade appealInfoFacade;
     @Autowired
     MedAppealInfoManagementFacade medAppealInfoManagementFacade;
+
     /**
-     * 申诉记录
+     * 申诉记录列表
+     *
      * @param getComplaintRecordVO
      * @return
      */
@@ -50,6 +55,7 @@ public class MedAppealExamineInfoManagementFacade {
 
     /**
      * 申诉审核列表
+     *
      * @param getAppealReviewVO
      * @return
      */
@@ -57,189 +63,9 @@ public class MedAppealExamineInfoManagementFacade {
         return appealExamineInfoFacade.getBaseMapper().getAppealReview(getAppealReviewVO);
     }
 
-/*
-    */
-/**
-     * 审核通过
-     * @param approvedVo
-     * @return
-     *//*
-
-    public Boolean approved (ApprovedVo approvedVo) {
-        QcresultVO qcresultVO = new QcresultVO();
-        qcresultVO.setBehospitalCode(approvedVo.getBehospitalCode());
-        qcresultVO.setHospitalId(approvedVo.getHospitalId());
-        QcResultAlgVO qcResultAlgVO = new QcResultAlgVO();
-        qcResultAlgVO.setCasesId(approvedVo.getCasesId());
-        qcResultAlgVO.setScore(approvedVo.getValue());
-        qcResultAlgVO.setMsg(approvedVo.getCasesEntryMsg());
-        //获取处理方式
-        String handling = approvedVo.getExampleOperation();
-        if (StringUtil.isNotEmpty(handling) && handling.equals("删除")) {
-            //调用删除接口
-            qcResultAlgVO.setCasesEntryId(approvedVo.getQcresultDetailId());
-            qcresultVO.setOptResultAlgVO(qcResultAlgVO);
-            qcresultVO.setDelStatus(1);
-            RespDTO<AnalyzeDTO> analyzeDTORespDTO = medAppealExamineInfoServiceClient.logicDelCase(qcresultVO);
-            if (analyzeDTORespDTO.data.getIsSuccess()) {
-                Boolean appealInfo = updateAppealInfo(approvedVo);
-                AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
-                appealExamineInfo.setExampleOperation("2");
-                appealExamineInfo.setExampleStatus("2");
-                appealExamineInfo.setRemark(approvedVo.getRemark());
-                appealExamineInfo.setAppealInfoId(approvedVo.getAppealId());
-                int appealExamineInfoUpdate = appealExamineInfoFacade.getBaseMapper().update(appealExamineInfo, new QueryWrapper<AppealExamineInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("appeal_info_id", approvedVo.getId())
-                        .eq("check_id", approvedVo.getAppealId())
-                );
-                if (appealInfo && appealExamineInfoUpdate == 1) {
-                    return true;
-                } else {
-                    Asserts.fail("审核通过失败!");
-                    return false;
-                }
-            } else {
-                Asserts.fail("删除失败!");
-                return false;
-            }
-        }
-        if (StringUtil.isNotEmpty(handling) && handling.equals("修改")) {
-            //调用修改接口
-            qcResultAlgVO.setCasesEntryId(approvedVo.getQcresultDetailId());
-            qcresultVO.setOptResultAlgVO(qcResultAlgVO);
-            RespDTO<AnalyzeDTO> analyzeDTORespDTO = medAppealExamineInfoServiceClient.updCase(qcresultVO);
-            if (analyzeDTORespDTO.data.getIsSuccess()) {
-                Boolean appealInfo = updateAppealInfo(approvedVo);
-                AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
-                appealExamineInfo.setExampleOperation("1");
-                appealExamineInfo.setExampleStatus("2");
-                appealExamineInfo.setRemark(approvedVo.getRemark());
-                appealExamineInfo.setAppealInfoId(approvedVo.getAppealId());
-                int appealExamineInfoUpdate = appealExamineInfoFacade.getBaseMapper().update(appealExamineInfo, new QueryWrapper<AppealExamineInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("appeal_info_id", approvedVo.getId())
-                        .eq("check_id", approvedVo.getAppealId())
-                );
-                if (appealInfo && appealExamineInfoUpdate == 1) {
-                    return true;
-                } else {
-                    Asserts.fail("审核通过失败!");
-                    return false;
-                }
-            } else {
-                Asserts.fail("修改!");
-                return false;
-            }
-        }
-        if (StringUtil.isNotEmpty(handling) && handling.equals("新增已有")) {
-            qcResultAlgVO.setCasesEntryId(approvedVo.getCasesEntryId());
-            qcresultVO.setOptResultAlgVO(qcResultAlgVO);
-            //判断是否已存在该条目
-            MedQcresultDetail qcresultDetail = medQcresultDetailFacade.getBaseMapper().selectOne(new QueryWrapper<MedQcresultDetail>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("hospital_id", approvedVo.getHospitalId())
-                    .eq("behospital_code", approvedVo.getBehospitalCode())
-                    .eq("cases_entry_id", approvedVo.getCasesEntryId())
-            );
-            if (qcresultDetail != null) {
-                Asserts.fail("该条目已存在");
-                return false;
-            }
-            //调用新增接口
-            RespDTO<AnalyzeDTO> analyzeDTORespDTO = medAppealExamineInfoServiceClient.addCase(qcresultVO);
-            if (analyzeDTORespDTO.data.getIsSuccess()) {
-                AppealInfo appealInfo = new AppealInfo();
-                appealInfo.setCasesEntryId(approvedVo.getCasesEntryId());
-                appealInfo.setCasesEntryMsg(approvedVo.getCasesEntryMsg());
-                appealInfo.setCasesEntryName(approvedVo.getCasesEntryName());
-                appealInfo.setValue(approvedVo.getValue());
-                int appealInfoUpdate = appealInfoFacade.getBaseMapper().update(appealInfo, new QueryWrapper<AppealInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("hospital_id", approvedVo.getHospitalId())
-                        .eq("behospital_code", approvedVo.getBehospitalCode())
-                        .eq("id", approvedVo.getAppealId())
-                );
-                AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
-                appealExamineInfo.setExampleOperation("3");
-                appealExamineInfo.setExampleStatus("2");
-                appealExamineInfo.setRemark(approvedVo.getRemark());
-                appealExamineInfo.setAppealInfoId(approvedVo.getAppealId());
-                int appealExamineInfoUpdate = appealExamineInfoFacade.getBaseMapper().update(appealExamineInfo, new QueryWrapper<AppealExamineInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("appeal_info_id", approvedVo.getId())
-                        .eq("check_id", approvedVo.getAppealId())
-                );
-                if (appealInfoUpdate == 1 && appealExamineInfoUpdate == 1) {
-                    return true;
-                } else {
-                    Asserts.fail("审核通过失败!");
-                    return false;
-                }
-            } else {
-                Asserts.fail("新增失败!");
-                return false;
-            }
-        }
-        if (StringUtil.isNotEmpty(handling) && handling.equals("恢复")) {
-            qcResultAlgVO.setCasesEntryId(approvedVo.getQcresultDetailId());
-            qcresultVO.setOptResultAlgVO(qcResultAlgVO);
-            qcresultVO.setDelStatus(0);
-            //调用删除接口
-            RespDTO<AnalyzeDTO> analyzeDTORespDTO = medAppealExamineInfoServiceClient.logicDelCase(qcresultVO);
-            if (analyzeDTORespDTO.data.getIsSuccess()) {
-                Boolean appealInfo = updateAppealInfo(approvedVo);
-                AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
-                appealExamineInfo.setExampleOperation("5");
-                appealExamineInfo.setExampleStatus("2");
-                appealExamineInfo.setRemark(approvedVo.getRemark());
-                appealExamineInfo.setAppealInfoId(approvedVo.getAppealId());
-                int appealExamineInfoUpdate = appealExamineInfoFacade.getBaseMapper().update(appealExamineInfo, new QueryWrapper<AppealExamineInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("appeal_info_id", approvedVo.getId())
-                        .eq("check_id", approvedVo.getAppealId())
-                );
-                if (appealInfo && appealExamineInfoUpdate == 1) {
-                    return true;
-                } else {
-                    Asserts.fail("审核通过失败!");
-                    return false;
-                }
-            } else {
-                Asserts.fail("恢复失败!");
-                return false;
-            }
-        }
-        if (StringUtil.isNotEmpty(handling) && handling.equals("新增缺失")) {
-            qcResultAlgVO.setCasesEntryId(approvedVo.getQcresultDetailId());
-            qcresultVO.setOptResultAlgVO(qcResultAlgVO);
-            qcresultVO.setDelStatus(0);
-            Boolean appealInfo = updateAppealInfo(approvedVo);
-            AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
-            appealExamineInfo.setExampleOperation("4");
-            appealExamineInfo.setExampleStatus("2");
-            appealExamineInfo.setProcessResult(approvedVo.getProcessResult());
-            appealExamineInfo.setAppealInfoId(approvedVo.getAppealId());
-            int appealExamineInfoUpdate = appealExamineInfoFacade.getBaseMapper().update(appealExamineInfo, new QueryWrapper<AppealExamineInfo>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("appeal_info_id", approvedVo.getId())
-                    .eq("check_id", approvedVo.getAppealId())
-            );
-            if (appealInfo && appealExamineInfoUpdate == 1) {
-                return true;
-            } else {
-                Asserts.fail("审核通过失败!");
-                return false;
-            }
-        }
-            Asserts.fail("无此类型处理方式!");
-            return false;
-    }
-*/
-
-
     /**
      * 驳回
+     *
      * @param rejectedVo
      * @return
      */
@@ -251,7 +77,7 @@ public class MedAppealExamineInfoManagementFacade {
                 .eq("hospital_id", rejectedVo.getHospitalId())
                 .eq("behospital_code", rejectedVo.getBehospitalCode())
                 .eq("check_id", rejectedVo.getAppealId())
-                .eq("id",rejectedVo.getId())
+                .eq("id", rejectedVo.getId())
         );
         AppealExamineInfo appealExamineInfo = new AppealExamineInfo();
         appealExamineInfo.setExampleStatus(ExampleStatusEnum.REJECT_EXAMPLE.getKey());
@@ -262,9 +88,9 @@ public class MedAppealExamineInfoManagementFacade {
                 .eq("appeal_info_id", rejectedVo.getId())
                 .eq("check_id", rejectedVo.getAppealId())
         );
-        if(appealInfoUpdate==1 && appealExamineInfoUpdate==1){
+        if (appealInfoUpdate == 1 && appealExamineInfoUpdate == 1) {
             return true;
-        }else {
+        } else {
             Asserts.fail("驳回失败!");
             return false;
         }
@@ -272,6 +98,7 @@ public class MedAppealExamineInfoManagementFacade {
 
     /**
      * 获取待审核数量
+     *
      * @param getAuditNumberVO
      * @return
      */
@@ -283,19 +110,21 @@ public class MedAppealExamineInfoManagementFacade {
         );
         return count;
     }
+
     /**
      * 审核查看
+     *
      * @param getAppealInfoVO
      * @return
      */
     public GetAppealInfoDTO getApprovedView(GetAppealInfoVO getAppealInfoVO) {
         //1.获取病历基本信息和病历内容
-        GetAppealInfoDTO getAppealInfoDTO =  appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+        GetAppealInfoDTO getAppealInfoDTO = appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
         //2.获取该条申诉记录详情
         AppealInfo appealInfo = appealInfoFacade.getById(getAppealInfoVO.getId());
-        if(appealInfo!=null){
+        if (appealInfo != null) {
             //如果是新增缺失,获取申诉说明(通过申诉说明区别该病历新增的新增缺失)
-            if(AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())){
+            if (AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())) {
                 getAppealInfoVO.setAppealExplain(appealInfo.getAppealExplain());
             }
         }
@@ -304,18 +133,4 @@ public class MedAppealExamineInfoManagementFacade {
         return getAppealInfoDTO;
     }
 
-    public Boolean updateAppealInfo (ApprovedVo approvedVo) {
-        AppealInfo appealInfo = new AppealInfo();
-        int appealInfoUpdate = appealInfoFacade.getBaseMapper().update(appealInfo, new UpdateWrapper<AppealInfo>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_id", approvedVo.getHospitalId())
-                .eq("behospital_code", approvedVo.getBehospitalCode())
-                .eq("id", approvedVo.getAppealId())
-        );
-        if(appealInfoUpdate==1){
-            return true;
-        }else {
-            return false;
-        }
-    }
 }

+ 135 - 34
report-service/src/main/java/com/lantone/report/facade/MedAppealInfoManagementFacade.java

@@ -9,7 +9,9 @@ import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.DateUtil;
 import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
+import com.lantone.report.dto.GetAppealDeptDTO;
 import com.lantone.report.dto.GetAppealInfoDTO;
+import com.lantone.report.dto.GetAppealModeDTO;
 import com.lantone.report.dto.GetReviewerDTO;
 import com.lantone.report.entity.AppealExamineInfo;
 import com.lantone.report.entity.AppealInfo;
@@ -24,7 +26,9 @@ import com.lantone.report.facade.base.SysUserRoleFacade2;
 import com.lantone.report.facade.base.WorkFlowNodeFacade;
 import com.lantone.report.vo.AddAppealInfoVO;
 import com.lantone.report.vo.CancelAppealInfoVO;
+import com.lantone.report.vo.GetAppealDeptVo;
 import com.lantone.report.vo.GetAppealInfoVO;
+import com.lantone.report.vo.GetAppealModeVo;
 import com.lantone.report.vo.GetAppealOperationTypeVO;
 import com.lantone.report.vo.GetReviewerVO;
 import org.springframework.beans.BeanUtils;
@@ -65,12 +69,12 @@ public class MedAppealInfoManagementFacade {
         switch (addAppealInfoVO.getAppealOperationType()) {
             //删改
             case "0":
-                //通过缺陷id获取该缺陷记录
-                QcresultDetail qcresultDetail = getQcresultDetailById(addAppealInfoVO.getQcresultDetailId());
+                //通过医院id+病历id+条目ID+未删除  获取该缺陷记录
+                QcresultDetail qcresultDetail = getQcresultDetailById(addAppealInfoVO);
                 //获取该病历缺陷申诉记录(医院id+病历id+质控缺陷id+未删除)
                 AppealInfo appealInfo = getAppealInfo(addAppealInfoVO.getHospitalId()
                         , addAppealInfoVO.getBehospitalCode()
-                        , addAppealInfoVO.getQcresultDetailId());
+                        , addAppealInfoVO.getCasesEntryId());
                 //缺陷状态-删除
                 if (IsDeleteEnum.Y.getKey().equals(qcresultDetail.getIsDeleted())) {
                     Asserts.fail("该缺陷已被删除,请走恢复流程");
@@ -87,6 +91,10 @@ public class MedAppealInfoManagementFacade {
                     //删除申诉记录
                     appealInfoFacade.update(new UpdateWrapper<AppealInfo>().set("is_deleted", IsDeleteEnum.Y.getKey())
                             .eq("id", appealInfo.getId()));
+                    //逻辑删除申诉审批记录
+                    appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
+                            .set("is_deleted", IsDeleteEnum.Y.getKey())
+                            .eq("appeal_info_id", appealInfo.getId()));
                 }
                 //新增申诉记录+审核记录
                 return addAppealInfoAndExamineInfo(addAppealInfoVO);
@@ -107,11 +115,15 @@ public class MedAppealInfoManagementFacade {
                 AppealInfo oldAppealInfo = getAppealInfo(addAppealInfoVO);
                 if (oldAppealInfo != null) {
                     //如果最新的一条是已审核
-                    if(WorkFlowNodeEnum.DEPT_CHECK.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")){
+                    if (WorkFlowNodeEnum.DEPT_CHECK.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")) {
                         //删除改新增已有(已审核)申诉记录
                         appealInfoFacade.update(new UpdateWrapper<AppealInfo>().set("is_deleted", IsDeleteEnum.Y.getKey())
                                 .eq("id", oldAppealInfo.getId()));
-                    }else if (WorkFlowNodeEnum.APPEAL.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")) {
+                        //逻辑删除申诉审批记录
+                        appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
+                                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                                .eq("appeal_info_id", oldAppealInfo.getId()));
+                    } else if (WorkFlowNodeEnum.APPEAL.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")) {
                         Asserts.fail("该缺陷已被申诉无需再次恢复");
                     }
 
@@ -128,16 +140,34 @@ public class MedAppealInfoManagementFacade {
                         addAppealInfoVO.setModeId(modeId);
                     }
                 }
+                //1.判断新增缺失是否存在(医院id+病历id+申诉说明+状态【申诉】)
+                AppealInfo notAppealInfo = getAppealInfo(addAppealInfoVO.getHospitalId(), addAppealInfoVO.getBehospitalCode()
+                        , addAppealInfoVO.getAppealExplain());
+                //申诉记录不存在
+                if (notAppealInfo != null) {
+                    if (WorkFlowNodeEnum.APPEAL.getKey().equals(notAppealInfo.getWorkFlowNodeId() + "")) {
+                        Asserts.fail("该缺陷已被申诉");
+                    } else {
+                        //删除申诉记录
+                        appealInfoFacade.update(new UpdateWrapper<AppealInfo>().set("is_deleted", IsDeleteEnum.Y.getKey())
+                                .eq("id", notAppealInfo.getId()));
+                        //逻辑删除申诉审批记录
+                        appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
+                                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                                .eq("appeal_info_id", notAppealInfo.getId()));
+                    }
+                }
+
                 //新增申诉记录+审核记录
                 return addAppealInfoAndExamineInfo(addAppealInfoVO);
             //恢复
             case "3":
                 //通过缺陷id获取该缺陷记录
-                QcresultDetail qcresultDetail1 = getQcresultDetailById(addAppealInfoVO.getQcresultDetailId());
+                QcresultDetail qcresultDetail1 = getQcresultDetailById(addAppealInfoVO);
                 //获取该病历缺陷申诉记录(医院id+病历id+质控缺陷id+未删除)
                 AppealInfo appealInfo1 = getAppealInfo(addAppealInfoVO.getHospitalId()
                         , addAppealInfoVO.getBehospitalCode()
-                        , addAppealInfoVO.getQcresultDetailId());
+                        , addAppealInfoVO.getCasesEntryId());
                 //缺陷状态-删除
                 if (qcresultDetail1.getIsDeleted().equals(IsDeleteEnum.N.getKey())) {
                     Asserts.fail("缺陷已被恢复无需再次恢复");
@@ -154,6 +184,9 @@ public class MedAppealInfoManagementFacade {
                     //删除申诉记录
                     appealInfoFacade.update(new UpdateWrapper<AppealInfo>().set("is_deleted", IsDeleteEnum.Y.getKey())
                             .eq("id", appealInfo1.getId()));
+                    appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
+                            .set("is_deleted", IsDeleteEnum.Y.getKey())
+                            .eq("appeal_info_id", appealInfo1.getId()));
                 }
                 //新增申诉记录+审核记录
                 return addAppealInfoAndExamineInfo(addAppealInfoVO);
@@ -205,19 +238,19 @@ public class MedAppealInfoManagementFacade {
     /**
      * @param hospitalId
      * @param behospitalCode
-     * @param qcresultDetailId
+     * @param getCasesEntryId
      * @Description获取该病历缺陷申诉记录
      * @Return com.lantone.report.entity.AppealInfo
      */
-    private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, Long qcresultDetailId) {
+    private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, Long getCasesEntryId) {
 
-        if (qcresultDetailId == null) {
+        if (getCasesEntryId == null) {
             Asserts.fail("质控缺陷id为空");
         }
         List<AppealInfo> appealInfos = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
                 .eq("hospital_id", hospitalId)
                 .eq("behospital_code", behospitalCode)
-                .eq("qcresult_detail_id", qcresultDetailId)
+                .eq("cases_entry_id", getCasesEntryId)
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .orderByDesc("gmt_create"));
         if (ListUtil.isNotEmpty(appealInfos)) {
@@ -227,19 +260,44 @@ public class MedAppealInfoManagementFacade {
     }
 
     /**
-     * @param qcresultDetailId
-     * @Description通过id获取质控缺陷条目
+     * @param hospitalId
+     * @param behospitalCode
+     * @Description获取该病历缺陷申诉记录(新增缺失)
+     * @Return com.lantone.report.entity.AppealInfo
+     */
+    private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, 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("appeal_explain", appealExplain)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .orderByDesc("gmt_create"));
+        if (ListUtil.isNotEmpty(appealInfos)) {
+            return appealInfos.get(0);
+        }
+        return null;
+    }
+
+    /**
+     * @param addAppealInfoVO
+     * @Description通过医院id+病历id+条目ID+未删除 获取该缺陷记录
      * @Return com.lantone.report.entity.QcresultDetail
      */
-    private QcresultDetail getQcresultDetailById(Long qcresultDetailId) {
-        if (qcresultDetailId == null) {
-            Asserts.fail("质控缺陷id为空");
+    private QcresultDetail getQcresultDetailById(AddAppealInfoVO addAppealInfoVO) {
+        if (addAppealInfoVO.getCasesEntryId() == null) {
+            Asserts.fail("条目ID为空");
         }
-        QcresultDetail qcresultDetail = qcresultDetailFacade.getById(qcresultDetailId);
-        if (qcresultDetail == null) {
+        List<QcresultDetail> qcresultDetails = qcresultDetailFacade.list(new QueryWrapper<QcresultDetail>()
+                .eq("hospital_id", addAppealInfoVO.getHospitalId())
+                .eq("behospital_code", addAppealInfoVO.getBehospitalCode())
+                .eq("cases_entry_id", addAppealInfoVO.getCasesEntryId())
+                .orderByDesc("gmt_create"));
+        if (ListUtil.isEmpty(qcresultDetails)) {
             Asserts.fail("质控缺陷不存在");
         }
-        return qcresultDetail;
+        return qcresultDetails.get(0);
     }
 
     /**
@@ -283,9 +341,22 @@ public class MedAppealInfoManagementFacade {
         Map<String, String> out = Maps.newHashMap();
         //通过缺陷id获取缺陷
         QcresultDetail qcresultDetail = qcresultDetailFacade.getById(getAppealOperationTypeVO.getQcresultDetailId());
+        QcresultDetail nowQcresultDetail = null;
+        if (qcresultDetail != null) {
+            //获取最新的缺陷
+         List<QcresultDetail>  qcresultDetails = qcresultDetailFacade.list(new QueryWrapper<QcresultDetail>()
+                    .eq("hospital_id",qcresultDetail.getHospitalId())
+                    .eq("behospital_code",qcresultDetail.getBehospitalCode())
+                    .eq("cases_entry_id",qcresultDetail.getCasesEntryId())
+                    .orderByDesc("gmt_create"));
+            if(ListUtil.isNotEmpty(qcresultDetails)){
+                nowQcresultDetail = qcresultDetails.get(0);
+            }
+
+        }
         switch (getAppealOperationTypeVO.getAppealOperationType()) {
             case "0":
-                if (qcresultDetail == null) {
+                if (nowQcresultDetail == null) {
                     Asserts.fail("质控缺陷条目不存在");
                 }
                 if (IsDeleteEnum.N.getKey().equals(qcresultDetail.getIsDeleted())) {
@@ -330,38 +401,60 @@ public class MedAppealInfoManagementFacade {
      * @Return java.lang.Boolean
      */
     public Boolean cancelAppealInfo(CancelAppealInfoVO cancelAppealInfoVO) {
+        Boolean out = false;
         //获取申诉记录
         AppealInfo appealInfo = appealInfoFacade.getById(cancelAppealInfoVO.getId());
         if (appealInfo == null) {
             Asserts.fail("撤回申诉条目不存在");
         }
         if (WorkFlowNodeEnum.APPEAL.getKey().equals(appealInfo.getWorkFlowNodeId() + "")) {
-            //获取该条目申诉历史记录
-            List<AppealInfo> appealInfoHistory = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
-                    .eq("hospital_id", appealInfo.getHospitalId())
-                    .eq("behospital_code", appealInfo.getBehospitalCode())
-                    .eq(appealInfo.getQcresultDetailId() != null, "qcresult_detail_id", appealInfo.getQcresultDetailId())
-                    .eq(appealInfo.getCasesEntryId() != null, "cases_entry_id", appealInfo.getCasesEntryId())
-                    .eq("is_deleted", IsDeleteEnum.Y.getKey())
-                    .orderByDesc("gmt_create"));
+            List<AppealInfo> appealInfoHistory = null;
+            //非新增缺失
+            if (!AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())) {
+                //获取该条目申诉历史记录(非新增缺失)
+                appealInfoHistory = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
+                        .eq("hospital_id", appealInfo.getHospitalId())
+                        .eq("behospital_code", appealInfo.getBehospitalCode())
+                        .notIn("work_flow_node_id", WorkFlowNodeEnum.APPEAL_BACK.getKey())
+                        .eq(appealInfo.getCasesEntryId() != null, "cases_entry_id", appealInfo.getCasesEntryId())
+                        .eq("is_deleted", IsDeleteEnum.Y.getKey())
+                        .orderByDesc("gmt_create"));
+            } else {
+                appealInfoHistory = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
+                        .eq("hospital_id", appealInfo.getHospitalId())
+                        .eq("behospital_code", appealInfo.getBehospitalCode())
+                        .notIn("work_flow_node_id", WorkFlowNodeEnum.APPEAL_BACK.getKey())
+                        .eq("appeal_operation_type", AppealOperationTypeEnum.ADD_NO_EXIST.getKey())
+                        .eq(appealInfo.getAppealExplain() != null, "appeal_explain", appealInfo.getAppealExplain())
+                        .eq("is_deleted", IsDeleteEnum.Y.getKey())
+                        .orderByDesc("gmt_create"));
+            }
+
+
             //存在历史记录还原最后一条
             if (ListUtil.isNotEmpty(appealInfoHistory)) {
                 AppealInfo appealInfoOld = appealInfoHistory.get(0);
                 appealInfoOld.setIsDeleted(IsDeleteEnum.N.getKey());
-                return appealInfoFacade.saveOrUpdate(appealInfoOld);
+                out = appealInfoFacade.saveOrUpdate(appealInfoOld);
+                //还原审批记录
+                if (out) {
+                    out = appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
+                            .set("is_deleted", IsDeleteEnum.N.getKey())
+                            .eq("appeal_info_id", appealInfoOld.getId()));
+                }
             }
             //逻辑删除该申诉(撤回)
             appealInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
             appealInfo.setWorkFlowNodeId(cancelAppealInfoVO.getWorkFlowNodeId());
             appealInfo.setGmtModified(DateUtil.now());
-            Boolean out = appealInfoFacade.updateById(appealInfo);
-            if(out){
+            out = appealInfoFacade.updateById(appealInfo);
+            if (out) {
                 //逻辑删除申诉申请审批记录
                 return appealExamineInfoFacade.update(new UpdateWrapper<AppealExamineInfo>()
-                        .eq("appeal_info_id",appealInfo.getId())
-                        .set("is_deleted",IsDeleteEnum.Y.getKey()));
+                        .set("is_deleted", IsDeleteEnum.Y.getKey())
+                        .eq("appeal_info_id", appealInfo.getId()));
             }
-            return out;
+            Asserts.fail("撤回失败");
         } else {
             Asserts.fail("撤回申诉条目状态不是申诉状态");
         }
@@ -383,4 +476,12 @@ public class MedAppealInfoManagementFacade {
         getAppealInfoDTO.setAppealExamineRecordDTOList(appealInfoFacade.getBaseMapper().getAppealExamineRecords(getAppealInfoVO));
         return getAppealInfoDTO;
     }
+
+    public List<GetAppealDeptDTO> getAppealDept(GetAppealDeptVo getAppealDeptVo) {
+        return appealInfoFacade.getBaseMapper().getAppealDept(getAppealDeptVo);
+    }
+
+    public List<GetAppealModeDTO> getAppealMode(GetAppealModeVo getAppealModeVo) {
+        return appealInfoFacade.getBaseMapper().getAppealMode(getAppealModeVo);
+    }
 }

+ 21 - 18
report-service/src/main/java/com/lantone/report/mapper/AppealExamineInfoMapper.java

@@ -16,24 +16,27 @@ import org.apache.ibatis.annotations.Param;
  * </p>
  */
 public interface AppealExamineInfoMapper extends BaseMapper<AppealExamineInfo> {
-     /**
-      * 申诉记录
-      * @param getComplaintRecordVO
-      * @return
-      */
-     Page<GetComplaintRecordDTO> getComplaintRecord(@Param("getComplaintRecordVO") GetComplaintRecordVO getComplaintRecordVO);
+    /**
+     * 申诉记录
+     *
+     * @param getComplaintRecordVO
+     * @return
+     */
+    Page<GetComplaintRecordDTO> getComplaintRecord(@Param("getComplaintRecordVO") GetComplaintRecordVO getComplaintRecordVO);
 
-     /**
-      * 申诉审核列表
-      * @param getAppealReviewVO
-      * @return
-      */
-     Page<GetAppealReviewDTO> getAppealReview(@Param("getAppealReviewVO") GetAppealReviewVO getAppealReviewVO) ;
+    /**
+     * 申诉审核列表
+     *
+     * @param getAppealReviewVO
+     * @return
+     */
+    Page<GetAppealReviewDTO> getAppealReview(@Param("getAppealReviewVO") GetAppealReviewVO getAppealReviewVO);
 
-     /**
-      * 审核通过
-      * @param approvedVo
-      * @return
-      */
-     Boolean approved(@Param("approvedVo") ApprovedVo approvedVo) ;
+    /**
+     * 审核通过
+     *
+     * @param approvedVo
+     * @return
+     */
+    Boolean approved(@Param("approvedVo") ApprovedVo approvedVo);
 }

+ 8 - 0
report-service/src/main/java/com/lantone/report/mapper/AppealInfoMapper.java

@@ -2,9 +2,13 @@ package com.lantone.report.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.lantone.report.dto.AppealExamineRecordDTO;
+import com.lantone.report.dto.GetAppealDeptDTO;
 import com.lantone.report.dto.GetAppealInfoDTO;
+import com.lantone.report.dto.GetAppealModeDTO;
+import com.lantone.report.vo.GetAppealDeptVo;
 import com.lantone.report.vo.GetAppealInfoVO;
 import com.lantone.report.entity.AppealInfo;
+import com.lantone.report.vo.GetAppealModeVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -22,4 +26,8 @@ public interface AppealInfoMapper extends BaseMapper<AppealInfo> {
 
     String getModeName(@Param("id") Long id);
     Long getModeIdByName(@Param("name") String name);
+
+    List<GetAppealDeptDTO> getAppealDept(@Param("getAppealDeptVo") GetAppealDeptVo getAppealDeptVo);
+
+    List<GetAppealModeDTO> getAppealMode(@Param("getAppealModeVo") GetAppealModeVo getAppealModeVo);
 }

+ 38 - 0
report-service/src/main/java/com/lantone/report/vo/GetAppealDeptVo.java

@@ -0,0 +1,38 @@
+package com.lantone.report.vo;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import java.math.BigDecimal;
+
+/**
+ * 通过
+ *
+ * @Description:
+ * @author: cy
+ * @time: 2020/9/4 14:59
+ */
+@Getter
+@Setter
+public class GetAppealDeptVo {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "医院ID", hidden = true)
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "申诉人id", hidden = true)
+    private Long claimantId;
+
+    @ApiModelProperty(value = "审核人id", hidden = true)
+    private Long checkId;
+
+    @ApiModelProperty(value = "页面类型:1:申诉记录|2:申诉审核")
+    @NotBlank(message = "页面类型不能为空")
+    private String pageType;
+
+    @ApiModelProperty(value = "是否已归档(0:未归档,1:已归档)")
+    private String isPlacefile;
+
+}

+ 37 - 0
report-service/src/main/java/com/lantone/report/vo/GetAppealModeVo.java

@@ -0,0 +1,37 @@
+package com.lantone.report.vo;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 通过
+ *
+ * @Description:
+ * @author: cy
+ * @time: 2020/9/4 14:59
+ */
+@Getter
+@Setter
+public class GetAppealModeVo {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "医院ID", hidden = true)
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "申诉人id", hidden = true)
+    private Long claimantId;
+
+    @ApiModelProperty(value = "审核人id", hidden = true)
+    private Long checkId;
+
+    @ApiModelProperty(value = "页面类型:1:申诉记录|2:申诉审核")
+    @NotBlank(message = "页面类型不能为空")
+    private String pageType;
+
+    @ApiModelProperty(value = "是否已归档(0:未归档,1:已归档)")
+    private String isPlacefile;
+
+}

+ 1 - 2
report-service/src/main/java/com/lantone/report/vo/GetAppealOperationTypeVO.java

@@ -13,8 +13,7 @@ import javax.validation.constraints.NotNull;
  */
 @Data
 public class GetAppealOperationTypeVO {
-    @ApiModelProperty(value = "质控缺陷id", required = true)
-    @NotNull(message = "质控缺陷id不能为空")
+    @ApiModelProperty(value = "质控缺陷id")
     private Long qcresultDetailId;
     @ApiModelProperty(value = "审核状态 0:待审核|1:驳回|2:通过", required = true)
     @NotBlank(message = "审核状态不能为空")

+ 3 - 0
report-service/src/main/java/com/lantone/report/vo/GetComplaintRecordVO.java

@@ -52,4 +52,7 @@ public class GetComplaintRecordVO extends Page implements Serializable {
     @ApiModelProperty(value = "是否已归档(0:未归档,1:已归档)")
     private String isPlacefile;
 
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
 }

+ 3 - 10
report-service/src/main/java/com/lantone/report/web/MedAppealExamineInfoManagementController.java

@@ -27,12 +27,12 @@ import org.springframework.web.bind.annotation.RestController;
  * 申诉审核 前端控制器
  * </p>
  *
- * @author wangfeng
- * @since 2020-07-06
+ * @author zhanghang
+ * @since 2022/2/24
  */
 @RestController
 @RequestMapping("/medAppealExamineInInfoManage")
-@Api(value = "申诉审核数据模块相关接口API", tags = { "申诉审核数据模块相关接口API" })
+@Api(value = "申诉审核数据模块相关接口API", tags = {"申诉审核数据模块相关接口API"})
 public class MedAppealExamineInfoManagementController {
     @Autowired
     MedAppealExamineInfoManagementFacade medAppealExamineInfoManagementFacade;
@@ -53,13 +53,6 @@ public class MedAppealExamineInfoManagementController {
         return CommonResult.success(appealReview);
     }
 
-    /*    @ApiOperation(value = "审核通过[by:zhanghang]",
-                notes = "审核通过")
-        @PostMapping("/approved")
-        @Transactional
-        public CommonResult<Boolean> approved(@RequestBody ApprovedVo approvedVo) {
-           return CommonResult.success(medAppealExamineInfoManagementFacade.approved(approvedVo));
-        }*/
     @ApiOperation(value = "驳回[by:zhanghang]",
             notes = "驳回")
     @PostMapping("/rejected")

+ 19 - 0
report-service/src/main/java/com/lantone/report/web/MedAppealInfoManagementController.java

@@ -2,12 +2,16 @@ package com.lantone.report.web;
 
 
 import com.lantone.common.api.CommonResult;
+import com.lantone.report.dto.GetAppealDeptDTO;
 import com.lantone.report.dto.GetAppealInfoDTO;
+import com.lantone.report.dto.GetAppealModeDTO;
 import com.lantone.report.dto.GetReviewerDTO;
 import com.lantone.report.facade.MedAppealInfoManagementFacade;
 import com.lantone.report.vo.AddAppealInfoVO;
 import com.lantone.report.vo.CancelAppealInfoVO;
+import com.lantone.report.vo.GetAppealDeptVo;
 import com.lantone.report.vo.GetAppealInfoVO;
+import com.lantone.report.vo.GetAppealModeVo;
 import com.lantone.report.vo.GetAppealOperationTypeVO;
 import com.lantone.report.vo.GetReviewerVO;
 import io.swagger.annotations.Api;
@@ -76,4 +80,19 @@ public class MedAppealInfoManagementController {
     public CommonResult<GetAppealInfoDTO> getAppealInfo(@RequestBody GetAppealInfoVO getAppealInfoVO) {
         return CommonResult.success(medAppealInfoManagementFacade.getAppealInfo(getAppealInfoVO));
     }
+
+
+    @ApiOperation(value = "申诉审核科室下拉列表查询[by:songxl]",
+            notes = "申诉审核科室下拉列表查询")
+    @PostMapping("/getAppealDept")
+    public CommonResult<List<GetAppealDeptDTO>> getAppealDept(@RequestBody @Valid GetAppealDeptVo getAppealDeptVo) {
+        return CommonResult.success(medAppealInfoManagementFacade.getAppealDept(getAppealDeptVo));
+    }
+
+    @ApiOperation(value = "申诉审核模块下拉列表查询[by:songxl]",
+            notes = "申诉审核模块下拉列表查询")
+    @PostMapping("/getAppealMode")
+    public CommonResult<List<GetAppealModeDTO>> getAppealMode(@RequestBody @Valid GetAppealModeVo getAppealModeVo) {
+        return CommonResult.success(medAppealInfoManagementFacade.getAppealMode(getAppealModeVo));
+    }
 }

+ 7 - 8
report-service/src/main/resources/mapper/AppealExamineInfoMapper.xml

@@ -11,7 +11,8 @@
         (
         SELECT
         a.*, c.example_status,
-        c.gmt_create AS check_gmt_create
+        c.gmt_create AS check_gmt_create,
+        c.example_operation exampleOperation
         FROM
         (
         SELECT
@@ -59,6 +60,9 @@
         <if test="getComplaintRecordVO.deptName != null and getComplaintRecordVO.deptName != '' ">
             <![CDATA[ AND b.beh_dept_name = #{getComplaintRecordVO.deptName}]]>
         </if>
+        <if test="getComplaintRecordVO.patientName != null and getComplaintRecordVO.patientName != '' ">
+            <![CDATA[ AND b.name like concat('%',#{getComplaintRecordVO.patientName},'%')]]>
+        </if>
         ) a
         LEFT JOIN med_appeal_examine_info c ON a.id = c.appeal_info_id
         WHERE
@@ -74,8 +78,6 @@
         <if test="getComplaintRecordVO.name != null and getComplaintRecordVO.name != '' ">
             <![CDATA[ AND c.linkman like concat('%',#{getComplaintRecordVO.name},'%')]]>
         </if>
-        ORDER BY
-        a.claimant_gmt_create DESC
     </select>
 
     <select id="getAppealReview" resultType="com.lantone.report.dto.GetAppealReviewDTO">
@@ -138,15 +140,12 @@
             <![CDATA[ AND c.example_status = #{getAppealReviewVO.state}]]>
         </if>
         ) a
-        LEFT JOIN sys_user b ON a.claimant_id = b.id
+        LEFT JOIN sys_user b ON a.claimant_id = b.id AND b.is_deleted='N'
         LEFT JOIN sys_user c ON a.check_id = c.id
-        WHERE b.is_deleted='N'
-        AND c.is_deleted='N'
+        WHERE c.is_deleted='N'
         <if test="getAppealReviewVO.name != null and getAppealReviewVO.name != '' ">
             <![CDATA[ AND b.linkman like concat('%',#{getAppealReviewVO.name},'%')]]>
         </if>
-        ORDER BY
-        a.claimant_gmt_create DESC
     </select>
 
 

+ 53 - 5
report-service/src/main/resources/mapper/AppealInfoMapper.xml

@@ -71,8 +71,12 @@
         FROM
             med_appeal_info mai
         LEFT JOIN med_appeal_examine_info mae ON mai.id = mae.appeal_info_id
-        LEFT JOIN med_qcresult_detail mqd ON mai.qcresult_detail_id = mqd.id
-        LEFT JOIN qc_cases_entry qce ON mqd.cases_entry_id = qce.id AND qce.is_deleted = "N"
+        LEFT JOIN qc_cases_entry qce ON mai.cases_entry_id = qce.id
+        AND qce.is_deleted = "N"
+        LEFT JOIN med_qcresult_detail mqd ON mai.cases_entry_id = mqd.cases_entry_id
+        AND mai.behospital_code = mqd.behospital_code
+        AND mai.hospital_id = mqd.hospital_id
+        AND mqd.is_deleted = "N"
         LEFT JOIN sys_user u ON mai.claimant_id = u.id
         LEFT JOIN sys_user u2 ON mai.check_id = u2.id
         WHERE
@@ -87,9 +91,6 @@
         <if test="getAppealInfoVO.casesEntryId != null ">
             AND mai.cases_entry_id = #{getAppealInfoVO.casesEntryId}
         </if>
-        <if test="getAppealInfoVO.qcresultDetailId != null ">
-            AND mai.qcresult_detail_id = #{getAppealInfoVO.qcresultDetailId}
-        </if>
         <if test="getAppealInfoVO.appealExplain != null and getAppealInfoVO.appealExplain != '' ">
             AND mai.appeal_explain = #{getAppealInfoVO.appealExplain}
         </if>
@@ -105,4 +106,51 @@
             name = #{name}
         AND is_deleted = 'N'
     </select>
+    <select id="getAppealDept" resultType="com.lantone.report.dto.GetAppealDeptDTO">
+        SELECT
+            b.beh_dept_id deptId,
+            b.beh_dept_name deptName
+        FROM
+            med_appeal_info a
+        LEFT JOIN med_behospital_info b ON a.behospital_code = b.behospital_code
+        WHERE
+            a.is_deleted = 'N'
+            AND a.hospital_id = #{getAppealDeptVo.hospitalId}
+            AND a.hospital_id = b.hospital_id
+            <if test="getAppealDeptVo.claimantId != null ">
+                AND a.claimant_id = #{getAppealDeptVo.claimantId}
+            </if>
+            <if test="getAppealDeptVo.checkId != null ">
+                AND a.check_id = #{getAppealDeptVo.checkId}
+            </if>
+            <if test="getAppealDeptVo.isPlacefile != null and getAppealDeptVo.isPlacefile != '' ">
+                AND b.is_placefile = #{getAppealDeptVo.isPlacefile}
+            </if>
+            GROUP BY
+            b.beh_dept_id
+    </select>
+    <select id="getAppealMode" resultType="com.lantone.report.dto.GetAppealModeDTO">
+        SELECT
+        a.mode_id modeId,
+        a.mode_name modeName
+        FROM
+        med_appeal_info a
+        LEFT JOIN med_behospital_info b ON a.behospital_code = b.behospital_code
+        WHERE
+        a.is_deleted = 'N'
+        AND a.hospital_id = #{getAppealModeVo.hospitalId}
+        AND a.hospital_id = b.hospital_id
+        AND a.mode_id IS NOT NULL
+        <if test="getAppealModeVo.claimantId != null ">
+            AND a.claimant_id = #{getAppealModeVo.claimantId}
+        </if>
+        <if test="getAppealModeVo.checkId != null ">
+            AND a.check_id = #{getAppealModeVo.checkId}
+        </if>
+        <if test="getAppealModeVo.isPlacefile != null and getAppealModeVo.isPlacefile != '' ">
+            AND b.is_placefile = #{getAppealModeVo.isPlacefile}
+        </if>
+        GROUP BY
+        a.mode_id
+    </select>
 </mapper>

+ 1 - 1
security-center/src/main/resources/bootstrap.yml

@@ -18,7 +18,7 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
   profiles:
-    active: local
+    active: debug
 
 eureka:
   client: