InitController.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. namespace console\controllers;
  3. use biz\pt\classes\PtYeChangeClass;
  4. use biz\recharge\classes\RechargeClass;
  5. use biz\shop\classes\MainClass;
  6. use biz\shop\classes\ShopAdminClass;
  7. use biz\shop\classes\ShopCapitalClass;
  8. use biz\shop\classes\ShopClass;
  9. use biz\shop\classes\ShopYeChangeClass;
  10. use biz\sj\classes\CashClass;
  11. use biz\stat\classes\StatCgClass;
  12. use biz\stat\classes\StatCgGhsClass;
  13. use biz\stat\classes\StatCgGhsMonthClass;
  14. use biz\stat\classes\StatCgMonthClass;
  15. use biz\stat\classes\StatOrderCountClass;
  16. use biz\stat\classes\StatOutClass;
  17. use biz\stat\classes\StatOutMonthClass;
  18. use biz\stat\classes\StatSaleClass;
  19. use biz\stat\classes\StatSaleMonthClass;
  20. use bizGhs\item\classes\ItemClass;
  21. use bizGhs\item\classes\ItemClassClass;
  22. use bizGhs\order\classes\StockWastageOrderClass;
  23. use bizGhs\order\classes\StockWastageOrderItemClass;
  24. use bizGhs\stat\classes\StatYjClass;
  25. use bizGhs\stat\classes\StatYjMonthClass;
  26. use bizHd\goods\classes\CategoryClass;
  27. use bizHd\goods\classes\GoodsCategoryClass;
  28. use bizHd\goods\classes\GoodsClass;
  29. use bizHd\stat\classes\StatOrderClass;
  30. use bizHd\stat\classes\StatOrderMonthClass;
  31. use bizHd\stat\classes\StatUserClass;
  32. use bizHd\stat\classes\StatUserMonthClass;
  33. use bizHd\stat\classes\StatVisitClass;
  34. use bizHd\stat\classes\StatVisitMonthClass;
  35. use Yii;
  36. use yii\console\Controller;
  37. class InitController extends Controller
  38. {
  39. //执行供货商资产中央化 ./yii init/ghs-center
  40. // shish 20220313
  41. public function actionGhsCenter()
  42. {
  43. //批发
  44. $shopList = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true);
  45. if (empty($shopList)) {
  46. return false;
  47. }
  48. foreach ($shopList as $shop) {
  49. $mainId = $shop->mainId ?? 0;
  50. if (empty($mainId)) {
  51. $main = MainClass::add(['id' => null], true);
  52. $mainId = $main->id ?? 0;
  53. if (empty($mainId)) {
  54. echo "mainId没有生成 \n";
  55. exit();
  56. }
  57. $shop->mainId = $mainId;
  58. $shop->save();
  59. }
  60. $shopId = $shop->id ?? 0;
  61. StatSaleClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  62. StatSaleMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  63. StatUserClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  64. StatUserMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  65. StatVisitClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  66. StatVisitMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  67. StatOutClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  68. StatOutMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  69. PtYeChangeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  70. ShopYeChangeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  71. CashClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  72. ShopCapitalClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  73. RechargeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  74. StatYjClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  75. StatYjMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  76. ShopAdminClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  77. StatOrderClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  78. StatOrderMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  79. StatOrderCountClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  80. //采购统计的中央化
  81. StatCgClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  82. StatCgMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  83. StatCgGhsClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  84. StatCgGhsMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  85. /********琦海 start ************/
  86. //报损中央化
  87. StockWastageOrderClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  88. $wastageList = StockWastageOrderClass::getAllByCondition(['mainId' => $mainId], null, '*', null, true);
  89. if (!empty($wastageList)) {
  90. foreach ($wastageList as $wastage) {
  91. $wastageOrderSn = $wastage->orderSn ?? 0;
  92. StockWastageOrderItemClass::updateByCondition(['orderSn' => $wastageOrderSn], ['mainId' => $mainId]);
  93. }
  94. }
  95. //花材中央化
  96. ItemClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  97. //花材分类
  98. ItemClassClass::updateByCondition(['sjId' => $shop->sjId], ['mainId' => $mainId]);
  99. /********琦海 end ************/
  100. }
  101. //零售
  102. $shopList = ShopClass::getAllByCondition(['ptStyle' => 1], null, '*', null, true);
  103. if (empty($shopList)) {
  104. return false;
  105. }
  106. foreach ($shopList as $shop) {
  107. $mainId = $shop->mainId ?? 0;
  108. if (empty($mainId)) {
  109. $main = MainClass::add(['id' => null], true);
  110. $mainId = $main->id ?? 0;
  111. if (empty($mainId)) {
  112. echo "mainId没有生成 \n";
  113. exit();
  114. }
  115. $shop->mainId = $mainId;
  116. $shop->save();
  117. }
  118. $sjId = $shop->sjId ?? 0;
  119. $shopId = $shop->id ?? 0;
  120. GoodsClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  121. GoodsCategoryClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  122. CategoryClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  123. /********琦海 start ************/
  124. //花材中央化
  125. ItemClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  126. /********琦海 end ************/
  127. }
  128. }
  129. }