public void MI_MES_MATSTARCE_REQ([System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:sap2mes:matstorace_ii")] DT_MES_MATSTARCE_REQ MT_MES_MATSTARCE_REQ) { this.Invoke("MI_MES_MATSTARCE_REQ", new object[] { MT_MES_MATSTARCE_REQ }); }
/// <remarks/> public System.IAsyncResult BeginMI_MES_MATSTARCE_REQ(DT_MES_MATSTARCE_REQ MT_MES_MATSTARCE_REQ, System.AsyncCallback callback, object asyncState) { return(this.BeginInvoke("MI_MES_MATSTARCE_REQ", new object[] { MT_MES_MATSTARCE_REQ }, callback, asyncState)); }
public ServiceResult Run(RunMethod runMethod) { SAPWebServiceEntity webServiceEntity = System.Configuration.ConfigurationManager.GetSection("InventoryTransferConfig") as SAPWebServiceEntity; if (webServiceEntity == null) { return(new ServiceResult(false, "没有维护InvertoryTransferConfig对应的Service地址", this.m_Argument.TransactionCode)); } InventoryFacade invFacade = new InventoryFacade(this.DataProvider); #region Begin for Prepare input Paremeter DT_MES_MATSTARCE_REQ inventoryParameter = new DT_MES_MATSTARCE_REQ(); object[] sapStorageQueryList = null; if (runMethod == RunMethod.Auto) { sapStorageQueryList = invFacade.QuerySAPStorageQueryNotDealed(1); if (sapStorageQueryList == null) { return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); } SAPStorageQuery query = (SAPStorageQuery)sapStorageQueryList[0]; inventoryParameter.LGORT = query.StorageID.Split(','); inventoryParameter.MATNR = query.ItemCode; inventoryParameter.TRANS = this.m_Argument.TransactionCode; inventoryParameter.WERKS = query.OrganizationID.Split(','); } else if (runMethod == RunMethod.Manually) { inventoryParameter.LGORT = this.m_Argument.Location; inventoryParameter.MATNR = this.m_Argument.MaterialNumber; inventoryParameter.TRANS = this.m_Argument.TransactionCode; inventoryParameter.WERKS = this.m_Argument.OrgList; } invFacade.DeleteSAPStorageInfo(inventoryParameter.WERKS, inventoryParameter.LGORT, inventoryParameter.MATNR); #endregion string xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Request.xml", typeof(DT_MES_MATSTARCE_REQ), inventoryParameter); #region InventoryLog DBDateTime dateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); SAPDataTransferLog inventoryLog = new SAPDataTransferLog(); TransferFacade transferFacade = new TransferFacade(this.DataProvider); inventoryLog.JobID = TransferFacade.InvertoryJobID; inventoryLog.TransactionCode = inventoryParameter.TRANS; inventoryLog.TransactionSequence = 1; inventoryLog.RequestDate = dateTime.DBDate; inventoryLog.RequestTime = dateTime.DBTime; inventoryLog.RequestContent = xmlFilePath; inventoryLog.OrganizationID = 2000; inventoryLog.SendRecordCount = 1; transferFacade.AddSAPDataTransferLog(inventoryLog); #endregion #region Begin for Calling WebService try { //Delete sapstorageInfo //invFacade.DeleteSAPStorageInfoByItemCode(this.m_Argument.MaterialNumber.ToUpper()); InvertoryServiceClientProxy clientProxy = new InvertoryServiceClientProxy(); clientProxy.RequestEncoding = Encoding.UTF8; clientProxy.Timeout = InternalVariables.MS_TimeOut * 1000; clientProxy.Url = webServiceEntity.Url; clientProxy.PreAuthenticate = true; System.Uri uri = new Uri(clientProxy.Url); clientProxy.Credentials = new NetworkCredential(webServiceEntity.UserName, webServiceEntity.Password).GetCredential(uri, ""); clientProxy.MI_MES_MATSTARCE_REQ(inventoryParameter); clientProxy.Dispose(); clientProxy = null; } catch (Exception e) { inventoryLog.Result = "Fail"; inventoryLog.ErrorMessage = e.Message; transferFacade.UpdateSAPDataTransferLog(inventoryLog); return(new ServiceResult(false, e.Message, inventoryLog.TransactionCode)); } if (runMethod == RunMethod.Auto && sapStorageQueryList != null) { try { SAPStorageQuery query = (SAPStorageQuery)sapStorageQueryList[0]; query.Flag = FlagStatus.FlagStatus_POST; query.TransactionCode = this.m_Argument.TransactionCode; invFacade.UpdateSAPStorageQuery(query); } catch (Exception ex) { return(new ServiceResult(false, ex.Message, this.m_Argument.TransactionCode)); } } #endregion return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); }