예제 #1
0
        public string AddEndTraffic(RFTASK rftask)
        {
            string        res;
            StringBuilder query = new StringBuilder();

            query.Append(" INSERT INTO RFTASK");
            query.Append(" (TAPP, TCATEG, TKEYWORD,");
            query.Append(" TKEY, TTIPO, TPRM, TPGM)");
            query.Append(" VALUES('API', 'FINTRANSITO',");
            query.AppendFormat(" '{0}',", rftask.TKEYWORD);
            query.AppendFormat(" '{0}',", rftask.TKEY);
            query.Append(" 'Rutina',");
            query.AppendFormat(" '|CONSO={0}',", rftask.TPRM);
            query.AppendFormat(" '{0}')", rftask.TPGM);

            try
            {
                db.Execute(query.ToString());
                //res = "OK";
                query.Clear();
                query.Append("SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1");
                res = db.Query <string>(query.ToString()).Single().ToString();
            }
            catch (iDB2SQLErrorException ex)
            {
                res = "ERROR: " + ex.Message;
            }
            catch (Exception ex)
            {
                res = "ERROR: " + ex.Message;
            }
            return(res);
        }
예제 #2
0
        private string Someter(string Id, RespuestaSometer400 Resultado)
        {
            string res = "";

            if (Resultado == null)
            {
                mRFTASK = dRFTASK.FindTask(Id);
                if (mRFTASK != null)
                {
                    res = dRFTASK.CallPgmJva(mRFTASK);
                }
            }
            else
            {
                //var javaScriptSer = new JavaScriptSerializer();
                //var value = (RespuestaSometer400)javaScriptSer.Deserialize(Resultado, typeof(RespuestaSometer400));

                System.Web.HttpContext.Current.Application["APIBRINSA_" + Id] = Resultado;

                //RespuestaSometer400 s = (RespuestaSometer400)System.Web.HttpContext.Current.Application["APIBRINSA_" + Id];
            }


            return(res);
        }
예제 #3
0
        private string EndTraffic(FiltroTrafico Fil)
        {
            var resu = "";

            mRHCC = dRHCC.GetConsoTrafico(Fil.CONSO);
            if (mRHCC != null)
            {
                //var xml = GeneraXMLEnd(mRHCC.HPLACA, mRHCC.HMANIF, "brinsa", "brinsa2017", int.Parse(consoli));
                var hh        = new com.nygsoft.huella.Servicioingresonuevotrafico();
                var respuesta = hh.finalizarTrafico(mRHCC.HPLACA, mRHCC.HMANIF, "brinsa", "brinsa2017", int.Parse(Fil.CONSO));
                resu = respuesta[0].mensaje;
                var nRFTASK = new RFTASK()
                {
                    TKEY     = Fil.CONSO,
                    TKEYWORD = Fil.CONSO,
                    TPRM     = Fil.CONSO,
                    TPGM     = resu
                };
                resu = dRFTASK.AddEndTraffic(nRFTASK);
                if (!resu.Contains("ERROR"))
                {
                    try
                    {
                        var filtro = new FiltroServicios()
                        {
                            USUARIO  = Fil.USUARIO,
                            PASSWORD = Fil.PASSWORD,
                            ACCION   = "RUTINA",
                            IDTAREA  = resu
                        };
                        var s    = new ServiciosController();
                        var res  = s.Rutinas(filtro);
                        var res2 = ((System.Web.Http.Results.JsonResult <RespuestaRutina>)res).Content;
                        resu = res2.Mensaje;
                    }
                    catch (Exception ex)
                    {
                        var nRFLOG = new RFLOG()
                        {
                            OPERACION = "ENDTRAFFIC",
                            EVENTO    = "ERROR",
                            TXTSQL    = ex.Message.Replace("'", "''"),
                            ALERT     = "0"
                        };
                        resu = dRFLOG.Add(nRFLOG);
                        resu = "ERROR Tarea: " + resu + ex.Message;
                        if (ex.InnerException != null)
                        {
                            resu = resu + " - " + ex.InnerException;
                        }
                        if (ex.StackTrace != null)
                        {
                            resu = resu + " - " + ex.StackTrace;
                        }
                    }
                }
            }

            return(resu);
        }
