PtCpItemController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace pt\controllers;
  3. use biz\cp\classes\PtCpClass;
  4. use biz\cp\classes\PtCpItemClass;
  5. use biz\item\classes\PtItemClass;
  6. use Yii;
  7. use common\components\util;
  8. class PtCpItemController extends BaseController
  9. {
  10. //多个花材设置产品 ssh 20240120
  11. public function actionSetCp()
  12. {
  13. $post = Yii::$app->request->post();
  14. $str = $post['ids'] ?? '';
  15. $cpId = $post['cpId'] ?? 0;
  16. $ids = json_decode($str, true);
  17. if (empty($ids)) {
  18. util::fail('请选择花材');
  19. }
  20. $cp = PtCpClass::getById($cpId, true);
  21. if (empty($cp)) {
  22. util::fail('没有找到产品');
  23. }
  24. $cpAuth = $cp->auth ?? 0;
  25. $cpPy = $cp->py ?? '';
  26. $cpName = $cp->name ?? '';
  27. $itemList = PtItemClass::getByIds($ids);
  28. if (empty($itemList)) {
  29. util::fail('没有花材');
  30. }
  31. foreach ($itemList as $item) {
  32. $itemId = $item['id'] ?? 0;
  33. $delStatus = $item['delStatus'] ?? 0;
  34. $name = $item['name'] ?? '';
  35. $py = $item['py'] ?? '';
  36. $itemAuth = $item['auth'] ?? 0;
  37. if ($delStatus == 1) {
  38. util::fail("【{$name}】已删除");
  39. }
  40. $has = PtCpItemClass::getByCondition(['cpId' => $cpId, 'itemId' => $itemId], true);
  41. if (empty($has)) {
  42. $auth = 0;
  43. if ($itemAuth == 1 && $cpAuth == 1) {
  44. $auth = 1;
  45. }
  46. $relate = ['itemId' => $itemId, 'cpId' => $cpId, 'name' => $name, 'py' => $py, 'auth' => $auth, 'cpName' => $cpName, 'cpPy' => $cpPy];
  47. PtCpItemClass::add($relate);
  48. }
  49. }
  50. util::complete('设置成功');
  51. }
  52. //删除花材和产品的对应关系 ssh 20240120
  53. public function actionDelCp()
  54. {
  55. $post = Yii::$app->request->post();
  56. $str = $post['ids'] ?? '';
  57. $cpId = $post['cpId'] ?? 0;
  58. $ids = json_decode($str, true);
  59. if (empty($ids)) {
  60. util::fail('请选择花材');
  61. }
  62. $cp = PtCpClass::getById($cpId, true);
  63. if (empty($cp)) {
  64. util::fail('没有找到产品');
  65. }
  66. $itemList = PtItemClass::getByIds($ids);
  67. if (empty($itemList)) {
  68. util::fail('没有花材');
  69. }
  70. foreach ($itemList as $item) {
  71. $itemId = $item['id'] ?? 0;
  72. $has = PtCpItemClass::getByCondition(['cpId' => $cpId, 'itemId' => $itemId], true);
  73. if (!empty($has)) {
  74. $has->delete();
  75. }
  76. }
  77. util::complete('删除成功');
  78. }
  79. }