Exemple #1
0
        private void SetInfo()
        {
            this.txtInfo.Text = string.Empty;

            SAPStorageQuery query   = null;
            StringBuilder   builder = new StringBuilder();

            object[] list = _InventoryFacade.QuerySAPStorageQuery(FlagStatus.FlagStatus_SAP, string.Empty);
            if (list != null)
            {
                query = (SAPStorageQuery)list[list.Length - 1];

                builder.Append(this.languageComponent1.GetString("LastSyncDateTime"));
                builder.Append(":");
                builder.Append(FormatHelper.ToDateString(query.MaintainDate, "-"));
                builder.Append(" ");
                builder.Append(FormatHelper.ToTimeString(query.MaintainTime, ":"));
                builder.Append(" ");
                builder.Append(this.languageComponent1.GetString("Factory"));
                builder.Append(":");
                builder.Append(query.OrganizationID);
                builder.Append(" ");
                builder.Append(this.languageComponent1.GetString("Storage"));
                builder.Append(":");
                builder.Append(query.StorageID);
                builder.Append(" ");
                builder.Append(this.languageComponent1.GetString("ItemCode"));
                builder.Append(":");
                builder.Append(query.ItemCode);

                this.txtInfo.Text = builder.ToString();
            }
        }
Exemple #2
0
        protected void cmdSAPStorageSync_ServerClick(object sender, System.EventArgs e)
        {
            if (!ValidateInput())
            {
                return;
            }

            SAPStorageQuery query = _InventoryFacade.CreateNewSAPStorageQuery();

            query.Flag           = FlagStatus.FlagStatus_MES;
            query.OrganizationID = FormatHelper.CleanString(FormatHelper.PKCapitalFormat(this.txtFactoryQuery.Text));
            query.StorageID      = FormatHelper.CleanString(FormatHelper.PKCapitalFormat(this.txtStorageQuery.Text));
            query.ItemCode       = FormatHelper.CleanString(FormatHelper.PKCapitalFormat(this.txtItemCodeQuery.Text));
            query.MaintainUser   = this.GetUserCode();

            _InventoryFacade.AddSAPStorageQuery(query);

            this.txtFactoryQuery.Text  = string.Empty;
            this.txtStorageQuery.Text  = string.Empty;
            this.txtItemCodeQuery.Text = string.Empty;
        }
        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));
        }