예제 #4
0
        public string AddAviso(RFTASK rftask)
        {
            string        res;
            StringBuilder query = new StringBuilder();

            query.Append(" INSERT INTO RFTASK");
            query.Append(" (TCATEG, TSUBCAT, TDESC, TNUMTAREA,");
            query.Append(" TFPROXIMA, TFRECUENCIA, TTIPO, THLD, TKEY, TKEYWORD,");
            query.Append(" STS1, TCRTUSR, TPGM ) ");

            query.Append(" VALUES('AVISODESPACHO', ' ', 'Aviso de Despacho EDI',");
            query.Append(" " + CalcConsec("RFTASKBATCH", 7) + ", NOW(),");
            query.Append(" '0', 'Rutina', '1',");
            query.Append(" '" + rftask.TKEY + "', '" + rftask.TKEYWORD + "',");
            query.Append(" '0', 'API', 'E:\\Despachos_DB\\rutina.bat'");

            try
            {
                db.Execute(query.ToString());
                res = "OK";
            }
            catch (iDB2SQLErrorException ex)
            {
                res = ex.Message;
            }
            catch (Exception ex)
            {
                res = ex.Message;
            }
            return(res);
        }
예제 #5
0
        public string Add(RFTASK rftask)
        {
            string        res;
            StringBuilder query = new StringBuilder();

            query.Append(" INSERT INTO RFTASK");
            query.Append(" (TCATEG, TSUBCAT, TDESC, TNUMTAREA,");
            query.Append(" TFPROXIMA, TTIPO, TPRM, TKEY, TKEYWORD, TCRTUSR, TPGM)");
            query.Append(" VALUES('RECC', 'SMSSALIDA', '',");
            query.Append(" " + CalcConsec("RFTASKBATCH", 7) + ", NOW(),");
            query.Append(" 'Rutina', '" + rftask.TPRM + "', '" + rftask.TKEY + "',");
            query.Append(" '" + rftask.TKEYWORD + "', '" + rftask.TCRTUSR + "',");
            query.Append(" 'E:\\Despachos_DB2\\rutina.bat')");

            try
            {
                db.Execute(query.ToString());
                res = "OK";
            }
            catch (iDB2SQLErrorException ex)
            {
                res = ex.Message;
            }
            catch (Exception ex)
            {
                res = ex.Message;
            }
            return(res);
        }
예제 #6
0
        private RespuestaRutina Rutina2_0(string Id, string Espera)
        {
            RespuestaRutina res = new RespuestaRutina();
            string          exe = "", parameters = "";
            var             rutaEXE = dRFPARAM.GetDirPDF("LXLONG", "RUTINAS2.0");

            mRFTASK = dRFTASK.FindTask(Id);

            exe        = rutaEXE.CCNOT1.Trim();
            parameters = string.Format("{0} IDTAREA={1}", mRFTASK.TPRM.Replace("|", " ").Trim(), Id);
            var process = Process.Start(exe, parameters);

            if (Espera != null)
            {
                if (Espera.ToUpper() == "SI")
                {
                    process.WaitForExit();
                    if (process.HasExited)
                    {
                        mRFTASK = dRFTASK.FindTask(Id);
                        if (mRFTASK != null)
                        {
                            res = new RespuestaRutina()
                            {
                                Estado  = int.Parse(mRFTASK.STS1),
                                Mensaje = mRFTASK.TMSG
                            };
                        }
                        else
                        {
                            res = new RespuestaRutina()
                            {
                                Estado  = 0,
                                Mensaje = "Sin Respuesta"
                            };
                        }
                    }
                }
                else
                {
                    res = new RespuestaRutina()
                    {
                        Estado  = 0,
                        Mensaje = "OK"
                    };
                }
            }
            else
            {
                res = new RespuestaRutina()
                {
                    Estado  = 0,
                    Mensaje = "OK"
                };
            }

            return(res);
        }
