Model.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?php
  2. /**
  3. *
  4. *User:Administrator
  5. *Date:2021/10/11
  6. */
  7. namespace app\api\controller\v1;
  8. //监测模型
  9. use app\api\business\ModelBus;
  10. use app\api\validate\ModelValidate;
  11. use think\exception\ValidateException;
  12. class Model
  13. {
  14. //获取模型表
  15. public function selectModelList()
  16. {
  17. $data = [
  18. 'type_id' => request()->param('type_id', '', 'int'),
  19. 'pageNum' => request()->param('pageNum,', 1, 'int'),
  20. 'pageSize' => request()->param('pageSize', 10, 'int'),
  21. ];
  22. try {
  23. validate(ModelValidate::class)->scene('selectQtModelList')->check($data);
  24. } catch (ValidateException $exception) {
  25. return showError($exception->getError());
  26. }
  27. $result = (new ModelBus())->selectModelList($data);
  28. return showSuccess($result);
  29. }
  30. public function bindModel()
  31. {
  32. $data=[
  33. 'endtime_cydsb' => request()->param('endtime_cydsb', '', 'trim'),
  34. 'is_divide'=>request()->param('is_divide', '0', 'int'),
  35. 'test_model_id' => request()->param('test_model_id', '', 'int'),
  36. 'task_id' => request()->param('id', '', 'int'),
  37. ];
  38. try {
  39. validate(ModelValidate::class)->scene('bindModel')->check($data);
  40. } catch (ValidateException $exception) {
  41. return showError($exception->getError());
  42. }
  43. $result = (new ModelBus())->updateInfoByTaskID($data);
  44. return showSuccess($result);
  45. }
  46. //获取模型信息
  47. public function getModelInfoByModelId()
  48. {
  49. $data['id'] = request()->param('id', '', 'int');
  50. try {
  51. validate(ModelValidate::class)->scene('getModelInfo')->check($data);
  52. } catch (ValidateException $exception) {
  53. return showError($exception->getError());
  54. }
  55. $result = (new ModelBus())->getModelInfoByModelId($data);
  56. return showSuccess($result);
  57. }
  58. //获取模型信息
  59. public function getModelInfoByTaskId()
  60. {
  61. $data['task_id'] = request()->param('task_id', '', 'int');
  62. $result = (new ModelBus())->getModelInfoByTaskId($data);
  63. return showSuccess($result);
  64. }
  65. //更新模型
  66. public function updateModelInfo()
  67. {
  68. //更新testModel;当提交时,修改updatetime
  69. $model_id = request()->param('id','','int');
  70. $model_info = [
  71. 'name' => request()->param('name', '', 'trim'),
  72. 'type_id' => request()->param('type_id', '', 'int'),
  73. ];
  74. $product=request()->param('product');
  75. $pesticides=request()->param('pesticides');
  76. //更新模型信息包括三步,1、更新test_model 2、删除&重新添加test_product 3、删除&重新添加test_pesticides
  77. $result = (new ModelBus())->updateModelInfo($model_id,$model_info,$product,$pesticides);//==true
  78. return showSuccess($result);
  79. }
  80. //新增模型
  81. public function createModelInfo()
  82. {
  83. //新增test_model表信息
  84. $model_type_id = request()->param('type_id');
  85. $model_name = request()->param('name');
  86. $product_data = request()->param('product');
  87. $pesticides_data = request()->param('pesticides');
  88. $result = (new ModelBus())->createModelInfo($model_name, $model_type_id,$product_data,$pesticides_data);
  89. return showSuccess($result);
  90. }
  91. //删除模型
  92. public function deleteModelInfo()
  93. {
  94. $del_arr = request()->param('delarr');
  95. $data=[];
  96. $data_count=0;
  97. foreach ($del_arr as $k => $v) {
  98. $data_count+=1;
  99. $k = ['id' => $v['id']];
  100. $data[]=$k;
  101. }
  102. $result = (new ModelBus())->deleteModelInfo($data,$data_count);
  103. return showSuccess($result);
  104. }
  105. //获取检测对象列表
  106. public function selectProductList()
  107. {
  108. $type_id = request()->param('type_id', 1, 'int');
  109. $result = (new ModelBus())->selectProductList($type_id);
  110. return showSuccess($result);
  111. }
  112. ////获取检测项目列表
  113. public function selectPesticidesList()
  114. {
  115. //todo validate
  116. $pageNum = request()->param('pageNum', 1, 'int');
  117. $pageSize = request()->param('pageSize', 10, 'int');
  118. $key_word = request()->param('keyword', '', 'trim');
  119. $result = (new ModelBus())->selectPesticidesList($pageNum,$pageSize,$key_word);
  120. return showSuccess($result);
  121. }
  122. }