InitController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace console\controllers;
  3. use biz\item\classes\UnitClass;
  4. use biz\product\classes\ProductClass;
  5. use biz\shop\classes\ShopClass;
  6. use bizGhs\ghs\classes\GhsClass;
  7. use bizGhs\order\classes\StockInOrderClass;
  8. use bizGhs\order\classes\StockOutOrderClass;
  9. use bizGhs\order\classes\StockOutOrderItemClass;
  10. use yii\console\Controller;
  11. class InitController extends Controller
  12. {
  13. public function actionOut()
  14. {
  15. ini_set('memory_limit', '2045M');
  16. set_time_limit(0);
  17. $list = StockOutOrderClass::getAllByCondition(['addTime>' => '2022-11-10 00:00:00'], null, '*', null, true);
  18. if (empty($list)) {
  19. return false;
  20. }
  21. foreach ($list as $out) {
  22. $orderSn = $out->orderSn ?? '';
  23. $inOrderSn = $out->inOrderSn ?? '';
  24. $in = StockInOrderClass::getByCondition(['orderSn' => $inOrderSn], true);
  25. if (empty($in)) {
  26. echo $orderSn . " 没有找到入库记录\n";
  27. }
  28. $itemList = StockOutOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  29. $totalCost = 0;
  30. if (!empty($itemList)) {
  31. foreach ($itemList as $item) {
  32. $itemNum = $item->itemNum ?? 0;
  33. $itemPrice = $item->itemPrice ?? 0;
  34. $current = bcmul($itemNum, $itemPrice, 2);
  35. $totalCost = bcadd($totalCost, $current, 2);
  36. }
  37. }
  38. $in->price = $totalCost;
  39. $in->save();
  40. $out->price = $totalCost;
  41. $out->save();
  42. echo $orderSn . " 总成本{$totalCost}\n";
  43. }
  44. }
  45. }