xiangpei
2024-03-05 9f1d2da92a3198be1e4925b3bafa1ba0b42a4b0f
工单优化
4个文件已修改
50 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -1,6 +1,8 @@
package com.ycl.platform.domain.query;
import com.ycl.platform.base.AbsQuery;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.lang.NonNull;
import jakarta.validation.constraints.NotBlank;
@@ -19,5 +21,21 @@
@Accessors(chain = true)
@ApiModel(value = "WorkOrder查询", description = "工单查询")
public class WorkOrderQuery extends AbsQuery {
    /**
     * 工单号
     */
    private String workOrderNo;
    /**
     * 运维处理时间
     */
    private LocalDateTime start;
    /**
     * 运维处理时间
     */
    private LocalDateTime end;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.platform.base.AbsVo;
import com.ycl.platform.domain.entity.WorkOrder;
@@ -27,11 +28,14 @@
    /** 运维单位 */
    private Integer unitId;
    private String unitName;
    /** 运维人员 */
    private Integer ywPeopleId;
    private String ywPeopleName;
    /** 运维处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime ywHandleTime;
    /** 运维结果 */
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -55,7 +55,7 @@
        return workOrderService.remove(ids);
    }
    @GetMapping("/page")
    @PostMapping("/page")
    @ApiOperation(value = "分页", notes = "分页")
    public Result page(WorkOrderQuery query) {
        return workOrderService.page(query);
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -1,7 +1,11 @@
package com.ycl.platform.service.impl;
import com.ycl.platform.domain.entity.WorkOrder;
import com.ycl.platform.domain.entity.YwPeople;
import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.mapper.WorkOrderMapper;
import com.ycl.platform.mapper.YwPeopleMapper;
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,7 +13,7 @@
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.query.WorkOrderQuery;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import org.springframework.stereotype.Service;
@@ -18,10 +22,12 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.util.StringUtils;
/**
 * 工单 服务实现类
@@ -34,6 +40,9 @@
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
    private final WorkOrderMapper workOrderMapper;
    private final YwUnitMapper ywUnitMapper;
    private final YwPeopleMapper ywPeopleMapper;
    /**
     * 添加
@@ -103,12 +112,25 @@
    public Result page(WorkOrderQuery query) {
        IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(StringUtils.hasText(query.getWorkOrderNo()), WorkOrder::getWorkOrderNo, query.getWorkOrderNo())
                .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),WorkOrder::getYwHandleTime, query.getStart(), query.getEnd())
                .orderByDesc(WorkOrder::getCreateTime)
                .page(PageUtil.getPage(query, WorkOrder.class));
        List<WorkOrderVO> vos = page.getRecords().stream()
                .map(
                        entity -> WorkOrderVO.getVoByEntity(entity, null)
                        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());