OapiAttendanceApproveFinishRequest.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <?php
  2. /**
  3. * dingtalk API: dingtalk.oapi.attendance.approve.finish request
  4. *
  5. * @author auto create
  6. * @since 1.0, 2022.11.28
  7. */
  8. class OapiAttendanceApproveFinishRequest
  9. {
  10. /**
  11. * 审批单全局唯一id,最大长度100个字符
  12. **/
  13. private $approveId;
  14. /**
  15. * 审批单类型1:加班,2:外出、出差,3:请假
  16. **/
  17. private $bizType;
  18. /**
  19. * 计算方法,0:按自然日计算,1:按工作日计算
  20. **/
  21. private $calculateModel;
  22. /**
  23. * 钉钉侧审批单全局唯一id,最大长度64个字符
  24. **/
  25. private $dingtalkApproveId;
  26. /**
  27. * 时长单位,支持的day,halfDay,hour,biz_type为1时仅支持hour。时间格式必须与时长单位对应,2019-08-15对应day,2019-08-15 AM对应halfDay,2019-08-15 12:43对应hour
  28. **/
  29. private $durationUnit;
  30. /**
  31. * 开始时间,支持的时间格式 2019-08-15/2019-08-15 AM/2019-08-15 12:43。开始时间不能早于当前时间前31天
  32. **/
  33. private $fromTime;
  34. /**
  35. * 审批单跳转地址,最大长度100个字符
  36. **/
  37. private $jumpUrl;
  38. /**
  39. * biz_type为1时必传,加班时长单位小时
  40. **/
  41. private $overtimeDuration;
  42. /**
  43. * biz_type为1时必传,1:加班转调休,2:加班转工资
  44. **/
  45. private $overtimeToMore;
  46. /**
  47. * 子类型名称,最大长度20个字符
  48. **/
  49. private $subType;
  50. /**
  51. * 审批单类型名称,最大长度20个字符
  52. **/
  53. private $tagName;
  54. /**
  55. * 结束时间,支持的时间格式 2019-08-15/2019-08-15 AM/2019-08-15 12:43。结束时间减去开始时间的天数不能超过31天。biz_type为1时结束时间减去开始时间不能超过1天
  56. **/
  57. private $toTime;
  58. /**
  59. * 员工的user_id
  60. **/
  61. private $userid;
  62. private $apiParas = array();
  63. public function setApproveId($approveId)
  64. {
  65. $this->approveId = $approveId;
  66. $this->apiParas["approve_id"] = $approveId;
  67. }
  68. public function getApproveId()
  69. {
  70. return $this->approveId;
  71. }
  72. public function setBizType($bizType)
  73. {
  74. $this->bizType = $bizType;
  75. $this->apiParas["biz_type"] = $bizType;
  76. }
  77. public function getBizType()
  78. {
  79. return $this->bizType;
  80. }
  81. public function setCalculateModel($calculateModel)
  82. {
  83. $this->calculateModel = $calculateModel;
  84. $this->apiParas["calculate_model"] = $calculateModel;
  85. }
  86. public function getCalculateModel()
  87. {
  88. return $this->calculateModel;
  89. }
  90. public function setDingtalkApproveId($dingtalkApproveId)
  91. {
  92. $this->dingtalkApproveId = $dingtalkApproveId;
  93. $this->apiParas["dingtalk_approve_id"] = $dingtalkApproveId;
  94. }
  95. public function getDingtalkApproveId()
  96. {
  97. return $this->dingtalkApproveId;
  98. }
  99. public function setDurationUnit($durationUnit)
  100. {
  101. $this->durationUnit = $durationUnit;
  102. $this->apiParas["duration_unit"] = $durationUnit;
  103. }
  104. public function getDurationUnit()
  105. {
  106. return $this->durationUnit;
  107. }
  108. public function setFromTime($fromTime)
  109. {
  110. $this->fromTime = $fromTime;
  111. $this->apiParas["from_time"] = $fromTime;
  112. }
  113. public function getFromTime()
  114. {
  115. return $this->fromTime;
  116. }
  117. public function setJumpUrl($jumpUrl)
  118. {
  119. $this->jumpUrl = $jumpUrl;
  120. $this->apiParas["jump_url"] = $jumpUrl;
  121. }
  122. public function getJumpUrl()
  123. {
  124. return $this->jumpUrl;
  125. }
  126. public function setOvertimeDuration($overtimeDuration)
  127. {
  128. $this->overtimeDuration = $overtimeDuration;
  129. $this->apiParas["overtime_duration"] = $overtimeDuration;
  130. }
  131. public function getOvertimeDuration()
  132. {
  133. return $this->overtimeDuration;
  134. }
  135. public function setOvertimeToMore($overtimeToMore)
  136. {
  137. $this->overtimeToMore = $overtimeToMore;
  138. $this->apiParas["overtime_to_more"] = $overtimeToMore;
  139. }
  140. public function getOvertimeToMore()
  141. {
  142. return $this->overtimeToMore;
  143. }
  144. public function setSubType($subType)
  145. {
  146. $this->subType = $subType;
  147. $this->apiParas["sub_type"] = $subType;
  148. }
  149. public function getSubType()
  150. {
  151. return $this->subType;
  152. }
  153. public function setTagName($tagName)
  154. {
  155. $this->tagName = $tagName;
  156. $this->apiParas["tag_name"] = $tagName;
  157. }
  158. public function getTagName()
  159. {
  160. return $this->tagName;
  161. }
  162. public function setToTime($toTime)
  163. {
  164. $this->toTime = $toTime;
  165. $this->apiParas["to_time"] = $toTime;
  166. }
  167. public function getToTime()
  168. {
  169. return $this->toTime;
  170. }
  171. public function setUserid($userid)
  172. {
  173. $this->userid = $userid;
  174. $this->apiParas["userid"] = $userid;
  175. }
  176. public function getUserid()
  177. {
  178. return $this->userid;
  179. }
  180. public function getApiMethodName()
  181. {
  182. return "dingtalk.oapi.attendance.approve.finish";
  183. }
  184. public function getApiParas()
  185. {
  186. return $this->apiParas;
  187. }
  188. public function check()
  189. {
  190. RequestCheckUtil::checkMaxLength($this->approveId,100,"approveId");
  191. RequestCheckUtil::checkMaxLength($this->dingtalkApproveId,64,"dingtalkApproveId");
  192. RequestCheckUtil::checkMaxLength($this->jumpUrl,200,"jumpUrl");
  193. RequestCheckUtil::checkMaxLength($this->subType,20,"subType");
  194. RequestCheckUtil::checkMaxLength($this->tagName,20,"tagName");
  195. }
  196. public function putOtherTextParam($key, $value) {
  197. $this->apiParas[$key] = $value;
  198. $this->$key = $value;
  199. }
  200. }