From 1ad212f3bb062a711d6626ed94e7ae12e5cd8b9c Mon Sep 17 00:00:00 2001
From: z1415143022 <z1415143022@163.com>
Date: 星期五, 21 三月 2025 01:51:13 +0800
Subject: [PATCH] 工序能耗分析

---
 zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java |  118 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 90 insertions(+), 28 deletions(-)

diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
index 48091c1..c359f6a 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
@@ -11,6 +11,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+
 /**
  * @Description: 鏃堕棿宸ュ叿绫�
  * @author: yxw
@@ -639,6 +640,35 @@
     }
 
     /**
+     * 鏍规嵁鏃堕棿绫诲瀷鎶婂瓧绗︿覆杞垚瀵瑰簲鐨勬椂闂�
+     * timeType="HOUR",time="2025-02-01"锛岃繑鍥�"2025-02-01 01:00:00"
+     * timeType="DAY",time="2025-02"锛岃繑鍥�"2025-02-01 01:00:00"
+     * timeType="MONTH",time="2025"锛岃繑鍥�"2025-02-01 01:00:00"
+     *
+     * @param timeType 鏃堕棿绫诲瀷
+     * @param time     鏃堕棿瀛楃涓�
+     * @return
+     */
+    public static Date getTypeTime(String timeType, String time) {
+        Date dt = null;
+        timeType = StringUtil.ifEmptyOrNullReturnValue(timeType).toUpperCase();
+        switch (timeType) {
+            case TimeTypeConst.TIME_TYPE_HOUR:
+                dt = toDateTime(time, COMMON_PATTERN_TO_DAY);
+                break;
+            case TimeTypeConst.TIME_TYPE_DAY:
+                dt = toDateTime(time, COMMON_PATTERN_TO_MONTH);
+                break;
+            case TimeTypeConst.TIME_TYPE_MONTH:
+                dt = toDateTime(time, COMMON_PATTERN_YEAR);
+                break;
+            default:
+                break;
+        }
+        return dt;
+    }
+
+    /**
      * 鏍规嵁鏃堕棿绫诲瀷鎶婅繛缁殑鏃ユ湡瀛楃涓茶浆鎴愬搴旂殑鏃堕棿 锛�202303銆�20230303銆�2023030301銆�202303030101锛�
      *
      * @param timeType 鏃堕棿绫诲瀷
@@ -702,7 +732,7 @@
      * @param val 璁$畻鍊�
      * @return
      */
-    public static Date productionCycleCal(Date date, String cycleType,int val) {
+    public static Date productionCycleCal(Date date, String cycleType, int val) {
         Date momDate = date;
         switch (cycleType) {
             case TimeTypeConst.TIME_TYPE_HOUR:
@@ -742,42 +772,74 @@
         }
         return momDate;
     }
-   public static List<TypeTime> getDateTimeList(String timeType,Date dataTime){
-        List<TypeTime> resultlist = new ArrayList<>();
+
+    /**
+     * 閫氳繃鏃堕棿绫诲瀷杩斿洖瀵瑰簲鐨勬椂闂磍ist
+     * <p>
+     * 鍙傛暟锛�
+     * timeType="YEAR",dataTime="2025-01-01 00:00:00"
+     * timeType="MONTH",dataTime="2025-01-01 00:00:00"
+     * timeType="DAY",dataTime="2025-01-01 00:00:00"
+     * 杩斿洖鏍煎紡锛�
+     * [
+     * {"datatime":"2025-01-01 00:00:00","value":"value1"},
+     * {"datatime":"2025-02-01 00:00:00","value":"value2"},
+     * {"datatime":"2025-03-01 00:00:00","value":"value3"},
+     * {"datatime":"2025-04-01 00:00:00","value":"value4"},
+     * {"datatime":"2025-05-01 00:00:00","value":"value5"},
+     * {"datatime":"2025-06-01 00:00:00","value":"value6"},
+     * {"datatime":"2025-07-01 00:00:00","value":"value7"},
+     * {"datatime":"2025-08-01 00:00:00","value":"value8"},
+     * {"datatime":"2025-09-01 00:00:00","value":"value9"},
+     * {"datatime":"2025-10-01 00:00:00","value":"value10"},
+     * {"datatime":"2025-11-01 00:00:00","value":"value11"},
+     * {"datatime":"2025-12-01 00:00:00","value":"value12"}
+     * ]
+     *
+     * @param timeType
+     * @param dataTime
+     * @return
+     */
+    public static List<TypeTime> getDateTimeList(String timeType, Date dataTime) {
+
+        List<TypeTime> resultList = new ArrayList<>();
+
         Date beginTime = DateUtil.beginOfDay(dataTime);
-        switch (timeType){
-            case TimeTypeConst.TIME_TYPE_DAY:
-                for(int i = 0;i<24;i++){
+        switch (timeType) {
+            case TimeTypeConst.TIME_TYPE_HOUR:
+                for (int i = 1; i <= 24; i++) {
                     TypeTime typeTime = new TypeTime();
-                    typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN));
-                    typeTime.setDateTime(DateTimeUtil.toDateTime(typeTime.getDataTime()));
-                    typeTime.setTimeCode(CommonConst.WORD_H + DateUtil.format(beginTime,COMMON_PATTERN_HOUR));
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_H + DateUtil.format(beginTime, COMMON_PATTERN_HOUR));
+                    typeTime.setDateTime(beginTime);
                     typeTime.setValue("value" + i);
-                    resultlist.add(typeTime);
-                    beginTime = addHours(beginTime,1);
+                    resultList.add(typeTime);
+                    beginTime = addHours(beginTime, 1);
+                }
+                break;
+            case TimeTypeConst.TIME_TYPE_DAY:
+                for (int i = 1; i <= 31; i++) {
+                    TypeTime typeTime = new TypeTime();
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_D + DateUtil.format(beginTime, COMMON_PATTERN_DAY));
+                    typeTime.setDateTime(beginTime);
+                    typeTime.setValue("value" + i);
+                    resultList.add(typeTime);
+                    beginTime = addDays(beginTime, 1);
                 }
                 break;
             case TimeTypeConst.TIME_TYPE_MONTH:
-                for(int i = 0;i<31;i++){
+                for (int i = 1; i <= 12; i++) {
                     TypeTime typeTime = new TypeTime();
-                    typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN));
-                    typeTime.setTimeCode(CommonConst.WORD_D + DateUtil.format(beginTime,COMMON_PATTERN_DAY));
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_M + DateUtil.format(beginTime, COMMON_PATTERN_MONTH));
+                    typeTime.setDateTime(beginTime);
                     typeTime.setValue("value" + i);
-                    resultlist.add(typeTime);
-                    beginTime = addHours(beginTime,1);
-                }
-                break;
-            case TimeTypeConst.TIME_TYPE_YEAR:
-                for(int i = 0;i<12;i++){
-                    TypeTime typeTime = new TypeTime();
-                    typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN));
-                    typeTime.setTimeCode(CommonConst.WORD_M + DateUtil.format(beginTime,COMMON_PATTERN_MONTH));
-                    typeTime.setValue("value" + i);
-                    resultlist.add(typeTime);
-                    beginTime = addHours(beginTime,1);
+                    resultList.add(typeTime);
+                    beginTime = addMonths(beginTime, 1);
                 }
                 break;
         }
-        return resultlist;
-   }
+        return resultList;
+    }
 }

--
Gitblit v1.9.3