|
|
|
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Gerência](gerencia) | [Estudos](estudos) | [Arquitetura](arquitetura) | [Contratos](contratos) | [BD](banco_dados) | [Qualidade](qualidade) | [Configuração](configuracao) | [Instalação](instalacao) | [Instruções](instrucoes) | [Utilização](utilizacao) | [Analytics](Analytics) | [Infraestrutura](infraestrutura) | [Dicas](dicas) |
|
|
|
|
| :-------: | :---------------------: | :---------------: | :---------------------------: | :----------------: | :-------------: | :---------------------: | :-----------------: | :------------: | :-----------------: | :-------------------------: | :---------------------: | :---------------------: | :---------------------: | :-----------------: | :---------------------------: | :---------: |
|
|
|
|
|
|
|
|
# Stock - estoque de lotes
|
|
|
|
|
|
|
|
fields:
|
|
|
|
|
|
|
|
```js
|
|
|
|
export class Stock {
|
|
|
|
id: number;
|
|
|
|
document_number: string;
|
|
|
|
document_date: Date;
|
|
|
|
stock_moviment: Stock_Moviment;
|
|
|
|
stock_items: StockItem[];
|
|
|
|
}
|
|
|
|
export class StockItem {
|
|
|
|
id: number;
|
|
|
|
stock_id: number;
|
|
|
|
sequence: number;
|
|
|
|
product_id: number;
|
|
|
|
quantity: number;
|
|
|
|
unit_price: number;
|
|
|
|
total_price: number;
|
|
|
|
lote: string;
|
|
|
|
expiration: Date;
|
|
|
|
persons: number;
|
|
|
|
costumers: number;
|
|
|
|
stock_location_id: number;
|
|
|
|
observation: string;
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
endpoints:
|
|
|
|
|
|
|
|
## FindAll
|
|
|
|
|
|
|
|
GET http://localhost:3000/stock/
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"document_number": "NFE123",
|
|
|
|
"document_date": "2024-09-01T09:00:00.000Z",
|
|
|
|
"stock_moviment": "INPUT",
|
|
|
|
"is_balance": false,
|
|
|
|
"document_type": "nota entrada",
|
|
|
|
"created_at": "18/10/2024",
|
|
|
|
"updated_at": "18/10/2024",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null,
|
|
|
|
"stock_items": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"product_id": 1,
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"quantity": 100,
|
|
|
|
"stock_id": 1,
|
|
|
|
"sequence": 1,
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 7,
|
|
|
|
"product_id": 7,
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"quantity": 100,
|
|
|
|
"stock_id": 1,
|
|
|
|
"sequence": 1,
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"document_number": "OP124",
|
|
|
|
"document_date": "2024-09-02T10:00:00.000Z",
|
|
|
|
"stock_moviment": "INPUT",
|
|
|
|
"is_balance": false,
|
|
|
|
"document_type": "ordem de produção",
|
|
|
|
"created_at": "18/10/2024",
|
|
|
|
"updated_at": "18/10/2024",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null,
|
|
|
|
"stock_items": [
|
|
|
|
{
|
|
|
|
"id": 17,
|
|
|
|
"product_id": 9,
|
|
|
|
"lote": "LoteKK123",
|
|
|
|
"quantity": 100,
|
|
|
|
"stock_id": 2,
|
|
|
|
"sequence": 1,
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 3,
|
|
|
|
"document_number": "DOC123",
|
|
|
|
"document_date": "2024-09-01T09:00:00.000Z",
|
|
|
|
"stock_moviment": "OUTPUT",
|
|
|
|
"is_balance": false,
|
|
|
|
"document_type": "documento entrada",
|
|
|
|
"created_at": "18/10/2024",
|
|
|
|
"updated_at": "18/10/2024",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null,
|
|
|
|
"stock_items": [
|
|
|
|
{
|
|
|
|
"id": 9,
|
|
|
|
"product_id": 1,
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"quantity": 20,
|
|
|
|
"stock_id": 3,
|
|
|
|
"sequence": 1,
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"id": 10,
|
|
|
|
"product_id": 2,
|
|
|
|
"lote": "LoteC123",
|
|
|
|
"quantity": 20,
|
|
|
|
"stock_id": 3,
|
|
|
|
"sequence": 2,
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
## FindById
|
|
|
|
|
|
|
|
GET http://localhost:3000/stock/1
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"document_number": "NFE123",
|
|
|
|
"document_date": "2024-09-01T09:00:00.000Z",
|
|
|
|
"stock_moviment": "INPUT",
|
|
|
|
"is_balance": false,
|
|
|
|
"document_type": "nota entrada",
|
|
|
|
"created_at": "18/10/2024",
|
|
|
|
"updated_at": "18/10/2024",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null,
|
|
|
|
"stock_items": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"sequence": 1,
|
|
|
|
"products": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "batata branca",
|
|
|
|
"code": "CODE001",
|
|
|
|
"sku": "SKU001"
|
|
|
|
},
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 7,
|
|
|
|
"sequence": 1,
|
|
|
|
"products": {
|
|
|
|
"id": 7,
|
|
|
|
"description": "uva",
|
|
|
|
"code": "CODE007",
|
|
|
|
"sku": "SKU006"
|
|
|
|
},
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 8,
|
|
|
|
"sequence": 2,
|
|
|
|
"products": {
|
|
|
|
"id": 8,
|
|
|
|
"description": "Batata cubinhos",
|
|
|
|
"code": "CODE016",
|
|
|
|
"sku": "SKU007"
|
|
|
|
},
|
|
|
|
"lote": "LoteC123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"sequence": 2,
|
|
|
|
"products": {
|
|
|
|
"id": 2,
|
|
|
|
"description": "mix de folhas verdes",
|
|
|
|
"code": "CODE002",
|
|
|
|
"sku": "SKU015"
|
|
|
|
},
|
|
|
|
"lote": "LoteC123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 3,
|
|
|
|
"sequence": 3,
|
|
|
|
"products": {
|
|
|
|
"id": 3,
|
|
|
|
"description": "aipim",
|
|
|
|
"code": "CODE003",
|
|
|
|
"sku": "SKU002"
|
|
|
|
},
|
|
|
|
"lote": "LoteD456",
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z",
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 20,
|
|
|
|
"total_price": 4000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 3,
|
|
|
|
"description": "Pátio"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 4,
|
|
|
|
"sequence": 4,
|
|
|
|
"products": {
|
|
|
|
"id": 4,
|
|
|
|
"description": "mirtilo",
|
|
|
|
"code": "CODE004",
|
|
|
|
"sku": "SKU003"
|
|
|
|
},
|
|
|
|
"lote": "LoteE123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 5,
|
|
|
|
"sequence": 5,
|
|
|
|
"products": {
|
|
|
|
"id": 5,
|
|
|
|
"description": "laranja",
|
|
|
|
"code": "CODE005",
|
|
|
|
"sku": "SKU004"
|
|
|
|
},
|
|
|
|
"lote": "LoteF123",
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z",
|
|
|
|
"quantity": 100,
|
|
|
|
"unit_price": 10,
|
|
|
|
"total_price": 1000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 1,
|
|
|
|
"description": "Câmara Fria A"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 6,
|
|
|
|
"sequence": 6,
|
|
|
|
"products": {
|
|
|
|
"id": 6,
|
|
|
|
"description": "couve",
|
|
|
|
"code": "CODE006",
|
|
|
|
"sku": "SKU005"
|
|
|
|
},
|
|
|
|
"lote": "LoteG456",
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z",
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 20,
|
|
|
|
"total_price": 4000,
|
|
|
|
"image_link": null,
|
|
|
|
"suppliers": null,
|
|
|
|
"stock_location": {
|
|
|
|
"id": 3,
|
|
|
|
"description": "Pátio"
|
|
|
|
},
|
|
|
|
"created_at": "2024-10-18T03:09:25.922Z",
|
|
|
|
"updated_at": "2024-10-18T03:09:25.922Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## AllStockLotes
|
|
|
|
|
|
|
|
GET http://localhost:3000/stock/lots
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"productId": 1,
|
|
|
|
"description": "batata branca",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "P100020",
|
|
|
|
"totalQuantity": 200,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "P100019",
|
|
|
|
"totalQuantity": 200,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"totalQuantity": 80,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "PD100022",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 2,
|
|
|
|
"description": "mix de folhas verdes",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteC123",
|
|
|
|
"totalQuantity": 80,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "PD100023",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "P100021",
|
|
|
|
"totalQuantity": 200,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 3,
|
|
|
|
"description": "aipim",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteD456",
|
|
|
|
"totalQuantity": 180,
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 4,
|
|
|
|
"description": "mirtilo",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteE123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 5,
|
|
|
|
"description": "laranja",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteF123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 6,
|
|
|
|
"description": "couve",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteG456",
|
|
|
|
"totalQuantity": 180,
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 7,
|
|
|
|
"description": "uva",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "P100013",
|
|
|
|
"totalQuantity": 10,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "LoteA123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": null,
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": null
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "ABRACADABRA",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-09-01T09:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "P10001",
|
|
|
|
"totalQuantity": 20030,
|
|
|
|
"expiration": null
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "P100011",
|
|
|
|
"totalQuantity": 10,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "P100012",
|
|
|
|
"totalQuantity": 10,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "PD100014",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 8,
|
|
|
|
"description": "Batata cubinhos",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteC123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 9,
|
|
|
|
"description": "cenoura cubinhos",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteKK123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 10,
|
|
|
|
"description": "Mandioca descascada",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteTY123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 11,
|
|
|
|
"description": "mirtilos selecionados",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteER56",
|
|
|
|
"totalQuantity": 180,
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 12,
|
|
|
|
"description": "laranja descascada",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteOI123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 13,
|
|
|
|
"description": "mix de verduras",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteABC123",
|
|
|
|
"totalQuantity": 90,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "LOTE-TESTE",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-12-31T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"productId": 14,
|
|
|
|
"description": "suco natural de uva",
|
|
|
|
"lots": [
|
|
|
|
{
|
|
|
|
"lote": "LoteWW456",
|
|
|
|
"totalQuantity": 180,
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"lote": "LOTE-TESTE",
|
|
|
|
"totalQuantity": 0,
|
|
|
|
"expiration": "2024-12-15T23:59:59.000Z"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
## Create
|
|
|
|
|
|
|
|
POST http://localhost:3000/stock/
|
|
|
|
|
|
|
|
request:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"document_number": "5001",
|
|
|
|
"document_date": "2024-09-15T10:30:00.000Z",
|
|
|
|
"stock_moviment": "INPUT",
|
|
|
|
"stock_items": [
|
|
|
|
{
|
|
|
|
"product_id": 1,
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 10.5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"product_id": 2,
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 10.5
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"stockDocument": {
|
|
|
|
"id": 43,
|
|
|
|
"document_number": "5001",
|
|
|
|
"document_date": "2024-09-15T10:30:00.000Z",
|
|
|
|
"stock_moviment": "INPUT",
|
|
|
|
"created_at": "2024-10-19T06:31:44.819Z",
|
|
|
|
"updated_at": "2024-10-19T06:31:44.819Z",
|
|
|
|
"items": [
|
|
|
|
{
|
|
|
|
"id": 51,
|
|
|
|
"stock_id": 43,
|
|
|
|
"sequence": 1,
|
|
|
|
"product_id": 1,
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 10.5,
|
|
|
|
"total_price": 2100,
|
|
|
|
"lote": "P100024",
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z",
|
|
|
|
"image_link": null,
|
|
|
|
"photo": [],
|
|
|
|
"supplier": null,
|
|
|
|
"costumer": null,
|
|
|
|
"stock_location_id": 1,
|
|
|
|
"observation": null,
|
|
|
|
"created_at": "2024-10-19T06:31:45.079Z",
|
|
|
|
"updated_at": "2024-10-19T06:31:45.079Z",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 52,
|
|
|
|
"stock_id": 43,
|
|
|
|
"sequence": 2,
|
|
|
|
"product_id": 2,
|
|
|
|
"quantity": 200,
|
|
|
|
"unit_price": 10.5,
|
|
|
|
"total_price": 2100,
|
|
|
|
"lote": "P100025",
|
|
|
|
"expiration": "2024-01-01T00:00:00.000Z",
|
|
|
|
"image_link": null,
|
|
|
|
"photo": [],
|
|
|
|
"supplier": null,
|
|
|
|
"costumer": null,
|
|
|
|
"stock_location_id": 1,
|
|
|
|
"observation": null,
|
|
|
|
"created_at": "2024-10-19T06:31:45.192Z",
|
|
|
|
"updated_at": "2024-10-19T06:31:45.192Z",
|
|
|
|
"created_by": null,
|
|
|
|
"updated_by": null
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Update
|
|
|
|
|
|
|
|
PATCH http://localhost:3000/stock/33
|
|
|
|
|
|
|
|
request:
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
## Delete (remoção física)
|
|
|
|
|
|
|
|
DELETE http://localhost:3000/stock/3
|
|
|
|
|
|
|
|
response:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"message": "Stock ID 3 permanently removed successfully"
|
|
|
|
}
|
|
|
|
``` |