예제 #7
0
        private void AvisoDespacho(string Prefijo, string Factura)
        {
            bool bGenera = true;

            if (!CtlProcesoUnico("FACTURAS", Prefijo + Factura + ".AVISODESPACHO"))
            {
                return;
            }

            RFFACCAB ADRFFACCAB = dRFFACCAB.GetFlag3(Prefijo, Factura);

            if (ADRFFACCAB != null)
            {
                if (ADRFFACCAB.FAFLAG03 != "0")
                {
                    bGenera = false;
                }
            }

            if (!bGenera)
            {
                return;
            }
            bGenera    = false;
            ADRFFACCAB = dRFFACCAB.GetCCNUM(Prefijo, Factura);
            if (ADRFFACCAB != null)
            {
                bGenera = true;
            }
            else
            {
                ADRFFACCAB = dRFFACCAB.GetCCNUMCode(Prefijo, Factura);
                if (ADRFFACCAB != null)
                {
                    bGenera = true;
                }
            }
            if (!bGenera)
            {
                return;
            }
            dRFFACCAB.UpdFlag3(Prefijo, Factura);

            RFTASK mRFTASK = new RFTASK()
            {
                TKEY     = Prefijo + Factura,
                TKEYWORD = Prefijo + Factura
            };

            dRFTASK.AddAviso(mRFTASK);
        }
예제 #8
0
        private string Conso(string consoli, string hora, string entrada, string planta)
        {
            string result = "";
            bool   sale   = false;
            bool   entra  = false;
            var    Prove  = "";

            mRHCC = null;
            mRHCC = new RHCC()
            {
                HCONSO = consoli,
                HPLTA  = planta
            };
            mRHCC = dRHCC.GetConsoSalida(mRHCC);
            if (mRHCC != null)
            {
                Prove   = mRHCC.HPROVE;
                entrada = "False";
                if (mRHCC.HSTS >= 30 && mRHCC.HSTS <= 50)
                {
                    sale    = true;
                    entrada = "False";
                }
                else
                {
                    mRFLOG.OPERACION = "Consulta RHCC Estado";
                    mRFLOG.EVENTO    = "Consolidado " + consoli + " con estado " + mRHCC.HSTS;
                    mRFLOG.ALERT     = "0";
                    mRFLOG.USUARIO   = "";
                    result           = dRFLOG.Add(mRFLOG);
                    if (result == "OK")
                    {
                        result = "RHCC Estado no esta entre 30 y 50";
                    }
                }
                if (mRHCC.HSTS > 50)
                {
                    sale    = false;
                    entrada = "False";
                }

                if (entrada == "OK")
                {
                    mRRCC.RREPORT = "Llegada a Planta";
                    mRRCC.RCRTDAT = hora;
                    mRRCC.RAPP    = "SMSENTRADA";
                    mRRCC.HCONSO  = consoli;
                    result        = dRRCC.Add(mRRCC);
                    if (result == "OK")
                    {
                        mRRCCT.RFEC17 = hora;
                        mRRCCT.RCONSO = consoli;
                        result        = dRRCCT.Update(mRRCCT);
                        if (result == "OK" && entra)
                        {
                            mRHCC.HESTAD = "17";
                            mRHCC.HLLEGA = hora;
                            mRHCC.HCONSO = consoli;
                            mRHCC.HSTS   = 20;
                            result       = dRHCC.Update(mRHCC);
                        }
                    }
                }
                else
                {
                    var condespacho = dRDCC.GetDespacho(consoli);
                    if (condespacho.Count != 0)
                    {
                        var existRRCC = dRRCC.FindConso(consoli, "SMSSALIDA");
                        if (existRRCC.Count == 0)
                        {
                            if (sale)
                            {
                                mRHCC = null;
                                mRHCC = new RHCC
                                {
                                    HESTAD = "5",
                                    HSALE  = hora,
                                    HCONSO = consoli,
                                    HSTS   = 50
                                };
                                result = dRHCC.Update(mRHCC);
                            }
                            else
                            {
                                result = "OK";
                            }
                            if (result == "OK")
                            {
                                mRRCC.RREPORT = "Salida de Planta";
                                mRRCC.RCRTDAT = hora;
                                mRRCC.RAPP    = "SMSSALIDA";
                                mRRCC.HCONSO  = consoli;
                                result        = dRRCC.Add(mRRCC);
                                if (result == "OK")
                                {
                                    mRDRIVERDAT = dRDRIVERDAT.GetInfo(consoli);
                                    if (mRDRIVERDAT == null)
                                    {
                                        result = dRDRIVERDAT.Add(consoli);
                                    }
                                    if (result == "OK")
                                    {
                                        mRRCCT        = null;
                                        mRRCCT        = new RRCCT();
                                        mRRCCT.RFEC50 = hora;
                                        mRRCCT.RCONSO = consoli;
                                        result        = dRRCCT.Update(mRRCCT);
                                    }
                                }
                            }
                            var nRFTASK = new RFTASK()
                            {
                                TPRM     = "|CONSO=" + consoli,
                                TKEY     = consoli,
                                TKEYWORD = consoli,
                                TCRTUSR  = "******"
                            };
                            result = dRFTASK.Add(nRFTASK);
                        }
                        else
                        {
                            result = "Ya se realizó la salida";
                        }
                    }
                    else
                    {
                        mRFLOG.OPERACION = "Consulta Despacho";
                        mRFLOG.EVENTO    = "Consolidado " + consoli + " sin despacho";
                        mRFLOG.ALERT     = "1";
                        result           = dRFLOG.Add(mRFLOG);
                    }
                }
                if (Prove == "5115")
                {
                    var nTra = new FiltroTrafico()
                    {
                        ACCION   = "nuevotrafico",
                        USUARIO  = "BSS2",
                        PASSWORD = "******",
                        CONSO    = consoli
                    };
                    var t = new TraficoController();
                    t.Reporte(nTra);
                }
            }
            else
            {
                mRFLOG.OPERACION = "Consulta Consolidado";
                mRFLOG.EVENTO    = "No Existe Consolidado " + consoli;
                mRFLOG.ALERT     = "1";
                result           = dRFLOG.Add(mRFLOG);
            }

            return(result);
        }
