package com.webclient.beans.uditem;

import psdi.app.iface.mdm.Mdm2EamHandler;
import psdi.webclient.beans.item.ItemAppBean;
import psdi.webclient.system.beans.AppBean;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

/**
 *
 * 获取物料主数据
 * 该方法是从MDM系统通过MQ方式，将物料主数据拉取到物料中间表(EAM_MARA)中；同时单位转化视图的数据也会拉取到（EAM_CONVERSION）
 * createby liuxq   2023-6-19
 *
 */
public class UdItemBean extends AppBean {
    //增量数据拉取
    public void MDMITEMLQ() throws Exception {
        // 获取今天的日期
        LocalDate today = LocalDate.now();
        // 向前推5天
        LocalDate fiveDaysAgo = today.minusDays(2);
        // 创建日期格式化器
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // 将日期转换为字符串
        String todayString = today.format(formatter);
        String fiveDaysAgoString = fiveDaysAgo.format(formatter);
        // 打印结果
        System.out.println("toDayTime=" + todayString);
        System.out.println("before 2 dayTime=" + fiveDaysAgoString);

        String startDate = fiveDaysAgoString;
        String endDate = todayString;
        Mdm2EamHandler mdm2EamHandler = new Mdm2EamHandler();
        mdm2EamHandler.Z_MDM_GET_DATA_FILE(startDate,endDate);
//        mdm2EamHandler.Z_MDM_GET_DATA_FILE("2023-07-01","2023-10-20");
    }

    //全量数据拉取
    public void MDMITEMQLLQ() throws Exception {
        // 获取今天的日期
        LocalDate today = LocalDate.now();
        // 向前推40天
        LocalDate fiveDaysAgo = today.minusDays(40);
        // 创建日期格式化器
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // 将日期转换为字符串
        String todayString = today.format(formatter);
        String fiveDaysAgoString = fiveDaysAgo.format(formatter);
        // 打印结果
        System.out.println("toDayTime=" + todayString);
        System.out.println("before 2 dayTime=" + fiveDaysAgoString);

        String startDate = fiveDaysAgoString;
        String endDate = todayString;
        Mdm2EamHandler mdm2EamHandler = new Mdm2EamHandler();
        mdm2EamHandler.Z_MDM_GET_DATA_FILE(startDate,endDate);
//        mdm2EamHandler.Z_MDM_GET_DATA_FILE("2023-07-01","2023-10-20");
    }

    //从MDM导出后，从物料表中拉取
    public void EAMMARALQ() throws Exception {
        Mdm2EamHandler mdm2EamHandler = new Mdm2EamHandler();
        mdm2EamHandler.getFilesFromMara();
    }
}
