Model.php 4.2 KB

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