From 0fc9760cf60f30e070c9e1ddb39dff0fe0fb5f91 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 17 三月 2025 22:24:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-2.0' into dev-2.0 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 6 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java index c4a4fbf..1d92b49 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java @@ -112,7 +112,7 @@ Integer accountLevel = 5; //获取当前身份,1=党员,2=管理员 Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone()); - if (systemUserOpt.isPresent() && identity == 2) { + if (systemUserOpt.isPresent() && null != identity && identity == 2) { SystemUser systemUser = systemUserOpt.get(); accountLevel = systemUser.getAccountLevel(); switch (accountLevel) { @@ -201,7 +201,7 @@ //获取当前身份,1=党员,2=管理员 Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone()); //上级 - if (systemUserByPhone.isPresent() && identity == 2) { + if (systemUserByPhone.isPresent() && null != identity && identity == 2) { SystemUser systemUser = systemUserByPhone.get(); accountLevel = systemUser.getAccountLevel(); switch (accountLevel) { @@ -249,6 +249,8 @@ public void buttonPermission(ComplaintVO vo, Optional<SystemUser> systemUserByPhone){ vo.setListControlsButtonStatus(1); vo.setEvaluateButtonStatus(1); + vo.setAuditButtonStatus(1); + ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) .ne(ComplaintAuditRecord::getAuditType, 1).orderByDesc(ComplaintAuditRecord::getSort).last(" limit 0, 1")); //没有审核数据,且正在办理,则按钮权限是添加人员的 @@ -284,6 +286,48 @@ } } }else{ + //审核状态为待审核,需要授权审核按钮 + if((one.getAuditStatus() == 5 || one.getAuditStatus() == 7) && systemUserByPhone.isPresent()){ + SystemUser systemUser = systemUserByPhone.get(); + String targetId = ""; + Integer accountLevel = 5; + //获取当前身份,1=党员,2=管理员 + Integer identity = (Integer) redisUtils.get("identity:" + systemUser.getPhone()); + if(2 == identity){ + accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 1: + //市级 + targetId = "510400"; + break; + case 2: + //区县级 + targetId = systemUser.getDistrictsCode(); + break; + case 3: + //街道 + targetId = systemUser.getStreetId().toString(); + break; + case 4: + //社区 + targetId = systemUser.getCommunityId().toString(); + break; + case 5: + //党员 + PartyMember partyMember = partyMemberService.getPartyMemberByPhone(systemUser.getPhone()); + targetId = partyMember.getId().toString(); + break; + } + + ComplaintAuditRecord one2 = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) + .eq(ComplaintAuditRecord::getLatestFlag, 1)); + Integer isAdmin = systemUserByPhone.get().getIsAdmin(); + if(one2.getReportType().equals(accountLevel) && one2.getSuperiorId().toString().equals(targetId) && 1 == isAdmin){ + vo.setAuditButtonStatus(0); + } + } + } + //没有审核通过,则需要查询上一条审核通过的数据,如果没有则给到添加诉求的人 ComplaintAuditRecord one1 = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, vo.getId()) .eq(ComplaintAuditRecord::getAuditType, 2).eq(ComplaintAuditRecord::getAuditStatus, 1).orderByDesc(ComplaintAuditRecord::getSort).last(" limit 0, 1")); @@ -954,14 +998,14 @@ response.setCharacterEncoding("utf-8"); String fileName = URLEncoder.encode("诉求数据", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - EasyExcel.write(response.getOutputStream(), PartyMemberExcel.class) + EasyExcel.write(response.getOutputStream(), ComplaintExcel.class) .sheet("诉求数据") .doWrite(complaintExcels); } @Override public void downloadFile(Long id,Integer type) throws IOException { - Complaint complaint = getById(id); + Complaint complaint = baseMapper.getDetailBg(id); if (Objects.isNull(complaint)) { throw new ServiceException("该诉求不存在"); } @@ -969,7 +1013,7 @@ BcRegion region = bcRegionService.getDistrictByCode(complaint.getDistrictsCode().toString()); ComStreet street = comStreetService.getById(complaint.getStreetId().toString()); ComAct act = comActService.getById(complaint.getCommunityId()); - String community = region.getRegionName() +"-"+ street.getName() + act.getName(); + String community = region.getRegionName() +"-"+ street.getName() + "-"+ act.getName(); PartyMember partyMember = null; if (Objects.nonNull(complaint.getPartyMemberId())){ partyMember = partyMemberService.getById(complaint.getPartyMemberId()); @@ -993,7 +1037,7 @@ map.put("community", community); map.put("problemType", complaint.getProblemType()); map.put("descriptionContent", complaint.getDescriptionContent()); - map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType())); //TODO待修改 + map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType()).getDescription()); map.put("partyOrganization",Objects.nonNull(partyMember)? partyMember.getPartyOrganization() : ""); map.put("name", complaint.getName()); map.put("contactNumber", complaint.getContactNumber()); -- Gitblit v1.7.1