mirror of
https://github.com/kuaifan/dootask.git
synced 2026-01-25 03:48:17 +00:00
fix: 移交账号后工作流的负责人没有更新
This commit is contained in:
parent
d5eb3716aa
commit
f422aea330
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Module\Base;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* App\Models\ProjectUser
|
* App\Models\ProjectUser
|
||||||
*
|
*
|
||||||
@ -50,7 +52,9 @@ class ProjectUser extends AbstractModel
|
|||||||
*/
|
*/
|
||||||
public static function transfer($originalUserid, $newUserid)
|
public static function transfer($originalUserid, $newUserid)
|
||||||
{
|
{
|
||||||
self::whereUserid($originalUserid)->chunkById(100, function ($list) use ($originalUserid, $newUserid) {
|
$projectIds = [];
|
||||||
|
// 移交项目身份
|
||||||
|
self::whereUserid($originalUserid)->chunkById(100, function ($list) use ($originalUserid, $newUserid, &$projectIds) {
|
||||||
/** @var self $item */
|
/** @var self $item */
|
||||||
foreach ($list as $item) {
|
foreach ($list as $item) {
|
||||||
$row = self::whereProjectId($item->project_id)->whereUserid($newUserid)->first();
|
$row = self::whereProjectId($item->project_id)->whereUserid($newUserid)->first();
|
||||||
@ -72,9 +76,23 @@ class ProjectUser extends AbstractModel
|
|||||||
}
|
}
|
||||||
$item->project->addLog("移交项目身份", ['userid' => [$originalUserid, ' => ', $newUserid]]);
|
$item->project->addLog("移交项目身份", ['userid' => [$originalUserid, ' => ', $newUserid]]);
|
||||||
$item->project->syncDialogUser();
|
$item->project->syncDialogUser();
|
||||||
|
$projectIds[] = $item->project_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
// 移交工作流状态负责人
|
||||||
|
if ($projectIds) {
|
||||||
|
ProjectFlowItem::whereIn('project_id', $projectIds)->chunkById(100, function ($list) use ($originalUserid, $newUserid) {
|
||||||
|
/** @var ProjectFlowItem $item */
|
||||||
|
foreach ($list as $item) {
|
||||||
|
if (in_array($originalUserid, $item->userids)) {
|
||||||
|
$userids = array_values(array_diff($item->userids, [$originalUserid]));
|
||||||
|
$item->userids = Base::array2json(array_merge($userids, [$newUserid]));
|
||||||
|
$item->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user