admin/business/asset/weworkapi/api/datastructure/ApprovalData.class.php

147 lines
4.4 KiB
PHP

<?php
include_once(__DIR__."/../../utils/Utils.class.php");
class ApprovalDataList
{
public $count = null; // uint
public $total = null; // uint
public $next_spnum = null; // uint
public $data = null; // ApprovalData array
static public function ParseFromArray($arr)
{
$info = new ApprovalDataList();
$info->count = Utils::arrayGet($arr, "count");
$info->total = Utils::arrayGet($arr, "total");
$info->next_spnum = Utils::arrayGet($arr, "next_spnum");
foreach($arr["data"] as $item) {
$info->data[] = ApprovalData::ParseFromArray($item);
}
return $info;
}
}
class ApprovalData
{
public $spname = null; // string
public $apply_name = null; // string
public $apply_org = null; // string
public $approval_name = null; // string array
public $notify_name = null; // string array
public $sp_status = null; // uint
public $sp_num = null; // uint
public $mediaids = null; // string array
public $apply_time = null; // uint
public $apply_user_id = null; // string
public $expense = null; // ExpenseEvent
public $comm = null; // CommApplyEvent
public $leave = null; // LeaveEvent
static public function ParseFromArray($arr)
{
$info = new CheckinData();
$info->spname = Utils::arrayGet($arr, "spname");
$info->apply_name = Utils::arrayGet($arr, "apply_name");
$info->apply_org = Utils::arrayGet($arr, "apply_org");
$info->approval_name = Utils::arrayGet($arr, "approval_name");
$info->notify_name = Utils::arrayGet($arr, "notify_name");
$info->sp_status = Utils::arrayGet($arr, "sp_status");
$info->sp_num = Utils::arrayGet($arr, "sp_num");
$info->mediaids = Utils::arrayGet($arr, "mediaids");
$info->apply_time = Utils::arrayGet($arr, "apply_time");
$info->apply_user_id = Utils::arrayGet($arr, "apply_user_id");
if (array_key_exists("expense", $arr)) {
$info->expense = ExpenseEvent::ParseFromArray($arr["expense"]);
}
if (array_key_exists("comm", $arr)) {
$info->comm = CommApplyEvent::ParseFromArray($arr["comm"]);
}
if (array_key_exists("leave", $arr)) {
$info->leave = LeaveEvent::ParseFromArray($arr["leave"]);
}
return $info;
}
}
class CommApplyEvent {
public $apply_data = null; // string TODO, 文档太烂,看不懂, 无法解析!!待相关人员更新
static public function ParseFromArray($arr)
{
$info = new CommApplyEvent();
$info->apply_data = Utils::arrayGet($arr, "apply_data");
return $info;
}
}
class ExpenseEvent {
public $expense_type = null; // int
public $reason = null; // string
public $item = null; // ExpenseItem array
static public function ParseFromArray($arr)
{
$info = new ExpenseEvent();
$info->expense_type = Utils::arrayGet($arr, "expense_type");
$info->reason = Utils::arrayGet($arr, "reason");
foreach($arr["item"] as $item) {
$info->item[] = ExpenseItem::ParseFromArray($item);
}
return $info;
}
}
class ExpenseItem {
public $expenseitem_type = null; // int
public $time = null; // int
public $sums = null; // int
public $reason = null; // string
static public function ParseFromArray($arr)
{
$info = new ExpenseItem();
$info->expenseitem_type = Utils::arrayGet($arr, "expenseitem_type");
$info->time = Utils::arrayGet($arr, "time");
$info->sums = Utils::arrayGet($arr, "sums");
$info->reason = Utils::arrayGet($arr, "reason");
return $info;
}
}
class LeaveEvent {
public $timeunit = null; // int
public $leave_type = null; // int
public $start_time = null; // int
public $end_time = null; // int
public $duration = null; // int
public $reason = null; // string
static public function ParseFromArray($arr)
{
$info = new LeaveEvent();
$info->timeunit = Utils::arrayGet($arr, "timeunit");
$info->leave_type = Utils::arrayGet($arr, "leave_type");
$info->start_time = Utils::arrayGet($arr, "leave_type");
$info->end_time = Utils::arrayGet($arr, "end_time");
$info->duration = Utils::arrayGet($arr, "duration");
$info->reason = Utils::arrayGet($arr, "reason");
return $info;
}
}