package com.zfire.jiasm.syncdata.upload.order;

import com.zfire.jiasm.syncdata.constant.TaskConfigEnum;
import com.zfire.jiasm.syncdata.service.InstallProduceDataUploadService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 生成需要上传的数据
 * 1：数据准备类型定义表提取数据 select * from out_jiasm_to_gree_upload_task_type;
 * 2：根据类型定义表的任务类型 从数据上传任务表提取对应的任务类型数据 select * from out_jiasm_to_gree_upload_task_list;
 * 生成相应的upload数据插入表中
 * 上传任务表中的 tablename+ordertype处理不同类型的工单
 *    orderer_base+INSTALL为安装工单
 * 	     工单基础表中提取工单数据 select * from order_base;
 * 				条件判断是否需要生成数据
 * 				生成上传的工单主表数据 select * from itf_tbl_az_assign_lc_ls_upload;
 * 				根据辅材订单支付表存在支付时生成安装费用数据
 * 				select * from order_pay_outlay_item;
 * 				select * from itf_tbl_az_assign_fee_upload;
 * 				生成安装采集数据 select * from order_install_detail;
 * 			    	生成不同的完工明细数据
 * 					select * from itf_tbl_az_wgmx_jykt_upload;
 * 					select * from itf_tbl_az_wgmx_sykt_upload;
 * 					select * from itf_tbl_az_wgmx_qita_upload;
 * 				生成采集附件数据 select * from order_detail_file;
 * 			    	生成不同的采集除件数据
 * 					select * from itf_tbl_az_wgmx_jykt_fj_upload;
 * 					select * from itf_tbl_az_wgmx_sykt_fj_upload;
 * 					select * from itf_tbl_az_wgmx_qita_fj_upload;
 * 				生成条码明细数据 select * from order_install_detail_code;
 * 			    	生成不同的条码数据
 * 					select * from itf_tbl_az_wgmx_jykt_tmmx_upload;
 * 					select * from itf_tbl_az_wgmx_sykt_tmmx_ls_upload;
 * 					select * from itf_tbl_az_wgmx_qita_tmmx_upload;
 * 				生成短信评价数据 select * from itf_messagehuifangentity;
 * 				修改上传任务表同步状态 select * from out_jiasm_to_gree_upload_task_list
 *    order_install_operating_log+INSTALL为安装工单操作明细
 * 	     修改 order_install_operating_log 表数据
 * 	     生成 itf_tbl_az_assign_fkmx_upload 表数据
 * 	     修改上传任务表同步状态 select * from out_jiasm_to_gree_upload_task_list
 *
 *
 *
 *
 * 修改上传任务表的状态
 */

@Slf4j
@Component
public class InstallProduceDataUpload {
    @Value("${azuploadyscc}")
    private String azuploadyscc = "";

    @Autowired
    InstallProduceDataUploadService installProduceDataUploadService;



    @Scheduled(fixedDelayString = "${azuploadysc}")
    public void produceList(){
        if (azuploadyscc.equals(TaskConfigEnum.FALSE.getCode())){
            return;
        }

        installProduceDataUploadService.processProduce();
    }


}
