springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java
@@ -1,6 +1,7 @@ package com.panzhihua.westcommittee.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.interfaces.OperLog; import com.panzhihua.common.model.vos.R; @@ -17,9 +18,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Set; import java.util.*; import java.util.stream.Collectors; /** @@ -100,25 +99,41 @@ @GetMapping("/getList") @ApiOperation(value = "获取单位列表", tags = {"西区纪委后台-单位管理"}) @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表") public R<List<Department>> getList(String name){ List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4)); Set<String> collect3 = list4.stream().map(Department::getStreetId).collect(Collectors.toSet()); List<Department> list3 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 3) .or().in(collect3.size() > 0, Department::getStreet, collect3)); Set<String> collect2 = list3.stream().map(Department::getDistrictsCode).collect(Collectors.toSet()); List<Department> list2 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 2) .or().in(collect2.size() > 0, Department::getDistrictsCode, collect2)); for (Department department : list2) { List<Department> departmentList2 = list3.stream().filter(s -> s.getDistrictsCode().equals(department.getDistrictsCode())).collect(Collectors.toList()); for (Department department1 : departmentList2) { List<Department> departmentList3 = list4.stream().filter(s -> s.getStreetId().equals(department1.getStreetId())).collect(Collectors.toList()); department1.setChild(departmentList3); public R<List<Department>> getList(String name,Integer level,String code,int type){ if(level==null){ List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name)); return R.ok(list4); }else { List<Department> list4=new ArrayList<>(); if(level==2 && type==1){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 2)); }else if(level==2 && type==2){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 2)); }else if(level==3 && type==1){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 3)); }else if(level==3 && type==2){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 3)); }else if(level==4 && type==1){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 4)); }else if(level==4 && type==2){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge(Department::getTier, 4)); } department.setChild(departmentList2); return R.ok(list4); } return R.ok(list2); } @GetMapping("/getDeptList") @ApiOperation(value = "获取单位列表1", tags = {"西区纪委后台-单位管理"}) @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表") public R<Page<Department>> getDeptList(String name,int pageNum,int pageSize){ Page<Department> list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name)); for (Department department : list4.getRecords()) { int count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, department.getId())); department.setUserCount(count); } return R.ok(list4); } @@ -128,10 +143,6 @@ long count = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getName, department.getName())); if(0 < count){ return R.fail("单位名称重复。"); } long count1 = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getDeptId, department.getDeptId())); if(0 < count1){ return R.fail("单位ID重复。"); } departmentService.save(department); return R.ok(); @@ -145,11 +156,6 @@ .ne(Department::getId, department.getId())); if(0 < count){ return R.fail("单位名称重复。"); } long count1 = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getDeptId, department.getDeptId()) .ne(Department::getId, department.getId())); if(0 < count1){ return R.fail("单位ID重复。"); } departmentService.updateById(department); return R.ok(); @@ -173,7 +179,7 @@ public R updateStatus(@RequestBody UpdateStatusDeptDto dto){ Department department = departmentService.getById(dto.getId()); department.setStatus(dto.getStatus()); department.setRemark(dto.getRemark()); department.setReason(dto.getReason()); if(dto.getStatus()==2){ SystemUserVo loginUserInfoWest = getLoginUserInfoWest(); department.setOperId(loginUserInfoWest.getId()); springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/SystemUserController.java
@@ -119,14 +119,6 @@ if(collect.size() > 0){ LambdaQueryWrapper<SystemMenu> queryWrapper = new LambdaQueryWrapper<SystemMenu>().in(SystemMenu::getId, collect); switch (systemUser.getAccountLevel()){ case 2: queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del", "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del", "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save", "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add", "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management", "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del")); break; case 3: queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del", "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del", @@ -213,18 +205,7 @@ @ApiOperation(value = "添加人员", tags = {"西区纪委管理后台-人员管理"}) @SysLog(operatorCategory = "添加账号",operId = 4) public R add(@RequestBody SystemUser systemUser){ Integer id = this.getLoginUserInfoWest().getId(); SystemUser user = systemUserService.getById(id); if(2 == user.getAccountLevel() && 1 == systemUser.getAccountLevel()){ return R.fail("不能添加市级账号"); } if(3 == user.getAccountLevel() && 3 < systemUser.getAccountLevel()){ return R.fail("不能添加区县和市级账号"); } if(4 == user.getAccountLevel() && 4 < systemUser.getAccountLevel()){ return R.fail("不能添加街道、区县和市级账号"); } long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone()).ne(SystemUser::getStatus, 3)); if(0 < count){ return R.fail("手机号重复。"); @@ -241,8 +222,6 @@ systemUser.setAccountLevel(department.getTier()); systemUser.setStatus(1); systemUser.setCreateTime(LocalDateTime.now()); // 2.0.1 默认管理员 systemUser.setIsAdmin(1); systemUserService.save(systemUser); return R.ok(); } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/controller/ComplaintController.java
@@ -25,8 +25,11 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import static cn.hutool.core.util.ObjectUtil.isNull; /** * <p> @@ -193,6 +196,12 @@ @GetMapping("/getAllocationList") @ApiOperation(value = "获取分配派单位列表") public R<List<DispatchVO>> getAllocationList() { return R.ok(complaintService.getAllocationList(getLoginUserInfo())); } @GetMapping("/getDeptUserList") @ApiOperation(value = "获取当前单位用户列表") public R<Page<SysUserVO>> getDeptUserList(BasePage page) { @@ -203,13 +212,8 @@ @PostMapping("/assignComplain") @ApiOperation(value = "分配诉求") @ApiImplicitParams({ @ApiImplicitParam(name = "complainId", value = "诉求id", required = true), @ApiImplicitParam(name = "deptId", value = "单位id", required = true), @ApiImplicitParam(name = "remark", value = "说明", required = true), }) public R<?> assignComplain(@RequestParam Long complainId,@RequestParam Integer deptId,@RequestParam String remark) { complaintService.assignComplain(getLoginUserInfo(),complainId,deptId,remark); public R<?> assignComplain(@Valid@RequestBody AssignComplainDto dto) { complaintService.assignComplain(getLoginUserInfo(),dto.getComplainId(),dto.getDeptId(),dto.getRemark()); return R.ok(); } @@ -241,10 +245,31 @@ complaintService.updateById(complaint); // 不满意 重新生成诉求 if(complaintComment.getRate()==0){ // 获取当前日期(年月日) String datePrefix = new SimpleDateFormat("yyyyMMdd").format(new Date()); // 查询当前日期的最大流水号 Complaint lastComplaint = complaintService.getOne(new LambdaQueryWrapper<Complaint>() .likeRight(Complaint::getSerialNumber, datePrefix) // 查询以当前日期开头的流水号 .orderByDesc(Complaint::getSerialNumber) .last("limit 1")); String serialNumber; if (isNull(lastComplaint)) { // 如果当天没有记录,从 0001 开始 serialNumber = datePrefix + "0001"; } else { // 获取当前日期的最大流水号,并递增 String lastSerialNumber = lastComplaint.getSerialNumber(); int num = Integer.parseInt(lastSerialNumber.substring(lastSerialNumber.length() - 4)); // 提取后4位数字 serialNumber = datePrefix + String.format("%04d", num + 1); // 递增并格式化为4位 } Complaint complaint1 = new Complaint(); BeanUtils.copyProperties(complaint,complaint1); complaint1.setStatus(0); complaint1.setSerialNumber(serialNumber); complaint1.setAssignStatus(0); complaint1.setCreateTime(new Date()); complaint1.setId(null); complaint1.setCompletionTime(null); complaint1.setCompletionUserId(null); @@ -255,6 +280,7 @@ complaint1.setCompletionDescription(null); complaint1.setCompletionVideos(null); complaint1.setCompletionOtherDescription(null); complaint1.setRemark(null); complaintService.save(complaint1); } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/dto/AssignComplainDto.java
New file @@ -0,0 +1,21 @@ package com.panzhihua.westcommittee.model.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.web.bind.annotation.RequestParam; import javax.validation.constraints.NotNull; @Data @ApiModel("诉求分配dto") public class AssignComplainDto { @ApiModelProperty("诉求id") @NotNull private Long complainId; @ApiModelProperty("部门id") @NotNull private Integer deptId; @ApiModelProperty("备注") private String remark; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/dto/ComplaintReporAuditDTO.java
@@ -16,4 +16,7 @@ @ApiModelProperty(value = "通过需要指派单位") private Integer deptId; @ApiModelProperty(value = "通过需要指派单位备注") private String remark; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/dto/UpdateStatusDeptDto.java
@@ -14,5 +14,5 @@ @NotNull(message = "状态不能为空") private Integer status; @ApiModelProperty("备注") private String remark; private String reason; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/entity/Complaint.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -46,6 +47,7 @@ @ApiModelProperty(value = "问题发生时间") @TableField("time") @NotNull(message = "时间不能为空") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date time; @ApiModelProperty(value = "问题类型") @@ -136,6 +138,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") @JsonFormat (pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; @ApiModelProperty(value = "修改人") springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/entity/Department.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -56,6 +57,7 @@ @TableField("community_id") @ApiModelProperty("社区id") @JsonFormat(shape = JsonFormat.Shape.STRING) private Long communityId; @TableField("districts_code") @@ -71,9 +73,6 @@ private String remark; @TableField("dept_id") @ApiModelProperty("单位ID") private String deptId; private Date createTime; @TableField("oper_name") @@ -85,11 +84,15 @@ @TableField("update_time") private Date updateTime; private String reason; @TableField(exist = false) private Integer userCount; @TableField(exist = false) private List<Department> child; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/vo/ComplaintVO.java
@@ -86,7 +86,7 @@ private Integer listControlsButtonStatus; @ApiModelProperty(value = "评价按钮状态(0=显示,1=隐藏)") private Integer evaluateButtonStatus; private Integer evaluateButtonStatus=1; @ApiModelProperty(value = "语音文件集合") private List<String> voiceFileList; springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/vo/DispatchVO.java
@@ -5,10 +5,10 @@ import lombok.Data; @Data @ApiModel("下派单位") @ApiModel("单位") public class DispatchVO { @ApiModelProperty(value = "下派单位id") @ApiModelProperty(value = "单位id") private String id; @ApiModelProperty(value = "下派单位名称") @ApiModelProperty(value = "单位名称") private String name; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/IComplaintService.java
@@ -236,4 +236,6 @@ */ void assignComplain(LoginUserInfoVO loginUserInfo, Long complainId, Integer userId,String remark); List<DispatchVO> getAllocationList(LoginUserInfoVO loginUserInfo); } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java
@@ -64,7 +64,7 @@ */ @Slf4j @Service @RequiredArgsConstructor(onConstructor_ ={@Lazy}) @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class ComplaintServiceImpl extends ServiceImpl<ComplaintMapper, Complaint> implements IComplaintService { private final ISystemUserService systemUserService; private final IComplaintFlowService complaintFlowService; @@ -163,7 +163,7 @@ complaint.setReportUserName(partyMember.getName()); complaint.setReportUserPhone(partyMember.getPhone()); accountLevel=4; accountLevel = 4; complaint.setSuperiorId(systemUser.getCommunityId()); break; } @@ -185,7 +185,7 @@ complaint.setPartyMemberId(partyMember.getId()); complaint.setReportUserName(partyMember.getName()); complaint.setReportUserPhone(partyMember.getPhone()); complaint.setSuperiorId( partyMember.getCommunityId()); complaint.setSuperiorId(partyMember.getCommunityId()); // 添加处理人 // SystemUser one = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getAccountLevel, 4).eq(SystemUser::getIsDeptAdmin, 1).eq(SystemUser::getCommunityId, partyMember.getCommunityId()).ne(SystemUser::getStatus, 3)); @@ -259,7 +259,7 @@ SystemUser systemUser; //上级 if (systemUserByPhone.isPresent() && null != identity && identity == 2) { systemUser= systemUserByPhone.get(); systemUser = systemUserByPhone.get(); accountLevel = systemUser.getAccountLevel(); switch (accountLevel) { case 2: @@ -289,37 +289,63 @@ //查询对应诉求 //page = baseMapper.selectComplaintPage(page, query, targetId, isSuperior); // 党员只看自己上报的 if(accountLevel==5){ page = baseMapper.selectComplaintPage2(page, query, accountLevel, targetId); }else if(accountLevel==2){ if (accountLevel == 5) { page = baseMapper.selectComplaintPage2(page, query, accountLevel, targetId); } else if (accountLevel == 2) { // 西区单位 如果是西区单位,则只看自己上报的 if(systemUser.getSystemRoleId()==1){ if (systemUser.getSystemRoleId() == 1) { // 是管理员 看所有的 page = baseMapper.selectComplaintPage3(page, query, accountLevel, targetId); }else { page = baseMapper.selectComplaintPage3(page, query, accountLevel, targetId); } else { // 不是管理员 看到指派给我的单位的诉求 page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); } }else if(accountLevel==3){ } else if (accountLevel == 3) { // 街道 1 if(systemUser.getSystemRoleId()==1){ if (systemUser.getSystemRoleId() == 1) { // 是管理员 可以看到下派来的 也可以看到上派待审核的 page = baseMapper.selectComplaintPage5(page, query,systemUser.getStreetId(),null); }else { page = baseMapper.selectComplaintPage5(page, query, systemUser.getStreetId(), null); } else { // 不是管理员 看指派给我的 page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); } }else if(accountLevel==4){ } else if (accountLevel == 4) { // 社区 if(systemUser.getSystemRoleId()==1){ if (systemUser.getSystemRoleId() == 1) { // 是管理员 page = baseMapper.selectComplaintPage6(page, query,systemUser.getCommunityId(),null); }else { page = baseMapper.selectComplaintPage6(page, query, systemUser.getCommunityId(), null); } else { // 不是管理员 看到负责社区的所有诉求 和 上级下派来的诉求 page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); page = baseMapper.selectComplaintPage4(page, query, systemUser.getOneDepartmentId()); } } for (ComplaintVO record : page.getRecords()) { int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, record.getId())); if (count > 0) { record.setEvaluateButtonStatus(1); } else { if (systemUser != null) { if (record.getStatus() == 3 && systemUser.getAccountLevel() == record.getNowLevel()) { record.setEvaluateButtonStatus(0); } else if (record.getCreateBy().equals(loginUserInfoVO.getUserId()) && record.getStatus() == 3) { record.setEvaluateButtonStatus(0); } else { record.setEvaluateButtonStatus(1); } } else { if (record.getStatus() == 3 && loginUserInfoVO.getUserId().equals(record.getCreateBy())) { record.setEvaluateButtonStatus(0); } else { record.setEvaluateButtonStatus(1); } } } } return page; } @@ -398,7 +424,7 @@ .last(" limit 0, 1")); if (null != one1) { //非党员用户,必须是管理员有权限 if (identity == 2 && systemUser1.getAccountLevel().compareTo(one1.getReportType()) == 0 && systemUser1.getAccountLevel()!= 5) { if (identity == 2 && systemUser1.getAccountLevel().compareTo(one1.getReportType()) == 0 && systemUser1.getAccountLevel() != 5) { vo.setListControlsButtonStatus(0); } /*if (systemUserByPhone.isPresent()) { @@ -430,7 +456,7 @@ } }*/ //当前身份是管理员 if (2 == identity && systemUser1.getAccountLevel().compareTo(vo.getReportType()) == 0 && (systemUser1.getAccountLevel()!= 5)) { if (2 == identity && systemUser1.getAccountLevel().compareTo(vo.getReportType()) == 0 && (systemUser1.getAccountLevel() != 5)) { vo.setListControlsButtonStatus(0); } //如果当前身份是党员 @@ -469,7 +495,7 @@ String targetId = ""; Integer accountLevel = 5; //获取当前身份,1=党员,2=管理员 accountLevel =systemUser1.getAccountLevel(); accountLevel = systemUser1.getAccountLevel(); switch (accountLevel) { case 1: //市级 @@ -524,7 +550,7 @@ } }*/ //当前不是党员身份,需要是管理员才有权限 if (2 == identity && systemUser1.getAccountLevel().compareTo(vo.getReportType()) == 0 && systemUser1.getAccountLevel()!= 5) { if (2 == identity && systemUser1.getAccountLevel().compareTo(vo.getReportType()) == 0 && systemUser1.getAccountLevel() != 5) { vo.setEvaluateButtonStatus(0); } //当前是党员身份,只有是以党员身份提交的数据才有权限 @@ -594,9 +620,10 @@ } // 更新状态 此时status是表中的状态 未做变动 // 如果是区级 if(systemUser!=null) { if (systemUser != null) { ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, id).eq(ComplaintAuditRecord::getLatestFlag, 1).last("limit 1")); if (systemUser.getAccountLevel() == 2) { if(detail.getNowLevel()==2 && detail.getAssignStatus()==0){ if (detail.getNowLevel() == 2 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) { detail.setStatus(-1); } if (systemUser.getSystemRoleId() == 0) { @@ -605,9 +632,13 @@ detail.setStatus(0); } } if (detail.getFirstStatus() == 0) { detail.setStatus(-2); } } if (systemUser.getAccountLevel() == 3) { if(detail.getNowLevel()==3 && detail.getAssignStatus()==0){ if (detail.getNowLevel() == 3 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) { detail.setStatus(-1); } if (systemUser.getSystemRoleId() == 0) { @@ -616,9 +647,12 @@ detail.setStatus(0); } } if (detail.getFirstStatus() == 0) { detail.setStatus(-2); } } if (systemUser.getAccountLevel() == 4) { if(detail.getNowLevel()==4 && detail.getAssignStatus()==0){ if (detail.getNowLevel() == 4 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) { detail.setStatus(-1); } if (systemUser.getSystemRoleId() == 0) { @@ -627,11 +661,14 @@ detail.setStatus(0); } } if (detail.getFirstStatus() == 0) { detail.setStatus(-2); } } }else { if(detail.getFirstStatus()==1){ } else { if (detail.getFirstStatus() == 1) { detail.setStatus(0); }else { } else { detail.setStatus(-2); } } @@ -662,14 +699,13 @@ //已办结,显示评价按钮 int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, detail.getId()).eq(ComplaintComment::getDelFlag, 0)); if(detail.getStatus() == 3 && 0 == count){ if(systemUserByPhone.isPresent()){ Integer isAdmin = systemUser.getIsAdmin(); if(accountLevel.compareTo(detail.getReportType()) == 0 && ((accountLevel != 5 && 1 == isAdmin) || accountLevel == 5)){ if (detail.getStatus() == 3 && 0 == count) { if (systemUserByPhone.isPresent()) { if (accountLevel.compareTo(detail.getNowLevel()) == 0) { detail.setEvaluateButtonStatus(0); } }else{ if(detail.getReportType() == 5){ } else { if (detail.getCreateBy().equals(loginUserInfoVO.getUserId())) { detail.setEvaluateButtonStatus(0); } } @@ -784,11 +820,11 @@ Long reporterId = null; String departmentName = ""; String reporter = ""; int nowLevel=0; int nowLevel = 0; if (identityInformationVO.getIdentity() == 1) { PartyMember partyMember = partyMemberService.getPartyMemberByPhone(phone); superiorId = Long.valueOf(partyMember.getStreetId()); lastSuperiorId= partyMember.getCommunityId(); lastSuperiorId = partyMember.getCommunityId(); reporterId = partyMember.getId(); reportType = 4; @@ -811,7 +847,7 @@ if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) { superiorId = Long.parseLong(adminUser.getStreetId()); lastSuperiorId = adminUser.getCommunityId(); lastSuperiorId = adminUser.getCommunityId(); reporterId = adminUser.getCommunityId(); nowLevel = 3; @@ -862,7 +898,7 @@ complaint.setSuperiorId(superiorId); complaint.setLastSuperiorId(lastSuperiorId); complaint.setNowLevel(nowLevel); complaint.setLastLevel(nowLevel+1); complaint.setLastLevel(nowLevel + 1); complaint.setAssignStatus(0); updateById(complaint); @@ -916,7 +952,7 @@ .eq(ComplaintAuditRecord::getComplaintId, dto.getComplaintId()) .eq(ComplaintAuditRecord::getAuditType, 2) .eq(ComplaintAuditRecord::getLatestFlag, false) .orderByDesc(ComplaintAuditRecord::getSort) .orderByDesc(ComplaintAuditRecord::getSort).last("limit 1") ); if (Objects.nonNull(lastRecord)) { // 复制上一条记录 @@ -928,6 +964,12 @@ newRecord.setUpdateTime(new Date()); complaintAuditRecordService.save(newRecord); } // 返回原来的层级 Complaint complaint = this.getById(dto.getComplaintId()); complaint.setNowLevel(complaint.getLastLevel()); complaint.setSuperiorId(complaint.getLastSuperiorId()); this.updateById(complaint); } @Override @@ -978,7 +1020,7 @@ complaintAuditRecord.setComplaintId(complaint.getId()); complaintAuditRecord.setReportType(systemUser.getAccountLevel()); Long superiorId = null; int nowLevel=0; int nowLevel = 0; switch (systemUser.getAccountLevel()) { case 1: @@ -986,22 +1028,22 @@ break; case 2: superiorId = Long.parseLong(systemUser.getStreetId()); nowLevel=3; nowLevel = 3; break; case 3: superiorId = systemUser.getCommunityId(); nowLevel=4; nowLevel = 4; break; case 4: superiorId = systemUser.getCommunityId(); nowLevel=4; nowLevel = 4; break; } complaint.setSuperiorId(superiorId); complaint.setLastSuperiorId(superiorId); complaint.setAssignStatus(0); complaint.setNowLevel(nowLevel); complaint.setLastLevel( nowLevel); complaint.setLastLevel(nowLevel); this.updateById(complaint); complaintAuditRecord.setSuperiorId(superiorId); @@ -1051,11 +1093,9 @@ complaintAuditRecord.setAuditTime(new Date()); if(systemUser.getSystemRoleId()!=1 || systemUser.getAccountLevel()!=complaintAuditRecord.getReporterLevel()){ throw new ServiceException("无权审核"); if (systemUser.getSystemRoleId() != 1 || systemUser.getAccountLevel() != complaintAuditRecord.getReporterLevel()) { throw new ServiceException("无权审核"); } if (complaintReporAuditDTO.getAuditResult().equals(1)) { @@ -1073,8 +1113,9 @@ Complaint complaint = this.getById(complaintReporAuditDTO.getId()); complaint.setAssignPersonId(complaintReporAuditDTO.getDeptId()); complaint.setAssignStatus(1); complaint.setLastSuperiorId(complaint.getSuperiorId()); complaint.setLastLevel(complaint.getNowLevel()); complaint.setLastSuperiorId(complaint.getSuperiorId()); complaint.setLastLevel(complaint.getNowLevel()); complaint.setRemark(complaintReporAuditDTO.getRemark()); this.updateById(complaint); @@ -1106,7 +1147,7 @@ int reportType; String departmentName = ""; String reporter = ""; int nowLevel=4; int nowLevel = 4; if (identityInformation.getIdentity() == 1) { PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); superiorId = partyMember.getCommunityId(); @@ -1129,10 +1170,10 @@ superiorId = Long.parseLong(systemUser.getStreetId()); } else if (accountLevel == ReportTypeEnum.STREET.getCode()) { superiorId = Long.parseLong(systemUser.getDistrictsCode()); nowLevel =4; nowLevel = 4; } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { superiorId = Long.valueOf(systemUser.getDistrictsCode()); nowLevel =3;// 攀枝花市 nowLevel = 3;// 攀枝花市 } else { // 处理未预期的账号等级 throw new ServiceException("未知的账号等级"); @@ -1193,8 +1234,8 @@ Complaint byId = this.getById(dto.getComplaintId()); byId.setSuperiorId(superiorId); byId.setNowLevel( nowLevel); this.updateById(byId); byId.setNowLevel(nowLevel); this.updateById(byId); } @@ -1204,20 +1245,19 @@ public void delayAudit(ComplaintDelayAuditDTO dto, LoginUserInfoVO loginUserInfoVO) { IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfoVO); SystemUser systemUser = identityInformation.getSystemUser(); SystemUserLevel systemUserLevel = identityInformation.getSystemUserLevel(); if (identityInformation.getIdentity() != 2) { throw new ServiceException("无权审核"); } int accountLevel = systemUserLevel.getLevel(); // 改为基本类型 int accountLevel = systemUser.getAccountLevel(); // 改为基本类型 Long superiorId; // 使用基本类型比较并补充默认分支 if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) { superiorId = systemUserLevel.getCommunityId(); superiorId = systemUser.getCommunityId(); } else if (accountLevel == ReportTypeEnum.STREET.getCode()) { superiorId = Long.parseLong(systemUserLevel.getStreetId()); superiorId = Long.parseLong(systemUser.getStreetId()); } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { superiorId = Long.parseLong(systemUserLevel.getDistrictsCode()); superiorId = Long.parseLong(systemUser.getDistrictsCode()); } else if (accountLevel == ReportTypeEnum.CITY.getCode()) { superiorId = 510400L; } else { @@ -1303,6 +1343,26 @@ } else { // 处理未预期的账号等级 throw new ServiceException("未知的账号等级"); } return dispatchVOList; } @Override public List<DispatchVO> getAllocationList(LoginUserInfoVO loginUserInfo) { IdentityInformation identityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo); List<DispatchVO> dispatchVOList = new ArrayList<>(); SystemUser adminUser = identityInformation.getSystemUser(); if (adminUser.getSystemRoleId() != 1) { throw new ServiceException("无权查看"); } Integer oneDepartmentId = adminUser.getOneDepartmentId(); Department byId = departmentService.getById(oneDepartmentId); List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().eq(Department::getTier, byId.getTier())); for (Department department : list1) { DispatchVO dispatchVO = new DispatchVO(); dispatchVO.setId(department.getId().toString()); dispatchVO.setName(department.getName()); dispatchVOList.add(dispatchVO); } return dispatchVOList; } @@ -1676,9 +1736,9 @@ double lastMonthAverageTime = lastMonthAverageTimeComplaints.stream().mapToDouble(v -> v.getHandlingDay() == null ? 0 : v.getHandlingDay()).average().getAsDouble(); BigDecimal lastMonthAverageTime1 = BigDecimal.valueOf(lastMonthAverageTime).setScale(2, RoundingMode.HALF_UP); vo.setLastMonthCompareAverageTime( new BigDecimal(vo.getThisMonthAverageTime()).subtract(lastMonthAverageTime1).setScale(2,RoundingMode.HALF_UP).doubleValue()); }else { vo.setLastMonthCompareAverageTime( new BigDecimal(vo.getThisMonthAverageTime()).setScale(2,RoundingMode.HALF_UP).doubleValue()); vo.setLastMonthCompareAverageTime(new BigDecimal(vo.getThisMonthAverageTime()).subtract(lastMonthAverageTime1).setScale(2, RoundingMode.HALF_UP).doubleValue()); } else { vo.setLastMonthCompareAverageTime(new BigDecimal(vo.getThisMonthAverageTime()).setScale(2, RoundingMode.HALF_UP).doubleValue()); } @@ -1709,7 +1769,7 @@ if (lastMonthSize > 0) { BigDecimal multiply2 = BigDecimal.valueOf(count2).divide(new BigDecimal(lastMonthSize), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")); vo.setLastMonthCompareSatisfactionRate(vo.getThisMonthSatisfactionRate() - multiply2.doubleValue()); }else { } else { vo.setLastMonthCompareSatisfactionRate(vo.getThisMonthSatisfactionRate()); } } @@ -1821,10 +1881,10 @@ long count3 = complaints.stream().filter(e -> e.getCommentRate() != null && e.getCommentRate() == 3).count(); vo.setGreatSatisfactionNum((int) count3); if (complaints.size() > 0) { vo.setDissatisfactionRate(BigDecimal.valueOf(count).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue()); vo.setGeneralSatisfactionRate(BigDecimal.valueOf(count1).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue()); vo.setSatisfactionRate(BigDecimal.valueOf(count2).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue()); vo.setGreatSatisfactionRate(BigDecimal.valueOf(count3).divide(BigDecimal.valueOf(complaints.size()),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2,RoundingMode.HALF_UP).doubleValue()); vo.setDissatisfactionRate(BigDecimal.valueOf(count).divide(BigDecimal.valueOf(complaints.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setGeneralSatisfactionRate(BigDecimal.valueOf(count1).divide(BigDecimal.valueOf(complaints.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setSatisfactionRate(BigDecimal.valueOf(count2).divide(BigDecimal.valueOf(complaints.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).doubleValue()); vo.setGreatSatisfactionRate(BigDecimal.valueOf(count3).divide(BigDecimal.valueOf(complaints.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).doubleValue()); } return vo; } @@ -1872,18 +1932,18 @@ @Override public Page<SysUserVO> getDeptUserList(LoginUserInfoVO loginUserInfo,BasePage page) { public Page<SysUserVO> getDeptUserList(LoginUserInfoVO loginUserInfo, BasePage page) { IdentityInformation currentIdentityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo); if (currentIdentityInformation.getIdentity().equals(2)) { SystemUser systemUser = currentIdentityInformation.getSystemUser(); if(systemUser.getSystemRoleId()!=1){ if (systemUser.getSystemRoleId() != 1) { throw new ServiceException("你没有分配权限"); } Page<SysUserVO> sysUserVOPage = new Page<>(); ArrayList<SysUserVO> sysUserVOS = new ArrayList<>(); Page<SystemUser> page1 = systemUserService.page(new Page<>(page.getPageNum(), page.getPageSize()), new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, systemUser.getOneDepartmentId()).ne(SystemUser::getId,systemUser.getId()).ne(SystemUser::getStatus, 3)); Page<SystemUser> page1 = systemUserService.page(new Page<>(page.getPageNum(), page.getPageSize()), new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, systemUser.getOneDepartmentId()).ne(SystemUser::getId, systemUser.getId()).ne(SystemUser::getStatus, 3)); for (SystemUser record : page1.getRecords()) { SysUserVO sysUserVO = new SysUserVO(); sysUserVO.setId(record.getId()); @@ -1891,31 +1951,36 @@ sysUserVOS.add(sysUserVO); } sysUserVOPage.setRecords(sysUserVOS); BeanUtils.copyProperties(page1,sysUserVOPage); BeanUtils.copyProperties(page1, sysUserVOPage); return sysUserVOPage; }else { } else { throw new ServiceException("你没有分配权限"); } } @Override public void assignComplain(LoginUserInfoVO loginUserInfo, Long complainId, Integer userId,String remark) { public void assignComplain(LoginUserInfoVO loginUserInfo, Long complainId, Integer userId, String remark) { IdentityInformation currentIdentityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo); if (currentIdentityInformation.getIdentity().equals(2)) { SystemUser systemUser = currentIdentityInformation.getSystemUser(); Complaint complaint = baseMapper.selectById(complainId); if (systemUser.getSystemRoleId() != 1 || !complaint.getNowLevel().equals(systemUser.getAccountLevel())) { throw new ServiceException("你没有分配权限"); } // 已分配状态 complaint.setAssignPersonId(userId); complaint.setFirstStatus(1); complaint.setAssignStatus(1); complaint.setRemark(remark); baseMapper.updateById(complaint); }else { } else { throw new ServiceException("你没有分配权限"); } } } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/SystemMenuServiceImpl.java
@@ -15,18 +15,18 @@ */ @Service public class SystemMenuServiceImpl extends ServiceImpl<SystemMenuMapper, SystemMenu> implements ISystemMenuService { @Override public List<SystemMenu> getSystemMenuList() { List<SystemMenu> list = this.list(); List<SystemMenu> collect = list.stream().filter(s->s.getParentId() == 0).collect(Collectors.toList()); List<SystemMenu> collect = list.stream().filter(s->s.getParentId() == 0 && s.getId()==1).collect(Collectors.toList()); for (SystemMenu systemMenu : collect) { build(systemMenu, list); } return collect; } public void build(SystemMenu systemMenu, List<SystemMenu> list) { List<SystemMenu> collect = list.stream().filter(s->s.getParentId().intValue() == systemMenu.getId()).collect(Collectors.toList()); if(collect.size() == 0){ springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/SystemUserServiceImpl.java
@@ -126,10 +126,13 @@ regionTree = baseMapper.getRegion("510400"); baseMapper.getStreet("510400"); regionTree.forEach(district -> { district.setTier(2); List<RegionVO> streets = baseMapper.getStreet(district.getId()); district.setChildren(streets); streets.forEach(street -> { street.setTier(3); List<RegionVO> communities = baseMapper.getCommunity(street.getId()); communities.forEach(e->e.setTier(4)); street.setChildren(communities); }); }); @@ -137,7 +140,9 @@ case 2: regionTree = baseMapper.getStreet(systemUser.getDistrictsCode()); regionTree.forEach(regionVO->{ regionVO.setTier(3); List<RegionVO> communities = baseMapper.getCommunity(regionVO.getId()); communities.forEach(e->e.setTier(4)); regionVO.setChildren(communities); }); break; @@ -146,13 +151,16 @@ RegionVO streetVO = new RegionVO(); streetVO.setId(street.getStreetId()); streetVO.setName(street.getName()); streetVO.setTier(3); List<RegionVO> communities = baseMapper.getCommunity(systemUser.getStreetId()); communities.forEach(e->e.setTier(4)); streetVO.setChildren(communities); regionTree = Lists.newArrayList(streetVO); break; case 4: ComAct byId = comActService.getById(systemUser.getCommunityId()); RegionVO regionVO = new RegionVO(); regionVO.setTier(4); regionVO.setId(byId.getCommunityId().toString()); regionVO.setName(byId.getName()); regionTree = Lists.newArrayList(regionVO); springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/warpper/SystemUserList.java
@@ -17,14 +17,10 @@ private String phone; @ApiModelProperty(value = "所属角色") private Integer systemRoleId; @ApiModelProperty(value = "账号层级(1=市级账号,2=区县账号,3=街道账号,4=社区账号) 优先账号所属层级-》选择的组织结构tier ") private Integer accountLevel; @ApiModelProperty(value = "页码", required = true) private Integer pageNum; @ApiModelProperty(value = "每页数量", required = true) private Integer pageSize; @ApiModelProperty(value = "1当前组织架构 2当前及下级", required = true) private Integer type; @ApiModelProperty(value = "组织架构编码 2传当前指定的区县regionCode 3传街道streetId 4传communityId") private String code; @ApiModelProperty(value = "单位id") private Integer deptId; } springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/resources/mapper/ComplaintMapper.xml
@@ -820,12 +820,13 @@ CASE WHEN sc.first_status = 1 and sc.status != 3 and sc.status != 8 and sc.first_status=1 THEN 0 WHEN sc.first_status = 1 and sc.status = 8 THEN 3 WHEN sc.first_status = 0 THEN -2 WHEN sc.first_status = 0 and sc.assign_status = 0 THEN -2 WHEN sc.assign_status = 0 and sc.first_status = 1 THEN -1 ELSE sc.status END AS status, CASE WHEN sc.status = 8 THEN 1 ELSE 0 WHEN sc.status = 3 THEN 0 ELSE 1 END AS evaluateButtonStatus, sc.report_type, sc.superior_id, @@ -882,7 +883,7 @@ sc.images, sc.videos, case WHEN sc.now_level = 2 and sc.assign_status =0 THEN -1 WHEN sc.now_level = 2 and sc.assign_status =0 and (scar.audit_status=1 or scar.audit_status is null) THEN -1 WHEN sc.now_level = 2 and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7 WHEN sc.now_level = 2 and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5 WHEN sc.now_level = 2 and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6 @@ -954,6 +955,7 @@ WHEN (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6 WHEN sc.`status` =8 THEN 3 WHEN sc.`status` =3 THEN 3 WHEN sc.now_level = 3 and sc.assign_status =0 and (scar.audit_status=1 or scar.audit_status is null) THEN -1 ELSE 0 END AS status, CASE @@ -1089,6 +1091,7 @@ WHEN (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6 WHEN sc.`status` =8 THEN 3 WHEN sc.`status` =3 THEN 3 WHEN sc.assign_status = 0 THEN -1 ELSE 0 END AS status, CASE springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/resources/mapper/SystemUserMapper.xml
@@ -28,43 +28,10 @@ <if test="null != query.systemRoleId"> and a.system_role_id = #{query.systemRoleId} </if> <if test="null != query.deptId"> and a.one_department_id = #{query.deptId} </if> <if test="null != query.accountLevel and 2 == query.accountLevel and query.type==2 and query.code != null and query.code !='' "> and a.account_level >= #{query.accountLevel} and h.districts_code = #{query.code} </if> <if test="null != query.accountLevel and 2 == query.accountLevel and query.type==2 and query.code == null"> and a.account_level >= #{query.accountLevel} </if> <if test="null != query.accountLevel and 2 == query.accountLevel and query.type==1 and query.code != null and query.code !=''"> and a.account_level = #{query.accountLevel} and h.districts_code = #{query.code} </if> <if test="null != query.accountLevel and 2 == query.accountLevel and query.type==1 and query.code == null "> and a.account_level = #{query.accountLevel} </if> <if test="null != query.accountLevel and 3 == query.accountLevel and query.type==2 and query.code != null and query.code !=''"> and a.account_level >= #{query.accountLevel} and h.street_id = #{query.code} </if> <if test="null != query.accountLevel and 3 == query.accountLevel and query.type==2 and query.code == null"> and h.account_level >= #{query.accountLevel} </if> <if test="null != query.accountLevel and 3 == query.accountLevel and query.type==1 and query.code != null and query.code !=''"> and h.account_level = #{query.accountLevel} and h.street_id = #{query.code} </if> <if test="null != query.accountLevel and 3 == query.accountLevel and query.type==1 and query.code == null"> and a.account_level = #{query.accountLevel} </if> <if test="null != query.accountLevel and 4 == query.accountLevel and query.type==2 and query.code != null and query.code !=''"> and a.account_level >= #{query.accountLevel} and h.community_id = #{query.code} </if> <if test="null != query.accountLevel and 4 == query.accountLevel and query.type==2 and query.code == null"> and a.account_level >= #{query.accountLevel} </if> <if test="null != query.accountLevel and 4 == query.accountLevel and query.type==1 and query.code != null and query.code !=''"> and a.account_level = #{query.accountLevel} and h.community_id = #{query.code} </if> <if test="null != query.accountLevel and 4 == query.accountLevel and query.type==1 and query.code == null"> and a.account_level = #{query.accountLevel} </if> order by a.create_time desc </select>