diff --git a/aucma-api/src/main/java/com/aucma/api/task/SAPTask.java b/aucma-api/src/main/java/com/aucma/api/task/SAPTask.java new file mode 100644 index 0000000..e4fb3c4 --- /dev/null +++ b/aucma-api/src/main/java/com/aucma/api/task/SAPTask.java @@ -0,0 +1,46 @@ +package com.aucma.api.task; + +import com.aucma.api.domain.dto.SAPPortDto; +import com.aucma.api.domain.dto.WERKSDto; +import com.aucma.api.service.ISAPPortService; +import com.aucma.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * @Author YinQ + * @create 2023-10-08 9:11 + */ +@Component("SAPTask") +public class SAPTask { + + @Autowired + private ISAPPortService portService; + + /** + * SAP物料主数据定时任务 + * + * @param days 开始时间(天) + */ + public void SAPMaterialDataTask(String factoryCode, Long days) { + String startDate = DateUtils.convertDaysToDateString(days); + String endDate = DateUtils.getDate(); + SAPPortDto sapPortDto = new SAPPortDto(); + WERKSDto werksDto = new WERKSDto(); + List> factoryList = new ArrayList<>(); + HashMap hashMap = new HashMap<>(); + sapPortDto.setStartDate(startDate); + sapPortDto.setEndDate(endDate); + hashMap.put("WERKS", factoryCode); + factoryList.add(hashMap); + werksDto.setItem(factoryList); + sapPortDto.setFactoryCodes(werksDto); + portService.getSAPMaterialData(sapPortDto); + } + + +} diff --git a/aucma-common/src/main/java/com/aucma/common/utils/DateUtils.java b/aucma-common/src/main/java/com/aucma/common/utils/DateUtils.java index 85beda3..a4dcbf0 100644 --- a/aucma-common/src/main/java/com/aucma/common/utils/DateUtils.java +++ b/aucma-common/src/main/java/com/aucma/common/utils/DateUtils.java @@ -8,6 +8,7 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; @@ -188,4 +189,24 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } + + /** + * 输出days天之前的日期 + * @param days + * @return + */ + public static String convertDaysToDateString(Long days) { + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); + + // 减去相应的天数 + LocalDate targetDate = currentDate.minusDays(days); + + // 创建DateTimeFormatter对象,指定日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + // 格式化日期为字符串并返回 + return targetDate.format(formatter); + } + }