ApprovalData.class.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. include_once(__DIR__."/../../utils/Utils.class.php");
  3. class ApprovalDataList
  4. {
  5. public $count = null; // uint
  6. public $total = null; // uint
  7. public $next_spnum = null; // uint
  8. public $data = null; // ApprovalData array
  9. static public function ParseFromArray($arr)
  10. {
  11. $info = new ApprovalDataList();
  12. $info->count = Utils::arrayGet($arr, "count");
  13. $info->total = Utils::arrayGet($arr, "total");
  14. $info->next_spnum = Utils::arrayGet($arr, "next_spnum");
  15. foreach($arr["data"] as $item) {
  16. $info->data[] = ApprovalData::ParseFromArray($item);
  17. }
  18. return $info;
  19. }
  20. }
  21. class ApprovalData
  22. {
  23. public $spname = null; // string
  24. public $apply_name = null; // string
  25. public $apply_org = null; // string
  26. public $approval_name = null; // string array
  27. public $notify_name = null; // string array
  28. public $sp_status = null; // uint
  29. public $sp_num = null; // uint
  30. public $mediaids = null; // string array
  31. public $apply_time = null; // uint
  32. public $apply_user_id = null; // string
  33. public $expense = null; // ExpenseEvent
  34. public $comm = null; // CommApplyEvent
  35. public $leave = null; // LeaveEvent
  36. static public function ParseFromArray($arr)
  37. {
  38. $info = new CheckinData();
  39. $info->spname = Utils::arrayGet($arr, "spname");
  40. $info->apply_name = Utils::arrayGet($arr, "apply_name");
  41. $info->apply_org = Utils::arrayGet($arr, "apply_org");
  42. $info->approval_name = Utils::arrayGet($arr, "approval_name");
  43. $info->notify_name = Utils::arrayGet($arr, "notify_name");
  44. $info->sp_status = Utils::arrayGet($arr, "sp_status");
  45. $info->sp_num = Utils::arrayGet($arr, "sp_num");
  46. $info->mediaids = Utils::arrayGet($arr, "mediaids");
  47. $info->apply_time = Utils::arrayGet($arr, "apply_time");
  48. $info->apply_user_id = Utils::arrayGet($arr, "apply_user_id");
  49. if (array_key_exists("expense", $arr)) {
  50. $info->expense = ExpenseEvent::ParseFromArray($arr["expense"]);
  51. }
  52. if (array_key_exists("comm", $arr)) {
  53. $info->comm = CommApplyEvent::ParseFromArray($arr["comm"]);
  54. }
  55. if (array_key_exists("leave", $arr)) {
  56. $info->leave = LeaveEvent::ParseFromArray($arr["leave"]);
  57. }
  58. return $info;
  59. }
  60. }
  61. class CommApplyEvent {
  62. public $apply_data = null; // string TODO, 文档太烂,看不懂, 无法解析!!待相关人员更新
  63. static public function ParseFromArray($arr)
  64. {
  65. $info = new CommApplyEvent();
  66. $info->apply_data = Utils::arrayGet($arr, "apply_data");
  67. return $info;
  68. }
  69. }
  70. class ExpenseEvent {
  71. public $expense_type = null; // int
  72. public $reason = null; // string
  73. public $item = null; // ExpenseItem array
  74. static public function ParseFromArray($arr)
  75. {
  76. $info = new ExpenseEvent();
  77. $info->expense_type = Utils::arrayGet($arr, "expense_type");
  78. $info->reason = Utils::arrayGet($arr, "reason");
  79. foreach($arr["item"] as $item) {
  80. $info->item[] = ExpenseItem::ParseFromArray($item);
  81. }
  82. return $info;
  83. }
  84. }
  85. class ExpenseItem {
  86. public $expenseitem_type = null; // int
  87. public $time = null; // int
  88. public $sums = null; // int
  89. public $reason = null; // string
  90. static public function ParseFromArray($arr)
  91. {
  92. $info = new ExpenseItem();
  93. $info->expenseitem_type = Utils::arrayGet($arr, "expenseitem_type");
  94. $info->time = Utils::arrayGet($arr, "time");
  95. $info->sums = Utils::arrayGet($arr, "sums");
  96. $info->reason = Utils::arrayGet($arr, "reason");
  97. return $info;
  98. }
  99. }
  100. class LeaveEvent {
  101. public $timeunit = null; // int
  102. public $leave_type = null; // int
  103. public $start_time = null; // int
  104. public $end_time = null; // int
  105. public $duration = null; // int
  106. public $reason = null; // string
  107. static public function ParseFromArray($arr)
  108. {
  109. $info = new LeaveEvent();
  110. $info->timeunit = Utils::arrayGet($arr, "timeunit");
  111. $info->leave_type = Utils::arrayGet($arr, "leave_type");
  112. $info->start_time = Utils::arrayGet($arr, "leave_type");
  113. $info->end_time = Utils::arrayGet($arr, "end_time");
  114. $info->duration = Utils::arrayGet($arr, "duration");
  115. $info->reason = Utils::arrayGet($arr, "reason");
  116. return $info;
  117. }
  118. }