From 63d34fe6dfeb8b3df01d1f3d70a4a0ab8ce69abe Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期五, 14 十月 2022 13:38:25 +0800 Subject: [PATCH] 三说会堂事件操作权限处理 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoEventController.java | 4 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComEvent.java | 2 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sanshuo/ComEventConciliationVO.java | 2 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEventMapper.xml | 2 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 162 +++++++++++++++++++++++++++++++++++++++-------------- 5 files changed, 123 insertions(+), 49 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sanshuo/ComEventConciliationVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sanshuo/ComEventConciliationVO.java index 4cd5934..d4064ac 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sanshuo/ComEventConciliationVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/sanshuo/ComEventConciliationVO.java @@ -32,7 +32,7 @@ /**当前调解处理结果*/ @ApiModelProperty(name = "currentEventProcessResult", value = "当前调解处理结果") private String currentEventProcessResult; - /**调解是否成果1未成果2已成果*/ + /**调解是否成果1未成功2已成功*/ @ApiModelProperty(name = "eventSucceed", value = "调解是否成果1未成果2已成果") private Integer eventSucceed; /**调解上传图片地址列表,逗号进行分割*/ diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoEventController.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoEventController.java index a2b7e9c..e34cf9c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoEventController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoEventController.java @@ -154,7 +154,6 @@ }) @PostMapping("/page") public R page(@RequestBody ComEventVO comEventVO, Long pageNo, Long pageSize) { - log.info("==============分页参数"+comEventVO); Page pagination = new Page(pageNo, pageSize); ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class); return comEventService.pageByComEvent(comEvent, pagination,this.getLoginUserInfo()); @@ -317,7 +316,8 @@ @ApiOperation("事件各种状态(处理状态1待处理2待验证3专家已受理4专家未受理,拒绝5调解中6已结案归档7调解取消8 已删除)数据统计") @GetMapping("/status/calculate") public R calculate() { - return comEventService.calculate(getLoginUserInfo()); + comEventService.calculate(getLoginUserInfo()); + return R.ok(); } /** diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComEvent.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComEvent.java index 4014d08..c8a3173 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComEvent.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComEvent.java @@ -94,7 +94,7 @@ @ApiModelProperty(name = "eventProcessStatus", value = "工作人员的事件处理状态1待处理2待验证3专家已受理4专家未受理,拒绝5调解中6已结案7已归档8调解取消9已删除") private Integer eventProcessStatus; /**当前处理对象类型(1、行业分中心2、社区3、是街道4、区三说会堂,5专家)*/ - @ApiModelProperty(name = "currentProcessType", value = "当前处理对象类型(1、行业分中心2、社区3、是街道4、区)") + @ApiModelProperty(name = "currentProcessType", value = "当前处理对象类型(1、行业分中心2、社区3、是街道4、区5专家)") private Integer currentProcessType; /**当前处理机构ID*/ @ApiModelProperty(name = "currentOrgId", value = "当前处理机构ID") 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); } } - } /** diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEventMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEventMapper.xml index cce0d47..e934a2d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEventMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEventMapper.xml @@ -523,7 +523,7 @@ </select> <update id="updateLog"> update com_sanshuo_expert_event set status = 2 - where event_id=#{eventId} and expert_id=#{expertId} + where event_id=#{eventId} and expert_id=#{expertId} and status=0 </update> </mapper> -- Gitblit v1.7.1