Example #1
0
        public static Dictionary <string, string> GetTableByTableName(int sprayid, string sprayname, int lineid, string deviceid)
        {
            LineDataServer lineDataServer      = new LineDataServer();
            Dictionary <string, string> result = lineDataServer.GetTableMessage(sprayid, sprayname, lineid, deviceid);

            return(result);
        }
Example #2
0
        public string GetSpray()
        {
            LineDataServer lineDataServer = new LineDataServer();
            var            result         = lineDataServer.GetSprayMessage();

            return(result);
        }
Example #3
0
        public string GetLocationState()
        {
            LineDataServer lineDataServer = new LineDataServer();

            return(JsonConvert.SerializeObject(lineDataServer.GetLocationState()));
        }
Example #4
0
        /// <summary>
        /// 多线程同时查N张表
        /// </summary>
        /// <param name="strTableNames">表名数组</param>
        /// <returns>返回Json格式数组</returns>
        public static string RunAllTask(DataTable linedt)
        {
            string           strJsonString = string.Empty;
            List <Hashtable> list          = new List <Hashtable>();

            try
            {
                if (linedt.Rows.Count < 1)
                {
                    return(strJsonString = "{\"ErrorType\":1,\"ErrorMessage\":\"生产线数量为0!\"}");
                }


                for (int x = 0; x < linedt.Rows.Count; x++)
                {
                    Hashtable dic      = new Hashtable();
                    int       lineid   = 0;
                    string    linename = string.Empty;;
                    int.TryParse(linedt.Rows[x][0].ToString(), out lineid);



                    linename = linedt.Rows[x][1].ToString();

                    dic.Add("ProductLineId", lineid.ToString());
                    dic.Add("ProductLineName", linename);
                    //获取产线的所有胶站工位名称及胶站编号
                    Dictionary <string, Dictionary <string, string> > dString = new Dictionary <string, Dictionary <string, string> >();

                    LineDataServer lds = new LineDataServer();

                    Dictionary <string, Dictionary <string, string> > vdt = lds.getVstate(lineid);
                    foreach (var x1 in vdt)
                    {
                        dString.Add(x1.Key, x1.Value);
                    }


                    SortedList <int, KeyValuePair <string, string> > spraylist = new LineDataServer().GetLineSprayList(lineid);

                    Task[] tasks = new Task[spraylist.Count];
                    for (int i = 0; i < spraylist.Count; i++)
                    {
                        int    sprayid   = spraylist.Keys[i];
                        string sprayname = spraylist.Values[i].Key;
                        string deviceid  = spraylist.Values[i].Value;
                        lock (_oLock)
                        {
                            tasks[i] = Task.Factory.StartNew(() =>
                            {
                            });
                            dString.Add(sprayname, GetTableByTableName(sprayid, sprayname, lineid, deviceid));
                        }
                    }
                    Task.WaitAll(tasks);
                    dic.Add("Data", dString);
                    list.Add(dic);
                }
            }
            catch (Exception ex)
            {
                return(strJsonString = "{\"ErrorType\":1,\"ErrorMessage\":\"交易处理异常\"}");

                throw;
            }

            return(JsonConvert.SerializeObject(list));
        }