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\ghs\classes\GhsClass;
  8. use bizGhs\order\classes\StockInOrderClass;
  9. use bizGhs\order\classes\StockOutOrderClass;
  10. use bizGhs\order\classes\StockOutOrderItemClass;
  11. use yii\console\Controller;
  12. class InitController extends Controller
  13. {
  14. public function actionShop()
  15. {
  16. $list = ShopClass::getAllByCondition(['adminId' => 0], null, '*', null, true);
  17. if (!empty($list)) {
  18. foreach ($list as $shop) {
  19. $mobile = $shop->mobile;
  20. if (!empty($mobile)) {
  21. $admin = AdminClass::getByCondition(['mobile' => $mobile], true);
  22. $adminId = $admin->id;
  23. if (!empty($adminId)) {
  24. $shop->adminId = $adminId;
  25. $shop->save();
  26. echo $shop->id . ' ' . $adminId . "\n";
  27. }
  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. }