PtCpItemController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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 = [
  47. 'itemId' => $itemId,
  48. 'cpId' => $cpId,
  49. 'name' => $name,
  50. 'py' => $py,
  51. 'auth' => $auth,
  52. 'cpName' => $cpName,
  53. 'cpPy' => $cpPy
  54. ];
  55. PtCpItemClass::add($relate);
  56. }
  57. }
  58. util::complete('设置成功');
  59. }
  60. //删除花材和产品的对应关系 ssh 20240120
  61. public function actionDelCp()
  62. {
  63. $post = Yii::$app->request->post();
  64. $str = $post['ids'] ?? '';
  65. $cpId = $post['cpId'] ?? 0;
  66. $ids = json_decode($str, true);
  67. if (empty($ids)) {
  68. util::fail('请选择花材');
  69. }
  70. $cp = PtCpClass::getById($cpId, true);
  71. if (empty($cp)) {
  72. util::fail('没有找到产品');
  73. }
  74. $itemList = PtItemClass::getByIds($ids);
  75. if (empty($itemList)) {
  76. util::fail('没有花材');
  77. }
  78. foreach ($itemList as $item) {
  79. $itemId = $item['id'] ?? 0;
  80. $has = PtCpItemClass::getByCondition(['cpId' => $cpId, 'itemId' => $itemId], true);
  81. if (!empty($has)) {
  82. $has->delete();
  83. }
  84. }
  85. util::complete('删除成功');
  86. }
  87. }