|
@@ -203,7 +203,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 跨天退款:按通过日扣金额/扎数;无当日开单也建负行(笔数不减)
|
|
|
|
|
|
|
+ // 跨天售后:按通过日扣金额/扎数;无当日开单也建负行(笔数不减)
|
|
|
$fwdMap = NextDayRefundClass::sumAmountGroupByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
$fwdMap = NextDayRefundClass::sumAmountGroupByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
|
$qtyMap = NextDayRefundClass::sumItemQtyByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
$qtyMap = NextDayRefundClass::sumItemQtyByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
|
$cidKeys = array_unique(array_merge(array_keys($fwdMap), array_keys($qtyMap)));
|
|
$cidKeys = array_unique(array_merge(array_keys($fwdMap), array_keys($qtyMap)));
|
|
@@ -253,7 +253,7 @@ class StatSaleClass extends BaseClass
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 经营利润总表:收入 − 支出。
|
|
* 经营利润总表:收入 − 支出。
|
|
|
- * 采购跨天退款:不改「花材采购」入库口径;通过日单独「采购隔天退货」(退货并退款+仅退款合计)计入收入。
|
|
|
|
|
|
|
+ * 采购跨天售后:不改「花材采购」入库口径;通过日单独「采购隔天退货」(退货并退款+仅退款合计)计入收入。
|
|
|
*/
|
|
*/
|
|
|
public static function profile($mainId)
|
|
public static function profile($mainId)
|
|
|
{
|
|
{
|
|
@@ -366,14 +366,14 @@ class StatSaleClass extends BaseClass
|
|
|
$totalOrderNum++;
|
|
$totalOrderNum++;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 跨天退款扣减批发收入(笔数不变)
|
|
|
|
|
|
|
+ // 跨天售后扣减批发收入(笔数不变)
|
|
|
$pfIncome = bcsub(
|
|
$pfIncome = bcsub(
|
|
|
(string)$pfIncome,
|
|
(string)$pfIncome,
|
|
|
NextDayRefundClass::sumAmountByMainAndTime($mainId, $currentStartTime, $currentEndTime),
|
|
NextDayRefundClass::sumAmountByMainAndTime($mainId, $currentStartTime, $currentEndTime),
|
|
|
2
|
|
2
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- // 采购跨天退款(退货并退款+仅退款):通过日合计,单列收入,不改花材采购
|
|
|
|
|
|
|
+ // 采购跨天售后(退货并退款+仅退款):通过日合计,单列收入,不改花材采购
|
|
|
$cgNextDayRefund = CgPurchaseNextDayClass::sumAmountByMainAndTime(
|
|
$cgNextDayRefund = CgPurchaseNextDayClass::sumAmountByMainAndTime(
|
|
|
$mainId,
|
|
$mainId,
|
|
|
$currentStartTime,
|
|
$currentStartTime,
|
|
@@ -462,7 +462,7 @@ class StatSaleClass extends BaseClass
|
|
|
['name' => '批发', 'id' => 'pf', 'amount' => floatval($pfIncome)],
|
|
['name' => '批发', 'id' => 'pf', 'amount' => floatval($pfIncome)],
|
|
|
['name' => '零售', 'id' => 'ls', 'amount' => floatval($lsIncome)],
|
|
['name' => '零售', 'id' => 'ls', 'amount' => floatval($lsIncome)],
|
|
|
['name' => '调拨出库', 'id' => 'allot', 'amount' => floatval($stockOut)],
|
|
['name' => '调拨出库', 'id' => 'allot', 'amount' => floatval($stockOut)],
|
|
|
- // 采购跨天退款冲回(含退货并退款、仅退款);后续若细分再拆行
|
|
|
|
|
|
|
+ // 采购跨天售后冲回(含退货并退款、仅退款);后续若细分再拆行
|
|
|
['name' => '采购退款', 'id' => 'cgNextDay', 'amount' => floatval($cgNextDayRefund)],
|
|
['name' => '采购退款', 'id' => 'cgNextDay', 'amount' => floatval($cgNextDayRefund)],
|
|
|
];
|
|
];
|
|
|
$expend = [
|
|
$expend = [
|
|
@@ -609,7 +609,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 采购跨天退款:入库日已用 nextRefundNum;通过日再扣花材成本/数量;仅退款进「采购仅退款」
|
|
|
|
|
|
|
+ // 采购跨天售后:入库日已用 nextRefundNum;通过日再扣花材成本/数量;仅退款进「采购仅退款」
|
|
|
$onlyRefundCg = bcadd(
|
|
$onlyRefundCg = bcadd(
|
|
|
(string)$onlyRefundCg,
|
|
(string)$onlyRefundCg,
|
|
|
self::applyNextDayAdjustToProductExpendRows(
|
|
self::applyNextDayAdjustToProductExpendRows(
|
|
@@ -719,7 +719,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 跨天退款:支付日已用 nextRefundNum;通过日再扣数量/金额;仅退款并入销售仅退款
|
|
|
|
|
|
|
+ // 跨天售后:支付日已用 nextRefundNum;通过日再扣数量/金额;仅退款并入销售仅退款
|
|
|
$onlyRefund = bcadd(
|
|
$onlyRefund = bcadd(
|
|
|
(string)$onlyRefund,
|
|
(string)$onlyRefund,
|
|
|
self::applyNextDayAdjustToProductIncomeRows(
|
|
self::applyNextDayAdjustToProductIncomeRows(
|
|
@@ -978,7 +978,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 采购跨天退款:入库日已用 nextRefundNum;通过日再扣分类成本;仅退款进「采购仅退款」
|
|
|
|
|
|
|
+ // 采购跨天售后:入库日已用 nextRefundNum;通过日再扣分类成本;仅退款进「采购仅退款」
|
|
|
$productClassMapForCg = ProductClass::getAllByCondition(['mainId' => $mainId], null, 'id,classId,name', 'id');
|
|
$productClassMapForCg = ProductClass::getAllByCondition(['mainId' => $mainId], null, 'id,classId,name', 'id');
|
|
|
$applyCgClassDelta = function ($pidMap, $sign) use (&$arr, &$classList, $productClassMapForCg, &$tbCgIncome) {
|
|
$applyCgClassDelta = function ($pidMap, $sign) use (&$arr, &$classList, $productClassMapForCg, &$tbCgIncome) {
|
|
|
foreach ($pidMap as $pid => $row) {
|
|
foreach ($pidMap as $pid => $row) {
|
|
@@ -1119,7 +1119,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 跨天退款:支付日已用 nextRefundNum;通过日再按售后单扣分类收入;仅退款进「销售仅退款」
|
|
|
|
|
|
|
+ // 跨天售后:支付日已用 nextRefundNum;通过日再按售后单扣分类收入;仅退款进「销售仅退款」
|
|
|
$productClassMap = ProductClass::getAllByCondition(['mainId' => $mainId], null, 'id,classId', 'id');
|
|
$productClassMap = ProductClass::getAllByCondition(['mainId' => $mainId], null, 'id,classId', 'id');
|
|
|
$applyClassDelta = function ($pidMap, $sign) use (&$arr, &$classList, $productClassMap) {
|
|
$applyClassDelta = function ($pidMap, $sign) use (&$arr, &$classList, $productClassMap) {
|
|
|
foreach ($pidMap as $pid => $row) {
|
|
foreach ($pidMap as $pid => $row) {
|
|
@@ -1598,7 +1598,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 跨天退款:数量已用 nextRefundNum;通过日再扣(无当日配送也建负行)
|
|
|
|
|
|
|
+ // 跨天售后:数量已用 nextRefundNum;通过日再扣(无当日配送也建负行)
|
|
|
self::applyNextDayAdjustToSendStaffRows(
|
|
self::applyNextDayAdjustToSendStaffRows(
|
|
|
$arr,
|
|
$arr,
|
|
|
$mainId,
|
|
$mainId,
|
|
@@ -1696,7 +1696,7 @@ class StatSaleClass extends BaseClass
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 跨天退款按客户归到片区扣金额/扎数;无当日开单的片区也建负行
|
|
|
|
|
|
|
+ // 跨天售后按客户归到片区扣金额/扎数;无当日开单的片区也建负行
|
|
|
$fwdMap = NextDayRefundClass::sumAmountGroupByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
$fwdMap = NextDayRefundClass::sumAmountGroupByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
|
$qtyMap = NextDayRefundClass::sumItemQtyByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
$qtyMap = NextDayRefundClass::sumItemQtyByCustom($mainId, $currentStartTime, $currentEndTime);
|
|
|
$cidKeys = array_unique(array_merge(array_keys($fwdMap), array_keys($qtyMap)));
|
|
$cidKeys = array_unique(array_merge(array_keys($fwdMap), array_keys($qtyMap)));
|