Pular para o conteúdo principal

LFP002 — Layout LFP002

Visão Geral​

Layout de impressão da família LFP (Outros). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em PRODUCAO, com junção em ITEM, MARCA, PESSOA, filtrada por ST_PRODUCAO, CD_EMPRESA, CD_ITEM, IP, JO, TP_PRODUCAO (+2).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Cod Item
// 3 - Tp Producao
// 4 - Nr Versao
// 5 - Path Servidor
// 6 - Visualiza -> V ou Imprime -> I
// 8 - Quantidade da Simulação
]);

SQL Base​

tabPRODUCAO​

SELECT I.DS_ITEM , P.CD_ITEM , P.QT_MINPRODUCAO, P.DT_REGISTRO , COALESCE (:QT_SIMULACAO, P.QT_MINPRODUCAO) || ' ' || I.SG_UNIDMED RENDIMENTO , P.CD_EMPRESA, P.TP_PRODUCAO, P.NR_VERSAO , P.DS_RECEITA, P.DS_TEMPOPREPARO, I.BI_IMAGEMITEM, I.DS_IMAGEMEXTENSAO
FROM PRODUCAO P
INNER JOIN ITEM I on (P.CD_ITEM = I.CD_ITEM)
WHERE P.ST_PRODUCAO = 'V'
AND P.CD_EMPRESA = :CD_EMPRESA
AND P.CD_ITEM = :CD_ITEM QT_SIMULACAO CD_EMPRESA CD_ITEM
SELECT IP.CD_MATERIAPRIMA, I.DS_ITEM, M.DS_MARCA, IP.QT_PARTICIPACAO, I.SG_UNIDMED
FROM ITEMPRODUCAO IP
INNER JOIN PRODUCAO P ON (P.CD_EMPRESA = IP.CD_EMPRESA
AND P.CD_ITEM = IP.CD_ITEM
AND P.TP_PRODUCAO = IP.TP_PRODUCAO
AND P.NR_VERSAO = IP.NR_VERSAO)
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_MATERIAPRIMA)
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
WHERE P.ST_PRODUCAO = 'V'
AND IP.CD_EMPRESA = :CD_EMPRESA
AND IP.CD_ITEM = :CD_ITEM
AND IP.TP_PRODUCAO = :TP_PRODUCAO
AND IP.NR_VERSAO = :NR_VERSAO
ORDER BY IP.CD_MATERIAPRIMA CD_EMPRESA CD_ITEM TP_PRODUCAO NR_VERSAO
SELECT SUM(CASE PP.ST_DIA WHEN 'SEG' THEN PP.QT_PRODUZIR WHEN 'TER' THEN 0 WHEN 'QUA' THEN 0 WHEN 'QUI' THEN 0 WHEN 'SEX' THEN 0 WHEN 'SAB' THEN 0 WHEN 'DOM' THEN 0 END) QT_SEG, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN PP.QT_PRODUZIR WHEN 'QUA' THEN 0 WHEN 'QUI' THEN 0 WHEN 'SEX' THEN 0 WHEN 'SAB' THEN 0 WHEN 'DOM' THEN 0 END) QT_TER, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN 0 WHEN 'QUA' THEN PP.QT_PRODUZIR WHEN 'QUI' THEN 0 WHEN 'SEX' THEN 0 WHEN 'SAB' THEN 0 WHEN 'DOM' THEN 0 END) QT_QUA, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN 0 WHEN 'QUA' THEN 0 WHEN 'QUI' THEN PP.QT_PRODUZIR WHEN 'SEX' THEN 0 WHEN 'SAB' THEN 0 WHEN 'DOM' THEN 0 END) QT_QUI, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN 0 WHEN 'QUA' THEN 0 WHEN 'QUI' THEN 0 WHEN 'SEX' THEN PP.QT_PRODUZIR WHEN 'SAB' THEN 0 WHEN 'DOM' THEN 0 END) QT_SEX, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN 0 WHEN 'QUA' THEN 0 WHEN 'QUI' THEN 0 WHEN 'SEX' THEN 0 WHEN 'SAB' THEN PP.QT_PRODUZIR WHEN 'DOM' THEN 0 END) QT_SAB, SUM(CASE PP.ST_DIA WHEN 'SEG' THEN 0 WHEN 'TER' THEN 0 WHEN 'QUA' THEN 0 WHEN 'QUI' THEN 0 WHEN 'SEX' THEN 0 WHEN 'SAB' THEN 0 WHEN 'DOM' THEN PP.QT_PRODUZIR END) QT_DOM, P.NM_PESSOA , CASE PP.ST_TURNO WHEN 'M' THEN 'Matutino' WHEN 'V' THEN 'Vespertino' WHEN 'N' THEN 'Noturno' END ST_TURNO
FROM PROGRAMACAOPRODUCAO PP
INNER JOIN PESSOA P ON (P.CD_PESSOA = PP.CD_PESSOA)
WHERE PP.CD_EMPRESA = :CD_EMPRESA
AND PP.CD_ITEM = :CD_ITEM
AND PP.TP_PRODUCAO = :TP_PRODUCAO
AND PP.NR_VERSAO = :NR_VERSAO
GROUP BY P.NM_PESSOA, CASE PP.ST_TURNO WHEN 'M' THEN 'Matutino' WHEN 'V' THEN 'Vespertino' WHEN 'N' THEN 'Noturno' END , CASE PP.ST_TURNO WHEN 'M' THEN 1 WHEN 'V' THEN 2 WHEN 'N' THEN 3 END
ORDER BY P.NM_PESSOA , CASE PP.ST_TURNO WHEN 'M' THEN 1 WHEN 'V' THEN 2 WHEN 'N' THEN 3 END CD_EMPRESA CD_ITEM TP_PRODUCAO NR_VERSAO

