示例#1
0
        public ResponseInfo SaveAprobacionNotaVentaSoftland(AprobacionNvDTO nta)
        {
            try
            {
                conSoftland.Open();

                SqlCommand cmdC = new SqlCommand("INSERT INTO [softland].[NW_aprobDetalle] ([NvNumero] ,[FechaHora] ,[Usuario] ,[Ap_Desap] ,[Comentario]) " +
                                                 "VALUES (@NvNumero, @FechaHora, @Usuario, @Ap_Desap, @Comentario)");
                cmdC.CommandType = CommandType.Text;
                cmdC.Connection  = conSoftland;
                cmdC.Parameters.AddWithValue("@NvNumero", nta.NvNumero);
                cmdC.Parameters.AddWithValue("@FechaHora", DateTime.Now.Date);
                cmdC.Parameters.AddWithValue("@Usuario", "softland");
                cmdC.Parameters.AddWithValue("@Ap_Desap", "APRUEBA");
                cmdC.Parameters.AddWithValue("@Comentario", "APROBACIÓN AUTOMÁTICA DE NOTA DE VENTA");
                cmdC.ExecuteNonQuery();
                conSoftland.Close();

                return(ResponseInfo.CreateSuccess());
            }
            catch (Exception ex) { return(ResponseInfo.CreateError("Error al grabar aprobación nota de venta. " + ex.Message)); }
        }
