SELECT
				Z.REMESSA_DATA,
				Z.UP_ID,
				Z.UP_DESCRICAO,
				Z.CAPACIDADE_DISPONIVEL,
				Z.UM,

				/* PROGRAMADO */
				Z.CARGA_PROGRAMADA,
				Z.QUANTIDADE_TALAO_PROGRAMADA,
				Z.QUANTIDADE_CARGA_PROGRAMADA,
				Z.QTD_TALAO_UTILIZ_PROGRAMADA,
				Z.QTD_CARGA_UTILIZ_PROGRAMADA,
				Z.QUANTIDADE_PARES_PROGRAMADA,

				/* PRODUZIDO */
				Z.CARGA_UTILIZADA,
				Z.QUANTIDADE_TALAO_UTILIZADA,
				Z.QUANTIDADE_CARGA_UTILIZADA,
				Z.CARGA_PROG_UTILIZ,
				Z.QUANTIDADE_CARGA_PROG_UTILIZ,
				Z.QUANTIDADE_PARES_UTILIZADA,

				/* PENDENTE */
				(COALESCE(Z.CARGA_PROGRAMADA, 0) - COALESCE(Z.CARGA_UTILIZ_PROGRAMADA, 0)) CARGA_PENDENTE,
				(COALESCE(Z.QUANTIDADE_TALAO_PROGRAMADA, 0) - COALESCE(Z.QTD_TALAO_UTILIZ_PROGRAMADA, 0)) QUANTIDADE_TALAO_PENDENTE,
				(COALESCE(Z.QUANTIDADE_CARGA_PROGRAMADA, 0) - COALESCE(Z.QTD_CARGA_UTILIZ_PROGRAMADA, 0)) QUANTIDADE_CARGA_PENDENTE,
				Z.QUANTIDADE_PARES_PENDENTE,

				/*PERCENTUAIS*/
				--PERC_CARGA_PROGRAMADA = (CARGA_PROGRAMADA * 100) / CAPACIDADE_DISPONIVEL
				(Z.CARGA_PROGRAMADA * 100) / NULLIF(Z.CAPACIDADE_DISPONIVEL, 0) PERC_CARGA_PROGRAMADA,
				--PERC_CARGA_UTILIZADA  = (CARGA_UTILIZADA * 100) / CARGA_PROGRAMADA
				(Z.CARGA_UTILIZADA * 100) / NULLIF(Z.CARGA_PROGRAMADA, 0) PERC_CARGA_UTILIZADA,
				--PERC_APROVEITAMENTO   = (CARGA_UTILIZADA * 100) / CAPACIDADE_DISPONIVEL
				(Z.CARGA_UTILIZADA * 100) / NULLIF(Z.CAPACIDADE_DISPONIVEL, 0) PERC_APROVEITAMENTO,

				--EFICIENCIA = ((QTD.PROD. / MIN.PROD.) / (QTD.PROJ. / MIN.PROJ.)) * 100
				COALESCE(
					((CAST(Z.QUANTIDADE_CARGA_UTILIZADA / NULLIF(Z.CARGA_UTILIZADA, 0) AS DOUBLE PRECISION))
					  /
					(CAST(Z.QUANTIDADE_CARGA_PROG_UTILIZ / NULLIF(Z.CARGA_PROG_UTILIZ, 0) AS DOUBLE PRECISION)))
					* 100
				, 0) EFICIENCIA

				FROM(

					SELECT
						X.REMESSA_DATA,
						X.UP_ID,
						X.UP_DESCRICAO,
						X.CAPACIDADE_DISPONIVEL,
						IIF(X.UM_ALTERNATIVA <> '', X.UM_ALTERNATIVA, X.UM) UM,

						/* PROGRAMADO */
						SUM(X.CARGA_PROGRAMADA) CARGA_PROGRAMADA,
						SUM(X.QUANTIDADE_TALAO_PROGRAMADA) QUANTIDADE_TALAO_PROGRAMADA,
						SUM(X.QUANTIDADE_CARGA_PROGRAMADA) QUANTIDADE_CARGA_PROGRAMADA,
						SUM(X.QTD_TALAO_UTILIZ_PROGRAMADA) QTD_TALAO_UTILIZ_PROGRAMADA,
						SUM(X.QTD_CARGA_UTILIZ_PROGRAMADA) QTD_CARGA_UTILIZ_PROGRAMADA,
						SUM(X.CARGA_UTILIZ_PROGRAMADA) CARGA_UTILIZ_PROGRAMADA,
						SUM(CAST(SUBSTRING(X.QUANTIDADE_PARES FROM 64 FOR 21) AS NUMERIC(10,5))) QUANTIDADE_PARES_PROGRAMADA,

						/* PRODUZIDO */
						SUM(CAST(SUBSTRING(X.PRODUZIDO FROM 1  FOR 12) AS NUMERIC(15,4))) CARGA_UTILIZADA,
						SUM(CAST(SUBSTRING(X.PRODUZIDO FROM 14 FOR 5) AS INTEGER)) QUANTIDADE_TALAO_UTILIZADA,
						SUM(CAST(SUBSTRING(X.PRODUZIDO FROM 20 FOR 12) AS NUMERIC(10,5))) QUANTIDADE_CARGA_UTILIZADA,
						SUM(CAST(SUBSTRING(X.PRODUZIDO FROM 33 FOR 12) AS NUMERIC(15,4))) CARGA_PROG_UTILIZ,
						SUM(CAST(SUBSTRING(X.PRODUZIDO FROM 46 FOR 12) AS NUMERIC(10,5))) QUANTIDADE_CARGA_PROG_UTILIZ,
						SUM(CAST(SUBSTRING(X.QUANTIDADE_PARES FROM 22 FOR 21) AS NUMERIC(10,5))) QUANTIDADE_PARES_UTILIZADA,

						/* PENDENTE */
						SUM(CAST(SUBSTRING(X.QUANTIDADE_PARES FROM 43 FOR 21) AS NUMERIC(10,5))) QUANTIDADE_PARES_PENDENTE

						FROM (

							SELECT
								Y.REMESSA_DATA,
								Y.UP_ID,
								Y.UP_DESCRICAO,
								Y.UM,
								Y.UM_ALTERNATIVA,

								(SELECT FIRST 1 COALESCE(CA.MINUTOS,0)
									FROM TBCALENDARIO_UP CA
									WHERE CA.GP_ID = Y.GP_ID
									AND CA.UP_ID = Y.UP_ID
									AND CA.DATA = Y.REMESSA_DATA) CAPACIDADE_DISPONIVEL,

								/* PROGRAMADO */
								SUM(Y.CARGA_PROGRAMADA) CARGA_PROGRAMADA,
								SUM(Y.QUANTIDADE_TALAO_PROGRAMADA) QUANTIDADE_TALAO_PROGRAMADA,
								SUM(Y.QUANTIDADE_CARGA_PROGRAMADA) QUANTIDADE_CARGA_PROGRAMADA,
								SUM(Y.QTD_TALAO_UTILIZ_PROGRAMADA) QTD_TALAO_UTILIZ_PROGRAMADA,
								SUM(Y.QTD_CARGA_UTILIZ_PROGRAMADA) QTD_CARGA_UTILIZ_PROGRAMADA,
								SUM(Y.CARGA_UTILIZ_PROGRAMADA) CARGA_UTILIZ_PROGRAMADA,

								/* PRODUZIDO */
								--CARGA_UTILIZADA|QUANTIDADE_TALAO_UTILIZADA|QUANTIDADE_CARGA_UTILIZADA|CARGA_PROG_UTILIZ|QUANTIDADE_CARGA_PROG_UTILIZ
								COALESCE(
									(SELECT LPAD(COALESCE(SUM(P1.TEMPO_REALIZADO),'0000000.0000'),12,'0')||'|'||
											LPAD(COUNT(T6.ID),5,'0')||'|'||
											LPAD(COALESCE(SUM(
												(SELECT SUM(IIF(D1.QUANTIDADE_ALTERN_PRODUCAO > 0, D1.QUANTIDADE_ALTERN_PRODUCAO, D1.QUANTIDADE_PRODUCAO))
													FROM VWREMESSA_TALAO_DETALHE D1
													WHERE D1.REMESSA_ID = T6.REMESSA_ID AND D1.REMESSA_TALAO_ID = T6.REMESSA_TALAO_ID)
											),'0000000.0000'),12,'0')||'|'||
											LPAD(COALESCE(SUM(P1.TEMPO),'0000000.0000'),12,'0')||'|'||
											LPAD(COALESCE(SUM(IIF(T6.QUANTIDADE_ALTERNATIVA > 0, T6.QUANTIDADE_ALTERNATIVA, CAST(T6.QUANTIDADE AS NUMERIC(15,4)))),'0000000.0000'),12,'0')

										FROM VWREMESSA_TALAO T6, TBPROGRAMACAO P1
										WHERE P1.TABELA_ID     = T6.ID
										  AND P1.TIPO          = 'A'
										  AND P1.GP_ID         = T6.GP_ID
										  AND P1.UP_ID         = T6.UP_ID
										  AND (P1.ESTACAO       = T6.ESTACAO or T6.ESTACAO = 0)
										  AND T6.GP_ID         = Y.GP_ID
										  AND T6.UP_ID         = Y.UP_ID
										  AND T6.ESTACAO       = Y.ESTACAO
										  AND T6.DATA_PRODUCAO = Y.REMESSA_DATA
										  )
								,'00000|0000000.0000|0000000.0000|0000000.0000') PRODUZIDO,

								/* PARES */
								(SELECT
									 --PARES PRODUZIDOS POR DATA DE REMESSA
									(LPAD(SUM(L.PARES_PROD_DATA_REM), 21)||
									 --PARES PRODUZIDOS POR DATA DE PRODUCAO
									 LPAD(SUM(L.PARES_PROD_DATA_PROD), 21)||
									 --PARES PENDENTES POR DATA DE REMESSA
									 LPAD(SUM(L.PARES_PENDENTE_DATA_REM), 21)||
									 --PARES PROGRAMADOS POR DATA DE REMESSA
									 LPAD(SUM(L.PARES_PROGRAM_DATA_REM), 21))

									FROM
										(SELECT
											--PARES PRODUZIDOS POR DATA DE REMESSA
											IIF(K.DATA_REMESSA = Y.REMESSA_DATA AND K.STATUS = '2',
												COALESCE(
													IIF(K.QUANTIDADE_CONSUMO = K.QUANTIDADE_VINCULO,K.QUANTIDADE_ORIGEM,
														((K.QUANTIDADE_ORIGEM * K.QUANTIDADE_VINCULO)/K.QUANTIDADE_CONSUMO))
												, 0)
											, 0) PARES_PROD_DATA_REM,

											--PARES PRODUZIDOS POR DATA DE PRODUCAO
											IIF(K.DATA_PRODUCAO = Y.REMESSA_DATA  AND K.STATUS = '2',
												COALESCE(
													IIF(K.QUANTIDADE_CONSUMO = K.QUANTIDADE_VINCULO,K.QUANTIDADE_ORIGEM,
														((K.QUANTIDADE_ORIGEM * K.QUANTIDADE_VINCULO)/K.QUANTIDADE_CONSUMO))
												, 0)
											, 0) PARES_PROD_DATA_PROD,

											--PARES PENDENTES POR DATA DE REMESSA
											IIF(K.DATA_REMESSA = Y.REMESSA_DATA AND K.STATUS = '1',
												COALESCE(
													IIF(K.QUANTIDADE_CONSUMO = K.QUANTIDADE_VINCULO,K.QUANTIDADE_ORIGEM,
														((K.QUANTIDADE_ORIGEM * K.QUANTIDADE_VINCULO)/K.QUANTIDADE_CONSUMO))
												, 0)
											, 0) PARES_PENDENTE_DATA_REM,

											--PARES PROGRAMADOS POR DATA DE REMESSA
											IIF(K.DATA_REMESSA = Y.REMESSA_DATA,
												COALESCE(
													IIF(K.QUANTIDADE_CONSUMO = K.QUANTIDADE_VINCULO,K.QUANTIDADE_ORIGEM,
														((K.QUANTIDADE_ORIGEM * K.QUANTIDADE_VINCULO)/K.QUANTIDADE_CONSUMO))
												, 0)
											, 0) PARES_PROGRAM_DATA_REM

											FROM (

												SELECT
													C1.QUANTIDADE_ORIGINAL QUANTIDADE_ORIGEM,
													IIF(COALESCE(C1.QUANTIDADE_NECES,0) > 0,C1.QUANTIDADE_NECES, C1.QUANTIDADE) QUANTIDADE_CONSUMO,
													V1.QUANTIDADE QUANTIDADE_VINCULO,
													R2.DATA DATA_REMESSA,
													T4.DATA_PRODUCAO,
													T4.TURNO,
													T4.STATUS

													FROM VWREMESSA_TALAO T4
													INNER JOIN TBREMESSA_CONSUMO_VINCULO V1 ON  V1.REMESSA_ID = T4.REMESSA_ID AND V1.REMESSA_TALAO_ID = T4.REMESSA_TALAO_ID
													INNER JOIN VWREMESSA_CONSUMO C1 ON C1.ID = V1.CONSUMO_ID
													INNER JOIN VWREMESSA R2 ON R2.REMESSA_ID = T4.REMESSA_ID

													WHERE T4.GP_ID   = Y.GP_ID
													  AND T4.UP_ID   = Y.UP_ID
													  AND T4.ESTACAO = Y.ESTACAO
                                                      AND R2.DATAHORA >= Y.REMESSA_DATA-7

											) K
										) L

								) QUANTIDADE_PARES

							FROM (
								SELECT
									R.DATA REMESSA_DATA,
									T.GP_ID,
									T.UP_ID,
									(SELECT FIRST 1 U.DESCRICAO FROM TBUP U WHERE U.ID = T.UP_ID) UP_DESCRICAO,
                                    (SELECT FIRST 1 U.PERFIL FROM TBUP U WHERE U.ID = T.UP_ID) PERFIL_UP,
									T.ESTACAO,
									F.UNIDADEMEDIDA_SIGLA UM,
									F.UNIDADEMEDIDA_ALTERNATIVO UM_ALTERNATIVA,

									/* PROGRAMADO */
									IIF(T.ID>0,1,0) QUANTIDADE_TALAO_PROGRAMADA,
									IIF(T.STATUS='2',1,0) QTD_TALAO_UTILIZ_PROGRAMADA,
									IIF(T.QUANTIDADE_ALTERNATIVA > 0, T.QUANTIDADE_ALTERNATIVA, T.QUANTIDADE) QUANTIDADE_CARGA_PROGRAMADA,
									IIF(T.STATUS = '2',IIF(T.QUANTIDADE_ALTERNATIVA > 0, T.QUANTIDADE_ALTERNATIVA, T.QUANTIDADE),0) QTD_CARGA_UTILIZ_PROGRAMADA,
									P2.TEMPO CARGA_PROGRAMADA,
									IIF(T.STATUS='2',P2.TEMPO,0) CARGA_UTILIZ_PROGRAMADA

								 FROM VWREMESSA_TALAO T, VWREMESSA R, TBFAMILIA F, TBPROGRAMACAO P2

								WHERE 
									1=1
								AND R.REMESSA_ID = T.REMESSA_ID
								AND F.CODIGO = R.FAMILIA_ID

								AND P2.TABELA_ID    = T.ID
								AND P2.GP_ID        = T.GP_ID
								AND P2.UP_ID        = T.UP_ID
								AND (P2.ESTACAO      = T.ESTACAO OR T.ESTACAO = 0)

								AND R.ESTABELECIMENTO_ID IN (01)
								AND T.GP_ID              IN (039)
								
								
								AND R.DATA BETWEEN '2018-06-07' AND '2018-06-12'
							) Y

                            WHERE 
                                TRUE
                                AND Y.PERFIL_UP = 'U'

							GROUP BY
								Y.REMESSA_DATA,
								Y.GP_ID,
								Y.UP_ID,
								Y.UP_DESCRICAO,
								Y.ESTACAO,
								Y.UM,
								Y.UM_ALTERNATIVA
						) X

					GROUP BY
						X.REMESSA_DATA,
						X.UP_ID,
						X.UP_DESCRICAO,
						X.CAPACIDADE_DISPONIVEL,
						UM
				) Z