From 6221c8b5df5eb0ee62dce79048c9c3f0dc3d0fc1 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期六, 31 八月 2024 20:15:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java             |    4 ++
 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml                    |   25 +++++++++---
 ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java            |    5 ++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java               |    5 ++
 ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java          |   16 +++++--
 ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java    |    3 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |   30 +++++++++------
 ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java          |   12 ++++-
 ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java          |    2 
 9 files changed, 73 insertions(+), 29 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index b3ec46a..9b34985 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -67,6 +67,10 @@
     @TableField("important_command_image_tag")
     private Boolean importantCommandImageTag;
 
+    @ApiModelProperty("閮ㄧ骇鏍囩")
+    @TableField("dept_tag")
+    private Boolean deptTag;
+
     @TableField("serial_number")
     private String serialNumber;
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
index 0fac11f..be898c3 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
@@ -37,12 +37,12 @@
 
     @ColumnWidth(40)
     @DateTimeFormat("yyyy-MM-dd")
-    @ExcelProperty("杩愮淮寮�濮嬫椂闂�")
+    @ExcelProperty("杩愮淮寮�濮嬫椂闂�(瀵煎叆鐣岄潰鍙敼)")
     private Date startTime;
 
     @ColumnWidth(40)
     @DateTimeFormat("yyyy-MM-dd")
-    @ExcelProperty("杩愮淮缁撴潫鏃堕棿")
+    @ExcelProperty("杩愮淮缁撴潫鏃堕棿(瀵煎叆鐣岄潰鍙敼)")
     private Date endTime;
 
     @ExcelIgnore
@@ -51,6 +51,14 @@
     @ColumnWidth(20)
     @ExcelProperty("鏄惁鐪佸巺鏍囩(鍙慨鏀�)")
     private String provinceTagString;
+
+    @ColumnWidth(20)
+    @ExcelProperty("鏄惁閲嶇偣鎸囨尌鍥惧儚(鍙慨鏀�)")
+    private String importantCommandImageTagString;
+
+    @ColumnWidth(20)
+    @ExcelProperty("鏄惁閮ㄧ骇鏍囩(鍙慨鏀�)")
+    private String deptTag;
 
     @ExcelIgnore
     private Boolean importantTag;
@@ -61,7 +69,5 @@
     @ExcelIgnore
     private Boolean importantCommandImageTag;
 
-    @ColumnWidth(20)
-    @ExcelProperty("鏄惁閲嶇偣鎸囨尌鍥惧儚(鍙慨鏀�)")
-    private String importantCommandImageTagString;
+
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
index 7d02ee2..402e102 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -48,11 +48,16 @@
 
     /** 閲嶇偣鐐逛綅鏍囩 */
     private Boolean importantTag;
+
     /** 鐪佸巺鐐逛綅鏍囩 */
     private Boolean provinceTag;
+
     /** 閲嶇偣鎸囨尌鍥惧儚鏍囩 */
     private Boolean importantCommandImageTag;
 
