Przeglądaj źródła

申诉2.2.0申诉相关功能提交

songxinlu 3 lat temu
rodzic
commit
0d13aa466f

+ 140 - 0
doc/041.20220118_v2.2.0_通用版_申诉驳回/qc_init_v2.2.0_通用版_申诉驳回.sql

@@ -0,0 +1,140 @@
+
+use `qc`;
+-- 执行前请看注意事项!
+-- 申诉驳回相关配置
+-- 注意
+
+
+/**
+med_appeal_info 申诉记录表
+ */
+CREATE TABLE `med_appeal_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(16) NOT NULL COMMENT '病人住院ID',
+  `qcresult_detail_id` bigint(20) NOT NULL COMMENT '质控缺陷id',
+  `qcresult_detail_msg` varchar(255) DEFAULT NULL COMMENT '缺陷详情',
+  `qcresult_detai_value` bigint(60) DEFAULT NULL COMMENT '缺陷扣分分值',
+  `cases_entry_id` bigint(20) DEFAULT NULL COMMENT '条目ID',
+  `cases_entry_name` varchar(255) DEFAULT NULL COMMENT '质控条目(新增已有操作才有值)',
+  `cases_entry_msg` varchar(255) DEFAULT NULL COMMENT '提示信息(新增已有操作才有值)',
+  `value` bigint(60) DEFAULT NULL COMMENT '分值(新增已有操作才有值)',
+  `mode_id` bigint(20) NOT NULL COMMENT '申诉模块id',
+  `mode_name` varchar(60) NOT NULL COMMENT '模块名称',
+  `defect_content` longtext COMMENT '病历内容',
+  `claimant_id` bigint(20) NOT NULL COMMENT '申诉人id',
+  `appeal_type` char(3) NOT NULL COMMENT '申诉类型(0:医生申诉|1:质控申诉)',
+  `appeal_operation_type` char(3) NOT NULL COMMENT '申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)',
+  `appeal_explain` varchar(255) DEFAULT NULL COMMENT '申诉说明',
+  `check_id` bigint(20) NOT NULL COMMENT '审核人id',
+  `work_flow_node_id` bigint(20) NOT NULL COMMENT '当前工作流节点id',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='申诉记录表';
+
+/**
+med_appeal_examine_info 申诉审批表
+ */
+CREATE TABLE `med_appeal_examine_info` (
+  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '申诉审批id',
+  `appeal_info_id` bigint(11) NOT NULL COMMENT '申诉id',
+  `check_id` bigint(20) NOT NULL COMMENT '审核人id',
+  `example_status` char(1) DEFAULT '0' COMMENT '审核状态:0:驳回|1:通过',
+  `example_operation` char(1) DEFAULT NULL COMMENT '审核处理方式: 1:修改|2:删除|3:新增已有|4:新增缺失',
+  `process_result` varchar(255) DEFAULT NULL COMMENT '处理结果',
+  `reject_reason` varchar(255) DEFAULT NULL COMMENT '驳回理由',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='申诉审批表';
+
+
+/**
+med_work_flow_info 流程表
+ */
+
+CREATE TABLE `med_work_flow_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `work_flow_name` varchar(60) NOT NULL COMMENT '流程名称',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='流程表';
+
+SET @hospitalid ='35';
+INSERT INTO `qc`.`med_work_flow_info` (`hospital_id`, `work_flow_name`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES ( @hospitalid, '湘雅申诉审核流程', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+
+/**
+med_work_flow_link 流程线表
+ */
+
+CREATE TABLE `med_work_flow_link` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `work_flow_id` bigint(20) NOT NULL COMMENT '流程id',
+  `work_flow_link_id` bigint(20) NOT NULL COMMENT '工作流id',
+  `work_link_now_node` bigint(20) NOT NULL COMMENT '当前节点id',
+  `work_link_condition` varchar(60) DEFAULT NULL COMMENT '流程条件(流程线分叉,下一结点判断条件)',
+  `work_link_next_node` bigint(20) NOT NULL COMMENT '下一节点id 0:表示结束',
+  `work_link_name` varchar(60) NOT NULL COMMENT '流程线内容',
+  `work_link_status` varchar(60) NOT NULL COMMENT '工作流状态',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='流程线表';
+
+set @workflowid:= (SELECT id FROM `med_work_flow_info` where `work_flow_name`='湘雅申诉审核流程' and `hospital_id`= @hospitalid );
+INSERT INTO `qc`.`med_work_flow_link` (`work_flow_id`, `work_flow_link_id`, `work_link_now_node`, `work_link_condition`, `work_link_next_node`, `work_link_name`, `work_link_status`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '1', '0', NULL, '1', '申诉人员向审核员发起申诉', '申诉', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+INSERT INTO `qc`.`med_work_flow_link` (`work_flow_id`, `work_flow_link_id`, `work_link_now_node`, `work_link_condition`, `work_link_next_node`, `work_link_name`, `work_link_status`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '2', '1', NULL, '2', '申诉人员撤回申诉', '申诉', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+INSERT INTO `qc`.`med_work_flow_link` (`work_flow_id`, `work_flow_link_id`, `work_link_now_node`, `work_link_condition`, `work_link_next_node`, `work_link_name`, `work_link_status`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '3', '1', NULL, '3', '科室审核员审核', '审核', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+
+
+/**
+med_work_flow_node 流程节点表
+ */
+CREATE TABLE `med_work_flow_node` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `work_flow_id` bigint(20) NOT NULL COMMENT '流程id',
+  `work_flow_node_id` bigint(20) NOT NULL COMMENT '工作节点id',
+  `work_node_name` varchar(60) NOT NULL COMMENT '节点名称',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='流程节点表';
+
+INSERT INTO `qc`.`med_work_flow_node` (`work_flow_node_id`, `work_node_name`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '1', '申诉', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+INSERT INTO `qc`.`med_work_flow_node` (`work_flow_node_id`, `work_node_name`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '2', '撤销申诉', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+INSERT INTO `qc`.`med_work_flow_node` (`work_flow_node_id`, `work_node_name`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `remark`) VALUES (@workflowid, '3', '科室审核', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '');
+
+/**
+sys_hospital_set 医院所有配置信息
+ */
+INSERT INTO `qc`.`sys_hospital_set` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `hospital_id`, `name`, `code`, `value`, `remark`) VALUES ('274', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '医院是否开启申诉功能', 'appeal_flag', 'true', '医院是否开启申诉功能');
+INSERT INTO `qc`.`sys_hospital_set` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `hospital_id`, `name`, `code`, `value`, `remark`) VALUES ('275', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '35', '审核人是否可以是自己开关', 'self_flag', 'false', '审核人是否可以是自己开关');
+
+
+/**
+sys_role 系统角色表
+ */
+INSERT INTO `qc`.`sys_role` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `roleLevel`, `descritpion`, `menuItems`, `remark`) VALUES ('10', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '申诉审核员', '0', '', '', NULL);

+ 12 - 0
src/main/java/com/diagbot/client/MedAppealInfoServiceClient.java

@@ -2,16 +2,22 @@ package com.diagbot.client;
 
 import com.diagbot.client.hystrix.MedAppealInfoServiceHystrix;
 import com.diagbot.client.hystrix.QcServiceHystrix;
+import com.diagbot.dto.GetReviewerDTO;
 import com.diagbot.dto.OutputInfo;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.Response;
 import com.diagbot.entity.WorkFlowInfo;
+import com.diagbot.vo.AddAppealInfoVO;
+import com.diagbot.vo.GetReviewerVO;
 import com.diagbot.vo.MedAppealInfoVO;
 import com.diagbot.vo.QueryVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import javax.validation.Valid;
 import java.net.URI;
+import java.util.List;
 
 
 /**
@@ -25,6 +31,12 @@ public interface MedAppealInfoServiceClient {
     @PostMapping(value = "/security-center/medAppealInfoManage/getWorkById")
     Response<WorkFlowInfo> getWorkById(@RequestBody MedAppealInfoVO medAppealInfoVO);
 
+    @PostMapping(value = "/report-service/medAppealInfoManage/addAppealInfo")
+    RespDTO<Boolean> addAppealInfo(@RequestBody @Valid AddAppealInfoVO addAppealInfoVO);
+
+    @PostMapping(value = "/report-service/medAppealInfoManage/getReviewer")
+    RespDTO<List<GetReviewerDTO>> getReviewer(@RequestBody GetReviewerVO getReviewerVO);
+
 
 }
 

+ 18 - 0
src/main/java/com/diagbot/client/hystrix/MedAppealInfoServiceHystrix.java

@@ -3,16 +3,22 @@ package com.diagbot.client.hystrix;
 
 import com.diagbot.client.MedAppealInfoServiceClient;
 import com.diagbot.client.QcServiceClient;
+import com.diagbot.dto.GetReviewerDTO;
 import com.diagbot.dto.OutputInfo;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.Response;
 import com.diagbot.entity.WorkFlowInfo;
+import com.diagbot.vo.AddAppealInfoVO;
+import com.diagbot.vo.GetReviewerVO;
 import com.diagbot.vo.MedAppealInfoVO;
 import com.diagbot.vo.QueryVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import javax.validation.Valid;
 import java.net.URI;
+import java.util.List;
 
 /**
  * @description: 申诉远程调用熔断器
@@ -28,4 +34,16 @@ public class MedAppealInfoServiceHystrix implements MedAppealInfoServiceClient {
         log.error("【hystrix】调用{}异常", "getWorkByIdField");
         return null;
     }
+
+    @Override
+    public RespDTO<Boolean> addAppealInfo(@Valid AddAppealInfoVO addAppealInfoVO) {
+        log.error("【hystrix】调用{}异常", "addAppealInfo");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetReviewerDTO>> getReviewer(GetReviewerVO getReviewerVO) {
+        log.error("【hystrix】调用{}异常", "getReviewer");
+        return null;
+    }
 }

+ 2 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -291,6 +291,8 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/analysisDept/getDefectImproveInnerByDeptExport").permitAll()
                 .antMatchers("/qc/appealInfo/getWorkById").permitAll()
                 .antMatchers("/qc/appealInfoME/getComplaintRecord").permitAll()
+                .antMatchers("/qc/appealInfo/addAppealInfo").permitAll()
+                .antMatchers("/qc/appealInfo/getReviewer").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

+ 2 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -343,6 +343,8 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/analysisDept/getDefectImproveInnerByDeptExport", request)
                 || matchers("/qc/appealInfo/getWorkById", request)
                 || matchers("/qc/appealInfoME/getComplaintRecord", request)
+                || matchers("/qc/appealInfo/addAppealInfo", request)
+                || matchers("/qc/appealInfo/getReviewer", request)
                 || matchers("/", request)) {
             return true;
         }

+ 22 - 0
src/main/java/com/diagbot/dto/GetReviewerDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 审核人对象
+ * @Author songxl
+ */
+@Data
+public class GetReviewerDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "审核人ID")
+    private Long id;
+
+    @ApiModelProperty(value = "审核人姓名")
+    private String userName;
+
+}

+ 82 - 0
src/main/java/com/diagbot/vo/AddAppealInfoVO.java

@@ -0,0 +1,82 @@
+package com.diagbot.vo;
+
+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 AddAppealInfoVO {
+
+    @ApiModelProperty(value = "医院ID", hidden = true)
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "病人住院ID", required = true)
+    @NotBlank(message = "病人住院ID不能为空")
+    private String behospitalCode;
+
+    @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", required = true)
+    @NotNull(message = "申诉模块id不能为空")
+    private Long modeId;
+
+    @ApiModelProperty(value = "模块名称", required = true)
+    @NotBlank(message = "模块名称不能为空")
+    private String modeName;
+
+
+    @ApiModelProperty(value = "病历内容")
+    private String defectContent;
+
+    @ApiModelProperty(value = "申诉人id", hidden = true)
+    private Long claimantId;
+
+    @ApiModelProperty(value = "申诉类型(0:医生申诉|1:质控申诉)", required = true)
+    @NotBlank(message = "申诉类型不能为空")
+    private String appealType;
+
+    @ApiModelProperty(value = "申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)", required = true)
+    @NotBlank(message = "申诉操作类型不能为空")
+    private String appealOperationType;
+
+    @ApiModelProperty(value = "申诉说明", required = true)
+    @NotBlank(message = "申诉说明不能为空")
+    private String appealExplain;
+
+    @ApiModelProperty(value = "审核人id", required = true)
+    @NotNull(message = "审核人id不能为空")
+    private Long checkId;
+
+    @ApiModelProperty(value = "当前工作流节点id", required = true)
+    @NotNull(message = "当前工作流节点id不能为空")
+    private Long workFlowNodeId;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+}

+ 19 - 0
src/main/java/com/diagbot/vo/GetReviewerVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description:
+ * @Author songxl
+ * @Date 2022/1/6
+ */
+@Data
+public class GetReviewerVO {
+    @ApiModelProperty(value = "申诉人id", hidden = true)
+    private Long claimantId;
+    @ApiModelProperty(value = "是否包含自身开关", hidden = true)
+    private Boolean selfFlag = false;
+    @ApiModelProperty(value = "审核角色id", hidden = true)
+    private String roleID = "10";
+}

+ 35 - 3
src/main/java/com/diagbot/web/MedAppealInfoController.java

@@ -3,21 +3,30 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.MedAppealInfoServiceClient;
+import com.diagbot.dto.GetReviewerDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.Response;
+import com.diagbot.entity.SysUser;
 import com.diagbot.entity.WorkFlowInfo;
+import com.diagbot.facade.SysHospitalSetFacade;
+import com.diagbot.util.SysJwtUtil;
+import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.AddAppealInfoVO;
+import com.diagbot.vo.GetReviewerVO;
 import com.diagbot.vo.MedAppealInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
-
-
+import javax.validation.Valid;
+import java.util.List;
 
 
 /**
@@ -37,6 +46,9 @@ public class MedAppealInfoController {
     @Autowired
     MedAppealInfoServiceClient medAppealInfoServiceClient;
 
+    @Autowired
+    SysHospitalSetFacade sysHospitalSetFacade;
+
     @ApiOperation(value = "获取申诉任务接口[by:songxl]",
             notes = "获取申诉任务接口")
     @PostMapping("/getWorkById")
@@ -45,5 +57,25 @@ public class MedAppealInfoController {
         Response<WorkFlowInfo> res = medAppealInfoServiceClient.getWorkById(medAppealInfoVO);
         return RespDTO.onSuc(res.getData());
     }
-
+    @ApiOperation(value = "申诉[by:songxl]",
+            notes = "申诉")
+    @PostMapping("/addAppealInfo")
+    @Transactional
+    public RespDTO<Boolean> addAppealInfo(@RequestBody @Valid AddAppealInfoVO addAppealInfoVO) {
+        addAppealInfoVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
+        addAppealInfoVO.setClaimantId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+        return medAppealInfoServiceClient.addAppealInfo(addAppealInfoVO);
+    }
+    @ApiOperation(value = "获取审核人[by:songxl]",
+            notes = "获取审核人")
+    @PostMapping("/getReviewer")
+    public RespDTO<List<GetReviewerDTO>> getReviewer(@RequestBody GetReviewerVO getReviewerVO) {
+        getReviewerVO.setClaimantId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+        //申诉人是否包含自身开关
+        String flag = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()),"self_flag");
+        if(StringUtils.isNotEmpty(flag)){
+            getReviewerVO.setSelfFlag(Boolean.parseBoolean(flag));
+        }
+        return medAppealInfoServiceClient.getReviewer(getReviewerVO);
+    }
 }