InitController.php 1.6 KB

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