瀏覽代碼

申诉驳回v2.2.0申诉相关功能提交

songxinlu 3 年之前
父節點
當前提交
97f9045126

+ 114 - 0
common/src/main/java/com/lantone/common/dto/appeal/GetAppealInfoDTO.java

@@ -0,0 +1,114 @@
+package com.lantone.common.dto.appeal;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 申诉审核内容对象
+ * @Author songxl
+ */
+@Data
+public class GetAppealInfoDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "病人住院ID")
+    private String behospitalCode;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+
+    @ApiModelProperty(value = "性别(男,女)")
+    private String sex;
+
+    @ApiModelProperty(value = "年龄")
+    private String age;
+
+    @ApiModelProperty(value = "住院科室ID")
+    private String deptId;
+
+    @ApiModelProperty(value = "住院科室名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "入院时间")
+    private Date behospitalDate;
+
+    @ApiModelProperty(value = "出院时间")
+    private Date leaveHospitalDate;
+
+    @ApiModelProperty(value = "申诉id")
+    private Long id;
+
+    @ApiModelProperty(value = "医院ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "质控缺陷id")
+    private Long qcresultDetailId;
+
+    @ApiModelProperty(value = "缺陷详情")
+    private String qcresultDetailMsg;
+
+    @ApiModelProperty(value = "缺陷扣分分值")
+    private Long qcresultDetaiValue;
+
+    @ApiModelProperty(value = "条目ID")
+    private Long casesEntryId;
+
+    @ApiModelProperty(value = "质控条目(新增已有操作才有值)")
+    private String casesEntryName;
+
+    @ApiModelProperty(value = "提示信息(新增已有操作才有值)")
+    private String casesEntryMsg;
+
+    @ApiModelProperty(value = "分值(新增已有操作才有值)")
+    private Long value;
+
+    @ApiModelProperty(value = "申诉模块id")
+    private Long modeId;
+
+    @ApiModelProperty(value = "模块名称")
+    private String modeName;
+
+    @ApiModelProperty(value = "病历内容")
+    private String defectContent;
+
+    @ApiModelProperty(value = "申诉人id")
+    private Long claimantId;
+
+    @ApiModelProperty(value = "申诉类型(0:医生申诉|1:质控申诉)")
+    private String appealType;
+
+    @ApiModelProperty(value = "申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)")
+    private String appealOperationType;
+
+    @ApiModelProperty(value = "申诉说明")
+    private String appealExplain;
+
+    @ApiModelProperty(value = "审核人id")
+    private Long checkId;
+
+    @ApiModelProperty(value = "申诉备注")
+    private String appealRemark;
+
+    @ApiModelProperty(value = "审核状态:0:驳回|1:通过")
+    private String exampleStatus;
+
+    @ApiModelProperty(value = "审核处理方式: 1:修改|2:删除|3:新增已有|4:新增缺失|5:恢复")
+    private String exampleOperation;
+
+    @ApiModelProperty(value = "处理结果")
+    private String processResult;
+
+    @ApiModelProperty(value = "驳回理由")
+    private String rejectReason;
+
+    @ApiModelProperty(value = "审核备注")
+    private String exampleRemark;
+
+    @ApiModelProperty(value = "申诉人姓名")
+    private String claimantName;
+
+    @ApiModelProperty(value = "审核人姓名")
+    private String checkName;
+}

+ 1 - 1
common/src/main/java/com/lantone/common/vo/appeal/AddAppealInfoVO.java

@@ -73,7 +73,7 @@ public class AddAppealInfoVO {
     @NotNull(message = "审核人id不能为空")
     private Long checkId;
 
-    @ApiModelProperty(value = "当前工作流节点id", required = true)
+    @ApiModelProperty(value = "当前工作流节点id 1:申诉|2:撤回|3:审核", required = true)
     @NotNull(message = "当前工作流节点id不能为空")
     private Long workFlowNodeId;
 

+ 20 - 0
common/src/main/java/com/lantone/common/vo/appeal/CancelAppealInfoVO.java

@@ -0,0 +1,20 @@
+package com.lantone.common.vo.appeal;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @Author songxl
+ * @Date 2022/1/6
+ */
+@Data
+public class CancelAppealInfoVO {
+    @ApiModelProperty(value = "申诉id", required = true)
+    private Long id;
+    @ApiModelProperty(value = "当前工作流节点id 1:申诉|2:撤回|3:审核", required = true)
+    @NotNull(message = "当前工作流节点id不能为空")
+    private Long workFlowNodeId;
+}

+ 21 - 0
common/src/main/java/com/lantone/common/vo/appeal/GetAppealInfoVO.java

@@ -0,0 +1,21 @@
+package com.lantone.common.vo.appeal;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @Author songxl
+ * @Date 2022/1/6
+ */
+@Data
+public class GetAppealInfoVO {
+    @ApiModelProperty(value = "申诉id", required = true)
+    @NotNull(message = "申诉id不能为空")
+    private Long id;
+
+    @ApiModelProperty(value = "类型 1:申诉查看|2:审核查看")
+    private String type = "1";
+}

+ 25 - 0
common/src/main/java/com/lantone/common/vo/appeal/GetAppealOperationTypeVO.java

@@ -0,0 +1,25 @@
+package com.lantone.common.vo.appeal;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @Author songxl
+ * @Date 2022/1/6
+ */
+@Data
+public class GetAppealOperationTypeVO {
+    @ApiModelProperty(value = "质控缺陷id", required = true)
+    @NotNull(message = "质控缺陷id不能为空")
+    private Long qcresultDetailId;
+    @ApiModelProperty(value = "审核状态 0:待审核|1:驳回|2:通过", required = true)
+    @NotBlank(message = "审核状态不能为空")
+    private String exampleStatus;
+    @ApiModelProperty(value = "申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)", required = true)
+    @NotBlank(message = "申诉操作类型不能为空")
+    private String appealOperationType;
+}

+ 4 - 0
dblayer-mbg/src/main/java/com/lantone/dblayermbg/mapperdb2/AppealInfoMapper.java

@@ -1,7 +1,10 @@
 package com.lantone.dblayermbg.mapperdb2;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.common.dto.appeal.GetAppealInfoDTO;
+import com.lantone.common.vo.appeal.GetAppealInfoVO;
 import com.lantone.dblayermbg.entity.appeal.AppealInfo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -10,4 +13,5 @@ import com.lantone.dblayermbg.entity.appeal.AppealInfo;
  */
 public interface AppealInfoMapper extends BaseMapper<AppealInfo> {
 
+    GetAppealInfoDTO getAppealInfo(@Param("getAppealInfoVO") GetAppealInfoVO getAppealInfoVO);
 }

+ 52 - 0
dblayer-mbg/src/main/resources/mapperdb2/AppealInfoMapper.xml

@@ -2,4 +2,56 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.lantone.dblayermbg.mapperdb2.AppealInfoMapper">
 
+    <select id="getAppealInfo" resultType="com.lantone.common.dto.appeal.GetAppealInfoDTO">
+        SELECT
+            mbi.behospital_code behospitalCode,
+            mbi.`name`,
+            mbi.sex,
+            mhp.age,
+            mbi.beh_dept_id deptId,
+            mbi.beh_dept_name deptName,
+            mbi.doctor_id doctorId,
+            mbi.doctor_name doctorName,
+            mbi.behospital_date behospitalDate,
+            mbi.leave_hospital_date leaveHospitalDate,
+            mai.id,
+            mai.hospital_id hospitalId,
+            mai.qcresult_detail_id qcresultDetailId,
+            mai.qcresult_detail_msg qcresultDetailMsg,
+            mai.qcresult_detai_value qcresultDetaiValue,
+            mai.cases_entry_id casesEntryId,
+            mai.cases_entry_name casesEntryName,
+            mai.cases_entry_msg casesEntryMsg,
+            mai.`value`,
+            mai.mode_id modeId,
+            mai.mode_name modeName,
+            mai.defect_content defectContent,
+            mai.claimant_id claimantId,
+            mai.appeal_type appealType,
+            mai.appeal_operation_type appealOperationType,
+            mai.appeal_explain appealExplain,
+            mai.check_id checkId,
+            mai.remark appealRemark,
+            mae.example_status exampleStatus,
+            mae.example_operation exampleOperation,
+            mae.process_result processResult,
+            mae.reject_reason rejectReason,
+            mae.remark exampleRemark,
+            u.linkman claimantName,
+            u2.linkman checkName
+        FROM
+            med_appeal_info mai
+        LEFT JOIN med_behospital_info mbi ON mbi.behospital_code = mai.behospital_code
+        AND mbi.hospital_id = mai.hospital_id
+        LEFT JOIN med_home_page mhp ON mbi.behospital_code = mhp.behospital_code
+        AND mhp.hospital_id = mbi.hospital_id
+        LEFT JOIN med_appeal_examine_info mae ON mai.id = mae.appeal_info_id
+        LEFT JOIN sys_user u ON mai.claimant_id = u.id
+        LEFT JOIN sys_user u2 ON mai.check_id = u2.id
+        WHERE 1=1
+        <if test="getAppealInfoVO.type == 1">
+            AND mai.is_deleted = "N"
+        </if>
+        AND mai.id = #{getAppealInfoVO.id}
+    </select>
 </mapper>

+ 4 - 1
gateway-service/src/main/resources/bootstrap.yml

@@ -95,4 +95,7 @@ secure:
       - "/message-service/backSample/sendToTopic"
       - "/report-service/medAppealInfoManage/getWorkById"
       - "/report-service/medAppealInfoManage/addAppealInfo"
-      - "/report-service/medAppealInfoManage/getReviewer"
+      - "/report-service/medAppealInfoManage/getReviewer"
+      - "/report-service/medAppealInfoManage/getAppealOperationType"
+      - "/report-service/medAppealInfoManage/cancelAppealInfo"
+      - "/report-service/medAppealInfoManage/getAppealInfo"

+ 44 - 0
report-service/src/main/java/com/lantone/report/enums/AppealOperationTypeEnum.java

@@ -0,0 +1,44 @@
+package com.lantone.report.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 工作流节点
+ * @author: gaodm
+ * @time: 2018/9/3 16:01
+ */
+public enum AppealOperationTypeEnum {
+
+    UP_OR_DEL("0", "删改"),
+    ADD_EXIST("1", "新增已有"),
+    ADD_NO_EXIST("2", "新增未有"),
+    RECOVER("3", "恢复");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    AppealOperationTypeEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static AppealOperationTypeEnum getEnum(String key) {
+        for (AppealOperationTypeEnum item : AppealOperationTypeEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        AppealOperationTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 43 - 0
report-service/src/main/java/com/lantone/report/enums/ExampleStatusEnum.java

@@ -0,0 +1,43 @@
+package com.lantone.report.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 审核状态
+ * @author: gaodm
+ * @time: 2018/9/3 16:01
+ */
+public enum ExampleStatusEnum {
+
+    NOT_EXAMPLE("0", "待审核"),
+    REJECT_EXAMPLE("1", "驳回"),
+    ADOPT_EXAMPLE("2", "审核通过");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    ExampleStatusEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ExampleStatusEnum getEnum(String key) {
+        for (ExampleStatusEnum item : ExampleStatusEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        ExampleStatusEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 95 - 5
report-service/src/main/java/com/lantone/report/facade/MedAppealInfoManagementFacade.java

@@ -3,12 +3,18 @@ package com.lantone.report.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.google.common.collect.Maps;
+import com.lantone.common.dto.appeal.GetAppealInfoDTO;
 import com.lantone.common.dto.appeal.GetReviewerDTO;
 import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.DateUtil;
 import com.lantone.common.util.ListUtil;
+import com.lantone.common.util.MapUtil;
 import com.lantone.common.vo.appeal.AddAppealInfoVO;
+import com.lantone.common.vo.appeal.CancelAppealInfoVO;
+import com.lantone.common.vo.appeal.GetAppealInfoVO;
+import com.lantone.common.vo.appeal.GetAppealOperationTypeVO;
 import com.lantone.common.vo.appeal.GetReviewerVO;
 import com.lantone.common.vo.appeal.MedAppealInfoVO;
 import com.lantone.dblayermbg.entity.appeal.AppealExamineInfo;
@@ -20,6 +26,8 @@ import com.lantone.dblayermbg.facade.appeal.AppealInfoFacade;
 import com.lantone.dblayermbg.facade.appeal.QcresultDetailFacade2;
 import com.lantone.dblayermbg.facade.appeal.SysUserRoleFacade2;
 import com.lantone.dblayermbg.facade.appeal.WorkFlowNodeFacade;
+import com.lantone.report.enums.AppealOperationTypeEnum;
+import com.lantone.report.enums.ExampleStatusEnum;
 import com.lantone.report.enums.WorkFlowNodeEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +35,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:申诉审核管理
@@ -72,7 +81,7 @@ public class MedAppealInfoManagementFacade {
                     return addAppealInfoAndExamineInfo(addAppealInfoVO);
                 }
                 //获取申诉记录当前节点状态(1:申诉|2:撤销|3:科室审核)
-                if (WorkFlowNodeEnum.APPEAL.getKey().equals(addAppealInfoVO.getWorkFlowNodeId()+"")) {
+                if (WorkFlowNodeEnum.APPEAL.getKey().equals(addAppealInfoVO.getWorkFlowNodeId() + "")) {
                     Asserts.fail2("该缺陷已被申诉");
                 } else {
                     //删除申诉记录
@@ -115,7 +124,7 @@ public class MedAppealInfoManagementFacade {
                     return addAppealInfoAndExamineInfo(addAppealInfoVO);
                 }
                 //获取申诉记录当前节点状态(1:申诉|2:撤销|3:科室审核)
-                if (WorkFlowNodeEnum.APPEAL.getKey().equals(addAppealInfoVO.getWorkFlowNodeId()+"")) {
+                if (WorkFlowNodeEnum.APPEAL.getKey().equals(addAppealInfoVO.getWorkFlowNodeId() + "")) {
                     Asserts.fail2("该缺陷已被申诉");
                 } else {
                     //删除申诉记录
@@ -204,19 +213,100 @@ public class MedAppealInfoManagementFacade {
         if (ListUtil.isEmpty(appealInfos)) {
             return reviewers;
         }
+        List<GetReviewerDTO> temp = new ArrayList<>(reviewers);
         if (ListUtil.isNotEmpty(reviewers)) {
             List<GetReviewerDTO> out = new ArrayList<>();
             for (AppealInfo appealInfo : appealInfos) {
                 for (GetReviewerDTO getReviewerDTO : reviewers) {
-                    if (getReviewerDTO.getId().equals(appealInfo.getClaimantId())) {
+                    if (getReviewerDTO.getId().intValue() == appealInfo.getCheckId().intValue()) {
                         out.add(getReviewerDTO);
-                        reviewers.remove(getReviewerDTO);
+                        temp.remove(getReviewerDTO);
                     }
                 }
             }
-            out.addAll(reviewers);
+            out.addAll(temp);
             return out;
         }
         return reviewers;
     }
+
+    public Map<String, String> getAppealOperationType(GetAppealOperationTypeVO getAppealOperationTypeVO) {
+        Map<String, String> out = Maps.newHashMap();
+        //通过缺陷id获取缺陷
+        QcresultDetail qcresultDetail = qcresultDetailFacade.getById(getAppealOperationTypeVO.getQcresultDetailId());
+        switch (getAppealOperationTypeVO.getAppealOperationType()) {
+            case "0":
+                if (qcresultDetail == null) {
+                    Asserts.fail2("质控缺陷条目不存在");
+                }
+                if (IsDeleteEnum.N.getKey().equals(qcresultDetail.getIsDeleted())) {
+                    out.put("appealOperationType", AppealOperationTypeEnum.UP_OR_DEL.getKey());
+                } else {
+                    out.put("appealOperationType", AppealOperationTypeEnum.RECOVER.getKey());
+                }
+                break;
+            case "1":
+                if (ExampleStatusEnum.ADOPT_EXAMPLE.getKey().equals(getAppealOperationTypeVO.getExampleStatus())) {
+                    out.put("appealOperationType", AppealOperationTypeEnum.UP_OR_DEL.getKey());
+                } else {
+                    out.put("appealOperationType", AppealOperationTypeEnum.ADD_EXIST.getKey());
+                }
+                break;
+            case "2":
+                out.put("appealOperationType", AppealOperationTypeEnum.ADD_NO_EXIST.getKey());
+                break;
+            case "3":
+                if (ExampleStatusEnum.ADOPT_EXAMPLE.getKey().equals(getAppealOperationTypeVO.getExampleStatus())) {
+                    out.put("appealOperationType", AppealOperationTypeEnum.UP_OR_DEL.getKey());
+                } else {
+                    out.put("appealOperationType", AppealOperationTypeEnum.RECOVER.getKey());
+                }
+                break;
+            default:
+                Asserts.fail2("申诉操作类型不存在");
+        }
+        return out;
+    }
+
+    /**
+     * @param cancelAppealInfoVO
+     * @Description撤销申诉
+     * @Return java.lang.Boolean
+     */
+    public Boolean cancelAppealInfo(CancelAppealInfoVO cancelAppealInfoVO) {
+        //获取申诉记录
+        AppealInfo appealInfo = appealInfoFacade.getById(cancelAppealInfoVO.getId());
+        if (appealInfo == null) {
+            Asserts.fail2("撤回申诉条目不存在");
+        }
+        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"));
+            //逻辑删除该申诉(撤回)
+            appealInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
+            appealInfo.setWorkFlowNodeId(cancelAppealInfoVO.getWorkFlowNodeId());
+            appealInfo.setGmtModified(DateUtil.now());
+            Boolean out = appealInfoFacade.updateById(appealInfo);
+            //存在历史记录还原最后一条
+            if (ListUtil.isNotEmpty(appealInfoHistory)) {
+                AppealInfo appealInfoOld = appealInfoHistory.get(0);
+                appealInfoOld.setIsDeleted(IsDeleteEnum.N.getKey());
+                return appealInfoFacade.saveOrUpdate(appealInfoOld);
+            }
+            return out;
+        } else {
+            Asserts.fail2("撤回申诉条目状态不是申诉状态");
+        }
+        return false;
+    }
+
+    public GetAppealInfoDTO getAppealInfo(GetAppealInfoVO getAppealInfoVO) {
+        return appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+    }
 }

+ 28 - 1
report-service/src/main/java/com/lantone/report/web/MedAppealInfoManagementController.java

@@ -2,8 +2,12 @@ package com.lantone.report.web;
 
 
 import com.lantone.common.dto.RespDTO;
+import com.lantone.common.dto.appeal.GetAppealInfoDTO;
 import com.lantone.common.dto.appeal.GetReviewerDTO;
 import com.lantone.common.vo.appeal.AddAppealInfoVO;
+import com.lantone.common.vo.appeal.CancelAppealInfoVO;
+import com.lantone.common.vo.appeal.GetAppealInfoVO;
+import com.lantone.common.vo.appeal.GetAppealOperationTypeVO;
 import com.lantone.common.vo.appeal.GetReviewerVO;
 import com.lantone.common.vo.appeal.MedAppealInfoVO;
 import com.lantone.dblayermbg.entity.appeal.WorkFlowNode;
@@ -19,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -30,7 +35,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/medAppealInfoManage")
-@Api(value = "申诉审核数据模块相关接口API", tags = { "申诉审核数据模块相关接口API" })
+@Api(value = "申诉审核数据模块相关接口API", tags = {"申诉审核数据模块相关接口API"})
 public class MedAppealInfoManagementController {
     @Autowired
     MedAppealInfoManagementFacade medAppealInfoManagementFacade;
@@ -51,6 +56,7 @@ public class MedAppealInfoManagementController {
     public RespDTO<Boolean> addAppealInfo(@RequestBody @Valid AddAppealInfoVO addAppealInfoVO) {
         return RespDTO.onSuc(medAppealInfoManagementFacade.addAppealInfo(addAppealInfoVO));
     }
+
     @ApiOperation(value = "获取审核人[by:songxl]",
             notes = "获取审核人")
     @PostMapping("/getReviewer")
@@ -59,4 +65,25 @@ public class MedAppealInfoManagementController {
         return RespDTO.onSuc(reviewers);
     }
 
+    @ApiOperation(value = "再次申诉获取操作类型[by:songxl]",
+            notes = "再次申诉获取操作类型")
+    @PostMapping("/getAppealOperationType")
+    public RespDTO<Map<String, String>> getAppealOperationType(@RequestBody @Valid GetAppealOperationTypeVO getAppealOperationTypeVO) {
+        return RespDTO.onSuc(medAppealInfoManagementFacade.getAppealOperationType(getAppealOperationTypeVO));
+    }
+
+    @ApiOperation(value = "撤回申诉[by:songxl]",
+            notes = "撤回申诉")
+    @PostMapping("/cancelAppealInfo")
+    @Transactional
+    public RespDTO<Boolean> cancelAppealInfo(@RequestBody @Valid CancelAppealInfoVO cancelAppealInfoVO) {
+        return RespDTO.onSuc(medAppealInfoManagementFacade.cancelAppealInfo(cancelAppealInfoVO));
+    }
+
+    @ApiOperation(value = "申诉记录详情-查看[by:songxl]",
+            notes = "申诉记录详情-查看")
+    @PostMapping("/getAppealInfo")
+    public RespDTO<GetAppealInfoDTO> getAppealInfo(@RequestBody GetAppealInfoVO getAppealInfoVO) {
+        return RespDTO.onSuc(medAppealInfoManagementFacade.getAppealInfo(getAppealInfoVO));
+    }
 }