ProductController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/1/15 20:36
  5. */
  6. namespace ghs\controllers;
  7. use bizGhs\item\classes\ItemClass;
  8. use bizGhs\item\classes\ItemClassClass;
  9. use bizGhs\product\classes\ProductClass;
  10. use bizGhs\product\services\ProductService;
  11. use bizGhs\item\services\ItemService;
  12. use common\components\util;
  13. use Yii;
  14. class ProductController extends BaseController
  15. {
  16. //开单时获取所有的分类花材信息
  17. //库存预警
  18. public function actionIndex()
  19. {
  20. $py = Yii::$app->request->get('py','');
  21. $type = Yii::$app->request->get('type','');
  22. //获取所有当前供应商的分类 (全部、常用)
  23. //根据分类组装分类下的花材信息
  24. $classIds = ItemClassClass::getGhsItemClassAll($this->sjId);
  25. //获取供应商下所有花材ID (itemIds)
  26. $itemIdsInfo = ItemService::getGhsItemIds($this->sjId);
  27. $itemIds = array_column($itemIdsInfo,'itemId');
  28. if($py){
  29. $pyNameItemIds = ItemClass::getItemIdsByPyName($py);
  30. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  31. }
  32. //库存预警
  33. if($type=='waring'){
  34. $waringItemIds = ProductClass::getItemIdsWarning($this->sjId,$this->shopId);
  35. $itemIds = array_intersect($itemIds,$waringItemIds);
  36. }
  37. $itemInfoData = ProductClass::getProductInfoByItemIds($itemIds);
  38. //常用的itemIds
  39. $oftenItemIds = ProductClass::getOftenItemIds($this->sjId);
  40. //组装数据: [{classId:'','className:'',child:[{itemInfoData}]}]
  41. $data = ProductService::assembleData($classIds,$itemIdsInfo,$itemInfoData,$oftenItemIds);
  42. util::success($data);
  43. }
  44. //弃用
  45. public function actionList()
  46. {
  47. $classId = Yii::$app->request->get('classId',0);
  48. $pyName = Yii::$app->request->get('py','');
  49. $itemIds = ItemClass::getItemIdsByClassId($classId);
  50. if($pyName){
  51. $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
  52. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  53. }
  54. $data = ProductClass::getProductInfoByItemIds($itemIds);
  55. util::success($data);
  56. }
  57. //改价
  58. public function actionChangePrice()
  59. {
  60. }
  61. }