| | |
| | | import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; |
| | | import com.panzhihua.sangeshenbian.service.ISystemUserService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | |
| | | @RequiredArgsConstructor |
| | | public class ComplaintServiceImpl extends ServiceImpl<ComplaintMapper, Complaint> implements IComplaintService { |
| | | private final ISystemUserService systemUserService; |
| | | private final IComplaintFlowService complaintFlowService; |
| | | @Lazy |
| | | @Resource |
| | | private IComplaintFlowService complaintFlowService; |
| | | private final IComplaintProgressService complaintProgressService; |
| | | |
| | | private final IComplaintAuditRecordService complaintAuditRecordService; |
| | |
| | | break; |
| | | case 3: |
| | | //街道 |
| | | targetId = systemUser.getStreetCode(); |
| | | targetId = systemUser.getStreetId().toString(); |
| | | break; |
| | | case 4: |
| | | //社区 |
| | | targetId = systemUser.getCommunityCode(); |
| | | targetId = systemUser.getCommunityId().toString(); |
| | | break; |
| | | } |
| | | isSuperior = 1; |
| | |
| | | detail.setComplaintFlows(list); |
| | | } |
| | | //查询办理进度 |
| | | List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id).list(); |
| | | List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id) |
| | | .orderByAsc(ComplaintProgress::getCreateTime).list(); |
| | | detail.setComplaintProgresses(list); |
| | | return detail; |
| | | } |
| | |
| | | complaint.setCompletionTime(new Date()); |
| | | this.updateById(complaint); |
| | | } |
| | | /** |
| | | * 办理进度列表 |
| | | * @param complaintId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<ComplaintProgress> progress(Long complaintId) { |
| | | //查询办理进度 |
| | | return complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, complaintId) |
| | | .orderByAsc(ComplaintProgress::getCreateTime).list(); |
| | | } |
| | | |
| | | @Override |
| | | public void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO) { |
| | |
| | | |
| | | // 使用基本类型比较并补充默认分支 |
| | | if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) { |
| | | superiorId = Long.parseLong(adminUser.getStreetCode()); |
| | | superiorId = adminUser.getStreetId().longValue(); |
| | | } else if (accountLevel == ReportTypeEnum.STREET.getCode()) { |
| | | superiorId = Long.parseLong(adminUser.getDistrictsCode()); |
| | | } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { |
| | |
| | | |
| | | // 使用基本类型比较并补充默认分支 |
| | | if (accountLevel == ReportTypeEnum.STREET.getCode()) { |
| | | superiorId = Long.parseLong(adminUser.getCommunityCode()); |
| | | superiorId = adminUser.getCommunityId().longValue(); |
| | | } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { |
| | | superiorId = Long.parseLong(adminUser.getStreetCode()); |
| | | superiorId = adminUser.getStreetId().longValue(); |
| | | } else if (accountLevel == ReportTypeEnum.CITY.getCode()) { |
| | | superiorId = Long.parseLong(adminUser.getDistrictsCode()); |
| | | } else { |
| | |
| | | break; |
| | | case 3: |
| | | //街道 |
| | | targetId = systemUser.getStreetCode(); |
| | | targetId = systemUser.getStreetId().toString(); |
| | | break; |
| | | case 4: |
| | | //社区 |
| | | targetId = systemUser.getCommunityCode(); |
| | | targetId = systemUser.getCommunityId().toString(); |
| | | break; |
| | | } |
| | | isSuperior = 1; |
| | |
| | | Page<ComplaintTodoVO> page = baseMapper.getTodoList(new Page<>(basePage.getPageNum(), basePage.getPageSize()), targetId,isSuperior); |
| | | return page; |
| | | } |
| | | |
| | | /** |
| | | * 延期情况说明 |
| | | * @param complaintId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ComplaintAuditRecord delayDetail(Long complaintId) { |
| | | return complaintAuditRecordService.lambdaQuery().eq(ComplaintAuditRecord::getComplaintId, complaintId) |
| | | .eq(ComplaintAuditRecord::getAuditType, 1) |
| | | .eq(ComplaintAuditRecord::getLatestFlag, true) |
| | | .last("LIMIT 1").one(); |
| | | } |
| | | } |
| | | |