Pular para o conteúdo principal

LOP020 — Layout LOP020

Visão Geral​

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

Descrição​

Consulta baseada em ITEMORDEMPROD, com junção em EMPRESA, ITEM, FICHAPRODUCAO, PRODUCAO, RETORNA_LINHAS, TIPOCALCULO (+6), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, O, JO, CD_ITEM, CD_MATERIAPRIMA (+8).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordem Producao
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

tabOrdem​

SELECT DISTINCT O.NR_ORDEMPRODUCAO ,O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO,I.PS_LIQUIDO QTCONVERSAO, I.SG_UNIDMED, I.SG_UNIDALT, I.CD_ITEM||' - '||I.DS_ITEM ITEMPRODUZIDO, I.FORMULACAO, COALESCE(I.NR_CO||'%', '0%') NR_CO, COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, I.NR_P205||'%' NR_P205, I.NR_K2O||'%'NR_K2O, I.NR_UMMAX||'%' NR_UMMAX,O.QT_PRODUZIDA * COALESCE(I.PS_EMBALAGEM,1) QTTOTAL,I.DS_NATUREZAFISICA, I.DS_GRANULOMETRIA,O.DT_INICIOPRODUCAO DTEMISSAO, O.DT_FIMPRODUCAO DTPRODUCAO, MP.DS_ITEM INSUMOS, IO.QT_ITEMPRODUCAO PESOEMKGSTOTLOTE, O.DT_FIMPRODUCAO DTPREVISTA, -- COVERSÕES AO PESO DE BASE DE PRODUÇÃO QTCONVERSAO ((COALESCE(CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2),0) * COALESCE(CAST(P.QT_MINPRODUCAO AS DOM_NUMERIC15_2),0))/COALESCE(CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2),0))PESOEMKGS, RL.O_NR_LINHA, -- CONVERSÃO DA QUANTIDADE PRODUZIDA PARA A UNIDADE ALTERNATIVA CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)*CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QUTCONVERTIDA, O.QT_PRODUZIDA, -- CONVERSÃO DE PORCENTAGENS ((CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2)*100)/CAST((
SELECT SUM(IOS.QT_ITEMPRODUCAO)
FROM ITEMORDEMPROD IOS
WHERE IOS.CD_EMPRESA = O.CD_EMPRESA
AND IOS.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO) AS DOM_NUMERIC15_2))PORCENTAGEM, PE.DT_ENTREGA, PC.NM_PESSOA, RLP.O_DS_LOTE -------------------------------------------------------------------------------------------------
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM MP ON(MP.CD_ITEM = IO.CD_MATERIAPRIMA)
LEFT JOIN FICHAPRODUCAO FP ON(FP.CD_MATERIAPRIMA = I.CD_ITEM)
LEFT JOIN PRODUCAO P ON(P.CD_EMPRESA = O.CD_EMPRESA
AND P.CD_ITEM = O.CD_ITEM
AND P.TP_PRODUCAO = O.TP_PRODUCAO
AND P.NR_VERSAO = O.NR_VERSAO)
LEFT JOIN RETORNA_LINHAS(2)RL ON 1=1
LEFT JOIN TIPOCALCULO TC ON(TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO)
LEFT JOIN PEDIDO PE ON (PE.CD_EMPRESA = OP.CD_EMPRPED
AND PE.NR_PEDIDO = OP.NR_PEDIDO
AND PE.TP_PEDIDO = OP.TP_PEDIDO)
LEFT JOIN PESSOA PC ON(PC.CD_PESSOA = PE.CD_PESSOA) /*
LEFT JOIN ORDEMPRODUCAOLOTE OPL ON (OPL.CD_EMPRESA = O.CD_EMPRESA
AND OPL.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO)
LEFT JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = O.CD_EMPRESA
AND LS.NR_LOTE = OPL.NR_LOTE)*/
LEFT JOIN RETORNA_LOTEORDEMPROD(O.CD_EMPRESA, O.NR_ORDEMPRODUCAO) RLP ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
GROUP BY RL.O_NR_LINHA, O.NR_ORDEMPRODUCAO ,O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO,I.PS_LIQUIDO,I.PS_EMBALAGEM, I.SG_UNIDMED,I.SG_UNIDALT, I.CD_ITEM||' - '||I.DS_ITEM , I.FORMULACAO, COALESCE(I.NR_CO||'%', '0%') , COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') , COALESCE(I.NR_TOTAL||'%', '0%') , I.NR_P205||'%' , I.NR_K2O||'%', I.NR_UMMAX||'%' ,O.QT_PRODUZIDA ,I.DS_NATUREZAFISICA, I.DS_GRANULOMETRIA,O.DT_INICIOPRODUCAO , O.DT_FIMPRODUCAO , MP.DS_ITEM, IO.QT_ITEMPRODUCAO , O.DT_FIMPRODUCAO , ((COALESCE(CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2),0) * COALESCE(CAST(P.QT_MINPRODUCAO AS DOM_NUMERIC15_2),0))/COALESCE(CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2),0)), O.NR_LOTEPRODUCAO, CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)*CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) , O.QT_PRODUZIDA, ((CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2)*100)/CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)), PE.DT_ENTREGA, PC.NM_PESSOA, RLP.O_DS_LOTE CD_EMPRESA NR_ORDEMPRODUCAO
SELECT FIRST 1 O.NR_ORDEMPRODUCAO ,O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO,I.PS_LIQUIDO QTCONVERSAO,i.SG_UNIDMED, I.SG_UNIDALT, I.CD_ITEM||' - '||I.DS_ITEM ITEMPRODUZIDO, I.FORMULACAO, COALESCE(I.NR_CO||'%', '0%') NR_CO, COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, I.NR_P205||'%' NR_P205, I.NR_K2O||'%'NR_K2O, I.NR_UMMAX||'%' NR_UMMAX,O.QT_PRODUZIDA * COALESCE(I.PS_EMBALAGEM,1) QTTOTAL,I.DS_NATUREZAFISICA, I.DS_GRANULOMETRIA,O.DT_INICIOPRODUCAO DTEMISSAO, O.DT_FIMPRODUCAO DTPRODUCAO, MP.DS_ITEM INSUMOS, IO.QT_ITEMPRODUCAO PESOEMKGSTOTLOTE, O.DT_FIMPRODUCAO DTPREVISTA, -- COVERSÕES AO PESO DE BASE DE PRODUÇÃO ((COALESCE(CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2),0) * COALESCE(CAST(P.QT_MINPRODUCAO AS DOM_NUMERIC15_2),0))/COALESCE(CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2),0))PESOEMKGS, -- CONVERSÃO DA QUANTIDADE PRODUZIDA PARA A UNIDADE ALTERNATIVA CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)*CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QUTCONVERTIDA
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM MP ON(MP.CD_ITEM = IO.CD_MATERIAPRIMA)
LEFT JOIN FICHAPRODUCAO FP ON(FP.CD_MATERIAPRIMA = I.CD_ITEM)
LEFT JOIN PRODUCAO P ON(P.CD_EMPRESA = O.CD_EMPRESA
AND P.CD_ITEM = O.CD_ITEM
AND P.TP_PRODUCAO = O.TP_PRODUCAO
AND P.NR_VERSAO = O.NR_VERSAO)
LEFT JOIN TIPOCALCULO TC ON(TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
GROUP BY O.NR_ORDEMPRODUCAO ,O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO,I.PS_LIQUIDO, I.SG_UNIDALT, i.SG_UNIDMED, I.CD_ITEM||' - '||I.DS_ITEM , I.FORMULACAO, COALESCE(I.NR_CO||'%', '0%') , COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') , COALESCE(I.NR_TOTAL||'%', '0%') , I.NR_P205||'%' , I.NR_K2O||'%', I.NR_UMMAX||'%' ,O.QT_PRODUZIDA ,I.DS_NATUREZAFISICA, I.DS_GRANULOMETRIA,O.DT_INICIOPRODUCAO , O.DT_FIMPRODUCAO , MP.DS_ITEM , IO.QT_ITEMPRODUCAO , O.DT_FIMPRODUCAO , I.PS_EMBALAGEM, ((COALESCE(CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2),0) * COALESCE(CAST(P.QT_MINPRODUCAO AS DOM_NUMERIC15_2),0))/COALESCE(CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2),0)), CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)*CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2), ((CAST(IO.QT_ITEMPRODUCAO AS DOM_NUMERIC15_2)*100)/CAST(O.QT_PRODUZIDA AS DOM_NUMERIC15_2)) CD_EMPRESA NR_ORDEMPRODUCAO

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
FICHAPRODUCAOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
LOTESEMENTEreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOLOTEreferenciada nas queries do layout
ORDEMPRODUCAOPEDIDOreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PRODUCAOreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
RETORNA_LOTEORDEMPRODreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP020/ULOP020.pas
  • DFM: source/LOP020/ULOP020.dfm
  • Package: source/LOP020/LOP020.dpk