예제 #1
0
        public static void UpdateStatusReleased(T41Entity two, ProductionOrders prd)
        {
            principal.GravaAudit("Inicia OP Liberado");
            using (var rs = new MyRecordSet())
            {
                principal.GravaAudit("Pesquisa OP " + two.OWOR_DocNum);
                if (prd.GetByKey(two.OWOR_DocNum))
                {
                    principal.GravaAudit("Acho OP");
                    prd.ProductionOrderStatus = BoProductionOrderStatusEnum.boposReleased;
                }

                int ii = prd.Update();

                if (ii != 0)
                {
                    principal.GravaAudit("Erro " + MyLibs.v2.sbo.SAPConnection.DI.GetLastErrorDescription());
                }
                else
                {
                    principal.GravaAudit("Atualizado para liberado com sucesso");
                }
            }
            principal.GravaAudit("termino OP Liberado");
        }
예제 #2
0
        /// <summary>
        /// Atualiza o Status do pedido na tabela de transações WO
        /// </summary>
        /// <param name="two"></param>
        public static void UpdateStatus(T41Entity two)
        {
            using (var rs = new MyRecordSet())
            {
                var sql = "UPDATE [Sage_Transaction41] SET ReadySAP = '{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("'", "''"));
            }
        }
예제 #3
0
        public static void UpdateStatus41(T41Entity two)
        {
            principal.GravaAudit("Inicio 41");
            using (var rs = new MyRecordSet())
            {
                string sql = "UPDATE [Sage_Transaction41] SET ReadySAP = '" + two.ReadBySAP + "' , ";
                sql += "OWOR_DocNum = '" + two.OWOR_DocNum + "' ";
                sql += "WHERE OWOR_Order_Jomar =  '" + two.OWOR_U_ORDER_JOMAR + "'";

                principal.GravaAudit(sql);
                principal.GravaAudit("Read " + two.ReadBySAP + " Docnum " + two.OWOR_DocNum);
                rs.DoQuery(sql);
            }
            principal.GravaAudit("Termino 41");
        }
예제 #4
0
        /// <summary>
        /// Retorna as entidades de transações não lida pelo SAP.
        /// </summary>
        /// <param name="isnew">Buscar somente novas entradas?</param>
        /// <returns></returns>
        public static List <T41Entity> GetDados(bool isnew)
        {
            var transacoes = new List <T41Entity>();

            principal.GravaAudit("MyRecordSet ini");
            using (var conn = new MyRecordSet())
            {
                //if (isnew) // TODO @BFAGUNDES -

                conn.DoQuery("SELECT distinct (Select Top 1 Docentry from OWOR where U_Order_Jomar = T0.owor_order_jomar and status = 'R') As OWOR_DocNum1, TransactionType, ReadySAP, OWOR_ORDER_JOMAR FROM [dbo].[Sage_Transaction41] T0 WITH (NOLOCK) WHERE [TransactionType] = 41 AND ReadySAP <> 'Y' ");
                //else
                //conn.DoQuery("SELECT TOP 500 * FROM [dbo].[Sage_Transaction_WO] WITH (NOLOCK) WHERE [TransactionType] = 40 AND OWOR_DocNum > 0  ORDER BY ReadBySAP DESC");
                while (conn.HasNext())
                {
                    var trans = new T41Entity();
                    try
                    {
                        trans.TransType          = conn.GetFieldValue("TransactionType").ToInt();
                        trans.ReadBySAP          = conn.GetFieldValue("ReadySAP").ToChar();
                        trans.OWOR_U_ORDER_JOMAR = conn.GetFieldValue("OWOR_ORDER_JOMAR").ToString();
                        trans.OWOR_DocNum        = conn.GetFieldValue("OWOR_DocNum1").ToInt();
                        //trans.OWOR_WareHouse = conn.GetFieldValue("OWOR_WareHouse").ToString();
                        //trans.OWOR_PostDate = conn.GetFieldValue("OWOR_PostDate").ToDate();
                        //trans.OWOR_DueDate = conn.GetFieldValue("OWOR_DueDate").ToDate();
                        //trans.OWOR_Project = conn.GetFieldValue("OWOR_Project").ToString();
                        //trans.OWOR_Remarks = String.Format("ID {0} - Transação 40. {1}", trans.Id, conn.GetFieldValue("OWOR_Remarks").ToString());

                        transacoes.Add(trans);
                    }
                    catch (Exception ex)
                    {
                        trans.ReadBySAP = 'E';
                        trans.MSG_SAP   = ex.Message;

                        UpdateStatus(trans);

                        principal.GravaAudit("Erro empacotar ID " + trans.Id.ToString() + " " + ex.Message.ToString());
                    }
                }
                principal.GravaAudit("Termino While");
            }

            return(transacoes);
        }
