private ServiceResult RunOne(SAPWebServiceEntity webServiceEntity, SAPMaterialTrans sapMaterialTrans, DT_MES_TRANSFERPOST_REQ req) { string xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Request.xml", typeof(DT_MES_TRANSFERPOST_REQ), req); #region TransferLog DBDateTime dateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); SAPDataTransferLog materialIssueLog = new SAPDataTransferLog(); TransferFacade transferFacade = new TransferFacade(this.DataProvider); materialIssueLog.JobID = TransferFacade.MaterialIssueJobID; materialIssueLog.TransactionCode = this.m_Argument.TransactionCode; materialIssueLog.TransactionSequence = 1; materialIssueLog.RequestDate = dateTime.DBDate; materialIssueLog.RequestTime = dateTime.DBTime; materialIssueLog.RequestContent = xmlFilePath; materialIssueLog.OrganizationID = 2000; materialIssueLog.SendRecordCount = 1; transferFacade.AddSAPDataTransferLog(materialIssueLog); #endregion #region Begin for Calling WebService try { MaterialIssueServiceClientProxy clientProxy = new MaterialIssueServiceClientProxy(); 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_TRANSFERPOST_REQ(req); clientProxy.Dispose(); clientProxy = null; } catch (Exception e) { materialIssueLog.Result = "Fail"; materialIssueLog.ErrorMessage = e.Message; transferFacade.UpdateSAPDataTransferLog(materialIssueLog); return(new ServiceResult(false, e.Message, materialIssueLog.TransactionCode)); } #endregion #region Update tblsapmaterialtrans if (sapMaterialTrans != null) { InventoryFacade inventoryFacade = new InventoryFacade(this.DataProvider); try { sapMaterialTrans.Flag = FlagStatus.FlagStatus_POST; sapMaterialTrans.TransactionCode = this.m_Argument.TransactionCode; inventoryFacade.UpdateSAPMaterialTrans(sapMaterialTrans); } catch (Exception ex) { return(new ServiceResult(false, ex.Message, this.m_Argument.TransactionCode)); } } #endregion return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); }
/// <remarks/> public System.IAsyncResult BeginMI_MES_TRANSFERPOST_REQ(DT_MES_TRANSFERPOST_REQ MT_MES_TRANSFERPOST_REQ, System.AsyncCallback callback, object asyncState) { return(this.BeginInvoke("MI_MES_TRANSFERPOST_REQ", new object[] { MT_MES_TRANSFERPOST_REQ }, callback, asyncState)); }
public ServiceResult Run(RunMethod runMethod) { ServiceResult returnValue = null; SAPWebServiceEntity webServiceEntity = System.Configuration.ConfigurationManager.GetSection("MaterialIssueTransferConfig") as SAPWebServiceEntity; if (webServiceEntity == null) { return(new ServiceResult(false, "没有维护MaterialIssueTransfer对应的Service地址", this.m_Argument.TransactionCode)); } if (runMethod == RunMethod.Auto) { InventoryFacade inventoryFacade = new InventoryFacade(this.DataProvider); object[] sapMaterialTransList = inventoryFacade.QuerySAPMaterialTransNotDealed(100); if (sapMaterialTransList == null) { return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); } foreach (SAPMaterialTrans materialTrans in sapMaterialTransList) { System.Threading.Thread.Sleep(10); this.NewTransactionCode(); List <DT_MES_TRANSFERPOST_REQTRANSFERITEM> transferItemList = new List <DT_MES_TRANSFERPOST_REQTRANSFERITEM>(); DT_MES_TRANSFERPOST_REQTRANSFERITEM transferItem = new DT_MES_TRANSFERPOST_REQTRANSFERITEM(); transferItem.PSTNG_DATE = materialTrans.AccountDate.ToString(); transferItem.DOC_DATE = materialTrans.VoucherDate.ToString(); transferItem.MATERIAL = materialTrans.ItemCode; transferItem.PLANT = materialTrans.OrganizationID.ToString(); transferItem.STGE_LOC = materialTrans.FRMStorageID; transferItem.MOVE_STLOC = materialTrans.TOStorageID; transferItem.ENTRY_QNT = materialTrans.TransQTY.ToString(); transferItem.ENTRY_UOM = materialTrans.Unit; transferItem.HEADER_TXT = materialTrans.ReceiveMemo; transferItem.VENDOR = materialTrans.VendorCode; transferItem.REF_DOC_NO = materialTrans.MoCode; //transferItem.MOVE_TYPE = "411"; transferItem.MOVE_TYPE = materialTrans.SAPCode; transferItemList.Add(transferItem); DT_MES_TRANSFERPOST_REQ materialIssueParameter = new DT_MES_TRANSFERPOST_REQ(); materialIssueParameter.TRANSCODE = this.m_Argument.TransactionCode; materialIssueParameter.TRANSFERITEM = transferItemList.ToArray(); returnValue = RunOne(webServiceEntity, materialTrans, materialIssueParameter); if (!returnValue.Result) { break; } } } else if (runMethod == RunMethod.Manually) { DT_MES_TRANSFERPOST_REQ materialIssueParameter = new DT_MES_TRANSFERPOST_REQ(); materialIssueParameter.TRANSCODE = this.m_Argument.TransactionCode; materialIssueParameter.TRANSFERITEM = this.m_Argument.InventoryList.ToArray(); returnValue = RunOne(webServiceEntity, null, materialIssueParameter); } if (returnValue == null) { returnValue = new ServiceResult(true, "", this.m_Argument.TransactionCode); } return(returnValue); }
public void MI_MES_TRANSFERPOST_REQ([System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:sap2mes:transferpost_ii")] DT_MES_TRANSFERPOST_REQ MT_MES_TRANSFERPOST_REQ) { this.Invoke("MI_MES_TRANSFERPOST_REQ", new object[] { MT_MES_TRANSFERPOST_REQ }); }