LOT002 — Layout LOT002
Visão Geral
Layout de impressão da família LOT (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em LOTEPRODUCAO, com junção em ITEM, LOTEPRODUCAOMP, USUARIO, PESSOA, PARMFATUR, ITEMPEDIDO (+1), filtrada por CD_EMPRESA, NR_LOTE, CD_ITEM.
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Lote
// 3 - Cd Item
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
]);
SQL Base
Pedido
SELECT L.CD_EMPRESA, 'ALUMINIO' DS_MATERIAL, L.NR_LOTE, L.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED UNIDADE , L.QT_PRODUCAO, LM.CD_MATERIAPRIMA, IM.DS_ITEM DS_MATERIAPRIMA, LM.QT_MATERIAPRIMA, CASE WHEN (L.NR_LOTEORIGEM IS NULL
OR L.NR_LOTEORIGEM = -1) THEN 'PA' ELSE 'SA' END DS_TPLOTE, I.SG_UNIDMED, IM.SG_UNIDMED SG_UNIDMEDMATPRIMA, L.DT_LOTE, UF.CD_USUARIO, COALESCE(PUF.NM_PESSOA, UF.NM_USUARIO) NM_USUARIOFECHAMENTO, L.DT_FECHAMENTO, L.CD_USUARIOLANCTO, COALESCE(PUA.NM_PESSOA, UA.NM_USUARIO) NM_USUARIOABERTURA, L.DS_OBSERVACAO, PF.DS_LOGOTIPO, L.NR_CARRO, CASE WHEN L.TP_RUA CONTAINING 'R1A' THEN 'X' ELSE '' END ST_RUA1A, CASE WHEN L.TP_RUA CONTAINING 'R1B' THEN 'X' ELSE '' END ST_RUA1B, CASE WHEN L.TP_RUA CONTAINING 'R1C' THEN 'X' ELSE '' END ST_RUA1C, CASE WHEN L.TP_RUA CONTAINING 'R1D' THEN 'X' ELSE '' END ST_RUA1D, CASE WHEN L.TP_RUA CONTAINING 'R2A' THEN 'X' ELSE '' END ST_RUA2A, CASE WHEN L.TP_RUA CONTAINING 'R2B' THEN 'X' ELSE '' END ST_RUA2B, CASE WHEN L.TP_RUA CONTAINING 'R2C' THEN 'X' ELSE '' END ST_RUA2C, CASE WHEN L.TP_RUA CONTAINING 'R2D' THEN 'X' ELSE '' END ST_RUA2D, CASE WHEN L.TP_RUA CONTAINING 'R3A' THEN 'X' ELSE '' END ST_RUA3A, CASE WHEN L.TP_RUA CONTAINING 'R3B' THEN 'X' ELSE '' END ST_RUA3B, CASE WHEN L.TP_RUA CONTAINING 'R3C' THEN 'X' ELSE '' END ST_RUA3C, CASE WHEN L.TP_RUA CONTAINING 'R3D' THEN 'X' ELSE '' END ST_RUA3D, CASE L.ST_PRIORIDADE WHEN 'A' THEN 'Amarelo' WHEN 'V' THEN 'Verde' WHEN 'B' THEN 'Vermelho' WHEN 'S' THEN 'Sem Prioridade' END DS_ST_PRIORIDADE
FROM LOTEPRODUCAO L
INNER JOIN ITEM I ON (I.CD_ITEM = L.CD_ITEM)
INNER JOIN LOTEPRODUCAOMP LM ON (LM.CD_EMPRESA = L.CD_EMPRESA
AND LM.NR_LOTE = L.NR_LOTE
AND LM.CD_ITEM = L.CD_ITEM)
INNER JOIN ITEM IM ON (IM.CD_ITEM = LM.CD_MATERIAPRIMA)
LEFT JOIN USUARIO UA ON (UA.CD_USUARIO = L.CD_USUARIOLANCTO)
LEFT JOIN PESSOA PUA ON (PUA.CD_PESSOA = UA.CD_PESSOA)
LEFT JOIN USUARIO UF ON (UF.CD_USUARIO = L.CD_USUARIOFECHAMENTO)
LEFT JOIN PESSOA PUF ON (PUF.CD_PESSOA = UF.CD_PESSOA)
INNER JOIN PARMFATUR PF ON (L.CD_EMPRESA = PF.CD_EMPRESA)
WHERE L.CD_EMPRESA = :CD_EMPRESA
AND L.NR_LOTE = :NR_LOTE
AND L.CD_ITEM = :CD_ITEM
ORDER BY LM.CD_MATERIAPRIMA CD_EMPRESA 1 NR_LOTE CD_ITEM
SELECT P.CD_EMPRESA, P.CD_PESSOA, P.NR_PEDIDO, P.TP_PEDIDO, P.DT_ENTREGA,CP.NR_LOTE
FROM PEDIDO P
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.NR_PEDIDO = P.NR_PEDIDO
AND IP.TP_PEDIDO = P.TP_PEDIDO)
INNER JOIN CONTROLEPRODUCAO CP ON (IP.CD_EMPRESA = CP.CD_EMPRESA
AND IP.NR_PEDIDO = CP.NR_PEDIDO
AND IP.TP_PEDIDO = CP.TP_PEDIDO
AND IP.CD_ITEM = CP.CD_ITEM
AND CP.TP_CONTROLE = 'P'
AND CP.ST_CONTROLE = 'N')
WHERE P.TP_PEDIDO = 'S'
AND P.CD_EMPRESA = :CD_EMPRESA
AND CP.NR_LOTE = :NR_LOTE
AND IP.CD_ITEM = :CD_ITEM
AND P.DT_ENTREGA is not null
AND P.ST_PEDIDO IN ('N', 'P') CD_EMPRESA NR_LOTE CD_ITEM
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONTROLEPRODUCAO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
LOTEPRODUCAO | referenciada nas queries do layout |
LOTEPRODUCAOMP | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOT002/ULOT002.pas - DFM:
source/LOT002/ULOT002.dfm - Package:
source/LOT002/LOT002.dpk