import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace MesTraceIntegrityApi {
|
/** 数据完整性校验结果 */
|
export interface VerifyResult {
|
bizType?: string; // 业务类型:BATCH / SALES / SCAN
|
bizId?: number; // 业务记录编号
|
bizCode?: string; // 业务编码
|
matched?: boolean; // 是否校验通过
|
storedHash?: string; // 存储的摘要 SHA-256
|
currentHash?: string; // 当前数据重算摘要 SHA-256
|
bagSetHash?: string; // 批次当前袋码集合摘要(仅 BATCH 校验返回)
|
message?: string; // 校验说明
|
}
|
|
/** 数据完整性记录 */
|
export interface Record {
|
id?: number; // 编号
|
bizType?: string; // 业务类型
|
bizId?: number; // 业务记录编号
|
bizCode?: string; // 业务编码
|
contentHash?: string; // 内容摘要 SHA-256
|
eventTime?: string; // 摘要生成时间
|
}
|
|
/** 数据完整性记录分页查询参数 */
|
export interface PageParams extends PageParam {
|
bizType?: string;
|
bizId?: number;
|
bizCode?: string;
|
}
|
}
|
|
/** 校验数据完整性(重算摘要比对) */
|
export function verifyTraceIntegrity(bizType: string, bizId: number) {
|
return requestClient.get<MesTraceIntegrityApi.VerifyResult>(
|
'/mes/trace-integrity/verify',
|
{ params: { bizType, bizId } },
|
);
|
}
|
|
/** 获得数据完整性记录分页 */
|
export function getTraceIntegrityPage(
|
params: MesTraceIntegrityApi.PageParams,
|
) {
|
return requestClient.get<PageResult<MesTraceIntegrityApi.Record>>(
|
'/mes/trace-integrity/page',
|
{ params },
|
);
|
}
|