TaskValidate.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. namespace app\api\validate;
  3. use think\Validate;
  4. class TaskValidate extends Validate
  5. {
  6. protected $rule = [
  7. 'id' => ['require', 'integer', 'get:0'],//id
  8. 'task_id' => ['require', 'integer', 'get:0'],//任务id
  9. 'pageNum' => ['require', 'integer', 'gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
  10. 'pageSize' => ['require', 'integer', 'gt:0'],//每页显示数量
  11. 'task_class' => ['require', 'in' => '例行监测,专项监测'],//任务列表:例行监测
  12. 'year' => ['require', 'date'], //年度
  13. 'ispublic' => ['require', 'in' => '0,1,2,3,4,5'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
  14. 'starttime' => ['require', 'date'],//任务开始时间
  15. 'endtime' => ['require', 'date'],//任务结束时间
  16. 'task_name' => ['require', 'chsDash', 'length:4,50'],//任务名称
  17. 'level' => ['require', 'in:0,1,2'],//任务优先级,0:一般,1:紧急,2:特急
  18. 'batch' => ['require', 'in:一季度,二季度,三季度,四季度'],//批次,一季度,二季度,三季度,四季度
  19. // 'releaser' => ['require'], //发布单位
  20. 'main_unit' => 'require',//牵头单位
  21. // 'filenum' => 'require',//文件号---选填
  22. // 'log' => 'require',//备注---选填
  23. // 'file_url' => 'require',//附件地址
  24. // 'file_name' => 'require',//附件名称
  25. 'group_type' => ['require', 'in:检测机构,抽样机构,报告上传机构'],//在jcdw表中的groupname
  26. ];
  27. protected $message = [
  28. 'id' => [
  29. 'require' => [200000, '传参错误'],
  30. 'integer' => [200001, '传参错误'],
  31. 'gt' => [200002, '传参错误'],
  32. ],
  33. 'task_id' => [
  34. 'require' => [200000, '传参错误'],
  35. 'integer' => [200001, '传参错误'],
  36. 'gt' => [200002, '传参错误'],
  37. ],
  38. 'pageNum' => [
  39. 'require' => [200100, '页码不能为空'],
  40. 'integer' => [200101, '页码必须为整数'],
  41. 'gt' => [200102, '页码必须大于0'],
  42. ],
  43. 'pageSize' => [
  44. 'require' => [200200, '每页显示数量不能为空'],
  45. 'integer' => [200201, '每页显示数量必须为整数'],
  46. 'gt' => [200202, '每页显示数量必须大于0'],
  47. ],
  48. 'task_class' => [
  49. 'require' => [200300, '任务类别不能为空'],//任务列表:例行监测 专项监测
  50. 'in' => [200301, '任务类别错误'],
  51. ],
  52. 'year' => [
  53. 'require' => [200400, '任务年度不能为空'],//年度
  54. 'date' => [200401, '任务年度格式错误'],
  55. ],
  56. 'ispublic' => [
  57. 'require' => [200500, '任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
  58. 'in' => [200501, '任务状态选择错误'],
  59. ],
  60. 'starttime' => [
  61. 'require' => [200600, '任务开始时间不能为空'],//任务开始时间
  62. 'date' => [200601, '任务开始时间格式错误'],
  63. ],
  64. 'endtime' => [
  65. 'require' => [200600, '任务结束时间不能为空'],//任务结束时间
  66. 'date' => [200601, '任务结束时间格式错误'],
  67. ],
  68. 'task_name' => [
  69. 'require' => [200800, '任务名称不能为空'],//任务名称
  70. 'chsDash' => [200801, '任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
  71. 'length' => [200802, '任务名称长度在4至50个字符之间'],//任务名称
  72. ],
  73. 'level' => [
  74. 'require' => [200900, '任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
  75. 'in' => [200901, '任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
  76. ],
  77. 'batch' => [
  78. 'require' => [201000, '批次不能为空'],//批次,一季度,二季度,三季度,四季度
  79. 'in' => [201000, '批次格式错误'],
  80. ],
  81. 'main_unit' => [
  82. 'require' => [201200, '牵头单位不能为空'],//牵头单位
  83. ],
  84. 'group_type' => [
  85. 'require' => [201300, '数据传输错误'],//jcdw表中的groupname
  86. 'in' => [201301, '机构类型超出范围']
  87. ]
  88. // 'releaser.require'=>[201100, '发布单位不能为空'], //发布单位/
  89. //'releaser.in'=>[201101, '发布单位禁止填写'], //发布单位/
  90. //'filenum.require'=>[201300, '文件号不能为空'],//文件号---选填
  91. //'log.require'=>[201400, '备注不能为空'],//备注---选填
  92. //'file_url.require'=>[201500, '附件地址不能为空'],//附件地址
  93. //'file_name.require'=>[201600, '附件名称不能为空'],//附件名称
  94. ];
  95. // 监管端 获取任务列表 验证场景定义
  96. public function sceneSelectJgTaskList()
  97. {
  98. return $this->only(['task_class', 'pageNum', 'pageSize', 'year', 'ispublic', 'starttime', 'endtime'])
  99. ->remove('year', 'require')
  100. ->remove('ispublic', 'require')
  101. ->remove('starttime', 'require')
  102. ->remove('endtime', 'require');
  103. }
  104. //监管端 添加任务 验证场景定义
  105. public function sceneAddJgTaskItem()
  106. {
  107. return $this->only(['task_name', 'level', 'year', 'batch', 'starttime', 'endtime', 'filenum', 'task_class', 'ispublic', 'main_unit']);
  108. }
  109. // 牵头单位 获取任务列表 验证场景定义
  110. public function sceneSelectQtTaskList()
  111. {
  112. return $this->only(['task_class', 'task_name', 'year', 'ispublic', 'starttime', 'endtime', 'pageNum', 'pageSize'])
  113. ->remove('task_name', 'require|length')
  114. ->remove('year', 'require')
  115. ->remove('ispublic', 'require')
  116. ->remove('starttime', 'require')
  117. ->remove('endtime', 'require');
  118. }
  119. public function sceneGetTaskInfo()
  120. {
  121. return $this->only(['pageNum', 'pageSize', 'task_id'])
  122. ->remove('pageSize', 'require');
  123. }
  124. //牵头单位 发布任务 验证场景定义
  125. public function sceneQtRelease()
  126. {
  127. return $this->only(['task_id']);
  128. }
  129. //牵头单位 机构与地域 选择抽样机构,检测机构,报告上传机构
  130. public function sceneGetTestUnitList()
  131. {
  132. return $this->only(['pageNum', 'pageSize', 'group_type']);
  133. }
  134. }