From 9f1d2da92a3198be1e4925b3bafa1ba0b42a4b0f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 05 三月 2024 20:23:50 +0800
Subject: [PATCH] 工单优化

---
 ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java    |    2 +-
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java               |    4 ++++
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   26 ++++++++++++++++++++++++--
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java         |   18 ++++++++++++++++++
 4 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index 13d3d68..40c51f6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/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;
+
 }
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
index 0c3f2a5..83fc829 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
+++ b/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;
 
     /** 杩愮淮缁撴灉 */
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 4c57917..01abe9f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/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);
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index b0ef736..26b738e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/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());

--
Gitblit v1.8.0