示例#2
0
        public double SaveNotaVentaSoftland(NotaVentaDTO nta)
        {
            double notaSalida = 0;

            try
            {
                //recupera el contacto del cliente
                string          NomCon = "L";
                MaestroClientes mc     = new MaestroClientes();
                ClienteDTO      cli    = mc.GetClienteByRut(nta.Cabecera.RutCliente);
                if (cli != null && cli.Rut != null)
                {
                    NomCon = cli.Contacto;
                }

                //genera numero de nota de venta
                nta.Cabecera.NVNumero     = this.GetNumeroNotaVenta();
                nta.Cabecera.CodLugarDesp = nta.Cabecera.NVNumero.ToString();
                notaSalida = Convert.ToDouble(nta.Cabecera.NVNumero);
                conSoftland.Open();

                SqlCommand cmdC = new SqlCommand("INSERT INTO [softland].[nw_nventa] ([NVNumero] ,[nvFem] ,[nvEstado] ,[nvEstFact] ,[nvEstDesp] ,[nvEstRese] ,[nvEstConc] ,[CotNum] ,[NumOC] ,[nvFeEnt] ,[CodAux] , " + "\n" +
                                                 "[VenCod],[CodMon],[CodLista],[nvObser],[nvCanalNV],[CveCod],[NomCon],[CodiCC],[CodBode],[nvSubTotal],[nvMonto],[nvFeAprob],[NumGuiaRes],[nvPorcFlete], " + "\n" +
                                                 "[nvValflete],[nvPorcEmb],[nvValEmb],[nvEquiv],[nvNetoExento],[nvNetoAfecto],[nvTotalDesc],[ConcAuto],[CheckeoPorAlarmaVtas],[EnMantencion],[Usuario], " + "\n" +
                                                 "[UsuarioGeneraDocto],[FechaHoraCreacion],[Sistema],[ConcManual],[RutSolicitante],[proceso],[TotalBoleta],[NumReq],[CodLugarDesp])  " + "\n" +
                                                 "VALUES(@NVNumero,@nvFem,@nvEstado,@nvEstFact,@nvEstDesp,@nvEstRese,@nvEstConc,@CotNum,@NumOC,@nvFeEnt,@CodAux,@VenCod,@CodMon,@CodLista,@nvObser,@nvCanalNV,@CveCod,@NomCon, " + "\n" +
                                                 "@CodiCC,@CodBode,@nvSubTotal,@nvMonto,@nvFeAprob,@NumGuiaRes,@nvPorcFlete,@nvValflete,@nvPorcEmb,@nvValEmb,@nvEquiv,@nvNetoExento,@nvNetoAfecto,@nvTotalDesc,@ConcAuto,@CheckeoPorAlarmaVtas, " + "\n" +
                                                 "@EnMantencion, @Usuario,@UsuarioGeneraDocto,@FechaHoraCreacion,@Sistema,@ConcManual,@RutSolicitante,@proceso,@TotalBoleta,@NumReq,@CodLugarDesp)");

                cmdC.CommandType = CommandType.Text;
                cmdC.Connection  = conSoftland;
                cmdC.Parameters.AddWithValue("@NVNumero", nta.Cabecera.NVNumero);
                cmdC.Parameters.AddWithValue("@nvFem", DateTime.Now.Date);
                cmdC.Parameters.AddWithValue("@nvEstado", "A");
                cmdC.Parameters.AddWithValue("@nvEstFact", 0);
                cmdC.Parameters.AddWithValue("@nvEstDesp", 0);
                cmdC.Parameters.AddWithValue("@nvEstRese", 0);
                cmdC.Parameters.AddWithValue("@nvEstConc", 0);
                cmdC.Parameters.AddWithValue("@CotNum", 0);
                cmdC.Parameters.AddWithValue("@NumOC", 0);
                cmdC.Parameters.AddWithValue("@nvFeEnt", DateTime.Now.Date);
                cmdC.Parameters.AddWithValue("@CodAux", nta.Cabecera.CodAux);
                cmdC.Parameters.AddWithValue("@VenCod", nta.Cabecera.VenCod);
                cmdC.Parameters.AddWithValue("@CodMon", "01");
                cmdC.Parameters.AddWithValue("@CodLista", nta.Cabecera.CodLista);
                cmdC.Parameters.AddWithValue("@nvObser", nta.Cabecera.nvObser);
                cmdC.Parameters.AddWithValue("@nvCanalNV", DBNull.Value);
                cmdC.Parameters.AddWithValue("@CveCod", "EFE");
                cmdC.Parameters.AddWithValue("@NomCon", NomCon);
                cmdC.Parameters.AddWithValue("@CodiCC", DBNull.Value);
                cmdC.Parameters.AddWithValue("@CodBode", DBNull.Value);
                cmdC.Parameters.AddWithValue("@nvSubTotal", nta.Cabecera.nvSubTotal);
                cmdC.Parameters.AddWithValue("@nvMonto", nta.Cabecera.nvMonto);
                cmdC.Parameters.AddWithValue("@nvFeAprob", DBNull.Value);
                cmdC.Parameters.AddWithValue("@NumGuiaRes", 0);
                cmdC.Parameters.AddWithValue("@nvPorcFlete", 0);
                cmdC.Parameters.AddWithValue("@nvValflete", 0);
                cmdC.Parameters.AddWithValue("@nvPorcEmb", 0);
                cmdC.Parameters.AddWithValue("@nvValEmb", 0);
                cmdC.Parameters.AddWithValue("@nvEquiv", 1);
                cmdC.Parameters.AddWithValue("@nvNetoExento", 0);
                cmdC.Parameters.AddWithValue("@nvNetoAfecto", nta.Cabecera.nvNetoAfecto);
                cmdC.Parameters.AddWithValue("@nvTotalDesc", nta.Cabecera.nvTotalDesc);
                cmdC.Parameters.AddWithValue("@ConcAuto", "N");
                cmdC.Parameters.AddWithValue("@CheckeoPorAlarmaVtas", "N");
                cmdC.Parameters.AddWithValue("@EnMantencion", 0);
                cmdC.Parameters.AddWithValue("@Usuario", DBNull.Value);
                cmdC.Parameters.AddWithValue("@UsuarioGeneraDocto", "softland");
                cmdC.Parameters.AddWithValue("@FechaHoraCreacion", DateTime.Now.Date);
                cmdC.Parameters.AddWithValue("@Sistema", "NW");
                cmdC.Parameters.AddWithValue("@ConcManual", "N");
                cmdC.Parameters.AddWithValue("@RutSolicitante", DBNull.Value);
                cmdC.Parameters.AddWithValue("@proceso", "Notas de Venta");
                cmdC.Parameters.AddWithValue("@TotalBoleta", 0);
                cmdC.Parameters.AddWithValue("@NumReq", 0);
                cmdC.Parameters.AddWithValue("@CodLugarDesp", nta.Cabecera.CodLugarDesp);

                cmdC.ExecuteNonQuery();

                foreach (NotaVentaDetalleDTO item in nta.Detalles)
                {
                    SqlCommand cmdD = new SqlCommand("INSERT INTO [softland].[nw_detnv] ([NVNumero] ,[nvLinea] ,[nvCorrela] ,[nvFecCompr] ,[CodProd] ,[nvCant] ,[nvPrecio] , " + "\n" +
                                                     "[nvEquiv] ,[nvSubTotal] ,[nvTotLinea] ,[nvCantDesp] , " + "\n" +
                                                     "[nvCantProd],[nvCantFact],[nvCantDevuelto],[nvCantNC],[nvCantBoleta],[nvCantOC], " + "\n" +
                                                     "[DetProd],[CheckeoMovporAlarmaVtas],[CodPromocion],[CodUMed],[CantUVta]) " + "\n" +
                                                     "VALUES(@NVNumero, @nvLinea, @nvCorrela, @nvFecCompr, @CodProd, @nvCant, @nvPrecio, @nvEquiv, " + "\n" +
                                                     "@nvSubTotal, @nvTotLinea, @nvCantDesp, @nvCantProd, @nvCantFact, @nvCantDevuelto, @nvCantNC, @nvCantBoleta, @nvCantOC, " + "\n" +
                                                     "(select desprod from softland.iw_tprod where codprod = @CodProd) ,@CheckeoMovporAlarmaVtas , @CodPromocion , " + "\n" +
                                                     "(select CodUMed from softland.iw_tprod where codprod = @CodProd) ,@CantUVta)");

                    item.NVNumero = nta.Cabecera.NVNumero;

                    cmdD.CommandType = CommandType.Text;
                    cmdD.Connection  = conSoftland;
                    cmdD.Parameters.AddWithValue("@NVNumero", item.NVNumero);
                    cmdD.Parameters.AddWithValue("@nvLinea", item.nvLinea);
                    cmdD.Parameters.AddWithValue("@nvCorrela", 0);
                    cmdD.Parameters.AddWithValue("@nvFecCompr", item.nvFecCompr.Date);
                    cmdD.Parameters.AddWithValue("@CodProd", item.CodProd);
                    cmdD.Parameters.AddWithValue("@nvCant", item.nvCant);
                    cmdD.Parameters.AddWithValue("@nvPrecio", item.nvPrecio);
                    cmdD.Parameters.AddWithValue("@nvEquiv", 1);
                    cmdD.Parameters.AddWithValue("@nvSubTotal", item.nvSubTotal);
                    cmdD.Parameters.AddWithValue("@nvTotLinea", item.nvTotLinea);
                    cmdD.Parameters.AddWithValue("@nvCantDesp", 0);
                    cmdD.Parameters.AddWithValue("@nvCantProd", 0);
                    cmdD.Parameters.AddWithValue("@nvCantFact", 0);
                    cmdD.Parameters.AddWithValue("@nvCantDevuelto", 0);
                    cmdD.Parameters.AddWithValue("@nvCantNC", 0);
                    cmdD.Parameters.AddWithValue("@nvCantBoleta", 0);
                    cmdD.Parameters.AddWithValue("@nvCantOC", 0);
                    //cmd.Parameters.AddWithValue("@DetProd", "");
                    cmdD.Parameters.AddWithValue("@CheckeoMovporAlarmaVtas", "N");
                    cmdD.Parameters.AddWithValue("@CodPromocion", DBNull.Value);
                    //cmdD.Parameters.AddWithValue("@CodUMed", item.CodUMed);
                    cmdD.Parameters.AddWithValue("@CantUVta", item.nvCant);
                    cmdD.ExecuteNonQuery();
                }
                conSoftland.Close();

                ImpuestoNvDTO imp = new ImpuestoNvDTO {
                    nvNumero = nta.Cabecera.NVNumero, codimpto = "IVA", valpctIni = 19, afectoImpto = nta.Cabecera.nvNetoAfecto, Impto = 0
                };
                AprobacionNvDTO aprob = new AprobacionNvDTO {
                    NvNumero = nta.Cabecera.NVNumero, FechaHora = DateTime.Now, Usuario = "softland", Ap_Desap = "APRUEBA", Comentario = ""
                };

                ResponseInfo s1 = this.SaveImpuestoNotaVentaSoftland(imp);
                ResponseInfo s2 = this.SaveAprobacionNotaVentaSoftland(aprob);

                return(notaSalida);
            }
            catch (Exception ex) { return(0); }
        }