+    /** 閮ㄧ骇鏍囩 */
+    private Boolean deptTag;
+
     public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) {
         if(vo == null) {
             vo = new YwPointVO();
diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
index ccfced7..c071bdb 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -183,19 +183,25 @@
 
     //杩斿洖鐪佸巺鍥芥爣鐮侀泦鍚�
     public List<String> getProvince() {
-        List<YwPoint> province = pointMapper.selectByTag(null, Boolean.TRUE, null);
+        List<YwPoint> province = pointMapper.selectByTag(null, Boolean.TRUE, null, null);
         return CollectionUtils.isEmpty(province) ? new ArrayList<>() : province.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
     }
 
     //杩斿洖閲嶇偣鐐逛綅闆嗗悎
     public List<String> getImportant() {
-        List<YwPoint> important = pointMapper.selectByTag(Boolean.TRUE, null, null);
+        List<YwPoint> important = pointMapper.selectByTag(Boolean.TRUE, null, null, null);
         return CollectionUtils.isEmpty(important) ? new ArrayList<>() : important.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
     }
 
     //杩斿洖閲嶇偣鎸囨尌鍥惧儚闆嗗悎
     public List<String> getCommandImage() {
-        List<YwPoint> commandImages = pointMapper.selectByTag(null, null, Boolean.TRUE);
+        List<YwPoint> commandImages = pointMapper.selectByTag(null, null, Boolean.TRUE, null);
+        return CollectionUtils.isEmpty(commandImages) ? new ArrayList<>() : commandImages.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
+    }
+
+    //杩斿洖閲嶇偣鎸囨尌鍥惧儚闆嗗悎
+    public List<String> getDeptTag() {
+        List<YwPoint> commandImages = pointMapper.selectByTag(null, null, null, Boolean.TRUE);
         return CollectionUtils.isEmpty(commandImages) ? new ArrayList<>() : commandImages.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
index 238f2f6..f3b4c57 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
@@ -123,6 +123,7 @@
     public Result importData(MultipartFile file,
                              Integer unitId,
                              String startTime,
+                             Boolean needUpdateUnit,
                              String endTime) throws IOException, ParseException {
         Date start = null;
         Date end = null;
@@ -137,7 +138,7 @@
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
             end = format.parse(endTime);
         }
-        return ywPointService.importData(file, unitId, start, end);
+        return ywPointService.importData(file, unitId, start, end, needUpdateUnit);
     }
 
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
index a0b9e9d..32860fa 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
@@ -40,7 +40,10 @@
     /**
      * 閫氳繃鏍囩鏌ラ噸鐐圭偣浣嶆垨鐪佸巺鐐逛綅鎴栭噸鐐规寚鎸ュ浘鍍�
      */
-    List<YwPoint> selectByTag(@Param("important")Boolean important, @Param("province")Boolean province, @Param("commandImage")Boolean commandImage);
+    List<YwPoint> selectByTag(@Param("important")Boolean important,
+                              @Param("province")Boolean province,
+                              @Param("commandImage")Boolean commandImage,
+                              @Param("deptTag") Boolean deptTag);
 
     /**
      * 瀵煎嚭鏁版嵁
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index 79d6f48..f0766ce 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -121,5 +121,5 @@
      * @param unitId 杩愮淮鍗曚綅id
      * @return
      */
-    Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime) throws IOException;
+    Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime, Boolean needUpdateUnit) throws IOException;
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 0cdb6d0..309b427 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -248,10 +248,10 @@
     }
 
     @Override
-    public Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime) throws IOException {
+    public Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime, Boolean needUpdateUnit) throws IOException {
         Consumer<List<PointExport>> consumer = (dataList) -> {
             try {
-                this.updatePoint(dataList, unitId, startTime, endTime);
+                this.updatePoint(dataList, unitId, startTime, endTime, needUpdateUnit);
             } catch (ExecutionException e) {
                 e.printStackTrace();
             } catch (InterruptedException e) {
@@ -269,7 +269,7 @@
      * @param unitId
      */
     @Transactional(rollbackFor = Exception.class)
-    public void updatePoint(List<PointExport> dataList, Integer unitId, Date startTime, Date endTime) throws ExecutionException, InterruptedException {
+    public void updatePoint(List<PointExport> dataList, Integer unitId, Date startTime, Date endTime, Boolean needUpdateUnit) throws ExecutionException, InterruptedException {
         if (CollectionUtils.isEmpty(dataList)) {
             throw new RuntimeException("瀵煎叆鏁版嵁涓嶈兘涓虹┖");
         }
@@ -277,11 +277,19 @@
             YwPoint point = new YwPoint();
             point.setImportantCommandImageTag("鏄�".equals(item.getImportantCommandImageTagString()));
             point.setProvinceTag("鏄�".equals(item.getProvinceTagString()));
-            if (Objects.nonNull(unitId)) {
-                point.setUnitId(Long.valueOf(unitId));
+            point.setDeptTag("鏄�".equals(item.getDeptTag()));
+            if (needUpdateUnit) {
+                if (Objects.nonNull(unitId)) {
+                    point.setUnitId(Long.valueOf(unitId));
+                }
+                point.setStartTime(startTime);
+                point.setEndTime(endTime);
+            } else {
+                point.setUnitId(null);
+                point.setStartTime(null);
+                point.setEndTime(null);
             }
-            point.setStartTime(startTime);
-            point.setEndTime(endTime);
+
             point.setPointName(item.getPointName());
             point.setSerialNumber(item.getSerialNumber());
             return point;
@@ -290,19 +298,17 @@
     }
 
     public void waitAllFinishAndGetResult(List<YwPoint> dataList) throws InterruptedException, ExecutionException {
-        List<FutureTask<Boolean>> resultList = new ArrayList<>(512);
-        List<Boolean> data = new ArrayList<>(512);
         int start = 0;
         Date startTime = new Date();
         while (true) {
-            if (dataList.size() < start + 100) {
+            if (dataList.size() < start + 800) {
                 List<YwPoint> list = dataList.subList(start, dataList.size() - 1);
                 this.baseMapper.updatePoint(list);
                 break;
             } else {
-                List<YwPoint> list = dataList.subList(start, start + 100);
+                List<YwPoint> list = dataList.subList(start, start + 800);
                 this.baseMapper.updatePoint(list);
-                start += 100;
+                start += 800;
             }
         }
         Date endTime = new Date();
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 3578040..3991a87 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -19,6 +19,7 @@
         <result column="province_tag" property="provinceTag"/>
         <result column="important_tag" property="importantTag"/>
         <result column="important_command_image_tag" property="importantCommandImageTag"/>
+        <result column="dept_tag" property="deptTag"/>
     </resultMap>
 
     <select id="selectData" resultType="com.ycl.platform.base.BaseSelect">
@@ -41,7 +42,8 @@
         typ.update_time,
         typ.important_tag,
         typ.province_tag,
-        typ.important_command_image_tag
+        typ.important_command_image_tag,
+        typ.dept_tag
         FROM
         t_yw_point typ
         LEFT JOIN t_yw_unit tyu ON typ.unit_id = tyu.id AND tyu.deleted = 0
@@ -78,6 +80,9 @@
             <if test="commandImage!=null and commandImage == true ">
                 and important_command_image_tag = #{commandImage}
             </if>
+            <if test="deptTag !=null and deptTag == true ">
+                and dept_tag = #{deptTag}
+            </if>
         </where>
     </select>
 
@@ -91,7 +96,8 @@
         yp.end_time,
         CASE WHEN yp.province_tag = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagString,
         CASE WHEN yp.important_tag = 0 THEN '鍚�' ELSE '鏄�' END AS importantTagString,
-        CASE WHEN yp.important_command_image_tag = 0 THEN '鍚�' ELSE '鏄�' END AS importantCommandImageTagString
+        CASE WHEN yp.important_command_image_tag = 0 THEN '鍚�' ELSE '鏄�' END AS importantCommandImageTagString,
+        CASE WHEN yp.dept_tag = 0 THEN '鍚�' ELSE '鏄�' END AS deptTag
         FROM
         t_yw_point yp
         INNER JOIN t_monitor m ON yp.serial_number = m.serial_number
@@ -115,11 +121,18 @@
             <if test="point.pointName != null and point.pointName != ''">
                 point_name = #{point.pointName},
             </if>
-            unit_id = #{point.unitId},
-            start_time = #{point.startTime},
-            end_time = #{point.endTime},
+            <if test="point.unitId != null">
+                unit_id = #{point.unitId},
+            </if>
+            <if test="point.startTime != null">
+                start_time = #{point.startTime},
+            </if>
+            <if test="point.endTime != null">
+                end_time = #{point.endTime},
+            </if>
             province_tag = #{point.provinceTag},
-            important_command_image_tag = #{point.importantCommandImageTag}
+            important_command_image_tag = #{point.importantCommandImageTag},
+            dept_tag = #{point.deptTag}
             WHERE serial_number = #{point.serialNumber}
         </foreach>
     </update>

--
Gitblit v1.8.0