예제 #1
0
        //public static DataTable Binddata()
        //{
        //    DataTable dtTable = new DataTable();
        //    DataRow dtRow;
        //    dtTable.Columns.Add("A000", typeof(string));
        //    dtTable.Columns.Add("A001", typeof(string));
        //    dtTable.Columns.Add("A002", typeof(string));
        //    dtTable.Columns.Add("A003", typeof(string));
        //    if (true)
        //    {
        //        dtRow = dtTable.NewRow();
        //        dtRow[0] = "2015/01";
        //        dtRow[1] = "10";
        //        dtRow[2] = "10";
        //        dtRow[3] = "10";
        //        dtTable.Rows.Add(dtRow);
        //    }
        //    if (true)
        //    {
        //        dtRow = dtTable.NewRow();
        //        dtRow[0] = "2015/02";
        //        dtRow[1] = "20";
        //        dtRow[2] = "20";
        //        dtRow[3] = "20";
        //        dtTable.Rows.Add(dtRow);
        //    }
        //    if (true)
        //    {
        //        dtRow = dtTable.NewRow();
        //        dtRow[0] = "2015/03";
        //        dtRow[1] = "30";
        //        dtRow[2] = "30";
        //        dtRow[3] = "30";
        //        dtTable.Rows.Add(dtRow);
        //    }
        //    return dtTable;

        //}


        private static DataTable genera_Stocks(ref string _error, ref string _codigoalmacen)
        {
            string    _codalm = _codigoalmacen;
            DataTable dt_stk  = null;
            string    ruta    = "";

            try
            {
                //DataTable c = Binddata();

                //if (c.Rows.Count > 0 && c.Columns.Count > 1)
                //{
                //    int index = 1;
                //    DataRow dtRow;
                //    DataTable ndt = new DataTable();
                //    ndt.Columns.Add("id", typeof(int));
                //    ndt.Columns.Add("code", typeof(string));
                //    ndt.Columns.Add("date", typeof(string));
                //    ndt.Columns.Add("data", typeof(string));

                //    for (int i = 1; i < c.Columns.Count; i++)
                //    {
                //        DataColumn dc = c.Columns[i];
                //        string clname = dc.ColumnName;
                //        for (int y = 0; y < c.Rows.Count; y++)
                //        {
                //            dtRow = ndt.NewRow();
                //            dtRow[0] = index;
                //            dtRow[1] = clname;
                //            dtRow[2] = c.Rows[y][0].ToString();
                //            dtRow[3] = c.Rows[y][i].ToString();
                //            ndt.Rows.Add(dtRow);
                //            index++;
                //        }
                //    }
                //    DataTable dt2 = ndt;
                //}
                //return null;

                ruta = @"N:\sistemas\comun\";
                //ruta = @"D:\STKAQ\";
                //string strConnDbase = @"Provider = Microsoft.Jet.OLEDB.4.0" +
                //                       ";Data Source = " + ruta +
                //                       ";Extended Properties = dBASE IV" +
                //                       ";User ID=Admin;Password=;";
                string strConnDbase = @"Provider = vfpoledb" +
                                      ";Data Source = " + ruta +
                                      ";Collating Sequence=general;";
                using (OleDbConnection cn = new OleDbConnection(strConnDbase))
                {
                    // Realizo un par de pruebas de inserción de datos en la tabla.

                    //SEMANA
                    string sqlCommand = "select p_year, p_peri from ftperi01 where date()>=p_fini and date()<=p_ffin;";

                    //string sqlCommand = "select * from ftperi01 ;";
                    //string sqlCommand = "select s.csal_ano, s.csal_seman, s.csal_codal, s.csal_artic, s.csal_rmed, sum(csal_stkto) as csal_stkto, sum(csal_med00) as csal_med00, sum(csal_med01) as csal_med01, sum(csal_med02) as csal_med02, sum(csal_med03) as csal_med03, sum(csal_med04) as csal_med04, sum(csal_med05) as csal_med05, sum(csal_med06) as csal_med06, sum(csal_med07) as csal_med07, sum(csal_med08) as csal_med08, sum(csal_med09) as csal_med09, sum(csal_med10) as csal_med10, sum(csal_med11) as csal_med11 from scacsal s where csal_ano+csal_seman='201519' and csal_codal='1' and csal_calid!='2' group by csal_ano, csal_seman, csal_codal, csal_artic, csal_rmed;";
                    OleDbCommand cmdInsertar = new OleDbCommand(sqlCommand, cn);
                    cmdInsertar.CommandTimeout = 0;
                    OleDbDataAdapter da = new OleDbDataAdapter(cmdInsertar);
                    DataSet          dt = new DataSet();
                    da.Fill(dt, "AMART");
                    //cn.Close();

                    string semana = "";

                    if (dt.Tables["AMART"].Rows.Count != 0)
                    {
                        semana = dt.Tables["AMART"].Rows[0]["p_year"].ToString() + dt.Tables["AMART"].Rows[0]["p_peri"].ToString();
                    }

                    //MAESTRO ARTICULOS
                    //sqlCommand = "select mart_artic, mart_rmed, mart_serin, mart_serfi, mart_pvta1 from scamart m where m.mart_secci='6';";
                    //cmdInsertar = new OleDbCommand(sqlCommand, cn);
                    //da = new OleDbDataAdapter(cmdInsertar);
                    //da.Fill(dt, "AMART");

                    //STOCK
                    sqlCommand = "select s.csal_ano, s.csal_seman, s.csal_codal, s.csal_artic, s.csal_rmed, m.mart_pvta1, sum(csal_stkto) as csal_stkto, sum(csal_med00) as csal_med00, sum(csal_med01) as csal_med01, sum(csal_med02) as csal_med02, sum(csal_med03) as csal_med03, sum(csal_med04) as csal_med04, sum(csal_med05) as csal_med05, sum(csal_med06) as csal_med06, sum(csal_med07) as csal_med07, sum(csal_med08) as csal_med08, sum(csal_med09) as csal_med09, sum(csal_med10) as csal_med10, sum(csal_med11) as csal_med11 from scacsal s, scamart m where s.csal_artic=m.mart_artic and m.mart_secci='6' and s.csal_ano+s.csal_seman='" + semana + "' and s.csal_codal='" + _codalm + "' and (s.csal_calid!='2') group by s.csal_ano, s.csal_seman, s.csal_codal, s.csal_artic, s.csal_rmed, m.mart_pvta1;";
                    //_codalm = "1";
                    //sqlCommand = "select s.csal_ano, s.csal_seman, '7' as csal_codal, s.csal_artic, s.csal_rmed, m.mart_pvta1, sum(csal_stkto) as csal_stkto, sum(csal_med00) as csal_med00, sum(csal_med01) as csal_med01, sum(csal_med02) as csal_med02, sum(csal_med03) as csal_med03, sum(csal_med04) as csal_med04, sum(csal_med05) as csal_med05, sum(csal_med06) as csal_med06, sum(csal_med07) as csal_med07, sum(csal_med08) as csal_med08, sum(csal_med09) as csal_med09, sum(csal_med10) as csal_med10, sum(csal_med11) as csal_med11 from scacsal s, scamart m where s.csal_artic=m.mart_artic and m.mart_secci='6' and s.csal_ano+s.csal_seman='" + semana + "' and s.csal_codal='" + _codalm + "' and (s.csal_calid!='2') group by s.csal_ano, s.csal_seman, s.csal_codal, s.csal_artic, s.csal_rmed, m.mart_pvta1;";
                    //_codalm = "7";
                    cmdInsertar = new OleDbCommand(sqlCommand, cn);
                    da          = new OleDbDataAdapter(cmdInsertar);
                    da.Fill(dt, "ACSAL");

                    cn.Close();

                    DataTable tmp      = dt.Tables[1];
                    DataTable dt_tabla = new DataTable();
                    if (tmp.Rows.Count > 0 && tmp.Columns.Count > 1)
                    {
                        int     index = 1;
                        DataRow dtRow;

                        dt_tabla.Columns.Add("cod_artic", typeof(string));
                        dt_tabla.Columns.Add("cod_rgmed", typeof(string));
                        dt_tabla.Columns.Add("talla", typeof(string));
                        dt_tabla.Columns.Add("precio", typeof(double));
                        dt_tabla.Columns.Add("stock", typeof(int));

                        //DataTable ndt = new DataTable();
                        //ndt.Columns.Add("id", typeof(int));
                        //ndt.Columns.Add("code", typeof(string));
                        //ndt.Columns.Add("date", typeof(string));
                        //ndt.Columns.Add("data", typeof(string));

                        for (int i = 7; i < tmp.Columns.Count; i++)
                        {
                            DataColumn dc     = tmp.Columns[i];
                            string     clname = dc.ColumnName;
                            for (int y = 0; y < tmp.Rows.Count; y++)
                            {
                                dtRow    = dt_tabla.NewRow();
                                dtRow[0] = tmp.Rows[y][3].ToString();
                                dtRow[1] = tmp.Rows[y][4].ToString();
                                dtRow[2] = "des_" + Basico.Right(clname, 5);
                                dtRow[3] = 0;
                                //dtRow[2] = tmp.Rows[y][0].ToString();
                                dtRow[4] = Convert.ToInt32(tmp.Rows[y][i]);
                                dt_tabla.Rows.Add(dtRow);
                                index++;
                            }
                        }
                        //dt_stk = dt_tabla;
                    }
                    //return dt_stk;
                    //DataTable dt_tabla = new DataTable();
                    //dt_tabla.Columns.Add("cod_artic", typeof(string));
                    //dt_tabla.Columns.Add("talla", typeof(string));
                    //dt_tabla.Columns.Add("precio", typeof(double));
                    //dt_tabla.Columns.Add("stock", typeof(int));

                    //RECIBOS
                    //for (Int32 i = 0; i < dt.Tables["ACSAL"].Rows.Count; ++i)
                    //{
                    //    for (Int32 j = 0; j <= 11; ++j)
                    //    {
                    //        string cmp;
                    //        if (j < 10)
                    //        {
                    //            cmp = String.Concat("0", j.ToString());
                    //        }
                    //        else
                    //        {
                    //            cmp = j.ToString();
                    //        }
                    //        int val = Convert.ToInt32(dt.Tables["ACSAL"].Rows[i]["csal_med" + cmp].ToString());
                    //        int val1 = 0;
                    //        if (val < 0)
                    //        {
                    //            val1 = 0;
                    //        }
                    //        else
                    //        {
                    //            val1 = val;
                    //        }

                    //        string regla = dt.Tables["ACSAL"].Rows[i]["csal_rmed"].ToString();

                    //        DataRow dr = dt_tabla.NewRow();
                    //        dr[0] = dt.Tables["ACSAL"].Rows[i]["csal_artic"].ToString();
                    //        dr[1] = medida(regla, cmp.ToString());
                    //        dr[2] = Convert.ToDecimal(dt.Tables["ACSAL"].Rows[i]["mart_pvta1"].ToString());
                    //        dr[3] = val1;

                    //        if (dr[1].ToString() != "")
                    //        {
                    //            dt_tabla.Rows.Add(dr);
                    //        }
                    //        //dt_tabla.Rows.Add(dt.Rows[i]["talla"].ToString(), dt.Rows[i]["campo"].ToString());
                    //        //}
                    //        //catch (Exception e) { }
                    //    }
                    //}

                    dt_stk = dt_tabla;
                }
            }
            catch (Exception exc)
            {
                _error = exc.Message + " - " + ruta;
                dt_stk = null;
            }
            return(dt_stk);
        }
