예제 #1
0
파일: MES.cs 프로젝트: jtzhang163/TengDa
        /// <summary>
        /// 入炉数据上传
        /// </summary>
        /// <param name="clamps"></param>
        /// <returns></returns>
        public static void UploadInOven(List <Clamp> clamps)
        {
            for (int i = 0; i < clamps.Count; i++)
            {
                var clamp   = clamps[i];
                var station = Station.StationList.FirstOrDefault(s => s.Id == clamp.OvenStationId);
                var floor   = station.GetFloor();
                var oven    = floor.GetOven();

                var sfcDatas = new List <SfcData>();
                foreach (var battery in clamp.Batteries)
                {
                    sfcDatas.Add(new SfcData()
                    {
                        SFC = battery.Code
                    });
                }

                var response = new executeResponse();
                try
                {
                    var request = new executingServiceRequest()
                    {
                        site        = Current.mes.Site,
                        serviceCode = "GetSfcListAndContainerIdOfBakeService",
                        data        = JsonHelper.SerializeObject(new ExecuteData()
                        {
                            RESOURCE       = oven.Number,
                            ACTION         = "S",
                            CONTAINER_ID   = clamp.Code,
                            IS_PROCESS_LOT = "N",
                            SFC_LIST       = sfcDatas.ToArray(),
                            SFC            = ""
                        })
                    };
                    response = wsProxy.execute(new execute()
                    {
                        pRequest = request
                    });
                }
                catch (System.Exception ex)
                {
                    [email protected]  = "error";
                    [email protected] = ex.Message;
                    LogHelper.WriteError(ex);
                }

                if ([email protected]().Contains("true"))
                {
                    clamp.IsInUploaded = true;
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 出站操作(将一个夹具所有的某一个电芯号提交给MES,返回 3 ,将间隔多长时间反复调接口)
        /// </summary>
        /// <param name="container">电芯号</param>
        /// <param name="three">是否第三次出站</param>
        public static string OutService(string container, string three = "N")//结果值固定Y (第三次出站)N(不是第三次)
        {
            executeResponse eR = new executeResponse();

            TengDa.Common.ObjectJsonHelp.OutRootObject Json = new TengDa.Common.ObjectJsonHelp.OutRootObject()
            {
                RESOURCE      = "3BKX0001",
                USER_ID       = "USER001",
                CONTAINER_ID  = container,
                IS_THREE_TIME = three,
            };
            eR = ServeHelp.Service.OutService(Common.JSONHelper.SerializeTostr(Json));                 //调用接口
            if ([email protected]() == "TRUE" && !string.IsNullOrEmpty([email protected])) //调用成功
            {
                //解析返回的Json
                Json = TengDa.Common.ObjectJsonHelp.OutReturn([email protected]);
            }//1 合格 2 不合格 3无数据 4 报废
            return(Json.INSPECT_RESULT);
        }
예제 #3
0
        /// <summary>
        /// 烘烤进站接口
        /// </summary>
        /// <param name="strJson">Json字符串</param>
        public bool InService(string strJson)
        {
            ExecutingServiceService Service = new ExecutingServiceService()
            {
                Url         = Core.AppContext.Current.MesModel.InUrl,
                Credentials = new System.Net.NetworkCredential(Core.AppContext.Current.MesModel.Account, Core.AppContext.Current.MesModel.Pwd, null),
            };
            executingServiceRequest Request = new executingServiceRequest()
            {
                site        = Core.AppContext.Current.MesModel.InSite,     //工厂代号
                serviceCode = Core.AppContext.Current.MesModel.InRESOURCE, //接口表示
                data        = strJson,
            };
            execute ex = new execute()
            {
                pRequest = Request,
            };
            executeResponse ReturnData = new executeResponse();

            ReturnData = Service.execute(ex);
            return([email protected]() == "TRUE"? true : false);
        }
예제 #4
0
파일: MES.cs 프로젝트: jtzhang163/TengDa
        /// <summary>
        /// 设备状态上传
        /// </summary>
        /// <param name="clamps"></param>
        /// <returns></returns>
        public static void UploadMachineStatus()
        {
            var machStatuss = new List <MachStatus>();

            for (int i = 0; i < Current.ovens.Count; i++)
            {
                var oven = Current.ovens[i];
                machStatuss.Add(new MachStatus()
                {
                    RESOURCE = oven.Number, STATUS = "1"
                });
            }

            var response = new executeResponse();

            try
            {
                var request = new executingServiceRequest()
                {
                    site        = Current.mes.Site,
                    serviceCode = "ResourceStatusChangeService",
                    data        = JsonHelper.SerializeObject(new ExecuteData()
                    {
                        RESOURCE_LIST = machStatuss.ToArray()
                    })
                };
                response = wsProxy.execute(new execute()
                {
                    pRequest = request
                });
            }
            catch (System.Exception ex)
            {
                [email protected]  = "error";
                [email protected] = ex.Message;
                LogHelper.WriteError(ex);
            }
        }
예제 #5
0
        public executeResponse execute(execute request)
        {
            string debt = "";

            try
            {
                //init data
                WinFormsTest.nci.execute     ex  = new WinFormsTest.nci.execute();
                WinFormsTest.nci.Parameter[] prs = new WinFormsTest.nci.Parameter[request.parameter.Length];
                int count = 0;
                foreach (Parameter param in request.parameter)
                {
                    prs[count]       = new WinFormsTest.nci.Parameter();
                    prs[count].key   = param.key;//"abonentCode";
                    prs[count].value = param.value;
                    count++;
                }

                ex.parameter = prs;
                ex.serviceId = request.serviceId;

                // WinFormsTest.nci.NCIServiceWCFClient ee = UCCProxyFactory.CreateNCIServiceClient(new Uri("http://0330X395:8089/nci/NCIServiceWCFBean"));
                WinFormsTest.nci.NCIServiceWCFClient ee = UCCProxyFactory.CreateNCIServiceClient(new Uri("http://92.241.79.133:8080/nci/NCIServiceWCFBean"));
                //nci.NCIServiceWCFClient ee = UCCProxyFactory.CreateNCIServiceClient(new Uri("http://10.87.12.181:7000/ExternalServices/UCCNCIService"));
                WinFormsTest.nci.executeResponse resp = new WinFormsTest.nci.executeResponse();

                executeResponse rtn = new executeResponse();
                //execute
                try
                {
                    resp = ee.execute(ex);



                    StringBuilder sb = new StringBuilder();

                    if (resp.outParameter != null)
                    {
                        rtn.outParameter = new Parameter[resp.outParameter.Length];
                        count            = 0;
                        foreach (WinFormsTest.nci.Parameter param in resp.outParameter)
                        {
                            //System.Diagnostics.Trace.WriteLine(param.key + " " + param.value);
                            rtn.outParameter[count]       = new Parameter();
                            rtn.outParameter[count].key   = param.key;
                            rtn.outParameter[count].value = param.value;
                            sb.AppendFormat("{0}={1}\r\n", param.key, param.value);
                            count++;
                        }
                    }

                    if (resp.faultEntry != null)
                    {
                        rtn.faultEntry = new FaultEntry[resp.faultEntry.Length];
                        count          = 0;
                        foreach (WinFormsTest.nci.FaultEntry fe in resp.faultEntry)
                        {
                            //System.Diagnostics.Trace.WriteLine(param.key + " " + param.value);
                            rtn.faultEntry[count]                  = new FaultEntry();
                            rtn.faultEntry[count].errorKey         = fe.errorKey;
                            rtn.faultEntry[count].invalidParameter = fe.invalidParameter;
                            rtn.faultEntry[count].errorParameters  = fe.errorParameters;
                            sb.AppendFormat("{0}={1}\r\n", "error", fe.errorKey);
                            count++;
                        }
                    }
                }
                catch (Exception exc)
                {
                    //System.Diagnostics.Debug.WriteLine(exc.Message)
                    return(null);
                }

                return(rtn);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }

            return(null);
        }