diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EpciuPatrolInspectionMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EpciuPatrolInspectionMapper.xml index 074f564d..dea5924a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EpciuPatrolInspectionMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EpciuPatrolInspectionMapper.xml @@ -32,7 +32,7 @@ left join blade_user u on u.id = n.INS_MAN n.is_deleted = 0 - + and n.TASK_STATUS = #{bsEpciuPatrolInspection.taskStatus} @@ -41,19 +41,19 @@ and n.INS_SITE like '%' || #{bsEpciuPatrolInspection.insSite} || '%' - + and n.INS_TYPE = #{bsEpciuPatrolInspection.insType} and n.INS_MAN like '%' || #{bsEpciuPatrolInspection.insMan} || '%' - + and n.INS_TYPE = #{bsEpciuPatrolInspection.insType} - + and n.LAUNCH_TIME BETWEEN to_date(#{bsEpciuPatrolInspection.startDate},'YYYY-MM-DD HH24:MI:SS') AND to_date(#{bsEpciuPatrolInspection.endDate},'YYYY-MM-DD HH24:MI:SS') - + and n.TEST_TIME BETWEEN to_date(#{bsEpciuPatrolInspection.startTestDate},'YYYY-MM-DD HH24:MI:SS') AND to_date(#{bsEpciuPatrolInspection.endTestDate},'YYYY-MM-DD HH24:MI:SS') diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEpciuPatrolInspectionServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEpciuPatrolInspectionServiceImpl.java index 9ec0a8d5..aa474b5f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEpciuPatrolInspectionServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEpciuPatrolInspectionServiceImpl.java @@ -124,7 +124,7 @@ public class BsEpciuPatrolInspectionServiceImpl extends BaseServiceImpl ipLiST = bsSafeInspectionPointService.list(); if (ipLiST.size() == 0) { @@ -107,13 +109,16 @@ public class BsSafePatrolInspectionServiceImpl extends BaseServiceImplupdate().lambda().set(BsSafePatrolInspectionEntity::getTaskStatus, BsSafePatrolInspectionEntity.NO_CHECK).eq(BsSafePatrolInspectionEntity::getTaskStatus, BsSafePatrolInspectionEntity.PREPARE_TEXT)); + baseMapper.update(Wrappers.update().lambda() + .set(BsSafePatrolInspectionEntity::getTaskStatus, BsSafePatrolInspectionEntity.NO_CHECK) + .eq(BsSafePatrolInspectionEntity::getTaskStatus, BsSafePatrolInspectionEntity.PREPARE_TEXT)); } @Override diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/DateTools.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/DateTools.java new file mode 100644 index 00000000..afbada77 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/DateTools.java @@ -0,0 +1,498 @@ +package org.springblade.desk.energy.util;/** + * @date : 2026/4/25 11:47 + */ + +import com.alibaba.fastjson.JSONObject; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * 文件名称 + * @module 归属项目 + * @author *** + * @date 2025/11/26 10:27 + */ +public class DateTools { + + + /** + * 查询今日是否是节假日 + * + * @return + */ + public static Boolean isHoliday() { + //IBsFactoryCalDataService bsFactoryCalDataService = (IBsFactoryCalDataService) SpringContextUtil.getBean("bsFactoryCalDataService"); + // + //Calendar c = Calendar.getInstance(); + //c.setTime(new Date()); + // + //int YY = c.get(Calendar.YEAR); + //int MM = c.get(Calendar.MONTH) + 1; + //int DD = c.get(Calendar.DATE); + // + //StringBuffer sb = new StringBuffer(); + //sb.append(YY); + //sb.append(MM < 10 ? "0" : "").append(MM); + //sb.append(DD < 10 ? "0" : "").append(DD); + //BsFactoryCalData bsFactoryCalData = bsFactoryCalDataService.getByYmd(Integer.valueOf(sb.toString())); + // + //return bsFactoryCalData == null ? false : bsFactoryCalData.getDayOff() == 1 ? true : false; + return false; + } + + /** + * 获取当前日期的往后day天的所有日期集合 + * + * @return + */ + public static List listNextDayDates(Integer day) { + + Calendar cal1 = Calendar.getInstance(); + Calendar cal2 = Calendar.getInstance(); + + cal1.setTime(new Date()); + cal2.setTime(new Date()); + + cal1.add(Calendar.DAY_OF_MONTH, 0); + cal2.add(Calendar.DAY_OF_MONTH, day); + + Calendar cStart = Calendar.getInstance(); + cStart.setTime(cal1.getTime()); + + List dateList = new ArrayList(); + //别忘了,把起始日期加上 + dateList.add(cal1.getTime()); + // 此日期是否在指定日期之后 + while (cal2.getTime().after(cStart.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + cStart.add(Calendar.DAY_OF_MONTH, 1); + dateList.add(cStart.getTime()); + } + return dateList; + } + + /** + * 获取当前时、天、月 例:时:Calendar.HOUR_OF_DAY + * + * @return + */ + public static Integer getDateTime(int cal) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + + int i = calendar.get(cal); + if (Calendar.MONTH == cal) { + i += 1; + } + return i; + } + + /** + * 获取传入日期时、天、月 例:时:Calendar.HOUR_OF_DAY + * + * @return + */ + public static Integer getDateTime(Date date, int cal) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + int i = calendar.get(cal); + if (Calendar.MONTH == cal) { + i += 1; + } + + return i; + } + + /** + * 补全数值类型 + * + * @return + */ + public static String repairVal(Integer val) { + String valStr = null; + if (val < 10) { + valStr = "0" + val; + } else { + valStr = "" + val; + } + return valStr; + } + + + /** + * 获取月多少天 + * + * @return + */ + public static Integer getMonthHowDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + } + + /** + * 获取月份最小日期时间 + * + * @param d + * @return + */ + public static final String getDateWithoutTime(Date d) { + if (d == null) { + return null; + } else { + Calendar c = Calendar.getInstance(); + c.setTime(d); + c.set(Calendar.DATE, 1); + c.set(11, 0); + c.set(12, 0); + c.set(13, 0); + c.set(14, 0); + return DateTime.date2String(c.getTime(), true, true); + } + } + + /** + * 获取月份最大日期时间 + * + * @param d + * @return + */ + public static final String getDateWithMaxTime(Date d) { + Calendar c = Calendar.getInstance(); + c.setTime(d); + c.set(Calendar.DATE, DateTools.getMonthHowDay(d)); + c.set(11, 23); + c.set(12, 59); + c.set(13, 59); + c.set(14, 999); + return DateTime.date2String(c.getTime(), true, true); + } + + /** + * 获取当年的第一天 + * + * @return + */ + public static final String getCurrYearFirst() { + Calendar currCal = Calendar.getInstance(); + int currentYear = currCal.get(Calendar.YEAR); + return getYearFirst(currentYear); + } + + /** + * 获取当年的最后一天 + * + * @return + */ + public static final String getCurrYearLast() { + Calendar currCal = Calendar.getInstance(); + int currentYear = currCal.get(Calendar.YEAR); + return getYearLast(currentYear); + } + + /** + * 获取某年第一天日期 + * + * @param year 年份 + * @return Date + */ + public static final String getYearFirst(int year) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR, year); + return DateTime.date2String(calendar.getTime(), true, true); + } + + /** + * 获取某年最后一天日期 + * + * @param year 年份 + * @return Date + */ + public static final String getYearLast(int year) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR, year); + calendar.roll(Calendar.DAY_OF_YEAR, -1); + return DateTime.date2String(calendar.getTime(), true, true); + } + + /** + * 获得本月的开始时间 + * + * @return + */ + public static String getMonthStartTimeStr(Date date) { + Calendar c = Calendar.getInstance(); + c.clear(); + c.setTime(date); + c.set(Calendar.DATE, 1); + return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()) + " 00:00:00"; + } + + /** + * 本月的结束时间 + * + * @return + */ + public static String getMonthEndTimeStr(Date date) { + Calendar c = Calendar.getInstance(); + c.clear(); + c.setTime(date); + c.set(Calendar.DATE, 1); + c.add(Calendar.MONTH, 1); + c.add(Calendar.DATE, -1); + return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()) + " 23:59:59"; + } + + /** + * 获取某年开始时间 + * + * @return Date + */ + public static final String getYearStartTimeStr(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.setTime(date); + return calendar.get(Calendar.YEAR) + "-01-01 00:00:00"; + } + + /** + * 获取某年结束时间 + * + * @return Date + */ + public static final String getYearEndTimeStr(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.setTime(date); + return calendar.get(Calendar.YEAR) + "-12-31 23:59:59"; + } + + /** + *

