ProductController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. public function actionIndex()
  18. {
  19. $pyName = Yii::$app->request->get('pyName','');
  20. //获取所有当前供应商的分类 (全部、常用)
  21. //根据分类组装分类下的花材信息
  22. $classIds = ItemClassClass::getGhsItemClassAll($this->ghsId);
  23. //获取供应商下所有花材ID (itemIds)
  24. $itemIdsInfo = ItemService::getGhsItemIds($this->ghsId);
  25. $itemIds = array_column($itemIdsInfo,'itemId');
  26. if($pyName){
  27. $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
  28. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  29. }
  30. $itemInfoData = ProductClass::getProductInfoByItemIds($itemIds);
  31. //常用的itemIds
  32. $oftenItemIds = ProductClass::getOftenItemIds($this->ghsId);
  33. //组装数据: [{classId:'','className:'',child:[{itemInfoData}]}]
  34. $data = ProductService::assembleData($classIds,$itemIdsInfo,$itemInfoData,$oftenItemIds);
  35. util::success($data);
  36. }
  37. public function actionList()
  38. {
  39. $classId = Yii::$app->request->get('classId',0);
  40. $pyName = Yii::$app->request->get('py','');
  41. $itemIds = ItemClass::getItemIdsByClassId($classId);
  42. if($pyName){
  43. $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
  44. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  45. }
  46. $data = ProductClass::getProductInfoByItemIds($itemIds);
  47. util::success($data);
  48. }
  49. }