예제 #5
0
        public static void UpdateLineOP(T41Entity two, ProductionOrders prd)
        {
            try
            {
                using (var rs = new MyRecordSet())
                {
                    try
                    {
                        principal.GravaAudit("Inicio remove linhas OP");
                        string sql1 = "delete from WOR1 where docentry = " + two.OWOR_DocNum + "and ItemType = 4 ";

                        rs.DoQuery(sql1);
                        principal.GravaAudit("Termino remove linhas OP ");
                    }
                    catch (Exception ex)
                    {
                        principal.GravaAudit("EX " + ex.Message.ToString());
                        principal.GravaAudit("Continua");
                    }

                    string sql = "Select distinct T1.DocEntry, T3.ItemCode, 'PP' As 'ProductionWarehouse', ConsumptionQuantity , T0.OItm_CodeBars, T0.OWor_DocNum from [Sage_Transaction41] T0 ";
                    sql += "left join OWOR T1 on T1.U_ORDER_JOMAR = T0.OWOR_Order_Jomar and T1.Type = 'S'";
                    sql += "left join OITM T3 on T3.CodeBars = T0.OITM_CodeBars ";
                    sql += "left join ITT1 T2 on T2.Code = T3.ItemCode and T2.Type = 4 ";
                    sql += "where T0.OWOR_Order_Jomar = '" + two.OWOR_U_ORDER_JOMAR + "' and readySAP <> 'Y' ";

                    principal.GravaAudit("Inicio add linhas OP");
                    principal.GravaAudit(sql);
                    rs.DoQuery(sql);

                    int a  = 0;
                    int ii = 0;
                    while (rs.HasNext())
                    {
                        if (prd.GetByKey(rs.GetFieldValue(0).ToInt()))
                        {
                            principal.GravaAudit("Item " + rs.GetFieldValue(1).ToString());
                            principal.GravaAudit("PlannedQuantity " + rs.GetFieldValue(3).ToDouble().ToString());
                            principal.GravaAudit("Warehouse " + rs.GetFieldValue(2).ToString());
                            principal.GravaAudit("U_Line_Jomar " + two.OWOR_U_ORDER_JOMAR);

                            prd.Lines.Add();
                            prd.Lines.ItemNo          = rs.GetFieldValue(1).ToString();
                            prd.Lines.ItemType        = ProductionItemType.pit_Item;
                            prd.Lines.PlannedQuantity = rs.GetFieldValue(3).ToDouble();
                            //prd.Lines.BaseQuantity = rs.GetFieldValue(0).ToInt();
                            prd.Lines.Warehouse = rs.GetFieldValue(2).ToString();
                            prd.Lines.UserFields.Fields.Item("U_Line_Jomar").Value = two.OWOR_U_ORDER_JOMAR;
                            ii = prd.Update();
                        }
                    }

                    principal.GravaAudit("Termino add linhas OP");


                    if (ii != 0)
                    {
                        principal.GravaAudit("Erro " + MyLibs.v2.sbo.SAPConnection.DI.GetLastErrorDescription());
                    }
                    else
                    {
                        two.ReadBySAP = 'Y';
                        UpdateStatus41(two);
                        principal.GravaAudit("Concluido com sucesso");
                    }
                }
            }
            catch (Exception ex)
            {
                principal.GravaAudit("Erro " + ex.Message.ToString());
            }
        }