| | |
| | | } else { |
| | | PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); |
| | | complaint.setCityCode(510400); |
| | | if(partyMember!=null){ |
| | | if (partyMember != null) { |
| | | //党员 |
| | | complaint.setDistrictsCode(Integer.valueOf(partyMember.getDistrictsCode())); |
| | | complaint.setStreetId(Long.valueOf(partyMember.getStreetId())); |
| | |
| | | complaint.setReportUserName(partyMember.getName()); |
| | | complaint.setReportUserPhone(partyMember.getPhone()); |
| | | complaint.setSuperiorId(partyMember.getCommunityId()); |
| | | }else { |
| | | } else { |
| | | complaint.setDistrictsCode(Integer.valueOf(loginUserInfoVO.getAreaCode())); |
| | | complaint.setStreetId(loginUserInfoVO.getStreetId()); |
| | | complaint.setCommunityId(loginUserInfoVO.getCommunityId()); |
| | |
| | | systemUser = null; |
| | | //党员 |
| | | PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); |
| | | if(partyMember!=null){ |
| | | if (partyMember != null) { |
| | | targetId = partyMember.getCommunityId(); |
| | | }else { |
| | | } else { |
| | | targetId = loginUserInfoVO.getCommunityId(); |
| | | } |
| | | } |
| | |
| | | // 街道 1 |
| | | if (systemUser.getSystemRoleId() == 1) { |
| | | // 获取这个街道所管的社区id |
| | | List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId,systemUser.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); |
| | | List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, systemUser.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); |
| | | // 是管理员 可以看到下派来的 也可以看到上派待审核的 |
| | | page = baseMapper.selectComplaintPage5(page, query, systemUser.getStreetId(), communityIds); |
| | | } else { |
| | |
| | | |
| | | // 处理页面颜色展示和倒计时 |
| | | Date nowLevelTime = record.getNowLevelTime(); |
| | | if(record.getNowLevel()==2){ |
| | | if (record.getNowLevel() == 2) { |
| | | Integer HandlingTime = config.getDistrictHandlingTime(); |
| | | Integer DeadlineReminder = config.getDistrictDeadlineReminder(); |
| | | // 判断是超时 还是 临期 |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(2); |
| | | }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(1); |
| | | } |
| | | long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); |
| | | double days = (double) l / (24 * 60 * 60 * 1000); // 毫秒转天数 |
| | | BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 |
| | | record.setRemindTime(result.doubleValue()); |
| | | }else if(record.getNowLevel()==3){ |
| | | } else if (record.getNowLevel() == 3) { |
| | | Integer HandlingTime = config.getStreetHandlingTime(); |
| | | Integer DeadlineReminder = config.getStreetDeadlineReminder(); |
| | | // 判断是超时 还是 临期 |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(2); |
| | | }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(1); |
| | | } |
| | | long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); |
| | | double days = (double) l / (24 * 60 * 60 * 1000); // 毫秒转天数 |
| | | BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 |
| | | record.setRemindTime(result.doubleValue()); |
| | | } else if(record.getNowLevel()==4){ |
| | | } else if (record.getNowLevel() == 4) { |
| | | Integer HandlingTime = config.getCommunityHandlingTime(); |
| | | Integer DeadlineReminder = config.getCommunityDeadlineReminder(); |
| | | // 判断是超时 还是 临期 |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { |
| | | if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(2); |
| | | }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { |
| | | record.setRemindStatus(1); |
| | | } |
| | | long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); |
| | |
| | | BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 |
| | | record.setRemindTime(result.doubleValue()); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, record.getId())); |
| | |
| | | } else { |
| | | //党员 |
| | | PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); |
| | | if(partyMember!=null){ |
| | | if (partyMember != null) { |
| | | targetId = partyMember.getId().toString(); |
| | | }else { |
| | | targetId =loginUserInfoVO.getUserId().toString(); |
| | | } else { |
| | | targetId = loginUserInfoVO.getUserId().toString(); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | } else { |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | detail.setStatus(0); |
| | | } else if(detail.getFirstStatus()==0){ |
| | | } else if (detail.getFirstStatus() == 0) { |
| | | detail.setStatus(5); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { |
| | | detail.setStatus(3); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { |
| | | detail.setStatus(8); |
| | | } |
| | | } |
| | |
| | | //获取当前身份,1=党员,2=管理员 |
| | | ComplaintVO detail = baseMapper.getDetail(id); |
| | | // 更新状态 此时status是表中的状态 未做变动 |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | detail.setStatus(0); |
| | | } else if(detail.getFirstStatus()==0){ |
| | | } else if (detail.getFirstStatus() == 0) { |
| | | detail.setStatus(5); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { |
| | | detail.setStatus(3); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { |
| | | detail.setStatus(8); |
| | | } |
| | | |
| | |
| | | |
| | | return detail; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | complaint.setHandlingDay(handlingDay); |
| | | this.updateById(complaint); |
| | | |
| | | if(dto.getStatus()==3){ |
| | | if (dto.getStatus() == 3) { |
| | | // 发送短信 |
| | | Long createBy = complaint.getCreateBy(); |
| | | |
| | | String phone = systemUserService.getCreateByIdPhone(createBy); |
| | | if(StringUtils.isNotEmpty(phone)){ |
| | | if (StringUtils.isNotEmpty(phone)) { |
| | | AliSmsUtil.sendSuccessMessage(phone); |
| | | } |
| | | } |
| | |
| | | complaintFlowService.createFlow(complaintAuditRecord2, 0, loginUserInfoVO.getUserId()); |
| | | |
| | | |
| | | |
| | | |
| | | // 通过修改状态 已经修改superiorId 和层级 不需要修改 superiorId |
| | | Complaint complaint = this.getById(complaintReporAuditDTO.getId()); |
| | | complaint.setAssignPersonId(complaintReporAuditDTO.getDeptId()); |
| | |
| | | Department byId = departmentService.getById(complaintReporAuditDTO.getDeptId()); |
| | | complaintFlow.setName(byId.getName()); |
| | | complaintFlow.setType(1); |
| | | complaintFlow.setCreateTime(new Date(System.currentTimeMillis()+1000)); |
| | | complaintFlow.setCreateTime(new Date(System.currentTimeMillis() + 1000)); |
| | | complaintFlowService.save(complaintFlow); |
| | | |
| | | |
| | | this.updateById(complaint); |
| | | List<SystemUser> list = systemUserService.list(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, complaintReporAuditDTO.getDeptId()).eq(SystemUser::getSystemRoleId, 1).eq(SystemUser::getStatus, 1)); |
| | | if(!list.isEmpty()){ |
| | | if (!list.isEmpty()) { |
| | | List<String> phoneList = list.stream().map(SystemUser::getPhone).collect(Collectors.toList()); |
| | | AliSmsUtil.sendAssignMessageAdmin(phoneList,complaint.getSerialNumber()); |
| | | AliSmsUtil.sendAssignMessageAdmin(phoneList, complaint.getSerialNumber()); |
| | | } |
| | | |
| | | } else { |
| | |
| | | */ |
| | | @Override |
| | | public Page<ComplaintVO> pageList(MgtComplaintQuery query, SystemUserVo loginUserInfo) { |
| | | return baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | if (loginUserInfo.getAccountLevel() == 2) { |
| | | if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | return complaintVOPage; |
| | | }else { |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | return complaintVOPage; |
| | | } |
| | | } |
| | | if (loginUserInfo.getAccountLevel() == 3) { |
| | | if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ |
| | | // 获取这个街道所管的社区id |
| | | List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, loginUserInfo.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList2(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo,communityIds); |
| | | return complaintVOPage; |
| | | }else { |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | return complaintVOPage; |
| | | } |
| | | } |
| | | if (loginUserInfo.getAccountLevel() == 4) { |
| | | if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList3(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | return complaintVOPage; |
| | | }else { |
| | | Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); |
| | | return complaintVOPage; |
| | | } |
| | | } |
| | | return new Page<>(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | |
| | | List<SystemUser> list = systemUserService.list(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, userId).eq(SystemUser::getSystemRoleId, 1).eq(SystemUser::getStatus, 1)); |
| | | if(!list.isEmpty()){ |
| | | if (!list.isEmpty()) { |
| | | List<String> phoneList = list.stream().map(SystemUser::getPhone).collect(Collectors.toList()); |
| | | AliSmsUtil.sendAssignMessageAdmin(phoneList,complaint.getSerialNumber()); |
| | | AliSmsUtil.sendAssignMessageAdmin(phoneList, complaint.getSerialNumber()); |
| | | } |
| | | |
| | | } else { |
| | |
| | | page = baseMapper.pageScreenList(page, query); |
| | | |
| | | page.getRecords().forEach(detail -> { |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { |
| | | detail.setStatus(0); |
| | | } else if(detail.getFirstStatus()==0){ |
| | | } else if (detail.getFirstStatus() == 0) { |
| | | detail.setStatus(5); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { |
| | | detail.setStatus(3); |
| | | }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ |
| | | } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { |
| | | detail.setStatus(8); |
| | | } |
| | | }); |
| | |
| | | @Override |
| | | public Page<String> getHouseAddress(GetHouseAddressQuery query) { |
| | | Page<String> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | return this.baseMapper.getHouseAddress(page,query.getAddress()); |
| | | return this.baseMapper.getHouseAddress(page, query.getAddress()); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void saveComplaintAdmin(Complaint complaint, SystemUserVo systemUser) { |
| | | // 获取当前日期(年月日) |
| | | String datePrefix = new SimpleDateFormat("yyyyMMdd").format(new Date()); |
| | | |
| | | // 查询当前日期的最大流水号 |
| | | Complaint lastComplaint = 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.setSerialNumber(serialNumber); |
| | | Integer accountLevel = 4; |
| | | //获取当前身份 |
| | | //1=党员,2=管理员 |
| | | accountLevel = systemUser.getAccountLevel(); |
| | | switch (accountLevel) { |
| | | case 2: |
| | | //区县级 |
| | | complaint.setCityCode(510400); |
| | | complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); |
| | | complaint.setReportUserName(systemUser.getName()); |
| | | complaint.setReportUserPhone(systemUser.getPhone()); |
| | | |
| | | |
| | | complaint.setSuperiorId(Long.valueOf(systemUser.getDistrictsCode())); |
| | | break; |
| | | case 3: |
| | | //街道 |
| | | complaint.setCityCode(510400); |
| | | complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); |
| | | complaint.setStreetId(Long.valueOf(systemUser.getStreetId())); |
| | | complaint.setReportUserName(systemUser.getName()); |
| | | complaint.setReportUserPhone(systemUser.getPhone()); |
| | | |
| | | complaint.setSuperiorId(Long.valueOf(systemUser.getStreetId())); |
| | | break; |
| | | case 4: |
| | | //社区 |
| | | complaint.setCityCode(510400); |
| | | complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); |
| | | complaint.setStreetId(Long.valueOf(systemUser.getStreetId())); |
| | | complaint.setCommunityId(systemUser.getCommunityId()); |
| | | complaint.setReportUserName(systemUser.getName()); |
| | | complaint.setReportUserPhone(systemUser.getPhone()); |
| | | |
| | | complaint.setSuperiorId(systemUser.getCommunityId()); |
| | | break; |
| | | } |
| | | |
| | | complaint.setReportType(accountLevel); |
| | | complaint.setNowLevel(accountLevel); |
| | | complaint.setLastLevel(accountLevel); |
| | | complaint.setLastSuperiorId(complaint.getSuperiorId()); |
| | | |
| | | // 设置其他字段 |
| | | complaint.setStatus(ProcessStatusEnum.PROCESSING.getCode()); |
| | | complaint.setCreateTime(new Date(System.currentTimeMillis())); |
| | | complaint.setUpdateTime(new Date(System.currentTimeMillis())); |
| | | //查询系统配置诉求处理期限,设置截止日期 |
| | | WorkOrderItemConfig config = workOrderItemConfigService.lambdaQuery().orderByDesc(WorkOrderItemConfig::getId).last("LIMIT 1").one(); |
| | | if (Objects.isNull(config)) { |
| | | throw new ServiceException("工单事项未配置,请联系管理员"); |
| | | } |
| | | complaint.setNowLevelTime(new Date()); |
| | | complaint.setNowLevelSms(0); |
| | | // 保存诉求记录 |
| | | save(complaint); |
| | | } |
| | | |
| | | } |
| | | |