Преглед на файлове

申诉核查代码调整

songxinlu преди 3 години
родител
ревизия
49485a5e3f

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

@@ -29,8 +29,6 @@ import java.util.Map;
 @FeignClient(name = "gateway-service", url = "${appeal.address}", fallback = MedAppealInfoServiceHystrix.class)
 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);

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

@@ -34,12 +34,6 @@ import java.util.Map;
 @Slf4j
 public class MedAppealInfoServiceHystrix implements MedAppealInfoServiceClient {
 
-    @Override
-    public Response<WorkFlowInfo> getWorkById(@RequestBody MedAppealInfoVO medAppealInfoVO) {
-        log.error("【hystrix】调用{}异常", "getWorkByIdField");
-        return null;
-    }
-
     @Override
     public RespDTO<Boolean> addAppealInfo(@Valid AddAppealInfoVO addAppealInfoVO) {
         log.error("【hystrix】调用{}异常", "addAppealInfo");

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

@@ -289,7 +289,6 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/analysisDept/getEntryDefectImproveByDeptExport").permitAll()
                 .antMatchers("/qc/analysisDept/getEntryDefectImproveInnerDept").permitAll()
                 .antMatchers("/qc/analysisDept/getDefectImproveInnerByDeptExport").permitAll()
-                .antMatchers("/qc/appealInfo/getWorkById").permitAll()
                 .antMatchers("/qc/appealExamineInfo/getComplaintRecord").permitAll()
                 .antMatchers("/qc/appealExamineInfo/getAppealReview").permitAll()
                 .antMatchers("/qc/appealExamineInfo/getAudit").permitAll()

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

@@ -341,7 +341,6 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/analysisDept/getEntryDefectImproveByDeptExport", request)
                 || matchers("/qc/analysisDept/getEntryDefectImproveInnerDept", request)
                 || matchers("/qc/analysisDept/getDefectImproveInnerByDeptExport", request)
-                || matchers("/qc/appealInfo/getWorkById", request)
                 || matchers("/qc/appealExamineInfo/getComplaintRecord", request)
                 || matchers("/qc/appealExamineInfo/getAppealReview", request)
                 || matchers("/qc/appealExamineInfo/getAudit", request)

+ 44 - 0
src/main/java/com/diagbot/enums/AppealOperationTypeEnum.java

@@ -0,0 +1,44 @@
+package com.diagbot.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
src/main/java/com/diagbot/enums/ExampleStatusEnum.java

@@ -0,0 +1,43 @@
+package com.diagbot.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;
+    }
+}

+ 43 - 0
src/main/java/com/diagbot/enums/WorkFlowNodeEnum.java

@@ -0,0 +1,43 @@
+package com.diagbot.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 工作流节点
+ * @author: gaodm
+ * @time: 2018/9/3 16:01
+ */
+public enum WorkFlowNodeEnum {
+
+    APPEAL("1", "申诉"),
+    APPEAL_BACK("2", "撤销申诉"),
+    DEPT_CHECK("3", "科室审核");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    WorkFlowNodeEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static WorkFlowNodeEnum getEnum(String key) {
+        for (WorkFlowNodeEnum item : WorkFlowNodeEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        WorkFlowNodeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

+ 1 - 2
src/main/java/com/diagbot/facade/MedAppealExamineInfoManagementFacade.java

@@ -129,7 +129,6 @@ public class MedAppealExamineInfoManagementFacade extends MedAppealExamineInfoSe
                 medAppealInfo.setCasesEntryMsg(approvedVo.getCasesEntryMsg());
                 medAppealInfo.setCasesEntryName(approvedVo.getCasesEntryName());
                 medAppealInfo.setValue(approvedVo.getValue());
-                medAppealInfo.setWorkFlowNodeId(3L);
                 boolean update = medAppealInfoManagementFacade.update(medAppealInfo, new UpdateWrapper<MedAppealInfo>()
                         .eq("is_deleted", IsDeleteEnum.N.getKey())
                         .eq("hospital_id", approvedVo.getHospitalId())
@@ -206,7 +205,7 @@ public class MedAppealExamineInfoManagementFacade extends MedAppealExamineInfoSe
 
     public Boolean updateAppealInfo (ApprovedVo approvedVo) {
         MedAppealInfo medAppealInfo = new MedAppealInfo();
-        medAppealInfo.setWorkFlowNodeId(3L);
+        medAppealInfo.setWorkFlowNodeId(approvedVo.getWorkFlowNodeId());
         boolean update = medAppealInfoManagementFacade.update(medAppealInfo, new UpdateWrapper<MedAppealInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", approvedVo.getHospitalId())

+ 24 - 2
src/main/java/com/diagbot/facade/RecordCheckFacade.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.BehospitalInfoAgeDTO;
 import com.diagbot.dto.CheckedRecordListDTO;
 import com.diagbot.dto.SysUserDeptDTO;
 import com.diagbot.entity.BasDeptInfo;
+import com.diagbot.entity.MedAppealInfo;
 import com.diagbot.entity.MedBehospitalType;
 import com.diagbot.entity.MedCheckInfo;
 import com.diagbot.entity.SysUserDept;
@@ -24,6 +25,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.CheckedRecordListVO;
+import com.diagbot.vo.MedCheckInfoAddVO;
 import com.diagbot.vo.RecordCheckVO;
 import com.diagbot.vo.SysUserBaseVO;
 import com.google.common.collect.Lists;
@@ -60,7 +62,10 @@ public class RecordCheckFacade {
     BasDeptInfoFacade basDeptInfoFacade;
     @Autowired
     MedBehospitalTypeServiceImpl medBehospitalTypeServiceImpl;
-
+    @Autowired
+    private SysHospitalSetFacade sysHospitalSetFacade;
+    @Autowired
+    private MedAppealInfoManagementFacade appealInfoManagementFacade;
 
     public IPage<CheckedRecordListDTO> checkedRecordList(CheckedRecordListVO checkedRecordListVO) {
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
@@ -159,7 +164,8 @@ public class RecordCheckFacade {
     public boolean recordCheck(RecordCheckVO recordCheckVO) {
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
         Long userId = Long.parseLong(SysUserUtils.getCurrentPrincipleID());
-
+        //获取核查与申诉是否相关配置(核查完成是否有申诉时的内容)
+        checkAppealRelation(hospitalId,recordCheckVO);
         QueryWrapper<MedCheckInfo> medCheckInfoQueryWrapper = new QueryWrapper<>();
         medCheckInfoQueryWrapper.eq("behospital_code", recordCheckVO.getBehospitalCode());
         medCheckInfoQueryWrapper.eq("hospital_id", hospitalId);
@@ -177,6 +183,22 @@ public class RecordCheckFacade {
         return true;
     }
 
+    private void checkAppealRelation(Long hospitalId, RecordCheckVO recordCheckVO) {
+        //获取核查与申诉是否相关配置(核查完成是否有申诉时的内容)
+        String check_appeal_relation = sysHospitalSetFacade.getValue(hospitalId,"check_appeal_relation");
+        if(StringUtil.isNotEmpty(check_appeal_relation)&&Boolean.parseBoolean(check_appeal_relation)){
+            //获取该病例在待审核状态下的病历数量
+            int count = appealInfoManagementFacade.count(new QueryWrapper<MedAppealInfo>()
+                    .eq("work_flow_node_id","1")
+                    .eq("behospital_code",recordCheckVO.getBehospitalCode())
+                    .eq("is_deleted",IsDeleteEnum.N.getKey()));
+            if(count>0){
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前缺陷列表存在待审核记录,无法完成核查。");
+            }
+        }
+
+    }
+
     /**
      * @Author songxl
      * @Description获取当前用户的任务来源 和筛选分值

+ 1 - 2
src/main/java/com/diagbot/vo/AddAppealInfoVO.java

@@ -74,8 +74,7 @@ public class AddAppealInfoVO {
     @NotNull(message = "审核人id不能为空")
     private Long checkId;
 
-    @ApiModelProperty(value = "当前工作流节点id", required = true)
-    @NotNull(message = "当前工作流节点id不能为空")
+    @ApiModelProperty(value = "当前工作流节点id", hidden = true)
     private Long workFlowNodeId;
 
     @ApiModelProperty(value = "备注")

+ 1 - 1
src/main/java/com/diagbot/vo/ApprovedVo.java

@@ -25,7 +25,7 @@ public class ApprovedVo {
     @ApiModelProperty(value = "申诉id",required = true)
     private Long id;
 
-    @ApiModelProperty(value = "工作流节点")
+    @ApiModelProperty(value = "工作流节点",hidden = true)
     private Long workFlowNodeId;
 
     @ApiModelProperty(value = "审核人id",hidden = true)

+ 1 - 2
src/main/java/com/diagbot/vo/CancelAppealInfoVO.java

@@ -14,7 +14,6 @@ import javax.validation.constraints.NotNull;
 public class CancelAppealInfoVO {
     @ApiModelProperty(value = "申诉id", required = true)
     private Long id;
-    @ApiModelProperty(value = "当前工作流节点id 1:申诉|2:撤回|3:审核", required = true)
-    @NotNull(message = "当前工作流节点id不能为空")
+    @ApiModelProperty(value = "当前工作流节点id 1:申诉|2:撤回|3:审核", hidden = true)
     private Long workFlowNodeId;
 }

+ 1 - 1
src/main/java/com/diagbot/vo/RejectedVo.java

@@ -22,7 +22,7 @@ public class RejectedVo {
     @ApiModelProperty(value = "申诉id",required = true)
     private Long id;
 
-    @ApiModelProperty(value = "工作流节点")
+    @ApiModelProperty(value = "工作流节点",hidden = true)
     private Long workFlowNodeId;
 
     @ApiModelProperty(value = "审核人id",hidden = true)

+ 19 - 0
src/main/java/com/diagbot/web/MedAppealExamineInfoController.java

@@ -1,12 +1,15 @@
 package com.diagbot.web;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.MedAppealExamineInfoServiceClient;
 import com.diagbot.dto.*;
 import com.diagbot.facade.MedAppealExamineInfoManagementFacade;
 import com.diagbot.facade.SysDictionaryFacade;
+import com.diagbot.facade.SysHospitalSetFacade;
+import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
@@ -41,6 +44,9 @@ public class MedAppealExamineInfoController {
     SysDictionaryFacade sysDictionaryFacade;
     @Autowired
     MedAppealExamineInfoManagementFacade medAppealExamineInfoManagementFacade;
+    @Autowired
+    SysHospitalSetFacade sysHospitalSetFacade;
+
     @ApiOperation(value = "获取申述记录列表[by:zhanghang]",
             notes = "获取申诉任务接口")
     @PostMapping("/getComplaintRecord")
@@ -83,6 +89,13 @@ public class MedAppealExamineInfoController {
         String hospitalId = SysUserUtils.getCurrentHospitalID();
         approvedVo.setHospitalId(Long.valueOf(hospitalId));
         approvedVo.setAppealId(Long.valueOf(userId));
+
+        //获取操作流节点
+        String mapping = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()),"work_flow_node_mapping");
+        if(StringUtil.isNotEmpty(mapping)){
+            JSONObject mapJSON = JSONObject.parseObject(mapping);
+            approvedVo.setWorkFlowNodeId(mapJSON.getLong("approved"));
+        }
         // return RespDTO.onSuc(medAppealExamineInfoServiceClient.approved(approvedVo));
         return RespDTO.onSuc(medAppealExamineInfoManagementFacade.approved(approvedVo));
     }
@@ -96,6 +109,12 @@ public class MedAppealExamineInfoController {
         String hospitalId = SysUserUtils.getCurrentHospitalID();
         rejectedVo.setHospitalId(Long.valueOf(hospitalId));
         rejectedVo.setAppealId(Long.valueOf(userId));
+        //获取操作流节点
+        String mapping = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()),"work_flow_node_mapping");
+        if(StringUtil.isNotEmpty(mapping)){
+            JSONObject mapJSON = JSONObject.parseObject(mapping);
+            rejectedVo.setWorkFlowNodeId(mapJSON.getLong("rejected"));
+        }
         return RespDTO.onSuc(medAppealExamineInfoServiceClient.rejected(rejectedVo));
     }
     @ApiOperation(value = "审核查看[by:zhanghang]",

+ 15 - 8
src/main/java/com/diagbot/web/MedAppealInfoController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.MedAppealInfoServiceClient;
 import com.diagbot.dto.GetAppealInfoDTO;
@@ -10,6 +11,7 @@ import com.diagbot.dto.Response;
 import com.diagbot.entity.SysUser;
 import com.diagbot.entity.WorkFlowInfo;
 import com.diagbot.facade.SysHospitalSetFacade;
+import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysJwtUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.AddAppealInfoVO;
@@ -28,6 +30,7 @@ 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 springfox.documentation.spring.web.json.Json;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -54,14 +57,6 @@ public class MedAppealInfoController {
     @Autowired
     SysHospitalSetFacade sysHospitalSetFacade;
 
-    @ApiOperation(value = "获取申诉任务接口[by:songxl]",
-            notes = "获取申诉任务接口")
-    @PostMapping("/getWorkById")
-    @SysLogger("getWorkById")
-    public RespDTO<MedAppealInfoVO> getWorkById(@RequestBody MedAppealInfoVO medAppealInfoVO) {
-        Response<WorkFlowInfo> res = medAppealInfoServiceClient.getWorkById(medAppealInfoVO);
-        return RespDTO.onSuc(res.getData());
-    }
     @ApiOperation(value = "申诉[by:songxl]",
             notes = "申诉")
     @PostMapping("/addAppealInfo")
@@ -69,6 +64,12 @@ public class MedAppealInfoController {
     public RespDTO<Boolean> addAppealInfo(@RequestBody @Valid AddAppealInfoVO addAppealInfoVO) {
         addAppealInfoVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
         addAppealInfoVO.setClaimantId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+        //获取操作流节点
+        String mapping = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()),"work_flow_node_mapping");
+        if(StringUtil.isNotEmpty(mapping)){
+            JSONObject mapJSON = JSONObject.parseObject(mapping);
+            addAppealInfoVO.setWorkFlowNodeId(mapJSON.getLong("addAppealInfo"));
+        }
         return medAppealInfoServiceClient.addAppealInfo(addAppealInfoVO);
     }
     @ApiOperation(value = "获取审核人[by:songxl]",
@@ -96,6 +97,12 @@ public class MedAppealInfoController {
     @PostMapping("/cancelAppealInfo")
     @Transactional
     public RespDTO<Boolean> cancelAppealInfo(@RequestBody @Valid CancelAppealInfoVO cancelAppealInfoVO) {
+        //获取操作流节点
+        String mapping = sysHospitalSetFacade.getValue(Long.parseLong(SysUserUtils.getCurrentHospitalID()),"work_flow_node_mapping");
+        if(StringUtil.isNotEmpty(mapping)){
+            JSONObject mapJSON = JSONObject.parseObject(mapping);
+            cancelAppealInfoVO.setWorkFlowNodeId(mapJSON.getLong("cancelAppealInfo"));
+        }
         return medAppealInfoServiceClient.cancelAppealInfo(cancelAppealInfoVO);
     }