InitController.php 2.3 KB

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