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");