|
@@ -1,5 +1,6 @@
|
|
|
using AutoMapper;
|
|
|
using EnumsNET;
|
|
|
+using Microsoft.VisualBasic;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
using OASystem.Domain;
|
|
|
using OASystem.Domain.Dtos.PersonnelModule;
|
|
@@ -237,11 +238,13 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
List<Pm_TaskRelevanceUser> _TaskRelevanceUsers = new List<Pm_TaskRelevanceUser>();
|
|
|
_TaskAllocation = _mapper.Map<Pm_TaskAllocation>(dto);
|
|
|
_TaskAllocation.CreateUserId = dto.UserId;
|
|
|
+ _TaskAllocation.Status = TaskEnum.NotStarted;
|
|
|
foreach (var item in dto.UserIds)
|
|
|
{
|
|
|
_TaskRelevanceUsers.Add(new Pm_TaskRelevanceUser() {
|
|
|
TAId = dto.Id,
|
|
|
UserId = item,
|
|
|
+ TaskStatus = TaskerEnum.NotStarted,
|
|
|
CreateUserId = dto.UserId,
|
|
|
});
|
|
|
}
|
|
@@ -483,8 +486,19 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
_result.Msg = string.Format("请传入有效的Id参数!");
|
|
|
return _result;
|
|
|
}
|
|
|
- //时间限制
|
|
|
//状态限制
|
|
|
+ var selectData = await _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.UserId == userId && it.TAId == id).FirstAsync();
|
|
|
+ if (selectData == null)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务不在!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ if (selectData.TaskStatus >= TaskerEnum.UnderWay)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务已知晓,不可重复设置!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
_sqlSugar.BeginTran();
|
|
|
var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
.SetColumns(it => it.TaskStatus == TaskerEnum.UnderWay)
|
|
@@ -531,9 +545,18 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
return _result;
|
|
|
}
|
|
|
|
|
|
- //时间限制
|
|
|
//状态限制
|
|
|
-
|
|
|
+ var selectData = await _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.UserId == userId && it.TAId == id).FirstAsync();
|
|
|
+ if (selectData == null)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务不在!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ if (selectData.TaskStatus != TaskerEnum.UnderWay)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务已提交待审核状态,不可重复提交!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
_sqlSugar.BeginTran();
|
|
|
var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
.SetColumns(it => it.TaskStatus == TaskerEnum.WaitConfirm)
|
|
@@ -548,7 +571,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
return _result;
|
|
|
}
|
|
|
var update2 = await _sqlSugar.Updateable<Pm_TaskAllocation>()
|
|
|
- .SetColumns(it => it.Status == TaskEnum.WaitConfirm)
|
|
|
+ .SetColumns(it => it.Status == TaskEnum.UnderWay)
|
|
|
.Where(it => it.Id == id)
|
|
|
.ExecuteCommandAsync();
|
|
|
if (update2 < 1)
|
|
@@ -586,8 +609,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
}
|
|
|
var data2 = await _sqlSugar.Queryable<Pm_TaskAllocation>().Where(it => it.IsDel == 0 && it.Id == data1.TAId).FirstAsync();
|
|
|
|
|
|
- _sqlSugar.BeginTran();
|
|
|
-
|
|
|
var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
.SetColumns(it => it.TaskStatus == TaskerEnum.HaveKnown)
|
|
|
.ExecuteCommandAsync();
|
|
@@ -603,6 +624,129 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
|
|
|
return _result;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 设置任务审批状态
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="id"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _TaskSetAuditStatus(int id)
|
|
|
+ {
|
|
|
+ if (id < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("请传入有效的Id参数!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+ var data1 = _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.Id == id).First();
|
|
|
+ if (data1 == null)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务不存在或者该任务未分配给你!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ int _taId = data1.TAId;
|
|
|
+
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ var update1 = _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
+ .SetColumns(it => it.TaskStatus == TaskerEnum.Finished)
|
|
|
+ .Where(it => it.Id == id)
|
|
|
+ .ExecuteCommand();
|
|
|
+ if (update1 < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("操作失败!");
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ //设置任务状态
|
|
|
+ TaskEnum taskStatus = TaskEnum.Finished;
|
|
|
+ var data2 = _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.TAId == _taId).ToList();
|
|
|
+ var data3 = data2.Where(it => it.TaskStatus == TaskerEnum.Finished && it.Id != id).ToList();
|
|
|
+ var data4 = data2.Where(it => it.TaskStatus == TaskerEnum.UnFinished && it.Id != id).ToList();
|
|
|
+
|
|
|
+ if (data4.Count > 0) taskStatus = TaskEnum.UnFinished;
|
|
|
+
|
|
|
+ if ((data2.Count - 1) == (data3.Count + data4.Count))
|
|
|
+ {
|
|
|
+ var update2 = _sqlSugar.Updateable<Pm_TaskAllocation>()
|
|
|
+ .SetColumns(it => it.Status == taskStatus)
|
|
|
+ .Where(it => it.Id == _taId)
|
|
|
+ .ExecuteCommand();
|
|
|
+ if (update2 < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("操作失败!");
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ _result.Msg = string.Format("操作成功!");
|
|
|
+ _result.Code = 0;
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 设置任务未完成状态
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="id"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _TaskSetUnFinishedStatus(int id, string cause)
|
|
|
+ {
|
|
|
+ if (id < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("请传入有效的Id参数!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+ var data1 = await _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.Id == id).FirstAsync();
|
|
|
+ if (data1 == null)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("该任务不存在或者该任务未分配给你!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ int _taId = data1.TAId;
|
|
|
+
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
+ .SetColumns(it => it.TaskStatus == TaskerEnum.UnFinished)
|
|
|
+ .SetColumns(it => it.Cause == cause)
|
|
|
+ .Where(it => it.Id == id)
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (update1 < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("操作失败!");
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置任务状态
|
|
|
+ var data2 = _sqlSugar.Queryable<Pm_TaskRelevanceUser>().Where(it => it.IsDel == 0 && it.TAId == _taId).ToList();
|
|
|
+ var data3 = data2.Where(it => it.TaskStatus == TaskerEnum.Finished && it.Id != id).ToList();
|
|
|
+ var data4 = data2.Where(it => it.TaskStatus == TaskerEnum.UnFinished && it.Id != id).ToList();
|
|
|
+
|
|
|
+ if ((data2.Count - 1) == (data3.Count + data4.Count))
|
|
|
+ {
|
|
|
+ var update2 = _sqlSugar.Updateable<Pm_TaskAllocation>()
|
|
|
+ .SetColumns(it => it.Status == TaskEnum.UnFinished)
|
|
|
+ .Where(it => it.Id == _taId)
|
|
|
+ .ExecuteCommand();
|
|
|
+ if (update2 < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("操作失败!");
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ _result.Msg = string.Format("操作成功!");
|
|
|
+ _result.Code = 0;
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
/// 任务确认完成
|
|
@@ -658,29 +802,43 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
public async Task<Result> _TaskScore(TaskAllocationScoreDto dto)
|
|
|
{
|
|
|
int portType = dto.PortType;
|
|
|
- int id = dto.Id;
|
|
|
if (portType == 1 || portType == 2 || portType == 3)
|
|
|
{
|
|
|
- if (id < 1)
|
|
|
+ if (dto.SubId < 1)
|
|
|
{
|
|
|
- _result.Msg = string.Format("请传入有效的Id参数!");
|
|
|
+ _result.Msg = string.Format("请传入有效的SubId参数!");
|
|
|
return _result;
|
|
|
}
|
|
|
|
|
|
- var data = await _sqlSugar.Queryable<Pm_TaskAllocation>()
|
|
|
- .Where(it => it.IsDel == 0 && it.Id == id && it.IsComplete == 1)
|
|
|
- .FirstAsync();
|
|
|
+ //var data = await _sqlSugar.Queryable<Pm_TaskAllocation>()
|
|
|
+ // .Where(it => it.IsDel == 0 )
|
|
|
+ // .FirstAsync();
|
|
|
+ //if (data == null)
|
|
|
+ //{
|
|
|
+ // _result.Msg = string.Format("本任务尚未由发布人确认任务完成,不可评分!");
|
|
|
+ // return _result;
|
|
|
+ //}
|
|
|
+
|
|
|
+ var data = _sqlSugar.Queryable<Pm_TaskRelevanceUser>()
|
|
|
+ .Where(it => it.IsDel == 0 && it.Id == dto.SubId)
|
|
|
+ .First();
|
|
|
if (data == null)
|
|
|
{
|
|
|
_result.Msg = string.Format("本任务尚未由发布人确认任务完成,不可评分!");
|
|
|
return _result;
|
|
|
}
|
|
|
|
|
|
+ if (data.TaskStatus != TaskerEnum.Finished)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("本任务尚未由发布人确认任务完成,不可评分!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
Pm_TaskRelevanceUser _TaskRelevanceUser = new Pm_TaskRelevanceUser() {
|
|
|
- Id = dto.Id,
|
|
|
+ Id = dto.SubId,
|
|
|
Score = dto.Score,
|
|
|
Remark = dto.ScoreRemark
|
|
|
-
|
|
|
};
|
|
|
|
|
|
var update = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>(_TaskRelevanceUser)
|
|
@@ -701,5 +859,88 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
|
|
|
}
|
|
|
return _result;
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 任务终止
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _TaskTermination(int taskId)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (taskId < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("请传入有效的taskId参数!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ var taskUpdate = _sqlSugar.Updateable<Pm_TaskAllocation>()
|
|
|
+ .SetColumns(it => it.Status == TaskEnum.TaskStop)
|
|
|
+ .Where(it => it.Id == taskId)
|
|
|
+ .ExecuteCommand();
|
|
|
+ if (taskUpdate < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = "任务终止失败!";
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ var subTaskUpdate = _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
+
|
|
|
+ .SetColumns(it => it.TaskStatus == TaskerEnum.TaskStop)
|
|
|
+ .Where(it => it.TAId == taskId)
|
|
|
+ .ExecuteCommand();
|
|
|
+
|
|
|
+ if (taskUpdate < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = "任务终止失败!";
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ _result.Msg = "操作成功!";
|
|
|
+ _result.Code = 0;
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 任务删除
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _TaskDel(int taskId)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (taskId < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = string.Format("请传入有效的taskId参数!");
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ var taskUpdate = _sqlSugar.Updateable<Pm_TaskAllocation>()
|
|
|
+ .SetColumns(it => it.IsDel == 1)
|
|
|
+ .Where(it => it.Id == taskId)
|
|
|
+ .ExecuteCommand();
|
|
|
+ if (taskUpdate < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = "任务删除失败!";
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ var subTaskUpdate = _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
|
|
|
+ .SetColumns(it => it.IsDel == 1)
|
|
|
+ .Where(it => it.TAId == taskId)
|
|
|
+ .ExecuteCommand();
|
|
|
+
|
|
|
+ if (taskUpdate < 1)
|
|
|
+ {
|
|
|
+ _result.Msg = "任务删除失败!";
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ _result.Msg = "操作成功!";
|
|
|
+ _result.Code = 0;
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
}
|
|
|
}
|