|
|
@@ -1,15 +1,17 @@ |
|
|
|
package com.tuoheng.admin.service.inspection.query; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.OrderItem; |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.tuoheng.admin.conver.InspectionConverMapper; |
|
|
|
import com.tuoheng.admin.entity.Dept; |
|
|
|
import com.tuoheng.admin.entity.Inspection; |
|
|
|
import com.tuoheng.admin.entity.User; |
|
|
|
import com.tuoheng.admin.enums.InspectionTypeEnum; |
|
|
|
import com.tuoheng.admin.enums.UserTypeEnum; |
|
|
|
import com.tuoheng.admin.enums.code.inspection.AddInspectionCodeEnum; |
|
|
|
import com.tuoheng.admin.enums.code.dept.QueryDeptChildListCodeEnum; |
|
|
|
import com.tuoheng.admin.enums.code.inspection.QueryInspectionPageListCodeEnum; |
|
|
|
import com.tuoheng.admin.mapper.DeptMapper; |
|
|
|
import com.tuoheng.admin.mapper.InspectionFileMapper; |
|
|
|
import com.tuoheng.admin.mapper.InspectionMapper; |
|
|
@@ -19,16 +21,18 @@ import com.tuoheng.admin.service.inspection.query.handle.GenerateInspectionField |
|
|
|
import com.tuoheng.admin.utils.ShiroUtils; |
|
|
|
import com.tuoheng.admin.vo.InspectionVo; |
|
|
|
import com.tuoheng.common.core.utils.JsonResult; |
|
|
|
import com.tuoheng.common.core.utils.StringUtils; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.beans.factory.annotation.Qualifier; |
|
|
|
import org.springframework.security.core.parameters.P; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* 查询巡检任务分页列表业务层处理 |
|
|
|
* 查询巡检任务分页列表业务层处理 |
|
|
|
* |
|
|
|
* @author wanjing |
|
|
|
* @team tuoheng |
|
|
@@ -87,13 +91,13 @@ public class QueryInspectionPageListService { |
|
|
|
problemCountHandle.setNextHandler(resubmitHandle); |
|
|
|
} |
|
|
|
|
|
|
|
public JsonResult getPageList(QueryInspectionPageListRequest queryInspectionRequest) { |
|
|
|
public JsonResult getPageList(QueryInspectionPageListRequest request) { |
|
|
|
log.info("进入查询巡检任务分页列表业务"); |
|
|
|
|
|
|
|
String userId = ShiroUtils.getUserId(); |
|
|
|
String tenantId = ShiroUtils.getTenantId(); |
|
|
|
|
|
|
|
JsonResult result = this.check(tenantId, queryInspectionRequest); |
|
|
|
JsonResult result = this.check(tenantId, request); |
|
|
|
if (0 != result.getCode()) { |
|
|
|
log.info("进入查询巡检任务分页列表业务:校验失败:{}", result.getMsg()); |
|
|
|
return result; |
|
|
@@ -109,38 +113,37 @@ public class QueryInspectionPageListService { |
|
|
|
.eq(Dept::getId, user.getDeptId()) |
|
|
|
.eq(Dept::getMark, 1)); |
|
|
|
|
|
|
|
IPage<Inspection> pageData = null; |
|
|
|
if (UserTypeEnum.SUPER_ADMIN.getCode() == user.getType()) { |
|
|
|
|
|
|
|
pageData = this.getAllList(request); |
|
|
|
} else if (UserTypeEnum.ADMIN.getCode() == user.getType()) { |
|
|
|
|
|
|
|
pageData = this.getListByDept(request); |
|
|
|
} else if (UserTypeEnum.ORDINARY_USER.getCode() == user.getType()) { |
|
|
|
|
|
|
|
pageData = this.getListByDept(request); |
|
|
|
} |
|
|
|
|
|
|
|
// if (InspectionTypeEnum.MABNNEDFLIGHT.getCode() == queryInspectionRequest.getInspectionType()) { |
|
|
|
// queryInspectionRequest.setAirportId(0); |
|
|
|
// queryInspectionRequest.setInspectionLine(0); |
|
|
|
// } |
|
|
|
|
|
|
|
// 获取本部门及子孙部门id列表 |
|
|
|
List<String> deptIdList = deptMapper.selectAllChildListById(queryInspectionRequest.getDeptId()); |
|
|
|
|
|
|
|
// 设置分页参数 |
|
|
|
IPage<Inspection> page = new Page<>(queryInspectionRequest.getPage(), queryInspectionRequest.getLimit()); |
|
|
|
|
|
|
|
// 查询结果 |
|
|
|
IPage<Inspection> pageData = inspectionMapper.selectPageList(page, queryInspectionRequest); |
|
|
|
|
|
|
|
List<Inspection> inspectionList = pageData.getRecords(); |
|
|
|
if (null == pageData || pageData.getTotal() == 0) { |
|
|
|
log.info("获取任务分页列表为空"); |
|
|
|
return JsonResult.error(QueryInspectionPageListCodeEnum.QUERY_IS_FAILED.getCode(), QueryInspectionPageListCodeEnum.QUERY_IS_FAILED.getMsg()); |
|
|
|
} |
|
|
|
|
|
|
|
List<InspectionVo> inspectionVoList = buildIspectionVoList(user, dept, inspectionList); |
|
|
|
// 构造返回结果对象 |
|
|
|
List<InspectionVo> inspectionVoList = buildIspectionVoList(user, dept, pageData.getRecords()); |
|
|
|
|
|
|
|
// 重写返回结果对象 |
|
|
|
IPage<InspectionVo> inspectionVoPageData = new Page<>(); |
|
|
|
inspectionVoPageData.setPages(pageData.getPages()); |
|
|
|
inspectionVoPageData.setCurrent(pageData.getCurrent()); |
|
|
|
inspectionVoPageData.setSize(pageData.getSize()); |
|
|
|
inspectionVoPageData.setTotal(pageData.getTotal()); |
|
|
|
inspectionVoPageData.setRecords(inspectionVoList); |
|
|
|
|
|
|
|
return JsonResult.success(inspectionVoList); |
|
|
|
return JsonResult.success(inspectionVoPageData); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 检查参数 |
|
|
|
* |
|
|
|
* @param tenantId |
|
|
|
* @param queryInspectionRequest |
|
|
|
* @return |
|
|
@@ -162,6 +165,51 @@ public class QueryInspectionPageListService { |
|
|
|
return JsonResult.success(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 超级管理员可查全部的任务 |
|
|
|
* |
|
|
|
* @param request |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private IPage<Inspection> getAllList(QueryInspectionPageListRequest request) { |
|
|
|
// 设置分页参数 |
|
|
|
IPage<Inspection> page = new Page<>(request.getPage(), request.getLimit()); |
|
|
|
// 查询结果 |
|
|
|
IPage<Inspection> pageData = inspectionMapper.selectPageList(page, request); |
|
|
|
return pageData; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 管理员和普通用户可查本部门及子部门的任务 |
|
|
|
* 1)、如果前端检索条件,传了部门Id,则根据deptId来查 |
|
|
|
* 2)、如果前端检索条件,部门Id为空,则表示查本部门及子部门的任务 |
|
|
|
* |
|
|
|
* @param request |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private IPage<Inspection> getListByDept(QueryInspectionPageListRequest request) { |
|
|
|
// 获取本部门及子孙部门id列表 |
|
|
|
if (StringUtils.isEmpty(request.getDeptId())) { |
|
|
|
List<String> deptIdList = deptMapper.selectAllChildListById(request.getDeptId()); |
|
|
|
request.setDeptIdList(deptIdList); |
|
|
|
} |
|
|
|
|
|
|
|
// 设置分页参数 |
|
|
|
IPage<Inspection> page = new Page<>(request.getPage(), request.getLimit()); |
|
|
|
// 查询结果 |
|
|
|
IPage<Inspection> pageData = inspectionMapper.selectPageList(page, request); |
|
|
|
return pageData; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 1)、查找已确认问题数、发现问题数字段 |
|
|
|
* 2)、判断是否有操作权限:立即执行、直播、回放、问题详情、问题核实、重新提交 |
|
|
|
* |
|
|
|
* @param user |
|
|
|
* @param dept |
|
|
|
* @param inspectionList |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private List<InspectionVo> buildIspectionVoList(User user, Dept dept, List<Inspection> inspectionList) { |
|
|
|
List<InspectionVo> inspectionVoList = InspectionConverMapper.INSTANCE.fromInspectionListToInspectionVoList(inspectionList); |
|
|
|
for (InspectionVo inspectionVo : inspectionVoList) { |