Skip to content

Avance query paginación de pedidos  #50

@CarlosIrigoyen

Description

@CarlosIrigoyen
SELECT "Pedido".*,
ultimo_estado.ultimo_estado,
	"Persona"."id" AS "Persona.id",
	"Persona"."identificacion" AS "Persona.identificacion",
	"Persona"."nombre" AS "Persona.nombre",
	"Persona"."apellido" AS "Persona.apellido",
	"Persona"."direccion" AS "Persona.direccion",
	"Persona"."localidad" AS "Persona.localidad",
	"Persona"."email" AS "Persona.email",
	"Persona"."fecha_nacimiento" AS "Persona.fecha_nacimiento",
	"Persona"."telefono" AS "Persona.telefono",
	"Persona"."createdAt" AS "Persona.createdAt",
	"Persona"."updatedAt" AS "Persona.updatedAt",
	"Persona"."deletedAt" AS "Persona.deletedAt",
	"Detalles"."id" AS "Detalles.id",
	"Detalles"."renglon" AS "Detalles.renglon",
	"Detalles"."cantidad" AS "Detalles.cantidad",
	"Detalles"."PedidoId" AS "Detalles.PedidoId",
	"Detalles"."HuesoId" AS "Detalles.HuesoId",
	"Detalles"."createdAt" AS "Detalles.createdAt",
	"Detalles"."updatedAt" AS "Detalles.updatedAt",
	"Detalles"."deletedAt" AS "Detalles.deletedAt",
	"Detalles->Hueso"."id" AS "Detalles.Hueso.id",
	"Detalles->Hueso"."nombre" AS "Detalles.Hueso.nombre",
	"Detalles->Hueso"."numero" AS "Detalles.Hueso.numero",
	"Detalles->Hueso"."subtipohueso" AS "Detalles.Hueso.subtipohueso",
	"Detalles->Hueso"."tipohueso" AS "Detalles.Hueso.tipohueso",
	"Detalles->Hueso"."disponible" AS "Detalles.Hueso.disponible",
	"Detalles->Hueso"."DinosaurioId" AS "Detalles.Hueso.DinosaurioId",
	"Detalles->Hueso"."createdAt" AS "Detalles.Hueso.createdAt",
	"Detalles->Hueso"."updatedAt" AS "Detalles.Hueso.updatedAt",
	"Detalles->Hueso"."deletedAt" AS "Detalles.Hueso.deletedAt",
	"Detalles->Hueso->Dinosaurio"."id" AS "Detalles.Hueso.Dinosaurio.id",
	"Detalles->Hueso->Dinosaurio"."nombre" AS "Detalles.Hueso.Dinosaurio.nombre",
	"Detalles->Hueso->Dinosaurio"."alimentacion" AS "Detalles.Hueso.Dinosaurio.alimentacion",
	"Detalles->Hueso->Dinosaurio"."periodo" AS "Detalles.Hueso.Dinosaurio.periodo",
	"Detalles->Hueso->Dinosaurio"."descubrimiento" AS "Detalles.Hueso.Dinosaurio.descubrimiento",
	"Detalles->Hueso->Dinosaurio"."SubClaseId" AS "Detalles.Hueso.Dinosaurio.SubClaseId",
	"Detalles->Hueso->Dinosaurio"."createdAt" AS "Detalles.Hueso.Dinosaurio.createdAt",
	"Detalles->Hueso->Dinosaurio"."updatedAt" AS "Detalles.Hueso.Dinosaurio.updatedAt",
	"Detalles->Hueso->Dinosaurio"."deletedAt" AS "Detalles.Hueso.Dinosaurio.deletedAt"
FROM
	(SELECT "Pedido"."id",
			"Pedido"."autorizacion",
			"Pedido"."motivo",
			"Pedido"."tipo",
			"Pedido"."PersonaId",
			"Pedido"."createdAt",
			"Pedido"."updatedAt",
			"Pedido"."deletedAt"
		FROM "Pedidos" AS "Pedido") AS "Pedido"
LEFT OUTER JOIN "Personas" AS "Persona" ON "Pedido"."PersonaId" = "Persona"."id"
AND ("Persona"."deletedAt" IS NULL)
LEFT OUTER JOIN (
	SELECT CASE
    WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = CANCELADOS."createdAt" THEN 'Cancelado'
	
	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = CONFIRMADOS."createdAt" THEN 'Confirmado'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = DEMORADOS."createdAt" THEN 'Demorado'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = ENTREGADOS."createdAt" THEN 'Entregado'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = FABRICANDOS."createdAt" THEN 'Fabricando'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = FACTURADOS."createdAt" THEN 'Facturado'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = FINALIZADOS."createdAt" THEN 'Finalizado'

	WHEN GREATEST(CANCELADOS."createdAt",
	CONFIRMADOS."createdAt",
	DEMORADOS."createdAt",
	ENTREGADOS."createdAt",
	FABRICANDOS."createdAt",
	FACTURADOS."createdAt",
	FINALIZADOS."createdAt",
	PRESUPUESTADOS."createdAt") = PRESUPUESTADOS."createdAt" THEN 'Presupuestado'

END ultimo_estado, p.id as pedido_id
FROM "Pedidos" as p 
LEFT JOIN "Cancelados" AS CANCELADOS ON CANCELADOS."PedidoId" = "p"."id"
LEFT JOIN "Confirmados" AS CONFIRMADOS ON CONFIRMADOS."PedidoId" = "p"."id"
LEFT JOIN "Demorados" AS DEMORADOS ON DEMORADOS."PedidoId" = "p"."id"
LEFT JOIN "Entregados" AS ENTREGADOS ON ENTREGADOS."PedidoId" = "p"."id"
LEFT JOIN "Fabricandos" AS FABRICANDOS ON FABRICANDOS."PedidoId" = "p"."id"
LEFT JOIN "Facturados" AS FACTURADOS ON FACTURADOS."PedidoId" = "p"."id"
LEFT JOIN "Finalizados" AS FINALIZADOS ON FINALIZADOS."PedidoId" = "p"."id"
LEFT JOIN "Presupuestados" AS PRESUPUESTADOS ON PRESUPUESTADOS."PedidoId" = "p"."id"
) as ultimo_estado on ultimo_estado.pedido_id = "Pedido"."id"
LEFT OUTER JOIN "Detalles" AS "Detalles" ON "Pedido"."id" = "Detalles"."PedidoId"
AND ("Detalles"."deletedAt" IS NULL)
LEFT OUTER JOIN "Huesos" AS "Detalles->Hueso" ON "Detalles"."HuesoId" = "Detalles->Hueso"."id"
AND ("Detalles->Hueso"."deletedAt" IS NULL)
LEFT OUTER JOIN "Dinosaurios" AS "Detalles->Hueso->Dinosaurio" ON "Detalles->Hueso"."DinosaurioId" = "Detalles->Hueso->Dinosaurio"."id"
AND ("Detalles->Hueso->Dinosaurio"."deletedAt" IS NULL)WHERE ("Pedido"."deletedAt" IS NULL) ORDER BY id ;	

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions