liu
9 天以前 600fe725775e28af1f86f7f7f1e2521f494252b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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');
}