示例#1
0
        public static bool SetMachine_Yield(DateTime dateTime, string MES_Customer_Name, string MES_Station_Name, int num, int Machine_Station_UID)
        {
            bool isMachine_Yield = false;

            try
            {
                for (int i = 0; i < num; i++)
                {
                    List <Machine_YieldDTO>           Machine_YieldDTOs           = new List <Machine_YieldDTO>();
                    List <Machine_Schedule_ConfigDTO> Machine_Schedule_ConfigDTOs = new List <Machine_Schedule_ConfigDTO>();

                    Machine_Schedule_ConfigDTO machine_Schedule_ConfigDTO = new Machine_Schedule_ConfigDTO();
                    DateTime startTime = dateTime.AddMinutes(i * 30);
                    DateTime endTime   = startTime.AddMinutes(30);
                    machine_Schedule_ConfigDTO.MES_Customer_Name   = MES_Customer_Name;
                    machine_Schedule_ConfigDTO.MES_Station_Name    = MES_Station_Name;
                    machine_Schedule_ConfigDTO.StarTime            = startTime;
                    machine_Schedule_ConfigDTO.EndTime             = endTime;
                    machine_Schedule_ConfigDTO.Machine_Station_UID = Machine_Station_UID;
                    machine_Schedule_ConfigDTO.Created_Date        = DateTime.Now;
                    Machine_Schedule_ConfigDTOs.Add(machine_Schedule_ConfigDTO);

                    // var apiUrl = string.Format("pis/pdcaNgSummary?Customer={0}&Station={1}&StartTime={2}&EndTime={3}", "SHH-CTU-Housing", "Milan-HSG-UMP1", "2018-05-03 14:10", "2018-05-03 16:10");
                    // var apiUrl = string.Format("http://CNCTUG0IT777D:8080/pis/pdcaNgSummary?Customer={0}&Station={1}&StartTime={2}&EndTime={3}", MES_Customer_Name, MES_Station_Name, startTime.ToString("yyyy-MM-dd HH:mm"), endTime.ToString("yyyy-MM-dd HH:mm"));
                    var apiUrl = string.Format("pis/pdcaNgSummary?Customer={0}&Station={1}&StartTime={2}&EndTime={3}", MES_Customer_Name, MES_Station_Name, startTime.ToString("yyyy-MM-dd HH:mm"), endTime.ToString("yyyy-MM-dd HH:mm"));

                    var     result   = HttpGet(WebAPIPath + apiUrl);
                    JObject josnData = (JObject)JsonConvert.DeserializeObject(result);
                    var     list     = JsonConvert.DeserializeObject <List <MachineYield> >(josnData["data"].ToString());
                    SetMachine_YieldDTOs(list, Machine_YieldDTOs, Machine_Station_UID, startTime, endTime);

                    //下面写执行插入语句.插入报表数据。
                    string message = InsertMachine_YieldAndMachineConfig(Machine_YieldDTOs, Machine_Schedule_ConfigDTOs);
                    //AddMESSyncFailedLog("Machine", "机台数据同步", WebAPIPath + apiUrl, message);
                    if (message != "SUCCESS")
                    {
                        AddMESSyncFailedLog("Machine", "机台数据同步", WebAPIPath + apiUrl, message);
                        AddLog("Machine", "机台数据同步", message);
                    }
                }
                isMachine_Yield = true;
                //下面写执行插入语句.插入报表数据。
                //  InsertMachine_YieldAndMachineConfig(Machine_YieldDTOs, Machine_Schedule_ConfigDTOs);
            }
            catch (Exception ex)
            {
                //获取错误信息
                AddLog("Machine", "机台数据同步", ex.Message.ToString());
                isMachine_Yield = false;
            }
            return(isMachine_Yield);
        }
        /// <summary>
        /// 解析url 生成Machine_Schedule_ConfigDTO;
        /// </summary>
        /// <param name="apiurl"></param>
        /// <returns></returns>
        public Machine_Schedule_ConfigDTO GetMachine_Schedule_ConfigDTOs(string apiurl)
        {
            // "http://CNCTUG0WEBOA01:9800/pis/pdcaNgSummary?Customer=Milan-CTU-Housing&Station=Milan-Laser(Band)&StartTime=2018-05-18 07:30&EndTime=2018-05-18 08:00";
            Machine_Schedule_ConfigDTO machine_Schedule_ConfigDTO = new Machine_Schedule_ConfigDTO();
            var    strMachine_Schedule_ConfigDTO = apiurl.Substring(apiurl.LastIndexOf("?") + 1);
            var    machine_Schedule_ConfigDTOs   = strMachine_Schedule_ConfigDTO.Split('&');
            string Customer  = machine_Schedule_ConfigDTOs[0].Substring(machine_Schedule_ConfigDTOs[0].LastIndexOf("=") + 1);
            string Station   = machine_Schedule_ConfigDTOs[1].Substring(machine_Schedule_ConfigDTOs[1].LastIndexOf("=") + 1);
            string StartTime = machine_Schedule_ConfigDTOs[2].Substring(machine_Schedule_ConfigDTOs[2].LastIndexOf("=") + 1);
            string EndTime   = machine_Schedule_ConfigDTOs[3].Substring(machine_Schedule_ConfigDTOs[3].LastIndexOf("=") + 1);

            machine_Schedule_ConfigDTO.StarTime          = Convert.ToDateTime(StartTime);
            machine_Schedule_ConfigDTO.EndTime           = Convert.ToDateTime(EndTime);
            machine_Schedule_ConfigDTO.MES_Customer_Name = Customer;
            machine_Schedule_ConfigDTO.MES_Station_Name  = Station;

            machine_Schedule_ConfigDTO.Machine_Station_UID = GetMachine_Station_UID(Customer, Station);
            machine_Schedule_ConfigDTO.Created_Date        = DateTime.Now;


            return(machine_Schedule_ConfigDTO);
        }