From 165541429aa52cb97b2cea18f7701bff2efed1f2 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 08 四月 2024 18:01:20 +0800
Subject: [PATCH] 运维单位

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java |   21 +++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java               |   13 ++--
 ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java          |    9 +++
 ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java    |   13 ++++
 ycl-server/src/main/java/com/ycl/platform/service/ReportService.java          |    7 ++
 ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java    |   14 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java               |   20 +++++-
 ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java |   47 +++++++++++++++
 8 files changed, 135 insertions(+), 9 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
index 44004e5..b4e0715 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.vo;
 
+import annotation.Excel;
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.Report;
 
@@ -25,30 +26,38 @@
 
     /** 杩愮淮鍗曚綅ID */
     private Integer unitId;
+    @Excel(name = "杩愮淮鍗曚綅")
     private String unitName;
 
     /** 杩愮淮浜哄憳ID */
     private Integer peopleId;
+    @Excel(name = "鎶ュ浜哄憳")
     private String peopleName;
 
     /** 鐐逛綅ID */
     private Integer pointId;
+    @Excel(name = "鐐逛綅")
     private String pointName;
 
     /** 鎶ュ绫诲瀷 */
+    @Excel(name = "鎶ュ绫诲瀷")
     private String reportType;
 
-    /** 瀹℃牳鏃堕棿 */
-    private LocalDateTime auditingTime;
-
     /** 鎶ュ鍐呭 */
+    @Excel(name = "鎶ュ鍐呭")
     private String reportContent;
 
     /** 涓婃姤鏉愭枡 */
+    @Excel(name = "涓婃姤鏉愭枡")
     private String reportMaterials;
 
     /** 鏁呴殰绫诲瀷 */
+    @Excel(name = "鏁呴殰绫诲瀷")
     private String errorType;
