|
@@ -106,9 +106,12 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
groupNameInfos.Insert(0, new ValueInfo() { Id = -1, Name = "未选择" });
|
|
groupNameInfos.Insert(0, new ValueInfo() { Id = -1, Name = "未选择" });
|
|
|
|
|
|
|
|
//部门名称
|
|
//部门名称
|
|
|
- var departmentNameInfos = _sqlSugar.Queryable<Sys_Users, Sys_Department>((u, d) => new JoinQueryInfos(JoinType.Left, u.DepId == d.Id))
|
|
|
|
|
|
|
+ var depName = _sqlSugar.Queryable<Sys_Users, Sys_Department>((u, d) => new JoinQueryInfos(JoinType.Left, u.DepId == d.Id))
|
|
|
.Where((u, d) => u.Id == userId)
|
|
.Where((u, d) => u.Id == userId)
|
|
|
- .Select((u, d) => new ValueInfo() { Id = d.Id, Name = d.DepName })
|
|
|
|
|
|
|
+ .Select((u, d) => d.DepName)
|
|
|
|
|
+ .First();
|
|
|
|
|
+ var departmentNameInfos = _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0 && x.STid == 135 && x.Name.Equals(depName))
|
|
|
|
|
+ .Select(x => new ValueInfo() { Id = x.Id, Name = x.Name })
|
|
|
.First();
|
|
.First();
|
|
|
|
|
|
|
|
//执行任务人员信息 1 公司总经理/副总 可分配 所有人的任务 2 公司 部门经理/主管 可分配 部门下的人员的任务
|
|
//执行任务人员信息 1 公司总经理/副总 可分配 所有人的任务 2 公司 部门经理/主管 可分配 部门下的人员的任务
|
|
@@ -136,7 +139,16 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
taskOpertionAudit.IsStopPerm = true;
|
|
taskOpertionAudit.IsStopPerm = true;
|
|
|
//}
|
|
//}
|
|
|
|
|
|
|
|
- var userIds = taskAudits.Select(it => it.SubUserId).ToList();
|
|
|
|
|
|
|
+ List<int> userIds = new List<int>();
|
|
|
|
|
+ if (taskAudits.Where(x => x.PrimaryUserId == userId).Any())
|
|
|
|
|
+ {
|
|
|
|
|
+ userIds = taskAudits.Select(it => it.SubUserId).ToList();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ userIds = taskAudits.Where(x => x.SubUserId == userId).Select(it => it.SubUserId).ToList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
string userSql = string.Format(@"Select u.Id,u.CnName As Name,c.CompanyName,
|
|
string userSql = string.Format(@"Select u.Id,u.CnName As Name,c.CompanyName,
|
|
|
d.DepName As DepartmentName,jp.JobName
|
|
d.DepName As DepartmentName,jp.JobName
|
|
|
From Sys_Users u
|
|
From Sys_Users u
|
|
@@ -166,7 +178,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- /// 任务发布者验证
|
|
|
|
|
|
|
+ /// 任务发布者/分管UserId验证
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
|
public async Task<(bool isTaskPublisher, List<int> userIds)> ValidateTaskPublisher(int userId)
|
|
public async Task<(bool isTaskPublisher, List<int> userIds)> ValidateTaskPublisher(int userId)
|
|
@@ -278,23 +290,23 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
if (taskInfo.CreateUserId != currentUserId)
|
|
if (taskInfo.CreateUserId != currentUserId)
|
|
|
return (false, "当前任务仅创建人可编辑!");
|
|
return (false, "当前任务仅创建人可编辑!");
|
|
|
|
|
|
|
|
- // 定义结束状态集合
|
|
|
|
|
- var UneditableStatuses = new List<TaskEnum>
|
|
|
|
|
- {
|
|
|
|
|
- TaskEnum.UnFinished,
|
|
|
|
|
- TaskEnum.Finished,
|
|
|
|
|
- TaskEnum.TaskStop
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- if (UneditableStatuses.Contains(taskInfo.Status))
|
|
|
|
|
- return (false,
|
|
|
|
|
- taskInfo.Status switch
|
|
|
|
|
- {
|
|
|
|
|
- TaskEnum.UnFinished => "当前任务状态为“未完成”结束状态,不可编辑!",
|
|
|
|
|
- TaskEnum.Finished => "当前任务状态为“已完成”结束状态,不可编辑!",
|
|
|
|
|
- TaskEnum.TaskStop => "当前任务状态为“任务终止”结束状态,不可编辑!",
|
|
|
|
|
- _ => "当前任务状态不可编辑!"
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ //// 定义结束状态集合
|
|
|
|
|
+ //var UneditableStatuses = new List<TaskEnum>
|
|
|
|
|
+ //{
|
|
|
|
|
+ // TaskEnum.UnFinished,
|
|
|
|
|
+ // TaskEnum.Finished,
|
|
|
|
|
+ // TaskEnum.TaskStop
|
|
|
|
|
+ //};
|
|
|
|
|
+
|
|
|
|
|
+ //if (UneditableStatuses.Contains(taskInfo.Status))
|
|
|
|
|
+ // return (false,
|
|
|
|
|
+ // taskInfo.Status switch
|
|
|
|
|
+ // {
|
|
|
|
|
+ // TaskEnum.UnFinished => "当前任务状态为“未完成”结束状态,不可编辑!",
|
|
|
|
|
+ // TaskEnum.Finished => "当前任务状态为“已完成”结束状态,不可编辑!",
|
|
|
|
|
+ // TaskEnum.TaskStop => "当前任务状态为“任务终止”结束状态,不可编辑!",
|
|
|
|
|
+ // _ => "当前任务状态不可编辑!"
|
|
|
|
|
+ // });
|
|
|
|
|
|
|
|
return (true, string.Empty);
|
|
return (true, string.Empty);
|
|
|
}
|
|
}
|
|
@@ -375,10 +387,10 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
return (false, "只有任务归属者可设置“已知晓”状态!");
|
|
return (false, "只有任务归属者可设置“已知晓”状态!");
|
|
|
|
|
|
|
|
// 检查当前状态是否设置已知晓
|
|
// 检查当前状态是否设置已知晓
|
|
|
- //if (taskerInfo.TaskStatus == TaskerEnum.HaveKnown)
|
|
|
|
|
- //{
|
|
|
|
|
- // return (false, "当前状态已设置,无需重复操作!");
|
|
|
|
|
- //}
|
|
|
|
|
|
|
+ if (taskerInfo.TaskStatus == TaskEnum.UnderWay)
|
|
|
|
|
+ {
|
|
|
|
|
+ return (false, "当前状态已设置,无需重复操作!");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
//if (taskInfo.Status == TaskEnum.UnFinished)
|
|
//if (taskInfo.Status == TaskEnum.UnFinished)
|
|
|
//{
|
|
//{
|
|
@@ -439,6 +451,12 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
+ //任务参与这包含创建者本人 则状态为 进行中
|
|
|
|
|
+ if (dto.UserIds.Contains(dto.UserId) && _TaskAllocation.Status == TaskEnum.NotStarted)
|
|
|
|
|
+ {
|
|
|
|
|
+ _TaskAllocation.Status = TaskEnum.UnderWay;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
var createUserName = _sqlSugar.Queryable<Sys_Users>().Where(x => x.Id == dto.UserId).First()?.CnName ?? "-";
|
|
var createUserName = _sqlSugar.Queryable<Sys_Users>().Where(x => x.Id == dto.UserId).First()?.CnName ?? "-";
|
|
|
|
|
|
|
|
if (dto.Id == 0) //添加
|
|
if (dto.Id == 0) //添加
|
|
@@ -487,8 +505,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
{
|
|
{
|
|
|
_sqlSugar.BeginTran();
|
|
_sqlSugar.BeginTran();
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- #region 编辑验证 1. 仅创建者可以修改
|
|
|
|
|
|
|
+ #region 编辑验证 1. 仅创建者可以修改 2.分管人员领导可修改
|
|
|
|
|
|
|
|
var taskInfo = await _sqlSugar
|
|
var taskInfo = await _sqlSugar
|
|
|
.Queryable<Pm_TaskAllocation>()
|
|
.Queryable<Pm_TaskAllocation>()
|
|
@@ -712,7 +729,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
_result.Code = 0;
|
|
_result.Code = 0;
|
|
|
_sqlSugar.CommitTran();
|
|
_sqlSugar.CommitTran();
|
|
|
|
|
|
|
|
-
|
|
|
|
|
return _result;
|
|
return _result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -854,6 +870,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
_sqlSugar.BeginTran();
|
|
_sqlSugar.BeginTran();
|
|
|
var taskName = await _sqlSugar.Queryable<Pm_TaskAllocation>().Where(it => it.IsDel == 0 && it.Id == id).Select(it => it.TaskName).FirstAsync();
|
|
var taskName = await _sqlSugar.Queryable<Pm_TaskAllocation>().Where(it => it.IsDel == 0 && it.Id == id).Select(it => it.TaskName).FirstAsync();
|
|
|
var operatorName = await _sqlSugar.Queryable<Sys_Users>().Where(it => it.IsDel == 0 && it.Id == userId).Select(it => it.CnName).FirstAsync();
|
|
var operatorName = await _sqlSugar.Queryable<Sys_Users>().Where(it => it.IsDel == 0 && it.Id == userId).Select(it => it.CnName).FirstAsync();
|
|
|
|
|
+
|
|
|
var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
.SetColumns(it => it.TaskStatus == TaskEnum.UnderWay)
|
|
.SetColumns(it => it.TaskStatus == TaskEnum.UnderWay)
|
|
|
.Where(it => it.TAId == id && it.UserId == userId)
|
|
.Where(it => it.TAId == id && it.UserId == userId)
|
|
@@ -935,10 +952,10 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
int mainTaskId = subTaskInfo.TAId;
|
|
int mainTaskId = subTaskInfo.TAId;
|
|
|
int taskerId = subTaskInfo.Id;
|
|
int taskerId = subTaskInfo.Id;
|
|
|
|
|
|
|
|
- //只有创建人可以审批完成状态
|
|
|
|
|
- if (subTaskInfo.CreateUserId != userId)
|
|
|
|
|
|
|
+ //只有分管人员可以审批完成状态
|
|
|
|
|
+ if (!_sqlSugar.Queryable<Pm_TaskJobRelevancy>().Where(x => x.IsDel == 0 && x.PrimaryUserId == userId).Any() )
|
|
|
{
|
|
{
|
|
|
- _result.Msg = string.Format("只有任务创建者可审批'已完成'状态!");
|
|
|
|
|
|
|
+ _result.Msg = string.Format("只有任务分管者可审批'已完成'状态!");
|
|
|
_taskTextFileLogger.LogInformation("任务完成设置[尝试审批],任务名称:{TaskName},操作者:{OperatorName}", taskName, operatorName);
|
|
_taskTextFileLogger.LogInformation("任务完成设置[尝试审批],任务名称:{TaskName},操作者:{OperatorName}", taskName, operatorName);
|
|
|
return _result;
|
|
return _result;
|
|
|
}
|
|
}
|
|
@@ -1004,7 +1021,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
.Select(x => x.CnName)
|
|
.Select(x => x.CnName)
|
|
|
.ToList();
|
|
.ToList();
|
|
|
|
|
|
|
|
- string userLabel = string.Join("、",names);
|
|
|
|
|
|
|
+ string userLabel = string.Join("、", names);
|
|
|
|
|
|
|
|
_result.Msg = string.Format($"{userLabel} 未点击已知晓,不可设置任务完成。");
|
|
_result.Msg = string.Format($"{userLabel} 未点击已知晓,不可设置任务完成。");
|
|
|
_sqlSugar.RollbackTran();
|
|
_sqlSugar.RollbackTran();
|