| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace bizGhs\order\services;
- use bizGhs\base\services\BaseService;
- use bizGhs\order\classes\PurchaseOrderClass;
- use Yii;
- class PurchaseOrderService extends BaseService
- {
- public static $baseFile = '\bizGhs\order\classes\PurchaseOrderClass';
- //所有的欠款采购单 ssh 2021.1.26
- public static function getDebtList($where)
- {
- $get = Yii::$app->request->get();
- $allowedPageSizes = [100, 200, 300];
- $pageSize = isset($get['pageSize']) && in_array((int)$get['pageSize'], $allowedPageSizes, true)
- ? (int)$get['pageSize'] : 100;
- $page = max(1, (int)($get['page'] ?? 1));
- Yii::$app->request->setQueryParams(array_merge($get, ['page' => $page, 'pageSize' => $pageSize]));
- $result = PurchaseOrderClass::getList('*', $where, 'addTime DESC');
- $result['debtNum'] = $result['totalNum'] ?? 0;
- $list = $result['list'] ?? [];
- if (!empty($list)) {
- foreach ($list as $key => $value) {
- $debtPrice = bcadd((string)($value['debtPrice'] ?? '0'), '0', 2);
- $remainDebtPrice = bcadd((string)($value['remainDebtPrice'] ?? '0'), '0', 2);
- // 历史单未回填 remain 时用 actPrice
- if (bccomp($remainDebtPrice, '0', 2) <= 0) {
- $remainDebtPrice = bcadd((string)($value['actPrice'] ?? '0'), '0', 2);
- $result['list'][$key]['remainDebtPrice'] = $remainDebtPrice;
- }
- if (bccomp($debtPrice, '0', 2) <= 0) {
- $debtPrice = $remainDebtPrice;
- $result['list'][$key]['debtPrice'] = $debtPrice;
- }
- $hasPayDebt = '0.00';
- if (bccomp($debtPrice, $remainDebtPrice, 2) > 0) {
- $hasPayDebt = bcsub($debtPrice, $remainDebtPrice, 2);
- }
- $result['list'][$key]['hasPayDebt'] = floatval($hasPayDebt);
- }
- }
- return $result;
- }
- }
|