PtCpItemController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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::getAllByCondition(['id' => ['in', $ids]], null, '*', null, true);
  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. $item->hasCpId = 1;
  38. $item->save();
  39. if ($delStatus == 1) {
  40. util::fail("【{$name}】已删除");
  41. }
  42. $has = PtCpItemClass::getByCondition(['cpId' => $cpId, 'itemId' => $itemId], true);
  43. if (empty($has)) {
  44. $auth = 0;
  45. if ($itemAuth == 1 && $cpAuth == 1) {
  46. $auth = 1;
  47. }
  48. $relate = [
  49. 'itemId' => $itemId,
  50. 'cpId' => $cpId,
  51. 'name' => $name,
  52. 'py' => $py,
  53. 'auth' => $auth,
  54. 'cpName' => $cpName,
  55. 'cpPy' => $cpPy
  56. ];
  57. PtCpItemClass::add($relate);
  58. }
  59. }
  60. util::complete('设置成功');
  61. }
  62. //删除花材和产品的对应关系 ssh 20240120
  63. public function actionDelCp()
  64. {
  65. $post = Yii::$app->request->post();
  66. $str = $post['ids'] ?? '';
  67. $cpId = $post['cpId'] ?? 0;
  68. $ids = json_decode($str, true);
  69. if (empty($ids)) {
  70. util::fail('请选择花材');
  71. }
  72. $cp = PtCpClass::getById($cpId, true);
  73. if (empty($cp)) {
  74. util::fail('没有找到产品');
  75. }
  76. $itemList = PtItemClass::getAllByCondition(['id' => ['in', $ids]], null, '*', null, true);
  77. if (empty($itemList)) {
  78. util::fail('没有花材');
  79. }
  80. foreach ($itemList as $item) {
  81. $itemId = $item->id ?? 0;
  82. $has = PtCpItemClass::getByCondition(['cpId' => $cpId, 'itemId' => $itemId], true);
  83. if (!empty($has)) {
  84. $has->delete();
  85. }
  86. $hasCp = PtCpItemClass::getByCondition(['itemId' => $itemId], true);
  87. if (empty($hasCp)) {
  88. $item->hasCpId = 0;
  89. $item->save();
  90. }
  91. }
  92. util::complete('删除成功');
  93. }
  94. }