Bläddra i källkod

Merge remote-tracking branch 'origin/master'

wanglt 3 månader sedan
förälder
incheckning
3ba9823075

+ 34 - 8
ygtx-gxt/src/main/java/com/ygtx/gxt/task/OrderScoreAutoArchiveTask.java

@@ -14,6 +14,7 @@ import com.ygtx.gxt.service.IGxtRepairOrderService;
 import com.ygtx.gxt.service.IGxtWorkOrderFlowService;
 import com.ygtx.gxt.service.IGxtWorkOrderService;
 import com.ygtx.system.mapper.SysUserMapper;
+import com.ygtx.system.service.ISysConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,6 +61,9 @@ public class OrderScoreAutoArchiveTask {
 
     @Autowired
     private SysPermissionService permissionService;
+
+    @Autowired
+    private ISysConfigService configService;
     
 
 
@@ -140,7 +144,7 @@ public class OrderScoreAutoArchiveTask {
 
     /**
      * 判断维修工单是否满足工分自动归档条件
-     * 条件:自评状态时间已超过3
+     * 条件:自评状态时间已超过配置的天数,默认1
      *
      * @param order 维修工单
      * @return 是否满足工分自动归档条件
@@ -163,16 +167,27 @@ public class OrderScoreAutoArchiveTask {
             return false;
         }
 
-        // 检查自评时间是否已过去3天
+        // 从配置中获取自评状态超时天数,如果配置为空则默认1天
+        String daysStr = configService.selectConfigByKey("gxt.orderScore.autoArchiveDays");
+        int archiveDays = 1; // 默认1天
+        if (daysStr != null && !daysStr.trim().isEmpty()) {
+            try {
+                archiveDays = Integer.parseInt(daysStr.trim());
+            } catch (NumberFormatException e) {
+                log.warn("配置的自动归档天数不是有效数字,使用默认值1天: {}", daysStr);
+            }
+        }
+
+        // 检查自评时间是否已超过配置的天数
         Date now = DateUtils.getNowDate();
-        Date threeDaysAfterSelfRating = DateUtils.addDays(completeTime, 3);
+        Date archiveTimeThreshold = DateUtils.addDays(completeTime, archiveDays);
 
-        return now.after(threeDaysAfterSelfRating);
+        return now.after(archiveTimeThreshold);
     }
 
     /**
      * 判断维保工单是否满足工分自动归档条件
-     * 条件:自评状态时间已超过3天
+     * 条件:自评状态时间已超过配置的天数,默认1
      *
      * @param order 维保工单
      * @return 是否满足工分自动归档条件
@@ -195,11 +210,22 @@ public class OrderScoreAutoArchiveTask {
             return false;
         }
 
-        // 检查自评时间是否已过去3天
+        // 从配置中获取自评状态超时天数,如果配置为空则默认1天
+        String daysStr = configService.selectConfigByKey("gxt.orderScore.autoArchiveDays");
+        int archiveDays = 1; // 默认1天
+        if (daysStr != null && !daysStr.trim().isEmpty()) {
+            try {
+                archiveDays = Integer.parseInt(daysStr.trim());
+            } catch (NumberFormatException e) {
+                log.warn("配置的自动归档天数不是有效数字,使用默认值1天: {}", daysStr);
+            }
+        }
+
+        // 检查自评时间是否已超过配置的天数
         Date now = DateUtils.getNowDate();
-        Date threeDaysAfterSelfRating = DateUtils.addDays(completeTime, 3);
+        Date archiveTimeThreshold = DateUtils.addDays(completeTime, archiveDays);
 
-        return now.after(threeDaysAfterSelfRating);
+        return now.after(archiveTimeThreshold);
     }
 
     /**

+ 34 - 8
ygtx-gxt/src/main/java/com/ygtx/gxt/task/OrderScoreAutoReviewTask.java

@@ -11,6 +11,7 @@ import com.ygtx.gxt.service.IGxtRepairOrderService;
 import com.ygtx.gxt.service.IGxtWorkOrderFlowService;
 import com.ygtx.gxt.service.IGxtWorkOrderService;
 import com.ygtx.system.mapper.SysUserMapper;
+import com.ygtx.system.service.ISysConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,6 +61,9 @@ public class OrderScoreAutoReviewTask {
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private ISysConfigService configService;
+
     /**
      * 每小时执行定时任务
      * 查找自评超过24小时但未复评的维修工单和维保工单,并进行自动复评
@@ -138,7 +142,7 @@ public class OrderScoreAutoReviewTask {
 
     /**
      * 判断维修工单是否满足自动复评条件
-     * 条件:自评时间已超过24小时
+     * 条件:自评时间已超过配置的小时数,默认24小时
      *
      * @param order 维修工单
      * @return 是否满足自动复评条件
@@ -161,16 +165,27 @@ public class OrderScoreAutoReviewTask {
             return false;
         }
 
-        // 检查自评时间是否已过去24小时
+        // 从配置中获取自评超时小时数,如果配置为空则默认24小时
+        String hoursStr = configService.selectConfigByKey("gxt.orderScore.autoReviewHours");
+        int reviewHours = 24; // 默认24小时
+        if (hoursStr != null && !hoursStr.trim().isEmpty()) {
+            try {
+                reviewHours = Integer.parseInt(hoursStr.trim());
+            } catch (NumberFormatException e) {
+                log.warn("配置的自动复评小时数不是有效数字,使用默认值24小时: {}", hoursStr);
+            }
+        }
+
+        // 检查自评时间是否已超过配置的小时数
         Date now = DateUtils.getNowDate();
-        Date twentyFourHoursAfterSelfRating = DateUtils.addHours(selfRatingTime, 24);
+        Date reviewTimeThreshold = DateUtils.addHours(selfRatingTime, reviewHours);
 
-        return now.after(twentyFourHoursAfterSelfRating);
+        return now.after(reviewTimeThreshold);
     }
 
     /**
      * 判断维保工单是否满足自动复评条件
-     * 条件:自评时间已超过24小时
+     * 条件:自评时间已超过配置的小时数,默认24小时
      *
      * @param order 维保工单
      * @return 是否满足自动复评条件
@@ -193,11 +208,22 @@ public class OrderScoreAutoReviewTask {
             return false;
         }
 
-        // 检查自评时间是否已过去24小时
+        // 从配置中获取自评超时小时数,如果配置为空则默认24小时
+        String hoursStr = configService.selectConfigByKey("gxt.orderScore.autoReviewHours");
+        int reviewHours = 24; // 默认24小时
+        if (hoursStr != null && !hoursStr.trim().isEmpty()) {
+            try {
+                reviewHours = Integer.parseInt(hoursStr.trim());
+            } catch (NumberFormatException e) {
+                log.warn("配置的自动复评小时数不是有效数字,使用默认值24小时: {}", hoursStr);
+            }
+        }
+
+        // 检查自评时间是否已超过配置的小时数
         Date now = DateUtils.getNowDate();
-        Date twentyFourHoursAfterSelfRating = DateUtils.addHours(selfRatingTime, 24);
+        Date reviewTimeThreshold = DateUtils.addHours(selfRatingTime, reviewHours);
 
-        return now.after(twentyFourHoursAfterSelfRating);
+        return now.after(reviewTimeThreshold);
     }
 
     /**