更新swagger
This commit is contained in:
@@ -239,6 +239,7 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @property {string} name
|
||||
* @property {string} description
|
||||
* @property {Array<RawMaterialNutrientDTO>} raw_material_nutrients
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -251,6 +252,8 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @typedef {object} RawMaterialsParams
|
||||
* @property {string} [name] - 按原料名称模糊查询
|
||||
* @property {string} [nutrient_name] - 按营养名称模糊查询
|
||||
* @property {number} [max_reference_price] - 参考价格最大值
|
||||
* @property {number} [min_reference_price] - 参考价格最小值
|
||||
* @property {string} [order_by] - 排序字段,例如 "id DESC"
|
||||
* @property {number} [page]
|
||||
* @property {number} [page_size]
|
||||
@@ -260,12 +263,14 @@ import {PaginationDTO, Response} from '../enums';
|
||||
* @typedef {object} CreateRawMaterialRequest
|
||||
* @property {string} name - 原料名称
|
||||
* @property {string} [description] - 描述
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} UpdateRawMaterialRequest
|
||||
* @property {string} name - 原料名称
|
||||
* @property {string} [description] - 描述
|
||||
* @property {number} [reference_price] - 参考价格(kg/元)
|
||||
*/
|
||||
|
||||
// --- Recipe ---
|
||||
|
||||
@@ -5,6 +5,7 @@ import { AlarmApi } from './alarm.js'; // 导入告警API
|
||||
import { HealthApi } from './health.js'; // 导入健康检查API
|
||||
import { DeviceTemplateApi } from './deviceTemplate.js'; // 导入设备模板API
|
||||
import { FeedApi } from './feed.js'; // 导入饲料管理API
|
||||
import { InventoryApi } from './inventory.js'; // 导入库存管理API
|
||||
|
||||
/**
|
||||
* API客户端
|
||||
@@ -19,6 +20,7 @@ export class ApiClient {
|
||||
this.alarms = AlarmApi; // 添加告警API
|
||||
this.deviceTemplates = DeviceTemplateApi; // 添加设备模板API
|
||||
this.feeds = FeedApi; // 添加饲料管理API
|
||||
this.inventory = InventoryApi; // 添加库存管理API
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
104
src/api/inventory.js
Normal file
104
src/api/inventory.js
Normal file
@@ -0,0 +1,104 @@
|
||||
import http from '../utils/http';
|
||||
import { PaginationDTO, Response, StockLogSourceType } from '../enums';
|
||||
|
||||
// --- Typedefs for Inventory Management ---
|
||||
|
||||
/**
|
||||
* @typedef {object} StockAdjustmentRequest
|
||||
* @property {number} change_amount - 变动数量, 正数为入库, 负数为出库, 单位: g
|
||||
* @property {number} raw_material_id - 要调整的原料ID
|
||||
* @property {string} [remarks] - 备注
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} StockLogResponse
|
||||
* @property {number} after_quantity
|
||||
* @property {number} before_quantity
|
||||
* @property {number} change_amount
|
||||
* @property {string} happened_at
|
||||
* @property {number} id
|
||||
* @property {number} raw_material_id
|
||||
* @property {string} raw_material_name
|
||||
* @property {string} remarks
|
||||
* @property {number} source_id
|
||||
* @property {StockLogSourceType} source_type
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} ListStockLogResponse
|
||||
* @property {Array<StockLogResponse>} list
|
||||
* @property {PaginationDTO} pagination
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} CurrentStockResponse
|
||||
* @property {string} last_updated - 最后更新时间
|
||||
* @property {number} raw_material_id - 原料ID
|
||||
* @property {string} raw_material_name - 原料名称
|
||||
* @property {number} stock - 当前库存量, 单位: g
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} ListCurrentStockResponse
|
||||
* @property {Array<CurrentStockResponse>} list
|
||||
* @property {PaginationDTO} pagination
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} AdjustStockParams
|
||||
* @property {StockAdjustmentRequest} request - 库存调整请求
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} GetCurrentStockListParams
|
||||
* @property {string} [order_by] - 排序字段, 例如 "stock DESC"
|
||||
* @property {number} [page] - 页码
|
||||
* @property {number} [page_size] - 每页数量
|
||||
* @property {string} [raw_material_name] - 按原料名称模糊查询
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {object} GetStockLogListParams
|
||||
* @property {string} [end_time] - 结束时间 (RFC3339格式)
|
||||
* @property {string} [order_by] - 排序字段
|
||||
* @property {number} [page] - 页码
|
||||
* @property {number} [page_size] - 每页数量
|
||||
* @property {number} [raw_material_id] - 按原料ID精确查询
|
||||
* @property {Array<StockLogSourceType>} [source_types] - 按来源类型查询
|
||||
* @property {string} [start_time] - 开始时间 (RFC3339格式, e.g., "2023-01-01T00:00:00Z")
|
||||
*/
|
||||
|
||||
// --- API Functions ---
|
||||
|
||||
/**
|
||||
* 调整原料库存
|
||||
* @param {StockAdjustmentRequest} data - 库存调整请求
|
||||
* @returns {Promise<Response<StockLogResponse>>}
|
||||
*/
|
||||
export const adjustStock = (data) => {
|
||||
return http.post('/api/v1/inventory/stock/adjust', data);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前库存列表
|
||||
* @param {GetCurrentStockListParams} params - 查询参数
|
||||
* @returns {Promise<Response<ListCurrentStockResponse>>}
|
||||
*/
|
||||
export const getCurrentStockList = (params) => {
|
||||
return http.get('/api/v1/inventory/stock/current', { params });
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取库存变动日志
|
||||
* @param {GetStockLogListParams} params - 查询参数
|
||||
* @returns {Promise<Response<ListStockLogResponse>>}
|
||||
*/
|
||||
export const getStockLogList = (params) => {
|
||||
return http.get('/api/v1/inventory/stock/logs', { params });
|
||||
};
|
||||
|
||||
export const InventoryApi = {
|
||||
adjustStock,
|
||||
getCurrentStockList,
|
||||
getStockLogList,
|
||||
};
|
||||
16
src/enums.js
16
src/enums.js
@@ -64,6 +64,21 @@ export const LogChangeType = {
|
||||
CORRECTION: '盘点校正',
|
||||
};
|
||||
|
||||
/**
|
||||
* 库存变动来源类型
|
||||
* @enum {string}
|
||||
*/
|
||||
export const StockLogSourceType = {
|
||||
PURCHASE: '采购入库',
|
||||
FEEDING: '饲喂出库',
|
||||
DETERIORATE: '变质出库',
|
||||
SALE: '售卖出库',
|
||||
MISCELLANEOUS: '杂用领取',
|
||||
MANUAL: '手动盘点',
|
||||
FERMENT_START: '发酵出库', // 原料投入发酵,从库存中扣除
|
||||
FERMENT_END: '发酵入库', // 发酵料产出,作为新原料计入库存
|
||||
};
|
||||
|
||||
/**
|
||||
* 用药原因
|
||||
* @enum {string}
|
||||
@@ -263,6 +278,7 @@ export const ZapcoreLevel = {
|
||||
PANIC: 4,
|
||||
FATAL: 5,
|
||||
INVALID: 6,
|
||||
NUM_LEVELS: 7, // 新增的级别数量
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user