예제 #9
0
        public string CallPgmJva(RFTASK datos)
        {
            StringBuilder sCmd      = new StringBuilder();
            StringBuilder sSbm      = new StringBuilder();
            string        resultado = "";

            sCmd.Append("RUNJVA CLASS(someteTarea)");
            sCmd.AppendFormat(" PARM( '-lib' '{0}' '-id' '{1}' )", datos.TAMBIENTE, datos.TNUMREG);
            sCmd.AppendFormat(" {0}", JvaClassPath("RJTAREA", datos.TAMBIENTE));

            sSbm.AppendFormat("SBMJOB CMD( {0} )", sCmd.ToString());
            sSbm.AppendFormat(" JOB( {0} )", datos.TJOB400);
            sSbm.AppendFormat(" JOBD( {0} )", datos.TJOBD);
            sSbm.AppendFormat(" JOBQ( {0} )", datos.TJOBQ);

            try
            {
                resultado = CallPgm(sSbm.ToString());
            }
            catch (iDB2SQLErrorException ex)
            {
                resultado = "ERROR: " + ex.Message;
                if (ex.InnerException != null)
                {
                    resultado = resultado + " - " + ex.InnerException;
                }
                if (ex.StackTrace != null)
                {
                    resultado = resultado + " - " + ex.StackTrace;
                }
            }
            catch (iDB2Exception ex)
            {
                resultado = "ERROR: " + ex.Message;
                if (ex.InnerException != null)
                {
                    resultado = resultado + " - " + ex.InnerException;
                }
                if (ex.StackTrace != null)
                {
                    resultado = resultado + " - " + ex.StackTrace;
                }
            }
            catch (Exception ex)
            {
                resultado = "ERROR: " + ex.Message;
                if (ex.InnerException != null)
                {
                    resultado = resultado + " - " + ex.InnerException;
                }
                if (ex.StackTrace != null)
                {
                    resultado = resultado + " - " + ex.StackTrace;
                }
            }
            finally
            {
                if (resultado.Contains("ERROR"))
                {
                    resultado = resultado + " | " + sSbm.ToString();
                    var nRFLOG = new RFLOG()
                    {
                        OPERACION = "SOMETER400",
                        EVENTO    = "ERROR",
                        TXTSQL    = resultado.Replace("'", "''"),
                        ALERT     = "0"
                    };
                    IRFLOGRepository dRFLOG = new RFLOGRepository();
                    resultado = dRFLOG.Add(nRFLOG);
                }
            }
            return(resultado);
        }