|
|
@@ -4,6 +4,8 @@ namespace bizGhs\ghs\classes;
|
|
|
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
use bizGhs\custom\classes\AccountMoneyClass;
|
|
|
+use bizGhs\custom\classes\CustomClass;
|
|
|
+use bizGhs\order\classes\PurchaseOrderClass;
|
|
|
use bizGhs\shop\classes\ShopClass;
|
|
|
use common\components\imgUtil;
|
|
|
use Yii;
|
|
|
@@ -207,4 +209,37 @@ class GhsClass extends BaseClass
|
|
|
return ['file' => '/priceTable/' . $mainId . '/' . $file, 'shortFile' => $file];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 【用途】按采购挂账单实数回写供货商待结笔数(xhGhs.debtNum)。
|
|
|
+ * 【为什么】列表展示直接读缓存字段,增量维护可能漂移,需手动按 debt=待结 的采购单重算纠正。
|
|
|
+ * 【副作用】同步更新关联客户 customId 的 debtNum(若有);不改 balance。
|
|
|
+ * @param int $ghsId 供货商 id
|
|
|
+ * @return int 回写后的待结笔数;供货商不存在时返回 -1
|
|
|
+ */
|
|
|
+ public static function refreshDebtNum($ghsId)
|
|
|
+ {
|
|
|
+ $ghsId = intval($ghsId);
|
|
|
+ $ghs = self::getById($ghsId, true);
|
|
|
+ if (empty($ghs)) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ // 口径与结账/打印一致:debt=待结 的采购单笔数
|
|
|
+ $debtNum = (int)PurchaseOrderClass::getCount([
|
|
|
+ 'ghsId' => $ghsId,
|
|
|
+ 'debt' => PurchaseOrderClass::DEBT_YES,
|
|
|
+ ]);
|
|
|
+ $ghs->debtNum = $debtNum;
|
|
|
+ $ghs->save(false, ['debtNum']);
|
|
|
+
|
|
|
+ $customId = intval($ghs->customId ?? 0);
|
|
|
+ if ($customId > 0) {
|
|
|
+ $custom = CustomClass::getById($customId, true);
|
|
|
+ if (!empty($custom)) {
|
|
|
+ $custom->debtNum = $debtNum;
|
|
|
+ $custom->save(false, ['debtNum']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $debtNum;
|
|
|
+ }
|
|
|
+
|
|
|
}
|