账单导出

This commit is contained in:
liu
2026-10-24 21:57:02 +08:00
parent 5123065def
commit 42a3fa00d4
3 changed files with 84 additions and 62 deletions
+18 -14
View File
@@ -98,38 +98,42 @@ class BillExportTest extends ProcurementTestCase
if ($rowA === null || $rowB === null) {
return false;
}
// 一级分类列=商品根分类名
if ($rowA[2] !== '蔬菜' || $rowB[2] !== '蔬菜') {
return false;
}
// 包规列=包规+单位合并;单价列=每件价÷每件斤数+单价单位(A:2.37÷10=0.23元/斤)
if ($rowA[2] !== '10斤/箱' || $rowA[3] !== '0.23元/斤') {
if ($rowA[3] !== '10斤/箱' || $rowA[4] !== '0.23元/斤') {
return false;
}
// 散装无法折算 → 单价按每件原价显示(B:5.00元/斤)
if ($rowB[2] !== '散装筐' || $rowB[3] !== '5.00元/斤') {
if ($rowB[3] !== '散装筐' || $rowB[4] !== '5.00元/斤') {
return false;
}
// 账单内同商品合并:数量 16、金额 38.00
if ((int) $rowA[4] !== 16 || (float) $rowA[6] !== 38.0) {
if ((int) $rowA[5] !== 16 || (float) $rowA[7] !== 38.0) {
return false;
}
if ((int) $rowB[4] !== 4 || (float) $rowB[6] !== 20.0) {
if ((int) $rowB[5] !== 4 || (float) $rowB[7] !== 20.0) {
return false;
}
$summary = $rows->slice(6)->values();
// 合计:数量 20、商品金额 58.00;配送费 10.00;附加 30.00(筐 2 / 托盘 1);售后 -8.00;总金额 90.00
if ((int) $summary[0][4] !== 20 || (float) $summary[0][6] !== 58.0) {
if ((int) $summary[0][5] !== 20 || (float) $summary[0][7] !== 58.0) {
return false;
}
if ($summary[1][0] !== '配送费' || (float) $summary[1][6] !== 10.0) {
if ($summary[1][0] !== '配送费' || (float) $summary[1][7] !== 10.0) {
return false;
}
if (! str_contains((string) $summary[2][0], '筐 2 个 / 周转托盘 1 个') || (float) $summary[2][6] !== 30.0) {
if (! str_contains((string) $summary[2][0], '筐 2 个 / 周转托盘 1 个') || (float) $summary[2][7] !== 30.0) {
return false;
}
if (! str_contains((string) $summary[3][0], '售后金额') || (float) $summary[3][6] !== -8.0) {
if (! str_contains((string) $summary[3][0], '售后金额') || (float) $summary[3][7] !== -8.0) {
return false;
}
return (float) $summary[4][6] === 90.0;
return (float) $summary[4][7] === 90.0;
}
);
}
@@ -161,22 +165,22 @@ class BillExportTest extends ProcurementTestCase
if (! str_contains((string) $rows[1][0], '分类:蔬菜')) {
return false;
}
// 明细仅剩蔬菜(子分类归入根分类),肉禽被忽略
// 明细仅剩蔬菜(子分类归入根分类),肉禽被忽略;一级分类列显示根分类名
$detail = $rows->slice(4, 1)->values()->first();
if ($detail === null || $detail[1] !== $veg->name) {
if ($detail === null || $detail[1] !== $veg->name || $detail[2] !== '蔬菜') {
return false;
}
$summary = $rows->slice(5)->values();
// 商品金额合计 20.00(仅蔬菜);配送费 10.00 / 附加 30.00 / 售后 0.00 全额;总金额 60.00
if ((float) $summary[0][6] !== 20.0) {
if ((float) $summary[0][7] !== 20.0) {
return false;
}
if ((float) $summary[1][6] !== 10.0 || (float) $summary[2][6] !== 30.0 || (float) $summary[3][6] !== 0.0) {
if ((float) $summary[1][7] !== 10.0 || (float) $summary[2][7] !== 30.0 || (float) $summary[3][7] !== 0.0) {
return false;
}
return (float) $summary[4][6] === 60.0;
return (float) $summary[4][7] === 60.0;
}
);
}