InitController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. if (empty($admin)) {
  23. continue;
  24. }
  25. $adminId = $admin->id;
  26. if (!empty($adminId)) {
  27. $shop->adminId = $adminId;
  28. $shop->save();
  29. echo $shop->id . ' ' . $adminId . "\n";
  30. }
  31. }
  32. }
  33. }
  34. }
  35. public function actionOut()
  36. {
  37. ini_set('memory_limit', '2045M');
  38. set_time_limit(0);
  39. $list = StockOutOrderClass::getAllByCondition(['addTime>' => '2022-11-10 00:00:00'], null, '*', null, true);
  40. if (empty($list)) {
  41. return false;
  42. }
  43. foreach ($list as $out) {
  44. $orderSn = $out->orderSn ?? '';
  45. $inOrderSn = $out->inOrderSn ?? '';
  46. $in = StockInOrderClass::getByCondition(['orderSn' => $inOrderSn], true);
  47. if (empty($in)) {
  48. echo $orderSn . " 没有找到入库记录\n";
  49. }
  50. $itemList = StockOutOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  51. $totalCost = 0;
  52. if (!empty($itemList)) {
  53. foreach ($itemList as $item) {
  54. $itemNum = $item->itemNum ?? 0;
  55. $itemPrice = $item->itemPrice ?? 0;
  56. $current = bcmul($itemNum, $itemPrice, 2);
  57. $totalCost = bcadd($totalCost, $current, 2);
  58. }
  59. }
  60. $in->price = $totalCost;
  61. $in->save();
  62. $out->price = $totalCost;
  63. $out->save();
  64. echo $orderSn . " 总成本{$totalCost}\n";
  65. }
  66. }
  67. }