parent
6c59fa9845
commit
0c1d417c2f
74 changed files with 1758 additions and 239 deletions
@ -0,0 +1,82 @@ |
||||
package org.springblade.desk.dashboard.constant; |
||||
|
||||
/** |
||||
* @author: liweidong |
||||
* @create: 2025-11-13 |
||||
*/ |
||||
public interface BatchConstant { |
||||
/** 槽液类型*/ |
||||
/** |
||||
* 计划类 |
||||
*/ |
||||
Integer PLAN = 1; |
||||
/** |
||||
* 累计类 |
||||
*/ |
||||
Integer ACCUMULATE = 2; |
||||
/** |
||||
* 定期类-槽液 |
||||
*/ |
||||
Integer REGULAR_BATH = 3; |
||||
/** |
||||
* 定期类-设备 |
||||
*/ |
||||
Integer REGULAR_DEVICE = 4; |
||||
|
||||
|
||||
|
||||
/** 槽液检查任务状态*/ |
||||
/** |
||||
* 待维护 |
||||
*/ |
||||
Integer TO_BE_MAINTAINED = 1; |
||||
|
||||
/** |
||||
* 待审核 |
||||
*/ |
||||
Integer PENDING_REVIEW = 2; |
||||
|
||||
/** |
||||
* 审核通过 |
||||
*/ |
||||
Integer AUDIT_PASS = 3; |
||||
|
||||
/** |
||||
* 审核不通过 |
||||
*/ |
||||
Integer AUDIT_NO_PASS = 4; |
||||
|
||||
/** |
||||
* 过期未维护 |
||||
*/ |
||||
Integer PAST_UNTOUCHED = 5; |
||||
|
||||
|
||||
|
||||
/** 槽液审批状态*/ |
||||
/** |
||||
* 待审核 |
||||
*/ |
||||
Integer STATUS_NEW = 1; |
||||
/** |
||||
* 主任审核通过 |
||||
*/ |
||||
Integer DIRECTOR_STATUS_RECEIPT = 2; |
||||
|
||||
/** |
||||
* 厂长审核通过 |
||||
*/ |
||||
Integer FACTORY_STATUS_RECEIPT = 3; |
||||
|
||||
/** |
||||
* 主任审核未通过 |
||||
*/ |
||||
Integer DIRECTOR_STATUS_ASSIGN = 4 ; |
||||
|
||||
/** |
||||
* 厂长审核未通过 |
||||
*/ |
||||
Integer FACTORY_STATUS_ASSIGN = 5 ; |
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,266 @@ |
||||
package org.springblade.desk.dashboard.utils; |
||||
|
||||
import org.apache.commons.lang3.time.DateFormatUtils; |
||||
|
||||
import java.lang.management.ManagementFactory; |
||||
import java.text.ParseException; |
||||
import java.text.SimpleDateFormat; |
||||
import java.time.*; |
||||
import java.util.Calendar; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* 时间工具类 |
||||
* |
||||
* @author ruoyi |
||||
*/ |
||||
public class DateUtils extends org.apache.commons.lang3.time.DateUtils |
||||
{ |
||||
public static String YYYY = "yyyy"; |
||||
|
||||
public static String YYYY_MM = "yyyy-MM"; |
||||
|
||||
public static String YYYY_MM_DD = "yyyy-MM-dd"; |
||||
|
||||
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; |
||||
|
||||
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; |
||||
|
||||
private static String[] parsePatterns = { |
||||
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", |
||||
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", |
||||
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; |
||||
|
||||
/** |
||||
* 获取当前Date型日期 |
||||
* |
||||
* @return Date() 当前日期 |
||||
*/ |
||||
public static Date getNowDate() |
||||
{ |
||||
return new Date(); |
||||
} |
||||
|
||||
/** |
||||
* 获取当前日期, 默认格式为yyyy-MM-dd |
||||
* |
||||
* @return String |
||||
*/ |
||||
public static String getDate() |
||||
{ |
||||
return dateTimeNow(YYYY_MM_DD); |
||||
} |
||||
|
||||
public static final String getTime() |
||||
{ |
||||
return dateTimeNow(YYYY_MM_DD_HH_MM_SS); |
||||
} |
||||
|
||||
public static final String dateTimeNow() |
||||
{ |
||||
return dateTimeNow(YYYYMMDDHHMMSS); |
||||
} |
||||
|
||||
public static final String dateTimeNow(final String format) |
||||
{ |
||||
return parseDateToStr(format, new Date()); |
||||
} |
||||
|
||||
public static final String dateTime(final Date date) |
||||
{ |
||||
return parseDateToStr(YYYY_MM_DD, date); |
||||
} |
||||
|
||||
public static final String parseDateToStr(final String format, final Date date) |
||||
{ |
||||
return new SimpleDateFormat(format).format(date); |
||||
} |
||||
|
||||
public static final Date dateTime(final String format, final String ts) |
||||
{ |
||||
try |
||||
{ |
||||
return new SimpleDateFormat(format).parse(ts); |
||||
} |
||||
catch (ParseException e) |
||||
{ |
||||
throw new RuntimeException(e); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 日期路径 即年/月/日 如2018/08/08 |
||||
*/ |
||||
public static final String datePath() |
||||
{ |
||||
Date now = new Date(); |
||||
return DateFormatUtils.format(now, "yyyy/MM/dd"); |
||||
} |
||||
|
||||
/** |
||||
* 日期路径 即年/月/日 如20180808 |
||||
*/ |
||||
public static final String dateTime() |
||||
{ |
||||
Date now = new Date(); |
||||
return DateFormatUtils.format(now, "yyyyMMdd"); |
||||
} |
||||
|
||||
/** |
||||
* 日期型字符串转化为日期 格式 |
||||
*/ |
||||
public static Date parseDate(Object str) |
||||
{ |
||||
if (str == null) |
||||
{ |
||||
return null; |
||||
} |
||||
try |
||||
{ |
||||
return parseDate(str.toString(), parsePatterns); |
||||
} |
||||
catch (ParseException e) |
||||
{ |
||||
return null; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 获取服务器启动时间 |
||||
*/ |
||||
public static Date getServerStartDate() |
||||
{ |
||||
long time = ManagementFactory.getRuntimeMXBean().getStartTime(); |
||||
return new Date(time); |
||||
} |
||||
|
||||
/** |
||||
* 计算相差天数 |
||||
*/ |
||||
public static int differentDaysByMillisecond(Date date1, Date date2) |
||||
{ |
||||
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); |
||||
} |
||||
|
||||
/** |
||||
* 计算相差天数 分钟 |
||||
*/ |
||||
public static int differentDaysByMin(Date date1, Date date2) |
||||
{ |
||||
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 60 ))); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 计算时间差 |
||||
* |
||||
* @param endDate 最后时间 |
||||
* @param startTime 开始时间 |
||||
* @return 时间差(天/小时/分钟) |
||||
*/ |
||||
public static String timeDistance(Date endDate, Date startTime) |
||||
{ |
||||
long nd = 1000 * 24 * 60 * 60; |
||||
long nh = 1000 * 60 * 60; |
||||
long nm = 1000 * 60; |
||||
// long ns = 1000;
|
||||
// 获得两个时间的毫秒时间差异
|
||||
long diff = endDate.getTime() - startTime.getTime(); |
||||
// 计算差多少天
|
||||
long day = diff / nd; |
||||
// 计算差多少小时
|
||||
long hour = diff % nd / nh; |
||||
// 计算差多少分钟
|
||||
long min = diff % nd % nh / nm; |
||||
// 计算差多少秒//输出结果
|
||||
// long sec = diff % nd % nh % nm / ns;
|
||||
return day + "天" + hour + "小时" + min + "分钟"; |
||||
} |
||||
|
||||
/** |
||||
* 增加 LocalDateTime ==> Date |
||||
*/ |
||||
public static Date toDate(LocalDateTime temporalAccessor) |
||||
{ |
||||
ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); |
||||
return Date.from(zdt.toInstant()); |
||||
} |
||||
|
||||
/** |
||||
* 增加 LocalDate ==> Date |
||||
*/ |
||||
public static Date toDate(LocalDate temporalAccessor) |
||||
{ |
||||
LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); |
||||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); |
||||
return Date.from(zdt.toInstant()); |
||||
} |
||||
|
||||
/** |
||||
* 当前时刻在两个时间之间 |
||||
* |
||||
* @param beginDate 开始时间 2018-05-10 00:00:00 |
||||
* @param endDate 结束时间 2019-05-10 00:00:00 |
||||
* @return 是否在这两个时间之内 |
||||
*/ |
||||
public static boolean nowIsBetween(Date beginDate, Date endDate) { |
||||
if (beginDate == null || endDate == null) { |
||||
return false; |
||||
} |
||||
|
||||
LocalDateTime begin = beginDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); |
||||
LocalDateTime end = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); |
||||
|
||||
LocalDateTime now = LocalDateTime.now(); |
||||
if (begin.isBefore(now) && end.isAfter(now)) { |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
public static Date getStartTime(Date date) { |
||||
if(date == null){ |
||||
return null; |
||||
} |
||||
Calendar c = Calendar.getInstance(); |
||||
c.setTime(date); |
||||
c.set(Calendar.HOUR_OF_DAY, 0); |
||||
c.set(Calendar.MINUTE, 0); |
||||
c.set(Calendar.SECOND, 0); |
||||
c.set(Calendar.MILLISECOND, 0); |
||||
return c.getTime(); |
||||
} |
||||
|
||||
/** |
||||
* 获取时间的最后一刻 |
||||
* |
||||
* @param date 时间 |
||||
* @return 时间的最后一刻 |
||||
*/ |
||||
public static Date getEndTime(Date date) { |
||||
if(date == null){ |
||||
return null; |
||||
} |
||||
Calendar c = Calendar.getInstance(); |
||||
c.setTime(date); |
||||
c.set(Calendar.HOUR_OF_DAY, 23); |
||||
c.set(Calendar.MINUTE, 59); |
||||
c.set(Calendar.SECOND, 59); |
||||
return c.getTime(); |
||||
} |
||||
|
||||
//比较两个时间 取其大
|
||||
public static Date compareDates(Date date1, Date date2) { |
||||
if (date1.before(date2)) { |
||||
// date1在date2之前
|
||||
return date2; |
||||
} else if (date1.after(date2)) { |
||||
// date1在date2之后
|
||||
return date1; |
||||
} else { |
||||
// date1和date2相等
|
||||
return date1; |
||||
} |
||||
} |
||||
|
||||
} |
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue