|
|
@@ -205,29 +205,27 @@ class OrderCgClearClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 采购单关联的已销结账单(仅本采购单在结账单中的销账额,勿与 saleId 查询合并以免重复累加)
|
|
|
+ * 采购单关联的已销结账单(只认本采购单 cgId,绝不回退到 saleId)
|
|
|
+ * 说明:若按 saleId 查,会把该关联销售单的客户结账一并带出,采购详情「结账信息」会错混销售结账。
|
|
|
+ *
|
|
|
+ * @return array<int, array{clearId:int, clearSn:string, amount:string}>
|
|
|
*/
|
|
|
public static function listPaidClearRecordsForPurchase($purchaseId, $saleOrderId = 0)
|
|
|
{
|
|
|
$purchaseId = intval($purchaseId);
|
|
|
- $saleOrderId = intval($saleOrderId);
|
|
|
+ // $saleOrderId 保留入参兼容旧调用,采购结账列表不再使用,避免混入销售单结账
|
|
|
+ unset($saleOrderId);
|
|
|
|
|
|
- if ($purchaseId > 0) {
|
|
|
- $cgList = self::getAllByCondition([
|
|
|
- 'cgId' => $purchaseId,
|
|
|
- 'status' => self::STATUS_HAS_PAY,
|
|
|
- ], 'id asc', '*', null, true);
|
|
|
- if (!empty($cgList)) {
|
|
|
- return self::mapPaidClearRecordRows($cgList);
|
|
|
- }
|
|
|
+ if ($purchaseId <= 0) {
|
|
|
+ return [];
|
|
|
}
|
|
|
|
|
|
- // 旧数据可能只有 orderId、未写 cgId
|
|
|
- if ($saleOrderId > 0) {
|
|
|
- return self::listPaidClearRecordsForOrder($saleOrderId);
|
|
|
- }
|
|
|
+ $cgList = self::getAllByCondition([
|
|
|
+ 'cgId' => $purchaseId,
|
|
|
+ 'status' => self::STATUS_HAS_PAY,
|
|
|
+ ], 'id asc', '*', null, true);
|
|
|
|
|
|
- return [];
|
|
|
+ return self::mapPaidClearRecordRows($cgList);
|
|
|
}
|
|
|
|
|
|
protected static function mapPaidClearRecordRows($list)
|