InitController.php 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?php
  2. namespace console\controllers;
  3. use biz\product\classes\XjClass;
  4. use biz\pt\classes\PtYeChangeClass;
  5. use biz\recharge\classes\RechargeClass;
  6. use biz\shop\classes\MainClass;
  7. use biz\shop\classes\ShopAdminClass;
  8. use biz\shop\classes\ShopCapitalClass;
  9. use biz\shop\classes\ShopClass;
  10. use biz\shop\classes\ShopYeChangeClass;
  11. use biz\sj\classes\CashClass;
  12. use biz\stat\classes\StatCgClass;
  13. use biz\stat\classes\StatCgGhsClass;
  14. use biz\stat\classes\StatCgGhsMonthClass;
  15. use biz\stat\classes\StatCgMonthClass;
  16. use biz\stat\classes\StatOrderCountClass;
  17. use biz\stat\classes\StatOutClass;
  18. use biz\stat\classes\StatOutMonthClass;
  19. use biz\stat\classes\StatRefundClass;
  20. use biz\stat\classes\StatRefundMonthClass;
  21. use biz\stat\classes\StatSaleClass;
  22. use biz\stat\classes\StatSaleMonthClass;
  23. use biz\stat\classes\StatStockInClass;
  24. use biz\stat\classes\StatStockInMonthClass;
  25. use biz\stat\classes\StatStockOutClass;
  26. use biz\stat\classes\StatStockOutMonthClass;
  27. use bizGhs\cg\classes\CgClass;
  28. use bizGhs\custom\classes\CustomClass;
  29. use bizGhs\item\classes\ItemClass;
  30. use bizGhs\item\classes\ItemClassClass;
  31. use bizGhs\order\classes\RefundOrderClass;
  32. use bizGhs\order\classes\StockWastageOrderClass;
  33. use bizGhs\order\classes\StockWastageOrderItemClass;
  34. use bizGhs\stat\classes\StatYjClass;
  35. use bizGhs\stat\classes\StatYjMonthClass;
  36. use bizHd\ghs\classes\GhsClass;
  37. use bizHd\goods\classes\CategoryClass;
  38. use bizHd\goods\classes\GoodsCategoryClass;
  39. use bizHd\goods\classes\GoodsClass;
  40. use bizHd\goods\classes\GoodsSettingClass;
  41. use bizHd\saas\classes\FestRiseClass;
  42. use bizHd\stat\classes\StatOrderClass;
  43. use bizHd\stat\classes\StatOrderMonthClass;
  44. use bizHd\stat\classes\StatUserClass;
  45. use bizHd\stat\classes\StatUserMonthClass;
  46. use bizHd\stat\classes\StatVisitClass;
  47. use bizHd\stat\classes\StatVisitMonthClass;
  48. use Yii;
  49. use yii\console\Controller;
  50. class InitController extends Controller
  51. {
  52. //执行供货商资产中央化 ./yii init/ghs-center
  53. // ssh 20220313
  54. public function actionGhsCenter()
  55. {
  56. //欠款处理
  57. // $sql = 'UPDATE xhGhsOrder SET debtPrice=actPrice,remainDebtPrice=actPrice WHERE debt=1';
  58. // Yii::$app->db->createCommand($sql)->execute();
  59. // $sql ='UPDATE xhCg SET debtPrice=actPrice,remainDebtPrice=actPrice WHERE debt=1;';
  60. // Yii::$app->db->createCommand($sql)->execute();
  61. //批发
  62. $shopList = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true);
  63. if (empty($shopList)) {
  64. return false;
  65. }
  66. foreach ($shopList as $shop) {
  67. $mainId = $shop->mainId ?? 0;
  68. if (empty($mainId)) {
  69. $main = MainClass::add(['id' => null], true);
  70. $mainId = $main->id ?? 0;
  71. if (empty($mainId)) {
  72. echo "mainId没有生成 \n";
  73. exit();
  74. }
  75. $shop->mainId = $mainId;
  76. $shop->save();
  77. }
  78. $shopId = $shop->id ?? 0;
  79. StatSaleClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  80. StatSaleMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  81. StatUserClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  82. StatUserMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  83. StatVisitClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  84. StatVisitMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  85. StatOutClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  86. StatOutMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  87. PtYeChangeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  88. ShopYeChangeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  89. CashClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  90. ShopCapitalClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  91. RechargeClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  92. StatYjClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  93. StatYjMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  94. ShopAdminClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  95. StatOrderClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  96. StatOrderMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  97. StatOrderCountClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  98. RefundOrderClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  99. //采购统计的中央化
  100. StatCgClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  101. StatCgMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  102. StatCgGhsClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  103. StatCgGhsMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  104. CustomClass::updateByCondition(['ownShopId' => $shopId], ['ownMainId' => $mainId]);
  105. StatStockOutClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  106. StatStockOutMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  107. StatStockInClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  108. StatStockInMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  109. StatRefundClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  110. StatRefundMonthClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  111. //ghs专有的
  112. CgClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  113. XjClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  114. /********琦海 start ************/
  115. //报损中央化
  116. StockWastageOrderClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  117. $wastageList = StockWastageOrderClass::getAllByCondition(['mainId' => $mainId], null, '*', null, true);
  118. if (!empty($wastageList)) {
  119. foreach ($wastageList as $wastage) {
  120. $wastageOrderSn = $wastage->orderSn ?? 0;
  121. StockWastageOrderItemClass::updateByCondition(['orderSn' => $wastageOrderSn], ['mainId' => $mainId]);
  122. }
  123. }
  124. //todo 分店需要建立自己独立的分类 和 花材与分类关系 --待测试
  125. //花材分类
  126. // $sjId = $shop->sjId;
  127. // if($mainId){
  128. // //判断花材分类是否存在
  129. // $itemClassResByMainId = ItemClassClass::getAllByCondition(['mainId'=>$mainId,'sjId'=>$sjId],null,"*");
  130. // if(empty($itemClassResByMainId)){
  131. // //无,则要新增花材分类,根据sjId
  132. // $itemClassResBySjId = ItemClassClass::getAllByCondition(['sjId'=>$sjId],null,"*");
  133. // if($itemClassResBySjId){
  134. // foreach ($itemClassResBySjId as $itemClass){
  135. // $data = $itemClass;
  136. // $oldItemClassId = $data['id'];
  137. // unset($data['id']);
  138. // unset($data['addTime']);
  139. // unset($data['updateTime']);
  140. // $data['mainId'] = $mainId;
  141. // $save = ItemClassClass::add($data);
  142. // $newItemClassId = $save['id'];
  143. // ItemClass::updateByCondition(['shopId' => $shopId,'classId'=>$oldItemClassId], ['mainId' => $mainId,'classId'=>$newItemClassId]);
  144. // }
  145. // }
  146. // }
  147. // }
  148. /********琦海 end ************/
  149. }
  150. //零售
  151. $shopList = ShopClass::getAllByCondition(['ptStyle' => 1], null, '*', null, true);
  152. if (empty($shopList)) {
  153. return false;
  154. }
  155. foreach ($shopList as $shop) {
  156. $mainId = $shop->mainId ?? 0;
  157. if (empty($mainId)) {
  158. $main = MainClass::add(['id' => null], true);
  159. $mainId = $main->id ?? 0;
  160. if (empty($mainId)) {
  161. echo "mainId没有生成 \n";
  162. exit();
  163. }
  164. $shop->mainId = $mainId;
  165. $shop->save();
  166. }
  167. $sjId = $shop->sjId ?? 0;
  168. $shopId = $shop->id ?? 0;
  169. //商品
  170. GoodsClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  171. GoodsCategoryClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  172. //商品分类
  173. CategoryClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  174. GoodsSettingClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  175. FestRiseClass::updateByCondition(['sjId' => $sjId], ['mainId' => $mainId]);
  176. GhsClass::updateByCondition(['ownShopId' => $shopId], ['ownMainId' => $mainId]);
  177. /********琦海 start ************/
  178. //花材
  179. ItemClass::updateByCondition(['shopId' => $shopId], ['mainId' => $mainId]);
  180. //花材分类
  181. ItemClassClass::updateByCondition(['sjId' => $shop->sjId], ['mainId' => $mainId]);
  182. /********琦海 end ************/
  183. }
  184. }
  185. }