示例#1
0
        /// <summary>
        /// OBTIENE LOS DATOS DEL CLIENTE
        /// </summary>
        public void DCliente()
        {
            try
            {
                lblErrorCod.Visible = false;
                SI_OS_CustomerStatementClient    cli = new SI_OS_CustomerStatementClient("HTTP_Port");
                requestCustomerStatementRequest  d   = new requestCustomerStatementRequest();
                requestCustomerStatementResponse x   = new requestCustomerStatementResponse();
                d.MT_CustomerStatementReq               = new DT_CustomerStatementReq();
                d.MT_CustomerStatementReq.I_KUNNR       = txtCodObra.Text.Trim();
                d.MT_CustomerStatementReq.I_VKORG       = "7544";
                d.MT_CustomerStatementReq.I_VTWEG       = "00";
                d.MT_CustomerStatementReq.I_SPART       = (txtSector.Text.Trim() == "" ? "0" : (txtSector.Text.Trim().Length == 1 & int.Parse(txtSector.Text) < 10 ? "0" + txtSector.Text.Trim() : txtSector.Text.Trim()));
                d.MT_CustomerStatementReq.I_FCURR       = "COP";
                d.MT_CustomerStatementReq.I_TCURR       = "COP";
                cli.ClientCredentials.UserName.UserName = "******";
                cli.ClientCredentials.UserName.Password = "******";
                SI_OS_CustomerStatement inter2 = cli;
                x.MT_CustomerStatementResp = inter2.requestCustomerStatement(d).MT_CustomerStatementResp;
                if (x.MT_CustomerStatementResp.E_EXCEPTION == string.Empty | x.MT_CustomerStatementResp.E_EXCEPTION == null)
                {
                    txtCodObra.Enabled = false;
                    btnValidar.Enabled = false;
                    txtSector.Enabled  = false;
                    DataTable dt      = new DataTable();
                    DataTable dtEC    = new DataTable();
                    DataTable dtSeg   = new DataTable();
                    DataTable dtBl    = new DataTable();
                    DataTable dtVen   = new DataTable();
                    DataTable dtVenL  = new DataTable();
                    DataTable dtExAll = new DataTable();
                    DataRow   row;
                    SimServ   Master = new SimServ();
                    if (x.MT_CustomerStatementResp.E_BITOC.Trim() != "" & txtCodObra.Text.Trim() != "")
                    {
                        CAlert("1;|2;" + x.MT_CustomerStatementResp.E_BITOC.Trim() + "|3;" + txtCodObra.Text.Trim());
                    }
                    dtSeg            = (DataTable)ECmSp("SPSIUSEGCLI|@TCOM;4|@IDCLIENTE;" + Int64.Parse(x.MT_CustomerStatementResp.E_BITOC) + "|@IDSCANAL;9000032821", cnnSAPDB, 1);
                    Session["CliEx"] = ECmSp("SPSIT_CE|@IDCON;11|@IDCLIENTE;" + Int64.Parse(x.MT_CustomerStatementResp.E_BITOC) + "|@IDOBRA;" + Int64.Parse(txtCodObra.Text), cnnCOS, 1);
                    dtExAll          = (DataTable)ECmSp("SPSIT_CE|@IDCON;12|@IDCLIENTE;" + Int64.Parse(x.MT_CustomerStatementResp.E_BITOC) + "|@IDOBRA;" + Int64.Parse(txtCodObra.Text) + "|@IdPais;" + ((IUsr)Session["Usr"]).usr.Pais.IdPais, cnnCOS, 1);
                    dtVen            = (DataTable)ECmSp("SPS_R_OV|@TCOM;1|@IDORG;7460|@IDSECTOR;" + int.Parse(txtSector.Text) + "|@IDOBRA;" + txtCodObra.Text.Trim(), cnnSAPDB, 1);
                    if (dtVen.Rows.Count > 0)
                    {
                        dtVenL = (DataTable)ECmSp("SPSIU_VEN|@TCOM;1|@IDVEN;" + dtVen.Rows[0]["IdCodVen"].ToString(), cnnCOS, 1);
                    }
                    dtBl = (DataTable)ECmSp("SPSIT_BC|@TCOM;4|@IDCLIENTE;" + int.Parse(x.MT_CustomerStatementResp.E_BITOC).ToString() + "|@IDOBRA;" + txtCodObra.Text.Trim(), cnnCOS, 1);
                    dt.Columns.Add("NOMOBRA");
                    dt.Columns.Add("CODCLI");
                    dt.Columns.Add("NOMCLI");
                    dt.Columns.Add("FPAGO");
                    if (dtSeg.Rows.Count > 0)
                    {
                        dt.Columns.Add("NSEG");
                    }
                    if (dtVen.Rows.Count > 0)
                    {
                        dt.Columns.Add("VEN");
                    }
                    if (dtVenL.Rows.Count > 0)
                    {
                        dt.Columns.Add("TELVEN");
                    }
                    row    = dt.NewRow();
                    row[0] = x.MT_CustomerStatementResp.E_CNAME;
                    row[1] = x.MT_CustomerStatementResp.E_BITOC;
                    row[2] = x.MT_CustomerStatementResp.E_BITON;
                    row[3] = Master.GetZTERM(long.Parse(txtCodObra.Text), Int32.Parse(txtSector.Text) < 10?txtSector.Text.Split('0')[1]:txtSector.Text);//x.MT_CustomerStatementResp.E_ZTERM;
                    if (dtSeg.Rows.Count > 0)
                    {
                        for (int i = 0; i <= dtSeg.Rows.Count - 1; i++)
                        {
                            if (Int64.Parse(dtSeg.Rows[i][0].ToString()) == 9000032821)
                            {
                                Session["IdSCanal"] = Int64.Parse(dtSeg.Rows[i][0].ToString());
                                row[4] = dtSeg.Rows[i][1];
                                break;
                            }
                            if (Int64.Parse(dtSeg.Rows[i][0].ToString()) == 9000032822)
                            {
                                Session["IdSCanal"] = Int64.Parse(dtSeg.Rows[i][0].ToString());
                                row[4] = dtSeg.Rows[i][1];
                                break;
                            }
                            if (i == dtSeg.Rows.Count - 1)
                            {
                                Session["IdSCanal"] = Int64.Parse(dtSeg.Rows[i][0].ToString());
                                row[4] = dtSeg.Rows[i][1];
                            }
                        }
                        gv_DataCli.Columns[4].Visible = true;
                    }
                    if (dtVen.Rows.Count > 0)
                    {
                        if (dtSeg.Rows.Count > 0)
                        {
                            row[5] = dtVen.Rows[0]["NVen"];
                            gv_DataCli.Columns[5].Visible = true;
                            if (dtVenL.Rows.Count > 0)
                            {
                                row[6] = dtVenL.Rows[0]["Tel"];
                                gv_DataCli.Columns[6].Visible = true;
                            }
                        }
                        else
                        {
                            row[4] = dtVen.Rows[0]["NVen"];
                            gv_DataCli.Columns[5].Visible = true;
                            if (dtVenL.Rows.Count > 0)
                            {
                                row[5] = dtVenL.Rows[0]["Tel"];
                                gv_DataCli.Columns[6].Visible = true;
                            }
                        }
                    }



                    Session["dtBl"] = dtBl;

                    gvBlCli.DataSource = dtBl;
                    gvBlCli.DataBind();

                    Session["dtExAll"] = dtExAll;

                    gv_ExCli.DataSource = dtExAll;
                    gv_ExCli.DataBind();

                    dt.Rows.Add(row);
                    gv_DataCli.DataSource = dt;
                    gv_DataCli.DataBind();
                    gv_DataCli.Visible = true;

                    //Estado de cuenta

                    btnNCal.Visible = false;
                    lblAPG.Visible  = false;
                    lblEC.Visible   = false;
                    lblECT.Visible  = false;
                    dtEC.Columns.Add("CUPO");
                    dtEC.Columns.Add("SFAVOR");
                    dtEC.Columns.Add("CTOTAL");
                    dtEC.Columns.Add("CMPSAP");
                    dtEC.Columns.Add("CMPGINCO");
                    dtEC.Columns.Add("TSCUPO");
                    row = dtEC.NewRow();

                    var rpctIlc = ServiceI <BCfgServ> .Instance.getPctILC(((IUsr)Session["Usr"]).usr.Pais.IdPais);

                    Double pctIlc = 0;
                    if (rpctIlc != null)
                    {
                        pctIlc = (rpctIlc.Value == String.Empty ? 0 : DNum(rpctIlc.Value));
                        pctIlc = (pctIlc >= 1 ? pctIlc / 100 : pctIlc) + 1;
                    }
                    else
                    {
                        pctIlc = 1;
                    }

                    row[0] = DNum(x.MT_CustomerStatementResp.E_LIMCR) * 100 * pctIlc;
                    row[1] = DNum(x.MT_CustomerStatementResp.E_SLDAF);
                    row[2] = DNum(x.MT_CustomerStatementResp.E_CARTT);
                    //row[3] = (x.MT_CustomerStatementResp.E_IPFAC.Replace('.', ',').Contains('-') ? (double.Parse(x.MT_CustomerStatementResp.E_IPFAC.Replace('.', ',').Replace('-', ' ')) * -1) : double.Parse(x.MT_CustomerStatementResp.E_IPFAC.Replace('.', ','))) * 100;
                    row[3] = DNum(x.MT_CustomerStatementResp.E_IPFAC) * 100;
                    //row[4] = CmpGinCliente(int.Parse(dt.Rows[0]["CODCLI"].ToString()));
                    row[4] = 0;

                    row[5] = double.Parse(row[0].ToString()) + (double.Parse(row[1].ToString()) * (-1));
                    row[5] = double.Parse(row[5].ToString()) - double.Parse(row[2].ToString());
                    row[5] = double.Parse(row[5].ToString()) - double.Parse(row[3].ToString());
                    row[5] = double.Parse(row[5].ToString()) - double.Parse(row[4].ToString());

                    dtEC.Rows.Add(row);

                    Session["EstadoCuenta"] = dtEC;
                    gv_EC_Cli.DataSource    = dtEC;
                    gv_EC_Cli.DataBind();
                    gv_EC_Cli.Visible = true;
                    GvStyle(2, dtEC);

                    //Ocultar Columna Comprometido en GINCO
                    gv_EC_Cli.HeaderRow.Cells[4].Visible = false;
                    gv_EC_Cli.Rows[0].Cells[4].Visible   = false;

                    //////////////////

                    Boolean  val = false;
                    DateTime date;
                    var      exE = ((DataTable)Session["CliEx"]).AsEnumerable();
                    if (exE.Count() > 0)
                    {
                        foreach (var ex in exE)
                        {
                            if (ex["IdTEx"].ToString().Trim() == "PMT")
                            {
                                val = true;
                                break;
                            }
                            if (DateTime.TryParse(ex["dtVig"].ToString(), out date))
                            {
                                if ((DateTime.Parse(ex["dtVig"].ToString()) >= DateTime.Today))
                                {
                                    val = true;
                                    break;
                                }
                            }
                        }
                    }
                    if (val)
                    {
                        lblEC.Text = "Excepciones Activas.";
                        try
                        {
                            var res = (from ex in exE
                                       where (DateTime.TryParse(ex["dtVig"].ToString(), out date) ? DateTime.Parse(ex["dtVig"].ToString()) >= DateTime.Today : true)
                                       select new { Excepción = ex["NTEx"] as string, FechaVigencia = (DateTime.TryParse(ex["dtVig"].ToString(), out date) ? String.Format("{0:yyyy-MM-dd}", ex["dtVig"]) : ex["dtVig"].ToString()), MsgEx = ex["MsgEx"] as string }).ToList();
                            gv_ExClientes.DataSource = res;
                            gv_ExClientes.DataBind();
                            gv_ExClientes.Visible = true;
                            lblExMsg.Text         = "Puede proceder con la programación en RMS!!!";
                            lblEC.Visible         = true;
                            //lblECT.Visible = true;
                            lblExMsg.CssClass = "labelInfo";
                            lblExMsg.Visible  = true;
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                    }
                    else
                    {
                        if (double.Parse(row[5].ToString()) < 0)
                        {
                            lblSN.Visible  = true;
                            lblANP.Text    = "NO EFECTUAR LA PROGRAMACIÓN SI NO SE REGISTRA UN AJUSTE!!";
                            lblANP.Visible = true;
                        }
                        else
                        {
                            lblSN.Visible = false;
                            //lblAC.Visible = false;

                            //btnCal.Visible = true;
                            btnNCal.Visible = true;
                        }

                        var CliEx = (DataTable)ECmSp("SPSIT_CE|@IDCON;10|@IDCLIENTE;" + Int64.Parse(x.MT_CustomerStatementResp.E_BITOC), cnnCOS, 1);
                        var ce    = CliEx.Rows.Count > 0 ? CliEx.AsEnumerable() : null;
                        if (ce != null)
                        {
                            lblEC.Text = "Excepciones Activas.";
                            var res = (from ex in ce
                                       where (DateTime.TryParse(ex["dtVig"].ToString(), out date) ? DateTime.Parse(ex["dtVig"].ToString()) >= DateTime.Today : true)
                                       select new { Excepción = ex["NTEx"] as string, FechaVigencia = (DateTime.TryParse(ex["dtVig"].ToString(), out date) ? String.Format("{0:yyyy-MM-dd}", ex["dtVig"]) : ex["dtVig"].ToString()), MsgEx = ex["MsgEx"] as string }).ToList();
                            gv_ExClientes.DataSource = res;
                            gv_ExClientes.DataBind();
                            gv_ExClientes.Visible = true;
                            lblExMsg.Visible      = false;
                            lblEC.Visible         = true;
                        }
                    }

                    ServLog RegLog = new ServLog();
                    RegLog.SaveCLog(((IUsr)Session["Usr"]).usr.CemexId, Int64.Parse(txtCodObra.Text.ToString()), Int32.Parse(txtSector.Text.ToString()), x.MT_CustomerStatementResp.E_CNAME, Int64.Parse(x.MT_CustomerStatementResp.E_BITOC), x.MT_CustomerStatementResp.E_BITON, Master.GetZTERM(long.Parse(txtCodObra.Text), Int32.Parse(txtSector.Text) < 10 ? txtSector.Text.Split('0')[1] : txtSector.Text) /*x.MT_CustomerStatementResp.E_ZTERM*/, dtVen.Rows.Count > 0 ? (dtVen.Rows[0]["NVen"]).ToString() : "", (Int64)(DNum(x.MT_CustomerStatementResp.E_LIMCR) * 100 * pctIlc), (Int64)DNum(x.MT_CustomerStatementResp.E_SLDAF), (Int64)DNum(x.MT_CustomerStatementResp.E_CARTT), (Int64)(DNum(x.MT_CustomerStatementResp.E_IPFAC) * 100), Int64.Parse(row[5].ToString()), dtExAll.Rows.Count > 0 ? (dtExAll.Rows[0].ItemArray[0]).ToString() : "");
                }
                else
                {
                    //pnlAditivos.Visible = false;
                    //pnlAB.Visible = false;
                    gv_DataCli.Visible  = false;
                    gv_EC_Cli.Visible   = false;
                    lblErrorCod.Visible = true;
                }
            }

            catch (Exception e)
            {  

              throw; }
        }
示例#2
0
        //private static void LCtrlCtg(List<CtgDTO> DTO, ref DropDownList obj, String PValue)
        //{


        //    if (obj.Items.Count > 0) return;

        //    var o = new CtgDTO();
        //    if (DTO.Count != 1)
        //    {
        //        o.IdCtg = 0;
        //        o.NCtg = PValue;
        //        DTO.Add(o);
        //    }

        //    (obj).DataSource = DTO.Where(x => x.IdCtg != 19007).OrderBy((x) => x.IdCtg).ToList();

        //    (obj).DataTextField = "NCtg";
        //    (obj).DataValueField = "IdCtg";
        //    (obj).DataBind();
        //}



        //private void CargarControles()
        //{

        //    LCtrlCtg(ServiciosGUI.GetTipoAjuste(0).ToList(), ref DDLTipoAjuste, "<- Seleccione Tipo Ajuste ->");

        //    DDLTipoAjuste.Focus();

        //}


        //SA.Tipo_Ajuste = int.Parse(DDLTipoAjuste.SelectedValue);

        //private int ValidaciónAntesdeGuardar()
        //{
        //    if (DDLresponsableAjuste.SelectedValue == "0")
        //    {
        //        MostrarMensaje(0, "Por favor ingrese el responsable del Ajuste.. ");
        //        return 0;
        //    }
        //    if (DDLConceptoAjuste.SelectedValue == "265" && txtOtroConceptoAjuste.Text == string.Empty)
        //    {
        //        MostrarMensaje(0, "Por favor ingrese el Otro Concepto del Ajuste!! ");
        //        return 0;
        //    }
        //    if (txtCodigoObra.Text == string.Empty || int.Parse(txtCodigoObra.Text) < 60000000)
        //    {
        //        MostrarMensaje(0, "El Código de Obra no es Válido, por favor intente de nuevo.. ");
        //        return 0;
        //    }

        //    if (DDLPreciosInlcuyenImpuesto.SelectedValue == "-1")
        //    {
        //        MostrarMensaje(0, "Indique si los precios ingresados incluyen o no IVA..");
        //        return 0;
        //    }

        //    if (DDLTipoAjuste.SelectedValue != "0")
        //    {
        //        if (Session["Auth"] != null)
        //        {
        //            // var LAU = (List<List<object>>)Session["Auth"];
        //            var LAU = (List<List<object>>)Session["Autorizantes"];
        //            if (LAU.Count() > 0)
        //            {
        //                //if (DDLConceptoAjuste.SelectedValue == "255" && LAU.Count()<2)
        //                //{
        //                //    MostrarMensaje(0, "Para ajustes de Volumen, ingresar mínimo dos autorizantes");
        //                //    return 0;
        //                //}
        //                if (ConfAjusteHechas() == 1 && txtObservacionSol.Text != string.Empty)
        //                {
        //                    return 1;
        //                }
        //                else
        //                {
        //                    MostrarMensaje(0, "Por favor agregue una configuración de Ajuste (N° Factura) y Observación del ajuste para poder guardar");
        //                    return 0;
        //                }
        //            }
        //            else
        //            {
        //                MostrarMensaje(0, "Debe agregar al menos un autorizante!!");
        //                return 0;
        //            }
        //        }
        //        else
        //        {
        //            MostrarMensaje(0, "Debe agregar al menos un autorizante!!");
        //            return 0;
        //        }
        //    }
        //    else
        //    {
        //        MostrarMensaje(0, "Eliga el Tipo de Ajuste");
        //        return 0;
        //    }


        //}


        //protected void DDLTipoAjuste_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    if (DDLTipoAjuste.SelectedValue == "321")
        //    {
        //        lblRefacturarOtraObra.Visible = true;
        //        CBRefacturarOtraObra.Visible = true;
        //    }
        //    else
        //    {
        //        lblRefacturarOtraObra.Visible = false;
        //        CBRefacturarOtraObra.Visible = false;
        //        CBRefacturarOtraObra.Checked = false;
        //        PanelObraFinal.Visible = false;
        //    }
        //    DDLTipoAjuste.Focus();
        //}

        private void FillGrid(IEnumerable <ValDTO> result)
        {
            if (result.Count() > 0)
            {
                gv_DataDesc.DataSource = result;
                gv_DataDesc.DataBind();
                ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){$('#formulario').hide()});", true);
                if (gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "NACIONAL" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "GRANDE" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "MEDIANO" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "PEQUE&#209;O" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "INDEPENDIENTE" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "CONSTRUCTORA FILIAL" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "P&#218;BLICO GENERAL AUTOCONSTRUCTOR" && gv_DataDesc.Rows[0].Cells[4].Text.Trim() != "EMPRESA AUTOCONSTRUCTOR")
                {
                    gv_DataDesc.Visible = false;
                    if (gv_DataDesc.Rows[0].Cells[4].Text.Trim() == "EMPLEADO" || gv_DataDesc.Rows[0].Cells[4].Text.Trim() == "PROYECTO CEMEX")
                    {
                        Desc.Text = "El Cliente tiene segmentación: " + gv_DataDesc.Rows[0].Cells[4].Text.Trim() + " .Valide el descuento con su supervisor";
                    }
                    else
                    {
                        Desc.Text = "El Cliente no es del Segmento Constructor";
                    }
                    Desc.Style.Remove("display");
                    Desc.Style.Add("display", "block");
                }
                else
                {
                    if (gv_DataDesc.Rows[0].Cells[7].Text != "&nbsp;")
                    {
                        gv_DataDesc.Visible = true;
                        Desc.Text           = "El Descuento Máximo para la Obra es: " + gv_DataDesc.Rows[0].Cells[10].Text + " %";
                        Desc.Style.Remove("display");
                        Desc.Style.Add("display", "block");
                        ServLog desc = new ServLog();
                        desc.SavePLog(((IUsr)Session["Usr"]).usr.CemexId, int.Parse(gv_DataDesc.Rows[0].Cells[0].Text.Trim()),
                                      RemoveDiacritics(gv_DataDesc.Rows[0].Cells[1].Text.Trim()),
                                      int.Parse(gv_DataDesc.Rows[0].Cells[2].Text.Trim()),
                                      RemoveDiacritics(gv_DataDesc.Rows[0].Cells[4].Text.Trim()),
                                      RemoveDiacritics(gv_DataDesc.Rows[0].Cells[8].Text.Trim()),
                                      gv_DataDesc.Rows[0].Cells[9].Text.Trim(),
                                      System.Convert.ToDecimal(gv_DataDesc.Rows[0].Cells[10].Text.Trim()));
                    }
                    else if (gv_DataDesc.Rows[0].Cells[7].Text == "&nbsp;")
                    {
                        gv_DataDesc.Visible = false;

                        Desc.Text = "Error: Por favor verifique la relación segmentación cliente región y planta ";
                        Desc.Style.Remove("display");
                        Desc.Style.Add("display", "block");
                    }
                    else
                    {
                        gv_DataDesc.Visible = false;
                        Desc.Text           = "La obra no está registrada aun. Diligencie el siguiente formulario";
                        Desc.Style.Remove("display");
                        Desc.Style.Add("display", "block");
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){$('#formulario').show();fill();});", true);
                    }
                }
            }
            else
            {
                gv_DataDesc.Visible = false;
                Desc.Text           = "La obra no está registrada aun. Diligencie el siguiente formulario";
                Desc.Style.Remove("display");
                Desc.Style.Add("display", "block");
                ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){$('#formulario').show();fill();});", true);
            }
        }