예제 #2
0
        private static string medida(string regla, string medida)
        {
            string med = "";
            Int32  ini = 0;

            switch (regla)
            {
            case "A":
                ini = 16;
                break;

            case "B":
                ini = 26;
                break;

            case "C":
                ini = 32;
                break;

            case "D":
                ini = 37;
                break;

            case "E":
                ini = 0;
                break;

            case "0":
                ini = 6;
                break;

            case "G":
                ini = 0;
                break;

            case "H":
                ini = 26;
                break;

            case "I":
                ini = 0;
                break;

            case "K":
                ini = 2;
                break;

            case "L":
                ini = 34;
                break;
            }
            switch (regla)
            {
            case "F":
                switch (medida)
                {
                case "00":
                    med = "XC";
                    break;

                case "01":
                    med = "XS";
                    break;

                case "02":
                    med = "S";
                    break;

                case "03":
                    med = "M";
                    break;

                case "04":
                    med = "L";
                    break;

                case "05":
                    med = "XL";
                    break;

                case "06":
                    med = "XG";
                    break;
                }
                break;

            case "G":
                switch (medida)
                {
                case "01":
                    med = "01";
                    break;

                case "02":
                    med = "02";
                    break;

                case "03":
                    med = "03";
                    break;

                case "04":
                    med = "04";
                    break;

                case "05":
                    med = "05";
                    break;

                case "06":
                    med = "06";
                    break;

                case "07":
                    med = "08";
                    break;

                case "08":
                    med = "10";
                    break;

                case "09":
                    med = "12";
                    break;
                }

                break;

            case "H":
                med = Basico.Right("0".ToString().PadLeft(1, '0') + (ini + Convert.ToInt32(medida) * 2), 2);
                //med =Basico.Right(replicate('0', 1) + CAST(@ini + @aux * 2 AS varchar(12)), 2);
                break;

            case "I":
                med = Basico.Right("0".ToString().PadLeft(1, '0') + (ini + Convert.ToInt32(medida) * 3), 2);
                //med = right(replicate('0', 1) + CAST(@ini + @aux * 3 AS varchar(12)), 2);
                break;

            case "K":
                med = (ini + Convert.ToInt32(medida) * 2).ToString();
                //med =Basico.Right(replicate('0', 1) + CAST(@ini + @aux * 2 AS varchar(12)), 2);
                break;

            case "L":
                med = Basico.Right("0".ToString().PadLeft(1, '0') + (ini + Convert.ToInt32(medida) * 2), 2);
                //med =Basico.Right(replicate('0', 1) + CAST(@ini + @aux * 2 AS varchar(12)), 2);
                break;

            case "J":
                switch (medida)
                {
                case "00":
                    med = "00";
                    break;

                case "01":
                    med = "03";
                    break;

                case "02":
                    med = "06";
                    break;

                case "03":
                    med = "12";
                    break;

                case "04":
                    med = "13";
                    break;
                }
                break;

            case "M":
                switch (medida)
                {
                case "00":
                    med = "50";
                    break;

                case "01":
                    med = "55";
                    break;

                case "02":
                    med = "60";
                    break;

                case "03":
                    med = "65";
                    break;

                case "04":
                    med = "70";
                    break;

                case "05":
                    med = "75";
                    break;

                case "06":
                    med = "80";
                    break;

                case "07":
                    med = "85";
                    break;

                case "08":
                    med = "90";
                    break;

                case "09":
                    med = "95";
                    break;

                case "10":
                    med = "98";
                    break;
                }
                break;

            case "N":
                switch (medida)
                {
                case "00":
                    med = "65";
                    break;

                case "01":
                    med = "70";
                    break;

                case "02":
                    med = "75";
                    break;

                case "03":
                    med = "80";
                    break;

                case "04":
                    med = "85";
                    break;

                case "05":
                    med = "90";
                    break;

                case "06":
                    med = "94";
                    break;

                case "07":
                    med = "95";
                    break;

                case "08":
                    med = "96";
                    break;

                case "09":
                    med = "97";
                    break;

                case "10":
                    med = "98";
                    break;

                case "11":
                    med = "99";
                    break;
                }
                break;

            default:
                med = (Convert.ToInt32(medida) + ini).ToString().PadLeft(2, '0');
                break;
            }

            //if (regla == "F")
            //{

            //}
            //else
            //{
            //    med = (Convert.ToInt32(medida) + ini).ToString().PadLeft(2, '0');
            //}


            return(med);
        }