feat(admin): add origin name grouping utils with vitest coverage
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* 原产品名匹配规则(见 data-cleaning/README.md 命名调查):
|
||||
* `国家(物流备注)品名-SKU-工艺位置[-仓库名]`
|
||||
* 截断到「工艺位置」= 保留按 `-` 分段的前 3 段,丢弃可选的仓库名段。
|
||||
* 国家前缀在第 1 段内,天然参与比较(不同国家不合并)。
|
||||
*/
|
||||
const KEEP_SEGMENTS = 3;
|
||||
|
||||
export function truncateToProcess(name: string | null | undefined): string {
|
||||
if (!name) return '';
|
||||
return name.split('-').slice(0, KEEP_SEGMENTS).join('-');
|
||||
}
|
||||
|
||||
export function sameOriginGroup(
|
||||
a: string | null | undefined,
|
||||
b: string | null | undefined,
|
||||
): boolean {
|
||||
const ka = truncateToProcess(a);
|
||||
return ka !== '' && ka === truncateToProcess(b);
|
||||
}
|
||||
Reference in New Issue
Block a user