|
|
@@ -107,9 +107,15 @@ class StatCgClass extends BaseClass
|
|
|
|
|
|
// 隔天售后:按通过日扣花材数量/金额;无当日入库也建负行
|
|
|
self::applyNextDayAdjustToCgItemRows($arr, $productInfo, $mainId, $currentStartTime, $currentEndTime);
|
|
|
+ $nextDayDeduct = CgPurchaseNextDayClass::sumAmountByMainAndTime($mainId, $currentStartTime, $currentEndTime);
|
|
|
|
|
|
if (!empty($arr)) {
|
|
|
- $arr = array_values($arr);
|
|
|
+ // 去掉数量金额都为 0 的行,保留负数行便于看见隔天扣减
|
|
|
+ $arr = array_values(array_filter($arr, function ($row) {
|
|
|
+ $num = bcadd((string)($row['num'] ?? '0'), '0', 2);
|
|
|
+ $amount = bcadd((string)($row['amount'] ?? '0'), '0', 2);
|
|
|
+ return bccomp($num, '0', 2) != 0 || bccomp($amount, '0', 2) != 0;
|
|
|
+ }));
|
|
|
$arr = arrayUtil::arraySort($arr, $rank);
|
|
|
}
|
|
|
if (!empty($cgData)) {
|
|
|
@@ -121,7 +127,7 @@ class StatCgClass extends BaseClass
|
|
|
self::exportCgItem($arr,$mainId);
|
|
|
}
|
|
|
|
|
|
- return ['itemList' => $arr, 'staffCg' => $cgData];
|
|
|
+ return ['itemList' => $arr, 'staffCg' => $cgData, 'nextDayDeduct' => $nextDayDeduct];
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -282,6 +288,7 @@ class StatCgClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
// 隔天售后:按原单采购人扣金额;无当日入库也建负行(笔数不减)
|
|
|
+ $nextDayDeduct = CgPurchaseNextDayClass::sumAmountByMainAndTime($mainId, $currentStartTime, $currentEndTime);
|
|
|
$nextMap = CgPurchaseNextDayClass::sumAmountGroupByCgStaff($mainId, $currentStartTime, $currentEndTime);
|
|
|
foreach ($nextMap as $sid => $row) {
|
|
|
$amt = $row['amount'] ?? '0';
|
|
|
@@ -291,7 +298,7 @@ class StatCgClass extends BaseClass
|
|
|
if (!isset($cgData[$sid])) {
|
|
|
$cgData[$sid] = [
|
|
|
'cgStaffId' => $sid,
|
|
|
- 'cgStaffName' => $row['cgStaffName'] ?? '',
|
|
|
+ 'cgStaffName' => $row['cgStaffName'] !== '' ? $row['cgStaffName'] : '未记名',
|
|
|
'amount' => '0.00',
|
|
|
'num' => 0,
|
|
|
];
|
|
|
@@ -300,9 +307,14 @@ class StatCgClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
if (!empty($cgData)) {
|
|
|
- $cgData = array_values($cgData);
|
|
|
+ // 去掉订单数与金额都为 0 的行,保留纯隔天负金额行
|
|
|
+ $cgData = array_values(array_filter($cgData, function ($row) {
|
|
|
+ $num = bcadd((string)($row['num'] ?? '0'), '0', 2);
|
|
|
+ $amount = bcadd((string)($row['amount'] ?? '0'), '0', 2);
|
|
|
+ return bccomp($num, '0', 2) != 0 || bccomp($amount, '0', 2) != 0;
|
|
|
+ }));
|
|
|
}
|
|
|
- return ['staffCg' => $cgData];
|
|
|
+ return ['staffCg' => $cgData, 'nextDayDeduct' => $nextDayDeduct];
|
|
|
}
|
|
|
|
|
|
}
|