ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -8,6 +8,7 @@ import com.ycl.system.Result; import com.ycl.system.domain.group.Add; import com.ycl.system.domain.group.Update; import com.ycl.utils.PageUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import jakarta.validation.constraints.NotEmpty; ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
@@ -2,6 +2,7 @@ import com.ycl.platform.domain.entity.Report; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.query.ReportQuery; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.form.ReportForm; import java.util.List; @@ -16,4 +17,5 @@ @Mapper public interface ReportMapper extends BaseMapper<Report> { List<ReportVO> page(ReportQuery query); } ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -1,11 +1,15 @@ package com.ycl.platform.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.platform.domain.entity.WorkOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.WorkOrderQuery; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.form.WorkOrderForm; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * 工单 Mapper 接口 @@ -16,4 +20,8 @@ @Mapper public interface WorkOrderMapper extends BaseMapper<WorkOrder> { void page(IPage page, @Param("query") WorkOrderQuery query); List<WorkOrderVO> distributePage(@Param("query") DistributeWorkOrderQuery query); } ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -116,48 +116,8 @@ */ @Override public Result page(ReportQuery query) { if (StringUtils.isNotBlank(query.getPointId())) { LambdaQueryWrapper<YwPoint> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(YwPoint::getPointName, query.getPointId()); query.setPointIdList(ywpointMapper.selectList(queryWrapper).stream().map(YwPoint::getId).collect(Collectors.toList())); if(CollectionUtils.isEmpty(query.getPointIdList())) { return Result.ok(); } } if (StringUtils.isNotBlank(query.getPeopleId())) { LambdaQueryWrapper<YwPeople> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(YwPeople::getYwPersonName, query.getPeopleId()); query.setPeopleIdList(peopleMapper.selectList(queryWrapper).stream().map(YwPeople::getId).collect(Collectors.toList())); if(CollectionUtils.isEmpty(query.getPeopleIdList())) { return Result.ok(); } } IPage<Report> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(StringUtils.isNotBlank(query.getReportType()), Report::getReportType, query.getReportType()) .le(Objects.nonNull(query.getBeginCreateTime()), Report::getBeginCreateTime, query.getBeginCreateTime()) .ge(Objects.nonNull(query.getEndCreateTime()), Report::getEndCreateTime, query.getEndCreateTime()) .in(!CollectionUtils.isEmpty(query.getPointIdList()), Report::getPointId, query.getPointIdList()) .in(!CollectionUtils.isEmpty(query.getPeopleIdList()), Report::getPeopleId, query.getPeopleIdList()) .orderByDesc(Report::getCreateTime) .page(PageUtil.getPage(query, Report.class)); List<ReportVO> vos = page.getRecords().stream() .map( entity -> { ReportVO vo = ReportVO.getVoByEntity(entity, null); YwUnit unit = unitMapper.selectById(vo.getUnitId()); vo.setUnitName(unit.getUnitName()); YwPeople ywPeople = peopleMapper.selectById(vo.getPeopleId()); vo.setPeopleName(ywPeople.getYwPersonName()); YwPoint ywPoint = ywpointMapper.selectById(vo.getPointId()); vo.setPointName(ywPoint.getPointName()); return vo; } ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); List<ReportVO> page = baseMapper.page(query); return Result.ok().data(page).total(page.size()); } /** ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -130,6 +130,7 @@ } // 工单状态 workOrder.setStatus(WorkOrderStatusEnum.YW_HANDLE); workOrder.setYwHandleTime(LocalDateTime.now()); baseMapper.updateById(workOrder); // 添加一条运维情况记录 WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord(); @@ -212,60 +213,15 @@ */ @Override public Result page(WorkOrderQuery query) { IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(StringUtils.hasText(query.getWorkOrderNo()), WorkOrder::getWorkOrderNo, query.getWorkOrderNo()) .eq(StringUtils.hasText(query.getStatus().getValue()), WorkOrder::getStatus, query.getStatus()) .eq(StringUtils.hasText(query.getErrorType()), WorkOrder::getErrorType, query.getErrorType()) .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()), WorkOrder::getYwHandleTime, DateUtils.getDayStart(query.getStart()), DateUtils.getDayEnd(query.getEnd())) .orderByDesc(WorkOrder::getCreateTime) .page(PageUtil.getPage(query, WorkOrder.class)); List<WorkOrderVO> vos = page.getRecords().stream() .map( entity -> { WorkOrderVO vo = WorkOrderVO.getVoByEntity(entity, null); YwUnit unit = ywUnitMapper.selectById(vo.getUnitId()); if (Objects.nonNull(unit)) { vo.setUnitName(unit.getUnitName()); } YwPeople ywPeople = ywPeopleMapper.selectById(vo.getYwPeopleId()); if (Objects.nonNull(ywPeople)) { vo.setYwPeopleName(ywPeople.getYwPersonName()); } return vo; } ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); baseMapper.page(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } @Override public Result distributePage(DistributeWorkOrderQuery query) { IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId()) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) .orderByDesc(WorkOrder::getCreateTime) .page(PageUtil.getPage(query, WorkOrder.class)); List<WorkOrderVO> vos = page.getRecords().stream() .map( entity -> { WorkOrderVO vo = WorkOrderVO.getVoByEntity(entity, null); YwUnit unit = ywUnitMapper.selectById(vo.getUnitId()); if (Objects.nonNull(unit)) { vo.setUnitName(unit.getUnitName()); } YwPeople ywPeople = ywPeopleMapper.selectById(vo.getYwPeopleId()); if (Objects.nonNull(ywPeople)) { vo.setYwPeopleName(ywPeople.getYwPersonName()); } return vo; } ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); List<WorkOrderVO> page = baseMapper.distributePage(query); return Result.ok().data(page).total(page.size()); } @Override ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -16,4 +16,29 @@ <result column="error_type" property="errorType" /> </resultMap> <select id="page" resultType="com.ycl.platform.domain.vo.ReportVO"> SELECT r.*, u.unit_name, p.yw_person_name as peopleName, pt.point_name FROM t_report r LEFT JOIN t_yw_unit u ON r.unit_id = u.id and u.deleted = '0' LEFT JOIN t_yw_people p ON r.people_id = p.id and p.deleted = '0' LEFT JOIN t_yw_point pt ON r.point_id = pt.id and pt.deleted = '0' where r.deleted = '0' <if test="reportType != null and reportType != ''"> AND r.report_type = #{reportType} </if> <if test="beginCreateTime != null"> AND r.create_time between #{beginCreateTime} and #{endCreateTime} </if> <if test="pointId != null and pointId != ''"> AND pt.point_name like concat('%', #{pointId}, '%') </if> <if test="peopleId != null and peopleId != ''"> AND p.yw_person_name like concat('%', #{peopleId}, '%') </if> ORDER BY r.create_time DESC </select> </mapper> ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -4,15 +4,59 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.WorkOrderVO"> <result column="id" property="id" /> <result column="create_time" property="createTime" /> <result column="work_order_no" property="workOrderNo" /> <result column="unit_id" property="unitId" /> <result column="yw_people_id" property="ywPeopleId" /> <result column="yw_handle_time" property="ywHandleTime" /> <result column="yw_result" property="ywResult" /> <result column="yw_condition" property="ywCondition" /> <result column="yw_check_result" property="ywCheckResult" /> <result column="id" property="id"/> <result column="create_time" property="createTime"/> <result column="work_order_no" property="workOrderNo"/> <result column="unit_id" property="unitId"/> <result column="yw_people_id" property="ywPeopleId"/> <result column="yw_handle_time" property="ywHandleTime"/> <result column="yw_result" property="ywResult"/> <result column="yw_condition" property="ywCondition"/> <result column="yw_check_result" property="ywCheckResult"/> </resultMap> <select id="page" resultType="com.ycl.platform.domain.vo.WorkOrderVO"> SELECT wo.*, u.unit_name, p.yw_person_name FROM t_work_order wo LEFT JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = '0' LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = '0' where wo.deleted = '0' <if test="query.workOrderNo != null and query.workOrderNo != ''"> AND wo.work_order_no = #{query.workOrderNo} </if> <if test="query.status != null"> AND wo.status = #{query.status} </if> <if test="query.errorType != null and query.errType != ''"> AND wo.error_type = #{query.errorType} </if> <if test="query.start != null"> AND wo.yw_handle_time BETWEEN #{query.start} AND #{query.end} </if> ORDER BY wo.create_time DESC </select> <select id="distributePage" resultType="com.ycl.platform.domain.vo.WorkOrderVO"> SELECT wo.*, u.unit_name, p.yw_person_name FROM t_work_order wo LEFT JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = '0' LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = '0' where wo.deleted = '0' and wo.status = 'WAIT_DISTRIBUTE' <if test="query.unitId != null"> AND wo.unit_id = #{query.unitId} </if> ORDER BY wo.create_time DESC </select> </mapper>