张天森
2022-10-18 74a3dcc6e40e46b598ed398227e78cf2af6227c0
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -208,22 +208,35 @@
                //账号获取
                expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount()));
            }
            if (!comEvent.getSpecialistId().equals(expert.getId()) || !comEvent.getCurrentProcessType().equals(5)){
            if (!comEvent.getCurrentProcessType().equals(5)){
                if (comEvent.getSpecialistId().equals(expert.getId()) && comEvent.getEventProcessStatus().equals(3)){
                    //更高级别分配给该专家,可以受理
                    comEvent.setConciliation(0);
                    comEvent.setArchive(0);
                    //comEvent.setSolve(0);
                    return;
                }
                //已经上报或者重新分配专家,只能查看
                comEvent.setConciliation(0);
                //comEvent.setArchive(0);
                comEvent.setSolve(0);
                return;
            }//未上报,根据状态决定权限
            if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
            if (comEvent.getEventProcessStatus().equals(1)){
                //待受理和待验证状态,仅有查看和受理权限,可能为用户选择该专家或上级单位分配给该专家
                //关闭调解和归档
                comEvent.setArchive(0);
                comEvent.setConciliation(0);
            } else if (comEvent.getEventProcessStatus().equals(5)){
            }
            else if (comEvent.getEventProcessStatus().equals(5)){
                //调解中,可以查看,调解
                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);
@@ -234,12 +247,23 @@
            //如果未上报到街道,当前事件权限和专家一样
            if (comEvent.getCurrentProcessType().equals(5)){
                //根据事件状态决定权限
                if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    comEvent.setChangeExpert(0);
                } else if(comEvent.getEventProcessStatus().equals(2)){
                    //待分配和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    if (comEvent.getSpecialistName().equals("待分配")){
                        comEvent.setSolve(0);
                    }
                }
                else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
@@ -249,6 +273,7 @@
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
            }else if (comEvent.getCurrentProcessType().equals(2)){
                //上报到社区后,增加分配专家权限
@@ -258,21 +283,41 @@
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setDistribution(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                }
                else if (comEvent.getEventProcessStatus().equals(3)){
                    //分配新专家后
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(0);
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(1);
                }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);
                    //comEvent.setArchive(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                    //上报并且调解失败,此时事件的状态为6,为调解失败
                else if (comEvent.getEventProcessStatus().equals(6)  && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    //关闭所有权限
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
@@ -282,23 +327,51 @@
                //已上报到街道或三说会堂,社区没有分配和受理权限权限
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                comEvent.setDelete(0);
                //comEvent.setDelete(0);
                comEvent.setSolve(0);
                comEvent.setConciliation(0);
            }
        }else if (userType.equals(3)){
            //分配行业分中心操作权限
            //是否上报到行业分中心
            if (comEvent.getReportCenter().equals(1) || comEvent.getCurrentProcessType().equals(1)){
                //已经报到行业分中心
                if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                }else if(comEvent.getEventProcessStatus().equals(2)){
                    //待分配和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    if (comEvent.getSpecialistName().equals("待分配")){
                        comEvent.setSolve(0);
                    }
                }
                else if (comEvent.getEventProcessStatus().equals(3)){
                    //分配新专家后
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(0);
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(1);
                }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(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);
@@ -316,16 +389,50 @@
            //是否上报到街道
            if (comEvent.getReportStreet().equals(1) || comEvent.getCurrentProcessType().equals(3)){
                //已上报到街道
                if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    comEvent.setChangeExpert(0);
                    //comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                } else if(comEvent.getEventProcessStatus().equals(2)){
                    //待分配和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    if (comEvent.getSpecialistName().equals("待分配")){
                        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)){
                    comEvent.setSolve(0);
                }else if (comEvent.getEventProcessStatus().equals(3)){
                    //分配新专家后
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(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);
@@ -345,17 +452,46 @@
            // 是否上报到三说会堂
            if (comEvent.getCurrentProcessType().equals(4) || comEvent.getReportHall().equals(1)){
                //已上报到三说会堂,可以操作
                if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
                if (comEvent.getEventProcessStatus().equals(1)){
                    //待受理和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setSolve(0);
                    comEvent.setConciliation(0);
                } else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setChangeExpert(0);
                }
                else if(comEvent.getEventProcessStatus().equals(2)){
                    //待分配和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    if (comEvent.getSpecialistName().equals("待分配")){
                        comEvent.setSolve(0);
                    }
                }else if (comEvent.getEventProcessStatus().equals(3)){
                    //新分配给专家并且专家还未受理
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setSolve(0);
                }
                else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                    //失败后转交三说会堂
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setConciliation(0);
                    //comEvent.setChangeExpert(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    comEvent.setConciliation(0);
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
@@ -366,6 +502,7 @@
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                comEvent.setConciliation(0);
            }
        }
    }
@@ -703,7 +840,9 @@
        ComSanshuoExpert specter = comSanShuoExpertService.getById(specialistId);
        comEvent.setSpecialistAcceptTime(new Date());
        comEvent.setSpecialistName(specter.getName());
        comEvent.setEventProcessStatus(SanShuoEventStatusEnum.UNDO.getCode());
        if (comEvent.getEventProcessStatus()<SanShuoEventStatusEnum.conciliation.getCode()){
            comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
        }
        int flag = baseMapper.updateById(comEvent);
        //添加一条对应记录
        comEventMapper.insertEventAndExpertRecord(id, specialistId,1);