+
+    /** 瀹℃牳鏃堕棿 */
+    @Excel(name = "瀹℃牳鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditingTime;
 
     /**
      * 鐢熸晥鏃堕棿
@@ -60,6 +69,11 @@
      */
     private Date endCreateTime;
 
+    /**
+     * 瑁呭~
+     */
+    private Integer status;
+
     public static ReportVO getVoByEntity(@NonNull Report entity, ReportVO vo) {
         if(vo == null) {
             vo = new ReportVO();
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
index cb98621..1fb5c07 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.vo;
 
+import annotation.Excel;
 import com.ycl.platform.base.AbsVo;
 
 import com.ycl.platform.domain.entity.YwUnit;
@@ -18,22 +19,22 @@
 @Accessors(chain = true)
 public class YwUnitVO extends AbsVo {
 
-    /** 鍗曚綅缂栫爜 */
+    @Excel(name = "鍗曚綅缂栫爜")
     private String unitCode;
 
-    /** 鍗曚綅鍚嶇О */
+    @Excel(name = "鍗曚綅鍚嶇О")
     private String unitName;
 
-    /** 鍗曚綅鑱旂郴浜� */
+    @Excel(name = "鍗曚綅鑱旂郴浜�")
     private String unitContact;
 
-    /** 鍗曚綅鑱旂郴浜虹數璇� */
+    @Excel(name = "鍗曚綅鑱旂郴浜虹數璇�")
     private String unitContactPhone;
 
-    /** 鍗曚綅绠$悊鍛樿处鍙� */
+    @Excel(name = "鍗曚綅绠$悊鍛樿处鍙�")
     private String unitAdminAccount;
 
-    /** 澶囨敞 */
+    @Excel(name = "澶囨敞")
     private String remark;
 
     public static YwUnitVO getVoByEntity(@NonNull YwUnit entity, YwUnitVO vo) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
index 092da5c..f7a8489 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
@@ -1,7 +1,13 @@
 package com.ycl.platform.controller;
 
+import com.ycl.platform.domain.entity.Report;
+import com.ycl.platform.domain.entity.TMonitor;
+import com.ycl.platform.domain.vo.ReportVO;
+import com.ycl.platform.domain.vo.TMonitorVO;
 import com.ycl.system.domain.group.Update;
 import com.ycl.system.domain.group.Add;
+import com.ycl.utils.poi.ExcelUtil;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.validation.annotation.Validated;
 import lombok.RequiredArgsConstructor;
 import java.util.List;
@@ -72,4 +78,12 @@
     public Result list() {
         return reportService.all();
     }
+
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ReportQuery query)
+    {
+        List<ReportVO> list = reportService.export(query);
+        ExcelUtil<ReportVO> util = new ExcelUtil<>(ReportVO.class);
+        util.exportExcel(response, list, "杩愮淮鍗曚綅");
+    }
 }
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 8ca1397..7bda29c 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
@@ -1,11 +1,16 @@
 package com.ycl.platform.controller;
 
+import com.ycl.platform.domain.query.ReportQuery;
+import com.ycl.platform.domain.vo.ReportVO;
+import com.ycl.platform.domain.vo.YwUnitVO;
 import com.ycl.system.Result;
 import com.ycl.platform.domain.form.YwUnitForm;
 import com.ycl.system.domain.group.Update;
 import com.ycl.system.domain.group.Add;
 import com.ycl.platform.domain.query.YwUnitQuery;
 import com.ycl.platform.service.YwUnitService;
+import com.ycl.utils.poi.ExcelUtil;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import lombok.RequiredArgsConstructor;
@@ -73,4 +78,12 @@
     public Result list() {
         return ywUnitService.all();
     }
+
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, YwUnitQuery query)
+    {
+        List<YwUnitVO> list = ywUnitService.export(query);
+        ExcelUtil<YwUnitVO> util = new ExcelUtil<>(YwUnitVO.class);
+        util.exportExcel(response, list, "鎶ュ");
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
index c8690b1..bf4e0fc 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
@@ -2,6 +2,7 @@
 
 import com.ycl.platform.domain.entity.Report;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.platform.domain.vo.ReportVO;
 import com.ycl.system.Result;
 import com.ycl.platform.domain.form.ReportForm;
 import com.ycl.platform.domain.query.ReportQuery;
@@ -62,4 +63,10 @@
      * @return
      */
     Result all();
+
+    /**
+     * 瀵煎嚭
+     * @return
+     */
+    List<ReportVO> export(ReportQuery query);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
index 7e6d6c5..ebb3a0f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import com.ycl.platform.domain.query.ReportQuery;
+import com.ycl.platform.domain.vo.ReportVO;
+import com.ycl.platform.domain.vo.YwUnitVO;
 import com.ycl.system.Result;
 import com.ycl.platform.domain.entity.YwUnit;
 import com.ycl.platform.domain.form.YwUnitForm;
@@ -64,4 +67,10 @@
      * @return
      */
     Result all();
+
+    /**
+     * 瀵煎嚭
+     * @return
+     */
+    List<YwUnitVO> export(YwUnitQuery query);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
index 415104c..f863d3f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -187,4 +188,50 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    public List<ReportVO> export(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 new ArrayList<>();
+            }
+        }
+        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 new ArrayList<>();
+            }
+        }
+
+        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 vos;
+    }
+
 }
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 0e50ba3..8f9d143 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
@@ -158,4 +158,25 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    @Override
+    public List<YwUnitVO> export(YwUnitQuery query) {
+        // 鍒嗛〉鏉′欢鏌ヨ浣�
+        IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(StringUtils.hasText(query.getUnitCode()), YwUnit::getUnitCode, query.getUnitCode())
+                .like(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));
+
+        List<YwUnitVO> vos = page.getRecords().stream()
+                .map(
+                        entity -> YwUnitVO.getVoByEntity(entity, null)
+                )
+                .collect(Collectors.toList());
+        return vos;
+    }
 }

--
Gitblit v1.8.0