Ejemplo n.º 1
0
        /// <summary>
        /// Atualiza o Status do pedido na tabela de transações WO
        /// </summary>
        /// <param name="two"></param>
        public static void UpdateStatus(TWOEntity two)
        {
            if (two.Id == 0)
            {
                TWONegDAO.UpdateStatus(two);
            }
            else
            {
                using (var rs = new MyRecordSet())
                {
                    var sql = "UPDATE [Sage_Transaction_WO] SET ReadBySAP = '{0}', OWOR_DocNum = '{1}',[MSG_SBO] = '{3}' WHERE Id = '{2}'";

                    principal.GravaAudit(String.Format(sql, two.ReadBySAP, two.OWOR_DocNum, two.Id, two.MSG_SAP.Replace("'", "''")));
                    rs.DoQuery(sql, two.ReadBySAP, two.OWOR_DocNum, two.Id, two.MSG_SAP.Replace("'", "''"));
                }
            }
        }
Ejemplo n.º 2
0
        public static void Start(BoProductionOrderTypeEnum type)
        {
            switch (type)
            {
            case BoProductionOrderTypeEnum.bopotStandard:
                #region Montagem Padrão
                try
                {
                    //while (TWODAO.TransactionOpen())
                    //{
                    // 1º Procura as novas ordem de produção
                    var twolista = TWODAO.GetDados(true);
                    var sapTrans = new TransactionWO();

                    MyLibs.v2.local.Register.Log.Register("Transação WO"
                                                          , System.Diagnostics.EventLogEntryType.Information
                                                          , "0 - Criando as Ordens de Produção.");

                    foreach (var two in twolista)
                    {
                        if (!two.Exist_OWOR)
                        {
                            sapTrans.OWORWithProductTreeDefault(two);
                        }
                        else
                        {
                            two.MSG_SAP = "Ordem de Produção já criada. Número da Ordem " + two.OWOR_DocNum;
                            TWODAO.UpdateStatus(two);
                        }
                    }

                    twolista.Clear();
                    twolista = null;
                    //}
                }
                catch (Exception ex)
                {
                    MyLibs.v2.local.Register.Log.Register("Transação WO"
                                                          , System.Diagnostics.EventLogEntryType.Error
                                                          , ex.Message);
                }
                #endregion
                break;

            case BoProductionOrderTypeEnum.bopotDisassembly:
                //
                #region Desmontagem
                try
                {
                    // 1º Procura as ordens a desmontar
                    var tnwolista = TWONegDAO.GetForOWOR();
                    var sapTrans  = new TransactionWO();

                    MyLibs.v2.local.Register.Log.Register("Transação -WO"
                                                          , System.Diagnostics.EventLogEntryType.Information
                                                          , "0 - Criando as Ordens de Produção (Desmontagem).");

                    foreach (var tnwo in tnwolista)
                    {
                        var valido = false;
                        //if (Properties.Settings.Default.ValidarDesmontagem)
                        //    valido = tnwo.Exist_OWOR;
                        //else
                        //{
                        //    valido = true;
                        //    MyLibs.v2.local.Register.Log.Register("Transação -WO"
                        //        , System.Diagnostics.EventLogEntryType.Warning
                        //        , "A desmontagem não está validando as montagens criadas.");
                        //}

                        if (valido)
                        {
                            sapTrans.OWORWithProductTreeDefault(tnwo);
                        }
                        else
                        {
                            tnwo.ReadBySAP = 'E';
                            tnwo.MSG_SAP   = "Não foi localizada nenhuma ordem de produção no SAP vinculada a ordem de produção Jomar nº " + tnwo.OWOR_U_ORDER_JOMAR + ".";
                            TWODAO.UpdateStatus(tnwo);

                            MyLibs.v2.local.Register.Log.Register("Transação -WO"
                                                                  , System.Diagnostics.EventLogEntryType.Error
                                                                  , tnwo.MSG_SAP);
                        }
                    }

                    tnwolista.Clear();
                    tnwolista = null;
                }
                catch (Exception ex)
                {
                    MyLibs.v2.local.Register.Log.Register("Transação WO"
                                                          , System.Diagnostics.EventLogEntryType.Error
                                                          , ex.Message);
                }
                #endregion
                break;
            }
        }