TaskValidate.php 6.2 KB

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