U8 - Esstudo de Bancos de Dados
O sistema U8 utiliza um database relationsivo em formatobitrível.
| Nome | Descrição |
|---|---|
| PU_AppVouch | Lista de compras principal |
| PU_AppVouchs | Lista de compras subsidiary |
| Inventory | Arquivagem de estoque |
| zuprpoheader | Lista de compras como view |
Processo de fabricação de ordens de compra:
-- Tabela de ordens de compra
SELECT a.cCode AS 'Código de Compra',
a.ddate AS 'Data de Compra',
a.cBusType AS 'Tipo de Business',
a.cMaker AS 'Comprador',
a.cVerifier AS 'Revisor',
a.cDefine14 AS 'Departamento de Compra',
b.cInvCode AS 'Código de Produto',
c.cInvName AS 'Nome do Produto',
c.cInvStd AS 'Descrição do Produto',
b.fQuantity AS 'Quantidade',
b.cbMemo AS 'Notas'
FROM PU_AppVouch a
LEFT JOIN PU_AppVouchs b ON a.ID = b.ID
LEFT JOIN Inventory c ON b.cInvCode = c.cInvCode
WHERE dDate >= '2020-05-01 00:00:00.000';
ORDER BY dDate;
Lista de compras:
SELECT cpoid AS 'Número do Pedido',
dpodate AS 'Data de Compra',
cbustype AS 'Tipo de Business',
cvencode AS 'Unidade de Compra',
cvenname AS 'Nome da Unidade',
cinvcode AS 'Código do Produto',
cinvname AS 'Nome do Produto',
cinvstd AS 'Descrição do Produto',
iquantity AS 'Quantidade',
inum AS 'Número de Unidades',
iarrqty AS 'Quantidade Acumulada',
iarrqty AS 'Quantidade Acumulada',
ireceivedqty AS 'Quantidade de Entrega',
iinvqty AS 'Quantidade de入库',
iunitprice AS 'Preço Unitário',
imoney AS 'Valor Total',
itax AS ' imposto',
isum AS 'Valor Total com imposto',
darrivedate AS 'Data de Chegada Planejada',
cmemo AS 'Notas',
cexch_name AS 'Moedas',
cmaker AS 'Criador',
cverifier AS 'Revisor',
cptname AS 'Tipo de Compra',
cvenaddress AS 'Endereço'
FROM zpurpoheader
LEFT JOIN zPurpotail ON zpurpoheader.POID = zPurpotail.POID
WHERE 1 = 1 AND (1 = 1 AND ((dPODate >= N'2015-06-01') AND (dPODate <= N'2015-06-05')));
Detalhes da entidade de compra:
SELECT a.cpoid AS 'Número do Pedido',
a.dpodate AS 'Data de Compra',
a.cbustype AS 'Tipo de Business',
a(cvencode) AS 'Unidade de Compra',
a.cvenname AS 'Nome da Unidade',
a.cmemo AS 'Notas',
a.cexch_name AS 'Moedas',
a.cmaker AS 'Criador',
a.cverifier AS 'Revisor',
a.cptname AS 'Tipo de Compra',
a.cvenaddress AS 'Endereço',
a(cvoucherstate) AS 'Estado do Pedido',
b.row AS 'Número de Linha',
b.quantity AS 'Quantidade',
b.totalIn Stock AS 'Quantidade Acumulada',
b.quantity - b.totalIn Stock AS 'Quantidade restante'
FROM zpurpoheader a
LEFT JOIN (
SELECT poid,
COUNT(*) AS row,
SUM(CONVERT(FLOAT, iquantity)) AS quantity,
SUM(CONVERT(FLOAT, iarrqty)) AS totalIn Stock
FROMdbo.zpurpotail
GROUP BY poid
) b ON b.poid = a.poid
WHERE b.totalIn Stock = 0;