mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-16 14:12:51 +00:00
perf 优化导出
This commit is contained in:
parent
16d1591675
commit
d42fcca81f
@ -747,13 +747,14 @@ class WorkflowController extends AbstractController
|
|||||||
//
|
//
|
||||||
$nickname = Base::filterEmoji($val['start_user_name']);
|
$nickname = Base::filterEmoji($val['start_user_name']);
|
||||||
$participant = $this->getUserProcessParticipantById($val['id']); // 获取参与人
|
$participant = $this->getUserProcessParticipantById($val['id']); // 获取参与人
|
||||||
$participant = $this->handleParticipant($participant['data']); // 处理参与人返回数据
|
$participant = $this->handleParticipant($val, $participant['data']); // 处理参与人返回数据
|
||||||
//
|
//
|
||||||
|
$job_number = ''; // 发起人工号
|
||||||
$department_leader = User::userid2nickname(UserDepartment::find(1, ['owner_userid'])['owner_userid']); // 部门负责人
|
$department_leader = User::userid2nickname(UserDepartment::find(1, ['owner_userid'])['owner_userid']); // 部门负责人
|
||||||
$historical_approver = $participant['historical_approver'] ?? ''; // 历史审批人
|
$historical_approver = $participant['historical_approver'] ?? ''; // 历史审批人
|
||||||
$historical_agent = $participant['historical_agent'] ?? ''; // 历史办理人
|
$historical_agent = ''; // 历史办理人
|
||||||
$approval_record = $participant['approval_record'] ?? ''; // 审批记录
|
$approval_record = $participant['approval_record'] ?? ''; // 审批记录
|
||||||
$current_handler = implode(',', User::whereIn('userid', explode(';', $val['candidate']))->pluck('nickname')->toArray()); // 当前处理人
|
$current_handler = !$val['is_finished'] ? implode(',', User::whereIn('userid', explode(';', $val['candidate']))->pluck('nickname')->toArray()) : ''; // 当前处理人
|
||||||
$approved_node = $participant['approved_node'] ?? 0; // 审批节点
|
$approved_node = $participant['approved_node'] ?? 0; // 审批节点
|
||||||
$approved_num = $participant['approved_num'] ?? 0; // 审批人数
|
$approved_num = $participant['approved_num'] ?? 0; // 审批人数
|
||||||
// 计算审批耗时
|
// 计算审批耗时
|
||||||
@ -761,9 +762,9 @@ class WorkflowController extends AbstractController
|
|||||||
$endTime = $val['end_time'] ? Carbon::parse($val['end_time'])->timestamp : time();
|
$endTime = $val['end_time'] ? Carbon::parse($val['end_time'])->timestamp : time();
|
||||||
$approval_time = Base::timeDiff($startTime, $endTime); // 审批耗时
|
$approval_time = Base::timeDiff($startTime, $endTime); // 审批耗时
|
||||||
// 计算时长
|
// 计算时长
|
||||||
$varStartTime = Carbon::parse($val['var']['start_time'])->timestamp;
|
$varStartTime = Carbon::parse($val['var']['start_time']);
|
||||||
$varEndTime = Carbon::parse($val['var']['end_time'])->timestamp;
|
$varEndTime = Carbon::parse($val['var']['end_time']);
|
||||||
$duration = Base::timeDiff($varStartTime, $varEndTime); // 时长
|
$duration = $varEndTime->diffInHours($varStartTime);
|
||||||
$duration_unit = '小时'; // 时长单位
|
$duration_unit = '小时'; // 时长单位
|
||||||
$datas[] = [
|
$datas[] = [
|
||||||
$val['id'], // 申请编号
|
$val['id'], // 申请编号
|
||||||
@ -771,7 +772,7 @@ class WorkflowController extends AbstractController
|
|||||||
$this->getStateDescription($val['state']), // 申请状态
|
$this->getStateDescription($val['state']), // 申请状态
|
||||||
$val['start_time'], // 发起时间
|
$val['start_time'], // 发起时间
|
||||||
$val['end_time'], // 完成时间
|
$val['end_time'], // 完成时间
|
||||||
$val['start_user_id'], // 发起人工号
|
$job_number, // 发起人工号
|
||||||
$val['start_user_id'], // 发起人User ID
|
$val['start_user_id'], // 发起人User ID
|
||||||
$nickname, // 发起人姓名
|
$nickname, // 发起人姓名
|
||||||
$val['department'], // 发起人部门
|
$val['department'], // 发起人部门
|
||||||
@ -871,13 +872,14 @@ class WorkflowController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理参与人返回数据
|
// 处理参与人返回数据
|
||||||
public function handleParticipant($participant)
|
public function handleParticipant($process, $participant)
|
||||||
{
|
{
|
||||||
// 如果空
|
// 如果空
|
||||||
if (empty($participant)) {
|
if (empty($participant)) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
$res = [];
|
$res = [];
|
||||||
|
$historical_approver = [];
|
||||||
$approved_node = 0; // 审批节点
|
$approved_node = 0; // 审批节点
|
||||||
$approved_num = 0; // 审批人数
|
$approved_num = 0; // 审批人数
|
||||||
foreach ($participant as $val) {
|
foreach ($participant as $val) {
|
||||||
@ -885,18 +887,23 @@ class WorkflowController extends AbstractController
|
|||||||
if ($val['type'] == 'participant') {
|
if ($val['type'] == 'participant') {
|
||||||
// 审批人累加加到;格式字符串
|
// 审批人累加加到;格式字符串
|
||||||
if ($val['step'] != 0) {
|
if ($val['step'] != 0) {
|
||||||
$res['historical_approver'] .= $val['username'] . ';';
|
// 过滤掉空的审批意见
|
||||||
|
if ($val['comment'] == '' || in_array($val['username'], $historical_approver)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$historical_approver = array_unique(array_merge($historical_approver, explode(',', $val['username'])));
|
||||||
$approved_node++;
|
$approved_node++;
|
||||||
$approved_num++;
|
$approved_num++;
|
||||||
}
|
}
|
||||||
// 审批记录用|格式字符串
|
// 审批记录用|格式字符串
|
||||||
$name = $val['username'] . '|';
|
$name = $val['username'] . '|';
|
||||||
$call = $val['step'] == 0 ? '发起审批'. '|' : '同意' . '|';
|
$call = $val['step'] == 0 ? '发起审批'. '|' : '同意' . '|';
|
||||||
$time = date('Y-m-d H:i:s', $val['time']) . '|';
|
$time =$val['step'] == 0 ? $process['start_time'] . '|' : '';
|
||||||
$comment = $val['step'] == 0 ? '' : ($val['comment'] ?? '') . '|';
|
$comment = $val['step'] == 0 ? '' : ($val['comment'] ?? '') . '|';
|
||||||
$res['approval_record'] .= $name . $call . $time . $comment;
|
$res['approval_record'] .= $name . $call . $time . $comment;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$res['historical_approver'] = trim(implode(';', $historical_approver), ';');
|
||||||
$res['approved_node'] = $approved_node;
|
$res['approved_node'] = $approved_node;
|
||||||
$res['approved_num'] = $approved_num;
|
$res['approved_num'] = $approved_num;
|
||||||
$res['historical_agent'] = $res['historical_approver'];
|
$res['historical_agent'] = $res['historical_approver'];
|
||||||
@ -990,7 +997,7 @@ class WorkflowController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理流程节点返回是否有抄送人
|
// 处理流程节点返回是否有抄送人
|
||||||
public function handleProcessNode($process, $step = 0)
|
public function handleProcessNode($process)
|
||||||
{
|
{
|
||||||
// 获取流程节点
|
// 获取流程节点
|
||||||
$process_node = $process['node_infos'];
|
$process_node = $process['node_infos'];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user