Пример #1
0
        string Get_EstadoApro(int IdEmpresa, int IdSucursal, int IdBodega, string IdEstadoAproba_Param)
        {
            try
            {
                string        IdEstadoAproba = "";
                tb_Bodega_Bus busBode        = new tb_Bodega_Bus();

                IdEstadoAproba = busBode.Get_Info_Bodega(IdEmpresa, IdSucursal, IdBodega).IdEstadoAproba_x_Ing_Egr_Inven;
                if (IdEstadoAproba == null || IdEstadoAproba == "")
                {
                    IdEstadoAproba = IdEstadoAproba_Param;
                }

                return(IdEstadoAproba);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ObtenerEstadoApro", ex.Message), ex)
                      {
                          EntityType = typeof(in_Ing_Egr_Inven_Bus)
                      };
            }
        }
        private Boolean getCab()
        {
            try
            {
                MovEgreso                    = new in_movi_inve_Info();
                MovEgreso.Idobra             = UCObra.get_item_info().CodObra;
                MovEgreso.IdordenTaller      = Convert.ToInt32(CmbOrdenTaller.EditValue);
                MovIngreso.IdEmpresa         = MovEgreso.IdEmpresa = param.IdEmpresa;
                MovEgreso.IdSucursal         = _sucursalInfo.IdSucursal;
                MovIngreso.IdSucursal        = paramCidersus.IdSucursal_Produccion;
                MovEgreso.IdBodega           = _bodegaInfo.IdBodega;
                MovIngreso.IdBodega          = paramCidersus.IdBodega_Produccion;
                MovIngreso.cm_anio           = MovEgreso.cm_anio = dtpFecha.Value.Year;
                MovIngreso.cm_fecha          = MovEgreso.cm_fecha = dtpFecha.Value;
                MovIngreso.cm_mes            = MovEgreso.cm_mes = dtpFecha.Value.Month;
                MovEgreso.cm_tipo            = "-";
                MovIngreso.cm_tipo           = "+";
                MovIngreso.Estado            = MovEgreso.Estado = "A";
                MovEgreso.IdMovi_inven_tipo  = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_consumoprod);
                MovIngreso.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_consumoprod);

                var bod = busbod.Get_Info_Bodega(param.IdEmpresa,
                                                 paramCidersus.IdSucursal_Produccion, paramCidersus.IdBodega_Produccion);


                MovEgreso.IdUsuario     = MovIngreso.IdUsuario = param.IdUsuario;
                MovEgreso.nom_pc        = MovIngreso.nom_pc = param.nom_pc;
                MovEgreso.ip            = MovIngreso.ip = param.ip;
                MovEgreso.Fecha_Transac = MovIngreso.Fecha_Transac = param.Fecha_Transac;

                int sec = 0;

                LstProdGrid = new List <in_movi_inve_detalle_Info>();
                foreach (var item in ListadoDisponible)
                {
                    LstProdGrid.Add(item);
                }

                foreach (var item in LstProdGrid)
                {
                    in_movi_inve_detalle_Info ing = new in_movi_inve_detalle_Info();
                    in_movi_inve_detalle_Info egr = new in_movi_inve_detalle_Info();
                    in_movi_inve_detalle_x_Producto_CusCider_Info ItemCodBarIng = new in_movi_inve_detalle_x_Producto_CusCider_Info();
                    in_movi_inve_detalle_x_Producto_CusCider_Info ItemCodBarEgr = new in_movi_inve_detalle_x_Producto_CusCider_Info();

                    ItemCodBarIng.IdEmpresa  = ItemCodBarEgr.IdEmpresa = ing.IdEmpresa = egr.IdEmpresa = param.IdEmpresa;
                    ItemCodBarIng.IdSucursal = ing.IdSucursal = MovIngreso.IdSucursal;
                    ItemCodBarEgr.IdSucursal = egr.IdSucursal = MovEgreso.IdSucursal;
                    ItemCodBarIng.IdBodega   = ing.IdBodega = MovIngreso.IdBodega;
                    ItemCodBarEgr.IdBodega   = egr.IdBodega = MovEgreso.IdBodega;
                    ing.dm_cantidad          = ItemCodBarIng.dm_cantidad = 1;
                    egr.dm_cantidad          = ItemCodBarEgr.dm_cantidad = -1;
                    ing.IdMovi_inven_tipo    = ItemCodBarIng.IdMovi_inven_tipo = MovIngreso.IdMovi_inven_tipo;
                    egr.IdMovi_inven_tipo    = ItemCodBarEgr.IdMovi_inven_tipo = MovEgreso.IdMovi_inven_tipo;
                    egr.Secuencia            = ing.Secuencia = ItemCodBarEgr.mv_Secuencia = ItemCodBarIng.mv_Secuencia = ++sec;

                    var saldoing = Bus_prodxbod.Get_Info_Producto_x_Producto(param.IdEmpresa, MovIngreso.IdSucursal, MovIngreso.IdBodega, item.IdProducto);
                    var saldoegr = Bus_prodxbod.Get_Info_Producto_x_Producto(param.IdEmpresa, MovEgreso.IdSucursal, MovEgreso.IdBodega, item.IdProducto);
                    ing.dm_stock_ante = saldoing.pr_stock;
                    ing.dm_stock_actu = saldoing.pr_stock + ing.dm_cantidad;
                    egr.dm_stock_ante = saldoegr.pr_stock;
                    egr.dm_stock_actu = saldoegr.pr_stock - egr.dm_cantidad;

                    ItemCodBarIng.ot_IdEmpresa     = param.IdEmpresa;
                    ItemCodBarIng.ot_IdSucursal    = OT.IdSucursal;
                    ItemCodBarIng.ot_IdOrdenTaller = OT.IdOrdenTaller;
                    ItemCodBarIng.ot_CodObra       = OT.CodObra;
                    ing.IdProducto            = egr.IdProducto = ItemCodBarEgr.IdProducto = ItemCodBarIng.IdProducto = item.IdProducto;
                    ItemCodBarEgr.CodigoBarra = ItemCodBarIng.CodigoBarra = item.CodBarra;
                    ing.mv_tipo_movi          = ItemCodBarIng.mv_tipo_movi = MovIngreso.cm_tipo;
                    egr.mv_tipo_movi          = ItemCodBarEgr.mv_tipo_movi = MovEgreso.cm_tipo;

                    in_Producto_Info prod = new in_Producto_Info();
                    prod = busProducto.Get_Info_BuscarProducto(item.IdProducto, param.IdEmpresa);


                    ItemCodBarEgr.dm_observacion = egr.dm_observacion = item.dm_observacion +
                                                                        " Eg Prod " + prod.pr_descripcion;
                    ItemCodBarIng.dm_observacion = ing.dm_observacion = item.dm_observacion +
                                                                        " Ing Prod " + prod.pr_descripcion;
                    if (item.valida == true)
                    {
                        ItemCodBarEgr.dm_observacion = egr.dm_observacion = "Aut x: " + item.oc_observacion + "-" + egr.dm_observacion;
                        ItemCodBarIng.dm_observacion = ing.dm_observacion = "Aut x: " + item.oc_observacion + "-" + ing.dm_observacion;
                    }
                    MovEgreso.cm_observacion  = MovEgreso.cm_observacion + egr.dm_observacion;
                    MovIngreso.cm_observacion = MovIngreso.cm_observacion + ing.dm_observacion;

                    ItemCodBarEgr.dm_observacion = egr.dm_observacion = "Eg Suc " + ctrl_Sucbod.cmb_sucursal.Text.Trim() +
                                                                        " Bod " + ctrl_Sucbod.cmb_bodega.Text.Trim() +
                                                                        " Egr x Cons Prod -" + MovEgreso.cm_observacion + " " + txtObservacion.Text + egr.dm_observacion;

                    ItemCodBarIng.dm_observacion = ing.dm_observacion = "Ing Suc " + bod.NomSucursal.Trim() +
                                                                        " Bod " + bod.bo_Descripcion.Trim() +
                                                                        " Ing x Cons Prod -" + MovIngreso.cm_observacion + " " + txtObservacion.Text + ing.dm_observacion;

                    egr.dm_precio = item.dm_precio;
                    egr.mv_costo  = item.dm_precio;

                    ing.dm_precio = item.dm_precio;
                    ing.mv_costo  = item.dm_precio;

                    ItemCodBarEgr.et_IdProcesoProductivo = (Int32)CmbProcesoProductivo.EditValue;
                    ItemCodBarIng.et_IdProcesoProductivo = (Int32)CmbProcesoProductivo.EditValue;
                    LstDetMovEgreso.Add(egr);
                    LstDetMovIngreso.Add(ing);
                    LstDetxItemsEgr.Add(ItemCodBarEgr);
                    LstDetxItemsIng.Add(ItemCodBarIng);
                }
                MovEgreso.cm_observacion = txtObservacion.Text + "Eg Suc " + ctrl_Sucbod.cmb_sucursal.Text.Trim() +
                                           " Bod " + ctrl_Sucbod.cmb_bodega.Text.Trim() +
                                           " Egr x Cons Prod -" + MovEgreso.cm_observacion;
                MovIngreso.cm_observacion = txtObservacion.Text + "Ing Suc " + bod.NomSucursal.Trim() +
                                            " Bod " + bod.bo_Descripcion.Trim() +
                                            " Ing x Cons Prod -" + MovIngreso.cm_observacion;

                MovEgreso.listmovi_inve_detalle_Info  = LstDetMovEgreso;
                MovIngreso.listmovi_inve_detalle_Info = LstDetMovIngreso;
                return(true);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                return(false);
            }
        }
        private List <guiaRemision> Get_Xml_Guia_x_Traspaso(int IdEmpresa, decimal IdGuia)
        {
            try
            {
                tb_Bodega_Bus  Bus_Bodega  = new tb_Bodega_Bus();
                tb_Bodega_Info Info_Bodega = new tb_Bodega_Info();

                in_Guia_x_traspaso_bodega_Info Info_Guia = new in_Guia_x_traspaso_bodega_Info();
                Info_Guia = Get_Info_x_in_Guia(IdEmpresa, IdGuia);

                Info_Bodega = Bus_Bodega.Get_Info_Bodega(IdEmpresa, Convert.ToInt32(Info_Guia.IdSucursal_Partida), 1);

                List <guiaRemision>       listaaux      = new List <guiaRemision>();
                List <guiaRemision>       lista         = new List <guiaRemision>();
                guiaRemisionDestinatarios destinatarios = new guiaRemisionDestinatarios();
                guiaRemision myObject = new guiaRemision();


                myObject.destinatarios     = destinatarios;
                destinatarios.destinatario = new List <destinatario>();
                destinatario         destinatari     = new destinatario();
                destinatarioDetalles destinatariodet = new destinatarioDetalles();
                destinatari.detalles         = destinatariodet;
                destinatari.detalles.detalle = new List <detalle>();

                string correo = "";
                string format = "dd/MM/yyyy";



                myObject.id      = guiaRemisionID.comprobante;
                myObject.version = "1.1.0";
                myObject.id      = guiaRemisionID.comprobante;
                infoTributaria info = new infoTributaria();
                myObject.infoGuiaRemision = new guiaRemisionInfoGuiaRemision();
                //información tributaria
                myObject.infoTributaria             = info;
                info.ambiente                       = "1";
                myObject.infoTributaria.tipoEmision = "1";

                myObject.infoTributaria.razonSocial     = string.IsNullOrEmpty(Info_Guia.razon_social_empresa)?"": Info_Guia.razon_social_empresa.Trim();
                myObject.infoTributaria.nombreComercial = string.IsNullOrEmpty(Info_Guia.nom_comercial_empresa)?"": Info_Guia.nom_comercial_empresa.Trim();
                myObject.infoTributaria.ruc             = Info_Guia.ruc_empresa;

                myObject.infoTributaria.claveAcceso = "0000000000000000000000000000000000000000000000000";
                myObject.infoTributaria.codDoc      = "06";
                myObject.infoTributaria.estab       = Convert.ToString(Info_Guia.IdEstablecimiento);
                myObject.infoTributaria.ptoEmi      = Info_Guia.IdPuntoEmision;
                myObject.infoTributaria.secuencial  = Info_Guia.NumDocumento_Guia;

                myObject.infoTributaria.dirMatriz = string.IsNullOrEmpty(Info_Guia.direc_empresa)?"": Info_Guia.direc_empresa.Trim();
                //datos de la guía de remisión
                myObject.infoGuiaRemision.dirEstablecimiento = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Partida) ? "" : Info_Guia.Direc_sucu_Partida.Trim();
                myObject.infoGuiaRemision.dirPartida         = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Partida) ? "" : Info_Guia.Direc_sucu_Partida.Trim();

                myObject.infoGuiaRemision.razonSocialTransportista        = string.IsNullOrEmpty(Info_Guia.nom_transportista) ? "" : Info_Guia.nom_transportista.Trim();
                myObject.infoGuiaRemision.tipoIdentificacionTransportista = "05";
                myObject.infoGuiaRemision.rucTransportista = Info_Guia.ced_transportista;
                myObject.infoGuiaRemision.placa            = Info_Guia.Placa;


                //        myObject.infoGuiaRemision.obligadoContabilidad = (Info_Guia.obligado_conta_empresa == "SI" || Info_Guia.obligado_conta_empresa=="S") ?"S":"N";
                //      myObject.infoGuiaRemision.contribuyenteEspecial = Info_Guia.contrib_especial_empresa;


                myObject.infoGuiaRemision.fechaIniTransporte = Convert.ToDateTime(Info_Guia.Fecha_Traslado).ToString(format);
                myObject.infoGuiaRemision.fechaFinTransporte = Convert.ToDateTime(Info_Guia.Fecha_llegada).ToString(format);


                //datos del destinatario
                destinatari.identificacionDestinatario = Info_Guia.IdentificacionDestinatario;
                destinatari.razonSocialDestinatario    = string.IsNullOrEmpty(Info_Guia.NombreDestinatario) ? "" : Info_Guia.NombreDestinatario.Trim();
                destinatari.dirDestinatario            = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Llegada) ? "" : Info_Guia.Direc_sucu_Llegada.Trim();
                destinatari.motivoTraslado             = string.IsNullOrEmpty(Info_Guia.nom_Motivo_Traslado)?"": Info_Guia.nom_Motivo_Traslado.Trim();
                //destinatari.ruta = "";

                //destinatari.detalles.detalle
                //myObject.infoGuiaRemision
                //para extraer el detalle de la hoja, multiples lineas de producto

                in_Guia_x_traspaso_bodega_det_Bus         BusDetalle_Guia      = new in_Guia_x_traspaso_bodega_det_Bus();
                List <in_Guia_x_traspaso_bodega_det_Info> ListInfoDetalle_Guia = new List <in_Guia_x_traspaso_bodega_det_Info>();
                ListInfoDetalle_Guia = BusDetalle_Guia.Get_List_Guia_x_traspaso_bodega_x_OC_det(IdEmpresa, IdGuia);

                //if (ListInfoDetalle_Guia.Count() > 0)
                //{
                foreach (var item in ListInfoDetalle_Guia)
                {
                    detalle det = new detalle();
                    det.codigoInterno   = item.IdProducto.ToString();
                    det.codigoAdicional = item.pr_codigo;
                    det.descripcion     = item.nom_producto.Trim() + (item.obs_OCompra == null ? "" : item.obs_OCompra.Trim()) + "(OC#" + item.IdOrdenCompra + ")";
                    det.cantidad        = Convert.ToDecimal(item.Cantidad_enviar);
                    destinatari.detalles.detalle.Add(det);
                }
                //}
                //else
                //{

                in_Guia_x_traspaso_bodega_det_sin_oc_Bus         BusDetalle_Guia_SOC      = new in_Guia_x_traspaso_bodega_det_sin_oc_Bus();
                List <in_Guia_x_traspaso_bodega_det_sin_oc_Info> ListInfoDetalle_Guia_SOC = new List <in_Guia_x_traspaso_bodega_det_sin_oc_Info>();
                ListInfoDetalle_Guia_SOC = BusDetalle_Guia_SOC.Get_List_Guia_x_traspaso_bodega_det_sin_oc(IdEmpresa, IdGuia);

                foreach (var item in ListInfoDetalle_Guia_SOC)
                {
                    detalle det = new detalle();
                    det.codigoInterno   = (item.IdProducto == null) ? item.Num_Fact : Convert.ToDecimal(item.IdProducto).ToString();
                    det.codigoAdicional = item.Num_Fact;
                    det.descripcion     = item.nom_producto.Trim() + (item.observacion == null ? "" : item.observacion.Trim()) + "(Prove:" + item.nom_proveedor + ")";
                    det.cantidad        = Convert.ToDecimal(item.Cantidad_enviar);
                    destinatari.detalles.detalle.Add(det);
                }
                //}



                //campos adicionales guía de remisión
                guiaRemisionCampoAdicional compoadicional = new guiaRemisionCampoAdicional();
                Cl_ValidarEmail_Info       datosAdc       = new Cl_ValidarEmail_Info();
                if (datosAdc.email_bien_escrito(correo) == true)
                {
                    compoadicional.nombre  = "MAIL";
                    compoadicional.Value   = correo;
                    myObject.infoAdicional = new List <guiaRemisionCampoAdicional>();
                    myObject.infoAdicional.Add(compoadicional);
                }
                //punto de llegada
                if (Info_Guia.Direc_sucu_Llegada != "")                                                      //(dtrcabGuiaRe.IsDBNull(27) == false)
                {
                    compoadicional         = new guiaRemisionCampoAdicional();
                    compoadicional.nombre  = "DESTINO";
                    compoadicional.Value   = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Llegada)?"": Info_Guia.Direc_sucu_Llegada;
                    myObject.infoAdicional = new List <guiaRemisionCampoAdicional>();
                    myObject.infoAdicional.Add(compoadicional);
                }

                destinatarios.destinatario.Add(destinatari);
                lista.Add(myObject);

                return(lista);;
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ObtenerParaGuiaRemision", ex.Message), ex)
                      {
                          EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                      };
            }
        }