tabMatPrima​

SELECT IP.CD_MATERIAPRIMA, I.DS_ITEM, M.DS_MARCA, {#10}V.QT_PRODUCAO QT_PARTICIPACAO, I.SG_UNIDMED {#10}
FROM ITEMPRODUCAO IP {#10}
INNER JOIN PRODUCAO P ON (P.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND P.CD_ITEM = IP.CD_ITEM {#10}
AND P.TP_PRODUCAO = IP.TP_PRODUCAO {#10}
AND P.NR_VERSAO = IP.NR_VERSAO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_MATERIAPRIMA) {#10}
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA) {#10}
LEFT JOIN view_req016(P.cd_empresa,NULL,NULL, '
AND P.cd_item = ' || P.cd_item, :QT_SIMULACAO) V ON (V.CD_MATERIAPRIMA = IP.cd_materiaprima) {#10}
WHERE P.ST_PRODUCAO = 'V' {#10}
AND IP.CD_EMPRESA = :CD_EMPRESA {#10}
AND IP.CD_ITEM = :CD_ITEM {#10}
AND IP.TP_PRODUCAO = :TP_PRODUCAO {#10}
AND IP.NR_VERSAO = :NR_VERSAO {#10}
ORDER BY IP.CD_MATERIAPRIMA

Text​

SELECT IP.CD_MATERIAPRIMA, I.DS_ITEM, M.DS_MARCA, {#10}V.QT_PRODUCAO QT_PARTICIPACAO, I.SG_UNIDMED {#10}
FROM ITEMPRODUCAO IP {#10}
INNER JOIN PRODUCAO P ON (P.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND P.CD_ITEM = IP.CD_ITEM {#10}
AND P.TP_PRODUCAO = IP.TP_PRODUCAO {#10}
AND P.NR_VERSAO = IP.NR_VERSAO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_MATERIAPRIMA) {#10}
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA) {#10}
LEFT JOIN view_req016(P.cd_empresa,NULL,NULL, '
AND P.cd_item = ' || P.cd_item, :QT_SIMULACAO) V ON (V.CD_MATERIAPRIMA = IP.cd_materiaprima) {#10}
WHERE P.ST_PRODUCAO = 'V' {#10}
AND IP.CD_EMPRESA = :CD_EMPRESA {#10}
AND IP.CD_ITEM = :CD_ITEM {#10}
AND IP.TP_PRODUCAO = :TP_PRODUCAO {#10}
AND IP.NR_VERSAO = :NR_VERSAO {#10}
ORDER BY IP.CD_MATERIAPRIMA

Tabelas Utilizadas​

TabelaUso
ITEMreferenciada nas queries do layout
ITEMPRODUCAOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PRODUCAOreferenciada nas queries do layout
PROGRAMACAOPRODUCAOreferenciada nas queries do layout
[[VIEW_REQ016]]referenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LFP002/ULFP002.pas
  • DFM: source/LFP002/ULFP002.dfm
  • Package: source/LFP002/LFP002.dpk