@qinsilk/scm-agent-tools 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/api.md ADDED
@@ -0,0 +1,2067 @@
1
+ # scm-agent 接口返回字段说明
2
+
3
+ 本文档回答一个问题:**命令加 `--json` 之后,返回的每个字段是什么意思、取什么值、单位与精度是什么、为空代表什么。**
4
+
5
+ 什么时候需要它:官方报表之外,用户希望自己设计报表或统计口径时。只靠字段名猜含义容易算错,
6
+ 尤其是下面三类字段——取值是数字代码(需要查表才知道 1 和 2 各代表什么)、
7
+ 单位不同(采购单位与基础单位、件与公斤)、
8
+ 为空(可能是权限看不到,也可能是本来就没有数据)。
9
+
10
+ 命令怎么用、参数怎么传,看 [cli.md](cli.md);本文件只讲字段。
11
+
12
+ 本文档由开发仓库的生成脚本从 is-scm-server 的 agent DTO 源码生成
13
+ (字段含义取自源码里的 `@ApiModelProperty`),随包发布,请不要手工编辑。
14
+
15
+ ## 通用约定
16
+
17
+ **返回外壳**:所有接口返回 `{ status, message, data }`。`status` 为 200 表示成功,`data` 才是业务数据;
18
+ 其余状态码见 [cli.md](cli.md) 的「错误码」一节。
19
+
20
+ **分页结构**:列表类接口的 `data` 是 `{ page, limit, total, list }`,
21
+ `total` 是符合条件的总条数,`list` 是本页的行。单页最多 100 条。
22
+
23
+ **不适用分页的接口**:`log db-change` 用游标续查(`hasMore`、`lineNum`、`scrollId`),
24
+ `log api` 与 `permission list` 一次返回数组。
25
+
26
+ **日期与时间**:字段说明里写了格式的都按该格式原样理解。只到日的字段是 `yyyy-MM-dd` 字符串,
27
+ 别人的报表按字符串比较日期即可;`Timestamp` 类型(版单、IE 核价的日期字段)由 Node 序列化成 ISO 字符串,
28
+ 如 `2026-10-24T00:00:00.000Z`。
29
+
30
+ **金额与数量**:`BigDecimal` 类型在 JSON 里是数字。金额精度要看企业配置的物料小数位
31
+ (官方报表读取 company-config 的 materialDecimal),自己做报表时如果要与网页显示一致,
32
+ 不要默认只有两位小数。
33
+
34
+ **空值的三种含义**,看到 `null` 或缺失时先分清是哪一种,不要一律当成 0:
35
+
36
+ 1. **没有权限看不到**:字段说明里写明「无某某权限时为空」的字段。
37
+ 含义是当前 AI Key 对应的用户没有这项数据权限,不是数据本身为空。
38
+ 2. **该接口不返回**:字段说明里写明「仅详情接口返回」的字段,在列表接口里恒为 `null`。
39
+ 3. **业务上确实没有数据**:未填写、未发生。这种情况才可以在统计里当 0 处理,但要在报表里说明。
40
+
41
+ **同名不同义**:同一个 JSON 里不同层级会出现同名字段(例如生产单详情顶层的 `state` 与
42
+ 工序行里的 `state`)。读字段时一定要带上层级,不要只按字段名判断。
43
+
44
+ ## 商品列表与详情(goods search / goods detail)
45
+
46
+ - 命令:`scm-agent goods search --name A123 --json | scm-agent goods detail --id 12345 --json`
47
+ - 接口:`GET /api/agent/v1/goods/search | GET /api/agent/v1/goods/detail`
48
+
49
+ > search 返回分页结构,每行是本节的字段;detail 返回单个对象,其中 skus(颜色尺码单品)与 workProcesses(工序模板)只有 detail 才填充,search 中为空。
50
+
51
+ | 字段 | 类型 | 必填 | 含义 |
52
+ |---|---|---|---|
53
+ | `id` | Long | 否 | 商品id |
54
+ | `goodsSn` | String | 否 | 款号 |
55
+ | `designSn` | String | 否 | 设计款号 |
56
+ | `name` | String | 否 | 名称 |
57
+ | `isOnSale` | Integer | 否 | 是否上架:1是 0否 |
58
+ | `reviewState` | Integer | 否 | 评审状态:0待评审 1通过 2未通过 |
59
+ | `makeSampleState` | Integer | 否 | 打样状态:0无 1已纸样 2已打样 3封样 |
60
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
61
+ | `costPrice` | BigDecimal | 否 | 成本价 |
62
+ | `devTime` | String | 否 | 开发时间(yyyy-MM-dd) |
63
+ | `produceOrderNumber` | Integer | 否 | 生产单数 |
64
+ | `storedNumber` | Integer | 否 | 库存数 |
65
+ | `availableNumber` | Integer | 否 | 可用库存 |
66
+ | `produceNumber` | BigDecimal | 否 | 生产中数量 |
67
+ | `brandName` | String | 否 | 品牌 |
68
+ | `goodsImgUrl` | String | 否 | 主图 |
69
+ | `skus` | List<SkuRow> | 否 | 颜色尺码单品(详情接口) |
70
+ | `workProcesses` | List<ProcessRow> | 否 | 工序模板(详情接口) |
71
+
72
+ **skus[] 的字段**
73
+
74
+ | 字段 | 类型 | 必填 | 含义 |
75
+ |---|---|---|---|
76
+ | `skus[].colorName` | String | 否 | 颜色 |
77
+ | `skus[].sizeName` | String | 否 | 尺码 |
78
+ | `skus[].skuCode` | String | 否 | 单品编码 |
79
+ | `skus[].barCode` | String | 否 | 条码 |
80
+ | `skus[].tagPrice` | BigDecimal | 否 | 吊牌价 |
81
+ | `skus[].storedNumber` | Integer | 否 | 库存 |
82
+ | `skus[].availableNumber` | Integer | 否 | 可用库存 |
83
+
84
+ **workProcesses[] 的字段**
85
+
86
+ | 字段 | 类型 | 必填 | 含义 |
87
+ |---|---|---|---|
88
+ | `workProcesses[].workProcessName` | String | 否 | 工序名称 |
89
+ | `workProcesses[].core` | Integer | 否 | 是否关键工序:1无 2裁床 3生产完成 4车间生产 5尾部 6纸样 |
90
+ | `workProcesses[].factoryName` | String | 否 | 加工厂 |
91
+
92
+ ## 物料列表与详情(material search / material detail)
93
+
94
+ - 命令:`scm-agent material search --name 华达呢 --json | scm-agent material detail --id 12345 --json`
95
+ - 接口:`GET /api/agent/v1/material/search | GET /api/agent/v1/material/detail`
96
+
97
+ > detail 才填充 skus(物料单品);type 与 state 是两个不同的枚举,注意区分(见字段说明)。
98
+
99
+ | 字段 | 类型 | 必填 | 含义 |
100
+ |---|---|---|---|
101
+ | `id` | Long | 否 | 物料id |
102
+ | `sn` | String | 否 | 物料货号 |
103
+ | `name` | String | 否 | 物料名称 |
104
+ | `type` | Integer | 否 | 类型:1面料 0辅料 |
105
+ | `state` | Integer | 否 | 启用状态:1启用 2关闭 |
106
+ | `price` | BigDecimal | 否 | 价格 |
107
+ | `defaultSupplierName` | String | 否 | 默认供应商 |
108
+ | `unitName` | String | 否 | 单位 |
109
+ | `categoryName` | String | 否 | 分类 |
110
+ | `stockNumber` | BigDecimal | 否 | 库存量 |
111
+ | `sumAvailableNumber` | BigDecimal | 否 | 可用库存 |
112
+ | `totalStoredNumber` | BigDecimal | 否 | 总库存(详情接口) |
113
+ | `composition` | String | 否 | 成分 |
114
+ | `gramWeight` | BigDecimal | 否 | 克重 |
115
+ | `skus` | List<SkuRow> | 否 | 物料单品(详情接口) |
116
+
117
+ **skus[] 的字段**
118
+
119
+ | 字段 | 类型 | 必填 | 含义 |
120
+ |---|---|---|---|
121
+ | `skus[].colorName` | String | 否 | 颜色 |
122
+ | `skus[].spec` | String | 否 | 规格(属性名=属性值,逗号分隔) |
123
+ | `skus[].price` | BigDecimal | 否 | 价格 |
124
+ | `skus[].storedNumber` | BigDecimal | 否 | 库存 |
125
+
126
+ ## 生产单列表与详情(produce list / produce detail)
127
+
128
+ - 命令:`scm-agent produce list --sn A123 --json | scm-agent produce detail --sn SC202610240001 --json`
129
+ - 接口:`GET /api/agent/v1/produce/list | GET /api/agent/v1/produce/detail`
130
+
131
+ > 列表与详情返回同一组基础字段;orderGoods、materialList、bomList 只有 detail 填充,列表里为 null。workProcesses 两边都有,列表里也有,供工序看板类报表按工序分列使用。注意本结构在不同层级有同名不同义字段:顶层 state 是生产单状态,workProcesses[].state 是工序状态;orderGoods[].number 是生产数量,bomList[].number 是单件用量。
132
+
133
+ | 字段 | 类型 | 必填 | 含义 |
134
+ |---|---|---|---|
135
+ | `ordersSn` | String | 否 | 生产单号 |
136
+ | `produceBatchSn` | String | 否 | 生产批次号(未分批时为空) |
137
+ | `goodsSn` | String | 否 | 款号 |
138
+ | `goodsName` | String | 否 | 商品名称 |
139
+ | `goodsImgUrl` | String | 否 | 款式图 URL(无图片时为空) |
140
+ | `state` | Integer | 否 | 状态值:1草稿 2生产中 3生产完成 4待生产 9已撤销 |
141
+ | `stateName` | String | 否 | 状态名称 |
142
+ | `type` | Integer | 否 | 生产类型:1自主生产 2单工序外发 3委外加工 4成品采购 |
143
+ | `sumNumber` | Integer | 否 | 总下单数量 |
144
+ | `sumInNumber` | Integer | 否 | 已入库数量 |
145
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
146
+ | `deliveryTime` | String | 否 | 计划交货日期(yyyy-MM-dd) |
147
+ | `isUrgent` | Integer | 否 | 是否加急:0否 1是 |
148
+ | `produceProgress` | BigDecimal | 否 | 生产进度百分比 |
149
+ | `latestProcessName` | String | 否 | 最新节点名称 |
150
+ | `latestProcessProgress` | BigDecimal | 否 | 最新节点进度百分比 |
151
+ | `cutBedState` | Integer | 否 | 裁床状态:1不含裁床 2待裁床 3裁床中 4已完成 |
152
+ | `sumCutBedNumber` | BigDecimal | 否 | 总裁床数量 |
153
+ | `materialPurchaseState` | Integer | 否 | 物料采购进度:1库存充足 2未采购 3待入库 4部分入库 5采购完成 |
154
+ | `issueNotCompleteNumber` | Long | 否 | 未齐料数(物料未发齐的数量,未计算发料数据时为空) |
155
+ | `supplierName` | String | 否 | 加工厂(无查看权限时为空) |
156
+ | `clientName` | String | 否 | 客户名称 |
157
+ | `orderGoods` | List<GoodsRow> | 否 | 颜色尺码明细(详情接口) |
158
+ | `materialList` | List<MaterialRow> | 否 | 生产单物料行(仅详情接口返回,列表为 null;漏料检测日报、物料在途状态报表使用) |
159
+ | `bomList` | List<BomRow> | 否 | 生产单商品物料 BOM 映射行(仅详情接口返回,列表为 null;漏料检测日报、物料在途状态报表使用) |
160
+ | `workProcesses` | List<WorkProcessRow> | 否 | 工序进度(列表与详情接口均返回;列表返回供工序看板类报表分列使用) |
161
+
162
+ **orderGoods[] 的字段**
163
+
164
+ | 字段 | 类型 | 必填 | 含义 |
165
+ |---|---|---|---|
166
+ | `orderGoods[].goodsSn` | String | 否 | 款号 |
167
+ | `orderGoods[].goodsSkuId` | Long | 否 | 商品单品id(BOM 映射按物料单品与商品单品关联) |
168
+ | `orderGoods[].colorName` | String | 否 | 颜色 |
169
+ | `orderGoods[].sizeName` | String | 否 | 尺码 |
170
+ | `orderGoods[].number` | Integer | 否 | 生产数量 |
171
+ | `orderGoods[].cutBedNumber` | BigDecimal | 否 | 裁床数量 |
172
+ | `orderGoods[].storeInNumber` | Integer | 否 | 已入库数量 |
173
+
174
+ **workProcesses[] 的字段**
175
+
176
+ | 字段 | 类型 | 必填 | 含义 |
177
+ |---|---|---|---|
178
+ | `workProcesses[].workProcessName` | String | 否 | 工序名称 |
179
+ | `workProcesses[].showOrder` | Integer | 否 | 显示顺序(同生产单内工序的先后次序) |
180
+ | `workProcesses[].core` | Integer | 否 | 关键工序标识:1无 2裁床 3生产完成 4车间生产 5尾部 6纸样 |
181
+ | `workProcesses[].state` | Integer | 否 | 工序状态:1未完成 2完成 |
182
+ | `workProcesses[].actualState` | Integer | 否 | 工序实际状态:3进行中 |
183
+ | `workProcesses[].progress` | BigDecimal | 否 | 进度百分比 |
184
+ | `workProcesses[].produceNumber` | Integer | 否 | 目标生产数量 |
185
+ | `workProcesses[].reportNumber` | BigDecimal | 否 | 已汇报数量 |
186
+ | `workProcesses[].estimateFinishTime` | String | 否 | 预计完成时间(yyyy-MM-dd) |
187
+ | `workProcesses[].beginTime` | String | 否 | 实际开始时间(yyyy-MM-dd) |
188
+ | `workProcesses[].factoryName` | String | 否 | 加工厂 |
189
+
190
+ **materialList[] 的字段**
191
+
192
+ | 字段 | 类型 | 必填 | 含义 |
193
+ |---|---|---|---|
194
+ | `materialList[].materialId` | Long | 否 | 物料id |
195
+ | `materialList[].materialSkuId` | Long | 否 | 物料单品id |
196
+ | `materialList[].materialType` | Integer | 否 | 物料类型:0-辅料 1-面料 |
197
+ | `materialList[].materialTypeId` | Long | 否 | 物料类型id |
198
+ | `materialList[].materialTypeName` | String | 否 | 物料类型名 |
199
+ | `materialList[].name` | String | 否 | 物料名称 |
200
+ | `materialList[].sn` | String | 否 | 物料货号 |
201
+ | `materialList[].colorName` | String | 否 | 物料颜色 |
202
+ | `materialList[].spec` | String | 否 | 物料规格文本,多个规格用;连接,每个格式为 规格名:规格值 |
203
+ | `materialList[].number` | BigDecimal | 否 | 数量 |
204
+ | `materialList[].price` | BigDecimal | 否 | 单价 |
205
+ | `materialList[].amount` | BigDecimal | 否 | 成本 |
206
+ | `materialList[].purchaseNumber` | BigDecimal | 否 | 采购数 |
207
+ | `materialList[].issueInNumber` | BigDecimal | 否 | 发料已入库数 |
208
+ | `materialList[].predictNumber` | BigDecimal | 否 | 预计总用量(裁床数) |
209
+ | `materialList[].isComplete` | Integer | 否 | 是否齐料:0否 1是 |
210
+ | `materialList[].isHideByPurchaseUser` | Boolean | 否 | 根据采购员判断是否隐藏 |
211
+ | `materialList[].purchaseUserNames` | String | 否 | 物料采购员名称,多个用,连接 |
212
+ | `materialList[].supplierProvinceId` | Integer | 否 | 供应商省ID |
213
+ | `materialList[].supplierCityId` | Integer | 否 | 供应商市ID |
214
+ | `materialList[].supplierCountyId` | Integer | 否 | 供应商县ID |
215
+ | `materialList[].supplierAddress` | String | 否 | 供应商详细地址 |
216
+ | `materialList[].materialSkuUnitConvertList` | List<UnitConvertRow> | 否 | 单位换算列表(漏料检测/物料在途报表使用) |
217
+ | `materialList[].issueState` | Integer | 否 | 发料状态:0空 1发料中 2无需发料 3发料结束 |
218
+ | `materialList[].supplierName` | String | 否 | 供应商名称(无供应商资料查看权限时为空) |
219
+ | `materialList[].supplierCellphone` | String | 否 | 供应商电话(无供应商资料查看权限时为空) |
220
+ | `materialList[].fabricType` | Integer | 否 | 面料属性:1针织 2梭织(物料类型未启用面料属性时为-1) |
221
+ | `materialList[].bomSupplierColor` | String | 否 | BOM色号/生产单色号 |
222
+ | `materialList[].materialSkuSupplierColor` | String | 否 | 物料单品供应商色号 |
223
+ | `materialList[].materialFabricWidth` | BigDecimal | 否 | 物料幅宽(cm) |
224
+ | `materialList[].materialGramWeight` | BigDecimal | 否 | 物料克重(g/㎡) |
225
+ | `materialList[].materialQunce` | BigDecimal | 否 | 物料安数 |
226
+ | `materialList[].shrinkRates` | String | 否 | 缩水率(按 BOM 行聚合的文本,多个用,隔开) |
227
+ | `materialList[].materialLossRates` | String | 否 | 损耗率(按 BOM 行聚合的文本,多个用,隔开) |
228
+ | `materialList[].materialComposition` | String | 否 | 物料成分 |
229
+ | `materialList[].materialParts` | String | 否 | 物料部位(按 BOM 行聚合的文本,多个用,隔开) |
230
+ | `materialList[].materialPostProcesses` | String | 否 | 物料后处理(按 BOM 行聚合的文本,多个用,隔开) |
231
+ | `materialList[].materialUnit` | String | 否 | 物料基础单位名 |
232
+ | `materialList[].convertRate` | BigDecimal | 否 | 转换系数 |
233
+ | `materialList[].purchasePrice` | BigDecimal | 否 | 采购单价 |
234
+ | `materialList[].materialImgUrl` | String | 否 | 物料主图 URL |
235
+ | `materialList[].materialSkuImgUrl` | String | 否 | 物料单品首图 URL |
236
+ | `materialList[].predictWeight` | BigDecimal | 否 | 预计重量(kg) |
237
+ | `materialList[].materialNetWeight` | BigDecimal | 否 | 物料净重(kg) |
238
+ | `materialList[].predictPower` | BigDecimal | 否 | 预计匹数 |
239
+ | `materialList[].materialMeterOutput` | BigDecimal | 否 | 物料出米数 |
240
+ | `materialList[].materialAvailableNumber` | BigDecimal | 否 | 物料可用库存 |
241
+ | `materialList[].factoryMaterialAvailableNumber` | BigDecimal | 否 | 加工厂可用库存 |
242
+ | `materialList[].factoryMaterialStoredNumber` | BigDecimal | 否 | 加工厂当前库存 |
243
+ | `materialList[].purchaseWinNumber` | BigDecimal | 否 | 采购待入库数 |
244
+ | `materialList[].issueNumber` | BigDecimal | 否 | 发料数 |
245
+ | `materialList[].issuedPreCutNumber` | BigDecimal | 否 | 发料预裁数 |
246
+ | `materialList[].waitIssueNumber` | BigDecimal | 否 | 待发数 |
247
+ | `materialList[].ableIssueNumber` | BigDecimal | 否 | 可发数 |
248
+ | `materialList[].issueWoutNumber` | BigDecimal | 否 | 发料待出库数 |
249
+ | `materialList[].issueWinNumber` | BigDecimal | 否 | 发料待入库数 |
250
+ | `materialList[].transferNumber` | BigDecimal | 否 | 调拨数 |
251
+ | `materialList[].transferWoutNumber` | BigDecimal | 否 | 调拨待出库数 |
252
+ | `materialList[].transferWinNumber` | BigDecimal | 否 | 调拨待入库数 |
253
+ | `materialList[].pickNumber` | BigDecimal | 否 | 已领料数 |
254
+ | `materialList[].pickedPreCutNumber` | BigDecimal | 否 | 领料预裁数 |
255
+ | `materialList[].pickOutNumber` | BigDecimal | 否 | 领料已出库数 |
256
+ | `materialList[].pickWoutNumber` | BigDecimal | 否 | 领料待出库数 |
257
+ | `materialList[].pickRefundNumber` | BigDecimal | 否 | 已退料数 |
258
+ | `materialList[].pickRefundInNumber` | BigDecimal | 否 | 退料已入库数 |
259
+ | `materialList[].pickRefundWinNumber` | BigDecimal | 否 | 退料待入库数 |
260
+ | `materialList[].practicalNumber` | BigDecimal | 否 | 实用量 |
261
+ | `materialList[].cuttingLoss` | BigDecimal | 否 | 裁床等损耗 |
262
+ | `materialList[].lackPickNumber` | BigDecimal | 否 | 本单缺料数 |
263
+ | `materialList[].surplusPickNumber` | BigDecimal | 否 | 本单余料数 |
264
+ | `materialList[].recoveryNumber` | BigDecimal | 否 | 回料数 |
265
+ | `materialList[].recoveryWoutNumber` | BigDecimal | 否 | 回料待出库数 |
266
+ | `materialList[].recoveryWinNumber` | BigDecimal | 否 | 回料待入库数 |
267
+ | `materialList[].remark` | String | 否 | 备注 |
268
+ | `materialList[].materialCategoryName` | String | 否 | 物料分类名 |
269
+
270
+ **materialSkuUnitConvertList[] 的字段**
271
+
272
+ | 字段 | 类型 | 必填 | 含义 |
273
+ |---|---|---|---|
274
+ | `materialSkuUnitConvertList[].convertRate` | BigDecimal | 否 | 转换系数 |
275
+ | `materialSkuUnitConvertList[].purchasePrice` | BigDecimal | 否 | 采购价格 |
276
+ | `materialSkuUnitConvertList[].purchaseUnitName` | String | 否 | 采购单位名 |
277
+
278
+ **bomList[] 的字段**
279
+
280
+ | 字段 | 类型 | 必填 | 含义 |
281
+ |---|---|---|---|
282
+ | `bomList[].materialId` | Long | 否 | 物料id |
283
+ | `bomList[].materialSkuId` | Long | 否 | 物料单品id |
284
+ | `bomList[].goodsSkuId` | Long | 否 | 商品单品id |
285
+ | `bomList[].number` | BigDecimal | 否 | 数量(单件用量) |
286
+ | `bomList[].amount` | BigDecimal | 否 | 总价 |
287
+ | `bomList[].materialLossRate` | BigDecimal | 否 | 损耗率 |
288
+ | `bomList[].shrinkRate` | BigDecimal | 否 | 缩水率 |
289
+
290
+ ## 物料采购单列表与详情(material-purchase list / material-purchase detail)
291
+
292
+ - 命令:`scm-agent material-purchase list --from 2026-10-01 --to 2026-10-24 --json | scm-agent material-purchase detail --sn CG202610240001 --json`
293
+ - 接口:`GET /api/agent/v1/material-purchase/list | GET /api/agent/v1/material-purchase/detail`
294
+
295
+ > 顶层数量字段是采购单级汇总,details 是物料明细行。「采购单位」与「基础单位」是两套计量口径,同名字段名不同:purchaseUnitNumber/purchasePrice/purchaseUnitAmount 是采购单位口径,purchaseNumber/currentPrice/totalPrice 是基础单位口径,做金额汇总时不要混用。
296
+
297
+ | 字段 | 类型 | 必填 | 含义 |
298
+ |---|---|---|---|
299
+ | `ordersSn` | String | 否 | 采购单号 |
300
+ | `groupOrdersSn` | String | 否 | 组合单号 |
301
+ | `state` | Integer | 否 | 状态值:1草稿 2待入库 3部分入库 4全部入库 9撤销 |
302
+ | `supplierName` | String | 否 | 供应商 |
303
+ | `sumPurchaseNumber` | BigDecimal | 否 | 采购总数量 |
304
+ | `amount` | BigDecimal | 否 | 采购金额 |
305
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
306
+ | `expectTime` | String | 否 | 预计到料时间(yyyy-MM-dd) |
307
+ | `storeInNumber` | BigDecimal | 否 | 已入库数量 |
308
+ | `storeWinNumber` | BigDecimal | 否 | 待入库数量 |
309
+ | `orderDeliveryState` | Integer | 否 | 发货状态:2未发货 3部分发货 4全部发货 |
310
+ | `produceOrderSns` | Set<String> | 否 | 关联生产单号 |
311
+ | `produceRelations` | List<RelationRow> | 否 | 关联生产单行(单号、批次号、商品货号、生产客户名) |
312
+ | `bedNumbers` | List<String> | 否 | 床次号列表 |
313
+ | `tags` | List<String> | 否 | 标签名称列表 |
314
+ | `purchaseUnitNumber` | BigDecimal | 否 | 采购数(采购单位口径) |
315
+ | `purchaseNumber` | BigDecimal | 否 | 预计入库数(基础单位口径) |
316
+ | `deliverNumber` | BigDecimal | 否 | 基础发货数 |
317
+ | `purchaseStoreWinNumber` | BigDecimal | 否 | 采购待入库数 |
318
+ | `purchaseStoreInNumber` | BigDecimal | 否 | 采购已入库数 |
319
+ | `purchaseTerminateInNumber` | BigDecimal | 否 | 采购放弃入库数 |
320
+ | `terminateInNumber` | BigDecimal | 否 | 基础放弃入库数 |
321
+ | `totalWipeZero` | BigDecimal | 否 | 抹零金额 |
322
+ | `payment` | BigDecimal | 否 | 已付金额 |
323
+ | `supplierSn` | String | 否 | 供应商单号 |
324
+ | `purchaseStoreInTimes` | List<String> | 否 | 实际入库时间列表(yyyy-MM-dd HH:mm:ss) |
325
+ | `businessTimeText` | String | 否 | 业务时间(yyyy-MM-dd HH:mm) |
326
+ | `handlerName` | String | 否 | 创建人 |
327
+ | `createTime` | String | 否 | 创建时间(yyyy-MM-dd HH:mm) |
328
+ | `lastHandlerName` | String | 否 | 更新人 |
329
+ | `updateTime` | String | 否 | 更新时间(yyyy-MM-dd HH:mm) |
330
+ | `details` | List<DetailRow> | 否 | 物料明细(详情接口) |
331
+
332
+ **details[] 的字段**
333
+
334
+ | 字段 | 类型 | 必填 | 含义 |
335
+ |---|---|---|---|
336
+ | `details[].materialSn` | String | 否 | 物料货号 |
337
+ | `details[].materialName` | String | 否 | 物料名称 |
338
+ | `details[].materialImgUrl` | String | 否 | 物料图片 URL |
339
+ | `details[].colorName` | String | 否 | 颜色 |
340
+ | `details[].skuPropertyList` | List<SkuPropertyRow> | 否 | 物料单品规格属性 |
341
+ | `details[].materialSkuSupplierColor` | String | 否 | 物料单品供应商色号 |
342
+ | `details[].fabricWidth` | BigDecimal | 否 | 幅宽(有幅宽时色号才有意义) |
343
+ | `details[].purchaseUnitNumber` | BigDecimal | 否 | 采购数量(采购单位口径) |
344
+ | `details[].purchasePrice` | BigDecimal | 否 | 采购单价(采购单位口径) |
345
+ | `details[].purchaseUnitAmount` | BigDecimal | 否 | 采购金额(采购单位口径) |
346
+ | `details[].purchaseNumber` | BigDecimal | 否 | 采购数量(基础单位口径) |
347
+ | `details[].currentPrice` | BigDecimal | 否 | 单价(基础单位口径) |
348
+ | `details[].totalPrice` | BigDecimal | 否 | 总价(基础单位口径) |
349
+ | `details[].storeInNumber` | BigDecimal | 否 | 已入库数量 |
350
+ | `details[].produceOrdersSn` | String | 否 | 关联生产单号 |
351
+
352
+ **produceRelations[] 的字段**
353
+
354
+ | 字段 | 类型 | 必填 | 含义 |
355
+ |---|---|---|---|
356
+ | `produceRelations[].produceOrdersSn` | String | 否 | 生产单号 |
357
+ | `produceRelations[].produceBatchSn` | String | 否 | 生产批次号 |
358
+ | `produceRelations[].goodsSn` | String | 否 | 生产商品货号 |
359
+ | `produceRelations[].produceOrderClientName` | String | 否 | 生产客户名称 |
360
+
361
+ **skuPropertyList[] 的字段**
362
+
363
+ | 字段 | 类型 | 必填 | 含义 |
364
+ |---|---|---|---|
365
+ | `skuPropertyList[].propertyName` | String | 否 | 属性名 |
366
+ | `skuPropertyList[].propertyValue` | String | 否 | 属性值 |
367
+
368
+ ## 设计款列表(design list)
369
+
370
+ - 命令:`scm-agent design list --sn A123 --json`
371
+ - 接口:`GET /api/agent/v1/design/list`
372
+
373
+ > designState 是设计款状态;convertGoodsState 是转大货状态(另一套枚举),两者含义不同。
374
+
375
+ | 字段 | 类型 | 必填 | 含义 |
376
+ |---|---|---|---|
377
+ | `id` | Long | 否 | 设计款id |
378
+ | `designSn` | String | 否 | 款号 |
379
+ | `customDesignSn` | String | 否 | 客户款号 |
380
+ | `name` | String | 否 | 名称 |
381
+ | `goodsSn` | String | 否 | 货号(转大货后有值) |
382
+ | `relateGoodsId` | Long | 否 | 转大货后的商品id,未转为 0 或空 |
383
+ | `designState` | Integer | 否 | 设计款状态:2设计中 3待确定 4修改中 5审核通过 6取消 15开发池 16版型资产库 |
384
+ | `convertGoodsState` | Integer | 否 | 转大货状态 |
385
+ | `isSealedSample` | Integer | 否 | 封样状态 |
386
+ | `designBrandName` | String | 否 | 品牌 |
387
+ | `designCategoryName` | String | 否 | 分类 |
388
+ | `designStyleName` | String | 否 | 款式 |
389
+ | `designSeasonName` | String | 否 | 季节 |
390
+ | `designRangesName` | String | 否 | 波段 |
391
+ | `designPlanName` | String | 否 | 企划 |
392
+ | `year` | String | 否 | 年份 |
393
+ | `month` | Integer | 否 | 月份 |
394
+ | `sex` | Integer | 否 | 性别 |
395
+ | `designDesignerName` | String | 否 | 设计师 |
396
+ | `designPatternMakerName` | String | 否 | 打版师 |
397
+ | `designAssistantName` | String | 否 | 设计助理 |
398
+ | `followerName` | String | 否 | 跟单员 |
399
+ | `costPrice` | BigDecimal | 否 | 成本价 |
400
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
401
+ | `devTime` | Timestamp | 否 | 开发日期 |
402
+ | `createTime` | Timestamp | 否 | 创建时间 |
403
+ | `updateTime` | Timestamp | 否 | 更新时间 |
404
+ | `designStoredNumber` | Integer | 否 | 库存数 |
405
+ | `designAvailableNumber` | Integer | 否 | 可用库存数 |
406
+ | `designOrderCount` | Integer | 否 | 板单数 |
407
+ | `latestDesignOrderSerialName` | String | 否 | 最新版次名 |
408
+ | `colorNames` | List<String> | 否 | 颜色名称列表 |
409
+ | `sizeNames` | List<String> | 否 | 尺码名称列表 |
410
+ | `imgUrl` | String | 否 | 款式图地址 |
411
+ | `remark` | String | 否 | 备注 |
412
+
413
+ ## IE 核价(design ie-list)
414
+
415
+ - 命令:`scm-agent design ie-list --sn A123 --json`
416
+ - 接口:`GET /api/agent/v1/design/ie-list`
417
+
418
+ > 每行是一个「设计款 × 颜色」。materials 是物料行、processFees 是工序费用行、costFees 是特殊工艺费用行、accountItems 是其他费用行,四类分别汇总才是完整核价。供应商类字段与工序单价在没有对应权限时为空,空表示「当前账号看不到」,不是「没有数据」。
419
+
420
+ | 字段 | 类型 | 必填 | 含义 |
421
+ |---|---|---|---|
422
+ | `id` | Long | 否 | 设计款id |
423
+ | `designSn` | String | 否 | 款号 |
424
+ | `name` | String | 否 | 名称 |
425
+ | `goodsSn` | String | 否 | 货号(转大货后有值) |
426
+ | `colorId` | Long | 否 | 本行颜色id |
427
+ | `colorName` | String | 否 | 本行颜色名 |
428
+ | `imgUrl` | String | 否 | 款式图地址 |
429
+ | `designState` | Integer | 否 | 设计款状态:2设计中 3待确定 4修改中 5审核通过 6取消 15开发池 16版型资产库 |
430
+ | `convertGoodsState` | Integer | 否 | 转大货状态 |
431
+ | `isSealedSample` | Integer | 否 | 封样状态 |
432
+ | `brandName` | String | 否 | 品牌 |
433
+ | `seasonName` | String | 否 | 季节 |
434
+ | `rangesName` | String | 否 | 波段 |
435
+ | `planName` | String | 否 | 企划 |
436
+ | `year` | String | 否 | 年份 |
437
+ | `sex` | Integer | 否 | 性别 |
438
+ | `designerName` | String | 否 | 设计师 |
439
+ | `patternMakerName` | String | 否 | 打版师 |
440
+ | `followerName` | String | 否 | 跟单员 |
441
+ | `costPrice` | BigDecimal | 否 | 成本价 |
442
+ | `tradePrice` | BigDecimal | 否 | 贸易价 |
443
+ | `retailPriceArea` | BigDecimal | 否 | 工厂零售价 |
444
+ | `currencyCode` | String | 否 | 币种代码 |
445
+ | `currencyPrice` | BigDecimal | 否 | 外币价格 |
446
+ | `devTime` | Timestamp | 否 | 开发日期 |
447
+ | `executeStandardName` | String | 否 | 执行标准 |
448
+ | `securityTypeName` | String | 否 | 安全类别 |
449
+ | `gramWeight` | BigDecimal | 否 | 克重 |
450
+ | `composition` | String | 否 | 成分 |
451
+ | `serial` | SerialRow | 否 | 最新版次信息 |
452
+ | `materials` | List<MaterialRow> | 否 | 本行颜色的物料行(单价为物料价格,无权限限制) |
453
+ | `processFees` | List<ProcessRow> | 否 | 工序费用行(单价按隐藏价格开关与查看权限遮蔽) |
454
+ | `costFees` | List<FeeRow> | 否 | 特殊工艺费用行(供应商名按加工厂资料权限遮蔽) |
455
+ | `accountItems` | List<AccountItemRow> | 否 | 其他费用行 |
456
+
457
+ **serial 的字段**
458
+
459
+ | 字段 | 类型 | 必填 | 含义 |
460
+ |---|---|---|---|
461
+ | `serial.name` | String | 否 | 版次名 |
462
+ | `serial.designOrderSn` | String | 否 | 板单号 |
463
+ | `serial.state` | Integer | 否 | 版次状态 |
464
+ | `serial.businessTime` | Timestamp | 否 | 业务日期 |
465
+ | `serial.finishTime` | Timestamp | 否 | 完成时间 |
466
+ | `serial.checkTime` | Timestamp | 否 | 审版时间 |
467
+ | `serial.reviewResultId` | Long | 否 | 审版结果id |
468
+
469
+ **materials[] 的字段**
470
+
471
+ | 字段 | 类型 | 必填 | 含义 |
472
+ |---|---|---|---|
473
+ | `materials[].materialSn` | String | 否 | 物料货号 |
474
+ | `materials[].materialName` | String | 否 | 物料名称 |
475
+ | `materials[].materialCategoryName` | String | 否 | 物料分类 |
476
+ | `materials[].rootCategoryName` | String | 否 | 一级分类 |
477
+ | `materials[].subCategoryName` | String | 否 | 二级分类 |
478
+ | `materials[].designSkuColorName` | String | 否 | 设计款颜色名 |
479
+ | `materials[].materialSkuColorName` | String | 否 | 物料颜色名 |
480
+ | `materials[].materialSkuSupplierColor` | String | 否 | 供应商色号 |
481
+ | `materials[].materialSupplierSn` | String | 否 | 供应商物料货号 |
482
+ | `materials[].materialUnitName` | String | 否 | 单位 |
483
+ | `materials[].materialTypeName` | String | 否 | 物料类型 |
484
+ | `materials[].materialComposition` | String | 否 | 成分 |
485
+ | `materials[].materialGramWeight` | BigDecimal | 否 | 克重 |
486
+ | `materials[].materialFabricWidth` | BigDecimal | 否 | 门幅 |
487
+ | `materials[].materialMultiplyingPower` | BigDecimal | 否 | 下料倍率 |
488
+ | `materials[].materialPrice` | BigDecimal | 否 | 单价 |
489
+ | `materials[].materialRemark` | String | 否 | 物料备注 |
490
+ | `materials[].supplierName` | String | 否 | 供应商名称(无物料供应商资料权限时为空) |
491
+ | `materials[].supplierAddress` | String | 否 | 供应商地址(无物料供应商资料权限时为空) |
492
+ | `materials[].supplierCellPhone` | String | 否 | 供应商电话(无物料供应商资料权限时为空) |
493
+
494
+ **processFees[] 的字段**
495
+
496
+ | 字段 | 类型 | 必填 | 含义 |
497
+ |---|---|---|---|
498
+ | `processFees[].workProcessName` | String | 否 | 工序名称 |
499
+ | `processFees[].price` | BigDecimal | 否 | 单价(工序开启隐藏价格且无查看权限时为空) |
500
+ | `processFees[].core` | Integer | 否 | 是否裁床工序:2是 |
501
+ | `processFees[].showOrder` | Integer | 否 | 排序号 |
502
+
503
+ **costFees[] 的字段**
504
+
505
+ | 字段 | 类型 | 必填 | 含义 |
506
+ |---|---|---|---|
507
+ | `costFees[].name` | String | 否 | 费用名称 |
508
+ | `costFees[].price` | BigDecimal | 否 | 单价 |
509
+ | `costFees[].supplierName` | String | 否 | 供应商名称(无加工厂资料权限时为空) |
510
+ | `costFees[].colorPrices` | List<ColorPriceRow> | 否 | 分颜色的价格明细(仅开启单价分颜色的费用有值) |
511
+
512
+ **colorPrices[] 的字段**
513
+
514
+ | 字段 | 类型 | 必填 | 含义 |
515
+ |---|---|---|---|
516
+ | `colorPrices[].colorName` | String | 否 | 颜色名 |
517
+ | `colorPrices[].price` | BigDecimal | 否 | 单价 |
518
+
519
+ **accountItems[] 的字段**
520
+
521
+ | 字段 | 类型 | 必填 | 含义 |
522
+ |---|---|---|---|
523
+ | `accountItems[].accountItemName` | String | 否 | 费用类型名称 |
524
+ | `accountItems[].unitName` | String | 否 | 单位名称 |
525
+
526
+ ## 版单列表(design-order list,旗舰版功能)
527
+
528
+ - 命令:`scm-agent design-order list --sn A123 --json`
529
+ - 接口:`GET /api/agent/v1/design-order/list`
530
+
531
+ > state 是版单状态、nodeType 是节点类型、designOrderMode 是打版方式,三套枚举互不相同;结构里同时给了数字值与中文名(stateText/nodeTypeText/designOrderModeText),汇报给用户时用中文名。
532
+
533
+ | 字段 | 类型 | 必填 | 含义 |
534
+ |---|---|---|---|
535
+ | `id` | Long | 否 | 版单id |
536
+ | `designOrderSn` | String | 否 | 版单号 |
537
+ | `designSn` | String | 否 | 设计款号 |
538
+ | `designName` | String | 否 | 设计款名称 |
539
+ | `designGoodsSn` | String | 否 | 货号 |
540
+ | `state` | Integer | 否 | 版单状态:1未开始 2进行中 3已结束 4废版 9撤销 10审批中 12审批拒绝 |
541
+ | `stateText` | String | 否 | 版单状态中文 |
542
+ | `currentProgressState` | String | 否 | 当前进度节点名 |
543
+ | `type` | Integer | 否 | 类型:1客订 2开发款 |
544
+ | `typeText` | String | 否 | 类型中文 |
545
+ | `designOrderMode` | Integer | 否 | 打版方式:1自主打样 2外发打样 3共同打样 |
546
+ | `designOrderModeText` | String | 否 | 打版方式中文 |
547
+ | `designOrderSerialName` | String | 否 | 版次名 |
548
+ | `businessTime` | Timestamp | 否 | 下版日期 |
549
+ | `finishTime` | Timestamp | 否 | 预计完成时间 |
550
+ | `isFinalVersion` | Integer | 否 | 是否终版:1是 0否 |
551
+ | `totalNumber` | BigDecimal | 否 | 打版数 |
552
+ | `totalDeliveryNumber` | BigDecimal | 否 | 交付数 |
553
+ | `supplierName` | String | 否 | 供应商名(无加工厂资料权限时为空) |
554
+ | `clientName` | String | 否 | 客户名 |
555
+ | `followUserName` | String | 否 | 跟单员姓名 |
556
+ | `designAssistantName` | String | 否 | 设计助理姓名 |
557
+ | `lastHandler` | String | 否 | 最后操作人姓名 |
558
+ | `remark` | String | 否 | 备注 |
559
+ | `designImgUrl` | String | 否 | 款式图 |
560
+ | `updateTime` | Timestamp | 否 | 更新时间 |
561
+ | `nodes` | List<NodeRow> | 否 | 节点进度(精简) |
562
+
563
+ **nodes[] 的字段**
564
+
565
+ | 字段 | 类型 | 必填 | 含义 |
566
+ |---|---|---|---|
567
+ | `nodes[].nodeName` | String | 否 | 节点名 |
568
+ | `nodes[].nodeType` | Integer | 否 | 节点类型:1普通 2纸样 3车板 4审版 |
569
+ | `nodes[].nodeTypeText` | String | 否 | 节点类型中文 |
570
+ | `nodes[].state` | Integer | 否 | 节点状态:1待处理 2已完成 |
571
+ | `nodes[].stateText` | String | 否 | 节点状态中文 |
572
+ | `nodes[].leaderNames` | List<String> | 否 | 负责人姓名列表 |
573
+ | `nodes[].finishTime` | Timestamp | 否 | 预计完成时间 |
574
+ | `nodes[].endTime` | Timestamp | 否 | 实际完成时间 |
575
+
576
+ ## 版单详情(design-order detail,旗舰版功能)
577
+
578
+ - 命令:`scm-agent design-order detail --sn FS1024001 --json`
579
+ - 接口:`GET /api/agent/v1/design-order/detail`
580
+
581
+ > 在列表字段基础上追加打版数量明细、节点进度、BOM 物料行、尺码指示、工艺要求、工序,以及同款全部版单。supplierName 与工序单价受权限遮蔽。
582
+
583
+ | 字段 | 类型 | 必填 | 含义 |
584
+ |---|---|---|---|
585
+ | `id` | Long | 否 | 版单id |
586
+ | `designOrderSn` | String | 否 | 版单号 |
587
+ | `designId` | Long | 否 | 设计款id |
588
+ | `designSn` | String | 否 | 设计款号 |
589
+ | `designName` | String | 否 | 设计款名称 |
590
+ | `state` | Integer | 否 | 版单状态:1未开始 2进行中 3已结束 4废版 9撤销 10审批中 12审批拒绝 |
591
+ | `stateText` | String | 否 | 版单状态中文 |
592
+ | `type` | Integer | 否 | 类型:1客订 2开发款 |
593
+ | `typeText` | String | 否 | 类型中文 |
594
+ | `designOrderMode` | Integer | 否 | 打版方式:1自主打样 2外发打样 3共同打样 |
595
+ | `designOrderModeText` | String | 否 | 打版方式中文 |
596
+ | `designOrderSerialName` | String | 否 | 版次名 |
597
+ | `businessTime` | Timestamp | 否 | 下版日期 |
598
+ | `finishTime` | Timestamp | 否 | 预计完成时间 |
599
+ | `createTime` | Timestamp | 否 | 创建时间 |
600
+ | `updateTime` | Timestamp | 否 | 更新时间 |
601
+ | `isFinalVersion` | Integer | 否 | 是否终版:1是 0否 |
602
+ | `totalNumber` | BigDecimal | 否 | 打版数 |
603
+ | `totalDeliveryNumber` | BigDecimal | 否 | 交付数 |
604
+ | `supplierName` | String | 否 | 供应商名(无加工厂资料权限时为空) |
605
+ | `clientName` | String | 否 | 客户名 |
606
+ | `followUserName` | String | 否 | 跟单员姓名 |
607
+ | `designAssistantName` | String | 否 | 设计助理姓名 |
608
+ | `handler` | String | 否 | 创建人姓名 |
609
+ | `lastHandler` | String | 否 | 最后操作人姓名 |
610
+ | `styleDemand` | String | 否 | 款式需求 |
611
+ | `materialDemand` | String | 否 | 物料需求 |
612
+ | `platemakingDemand` | String | 否 | 打版需求 |
613
+ | `techniqueDemand` | String | 否 | 工艺需求 |
614
+ | `revisionReason` | String | 否 | 修订原因 |
615
+ | `abolishExplain` | String | 否 | 废版说明 |
616
+ | `partLenSampleSizeName` | String | 否 | 打版样衣尺码名 |
617
+ | `remark` | String | 否 | 备注 |
618
+ | `designImgUrl` | String | 否 | 款式图 |
619
+ | `designOrderImgUrl` | String | 否 | 版单图 |
620
+ | `dtRows` | List<DtRow> | 否 | 打版数量明细(颜色×尺码×数量) |
621
+ | `nodes` | List<NodeRow> | 否 | 节点进度 |
622
+ | `bomRows` | List<BomRow> | 否 | BOM 物料行 |
623
+ | `devRows` | List<DevRow> | 否 | 面辅料开发行 |
624
+ | `parts` | List<PartRow> | 否 | 尺码指示行 |
625
+ | `techniques` | List<TechniqueRow> | 否 | 工艺要求行 |
626
+ | `workProcesses` | List<ProcessRow> | 否 | 工序行 |
627
+ | `design` | DesignSummary | 否 | 设计款摘要 |
628
+ | `serialOrders` | List<SerialOrderRow> | 否 | 该设计款全部版单摘要 |
629
+ | `attachmentNames` | List<String> | 否 | 附件文件名列表(版单附件与工艺附件) |
630
+ | `designOrderImgUrls` | List<String> | 否 | 版单图片 URL 列表 |
631
+ | `designImgUrls` | List<String> | 否 | 设计款图片 URL 列表 |
632
+
633
+ **dtRows[] 的字段**
634
+
635
+ | 字段 | 类型 | 必填 | 含义 |
636
+ |---|---|---|---|
637
+ | `dtRows[].skuId` | Long | 否 | 单品id |
638
+ | `dtRows[].colorName` | String | 否 | 颜色名 |
639
+ | `dtRows[].sizeName` | String | 否 | 尺码名 |
640
+ | `dtRows[].number` | BigDecimal | 否 | 打版数量 |
641
+ | `dtRows[].sumHandoverNumber` | BigDecimal | 否 | 已交付数量 |
642
+
643
+ **nodes[] 的字段**
644
+
645
+ | 字段 | 类型 | 必填 | 含义 |
646
+ |---|---|---|---|
647
+ | `nodes[].nodeName` | String | 否 | 节点名 |
648
+ | `nodes[].nodeType` | Integer | 否 | 节点类型:1普通 2纸样 3车板 4审版 |
649
+ | `nodes[].nodeTypeText` | String | 否 | 节点类型中文 |
650
+ | `nodes[].state` | Integer | 否 | 节点状态:1待处理 2已完成 |
651
+ | `nodes[].stateText` | String | 否 | 节点状态中文 |
652
+ | `nodes[].leaderNames` | List<String> | 否 | 负责人姓名列表 |
653
+ | `nodes[].finishTime` | Timestamp | 否 | 预计完成时间 |
654
+ | `nodes[].endTime` | Timestamp | 否 | 实际完成时间 |
655
+ | `nodes[].reportNumber` | BigDecimal | 否 | 汇报数量 |
656
+ | `nodes[].sumReportNumber` | BigDecimal | 否 | 累计汇报数量 |
657
+
658
+ **bomRows[] 的字段**
659
+
660
+ | 字段 | 类型 | 必填 | 含义 |
661
+ |---|---|---|---|
662
+ | `bomRows[].materialSn` | String | 否 | 物料货号 |
663
+ | `bomRows[].materialName` | String | 否 | 物料名称 |
664
+ | `bomRows[].colorName` | String | 否 | 款色名 |
665
+ | `bomRows[].sizeName` | String | 否 | 款码名 |
666
+ | `bomRows[].materialColor` | String | 否 | 物料颜色 |
667
+ | `bomRows[].number` | BigDecimal | 否 | 单件用量 |
668
+ | `bomRows[].supplierName` | String | 否 | 供应商名(无物料供应商资料权限时为空) |
669
+ | `bomRows[].supplierAddress` | String | 否 | 供应商地址(无物料供应商资料权限时为空) |
670
+ | `bomRows[].supplierCellPhone` | String | 否 | 供应商电话(无物料供应商资料权限时为空) |
671
+
672
+ **devRows[] 的字段**
673
+
674
+ | 字段 | 类型 | 必填 | 含义 |
675
+ |---|---|---|---|
676
+ | `devRows[].materialName` | String | 否 | 物料名称 |
677
+ | `devRows[].supplierSn` | String | 否 | 供应商货号 |
678
+ | `devRows[].colorCode` | String | 否 | 色号 |
679
+ | `devRows[].number` | BigDecimal | 否 | 数量 |
680
+ | `devRows[].unitName` | String | 否 | 单位 |
681
+ | `devRows[].materialTypeName` | String | 否 | 物料类型 |
682
+ | `devRows[].categoryName` | String | 否 | 物料分类 |
683
+ | `devRows[].remark` | String | 否 | 备注 |
684
+ | `devRows[].supplierName` | String | 否 | 供应商名(无物料供应商资料权限时为空) |
685
+
686
+ **parts[] 的字段**
687
+
688
+ | 字段 | 类型 | 必填 | 含义 |
689
+ |---|---|---|---|
690
+ | `parts[].name` | String | 否 | 部位名 |
691
+ | `parts[].measureMethod` | String | 否 | 度量方法 |
692
+ | `parts[].sampleLengthStr` | String | 否 | 样衣尺寸 |
693
+ | `parts[].errorRangeStr` | String | 否 | 误差范围 |
694
+ | `parts[].sizes` | List<SizeLengthRow> | 否 | 各尺码尺寸(尺码id 与打版数量行的尺码对应) |
695
+
696
+ **sizes[] 的字段**
697
+
698
+ | 字段 | 类型 | 必填 | 含义 |
699
+ |---|---|---|---|
700
+ | `sizes[].sizeId` | Long | 否 | 尺码id |
701
+ | `sizes[].lengthStr` | String | 否 | 尺寸值 |
702
+
703
+ **techniques[] 的字段**
704
+
705
+ | 字段 | 类型 | 必填 | 含义 |
706
+ |---|---|---|---|
707
+ | `techniques[].name` | String | 否 | 工艺名称 |
708
+ | `techniques[].description` | String | 否 | 工艺说明 |
709
+
710
+ **workProcesses[] 的字段**
711
+
712
+ | 字段 | 类型 | 必填 | 含义 |
713
+ |---|---|---|---|
714
+ | `workProcesses[].workProcessName` | String | 否 | 工序名 |
715
+ | `workProcesses[].showOrder` | Integer | 否 | 顺序 |
716
+ | `workProcesses[].price` | BigDecimal | 否 | 单价(该工序开启隐藏价格且无查看权限时为空) |
717
+ | `workProcesses[].leaderNames` | List<String> | 否 | 负责人姓名列表 |
718
+
719
+ **design 的字段**
720
+
721
+ | 字段 | 类型 | 必填 | 含义 |
722
+ |---|---|---|---|
723
+ | `design.designSn` | String | 否 | 设计款号 |
724
+ | `design.name` | String | 否 | 设计款名称 |
725
+ | `design.designBrandName` | String | 否 | 品牌 |
726
+ | `design.designSeasonName` | String | 否 | 季节 |
727
+ | `design.designDesignerName` | String | 否 | 设计师姓名 |
728
+
729
+ **serialOrders[] 的字段**
730
+
731
+ | 字段 | 类型 | 必填 | 含义 |
732
+ |---|---|---|---|
733
+ | `serialOrders[].id` | Long | 否 | 版单id |
734
+ | `serialOrders[].designOrderSn` | String | 否 | 版单号 |
735
+ | `serialOrders[].designOrderSerialName` | String | 否 | 版次名 |
736
+ | `serialOrders[].state` | Integer | 否 | 版单状态:1未开始 2进行中 3已结束 4废版 9撤销 10审批中 12审批拒绝 |
737
+ | `serialOrders[].stateText` | String | 否 | 版单状态中文 |
738
+ | `serialOrders[].businessTime` | Timestamp | 否 | 下版日期 |
739
+ | `serialOrders[].isFinalVersion` | Integer | 否 | 是否终版:1是 0否 |
740
+
741
+ ## 数据变动日志(log db-change)
742
+
743
+ - 命令:`scm-agent log db-change --keywords WL1002 --json`
744
+ - 接口:`GET /api/agent/v1/log/db-change`
745
+
746
+ > 按时间倒序返回,没有页码与精确总数;hasMore 为 true 时用返回的 lineNum/scrollId 续查。rows 里每行的 uid 用本结构的 users 映射换成姓名(服务端已按批查好)。data 里是变动字段的键值,隐藏字段(分库分表与内部字段)服务端已过滤。
747
+
748
+ | 字段 | 类型 | 必填 | 含义 |
749
+ |---|---|---|---|
750
+ | `rows` | List<AgentDbChangeLogDTO> | 否 | 变动日志行(时间倒序) |
751
+ | `hasMore` | boolean | 否 | 是否还有下一批 |
752
+ | `lineNum` | String | 否 | 续查用行号(hasMore 为 true 时返回) |
753
+ | `scrollId` | String | 否 | 续查用游标(hasMore 为 true 时返回) |
754
+ | `users` | Map<String,String> | 否 | 本批行涉及的 uid→姓名 映射 |
755
+
756
+ ## 接口日志(log api)
757
+
758
+ - 命令:`scm-agent log api --request-id 1790000000000_1060184727 --json`
759
+ - 接口:`GET /api/agent/v1/log/api`
760
+
761
+ > 返回数组,每个元素对应这次请求的一条接口日志。methodArgs 超过 4000 字符会截断,并用 argsTruncated 标记。
762
+
763
+ | 字段 | 类型 | 必填 | 含义 |
764
+ |---|---|---|---|
765
+ | `time` | Long | 否 | 日志时间(毫秒时间戳) |
766
+ | `operatorName` | String | 否 | 操作人姓名 |
767
+ | `description` | String | 否 | 操作内容,如:修改物料 |
768
+ | `methodPath` | String | 否 | 接口路径 |
769
+ | `device` | String | 否 | 设备类型,如 Chrome(2.20.0) |
770
+ | `sourceIp` | String | 否 | 来源 IP |
771
+ | `methodArgs` | String | 否 | 方法参数 JSON 文本(超长截断) |
772
+ | `argsTruncated` | boolean | 否 | methodArgs 是否因超长被截断 |
773
+
774
+ ## 员工搜索(user search)
775
+
776
+ - 命令:`scm-agent user search --name 张三 --json`
777
+ - 接口:`GET /api/agent/v1/user-list`
778
+
779
+ > uid 是各单据里出现 handlerId、payerId 等字段时对应的同一个用户标识,做「按人汇总」的报表时用它关联。
780
+
781
+ | 字段 | 类型 | 必填 | 含义 |
782
+ |---|---|---|---|
783
+ | `uid` | Long | 否 | 员工id(即各单据中的 handlerId/payerId 等) |
784
+ | `name` | String | 否 | 姓名 |
785
+ | `departmentId` | Long | 否 | 直属部门id |
786
+ | `departmentName` | String | 否 | 直属部门名称(含上级部门路径) |
787
+ | `status` | Integer | 否 | 状态:1-启用 2-停用 |
788
+ | `phone` | String | 否 | 手机号 |
789
+ | `workSn` | String | 否 | 工号 |
790
+
791
+ ## 员工详情(user detail)
792
+
793
+ - 命令:`scm-agent user detail --uid 888 --json`
794
+ - 接口:`GET /api/agent/v1/user/detail`
795
+
796
+ > status 在这里的枚举(0 注销 1 正常 2 禁用 3 锁定)与员工搜索里的 status(1 启用 2 停用)不是同一套取值,两个接口不要互相套用。
797
+
798
+ | 字段 | 类型 | 必填 | 含义 |
799
+ |---|---|---|---|
800
+ | `uid` | Long | 否 | 用户 id |
801
+ | `name` | String | 否 | 姓名 |
802
+ | `loginName` | String | 否 | 登录账号 |
803
+ | `status` | Integer | 否 | 状态:0 注销 1 正常 2 禁用 3 锁定 |
804
+ | `accountType` | Integer | 否 | 账号类型:0 主账号 1 子账号 2 微信 |
805
+ | `roles` | List<RoleItem> | 否 | 拥有的角色 |
806
+
807
+ **roles[] 的字段**
808
+
809
+ | 字段 | 类型 | 必填 | 含义 |
810
+ |---|---|---|---|
811
+ | `roles[].id` | Long | 否 | 角色 id |
812
+ | `roles[].name` | String | 否 | 角色名 |
813
+
814
+ ## 角色列表(role list)
815
+
816
+ - 命令:`scm-agent role list --name 设计 --json`
817
+ - 接口:`GET /api/agent/v1/role/list`
818
+
819
+ > isSystem 为 true 表示系统内置角色,只能查看,不能修改权限。
820
+
821
+ | 字段 | 类型 | 必填 | 含义 |
822
+ |---|---|---|---|
823
+ | `id` | Long | 否 | 角色 id |
824
+ | `name` | String | 否 | 角色名 |
825
+ | `remark` | String | 否 | 备注 |
826
+ | `isSystem` | Boolean | 否 | 是否系统内置角色(只能查看,不能修改) |
827
+ | `state` | Integer | 否 | 状态:0 无效 1 有效 |
828
+ | `createTime` | Date | 否 | 创建时间 |
829
+
830
+ ## 角色详情(role detail)
831
+
832
+ - 命令:`scm-agent role detail --name 设计师 --json`
833
+ - 接口:`GET /api/agent/v1/role/detail`
834
+
835
+ > permissions 是该角色现有权限,affectedUsers 是使用该角色的用户,改权限前必须把 affectedUsers 说给用户听。
836
+
837
+ | 字段 | 类型 | 必填 | 含义 |
838
+ |---|---|---|---|
839
+ | `roleId` | Long | 否 | 角色 id |
840
+ | `name` | String | 否 | 角色名 |
841
+ | `remark` | String | 否 | 备注 |
842
+ | `isSystem` | Boolean | 否 | 是否系统内置角色(只能查看,不能修改) |
843
+ | `permissions` | List<PermissionItem> | 否 | 该角色现有权限 |
844
+ | `affectedUsers` | List<AffectedUser> | 否 | 使用该角色的用户(改权限会影响这些人) |
845
+
846
+ **permissions[] 的字段**
847
+
848
+ | 字段 | 类型 | 必填 | 含义 |
849
+ |---|---|---|---|
850
+ | `permissions[].menuId` | Long | 否 | 菜单 id |
851
+ | `permissions[].label` | String | 否 | 功能标题 |
852
+ | `permissions[].remark` | String | 否 | 中文备注,网页权限不足提示引号内的名称 |
853
+ | `permissions[].permission` | String | 否 | 权限 key(可能为空) |
854
+
855
+ **affectedUsers[] 的字段**
856
+
857
+ | 字段 | 类型 | 必填 | 含义 |
858
+ |---|---|---|---|
859
+ | `affectedUsers[].uid` | Long | 否 | 用户 id |
860
+ | `affectedUsers[].name` | String | 否 | 姓名 |
861
+
862
+ ## 权限菜单列表(permission list)
863
+
864
+ - 命令:`scm-agent permission list --keyword 查看 --json`
865
+ - 接口:`GET /api/agent/v1/permission/list`
866
+
867
+ > remark 会重名(同一段中文名对应多个权限变体),需要区分时看 label、permission 与 id。
868
+
869
+ | 字段 | 类型 | 必填 | 含义 |
870
+ |---|---|---|---|
871
+ | `id` | Long | 否 | 菜单 id(角色权限保存使用的标识) |
872
+ | `parentId` | Long | 否 | 上级菜单 id |
873
+ | `label` | String | 否 | 功能标题 |
874
+ | `remark` | String | 否 | 中文备注,网页权限不足提示引号内的名称 |
875
+ | `permission` | String | 否 | 权限 key(camelCase;目录/页面节点可能为空) |
876
+ | `type` | Integer | 否 | 节点类型:1 目录 2 页面 3 操作 |
877
+ | `state` | Integer | 否 | 状态:1 有效 |
878
+
879
+ ## 修改角色权限的结果(role add-permission / role remove-permission)
880
+
881
+ - 命令:`scm-agent role add-permission --name 设计师 --permissions "商品管理的查看" --confirm --json`
882
+ - 接口:`POST /api/agent/v1/role/update-permission`
883
+
884
+ > added 与 removed 是本次实际改动的权限,totalPermissions 是改动后该角色的权限总数(服务端会自动并入默认菜单,因此总数不是简单加减的结果)。
885
+
886
+ | 字段 | 类型 | 必填 | 含义 |
887
+ |---|---|---|---|
888
+ | `roleId` | Long | 否 | 角色 id |
889
+ | `roleName` | String | 否 | 角色名 |
890
+ | `added` | List<AgentRoleDetailDTO.PermissionItem> | 否 | 本次增加的权限 |
891
+ | `removed` | List<AgentRoleDetailDTO.PermissionItem> | 否 | 本次移除的权限 |
892
+ | `totalPermissions` | Integer | 否 | 改动后的权限总数(含服务端自动并入的默认菜单) |
893
+
894
+ ## 创建员工的结果(user add)
895
+
896
+ - 命令:`scm-agent user add --name 张三 --login-name abcd --password 1234 --confirm --json`
897
+ - 接口:`POST /api/agent/v1/user/add`
898
+
899
+ > 返回体是固定四个字段,没有对应的 Java DTO。
900
+
901
+ | 字段 | 类型 | 必填 | 含义 |
902
+ |---|---|---|---|
903
+ | `uid` | Long | 否 | 新建员工的用户 id |
904
+ | `name` | String | 否 | 姓名 |
905
+ | `loginName` | String | 否 | 登录账号 |
906
+ | `roleNames` | List<String> | 否 | 关联的角色名(未传角色时该字段不出现) |
907
+
908
+ ## data 命令的数据集
909
+
910
+ 下面每一节对应 `scm-agent data` 的一个数据集;参数说明与示例见 [cli.md](cli.md) 的 data 一节。
911
+
912
+ ## 数据集:company-config(公司配置白名单:物料小数位、是否启用生产批次号)
913
+
914
+ - 命令:`scm-agent data company-config --json`
915
+ - 接口:`GET /api/agent/v1/company-config`
916
+ - 必填条件:无
917
+
918
+ > 做金额统计要用与网页一致的小数位(materialDecimal),启用批次号的企业里单号口径优先批次号。
919
+
920
+ | 字段 | 类型 | 必填 | 含义 |
921
+ |---|---|---|---|
922
+ | `materialDecimal` | Integer | 否 | 物料小数位(配置 materialDecimal 的 configValue) |
923
+ | `produceBatchSnEnable` | Boolean | 否 | 是否启用生产批次号(由 isOpenProduceBatchSn 判断) |
924
+
925
+ ## 数据集:goods-rich(商品富化列表(档案、价格、库存、首单面料、翻单信息))
926
+
927
+ - 命令:`scm-agent data goods-rich --sn A123 --json`
928
+ - 接口:`GET /api/agent/v1/goods/rich-list`
929
+ - 必填条件:--sn 或 --search-key 至少一项
930
+
931
+ > 默认只返回上架款(服务端 isOnSale 默认 1),要看停用款给 --on-sale -1。id 用于继续查 goods-bom。首单面料、翻单信息在完整字段表的后半部分。
932
+
933
+ **常用字段(做统计先看这些,其余字段在下面)**
934
+
935
+ | 字段 | 类型 | 必填 | 含义 |
936
+ |---|---|---|---|
937
+ | `id` | Long | 否 | 商品id(用于继续查询完整详情) |
938
+ | `name` | String | 否 | 商品名称 |
939
+ | `goodsSn` | String | 否 | 商品货号 |
940
+ | `categoryName` | String | 否 | 分类 |
941
+ | `bomFinish` | Integer | 否 | BOM完成状态:0-待完成 1-完成 |
942
+ | `storedNumber` | Integer | 否 | 当前库存 |
943
+ | `availableNumber` | Integer | 否 | 可用库存 |
944
+ | `produceNumber` | BigDecimal | 否 | 生产中数量 |
945
+ | `iePrice` | BigDecimal | 否 | IE核价 |
946
+ | `costPrice` | BigDecimal | 否 | 成本价 |
947
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
948
+ | `devTime` | String | 否 | 开发日期(yyyy-MM-dd) |
949
+ | `isOnSale` | Integer | 否 | 状态:1-启用 0-停用 |
950
+
951
+ **全部字段**
952
+
953
+ | 字段 | 类型 | 必填 | 含义 |
954
+ |---|---|---|---|
955
+ | `id` | Long | 否 | 商品id(用于继续查询完整详情) |
956
+ | `name` | String | 否 | 商品名称 |
957
+ | `goodsSn` | String | 否 | 商品货号 |
958
+ | `goodsImgUrl` | String | 否 | 商品主图地址 |
959
+ | `categoryName` | String | 否 | 分类 |
960
+ | `tagNames` | List<String> | 否 | 标签名称列表 |
961
+ | `bomFinish` | Integer | 否 | BOM完成状态:0-待完成 1-完成 |
962
+ | `bomState` | Integer | 否 | BOM锁定状态:0-未锁定 1-已锁定 |
963
+ | `externalProcessingFees` | List<String> | 否 | 委外加工费(名称:金额 列表) |
964
+ | `isSealedSample` | Integer | 否 | 封样状态:0-未封样 1-封样 |
965
+ | `patternMakerName` | String | 否 | 打版师 |
966
+ | `storedNumber` | Integer | 否 | 当前库存 |
967
+ | `winNumber` | Integer | 否 | 待入库 |
968
+ | `woutNumber` | Integer | 否 | 待出库 |
969
+ | `availableNumber` | Integer | 否 | 可用库存 |
970
+ | `produceNumber` | BigDecimal | 否 | 生产中数量 |
971
+ | `iePrice` | BigDecimal | 否 | IE核价 |
972
+ | `costPrice` | BigDecimal | 否 | 成本价 |
973
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
974
+ | `retailPriceFactory` | BigDecimal | 否 | 建议零售价 |
975
+ | `tradePrice` | BigDecimal | 否 | 批发价 |
976
+ | `retailPriceArea` | BigDecimal | 否 | 零售价 |
977
+ | `materialNames` | List<String> | 否 | 物料名称列表(去重) |
978
+ | `clientName` | String | 否 | 客户 |
979
+ | `devTime` | String | 否 | 开发日期(yyyy-MM-dd) |
980
+ | `brandName` | String | 否 | 品牌 |
981
+ | `designSn` | String | 否 | 设计款号 |
982
+ | `supplierSn` | String | 否 | 供应商货号 |
983
+ | `designerName` | String | 否 | 设计师 |
984
+ | `followerName` | String | 否 | 跟单员 |
985
+ | `year` | String | 否 | 年份 |
986
+ | `month` | Integer | 否 | 月份 |
987
+ | `seasonName` | String | 否 | 季节 |
988
+ | `gramWeight` | BigDecimal | 否 | 克重(g/㎡) |
989
+ | `composition` | String | 否 | 成分 |
990
+ | `sex` | Integer | 否 | 性别:0-通款 1-男款 2-女款 3-童装 |
991
+ | `rangesName` | String | 否 | 波段 |
992
+ | `barCode` | String | 否 | 商品条码 |
993
+ | `isOnSale` | Integer | 否 | 状态:1-启用 0-停用 |
994
+ | `remark` | String | 否 | 备注 |
995
+ | `handlerName` | String | 否 | 创建人 |
996
+ | `createTime` | Timestamp | 否 | 创建时间 |
997
+ | `lastHandlerName` | String | 否 | 最后更新人 |
998
+ | `updateTime` | Timestamp | 否 | 更新时间 |
999
+ | `executeStandardName` | String | 否 | 执行标准 |
1000
+ | `securityTypeName` | String | 否 | 安全类别 |
1001
+ | `colorNames` | List<String> | 否 | 颜色名称列表 |
1002
+ | `sizeNames` | List<String> | 否 | 尺码名称列表 |
1003
+ | `firstOrderTime` | Timestamp | 否 | 首单日期(无生产单时为空) |
1004
+ | `reorderOrderInfo` | String | 否 | 新款/翻单信息 |
1005
+ | `firstProduceOrderMaterials` | List<FirstOrderMaterialRow> | 否 | 首单面料列表(历史首单 BOM 面料) |
1006
+
1007
+ **firstProduceOrderMaterials[] 的字段**
1008
+
1009
+ | 字段 | 类型 | 必填 | 含义 |
1010
+ |---|---|---|---|
1011
+ | `firstProduceOrderMaterials[].materialName` | String | 否 | 物料名称 |
1012
+ | `firstProduceOrderMaterials[].materialSn` | String | 否 | 物料货号 |
1013
+ | `firstProduceOrderMaterials[].bomSupplierColor` | String | 否 | BOM供应商颜色 |
1014
+ | `firstProduceOrderMaterials[].materialColor` | String | 否 | 物料颜色 |
1015
+ | `firstProduceOrderMaterials[].propertyText` | String | 否 | 物料规格(属性值拼接) |
1016
+ | `firstProduceOrderMaterials[].supplierName` | String | 否 | 默认供应商 |
1017
+ | `firstProduceOrderMaterials[].materialQunce` | BigDecimal | 否 | 安数 |
1018
+ | `firstProduceOrderMaterials[].skuPurchasePrice` | BigDecimal | 否 | 采购单价(物料单品) |
1019
+ | `firstProduceOrderMaterials[].purchasePrice` | BigDecimal | 否 | 采购单价(BOM 行) |
1020
+ | `firstProduceOrderMaterials[].skuPrice` | BigDecimal | 否 | 基础单价(物料单品) |
1021
+ | `firstProduceOrderMaterials[].price` | BigDecimal | 否 | 基础单价(BOM 行) |
1022
+ | `firstProduceOrderMaterials[].materialFabricWidth` | BigDecimal | 否 | 幅宽(cm) |
1023
+ | `firstProduceOrderMaterials[].materialComposition` | String | 否 | 面料成分 |
1024
+ | `firstProduceOrderMaterials[].remark` | String | 否 | 备注 |
1025
+
1026
+ ## 数据集:goods-bom(商品完整详情:BOM 物料清单、工序单价、尺寸表(129 个字段,单条))
1027
+
1028
+ - 命令:`scm-agent data goods-bom --id 12345 --json`
1029
+ - 接口:`GET /api/agent/v1/goods/full-detail`
1030
+ - 必填条件:--id
1031
+
1032
+ > 单条接口。BOM 物料行在 goodsMaterialList[]、工序单价在 goodsWorkProcessList[]、尺寸部位在 goodsPartList[](部位下还有 sizes[]),这三组嵌套行做 BOM 类统计时才需要展开。
1033
+
1034
+ **常用字段(做统计先看这些,其余字段在下面)**
1035
+
1036
+ | 字段 | 类型 | 必填 | 含义 |
1037
+ |---|---|---|---|
1038
+ | `id` | Long | 否 | 商品id |
1039
+ | `name` | String | 否 | 商品名称 |
1040
+ | `goodsSn` | String | 否 | 商品货号 |
1041
+ | `designSn` | String | 否 | 设计款号 |
1042
+ | `bomFinish` | Integer | 否 | BOM完成状态:0-待完成 1-完成 |
1043
+ | `bomState` | Integer | 否 | BOM锁定状态:0-未锁定 1-已锁定 |
1044
+ | `isOnSale` | Integer | 否 | 状态:1-启用 0-停用 |
1045
+ | `devTime` | String | 否 | 开发日期(yyyy-MM-dd) |
1046
+ | `costPrice` | BigDecimal | 否 | 成本价 |
1047
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
1048
+ | `firstOrderTime` | Timestamp | 否 | 首单日期 |
1049
+
1050
+ **全部字段**
1051
+
1052
+ | 字段 | 类型 | 必填 | 含义 |
1053
+ |---|---|---|---|
1054
+ | `id` | Long | 否 | 商品id |
1055
+ | `name` | String | 否 | 商品名称 |
1056
+ | `goodsSn` | String | 否 | 商品货号 |
1057
+ | `goodsImgUrl` | String | 否 | 商品主图地址 |
1058
+ | `categoryName` | String | 否 | 分类 |
1059
+ | `brandName` | String | 否 | 品牌 |
1060
+ | `designSn` | String | 否 | 设计款号 |
1061
+ | `supplierSn` | String | 否 | 供应商货号 |
1062
+ | `barCode` | String | 否 | 商品条码 |
1063
+ | `year` | String | 否 | 年份 |
1064
+ | `month` | Integer | 否 | 月份 |
1065
+ | `seasonName` | String | 否 | 季节 |
1066
+ | `rangesName` | String | 否 | 波段 |
1067
+ | `executeStandardName` | String | 否 | 执行标准 |
1068
+ | `securityTypeName` | String | 否 | 安全类别 |
1069
+ | `composition` | String | 否 | 成分 |
1070
+ | `gramWeight` | BigDecimal | 否 | 克重(g/㎡) |
1071
+ | `sex` | Integer | 否 | 性别:0-通款 1-男款 2-女款 3-童装 |
1072
+ | `sizeLenDisplay` | Integer | 否 | 尺寸显示方式:1-小数 2-分数 |
1073
+ | `bomFinish` | Integer | 否 | BOM完成状态:0-待完成 1-完成 |
1074
+ | `bomState` | Integer | 否 | BOM锁定状态:0-未锁定 1-已锁定 |
1075
+ | `isSealedSample` | Integer | 否 | 封样状态:0-未封样 1-封样 |
1076
+ | `isOnSale` | Integer | 否 | 状态:1-启用 0-停用 |
1077
+ | `remark` | String | 否 | 备注 |
1078
+ | `devTime` | String | 否 | 开发日期(yyyy-MM-dd) |
1079
+ | `costPrice` | BigDecimal | 否 | 成本价 |
1080
+ | `tagPrice` | BigDecimal | 否 | 吊牌价 |
1081
+ | `retailPriceFactory` | BigDecimal | 否 | 建议零售价 |
1082
+ | `tradePrice` | BigDecimal | 否 | 批发价 |
1083
+ | `retailPriceArea` | BigDecimal | 否 | 零售价 |
1084
+ | `iePrice` | BigDecimal | 否 | IE核价 |
1085
+ | `storedNumber` | Integer | 否 | 当前库存 |
1086
+ | `winNumber` | Integer | 否 | 待入库 |
1087
+ | `woutNumber` | Integer | 否 | 待出库 |
1088
+ | `availableNumber` | Integer | 否 | 可用库存 |
1089
+ | `produceNumber` | BigDecimal | 否 | 生产中数量 |
1090
+ | `designerName` | String | 否 | 设计师 |
1091
+ | `designAssistantName` | String | 否 | 设计助理 |
1092
+ | `followerName` | String | 否 | 跟单员 |
1093
+ | `patternMakerName` | String | 否 | 打版师 |
1094
+ | `clientName` | String | 否 | 客户 |
1095
+ | `handlerName` | String | 否 | 创建人 |
1096
+ | `createTime` | Timestamp | 否 | 创建时间 |
1097
+ | `lastHandlerName` | String | 否 | 最后更新人 |
1098
+ | `updateTime` | Timestamp | 否 | 更新时间 |
1099
+ | `firstOrderTime` | Timestamp | 否 | 首单日期 |
1100
+ | `reorderOrderInfo` | String | 否 | 新款/翻单信息 |
1101
+ | `partLenSampleSizeName` | String | 否 | 打样尺寸样衣尺码(尺寸表表头用) |
1102
+ | `goodsColors` | List<ColorRow> | 否 | 颜色轴(含颜色id) |
1103
+ | `goodsSizes` | List<SizeRow> | 否 | 尺码轴(含尺码id) |
1104
+ | `goodsSkuList` | List<SkuRow> | 否 | 商品单品列表(尺寸表尺码轴构建用) |
1105
+ | `goodsImgList` | List<ImgRow> | 否 | 商品图片列表 |
1106
+ | `goodsMaterialList` | List<BomRow> | 否 | BOM 物料清单行 |
1107
+ | `goodsWorkProcessList` | List<WorkProcessRow> | 否 | 商品工序及单价(按 showOrder 排序前的原始顺序) |
1108
+ | `goodsPartList` | List<PartRow> | 否 | 尺寸表部位列表 |
1109
+
1110
+ **goodsColors[] 的字段**
1111
+
1112
+ | 字段 | 类型 | 必填 | 含义 |
1113
+ |---|---|---|---|
1114
+ | `goodsColors[].colorId` | Long | 否 | 颜色id |
1115
+ | `goodsColors[].colorName` | String | 否 | 颜色名称 |
1116
+
1117
+ **goodsSizes[] 的字段**
1118
+
1119
+ | 字段 | 类型 | 必填 | 含义 |
1120
+ |---|---|---|---|
1121
+ | `goodsSizes[].sizeId` | Long | 否 | 尺码id |
1122
+ | `goodsSizes[].sizeName` | String | 否 | 尺码名称 |
1123
+
1124
+ **goodsSkuList[] 的字段**
1125
+
1126
+ | 字段 | 类型 | 必填 | 含义 |
1127
+ |---|---|---|---|
1128
+ | `goodsSkuList[].id` | Long | 否 | 单品id |
1129
+ | `goodsSkuList[].colorId` | Long | 否 | 颜色id |
1130
+ | `goodsSkuList[].colorName` | String | 否 | 颜色 |
1131
+ | `goodsSkuList[].sizeId` | Long | 否 | 尺码id |
1132
+ | `goodsSkuList[].sizeName` | String | 否 | 尺码 |
1133
+ | `goodsSkuList[].isDisable` | Integer | 否 | 是否停用:0-启用 1-停用 |
1134
+
1135
+ **goodsImgList[] 的字段**
1136
+
1137
+ | 字段 | 类型 | 必填 | 含义 |
1138
+ |---|---|---|---|
1139
+ | `goodsImgList[].url` | String | 否 | 图片地址 |
1140
+ | `goodsImgList[].isMain` | Integer | 否 | 是否主图:1-是 |
1141
+ | `goodsImgList[].showOrder` | Integer | 否 | 排序值 |
1142
+
1143
+ **goodsWorkProcessList[] 的字段**
1144
+
1145
+ | 字段 | 类型 | 必填 | 含义 |
1146
+ |---|---|---|---|
1147
+ | `goodsWorkProcessList[].workProcessName` | String | 否 | 工序名称 |
1148
+ | `goodsWorkProcessList[].price` | BigDecimal | 否 | 单价 |
1149
+ | `goodsWorkProcessList[].showOrder` | Integer | 否 | 显示顺序 |
1150
+
1151
+ **goodsPartList[] 的字段**
1152
+
1153
+ | 字段 | 类型 | 必填 | 含义 |
1154
+ |---|---|---|---|
1155
+ | `goodsPartList[].name` | String | 否 | 部位名称 |
1156
+ | `goodsPartList[].measureMethod` | String | 否 | 测量方法 |
1157
+ | `goodsPartList[].errorRange` | BigDecimal | 否 | 误差范围(数值) |
1158
+ | `goodsPartList[].errorRangeStr` | String | 否 | 误差范围(文字) |
1159
+ | `goodsPartList[].sampleLength` | BigDecimal | 否 | 打样尺寸(数值) |
1160
+ | `goodsPartList[].sampleLengthStr` | String | 否 | 打样尺寸(文字) |
1161
+ | `goodsPartList[].gradingDifference` | BigDecimal | 否 | 洗前尺寸档差 |
1162
+ | `goodsPartList[].gradingDifferenceAfterWash` | BigDecimal | 否 | 洗后尺寸档差 |
1163
+ | `goodsPartList[].attachmentUrls` | List<String> | 否 | 部位图片地址列表 |
1164
+ | `goodsPartList[].sizeLengths` | List<SizeLengthRow> | 否 | 各尺码尺寸值 |
1165
+
1166
+ **sizeLengths[] 的字段**
1167
+
1168
+ | 字段 | 类型 | 必填 | 含义 |
1169
+ |---|---|---|---|
1170
+ | `sizeLengths[].sizeId` | Long | 否 | 尺码id |
1171
+ | `sizeLengths[].sizeName` | String | 否 | 尺码名称 |
1172
+ | `sizeLengths[].length` | BigDecimal | 否 | 洗前尺寸(数值) |
1173
+ | `sizeLengths[].lengthStr` | String | 否 | 洗前尺寸(分数文字) |
1174
+ | `sizeLengths[].lengthAfterWash` | BigDecimal | 否 | 洗后尺寸(数值) |
1175
+ | `sizeLengths[].lengthStrAfterWash` | String | 否 | 洗后尺寸(分数文字) |
1176
+
1177
+ **goodsMaterialList[] 的字段**
1178
+
1179
+ | 字段 | 类型 | 必填 | 含义 |
1180
+ |---|---|---|---|
1181
+ | `goodsMaterialList[].materialSkuId` | Long | 否 | 物料单品id(BOM 聚合键) |
1182
+ | `goodsMaterialList[].goodsSkuId` | Long | 否 | 商品单品id |
1183
+ | `goodsMaterialList[].goodsColorId` | Long | 否 | 商品颜色id |
1184
+ | `goodsMaterialList[].goodsColorName` | String | 否 | 商品颜色 |
1185
+ | `goodsMaterialList[].goodsSizeId` | Long | 否 | 商品尺码id |
1186
+ | `goodsMaterialList[].goodsSizeName` | String | 否 | 商品尺码 |
1187
+ | `goodsMaterialList[].hidden` | Boolean | 否 | 是否被采购员隐藏:true-隐藏 |
1188
+ | `goodsMaterialList[].number` | BigDecimal | 否 | 单件用量 |
1189
+ | `goodsMaterialList[].materialName` | String | 否 | 物料名称 |
1190
+ | `goodsMaterialList[].materialSn` | String | 否 | 物料货号 |
1191
+ | `goodsMaterialList[].materialColorName` | String | 否 | 物料颜色 |
1192
+ | `goodsMaterialList[].materialImgUrl` | String | 否 | 物料图片地址 |
1193
+ | `goodsMaterialList[].supplierName` | String | 否 | 供应商 |
1194
+ | `goodsMaterialList[].supplierSn` | String | 否 | 供应商货号 |
1195
+ | `goodsMaterialList[].supplierAddress` | String | 否 | 供应商地址 |
1196
+ | `goodsMaterialList[].supplierCellPhone` | String | 否 | 供应商联系电话 |
1197
+ | `goodsMaterialList[].materialTypeName` | String | 否 | 类型(物料类型名称) |
1198
+ | `goodsMaterialList[].materialCategoryName` | String | 否 | 物料分类 |
1199
+ | `goodsMaterialList[].materialFabricType` | Integer | 否 | 面料属性:1-针织 2-梭织 |
1200
+ | `goodsMaterialList[].materialUnitName` | String | 否 | 基础单位 |
1201
+ | `goodsMaterialList[].price` | BigDecimal | 否 | 基础单价 |
1202
+ | `goodsMaterialList[].convertRate` | BigDecimal | 否 | 转换系数 |
1203
+ | `goodsMaterialList[].purchaseUnitName` | String | 否 | 采购单位 |
1204
+ | `goodsMaterialList[].purchasePrice` | BigDecimal | 否 | 采购单价 |
1205
+ | `goodsMaterialList[].purchaseUserNames` | String | 否 | 采购员(多人和逗号拼接) |
1206
+ | `goodsMaterialList[].materialMeterOutput` | BigDecimal | 否 | 出米数(m/kg) |
1207
+ | `goodsMaterialList[].materialPaperBucket` | BigDecimal | 否 | 纸筒(kg) |
1208
+ | `goodsMaterialList[].materialEmptyGap` | BigDecimal | 否 | 空差(kg) |
1209
+ | `goodsMaterialList[].materialNetWeight` | BigDecimal | 否 | 净重(kg) |
1210
+ | `goodsMaterialList[].materialFabricWidth` | BigDecimal | 否 | 幅宽(cm) |
1211
+ | `goodsMaterialList[].materialGramWeight` | BigDecimal | 否 | 克重(g/㎡) |
1212
+ | `goodsMaterialList[].materialQunce` | BigDecimal | 否 | 安数 |
1213
+ | `goodsMaterialList[].materialLossRate` | BigDecimal | 否 | 损耗率(%) |
1214
+ | `goodsMaterialList[].shrinkRate` | BigDecimal | 否 | 缩水率(%) |
1215
+ | `goodsMaterialList[].purchaseLossRate` | BigDecimal | 否 | 采购损耗(%) |
1216
+ | `goodsMaterialList[].materialComposition` | String | 否 | 成分 |
1217
+ | `goodsMaterialList[].materialPart` | String | 否 | 使用部位 |
1218
+ | `goodsMaterialList[].materialPostProcess` | String | 否 | 后处理 |
1219
+ | `goodsMaterialList[].materialRemark` | String | 否 | 物料备注 |
1220
+ | `goodsMaterialList[].bomSupplierColor` | String | 否 | BOM 供应商颜色 |
1221
+ | `goodsMaterialList[].materialSkuSupplierColor` | String | 否 | 物料色号(来自物料单品) |
1222
+ | `goodsMaterialList[].propertyText` | String | 否 | 物料规格(属性值拼接) |
1223
+
1224
+ ## 数据集:sku-inventory(单品库存列表(只含已转大货的商品))
1225
+
1226
+ - 命令:`scm-agent data sku-inventory --storehouse 5 --json(或 --all-storehouses)`
1227
+ - 接口:`GET /api/agent/v1/inventory/sku-list`
1228
+ - 必填条件:--storehouse 与 --all-storehouses 二选一
1229
+
1230
+ > 只包含已转大货的商品(服务端 SQL 固定过滤 bulk_goods_state=1,参数上没有开关)。库存列的含义由调用时给 --storehouse(单仓库)还是 --all-storehouses(全部仓库合计)决定。
1231
+
1232
+ **常用字段(做统计先看这些,其余字段在下面)**
1233
+
1234
+ | 字段 | 类型 | 必填 | 含义 |
1235
+ |---|---|---|---|
1236
+ | `goodsSn` | String | 否 | 款号(商品货号) |
1237
+ | `goodsName` | String | 否 | 商品名称 |
1238
+ | `colorName` | String | 否 | 颜色 |
1239
+ | `sizeName` | String | 否 | 尺码 |
1240
+ | `skuBarCode` | String | 否 | 单品条码 |
1241
+ | `storedNumber` | Integer | 否 | 库存数 |
1242
+ | `availableNumber` | Integer | 否 | 可用库存 |
1243
+ | `winNumber` | Integer | 否 | 待入库数 |
1244
+ | `woutNumber` | Integer | 否 | 待出库数 |
1245
+ | `isDisable` | Integer | 否 | 单品停用状态:0启用 1停用 |
1246
+
1247
+ **全部字段**
1248
+
1249
+ | 字段 | 类型 | 必填 | 含义 |
1250
+ |---|---|---|---|
1251
+ | `goodsId` | Long | 否 | 商品ID |
1252
+ | `skuId` | Long | 否 | 单品ID |
1253
+ | `goodsSn` | String | 否 | 款号(商品货号) |
1254
+ | `goodsName` | String | 否 | 商品名称 |
1255
+ | `colorName` | String | 否 | 颜色 |
1256
+ | `sizeName` | String | 否 | 尺码 |
1257
+ | `colorShowOrder` | Integer | 否 | 颜色显示顺序 |
1258
+ | `sizeShowOrder` | Integer | 否 | 尺码显示顺序 |
1259
+ | `skuBarCode` | String | 否 | 单品条码 |
1260
+ | `storedNumber` | Integer | 否 | 库存数 |
1261
+ | `availableNumber` | Integer | 否 | 可用库存 |
1262
+ | `winNumber` | Integer | 否 | 待入库数 |
1263
+ | `woutNumber` | Integer | 否 | 待出库数 |
1264
+ | `isDisable` | Integer | 否 | 单品停用状态:0启用 1停用 |
1265
+
1266
+ ## 数据集:produce-cost(生产成本报表数据(每行含五类成本明细))
1267
+
1268
+ - 命令:`scm-agent data produce-cost --from 2026-09-01 --to 2026-09-30 --json`
1269
+ - 接口:`GET /api/agent/v1/report/produce-cost`
1270
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1271
+
1272
+ > 服务端默认状态 4,2,3(待生产/生产中/生产完成)、默认计算规则 1(按默认逻辑)。五类成本明细(物料、委外加工、工序外发、工人计件、其它)在嵌套的 costItems 行里;差异类统计用「实际 − 预估」字段相减,不要用单件成本反推。
1273
+
1274
+ **常用字段(做统计先看这些,其余字段在下面)**
1275
+
1276
+ | 字段 | 类型 | 必填 | 含义 |
1277
+ |---|---|---|---|
1278
+ | `goodsName` | String | 否 | 商品名称 |
1279
+ | `designSn` | String | 否 | 款号(设计款号) |
1280
+ | `goodsSn` | String | 否 | 大货号(商品货号) |
1281
+ | `ordersSn` | String | 否 | 生产单号 |
1282
+ | `state` | Integer | 否 | 状态:1草稿 2生产中 3生产完成 4待生产 9已撤销 11待接单 12拒绝接单 13待审批 14审批拒绝 |
1283
+ | `sumNumber` | Integer | 否 | 下单数 |
1284
+ | `sumCutBedNumber` | BigDecimal | 否 | 裁床数 |
1285
+ | `sumStoreInNumber` | Integer | 否 | 已入库数 |
1286
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
1287
+ | `actualSumSingleGoodsCost` | BigDecimal | 否 | 实际成本-单件成本 |
1288
+ | `actualSumCost` | BigDecimal | 否 | 实际成本-总成本 |
1289
+ | `estimatedSumSingleGoodsCost` | BigDecimal | 否 | 预估成本-单件成本 |
1290
+ | `estimatedSumCost` | BigDecimal | 否 | 预估成本-总成本 |
1291
+
1292
+ **全部字段**
1293
+
1294
+ | 字段 | 类型 | 必填 | 含义 |
1295
+ |---|---|---|---|
1296
+ | `goodsName` | String | 否 | 商品名称 |
1297
+ | `designSn` | String | 否 | 款号(设计款号) |
1298
+ | `imgUrl` | String | 否 | 款式图片 URL |
1299
+ | `goodsSn` | String | 否 | 大货号(商品货号) |
1300
+ | `rangesName` | String | 否 | 波段 |
1301
+ | `designerName` | String | 否 | 设计师 |
1302
+ | `patternMakerName` | String | 否 | 打版师 |
1303
+ | `ordersSn` | String | 否 | 生产单号 |
1304
+ | `produceBatchSn` | String | 否 | 生产批次号 |
1305
+ | `state` | Integer | 否 | 状态:1草稿 2生产中 3生产完成 4待生产 9已撤销 11待接单 12拒绝接单 13待审批 14审批拒绝 |
1306
+ | `orderTypeName` | String | 否 | 订单类型名称 |
1307
+ | `tags` | List<String> | 否 | 标签名称列表 |
1308
+ | `type` | Integer | 否 | 生产类型:1自主生产 2单工序外发 3委外加工 4成品采购 |
1309
+ | `deliveryTime` | String | 否 | 预计交货日期(yyyy-MM-dd) |
1310
+ | `followerName` | String | 否 | 跟单员 |
1311
+ | `sumNumber` | Integer | 否 | 下单数 |
1312
+ | `sumCutBedNumber` | BigDecimal | 否 | 裁床数 |
1313
+ | `sumStoreInNumber` | Integer | 否 | 已入库数 |
1314
+ | `sumNoFinishNumber` | BigDecimal | 否 | 未完成数 |
1315
+ | `sumNoOutNumber` | BigDecimal | 否 | 未出数 |
1316
+ | `sumNoStoreInNumber` | BigDecimal | 否 | 未入库数 |
1317
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
1318
+ | `actualMaterialCost` | BigDecimal | 否 | 实际成本-物料 |
1319
+ | `actualProduceOrderProcessCost` | BigDecimal | 否 | 实际成本-委外加工 |
1320
+ | `actualOutWardOrderCost` | BigDecimal | 否 | 实际成本-工序外发 |
1321
+ | `actualWorkManPieceworkCost` | BigDecimal | 否 | 实际成本-工人计件 |
1322
+ | `actualOtherCost` | BigDecimal | 否 | 实际成本-其它费用 |
1323
+ | `actualSumSingleGoodsCost` | BigDecimal | 否 | 实际成本-单件成本 |
1324
+ | `actualNumber` | BigDecimal | 否 | 实际成本-件数 |
1325
+ | `actualSumCost` | BigDecimal | 否 | 实际成本-总成本 |
1326
+ | `estimatedMaterialCost` | BigDecimal | 否 | 预估成本-物料 |
1327
+ | `estimatedProduceOrderProcessCost` | BigDecimal | 否 | 预估成本-委外加工 |
1328
+ | `estimatedOutWardOrderCost` | BigDecimal | 否 | 预估成本-工序外发 |
1329
+ | `estimatedWorkManPieceworkCost` | BigDecimal | 否 | 预估成本-工人计件 |
1330
+ | `estimatedOtherCost` | BigDecimal | 否 | 预估成本-其它费用 |
1331
+ | `estimatedSumSingleGoodsCost` | BigDecimal | 否 | 预估成本-单件成本 |
1332
+ | `estimatedNumber` | BigDecimal | 否 | 预估成本-件数 |
1333
+ | `estimatedSumCost` | BigDecimal | 否 | 预估成本-总成本 |
1334
+ | `costItem` | CostItem | 否 | 五类成本明细(物料、委外加工、工序外发、工人计件、其它费用) |
1335
+
1336
+ **costItem 的字段**
1337
+
1338
+ | 字段 | 类型 | 必填 | 含义 |
1339
+ |---|---|---|---|
1340
+ | `costItem.materialItems` | List<MaterialCostRow> | 否 | 物料成本明细行 |
1341
+ | `costItem.materialTotals` | CostTotals | 否 | 物料成本合计 |
1342
+ | `costItem.processItems` | List<CostDetailRow> | 否 | 委外加工成本明细行 |
1343
+ | `costItem.processTotals` | CostTotals | 否 | 委外加工成本合计 |
1344
+ | `costItem.outwardItems` | List<CostDetailRow> | 否 | 工序外发成本明细行 |
1345
+ | `costItem.outwardTotals` | CostTotals | 否 | 工序外发成本合计 |
1346
+ | `costItem.pieceworkItems` | List<CostDetailRow> | 否 | 工人计件成本明细行 |
1347
+ | `costItem.pieceworkTotals` | CostTotals | 否 | 工人计件成本合计 |
1348
+ | `costItem.otherItems` | List<CostDetailRow> | 否 | 其它费用明细行 |
1349
+ | `costItem.otherTotals` | CostTotals | 否 | 其它费用合计 |
1350
+
1351
+ **processItems[] 的字段**
1352
+
1353
+ | 字段 | 类型 | 必填 | 含义 |
1354
+ |---|---|---|---|
1355
+ | `processItems[].name` | String | 否 | 费用名称/工序名称/费用类型 |
1356
+ | `processItems[].number` | BigDecimal | 否 | 数量(委外加工=入库数,工序外发=净回收数,工人计件=汇报数) |
1357
+ | `processItems[].singleGoodsCost` | BigDecimal | 否 | 实际单件成本 |
1358
+ | `processItems[].sumGoodsCost` | BigDecimal | 否 | 实际合计成本 |
1359
+ | `processItems[].singleGoodsCostEstimate` | BigDecimal | 否 | 预估单件成本 |
1360
+
1361
+ **materialItems[] 的字段**
1362
+
1363
+ | 字段 | 类型 | 必填 | 含义 |
1364
+ |---|---|---|---|
1365
+ | `materialItems[].materialImgUrl` | String | 否 | 物料图片 URL |
1366
+ | `materialItems[].materialName` | String | 否 | 物料名称 |
1367
+ | `materialItems[].materialSn` | String | 否 | 物料货号 |
1368
+ | `materialItems[].materialUnit` | String | 否 | 物料单位 |
1369
+ | `materialItems[].purchaseAmount` | BigDecimal | 否 | 采购单成本 |
1370
+ | `materialItems[].purchaseNumber` | BigDecimal | 否 | 采购已入库数 |
1371
+ | `materialItems[].purchaseSinglePrice` | BigDecimal | 否 | 采购单价 |
1372
+ | `materialItems[].purchaseSingleGoodsCost` | BigDecimal | 否 | 单件采购成本 |
1373
+ | `materialItems[].purchaseSingleGoodsNumber` | BigDecimal | 否 | 单件采购用量 |
1374
+ | `materialItems[].sumPurchaseCost` | BigDecimal | 否 | 采购合计成本 |
1375
+ | `materialItems[].sumNumber` | BigDecimal | 否 | 实际总用量 |
1376
+ | `materialItems[].singleGoodsNumber` | BigDecimal | 否 | 实际单件用量 |
1377
+ | `materialItems[].singleStoredPrice` | BigDecimal | 否 | 库存单价 |
1378
+ | `materialItems[].singleGoodsCost` | BigDecimal | 否 | 实际单件成本 |
1379
+ | `materialItems[].sumGoodsCost` | BigDecimal | 否 | 实际合计成本 |
1380
+ | `materialItems[].singleGoodsCostEstimate` | BigDecimal | 否 | 预估单件成本 |
1381
+
1382
+ **materialTotals 的字段**
1383
+
1384
+ | 字段 | 类型 | 必填 | 含义 |
1385
+ |---|---|---|---|
1386
+ | `materialTotals.sumSinglePurchaseGoodsCost` | BigDecimal | 否 | 单件采购成本合计(仅物料类) |
1387
+ | `materialTotals.sumProducePurchaseCost` | BigDecimal | 否 | 采购成本合计(仅物料类) |
1388
+ | `materialTotals.sumSingleGoodsCost` | BigDecimal | 否 | 单件成本合计(实际) |
1389
+ | `materialTotals.sumProduceCost` | BigDecimal | 否 | 成本合计(实际) |
1390
+ | `materialTotals.sumSingleGoodsCostEstimate` | BigDecimal | 否 | 单件成本合计(预估) |
1391
+
1392
+ ## 数据集:produce-material(物料需求明细(在途与缺口))
1393
+
1394
+ - 命令:`scm-agent data produce-material --from 2026-09-01 --to 2026-09-30 --json`
1395
+ - 接口:`GET /api/agent/v1/material-requirement/list`
1396
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1397
+
1398
+ > 服务端默认只查用料进行中的行(useState 默认 0),要含已结束的给 --use-state 1。预计用量有两套口径:orderRequirementNumber 按下单数、predictCutBedNumber 按裁床数,汇总时不要混用。
1399
+
1400
+ **常用字段(做统计先看这些,其余字段在下面)**
1401
+
1402
+ | 字段 | 类型 | 必填 | 含义 |
1403
+ |---|---|---|---|
1404
+ | `ordersSn` | String | 否 | 生产单号 |
1405
+ | `goodsSn` | String | 否 | 款号 |
1406
+ | `name` | String | 否 | 物料名称 |
1407
+ | `sn` | String | 否 | 物料货号 |
1408
+ | `colorName` | String | 否 | 颜色 |
1409
+ | `useState` | Integer | 否 | 用料状态:0进行中 1已结束 |
1410
+ | `isComplete` | Integer | 否 | 齐料状态:0未齐 1齐料 |
1411
+ | `orderRequirementNumber` | BigDecimal | 否 | 预计总用量(下单数口径) |
1412
+ | `predictCutBedNumber` | BigDecimal | 否 | 预计总用量(裁床数口径) |
1413
+ | `produceGoodsSkuAvgNumber` | BigDecimal | 否 | 单件用量 |
1414
+ | `purchaseNumber` | BigDecimal | 否 | 采购数 |
1415
+ | `purchaseWinNumber` | BigDecimal | 否 | 采购待入库数 |
1416
+
1417
+ **全部字段**
1418
+
1419
+ | 字段 | 类型 | 必填 | 含义 |
1420
+ |---|---|---|---|
1421
+ | `ordersSn` | String | 否 | 生产单号 |
1422
+ | `produceOrdersSn` | String | 否 | 生产单号(物料占用表关联字段) |
1423
+ | `allProduceOrdersSn` | String | 否 | 同物料占用的全部生产单号 |
1424
+ | `produceBatchSn` | String | 否 | 生产批次号 |
1425
+ | `spoState` | Integer | 否 | 生产单状态 |
1426
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
1427
+ | `deliveryTime` | String | 否 | 预计交货时间(yyyy-MM-dd) |
1428
+ | `goodsId` | Long | 否 | 商品ID |
1429
+ | `goodsName` | String | 否 | 商品名称 |
1430
+ | `goodsSn` | String | 否 | 款号 |
1431
+ | `materialId` | Long | 否 | 物料ID |
1432
+ | `materialSkuId` | Long | 否 | 物料单品ID |
1433
+ | `imgUrl` | String | 否 | 物料图片 |
1434
+ | `name` | String | 否 | 物料名称 |
1435
+ | `sn` | String | 否 | 物料货号 |
1436
+ | `colorName` | String | 否 | 颜色 |
1437
+ | `supplierColor` | String | 否 | 物料色号 |
1438
+ | `smTypeName` | String | 否 | 物料类型名(面料/辅料等) |
1439
+ | `fabricType` | Integer | 否 | 面料属性:1针织 2梭织 |
1440
+ | `skuProperties` | List<SkuPropertyRow> | 否 | 物料单品规格属性 |
1441
+ | `useState` | Integer | 否 | 用料状态:0进行中 1已结束 |
1442
+ | `isComplete` | Integer | 否 | 齐料状态:0未齐 1齐料 |
1443
+ | `issueState` | Integer | 否 | 发料状态:0空 1发料中 2无需发料 3发料结束 |
1444
+ | `orderRequirementNumber` | BigDecimal | 否 | 预计总用量(下单数口径) |
1445
+ | `predictCutBedNumber` | BigDecimal | 否 | 预计总用量(裁床数口径) |
1446
+ | `produceGoodsSkuAvgNumber` | BigDecimal | 否 | 单件用量 |
1447
+ | `goodsSkuNumber` | Integer | 否 | 成衣件数 |
1448
+ | `purchaseNumber` | BigDecimal | 否 | 采购数 |
1449
+ | `purchaseWinNumber` | BigDecimal | 否 | 采购待入库数 |
1450
+ | `issueInNumber` | BigDecimal | 否 | 发料数 |
1451
+ | `pickedNumber` | BigDecimal | 否 | 已领料数 |
1452
+ | `actualUseNumber` | BigDecimal | 否 | 实际用量 |
1453
+ | `materialAvailableNumber` | BigDecimal | 否 | 可用库存 |
1454
+ | `convertRate` | BigDecimal | 否 | 物料转换系数(采购单位转基础单位) |
1455
+ | `purchaseUnitName` | String | 否 | 采购单位 |
1456
+ | `baseUnitName` | String | 否 | 基础单位 |
1457
+
1458
+ **skuProperties[] 的字段**
1459
+
1460
+ | 字段 | 类型 | 必填 | 含义 |
1461
+ |---|---|---|---|
1462
+ | `skuProperties[].propertyName` | String | 否 | 属性名 |
1463
+ | `skuProperties[].propertyValue` | String | 否 | 属性值 |
1464
+
1465
+ ## 数据集:produce-store-in(生产入库单列表)
1466
+
1467
+ - 命令:`scm-agent data produce-store-in --from 2026-09-01 --to 2026-09-30 --json`
1468
+ - 接口:`GET /api/agent/v1/produce-store-in/list`
1469
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1470
+
1471
+ > 本节同时覆盖列表(produce-store-in)与详情(produce-store-in-detail)。orderGoods[](入库商品明细,颜色×尺码×数量)与 processFee(委外加工费)只有详情接口返回;列表里这两个字段为空。供应商字段受权限遮蔽,为空表示当前账号看不到。
1472
+
1473
+ **常用字段(做统计先看这些,其余字段在下面)**
1474
+
1475
+ | 字段 | 类型 | 必填 | 含义 |
1476
+ |---|---|---|---|
1477
+ | `ordersSn` | String | 否 | 入库单号 |
1478
+ | `produceOrdersSn` | String | 否 | 生产单号 |
1479
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
1480
+ | `state` | Integer | 否 | 单据状态:1草稿 2已入库 4待入库 5部分入库 9已撤销 |
1481
+ | `storehouseName` | String | 否 | 入库仓库名称 |
1482
+ | `goodsSn` | String | 否 | 款号 |
1483
+ | `sumStoreInNumber` | Integer | 否 | 入库数量 |
1484
+ | `sumInNumber` | Integer | 否 | 已入库数量 |
1485
+ | `sumWinNumber` | Integer | 否 | 待入库数量 |
1486
+ | `produceSupplierName` | String | 否 | 生产单供应商/加工厂(无数据权限时为空) |
1487
+ | `handler` | String | 否 | 创建人/操作用户 |
1488
+
1489
+ **全部字段**
1490
+
1491
+ | 字段 | 类型 | 必填 | 含义 |
1492
+ |---|---|---|---|
1493
+ | `ordersSn` | String | 否 | 入库单号 |
1494
+ | `produceOrdersSn` | String | 否 | 生产单号 |
1495
+ | `produceBatchSn` | String | 否 | 生产批次号 |
1496
+ | `businessTime` | String | 否 | 业务日期(yyyy-MM-dd) |
1497
+ | `state` | Integer | 否 | 单据状态:1草稿 2已入库 4待入库 5部分入库 9已撤销 |
1498
+ | `storehouseName` | String | 否 | 入库仓库名称 |
1499
+ | `goodsSn` | String | 否 | 款号 |
1500
+ | `goodsName` | String | 否 | 商品名称 |
1501
+ | `sumStoreInNumber` | Integer | 否 | 入库数量 |
1502
+ | `sumInNumber` | Integer | 否 | 已入库数量 |
1503
+ | `sumWinNumber` | Integer | 否 | 待入库数量 |
1504
+ | `produceSupplierName` | String | 否 | 生产单供应商/加工厂(无数据权限时为空) |
1505
+ | `produceOrderClientName` | String | 否 | 生产单客户名称 |
1506
+ | `supplierName` | String | 否 | 供应商(无数据权限时为空) |
1507
+ | `handler` | String | 否 | 创建人/操作用户 |
1508
+ | `deliveryTime` | String | 否 | 计划交货时间(yyyy-MM-dd) |
1509
+ | `productionGroupName` | String | 否 | 生产组名称 |
1510
+ | `produceOrderType` | Integer | 否 | 生产单类型 |
1511
+ | `processFee` | BigDecimal | 否 | 委外加工费(详情接口) |
1512
+ | `orderGoods` | List<GoodsRow> | 否 | 入库商品明细(详情接口) |
1513
+
1514
+ **orderGoods[] 的字段**
1515
+
1516
+ | 字段 | 类型 | 必填 | 含义 |
1517
+ |---|---|---|---|
1518
+ | `orderGoods[].goodsSn` | String | 否 | 款号 |
1519
+ | `orderGoods[].goodsName` | String | 否 | 商品名称 |
1520
+ | `orderGoods[].colorName` | String | 否 | 颜色 |
1521
+ | `orderGoods[].sizeName` | String | 否 | 尺码 |
1522
+ | `orderGoods[].number` | Integer | 否 | 数量 |
1523
+ | `orderGoods[].winNumber` | Integer | 否 | 待入库数量 |
1524
+ | `orderGoods[].waitStoreInNumber` | Integer | 否 | 待入库数量(新逻辑) |
1525
+ | `orderGoods[].price` | BigDecimal | 否 | 委外加工单价 |
1526
+
1527
+ ## 数据集:store-in-statistics(成品入库统计(按业务日期,行级含颜色尺码与金额))
1528
+
1529
+ - 命令:`scm-agent data store-in-statistics --from 2026-09-01 --to 2026-09-30 --json`
1530
+ - 接口:`GET /api/agent/v1/statistics/store-in-goods`
1531
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1532
+
1533
+ > 一行是一条入库记录的一个单品。businessItem 是业务类型枚举(1生产入库 2调拨入库 3次品返厂 76出库退货),按类型汇总时先按它分组。生产入库行的实际加工厂优先看嵌套 produceOrders 里的供应商。
1534
+
1535
+ **常用字段(做统计先看这些,其余字段在下面)**
1536
+
1537
+ | 字段 | 类型 | 必填 | 含义 |
1538
+ |---|---|---|---|
1539
+ | `businessItem` | Integer | 否 | 业务类型:1生产入库 2调拨入库 3次品返厂入库 76出库退货 |
1540
+ | `ordersSn` | String | 否 | 单号 |
1541
+ | `goodsSn` | String | 否 | 商品货号 |
1542
+ | `skuColorName` | String | 否 | 颜色 |
1543
+ | `skuSizeName` | String | 否 | 尺码 |
1544
+ | `number` | Integer | 否 | 入库数 |
1545
+ | `storehouseName` | String | 否 | 入库仓库 |
1546
+ | `supplierName` | String | 否 | 加工厂/供应商(行级;生产入库、次品返厂的实际加工厂优先看 produceOrders 内的供应商) |
1547
+ | `amount` | BigDecimal | 否 | 金额 |
1548
+ | `businessTime` | String | 否 | 入库业务日期(yyyy-MM-dd) |
1549
+
1550
+ **全部字段**
1551
+
1552
+ | 字段 | 类型 | 必填 | 含义 |
1553
+ |---|---|---|---|
1554
+ | `businessItem` | Integer | 否 | 业务类型:1生产入库 2调拨入库 3次品返厂入库 76出库退货 |
1555
+ | `ordersSn` | String | 否 | 单号 |
1556
+ | `businessSn` | String | 否 | 关联业务单号 |
1557
+ | `produceOrders` | List<ProduceRow> | 否 | 关联生产单列表 |
1558
+ | `bedNumbers` | List<String> | 否 | 床次列表 |
1559
+ | `imgUrl` | String | 否 | 单品图 URL |
1560
+ | `goodsName` | String | 否 | 商品名称 |
1561
+ | `goodsSn` | String | 否 | 商品货号 |
1562
+ | `firstGoodsCategoryName` | String | 否 | 一级分类 |
1563
+ | `skuColorName` | String | 否 | 颜色 |
1564
+ | `skuSizeName` | String | 否 | 尺码 |
1565
+ | `number` | Integer | 否 | 入库数 |
1566
+ | `storehouseName` | String | 否 | 入库仓库 |
1567
+ | `settlementMethod` | Integer | 否 | 结算方式:1现结 2日结 3周结 4半月结 5月结 6季结 7年结 8单结 9其他 |
1568
+ | `remark` | String | 否 | 备注 |
1569
+ | `producePrice` | BigDecimal | 否 | 委外加工费/采购单价 |
1570
+ | `supplierName` | String | 否 | 加工厂/供应商(行级;生产入库、次品返厂的实际加工厂优先看 produceOrders 内的供应商) |
1571
+ | `productionGroupName` | String | 否 | 生产组 |
1572
+ | `amount` | BigDecimal | 否 | 金额 |
1573
+ | `accountName` | String | 否 | 结算账户 |
1574
+ | `businessTime` | String | 否 | 入库业务日期(yyyy-MM-dd) |
1575
+ | `createTime` | String | 否 | 创建日期(yyyy-MM-dd) |
1576
+ | `handlerName` | String | 否 | 创建人 |
1577
+
1578
+ **produceOrders[] 的字段**
1579
+
1580
+ | 字段 | 类型 | 必填 | 含义 |
1581
+ |---|---|---|---|
1582
+ | `produceOrders[].ordersSn` | String | 否 | 生产单号 |
1583
+ | `produceOrders[].produceBatchSn` | String | 否 | 生产批次号 |
1584
+ | `produceOrders[].type` | Integer | 否 | 生产类型:1自主生产 2单工序外发 3委外加工 4成品采购 |
1585
+ | `produceOrders[].clientName` | String | 否 | 客户名称 |
1586
+ | `produceOrders[].orderTypeName` | String | 否 | 订单类型名称 |
1587
+ | `produceOrders[].supplierName` | String | 否 | 加工厂/供应商名称 |
1588
+
1589
+ ## 数据集:ticket-statistics(菲票统计明细(含领包人与部门))
1590
+
1591
+ - 命令:`scm-agent data ticket-statistics --from 2026-09-01 --to 2026-09-30 --json`
1592
+ - 接口:`GET /api/agent/v1/ticket/statistics`
1593
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1594
+
1595
+ > 服务端默认只查已领包(lendPackageState 默认 1),要未领包的给 --lend-package-state 0。ticketState 1 视为已交货。每行还内嵌工序进度 workProcessProgress[],按工序统计时才展开。
1596
+
1597
+ **常用字段(做统计先看这些,其余字段在下面)**
1598
+
1599
+ | 字段 | 类型 | 必填 | 含义 |
1600
+ |---|---|---|---|
1601
+ | `ticketSn` | String | 否 | 菲票号 |
1602
+ | `produceOrdersSn` | String | 否 | 生产单号 |
1603
+ | `goodsSn` | String | 否 | 商品货号 |
1604
+ | `lendPackageUserName` | String | 否 | 领包人 |
1605
+ | `departmentName` | String | 否 | 直属部门 |
1606
+ | `totalNumber` | Integer | 否 | 领货数量(菲票件数) |
1607
+ | `ticketState` | Integer | 否 | 扫菲节点:0未完成 1已完成(已完成视为已交货) |
1608
+ | `workProcessName` | String | 否 | 当前节点名称 |
1609
+
1610
+ **全部字段**
1611
+
1612
+ | 字段 | 类型 | 必填 | 含义 |
1613
+ |---|---|---|---|
1614
+ | `ticketSn` | String | 否 | 菲票号 |
1615
+ | `bundleSn` | String | 否 | 扎号 |
1616
+ | `produceOrdersSn` | String | 否 | 生产单号 |
1617
+ | `produceBatchSn` | String | 否 | 生产批次号 |
1618
+ | `bedNumber` | String | 否 | 床次 |
1619
+ | `goodsSn` | String | 否 | 商品货号 |
1620
+ | `goodsName` | String | 否 | 商品名称 |
1621
+ | `colorName` | String | 否 | 颜色 |
1622
+ | `sizeName` | String | 否 | 尺码 |
1623
+ | `lendPackageUserId` | Long | 否 | 领包人ID |
1624
+ | `lendPackageUserName` | String | 否 | 领包人 |
1625
+ | `departmentId` | Long | 否 | 直属部门ID |
1626
+ | `departmentName` | String | 否 | 直属部门 |
1627
+ | `totalNumber` | Integer | 否 | 领货数量(菲票件数) |
1628
+ | `ticketState` | Integer | 否 | 扫菲节点:0未完成 1已完成(已完成视为已交货) |
1629
+ | `workProcessName` | String | 否 | 当前节点名称 |
1630
+ | `workProcessProgress` | List<ProcessRow> | 否 | 工序进度列表(含扫菲汇报记录) |
1631
+
1632
+ **workProcessProgress[] 的字段**
1633
+
1634
+ | 字段 | 类型 | 必填 | 含义 |
1635
+ |---|---|---|---|
1636
+ | `workProcessProgress[].workProcessId` | Long | 否 | 工序ID |
1637
+ | `workProcessProgress[].workProcessName` | String | 否 | 工序名称 |
1638
+ | `workProcessProgress[].ticketNumber` | Integer | 否 | 菲票件数 |
1639
+ | `workProcessProgress[].reportNumber` | BigDecimal | 否 | 汇报数量 |
1640
+ | `workProcessProgress[].progress` | BigDecimal | 否 | 进度百分比 |
1641
+ | `workProcessProgress[].reports` | List<ReportRow> | 否 | 扫菲汇报记录 |
1642
+
1643
+ **reports[] 的字段**
1644
+
1645
+ | 字段 | 类型 | 必填 | 含义 |
1646
+ |---|---|---|---|
1647
+ | `reports[].businessTime` | String | 否 | 汇报业务日期(yyyy-MM-dd) |
1648
+ | `reports[].createTime` | String | 否 | 记录创建日期(yyyy-MM-dd) |
1649
+ | `reports[].number` | BigDecimal | 否 | 汇报数量 |
1650
+ | `reports[].businessUser` | String | 否 | 汇报人 |
1651
+
1652
+ ## 数据集:factory-evaluation(工厂评估(按加工厂聚合单数、裁床数、完成件数、按时交货率)
1653
+
1654
+ - 命令:`scm-agent data factory-evaluation --from 2026-09-01 --to 2026-09-30 --json`
1655
+ - 接口:`GET /api/agent/v1/report/factory-evaluation`
1656
+ - 必填条件:--from 与 --to;跨度不超过 92 天
1657
+
1658
+ > 服务端已经按加工厂聚合好,一行一个加工厂,不需要再自己分组。到期判断以真实今天为准(即使查询窗口是历史区间);没有已到期生产单时按时交货率为空,不是 0。
1659
+
1660
+ | 字段 | 类型 | 必填 | 含义 |
1661
+ |---|---|---|---|
1662
+ | `factory` | String | 否 | 加工厂名称(生产单未填写供应商时为“未填写加工厂”) |
1663
+ | `orders` | Integer | 否 | 生产单数 |
1664
+ | `sumNumber` | Integer | 否 | 下单数合计 |
1665
+ | `sumCutBedNumber` | BigDecimal | 否 | 裁床数合计 |
1666
+ | `produceStoreInNumber` | Integer | 否 | 完成件数(生产入库单口径) |
1667
+ | `produceInNumber` | Integer | 否 | 完成件数(成品入库口径) |
1668
+ | `dueOrders` | Integer | 否 | 已到期生产单数(预计交货日期早于统计日) |
1669
+ | `onTimeOrders` | Integer | 否 | 按时交货生产单数 |
1670
+ | `onTimeRate` | BigDecimal | 否 | 按时交货率(百分比,保留两位小数;无已到期生产单时为 null) |
1671
+
1672
+ ## 数据集:supplier-list(供应商名录(对账的第一步:先取供应商 id))
1673
+
1674
+ - 命令:`scm-agent data supplier-list --json`
1675
+ - 接口:`GET /api/agent/v1/supplier/list`
1676
+ - 必填条件:无
1677
+
1678
+ > 对账的第一步:先按名称找到供应商,取 id 再查 supplier-balance。supplierType 是可组合的数字(0 物料供应商、1 加工厂)。
1679
+
1680
+ | 字段 | 类型 | 必填 | 含义 |
1681
+ |---|---|---|---|
1682
+ | `id` | Long | 否 | 供应商id |
1683
+ | `supplierName` | String | 否 | 供应商名称 |
1684
+ | `supplierType` | String | 否 | 供应商类型:包含0-物料供应商,包含1-加工厂,可组合 |
1685
+ | `status` | Integer | 否 | 状态:1-启用 2-停用 |
1686
+ | `cellphone` | String | 否 | 联系电话 |
1687
+ | `address` | String | 否 | 地址 |
1688
+ | `remark` | String | 否 | 备注 |
1689
+
1690
+ ## 数据集:supplier-balance(单供应商对账数据(11 表结构,单条)
1691
+
1692
+ - 命令:`scm-agent data supplier-balance --supplier-id 88 --from 2026-09-01 --to 2026-09-30 --json`
1693
+ - 接口:`GET /api/agent/v1/supplier/balance-record`
1694
+ - 必填条件:--supplier-id 与 --from 与 --to;跨度不超过 92 天
1695
+
1696
+ > 单条接口,返回 11 张表。顶层字段就是表名:shareSum 是对账周期汇总(本期应付/实付/欠款),lstType 是按业务类型的汇总,其余 9 张是明细。欠款字段(debtAmount、endDebtAmount)受权限遮蔽,为空表示当前账号看不到,不要当 0 统计。
1697
+
1698
+ | 字段 | 类型 | 必填 | 含义 |
1699
+ |---|---|---|---|
1700
+ | `shareSum` | ShareSum | 否 | 对账周期汇总 |
1701
+ | `lstType` | List<TypeRow> | 否 | 按业务类型的应付/实付汇总 |
1702
+ | `lstOutWard` | List<OutWardRow> | 否 | 外发工序加工明细-发出 |
1703
+ | `lstOutWardRecover` | List<OutWardRow> | 否 | 外发工序加工明细-完成回收 |
1704
+ | `lstProcess` | List<ProcessRow> | 否 | 委外加工入库、成品采购入库明细 |
1705
+ | `lstRework` | List<ReworkRow> | 否 | 次品返厂明细 |
1706
+ | `lstRepairDeduction` | List<RepairRow> | 否 | 返修关联加工厂明细 |
1707
+ | `lstPurchaseOrderDetail` | List<PurchaseRow> | 否 | 物料采购明细(按采购金额SKU) |
1708
+ | `lstPurchaseDetail` | List<PurchaseRow> | 否 | 物料采购入库明细(按物料单品) |
1709
+ | `lstRefundDetail` | List<RefundRow> | 否 | 物料采购退货出库明细 |
1710
+ | `lstPay` | List<PayRow> | 否 | 收款、付款明细(accountItemId=5 的行是优惠金额) |
1711
+ | `lstSupplierAccount` | List<AccountRow> | 否 | 应收记账、应付记账明细 |
1712
+
1713
+ **shareSum 的字段**
1714
+
1715
+ | 字段 | 类型 | 必填 | 含义 |
1716
+ |---|---|---|---|
1717
+ | `shareSum.needAmount` | BigDecimal | 否 | 本期应付金额 |
1718
+ | `shareSum.realAmount` | BigDecimal | 否 | 本期实付金额 |
1719
+ | `shareSum.debtAmount` | BigDecimal | 否 | 本期欠款(无欠款查看权限时为空) |
1720
+ | `shareSum.initDebtAmount` | BigDecimal | 否 | 期初欠款 |
1721
+ | `shareSum.endDebtAmount` | BigDecimal | 否 | 期末欠款(无欠款查看权限时为空) |
1722
+
1723
+ **lstType[] 的字段**
1724
+
1725
+ | 字段 | 类型 | 必填 | 含义 |
1726
+ |---|---|---|---|
1727
+ | `lstType[].typeName` | String | 否 | 类型名称 |
1728
+ | `lstType[].needAmount` | BigDecimal | 否 | 应付金额 |
1729
+ | `lstType[].realAmount` | BigDecimal | 否 | 实付金额 |
1730
+
1731
+ **lstOutWard[] 的字段**
1732
+
1733
+ | 字段 | 类型 | 必填 | 含义 |
1734
+ |---|---|---|---|
1735
+ | `lstOutWard[].date` | String | 否 | 日期 |
1736
+ | `lstOutWard[].produceOrdersKey` | String | 否 | 生产单/批次号 |
1737
+ | `lstOutWard[].businessSn` | String | 否 | 生产单号 |
1738
+ | `lstOutWard[].goodsSn` | String | 否 | 款式 |
1739
+ | `lstOutWard[].goodsName` | String | 否 | 商品名称 |
1740
+ | `lstOutWard[].categoryName` | String | 否 | 一级分类 |
1741
+ | `lstOutWard[].colorName` | String | 否 | 颜色 |
1742
+ | `lstOutWard[].sizeName` | String | 否 | 尺码 |
1743
+ | `lstOutWard[].processNames` | String | 否 | 工序 |
1744
+ | `lstOutWard[].outWardRemark` | String | 否 | 外发备注 |
1745
+ | `lstOutWard[].recoverRemark` | String | 否 | 回收备注 |
1746
+ | `lstOutWard[].outWardNumber` | BigDecimal | 否 | 发出数 |
1747
+ | `lstOutWard[].recoverNumber` | BigDecimal | 否 | 已收回数 |
1748
+ | `lstOutWard[].repairDeductNumber` | BigDecimal | 否 | 返修扣减 |
1749
+ | `lstOutWard[].businessItemDesc` | String | 否 | 完成类型 |
1750
+ | `lstOutWard[].businessKey` | String | 否 | 完成单号 |
1751
+ | `lstOutWard[].price` | BigDecimal | 否 | 单价 |
1752
+ | `lstOutWard[].needAmount` | BigDecimal | 否 | 应付金额 |
1753
+ | `lstOutWard[].statementStateStr` | String | 否 | 结算情况 |
1754
+ | `lstOutWard[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1755
+ | `lstOutWard[].recordRemark` | String | 否 | 备注(对账备注) |
1756
+ | `lstOutWard[].goodsImgUrl` | String | 否 | 商品主图地址 |
1757
+
1758
+ **lstProcess[] 的字段**
1759
+
1760
+ | 字段 | 类型 | 必填 | 含义 |
1761
+ |---|---|---|---|
1762
+ | `lstProcess[].date` | String | 否 | 日期 |
1763
+ | `lstProcess[].businessSn` | String | 否 | 入库单 |
1764
+ | `lstProcess[].produceOrdersKey` | String | 否 | 生产单/批次号 |
1765
+ | `lstProcess[].produceOrdersSn` | String | 否 | 生产单号 |
1766
+ | `lstProcess[].goodsSn` | String | 否 | 款式 |
1767
+ | `lstProcess[].goodsName` | String | 否 | 商品名称 |
1768
+ | `lstProcess[].categoryName` | String | 否 | 一级分类 |
1769
+ | `lstProcess[].colorName` | String | 否 | 颜色 |
1770
+ | `lstProcess[].sizeName` | String | 否 | 尺码 |
1771
+ | `lstProcess[].number` | Integer | 否 | 入库数 |
1772
+ | `lstProcess[].storehouseName` | String | 否 | 入库仓库 |
1773
+ | `lstProcess[].businessRemark` | String | 否 | 成品入库单备注 |
1774
+ | `lstProcess[].remark` | String | 否 | 入库单备注 |
1775
+ | `lstProcess[].price` | BigDecimal | 否 | 单价 |
1776
+ | `lstProcess[].needAmount` | BigDecimal | 否 | 应付金额 |
1777
+ | `lstProcess[].statementStateStr` | String | 否 | 结算情况 |
1778
+ | `lstProcess[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1779
+ | `lstProcess[].recordRemark` | String | 否 | 备注(对账备注) |
1780
+ | `lstProcess[].handlerName` | String | 否 | 创建人 |
1781
+
1782
+ **lstRework[] 的字段**
1783
+
1784
+ | 字段 | 类型 | 必填 | 含义 |
1785
+ |---|---|---|---|
1786
+ | `lstRework[].date` | String | 否 | 日期 |
1787
+ | `lstRework[].ordersSn` | String | 否 | 次品返厂单 |
1788
+ | `lstRework[].goodsStoreInOrdersSn` | String | 否 | 入库单 |
1789
+ | `lstRework[].produceOrdersKey` | String | 否 | 生产单/批次号 |
1790
+ | `lstRework[].produceOrdersSn` | String | 否 | 生产单号 |
1791
+ | `lstRework[].goodsSn` | String | 否 | 款式 |
1792
+ | `lstRework[].goodsName` | String | 否 | 商品名称 |
1793
+ | `lstRework[].categoryName` | String | 否 | 一级分类 |
1794
+ | `lstRework[].colorName` | String | 否 | 颜色 |
1795
+ | `lstRework[].sizeName` | String | 否 | 尺码 |
1796
+ | `lstRework[].price` | BigDecimal | 否 | 单价 |
1797
+ | `lstRework[].businessRemark` | String | 否 | 成品入库单备注 |
1798
+ | `lstRework[].remark` | String | 否 | 返厂单备注 |
1799
+ | `lstRework[].illustrate` | String | 否 | 说明 |
1800
+ | `lstRework[].number` | BigDecimal | 否 | 数量 |
1801
+ | `lstRework[].needAmount` | BigDecimal | 否 | 应付金额 |
1802
+ | `lstRework[].statementStateStr` | String | 否 | 结算情况 |
1803
+ | `lstRework[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1804
+ | `lstRework[].recordRemark` | String | 否 | 备注(对账备注) |
1805
+ | `lstRework[].handlerName` | String | 否 | 创建人 |
1806
+
1807
+ **lstRepairDeduction[] 的字段**
1808
+
1809
+ | 字段 | 类型 | 必填 | 含义 |
1810
+ |---|---|---|---|
1811
+ | `lstRepairDeduction[].date` | String | 否 | 日期 |
1812
+ | `lstRepairDeduction[].ordersSn` | String | 否 | 质检单(次品返修单) |
1813
+ | `lstRepairDeduction[].produceOrdersSn` | String | 否 | 生产单号 |
1814
+ | `lstRepairDeduction[].produceOrdersKey` | String | 否 | 生产单/批次号 |
1815
+ | `lstRepairDeduction[].goodsSn` | String | 否 | 款式 |
1816
+ | `lstRepairDeduction[].goodsName` | String | 否 | 商品名称 |
1817
+ | `lstRepairDeduction[].colorName` | String | 否 | 颜色 |
1818
+ | `lstRepairDeduction[].sizeName` | String | 否 | 尺码 |
1819
+ | `lstRepairDeduction[].price` | BigDecimal | 否 | 单价 |
1820
+ | `lstRepairDeduction[].businessRemark` | String | 否 | 质检单备注 |
1821
+ | `lstRepairDeduction[].number` | Integer | 否 | 数量 |
1822
+ | `lstRepairDeduction[].needAmount` | BigDecimal | 否 | 应付金额 |
1823
+ | `lstRepairDeduction[].statementStateStr` | String | 否 | 结算情况 |
1824
+ | `lstRepairDeduction[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1825
+ | `lstRepairDeduction[].remark` | String | 否 | 备注(对账备注) |
1826
+ | `lstRepairDeduction[].createTime` | Timestamp | 否 | 创建时间 |
1827
+ | `lstRepairDeduction[].handlerName` | String | 否 | 创建人 |
1828
+
1829
+ **lstPurchaseOrderDetail[] 的字段**
1830
+
1831
+ | 字段 | 类型 | 必填 | 含义 |
1832
+ |---|---|---|---|
1833
+ | `lstPurchaseOrderDetail[].date` | String | 否 | 日期 |
1834
+ | `lstPurchaseOrderDetail[].businessSn` | String | 否 | 采购单/采购入库单 |
1835
+ | `lstPurchaseOrderDetail[].materialPurchaseOrderSn` | String | 否 | 物料采购单号 |
1836
+ | `lstPurchaseOrderDetail[].produceOrdersSn` | String | 否 | 生产单号 |
1837
+ | `lstPurchaseOrderDetail[].produceBatchSn` | String | 否 | 生产批次号 |
1838
+ | `lstPurchaseOrderDetail[].goodsSn` | String | 否 | 款式 |
1839
+ | `lstPurchaseOrderDetail[].goodsName` | String | 否 | 商品名称 |
1840
+ | `lstPurchaseOrderDetail[].materialName` | String | 否 | 物料 |
1841
+ | `lstPurchaseOrderDetail[].materialSkuId` | Long | 否 | 物料单品id |
1842
+ | `lstPurchaseOrderDetail[].materialSn` | String | 否 | 货号 |
1843
+ | `lstPurchaseOrderDetail[].colorName` | String | 否 | 颜色 |
1844
+ | `lstPurchaseOrderDetail[].propertyValueNameStr` | String | 否 | 规格 |
1845
+ | `lstPurchaseOrderDetail[].purchasePrice` | BigDecimal | 否 | 采购单价 |
1846
+ | `lstPurchaseOrderDetail[].purchaseRealPrice` | BigDecimal | 否 | 抹零后采购单价 |
1847
+ | `lstPurchaseOrderDetail[].purchaseNumber` | BigDecimal | 否 | 基础采购数 |
1848
+ | `lstPurchaseOrderDetail[].purchaseUnitNumber` | BigDecimal | 否 | 采购单位采购数 |
1849
+ | `lstPurchaseOrderDetail[].purchaseUnitName` | String | 否 | 采购单位 |
1850
+ | `lstPurchaseOrderDetail[].purchaseStoreInNumber` | BigDecimal | 否 | 采购单位对应入库数 |
1851
+ | `lstPurchaseOrderDetail[].number` | BigDecimal | 否 | 基础入库数 |
1852
+ | `lstPurchaseOrderDetail[].price` | BigDecimal | 否 | 基础单价(折后) |
1853
+ | `lstPurchaseOrderDetail[].basePrice` | BigDecimal | 否 | 基础单价(折前) |
1854
+ | `lstPurchaseOrderDetail[].baseUnitName` | String | 否 | 基础单位 |
1855
+ | `lstPurchaseOrderDetail[].convertRate` | BigDecimal | 否 | 转换系数 |
1856
+ | `lstPurchaseOrderDetail[].needAmount` | BigDecimal | 否 | 应付金额 |
1857
+ | `lstPurchaseOrderDetail[].remark` | String | 否 | 采购单备注 |
1858
+ | `lstPurchaseOrderDetail[].materialStoreInRemark` | String | 否 | 物料入库单备注 |
1859
+ | `lstPurchaseOrderDetail[].expectTime` | Timestamp | 否 | 预计到料日期 |
1860
+ | `lstPurchaseOrderDetail[].createTime` | Timestamp | 否 | 创建时间 |
1861
+ | `lstPurchaseOrderDetail[].supplierSn` | String | 否 | 供应商单号 |
1862
+ | `lstPurchaseOrderDetail[].statementStateStr` | String | 否 | 结算情况 |
1863
+ | `lstPurchaseOrderDetail[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1864
+ | `lstPurchaseOrderDetail[].recordRemark` | String | 否 | 备注(对账备注) |
1865
+
1866
+ **lstRefundDetail[] 的字段**
1867
+
1868
+ | 字段 | 类型 | 必填 | 含义 |
1869
+ |---|---|---|---|
1870
+ | `lstRefundDetail[].date` | String | 否 | 日期 |
1871
+ | `lstRefundDetail[].businessSn` | String | 否 | 退货出库单 |
1872
+ | `lstRefundDetail[].materialName` | String | 否 | 物料 |
1873
+ | `lstRefundDetail[].materialSkuId` | Long | 否 | 物料单品id |
1874
+ | `lstRefundDetail[].materialSn` | String | 否 | 货号 |
1875
+ | `lstRefundDetail[].colorName` | String | 否 | 颜色 |
1876
+ | `lstRefundDetail[].propertyValueNameStr` | String | 否 | 规格 |
1877
+ | `lstRefundDetail[].purchaseRefundPrice` | BigDecimal | 否 | 单价(采购退货单价) |
1878
+ | `lstRefundDetail[].purchaseStoreOutNumber` | BigDecimal | 否 | 出库数(采购退货单位) |
1879
+ | `lstRefundDetail[].purchaseRefundUnitName` | String | 否 | 退货单位 |
1880
+ | `lstRefundDetail[].needAmount` | BigDecimal | 否 | 应收金额 |
1881
+ | `lstRefundDetail[].price` | BigDecimal | 否 | 基础单价 |
1882
+ | `lstRefundDetail[].number` | BigDecimal | 否 | 基础出库数 |
1883
+ | `lstRefundDetail[].baseUnitName` | String | 否 | 基础单位 |
1884
+ | `lstRefundDetail[].convertRate` | BigDecimal | 否 | 转换系数 |
1885
+ | `lstRefundDetail[].remark` | String | 否 | 退货单备注 |
1886
+ | `lstRefundDetail[].materialStoreOutRemark` | String | 否 | 出库单备注 |
1887
+ | `lstRefundDetail[].statementStateStr` | String | 否 | 结算情况 |
1888
+ | `lstRefundDetail[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1889
+ | `lstRefundDetail[].recordRemark` | String | 否 | 备注(对账备注) |
1890
+
1891
+ **lstPay[] 的字段**
1892
+
1893
+ | 字段 | 类型 | 必填 | 含义 |
1894
+ |---|---|---|---|
1895
+ | `lstPay[].date` | String | 否 | 日期 |
1896
+ | `lstPay[].businessItem` | String | 否 | 业务类型 |
1897
+ | `lstPay[].accountItemId` | Long | 否 | 账目类型id(5-优惠金额) |
1898
+ | `lstPay[].accountItemName` | String | 否 | 账目类型名称 |
1899
+ | `lstPay[].businessSn` | String | 否 | 单号 |
1900
+ | `lstPay[].realAmount` | BigDecimal | 否 | 付款金额 |
1901
+ | `lstPay[].needAmount` | BigDecimal | 否 | 应付金额(优惠行取绝对值) |
1902
+ | `lstPay[].remark` | String | 否 | 备注 |
1903
+ | `lstPay[].businessRemark` | String | 否 | 单据备注 |
1904
+ | `lstPay[].statementStateStr` | String | 否 | 结算情况 |
1905
+ | `lstPay[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1906
+ | `lstPay[].recordRemark` | String | 否 | 备注(对账备注) |
1907
+
1908
+ **lstSupplierAccount[] 的字段**
1909
+
1910
+ | 字段 | 类型 | 必填 | 含义 |
1911
+ |---|---|---|---|
1912
+ | `lstSupplierAccount[].date` | String | 否 | 日期 |
1913
+ | `lstSupplierAccount[].businessItem` | String | 否 | 业务类型 |
1914
+ | `lstSupplierAccount[].accountItemName` | String | 否 | 账目类型 |
1915
+ | `lstSupplierAccount[].businessSn` | String | 否 | 单号 |
1916
+ | `lstSupplierAccount[].produceOrdersKey` | String | 否 | 生产单/批次号(多个生产批次时见 produceBatchSnList) |
1917
+ | `lstSupplierAccount[].produceBatchSnList` | List<ProduceBatchRow> | 否 | 关联的生产批次列表 |
1918
+ | `lstSupplierAccount[].needAmount` | BigDecimal | 否 | 应付金额 |
1919
+ | `lstSupplierAccount[].payWayStr` | String | 否 | 付款方式 |
1920
+ | `lstSupplierAccount[].payerName` | String | 否 | 代付人 |
1921
+ | `lstSupplierAccount[].feeReimbursementOrdersSn` | String | 否 | 报销单 |
1922
+ | `lstSupplierAccount[].feeReimbursementOrderState` | Integer | 否 | 报销单状态 |
1923
+ | `lstSupplierAccount[].statementStateStr` | String | 否 | 结算情况 |
1924
+ | `lstSupplierAccount[].recordState` | Integer | 否 | 对账状态:1-未对账 2-已对账 |
1925
+ | `lstSupplierAccount[].handlerName` | String | 否 | 创建人 |
1926
+ | `lstSupplierAccount[].remark` | String | 否 | 备注 |
1927
+
1928
+ **produceBatchSnList[] 的字段**
1929
+
1930
+ | 字段 | 类型 | 必填 | 含义 |
1931
+ |---|---|---|---|
1932
+ | `produceBatchSnList[].ordersSn` | String | 否 | 生产单/批次号 |
1933
+ | `produceBatchSnList[].goodsName` | String | 否 | 商品名称 |
1934
+ | `produceBatchSnList[].goodsSn` | String | 否 | 货号 |
1935
+
1936
+ ## 数据集:work-processes(生产单工序节点列表(含预计与实际时间、汇报次数))
1937
+
1938
+ - 命令:`scm-agent data work-processes --sn SC202609010001 --json`
1939
+ - 接口:`GET /api/agent/v1/produce/work-processes`
1940
+ - 必填条件:--sn
1941
+
1942
+ > id 是工序节点主键,继续查 work-process-detail 用它。core=2 是裁床工序。
1943
+
1944
+ **常用字段(做统计先看这些,其余字段在下面)**
1945
+
1946
+ | 字段 | 类型 | 必填 | 含义 |
1947
+ |---|---|---|---|
1948
+ | `id` | Long | 否 | 工序节点ID |
1949
+ | `workProcessName` | String | 否 | 工序名称 |
1950
+ | `core` | Integer | 否 | 关键工序标识:1无 2裁床 3生产完成 4车间生产 5尾部 6纸样 |
1951
+ | `state` | Integer | 否 | 工序状态:1未完成 2完成 |
1952
+ | `progress` | BigDecimal | 否 | 进度百分比 |
1953
+ | `produceNumber` | Integer | 否 | 目标生产数量 |
1954
+ | `reportNumber` | BigDecimal | 否 | 已汇报数量 |
1955
+ | `beginTime` | String | 否 | 实际开始时间(yyyy-MM-dd) |
1956
+ | `endTime` | String | 否 | 实际结束时间(yyyy-MM-dd) |
1957
+ | `factoryName` | String | 否 | 加工厂 |
1958
+
1959
+ **全部字段**
1960
+
1961
+ | 字段 | 类型 | 必填 | 含义 |
1962
+ |---|---|---|---|
1963
+ | `id` | Long | 否 | 工序节点ID |
1964
+ | `ordersSn` | String | 否 | 生产单号 |
1965
+ | `workProcessName` | String | 否 | 工序名称 |
1966
+ | `workProcessGroupName` | String | 否 | 工序分组名称 |
1967
+ | `core` | Integer | 否 | 关键工序标识:1无 2裁床 3生产完成 4车间生产 5尾部 6纸样 |
1968
+ | `state` | Integer | 否 | 工序状态:1未完成 2完成 |
1969
+ | `actualState` | Integer | 否 | 工序实际状态:3进行中 |
1970
+ | `progress` | BigDecimal | 否 | 进度百分比 |
1971
+ | `produceNumber` | Integer | 否 | 目标生产数量 |
1972
+ | `reportNumber` | BigDecimal | 否 | 已汇报数量 |
1973
+ | `reportTimes` | Integer | 否 | 汇报次数 |
1974
+ | `estimateBeginTime` | String | 否 | 预计开始时间(yyyy-MM-dd) |
1975
+ | `estimateFinishTime` | String | 否 | 预计完成时间(yyyy-MM-dd) |
1976
+ | `beginTime` | String | 否 | 实际开始时间(yyyy-MM-dd) |
1977
+ | `endTime` | String | 否 | 实际结束时间(yyyy-MM-dd) |
1978
+ | `factoryName` | String | 否 | 加工厂 |
1979
+
1980
+ ## 数据集:work-process-detail(单个工序节点的汇报记录(单条)
1981
+
1982
+ - 命令:`scm-agent data work-process-detail --work-process-id 123456 --json`
1983
+ - 接口:`GET /api/agent/v1/produce/work-process-detail`
1984
+ - 必填条件:--work-process-id
1985
+
1986
+ > 单条接口。汇报记录在嵌套 reportRecords[] 里(汇报人、时间、数量、方式与来源的枚举都在该行)。顶层 workProcess 字段就是「数据集:work-processes」那一节的行结构,字段含义去那里查。
1987
+
1988
+ | 字段 | 类型 | 必填 | 含义 |
1989
+ |---|---|---|---|
1990
+ | `ordersSn` | String | 否 | 生产单号 |
1991
+ | `goodsSn` | String | 否 | 款号 |
1992
+ | `goodsName` | String | 否 | 商品名称 |
1993
+ | `workProcess` | AgentWorkProcessDTO | 否 | 工序节点 |
1994
+ | `reportRecords` | List<ReportRow> | 否 | 汇报记录(按接口返回顺序) |
1995
+
1996
+ **reportRecords[] 的字段**
1997
+
1998
+ | 字段 | 类型 | 必填 | 含义 |
1999
+ |---|---|---|---|
2000
+ | `reportRecords[].businessTime` | String | 否 | 汇报业务时间(yyyy-MM-dd HH:mm:ss) |
2001
+ | `reportRecords[].createTime` | String | 否 | 汇报记录创建时间(yyyy-MM-dd HH:mm:ss) |
2002
+ | `reportRecords[].handler` | String | 否 | 汇报人 |
2003
+ | `reportRecords[].bedNumber` | String | 否 | 床次 |
2004
+ | `reportRecords[].sumNumber` | BigDecimal | 否 | 汇总数量(汇总总数/整体汇报总数) |
2005
+ | `reportRecords[].totalReportNumber` | BigDecimal | 否 | 汇报数量,整体汇报用 |
2006
+ | `reportRecords[].reportWay` | Integer | 否 | 汇报方式 1-汇报整体数量 2-分色码汇报数量 3-整体完成 |
2007
+ | `reportRecords[].type` | Integer | 否 | 汇报来源 1-手工填写 2-扫菲 3-外发回收 4-编菲汇报 5-返修扣减 |
2008
+ | `reportRecords[].remark` | String | 否 | 备注 |
2009
+
2010
+ ## 数据集:material-data(批量物料占用与使用状态(最多 20 个生产单)
2011
+
2012
+ - 命令:`scm-agent data material-data --sns SC001,SC002 --json`
2013
+ - 接口:`GET /api/agent/v1/produce/material-data`
2014
+ - 必填条件:--sns;最多 20 个单号
2015
+
2016
+ > 行里只有物料 id(materialId、materialSkuId),没有物料名称;需要名称时用 produce detail 的 materialList 按 id 关联。缺料与占用都有「按下单数 / 按裁床数」两套口径,与 produce-material 的口径对应。
2017
+
2018
+ **常用字段(做统计先看这些,其余字段在下面)**
2019
+
2020
+ | 字段 | 类型 | 必填 | 含义 |
2021
+ |---|---|---|---|
2022
+ | `produceOrdersSn` | String | 否 | 生产单号 |
2023
+ | `state` | Integer | 否 | 使用状态:0进行中 1已结束 |
2024
+ | `orderRequirementNumber` | BigDecimal | 否 | 预计总用量(下单数口径) |
2025
+ | `predictCutBedNumber` | BigDecimal | 否 | 预计总用量(裁床数口径) |
2026
+ | `purchaseNumber` | BigDecimal | 否 | 采购数 |
2027
+ | `purchaseWinNumber` | BigDecimal | 否 | 采购待入库数 |
2028
+ | `pickedNumber` | BigDecimal | 否 | 已领料数 |
2029
+ | `actualUseNumber` | BigDecimal | 否 | 实际用量 |
2030
+ | `lackNumberByOrderNumber` | BigDecimal | 否 | 本单缺料(按下单数) |
2031
+ | `planPurchaseOrderNumber` | BigDecimal | 否 | 建议采购数(按下单数) |
2032
+
2033
+ **全部字段**
2034
+
2035
+ | 字段 | 类型 | 必填 | 含义 |
2036
+ |---|---|---|---|
2037
+ | `produceOrdersSn` | String | 否 | 生产单号 |
2038
+ | `materialId` | Long | 否 | 物料ID |
2039
+ | `materialSkuId` | Long | 否 | 物料单品ID |
2040
+ | `state` | Integer | 否 | 使用状态:0进行中 1已结束 |
2041
+ | `orderRequirementNumber` | BigDecimal | 否 | 预计总用量(下单数口径) |
2042
+ | `predictCutBedNumber` | BigDecimal | 否 | 预计总用量(裁床数口径) |
2043
+ | `purchaseNumber` | BigDecimal | 否 | 采购数 |
2044
+ | `purchaseWinNumber` | BigDecimal | 否 | 采购待入库数 |
2045
+ | `pickedNumber` | BigDecimal | 否 | 已领料数 |
2046
+ | `actualUseNumber` | BigDecimal | 否 | 实际用量 |
2047
+ | `materialAvailableNumber` | BigDecimal | 否 | 可用库存 |
2048
+ | `lackNumberByOrderNumber` | BigDecimal | 否 | 本单缺料(按下单数) |
2049
+ | `lackNumberByCutBedNumber` | BigDecimal | 否 | 本单缺料(按裁床数) |
2050
+ | `occupationByOrderNumber` | BigDecimal | 否 | 本单临时占用(按下单数) |
2051
+ | `occupationByCutBedNumber` | BigDecimal | 否 | 本单临时占用(按裁床数) |
2052
+ | `otherOccupationOrderNumber` | BigDecimal | 否 | 其他单占用(按下单数) |
2053
+ | `otherOccupationCutBedNumber` | BigDecimal | 否 | 其他单占用(按裁床数) |
2054
+ | `planPurchaseOrderNumber` | BigDecimal | 否 | 建议采购数(按下单数) |
2055
+ | `planPurchaseCutBedNumber` | BigDecimal | 否 | 建议采购数(按裁床数) |
2056
+
2057
+ ## 附录:两条通道的边界
2058
+
2059
+ 本文字典覆盖两部分接口:前半部分是 CLI 命令直接可达的端点,后半部分(标题带「数据集:」)
2060
+ 是 `scm-agent data` 命令的数据集。原来只给官方报表内部使用的 16 个报表数据接口已经全部
2061
+ 通过 `data` 命令开放,因此不再有「AI 调不到的接口」清单。
2062
+
2063
+ `/me` 与 `/token` 由 `status`、`login` 命令在内部使用,不返回业务数据,不在本字典范围内。
2064
+
2065
+ 官方报表(`scm-agent report`)与 `data` 命令调用的是同一批接口:报表一次拉全量并组装成
2066
+ 固定格式的文件;`data` 一次只取一页,让 AI 按用户口径自己算。两条通道的权限、限流
2067
+ (每 Key 每分钟 30 次、每天 600 次)完全相同。