import { requestClient } from '#/api/request';
|
|
export namespace ManagementCockpitApi {
|
/** 通用名称-数量分布项 */
|
export interface NameCountItem {
|
name: string; // 名称(仓库/品种/状态/经销商/省份/渠道等)
|
count: number; // 数量
|
}
|
|
/** 按日数量趋势项 */
|
export interface DailyCountItem {
|
date: string; // 日期 yyyy-MM-dd
|
count: number; // 数量
|
}
|
|
/** 质检指标均值项 */
|
export interface IndicatorAvgItem {
|
indicatorCode: string; // 指标编码
|
indicatorName: string; // 指标名称(纯度/净度/发芽率/水分)
|
checkCount: number; // 检验次数
|
averageValue: number; // 指标平均值
|
passRate: number; // 指标合格率(%)
|
}
|
|
/** 五维度汇总统计 */
|
export interface Summary {
|
// 生产
|
batchTotal: number; // 批次总数
|
batchDraft: number; // 草稿批次
|
batchProducing: number; // 生产中批次
|
batchFinished: number; // 已完成批次
|
batchCanceled: number; // 已作废批次
|
bagCodeTotal: number; // 袋码总数
|
bagCodeGenerated: number; // 已生成袋码
|
bagCodePrinted: number; // 已导出印刷袋码
|
bagCodeCanceled: number; // 已作废袋码
|
palletTotal: number; // 托盘码总数
|
todayInboundBagCount: number; // 今日扫码入库袋数
|
// 质检
|
qualityTotal: number; // 检验记录总数
|
qualityPending: number; // 处理中
|
qualityPass: number; // 合格
|
qualityFail: number; // 不合格
|
qualityPassRate: number; // 检验合格率(%)
|
// 库存
|
stockTotal: number; // 当前库存总量
|
stockTemporary: number; // 暂存库存量
|
stockQualified: number; // 合格库存量
|
stockOutbound: number; // 已出库数量
|
lowStockCount: number; // 低库存预警数
|
// 出库
|
outboundOrderTotal: number; // 出库单总数
|
outboundQuantityTotal: number; // 出库总量
|
todayOutboundQuantity: number; // 今日出库量
|
// 追溯
|
scanTotal: number; // 扫码总数
|
todayScanCount: number; // 今日扫码数
|
scanSuccessCount: number; // 扫码成功数
|
crossRegionWarningTotal: number; // 窜货预警总数
|
crossRegionPendingCount: number; // 待处理窜货预警数
|
}
|
|
/** 生产趋势项 */
|
export interface ProductionTrendItem {
|
date: string;
|
batchCount: number; // 新增批次
|
bagCodeCount: number; // 新增袋码
|
palletCount: number; // 新增托盘
|
inboundBagQuantity: number; // 扫码入库袋数
|
}
|
|
/** 质检维度统计 */
|
export interface QualityStatistics {
|
resultDistribution: NameCountItem[]; // 检验结果分布
|
indicatorList: IndicatorAvgItem[]; // 四项指标均值
|
}
|
|
/** 库存维度统计 */
|
export interface InventoryStatistics {
|
warehouseDistribution: NameCountItem[]; // 按仓库
|
itemDistribution: NameCountItem[]; // 按品种
|
stateDistribution: NameCountItem[]; // 按状态
|
}
|
|
/** 出库维度统计 */
|
export interface OutboundStatistics {
|
trend: DailyCountItem[]; // 按日出库趋势
|
dealerDistribution: NameCountItem[]; // 按经销商
|
}
|
|
/** 窜货预警汇总 */
|
export interface CrossRegionSummary {
|
total: number;
|
pending: number;
|
handled: number;
|
falseAlarm: number;
|
crossProvince: number;
|
crossCity: number;
|
}
|
|
/** 追溯维度统计 */
|
export interface TraceStatistics {
|
scanTrend: DailyCountItem[]; // 扫码按日趋势
|
provinceDistribution: NameCountItem[]; // 省份分布
|
channelDistribution: NameCountItem[]; // 渠道分布
|
crossRegionSummary: CrossRegionSummary; // 窜货预警汇总
|
}
|
}
|
|
/** 获得管理驾驶舱五维度汇总统计 */
|
export function getManagementCockpitSummary() {
|
return requestClient.get<ManagementCockpitApi.Summary>(
|
'/mes/dashboard/summary',
|
);
|
}
|
|
/** 获得生产趋势 */
|
export function getManagementCockpitProductionTrend(days?: number) {
|
return requestClient.get<ManagementCockpitApi.ProductionTrendItem[]>(
|
'/mes/dashboard/production-trend',
|
{ params: { days } },
|
);
|
}
|
|
/** 获得质检维度统计 */
|
export function getManagementCockpitQuality() {
|
return requestClient.get<ManagementCockpitApi.QualityStatistics>(
|
'/mes/dashboard/quality-statistics',
|
);
|
}
|
|
/** 获得库存维度统计 */
|
export function getManagementCockpitInventory() {
|
return requestClient.get<ManagementCockpitApi.InventoryStatistics>(
|
'/mes/dashboard/inventory-statistics',
|
);
|
}
|
|
/** 获得出库维度统计 */
|
export function getManagementCockpitOutbound(days?: number) {
|
return requestClient.get<ManagementCockpitApi.OutboundStatistics>(
|
'/mes/dashboard/outbound-statistics',
|
{ params: { days } },
|
);
|
}
|
|
/** 获得追溯维度统计 */
|
export function getManagementCockpitTrace(days?: number) {
|
return requestClient.get<ManagementCockpitApi.TraceStatistics>(
|
'/mes/dashboard/trace-statistics',
|
{ params: { days } },
|
);
|
}
|
|
/** 导出管理驾驶舱 Excel 报表(返回 Blob) */
|
export function exportManagementCockpitExcel() {
|
return requestClient.download('/mes/dashboard/export-excel');
|
}
|