|
@@ -15,15 +15,14 @@ import com.rongwei.safecommon.utils.ExportExcelByEasyExcel;
|
|
|
import com.rongwei.safecommon.utils.JSCommonUtils;
|
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
|
import com.rongwei.sfcommon.sys.dao.SaveCheckCommonDao;
|
|
|
+import com.rongwei.sfcommon.sys.service.ScheduledTasksService;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.time.DayOfWeek;
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.time.LocalTime;
|
|
|
+import java.time.*;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -77,14 +76,6 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
@Autowired
|
|
|
private AspCompanyCertificationsServiceImpl aspCompanyCertificationsService;
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- int currentMonth = calendar.get(Calendar.MONTH) + 1; // 月份是从0开始的,所以加1
|
|
|
- int currentDay = calendar.get(Calendar.DAY_OF_MONTH); // 当前日
|
|
|
-
|
|
|
- System.out.println("当前月份: " + currentMonth);
|
|
|
- System.out.println("当前日: " + currentDay);
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public void rectificationSystem() {
|
|
@@ -223,35 +214,273 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
List<ApsHazardInvestigationTemplateZibiaoDo> templateZibiaoDos = apsHazardInvestigationTemplateZibiaoService.list(new LambdaQueryWrapper<ApsHazardInvestigationTemplateZibiaoDo>()
|
|
|
.in(ApsHazardInvestigationTemplateZibiaoDo::getMubanid, tempIds)
|
|
|
.eq(BaseDo::getDeleted, "0"));
|
|
|
+ // 模板对应的检查项
|
|
|
List<ApsHazardInvestigationTemplateZibiaoDo> subList;
|
|
|
- Calendar instance = Calendar.getInstance();
|
|
|
+
|
|
|
+
|
|
|
+ LocalDateTime today = LocalDateTime.now();
|
|
|
+
|
|
|
+
|
|
|
for (ApsHazardInvestigationTemplateDo mainData : tempList) {
|
|
|
String tempId = mainData.getId();
|
|
|
// 获取本次需要生成任务的模板检查项
|
|
|
subList = templateZibiaoDos.stream()
|
|
|
.filter(subData -> tempId.equals(subData.getMubanid()))
|
|
|
.collect(Collectors.toList());
|
|
|
- List<ApsHazardInvestigationTemplateZibiaoDo> updateGenerationDateList = new ArrayList<>();
|
|
|
- // 判断需要生成任务的模板数据
|
|
|
- subList = subList.stream().filter(data -> {
|
|
|
- Date date = preGenerationCheck(data, instance);
|
|
|
- // 保存上一次生产记录的时间
|
|
|
- ApsHazardInvestigationTemplateZibiaoDo updateGenerationDateDo = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
- updateGenerationDateDo.setId(data.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(date);
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
- return date != null;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- // 当前模板对应的管控措施不满足任务生成条件
|
|
|
- if (subList.isEmpty()) {
|
|
|
- continue;
|
|
|
+ //对检查模板数据按照周期以及周期单位进行分组操作 将相同周期单位的数据放在一起生成隐患任务
|
|
|
+ Map<String, List<ApsHazardInvestigationTemplateZibiaoDo>> taskTempMap = subList.stream()
|
|
|
+ .filter(data -> StringUtils.isNotBlank(data.getInspectioncycleunit()))
|
|
|
+ .collect(Collectors.groupingBy(ApsHazardInvestigationTemplateZibiaoDo::getInspectioncycleunit));
|
|
|
+ for (Map.Entry<String, List<ApsHazardInvestigationTemplateZibiaoDo>> task : taskTempMap.entrySet()) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ assembleHiddenDangerCheckTask(task.getKey(), today, task.getValue(), mainData);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("当前模板生成任务异常 id:{} - 原因: {} | 异常类型: {}", mainData.getId(), e.getMessage(), e.getClass().getSimpleName(), e);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- apsHazardInvestigationTemplateZibiaoService.updateBatchById(updateGenerationDateList);
|
|
|
- hazardInvestigationService.assembleTask(mainData, subList);
|
|
|
}
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 隐患任务生成
|
|
|
+ *
|
|
|
+ * @param checkCycleUnit
|
|
|
+ * @param checkCycleUnit
|
|
|
+ */
|
|
|
+ public void assembleHiddenDangerCheckTask(String checkCycleUnit, LocalDateTime today, List<ApsHazardInvestigationTemplateZibiaoDo> tempData, ApsHazardInvestigationTemplateDo mainData) {
|
|
|
+ // 需要生成任务的集合
|
|
|
+ List<ApsHazardInvestigationTemplateZibiaoDo> updateGenerationDateList = new ArrayList<>();
|
|
|
+ // 计划开始时间
|
|
|
+ Calendar startInstance = Calendar.getInstance();
|
|
|
+ startInstance.setTimeZone(TimeZone.getTimeZone("GMT+08:00")); // 设置时区为UTC
|
|
|
+ // 计划结束时间
|
|
|
+ Calendar endInstance = Calendar.getInstance();
|
|
|
+ startInstance.setTimeZone(TimeZone.getTimeZone("GMT+08:00")); // 设置时区为UTC
|
|
|
+ ApsHazardInvestigationTemplateZibiaoDo updateGenerationDateDo = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
+ // 因为存在计划开始和计划结束时间 所以需要将周期不同的数据单独提取出来处理
|
|
|
+ Map<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> groupByCycle = tempData.stream().collect(Collectors.groupingBy(ApsHazardInvestigationTemplateZibiaoDo::getInspectioncycle));
|
|
|
+ Map<String, List<ApsHazardInvestigationTemplateZibiaoDo>> dataMap = new HashMap<>();
|
|
|
+ // 周期单位为小时的特殊处理
|
|
|
+ if (SaveConstans.INSPECTION_CYCLE_UNIT.HOUR.equals(checkCycleUnit)) {
|
|
|
+ for (Map.Entry<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> task : groupByCycle.entrySet()) {
|
|
|
+ int cycle = task.getKey();
|
|
|
+ List<ApsHazardInvestigationTemplateZibiaoDo> tasks = task.getValue();
|
|
|
+ for (ApsHazardInvestigationTemplateZibiaoDo apsHazardInvestigationTemplateZibiaoDo : tasks) {
|
|
|
+ boolean sameDatePart = isSameDatePart(apsHazardInvestigationTemplateZibiaoDo.getGenerationdate(), today);
|
|
|
+ // 时间相同当天不再生成
|
|
|
+ if (sameDatePart) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 开始时间
|
|
|
+ String startingtimeofwork = apsHazardInvestigationTemplateZibiaoDo.getStartingtimeofwork();
|
|
|
+ // 结束时间
|
|
|
+ String endtimeofwork = apsHazardInvestigationTemplateZibiaoDo.getEndtimeofwork();
|
|
|
+ LocalTime time;
|
|
|
+ Calendar periodStart = Calendar.getInstance();
|
|
|
+ if (StringUtils.isNotBlank(startingtimeofwork)) {
|
|
|
+ // 指定开始时间
|
|
|
+ time = LocalTime.parse(startingtimeofwork);
|
|
|
+ periodStart.set(Calendar.HOUR_OF_DAY, time.getHour());
|
|
|
+ periodStart.set(Calendar.MINUTE, time.getMinute());
|
|
|
+ periodStart.set(Calendar.SECOND, time.getSecond());
|
|
|
+ } else {
|
|
|
+ // 设置当日00:00:00基准时间
|
|
|
+ periodStart.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ periodStart.set(Calendar.MINUTE, 0);
|
|
|
+ periodStart.set(Calendar.SECOND, 0);
|
|
|
+ periodStart.set(Calendar.MILLISECOND, 0);
|
|
|
+ }
|
|
|
+ Calendar dayEnd = Calendar.getInstance();
|
|
|
+ if (StringUtils.isNotBlank(endtimeofwork)) {
|
|
|
+ // 指定结束时间
|
|
|
+ time = LocalTime.parse(endtimeofwork);
|
|
|
+ dayEnd.set(Calendar.HOUR_OF_DAY, time.getHour());
|
|
|
+ dayEnd.set(Calendar.MINUTE, time.getMinute());
|
|
|
+ dayEnd.set(Calendar.SECOND, time.getSecond());
|
|
|
+ } else {
|
|
|
+ // 设置当日23:59:59结束时间
|
|
|
+ dayEnd.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ dayEnd.set(Calendar.MINUTE, 59);
|
|
|
+ dayEnd.set(Calendar.SECOND, 59);
|
|
|
+ dayEnd.set(Calendar.MILLISECOND, 999);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 按周期生成时间段
|
|
|
+ Calendar currentStart = (Calendar) periodStart.clone();
|
|
|
+ while (currentStart.before(dayEnd)) {
|
|
|
+ // 计算当前周期结束时间
|
|
|
+ Calendar currentEnd = (Calendar) currentStart.clone();
|
|
|
+ currentEnd.add(Calendar.HOUR_OF_DAY, cycle);
|
|
|
+
|
|
|
+ // 确保不超过当日结束时间
|
|
|
+ if (currentEnd.after(dayEnd)) {
|
|
|
+ currentEnd.setTime(dayEnd.getTime());
|
|
|
+ }
|
|
|
+ dataMap.computeIfAbsent(currentStart.getTime().getTime() + ";" + currentEnd.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+ // 移动到下一个周期
|
|
|
+ currentStart.add(Calendar.HOUR_OF_DAY, cycle);
|
|
|
+ }
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(currentStart.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ // 周期单位---年
|
|
|
+ if (SaveConstans.INSPECTION_CYCLE_UNIT.YEAR.equals(checkCycleUnit)) {
|
|
|
+
|
|
|
+ startInstance.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ startInstance.set(Calendar.MINUTE, 0);
|
|
|
+ startInstance.set(Calendar.SECOND, 0);
|
|
|
+ startInstance.set(Calendar.MONTH, Calendar.JANUARY);
|
|
|
+ startInstance.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+
|
|
|
+
|
|
|
+ endInstance.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ endInstance.set(Calendar.MINUTE, 59);
|
|
|
+ endInstance.set(Calendar.SECOND, 59);
|
|
|
+ endInstance.set(Calendar.MONTH, Calendar.DECEMBER);
|
|
|
+ endInstance.set(Calendar.DAY_OF_MONTH, 31);
|
|
|
+ for (Map.Entry<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> task : groupByCycle.entrySet()) {
|
|
|
+ endInstance.add(Calendar.YEAR, task.getKey() - 1);
|
|
|
+ // 如果当前时间是1月1号直接生成隐患任务
|
|
|
+ if ((today.getMonth() == Month.JANUARY) && (today.getDayOfMonth() == 1)) {
|
|
|
+ task.getValue()
|
|
|
+ .parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null ||
|
|
|
+ JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle()
|
|
|
+ ).forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ task.getValue()
|
|
|
+ .parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null)
|
|
|
+ .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ;
|
|
|
+
|
|
|
+ } else if (SaveConstans.INSPECTION_CYCLE_UNIT.MONTH.equals(checkCycleUnit)) {
|
|
|
+
|
|
|
+ // 关键步骤:定位到当月最后一天
|
|
|
+ startInstance.set(Calendar.DAY_OF_MONTH, 1); // 设置为当月第一天
|
|
|
+ // 设置时间为23:59:59
|
|
|
+ startInstance.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ startInstance.set(Calendar.MINUTE, 0);
|
|
|
+ startInstance.set(Calendar.SECOND, 0);
|
|
|
+
|
|
|
+
|
|
|
+ // 关键步骤:定位到当月最后一天
|
|
|
+ endInstance.set(Calendar.DAY_OF_MONTH, 1); // 设置为当月第一天
|
|
|
+ endInstance.add(Calendar.MONTH, 1); // 跳到下个月第一天
|
|
|
+ endInstance.add(Calendar.DAY_OF_MONTH, -1); // 回退到当月最后一天
|
|
|
+ // 设置时间为23:59:59
|
|
|
+ endInstance.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ endInstance.set(Calendar.MINUTE, 59);
|
|
|
+ endInstance.set(Calendar.SECOND, 59);
|
|
|
+ for (Map.Entry<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> task : groupByCycle.entrySet()) {
|
|
|
+ endInstance.add(Calendar.MONTH, task.getKey() - 1);
|
|
|
+ // 如果当前时间是1月1号直接生成隐患任务
|
|
|
+ if ((today.getMonth() == Month.JANUARY) && (today.getDayOfMonth() == 1)) {
|
|
|
+ task.getValue()
|
|
|
+ .parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null ||
|
|
|
+ JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle())
|
|
|
+ .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ task.getValue().parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null)
|
|
|
+ .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if (SaveConstans.INSPECTION_CYCLE_UNIT.DAY.equals(checkCycleUnit)) {
|
|
|
+ // 对于天的任务 直接判断上次生成时间和当前时间相隔的天数是否满足要求
|
|
|
+ // 设置时间为23:59:59
|
|
|
+ startInstance.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ startInstance.set(Calendar.MINUTE, 0);
|
|
|
+ startInstance.set(Calendar.SECOND, 0);
|
|
|
+
|
|
|
+ // 设置时间为23:59:59
|
|
|
+ endInstance.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ endInstance.set(Calendar.MINUTE, 59);
|
|
|
+ endInstance.set(Calendar.SECOND, 59);
|
|
|
+
|
|
|
+ for (Map.Entry<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> task : groupByCycle.entrySet()) {
|
|
|
+ endInstance.add(Calendar.DAY_OF_MONTH, task.getKey() - 1);
|
|
|
+ // 如果当前时间是1月1号直接生成隐患任务
|
|
|
+ task.getValue().parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null ||
|
|
|
+ JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle())
|
|
|
+ .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+ updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ;
|
|
|
+
|
|
|
+
|
|
|
+ } else {
|
|
|
+ log.error("暂不支持的周期单位:{}", checkCycleUnit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!dataMap.isEmpty()) {
|
|
|
+ dataMap.forEach((k, v) -> {
|
|
|
+ //任务生成
|
|
|
+ hazardInvestigationService.assembleTask(mainData, v, new Date(Long.parseLong(k.split(";")[0])), new Date(Long.parseLong(k.split(";")[1])));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (!updateGenerationDateList.isEmpty()) {
|
|
|
+ //更新上次生成时间
|
|
|
+ apsHazardInvestigationTemplateZibiaoService.updateBatchById(updateGenerationDateList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean isSameDatePart(Date date, LocalDateTime localDateTime) {
|
|
|
+ if(date==null || localDateTime==null){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // 1. 转换 Date -> LocalDate
|
|
|
+ LocalDate dateAsLocalDate = date.toInstant()
|
|
|
+ .atZone(ZoneId.systemDefault()) // 使用系统默认时区
|
|
|
+ .toLocalDate();
|
|
|
+
|
|
|
+ // 2. 转换 LocalDateTime -> LocalDate
|
|
|
+ LocalDate localDate = localDateTime.toLocalDate();
|
|
|
+
|
|
|
+ // 3. 比较两个 LocalDate
|
|
|
+ return dateAsLocalDate.equals(localDate);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public R qualificationCertificateRemind() {
|
|
|
List<AspCompanyCertificationsDo> list = aspCompanyCertificationsService.list(new LambdaQueryWrapper<AspCompanyCertificationsDo>()
|
|
@@ -319,9 +548,11 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
int i = 0;
|
|
|
if (generationdate != null) {
|
|
|
// 当前时间距离上次生成时间的差值
|
|
|
- i = JSCommonUtils.DateDifferenceExample(generationdate, calendar.getTime(), inspectioncycleunit);
|
|
|
+ i = JSCommonUtils.dateDifferenceExample(generationdate, calendar.getTime(), inspectioncycleunit);
|
|
|
}
|
|
|
+
|
|
|
if (SaveConstans.INSPECTION_CYCLE_UNIT.HOUR.equals(inspectioncycleunit)) {
|
|
|
+ // 周期单位小时
|
|
|
LocalTime startTime = LocalTime.parse(hazardInvestigationTemplateDo.getStartingtimeofwork());
|
|
|
LocalTime endTime = LocalTime.parse(hazardInvestigationTemplateDo.getEndtimeofwork());
|
|
|
LocalTime currentTime = LocalTime.now();
|
|
@@ -336,6 +567,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
return null;
|
|
|
}
|
|
|
} else if (SaveConstans.INSPECTION_CYCLE_UNIT.DAY.equals(inspectioncycleunit)) {
|
|
|
+ // 周期单位天
|
|
|
if (generationdate == null) {
|
|
|
return returnDate;
|
|
|
} else if (i == inspectioncycle) {
|
|
@@ -344,6 +576,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
return null;
|
|
|
}
|
|
|
} else if (SaveConstans.INSPECTION_CYCLE_UNIT.MONTH.equals(inspectioncycleunit)) {
|
|
|
+ // 周期单位月
|
|
|
if (generationdate == null) {
|
|
|
return returnDate;
|
|
|
} else if (i == inspectioncycle && currentHour == 1) {
|
|
@@ -352,6 +585,9 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
return null;
|
|
|
}
|
|
|
} else if (SaveConstans.INSPECTION_CYCLE_UNIT.YEAR.equals(inspectioncycleunit)) {
|
|
|
+ // 周期单位年
|
|
|
+ calendar.set(Calendar.MONTH, Calendar.JANUARY); // 月份从0开始(0=1月)
|
|
|
+ calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
if (generationdate == null) {
|
|
|
return returnDate;
|
|
|
} else if (i == inspectioncycle && currentMonth == 1 && currentDay == 1 && currentHour == 1) {
|
|
@@ -484,4 +720,12 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
});
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ Calendar startInstance = Calendar.getInstance();
|
|
|
+ Date date = new Date();
|
|
|
+ startInstance.setTime(date);
|
|
|
+ System.out.println(startInstance.getTime().getTime() == date.getTime());
|
|
|
+ }
|
|
|
+
|
|
|
}
|