| | |
| | | return R.ok(list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 当前账号对事件的操作权限 |
| | | * 1:有权限 0无权限 |
| | | * 有权限 0无权限 |
| | | * 1、用户提交调解申请后,调解专家状态为待受理,可操作受理、查看,专家所在部门状态为待受理,可操作受理(帮专家进行受理处理)、查看、删除, |
| | | * 所在部门上级部门状态为待受理,仅可查看、删除; |
| | | * 2、专家拒绝受理后,专家看不到该调解申请,所在单位状态变为待分配,可操作分配、调解、查看、删除,所在单位的上级单位状态变为待分配,仅可查看、删除; |
| | | * 3、专家受理后,专家状态变为调解中,可操作调解、查看,专家所在部门状态变为调解中,可操作调解、查看、删除,专家做在单位的上级单位状态变为调解中,仅可查看、删除; |
| | | * 4、专家调解调解完成未上报上级,专家状态变为已完成、可操作归档、查看,专家所在部门状态变为已完成,可操作归档、查看,专家所在部门的上级单位状态变为已完成, |
| | | * 可查看、删除; |
| | | * 5、专家所在部门调解完成未上报上级,专家状态变为已完成、可操作归档、查看,专家所在部门状态变为已完成,可操作归档、查看,专家所在部门的上级单位状态变为已完成, |
| | | * 可查看、删除; |
| | | * 6、专家调解完成上报上级,专家状态变为已完成、可操作归档、查看,专家所在部门状态变为待分配,可操作分配专家、调解、查看、删除,专家所在部门的上级单位状态变为调解中,可查看、删除; |
| | | * 7、专家所在部门调解完成上报上级,专家状态变为已完成、可操作归档、查看,专家所在部门状态变为已完成,可操作归档、查看、删除,专家所在部门的上级单位状态变为待分配,可分配专家、查看、删除, |
| | | * 上上级单位状态变为调解中,可查看、删除; |
| | | * 8、专家调解/专家所在部门调解未完成,专家状态变为调解中,可操作调解、查看,专家所在部门状态变为调解中,可操作更换专家、调解、查看、删除,专家所在部门的上级单位状态变为调解中,可查看、删除; |
| | | * 9、专家所在部门分配给专家后,专家状态变为待受理,可操作受理、查看,专家所在部门状态变为待受理,可操作受理(帮专家进行受理处理)、查看、删除,专家所在部门的上级部门状态变为待受理, |
| | | * 仅可查看、删除; |
| | | * 10、专家所在部门更换专家,原专家状态已完成,专家所在部门状态不变,专家所在部门的上级单位状态不变; |
| | | * */ |
| | | public void accountMenu(ComEvent comEvent,Integer userType,LoginUserInfoVO loginUserInfoVO,Boolean isStreet){ |
| | | //四个账号级别 |
| | | Boolean isAdmin=false; |
| | | if (isNull(userType)){ |
| | | return; |
| | | isAdmin=true; |
| | | } |
| | | comEvent.setDelete(1); |
| | | comEvent.setArchive(1); |
| | |
| | | comEvent.setChangeExpert(1); |
| | | if (userType.equals(2)){ |
| | | //专家后台权限,根据事件的流转信息决定专家对此事件的操作权限 |
| | | //获取专家信息 |
| | | //细分到事件的每个状态和流转情况 |
| | | ComSanshuoExpert expert=new ComSanshuoExpert(); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | comEvent.setDelete(0); |
| | | if (!comEvent.getCurrentProcessType().equals(5)){ |
| | | comEvent.setSolve(0); |
| | | } |
| | | if (nonNull(loginUserInfoVO.getPhone())){ |
| | | expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, loginUserInfoVO.getPhone())); |
| | | }else{ |
| | | //账号获取 |
| | | expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount())); |
| | | } |
| | | if (!comEvent.getSpecialistId().equals(expert.getId())){ |
| | | //已经上报或者重新分配专家 |
| | | if (!comEvent.getSpecialistId().equals(expert.getId()) || !comEvent.getCurrentProcessType().equals(5)){ |
| | | //已经上报或者重新分配专家,只能查看 |
| | | comEvent.setConciliation(0); |
| | | //comEvent.setDelete(0); |
| | | comEvent.setArchive(0); |
| | | } |
| | | if (comEvent.getEventProcessStatus().equals(1)){ |
| | | comEvent.setSolve(0); |
| | | return; |
| | | }//未上报,根据状态决定权限 |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){ |
| | | //待受理和待验证状态,仅有查看和受理权限,可能为用户选择该专家或上级单位分配给该专家 |
| | | //关闭调解和归档 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(0); |
| | | } |
| | | if (comEvent.getEventProcessStatus().equals(5)){ |
| | | } else if (comEvent.getEventProcessStatus().equals(5)){ |
| | | //调解中,可以查看,调解 |
| | | comEvent.setArchive(0); |
| | | } else if (comEvent.getEventProcessStatus().equals(6)){ |
| | | //调解完成,可以归档,查看 |
| | | comEvent.setSolve(0); |
| | | } |
| | | }else if (userType.equals(4)){ |
| | | //社区后台权限 |
| | | if (comEvent.getEventProcessStatus().equals(5) && comEvent.getEventResult().equals(2)){ |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | if (comEvent.getReportStreet().equals(1)){ |
| | | //如果未上报到街道,当前事件权限和专家一样 |
| | | if (comEvent.getCurrentProcessType().equals(5) || comEvent.getCurrentProcessType().equals(2)){ |
| | | //根据事件状态决定权限 |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){ |
| | | //待受理和待验证状态,可以受理,分配专家 |
| | | //关闭调解和归档 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(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); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | }else{ |
| | | //已上报到街道或三说会堂,社区没有分配和受理权限权限 |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | comEvent.setDelete(0); |
| | | } |
| | | if (!comEvent.getEventProcessStatus().equals(5)){ |
| | | comEvent.setArchive(0); |
| | | } |
| | | if (comEvent.getEventProcessStatus().equals(2)){ |
| | | comEvent.setConciliation(0); |
| | | } |
| | | }else if (userType.equals(3)){ |
| | | //分配行业分中心操作权限 |
| | | if (!comEvent.getReportCenter().equals(1)){ |
| | | //是否上报到行业分中心 |
| | | if (comEvent.getReportCenter().equals(1) || comEvent.getCurrentProcessType().equals(1)){ |
| | | //已经报到行业分中心 |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){ |
| | | //待受理和待验证状态,可以受理,分配专家 |
| | | //关闭调解和归档 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(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); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | }else{ |
| | | //未上上报到行业分中心,或者已上报到区三说会堂,仅查看 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(0); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setSolve(0); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | if (comEvent.getEventProcessStatus().equals(5)){ |
| | | }else if (userType.equals(5) || isStreet){ |
| | | //街道权限,操作街道下属社区的所有事件 |
| | | //是否上报到街道 |
| | | if (comEvent.getReportStreet().equals(1) || comEvent.getCurrentProcessType().equals(3)){ |
| | | //已上报到街道 |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){ |
| | | //待受理和待验证状态,可以受理,分配专家 |
| | | //关闭调解和归档 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(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); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | }else{ |
| | | //未上报到街道,仅查看 |
| | | comEvent.setArchive(0); |
| | | comEvent.setSolve(0); |
| | | } |
| | | }else if (userType.equals(5)){ |
| | | //街道权限 |
| | | if (!comEvent.getReportStreet().equals(1)){ |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(0); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setSolve(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | }else if (isStreet){ |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2) ){ |
| | | //关闭调解和归档 |
| | | }else if (isAdmin){ |
| | | //区三说会堂账号,最高权限全部开放 |
| | | // 是否上报到三说会堂 |
| | | if (comEvent.getCurrentProcessType().equals(4) || comEvent.getReportHall().equals(1)){ |
| | | //已上报到三说会堂,可以操作 |
| | | if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){ |
| | | //待受理和待验证状态,可以受理,分配专家 |
| | | //关闭调解和归档 |
| | | comEvent.setArchive(0); |
| | | comEvent.setConciliation(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); |
| | | comEvent.setDistribution(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | }else{ |
| | | //未上报到三说会堂,仅查看 |
| | | comEvent.setArchive(0); |
| | | comEvent.setSolve(0); |
| | | comEvent.setConciliation(0); |
| | | comEvent.setDistribution(0); |
| | | } |
| | | if (comEvent.getEventProcessStatus().equals(5)){ |
| | | comEvent.setArchive(0); |
| | | comEvent.setSolve(0); |
| | | comEvent.setChangeExpert(0); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |