|
@@ -19,40 +19,45 @@ class ApproveFlowService
|
|
|
* @param integer $flow_item 审批流项
|
|
|
* @param mixed $user 用户信息
|
|
|
**/
|
|
|
- public static function get_data($module,$flow_item,$user)
|
|
|
+ public static function get_data($module, $flow_item, $user)
|
|
|
{
|
|
|
- $userid = $user['userid'];
|
|
|
- $field = 'id,user_ids';
|
|
|
+ $approve_user = [];
|
|
|
+ $copy_user = [];
|
|
|
+ $field = 'id,user_data';
|
|
|
+
|
|
|
// 审批
|
|
|
- $approve = ApproveFlow::get_where($module, CommonConstant::TYPE_1, CommonConstant::IS_SPECIAL_1, $userid)
|
|
|
- ->field($field)
|
|
|
- ->find();
|
|
|
+ $approve = ApproveFlow::get_where($module, CommonConstant::TYPE_1, $flow_item)->field($field)->find();
|
|
|
if ($approve) {
|
|
|
- $approve_user_ids = $approve['user_ids'];
|
|
|
- } else {
|
|
|
- $approve_info = ApproveFlow::get_where($module, CommonConstant::TYPE_1, CommonConstant::IS_SPECIAL_0)
|
|
|
- ->field($field)
|
|
|
- ->find();
|
|
|
- $approve_user_ids = $approve_info ? $approve_info['user_ids'] : [];
|
|
|
+ $approve_user_data = json_decode($approve['user_data'], JSON_UNESCAPED_UNICODE);
|
|
|
+ foreach ($approve_user_data as &$value) {
|
|
|
+ if ($value['user_type'] == 1) {
|
|
|
+ $value['userid'] = $user->manager_userid;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $approve_user_data = array_column($approve_user_data, null, 'userid');
|
|
|
+ $user_ids = array_keys($approve_user_data);
|
|
|
+ $user_list = self::get_user_list($user_ids);
|
|
|
+ if ($user_list) {
|
|
|
+ $user_data = array_column($user_list->toArray(), null, 'userid');
|
|
|
+ foreach ($approve_user_data as $val) {
|
|
|
+ if (array_key_exists($val['userid'], $user_data)) {
|
|
|
+ $approve_user[] = $user_data[$val['userid']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- $approve_user = self::get_user_list($approve_user_ids);
|
|
|
// 抄送
|
|
|
$name = 'is_copy_' . $module;
|
|
|
$is_copy = sysconf($name); // 是否允许用户自己添加抄送人 0=否,1=是
|
|
|
- $copy_user = [];
|
|
|
if (!$is_copy) {
|
|
|
- $copy = ApproveFlow::get_where($module, CommonConstant::TYPE_2, CommonConstant::IS_SPECIAL_1, $userid)
|
|
|
- ->field($field)
|
|
|
- ->find();
|
|
|
+ $copy = ApproveFlow::get_where($module, CommonConstant::TYPE_2, $flow_item)->field($field)->find();
|
|
|
if ($copy) {
|
|
|
- $copy_user_ids = $copy['user_ids'];
|
|
|
- } else {
|
|
|
- $copy_info = ApproveFlow::get_where($module, CommonConstant::TYPE_2, CommonConstant::IS_SPECIAL_0)
|
|
|
- ->field($field)
|
|
|
- ->find();
|
|
|
- $copy_user_ids = $copy_info ? $copy_info['user_ids'] : [];
|
|
|
+ $copy_user_data = json_decode($copy['user_data'], JSON_UNESCAPED_UNICODE);
|
|
|
+ $copy_user_data = array_column($copy_user_data, null, 'userid');
|
|
|
+ $user_ids = array_keys($copy_user_data);
|
|
|
+ $user_list = self::get_user_list($user_ids);
|
|
|
+ $copy_user = $user_list;
|
|
|
}
|
|
|
- $copy_user = self::get_user_list($copy_user_ids);
|
|
|
}
|
|
|
return compact('approve_user', 'copy_user', 'is_copy');
|
|
|
}
|