From b0a0cbf6cd8f3beacbca9a962b45b0baf3935176 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期六, 15 十月 2022 11:15:21 +0800 Subject: [PATCH] Merge branch 'huacheng_test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into huacheng_test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 162 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 118 insertions(+), 44 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java index 9feb98d..2dd7c5d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java @@ -164,15 +164,30 @@ 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); @@ -182,85 +197,144 @@ 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); } } - } /** -- Gitblit v1.7.1