张天森
2022-10-17 e63b5ff9c4b734d1c6f988d341c99a2216f0564d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -166,10 +166,10 @@
    /**
     * 当前账号对事件的操作权限
     * 有权限 0无权限
     * 1有权限 0无权限
     * 1、用户提交调解申请后,调解专家状态为待受理,可操作受理、查看,专家所在部门状态为待受理,可操作受理(帮专家进行受理处理)、查看、删除,
     * 所在部门上级部门状态为待受理,仅可查看、删除;
     * 2、专家拒绝受理后,专家看不到该调解申请,所在单位状态变为待分配,可操作分配、调解、查看、删除,所在单位的上级单位状态变为待分配,仅可查看、删除;
     * 所在部门上级部门状态为待受理,仅可查看、删除;ok
     * 2、专家拒绝受理后,专家看不到该调解申请,所在单位状态变为待分配,可操作分配、调解、查看、删除,所在单位的上级单位状态变为待分配,仅可查看、删除; ok
     * 3、专家受理后,专家状态变为调解中,可操作调解、查看,专家所在部门状态变为调解中,可操作调解、查看、删除,专家做在单位的上级单位状态变为调解中,仅可查看、删除;
     * 4、专家调解调解完成未上报上级,专家状态变为已完成、可操作归档、查看,专家所在部门状态变为已完成,可操作归档、查看,专家所在部门的上级单位状态变为已完成,
     * 可查看、删除;
@@ -211,7 +211,7 @@
            if (!comEvent.getSpecialistId().equals(expert.getId()) || !comEvent.getCurrentProcessType().equals(5)){
                //已经上报或者重新分配专家,只能查看
                comEvent.setConciliation(0);
                comEvent.setArchive(0);
                //comEvent.setArchive(0);
                comEvent.setSolve(0);
                return;
            }//未上报,根据状态决定权限
@@ -224,6 +224,11 @@
                //调解中,可以查看,调解
                comEvent.setArchive(0);
                comEvent.setSolve(0);
            }else if (comEvent.getEventProcessStatus().equals(3)){
                //重新分配给该专家的事件,可以进行受理
               // comEvent.setSolve(0);
                comEvent.setConciliation(0);
                comEvent.setArchive(0);
            } else if (comEvent.getEventProcessStatus().equals(6)){
                //调解完成,可以归档,查看
                comEvent.setSolve(0);
@@ -239,6 +244,7 @@
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
@@ -249,27 +255,54 @@
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
            }else if (comEvent.getCurrentProcessType().equals(2)){
                //上报到街道后,增加分配专家权限
                //上报到社区后,增加分配专家权限
                if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
                    //待受理和待验证状态,可以受理,分配专家
                    //待受理和待验证状态,可以受理,更换专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setDistribution(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    comEvent.setDistribution(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                    //上报并且调解失败,此时事件的状态为6,事件结果为调解失败
                    //comEvent.setDistribution(0);
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(2);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(0);
                    //comEvent.setConciliation(0);
                    comEvent.setArchive(0);
                }else if (comEvent.getEventProcessStatus().equals(6)  && comEvent.getEventResult().equals(2) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    //关闭所有权限
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(0);
                    comEvent.setConciliation(0);
                    //comEvent.setArchive(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6)  && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    //关闭所有权限
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
                }
            }
            else{
                //已上报到街道或三说会堂,社区没有分配和受理权限权限
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                comEvent.setDelete(0);
                //comEvent.setDelete(0);
                comEvent.setSolve(0);
                comEvent.setConciliation(0);
            }
        }else if (userType.equals(3)){
            //分配行业分中心操作权限
@@ -285,7 +318,15 @@
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                }  else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                    //调解完成,可以归档,查看
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(2);
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
@@ -308,11 +349,34 @@
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    //comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                }else if (comEvent.getEventProcessStatus().equals(3)){
                    //分配新专家后
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(1);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                    //设置为待受理
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(2);
                    //上报到单位,并且调解失败,
                    //调解完成,可以归档,查看
                    comEvent.setSolve(0);
                    //comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    //comEvent.setConciliation(0);
                    comEvent.setArchive(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
@@ -325,6 +389,7 @@
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                comEvent.setConciliation(0);
            }
        }else if (isAdmin){
            //区三说会堂账号,最高权限全部开放
@@ -689,7 +754,7 @@
        ComSanshuoExpert specter = comSanShuoExpertService.getById(specialistId);
        comEvent.setSpecialistAcceptTime(new Date());
        comEvent.setSpecialistName(specter.getName());
        comEvent.setEventProcessStatus(SanShuoEventStatusEnum.ACCEPT.getCode());
        comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
        int flag = baseMapper.updateById(comEvent);
        //添加一条对应记录
        comEventMapper.insertEventAndExpertRecord(id, specialistId,1);