EquipmentType.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /*
  3. * @Descripttion:
  4. * @version: 1.0.0
  5. * @Author: likang
  6. * @Date: 2022-06-17 15:45:05
  7. * @LastEditors: likang
  8. * @LastEditTime: 2022-06-29 16:20:32
  9. */
  10. namespace catchAdmin\equipment\controller;
  11. use catcher\base\CatchRequest as Request;
  12. use catcher\CatchResponse;
  13. use catcher\base\CatchController;
  14. use catchAdmin\equipment\model\EquipmentType as equipmentTypeModel;
  15. use catchAdmin\hydraulic\model\HydEquipment;
  16. class EquipmentType extends CatchController
  17. {
  18. protected $equipmentTypeModel;
  19. public function __construct(EquipmentTypeModel $equipmentTypeModel)
  20. {
  21. $this->equipmentTypeModel = $equipmentTypeModel;
  22. }
  23. /**
  24. * 列表
  25. * @time 2022年06月17日 15:45
  26. * @param Request $request
  27. */
  28. public function index(Request $request): \think\Response
  29. {
  30. $pch = null;
  31. $pch = $this->equipmentTypeModel->where('pid', 0)->order('order desc')->select()->toArray();
  32. foreach ($pch as $key => $value) {
  33. $list = $this->equipmentTypeModel->where('pid', $value['id'])->order('order desc')->select()->toArray();
  34. foreach ($list as $k => $v) {
  35. $list[$k]['pid'] = intval($v['pid']);
  36. $list[$k]['status'] = strval($v['status']);
  37. }
  38. $pch[$key]['children'] = $list;
  39. $pch[$key]['pid'] = intval($value['pid']);
  40. $pch[$key]['status'] = strval($value['status']);
  41. }
  42. return CatchResponse::success($pch);
  43. }
  44. /**
  45. * 保存信息
  46. * @time 2022年06月17日 15:45
  47. * @param Request $request
  48. */
  49. public function save(Request $request): \think\Response
  50. {
  51. return CatchResponse::success($this->equipmentTypeModel->storeBy($request->post()));
  52. }
  53. /**
  54. * 读取
  55. * @time 2022年06月17日 15:45
  56. * @param $id
  57. */
  58. public function read($id): \think\Response
  59. {
  60. return CatchResponse::success($this->equipmentTypeModel->findBy($id));
  61. }
  62. /**
  63. * 更新
  64. * @time 2022年06月17日 15:45
  65. * @param Request $request
  66. * @param $id
  67. */
  68. public function update(Request $request, $id): \think\Response
  69. {
  70. return CatchResponse::success($this->equipmentTypeModel->updateBy($id, $request->post()));
  71. }
  72. /**
  73. * 删除
  74. * @time 2022年06月17日 15:45
  75. * @param $id
  76. */
  77. public function delete($id): \think\Response
  78. {
  79. if ($id <= 7) {
  80. return CatchResponse::fail('该类型不能删除');
  81. }
  82. $data = HydEquipment::where('equipment_type', $id)->find();
  83. if ($data) {
  84. return CatchResponse::fail('该类型存在设备数据');
  85. }
  86. return CatchResponse::success($this->equipmentTypeModel->deleteBy($id, true));
  87. }
  88. /**
  89. * @Descripttion: 获取父类设备种类
  90. * @name: likang
  91. * @return {*}
  92. */
  93. public function findParentEquipmentType()
  94. {
  95. $pch = $this->equipmentTypeModel->where('pid', 0)->order('order desc')->select();
  96. return CatchResponse::success($pch);
  97. }
  98. /** 根据pid 获取所有的种类
  99. * @Descripttion:
  100. * @name: likang
  101. * @return {*}
  102. */
  103. public function findAllBypid(Request $request)
  104. {
  105. $data = $request->get();
  106. $pid = $data['id'];
  107. $ls = $this->equipmentTypeModel->where('pid', $pid)->order('order desc')->where('status', 1)->select();
  108. return CatchResponse::success($ls);
  109. }
  110. }