Browse Source

逻辑调整

yuanrf 1 day ago
parent
commit
cb3851b0da
1 changed files with 48 additions and 0 deletions
  1. 48 0
      OASystem/OASystem.Api/Controllers/GroupsController.cs

+ 48 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -2769,6 +2769,54 @@ FROM
             try
             {
                 users = JsonConvert.DeserializeObject<List<string>>(ssd.Remark);
+                var groupModuleOperators = GeneralMethod.GetGroupModuleOperators(dto.diid);
+
+                //添加分配人员
+                // 79	车/导游地接
+                // 80	签证
+                // 81	邀请/公务活动
+                var setdataids = new List<int>() { 79, 81 };
+
+                // 27	商邀
+                // 28	OP
+                var jobSetdataids = new List<int>() { 27, 28 };
+
+                var q = _sqlSugar.Queryable<Grp_GroupsTaskAssignment, Sys_Users>(
+                (ccta, su) => new JoinQueryInfos(
+                    JoinType.Left, ccta.UId == su.Id && su.IsDel == 0))
+                .Where((ccta, su) =>
+                        ccta.IsDel == 0 &&
+                        ccta.DIId == dto.diid &&
+                        jobSetdataids.Contains(su.JobPostId) &&
+                        setdataids.Contains(ccta.CTId))
+                .Select((ccta, su) => new
+                {
+                    userid = su.Id,
+                    su.JobPostId,
+                    ccta.CTId,
+                    ccta.DIId,
+                    su.CnName,
+                });
+
+                var qtb = q.ToDataTable();
+
+                foreach (var groupModule in groupModuleOperators)
+                {
+                    if (setdataids.Contains(groupModule.CTableId) && !groupModule.OperationUsers.Any())
+                    {
+                        var qtbUsers = qtb.AsEnumerable().
+                            Where(x => x.Field<int>("CTId") == groupModule.CTableId).
+                            Select(x => x.Field<int>("userid")).ToList();
+                        groupModule.OperationUsers = qtbUsers.Select(x => new GeneralMethod.GroupOperationUserInfo()
+                        {
+                            UserId = x,
+                            UserName = qtb.AsEnumerable().FirstOrDefault(y => y.Field<int>("userid") == x)?.Field<string>("CnName") ?? ""
+                        }).ToList();
+                    }
+
+                    users.AddRange(groupModule.OperationUsers.Select(x => x.UserId.ToString()));
+                }
+
                 var res = await AppNoticeLibrary.SendUserMsg_BaoPi_ToUser(users, diid);
 
                 //消息通知成功 更改团组step、记录日志