From ff05c270d5490d9cc32ac7f1e01703417f292730 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 05 三月 2024 14:10:09 +0800
Subject: [PATCH] 运维单位优化

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                    |    4 -
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java |   12 +++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwUnitQuery.java         |   27 +++++++++++++
 ycl-server/src/main/java/com/ycl/utils/DateUtils.java                         |   42 +++++++++++++++++++--
 ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java    |    4 +-
 ycl-pojo/src/main/java/com/ycl/platform/base/AbsVo.java                       |    4 +-
 6 files changed, 81 insertions(+), 12 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/base/AbsVo.java b/ycl-pojo/src/main/java/com/ycl/platform/base/AbsVo.java
index 5c2eca0..dada523 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/base/AbsVo.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/base/AbsVo.java
@@ -17,9 +17,9 @@
     private Integer id;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date gmtCreate;
+    private Date createTime;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date gmtUpdate;
+    private Date updateTime;
 
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwUnitQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwUnitQuery.java
index a7c1a7c..ea8edad 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwUnitQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwUnitQuery.java
@@ -1,9 +1,13 @@
 package com.ycl.platform.domain.query;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsQuery;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * 杩愮淮鍗曚綅鏌ヨ
@@ -15,5 +19,28 @@
 @Accessors(chain = true)
 @ApiModel(value = "YwUnit鏌ヨ", description = "杩愮淮鍗曚綅鏌ヨ")
 public class YwUnitQuery extends AbsQuery {
+
+    /**
+     * 鍗曚綅缂栫爜
+     */
+    private String unitCode;
+
+    /**
+     * 鍗曚綅鍚嶇О
+     */
+    private String unitName;
+
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date start;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date end;
+
 }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
index 6335506..951773b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
@@ -56,9 +56,9 @@
     }
 
     @PreAuthorize("@ss.hasPermi('unit:list')")
-    @GetMapping("/page")
+    @PostMapping("/page")
     @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
-    public Result page(YwUnitQuery query) {
+    public Result page(@RequestBody YwUnitQuery query) {
         return ywUnitService.page(query);
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index 0864f1c..aa78591 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -12,12 +12,16 @@
 import com.ycl.system.page.PageUtil;
 import com.ycl.platform.service.YwUnitService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ycl.utils.DateUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.BeanUtils;
 import org.springframework.util.Assert;
+
+import java.util.Objects;
 import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.RequiredArgsConstructor;
+import org.springframework.util.StringUtils;
 
 /**
  * 杩愮淮鍗曚綅 鏈嶅姟瀹炵幇绫�
@@ -98,8 +102,14 @@
      */
     @Override
     public Result page(YwUnitQuery query) {
-
+        // 鍒嗛〉鏉′欢鏌ヨ浣�
         IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(StringUtils.hasText(query.getUnitCode()), YwUnit::getUnitCode, query.getUnitCode())
+                .eq(StringUtils.hasText(query.getUnitName()), YwUnit::getUnitName, query.getUnitName())
+                .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),
+                        YwUnit::getCreateTime,
+                        DateUtils.getDayStart(query.getStart()),
+                        DateUtils.getDayEnd(query.getEnd()))
                 .orderByDesc(YwUnit::getCreateTime)
                 .page(PageUtil.getPage(query, YwUnit.class));
 
diff --git a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
index 8c4baf0..4ab7585 100644
--- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -2,15 +2,18 @@
 
 import org.apache.commons.lang3.time.DateFormatUtils;
 
+import javax.annotation.Nullable;
 import java.lang.management.ManagementFactory;
+import java.sql.Timestamp;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.*;
 import java.util.Date;
+import java.util.Objects;
 
 /**
  * 鏃堕棿宸ュ叿绫�
- * 
+ *
  * @author ruoyi
  */
 public class DateUtils extends org.apache.commons.lang3.time.DateUtils
@@ -26,13 +29,13 @@
     public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
 
     private static String[] parsePatterns = {
-            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 
+            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
             "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
             "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
 
     /**
      * 鑾峰彇褰撳墠Date鍨嬫棩鏈�
-     * 
+     *
      * @return Date() 褰撳墠鏃ユ湡
      */
     public static Date getNowDate()
@@ -42,7 +45,7 @@
 
     /**
      * 鑾峰彇褰撳墠鏃ユ湡, 榛樿鏍煎紡涓簓yyy-MM-dd
-     * 
+     *
      * @return String
      */
     public static String getDate()
@@ -185,4 +188,35 @@
         ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
         return Date.from(zdt.toInstant());
     }
+
+
+    /**
+     * 鑾峰彇鏌愬ぉ鐨勫紑濮嬫椂闂�
+     *
+     * @param date
+     * @return 2023-01-01 00:00:00
+     */
+    public static Date getDayStart(@Nullable Date date) {
+        if (Objects.isNull(date)) {
+            date = new Date();
+        }
+        LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("GMT+8"));
+        LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 0, 0, 0);
+        return Timestamp.valueOf(of);
+    }
+
+    /**
+     * 鑾峰彇鏌愬ぉ鐨勭粨鏉熸椂闂�
+     *
+     * @param date
+     * @return 2023-01-01 23:59:59
+     */
+    public static Date getDayEnd(@Nullable Date date) {
+        if (Objects.isNull(date)) {
+            date = new Date();
+        }
+        LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
+        LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 23, 59, 59);
+        return Timestamp.valueOf(of);
+    }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 6af2bf0..5c7434a 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ycl.platform.mapper.YwUnitMapper">
 
-    <resultMap type="YwUnit" id="YwUnitResult">
+    <resultMap type="YwUnitVo" id="YwUnitResult">
         <result property="id"    column="id"    />
         <result property="unitCode"    column="unit_code"    />
         <result property="unitName"    column="unit_name"    />
@@ -13,8 +13,6 @@
         <result property="unitAdminAccount"    column="unit_admin_account"    />
         <result property="remark"    column="remark"    />
         <result property="createTime"    column="create_time"    />
-        <result property="updateTime"    column="update_time"    />
-        <result property="deleted"    column="deleted"    />
     </resultMap>
 
     <sql id="selectYwUnitVo">

--
Gitblit v1.8.0