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