方法名: getTomorrow

+ *

方法描述: 获取当前日期后几天

+ * + * @param day + * @author lyj + * @date 2022-02-19 16:59 + */ + public static final String getTomorrow(int day) { + + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, day); + + return DateTime.date2String(calendar.getTime(), true, true); + } + + /** + *

方法名: getYesterday

+ *

方法描述: 获取当前日期前几天

+ * + * @param day + * @author lyj + * @date 2022-02-19 16:59 + */ + public static final String getYesterday(int day) { + + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, -day); + + return DateTime.date2String(calendar.getTime(), true, true); + } + + public static Date dateAdd(Date date, int x) { + //入参的格式 + // 24小时制 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + if (date == null) { + return null; + } + + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + // 24小时制 + cal.add(Calendar.DATE, x); + //得到结算后的结果 yyyy-MM-dd HH:mm + date = cal.getTime(); + return date; + } + + public static Date dateAdd(Date date, int field, int x) { + //入参的格式 + // 24小时制 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + if (date == null) { + return null; + } + + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(field, x); + //得到结算后的结果 yyyy-MM-dd HH:mm + date = cal.getTime(); + return date; + } + + + /** + *

Description: 计算间隔天数

+ * + * @param date + * @param remDays + * @return: int + * @Author qjh + * @Date: 2022-10-11 9:11 + */ + public static int cycleDay(Date date, Integer remDays) { + + int days = ((int) (System.currentTimeMillis() / 1000) - (int) (date.getTime() / 1000)) / (60 * 60 * 24); + if (remDays != null) { + days += remDays; + } + return days; + } + + /** + * 根据当前日期返回日期范围 + * + * @return + */ + public static JSONObject getQuantityDate() { + Calendar cal = Calendar.getInstance(); + + int YY = cal.get(Calendar.YEAR); + int MM = cal.get(Calendar.MONTH) + 1; + int DD = cal.get(Calendar.DATE); + JSONObject obj = new JSONObject(); + String str1 = ""; + String str2 = ""; + String str3 = ""; + String str4 = ""; + // 如果当前日期大于20,返回本月21号,下月20 + if (DD > 20) { + // 本月 + str1 = YY + "-" + MM + "-" + "21 00:00:00"; + if (MM == 12) { + str2 = (YY + 1) + "-" + 1 + "-" + "20 23:59:59"; + } else { + str2 = YY + "-" + (MM + 1) + "-" + "20 23:59:59"; + } + str3 = String.valueOf(MM); + str4 = String.valueOf(YY); + } else { + + str3 = String.valueOf(MM); + str4 = String.valueOf(YY); + // 返回上月21号,本月20 + if (MM == 1) { + str1 = (YY - 1) + "-" + 12 + "-" + "21 00:00:00"; + str4 = String.valueOf(YY - 1); + } else { + str1 = YY + "-" + (MM - 1) + "-" + "21 00:00:00"; + str3 = String.valueOf(MM - 1); + } + str2 = YY + "-" + MM + "-" + "20 23:59:59"; + } + obj.put("YY", str4 + "-1-1 00:00:00"); + obj.put("MM", str3); + obj.put("startTime", str1); + obj.put("endTime", str2); + return obj; + } + + /** + * 获取传入日期的年月 + * + * @return + */ + public static String getYearMonth(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int year = cal.get(Calendar.YEAR); + String month = cal.get(Calendar.MONTH) + 1 >= 10 ? String.valueOf(cal.get(Calendar.MONTH) + 1) : "0" + (cal.get(Calendar.MONTH) + 1); + return year + "-" + month; + } + + /** + * 根据当前日期获取上个月减去N天的日期 + * + * @return + */ + public static String getLastMonthData(Integer day) { + Calendar cal = Calendar.getInstance(); + + int YY = cal.get(Calendar.YEAR); + int MM = cal.get(Calendar.MONTH); + int DD = cal.get(Calendar.DATE); + String mm = MM < 10 ? "0" + MM : MM + ""; + String dd = DD < 10 ? "0" + DD : DD + ""; + + Integer monthHowDay = DateTools.getMonthHowDay(DateTime.parse(YY + "-" + mm + "-" + dd + " 00:00:00")); + DD = monthHowDay - day + 1; + System.out.println(YY + "-" + mm + "-" + DD + " 00:00:00"); + return YY + "-" + mm + "-" + DD + " 00:00:00"; + } + + /** + * 功能描述: 获取上一周的开始时间和结束时间 + */ + public static JSONObject getLastWeekStartOrEndDayOfWeek(Integer weekNum) { + + JSONObject obj = new JSONObject(); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, -7 * weekNum); // 获取上一周 + calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置为周一 + Date monday = calendar.getTime(); + + calendar.add(Calendar.DATE, 6); // 设置为周日 + Date sunday = calendar.getTime(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + obj.put("monday",sdf.format(monday)); + obj.put("sunday",sdf.format(sunday)); + return obj; + + } + //20240929 新建以下方法 获取25-25号的时间 + public static JSONObject getStartEndDate() { + Calendar cal = Calendar.getInstance(); + + int YY = cal.get(Calendar.YEAR); + int MM = cal.get(Calendar.MONTH) + 1; + int DD = cal.get(Calendar.DATE); + JSONObject obj = new JSONObject(); + String str1 = ""; + String str2 = ""; + // 如果当前日期大于25,返回本月25号,下月25 + if (DD > 25) { + // 本月 + str1 = YY + "-" + (MM > 9 ? MM : "0" + MM) + "-" + "25 00:00:00"; + if (MM == 12) { + str2 = (YY + 1) + "-" + "01" + "-" + "25 23:59:59"; + } else { + str2 = YY + "-" + ((MM + 1) > 9 ? (MM + 1) : "0" + (MM + 1)) + "-" + "25 23:59:59"; + } + } else { + // 返回上月25号,本月25 + if (MM == 1) { + str1 = (YY - 1) + "-" + 12 + "-" + "25 00:00:00"; + } else { + str1 = YY + "-" + ((MM - 1) > 9 ? MM - 1 : "0" + (MM - 1)) + "-" + "25 00:00:00"; + } + str2 = YY + "-" + (MM > 9 ? MM : "0" + MM) + "-" + "25 23:59:59"; + } + obj.put("startTime", str1); + obj.put("endTime", str2); + System.out.println(str1); + System.out.println(str2); + return obj; + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java index c14cdb40..43f89380 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java @@ -451,8 +451,8 @@ public class PdaLoadServiceImpl extends BaseServiceImpl piList = inspectionService.getByCode(code); - piList = piList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> - new TreeSet<>(Comparator.comparing(BsSafePatrolInspectionEntity::getIpId))), ArrayList::new)); + //piList = piList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> + // new TreeSet<>(Comparator.comparing(BsSafePatrolInspectionEntity::getIpId))), ArrayList::new)); if (null == piList || piList.size() == 0) { if (flag) { throw new RuntimeException("未查询到安全巡检任务,product.noPatrolCheckTask");