From a625e025f77e2c1fd9424b9da1444e5a75c522db Mon Sep 17 00:00:00 2001
From: lius <Lius2225@163.com>
Date: 星期四, 03 八月 2023 16:37:20 +0800
Subject: [PATCH] 设备利用率分段分析

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
index a99d97b..57dce4e 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
@@ -50,17 +50,17 @@
         List<String> equipmentIds = new ArrayList<>();
         if (StringUtils.isNotEmpty(mdcDeviceCalendarQueryVo.getParentId()) && StringUtils.isEmpty(mdcDeviceCalendarQueryVo.getEquipmentId())) {
             if ("2".equals(mdcDeviceCalendarQueryVo.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
+                // 閮ㄩ棬灞傜骇
                 equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcDeviceCalendarQueryVo.getParentId());
             } else {
-                //浜х嚎灞傜骇
+                // 浜х嚎灞傜骇
                 equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcDeviceCalendarQueryVo.getParentId());
             }
         } else if (StringUtils.isNotEmpty(mdcDeviceCalendarQueryVo.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
+            // 鍗曞彴璁惧淇℃伅
             mdcDeviceCalendarQueryVo.setEquipmentIdList(Collections.singletonList(mdcDeviceCalendarQueryVo.getEquipmentId()));
         } else {
-            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
             if ("2".equals(mdcDeviceCalendarQueryVo.getTypeTree())) {
                 //閮ㄩ棬灞傜骇
                 equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
@@ -71,6 +71,10 @@
         }
         if (mdcDeviceCalendarQueryVo.getEquipmentIdList() == null || mdcDeviceCalendarQueryVo.getEquipmentIdList().isEmpty()) {
             mdcDeviceCalendarQueryVo.setEquipmentIdList(equipmentIds);
+        }
+
+        if (mdcDeviceCalendarQueryVo.getEquipmentIdList() == null || mdcDeviceCalendarQueryVo.getEquipmentIdList().isEmpty()) {
+            return null;
         }
 
         return this.baseMapper.pageList(pageData, mdcDeviceCalendarQueryVo);
@@ -128,6 +132,40 @@
     }
 
     /**
+     * 鏌ヨ鐝埗鏁版嵁
+     *
+     * @param equipmentid
+     * @param stringDates
+     * @return
+     */
+    @Override
+    public List<MdcDeviceCalendarVo> listByEquipmentAndDate(String equipmentid, List<String> stringDates) {
+        List<MdcDeviceCalendarVo> result = new ArrayList<>();
+        try {
+            //鏌ヨ榛樿鐝埗
+            List<MdcDeviceCalendarVo> acquiesceShift = this.baseMapper.findAcquiesceShift();
+
+            for (String stringDate : stringDates) {
+                List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = this.baseMapper.listByEquipmentAndDate(equipmentid, stringDate);
+                if (mdcDeviceCalendarVos != null && !mdcDeviceCalendarVos.isEmpty()) {
+                    result.addAll(mdcDeviceCalendarVos);
+                } else {
+                    acquiesceShift.forEach(mdcDeviceCalendarVo -> {
+                        mdcDeviceCalendarVo.setEquipmentId(equipmentid);
+                        mdcDeviceCalendarVo.setEffectiveDate(stringDate);
+                    });
+                    // 璁剧疆榛樿鐝埗
+                    result.addAll(acquiesceShift);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return result;
+    }
+
+    /**
      * 鑾峰彇涓�娈垫椂闂磋寖鍥村唴绗﹀悎鏄熸湡鍑犵殑鏃ユ湡闆嗗悎
      *
      * @param startDate 寮�濮嬫椂闂�

--
Gitblit v1.9.3