Commit a20d9c92 authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents cd4ce271 e63610b3
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.OKR
{
public class OKRPersonalDimension
{
/// <summary>
/// 员工id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 员工名称
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 员工头像
/// </summary>
public string UserIcon { get; set; }
/// <summary>
/// 员工部门
/// </summary>
public int Dept_Id { get; set; }
/// <summary>
/// 填写量
/// </summary>
public int ObjectiveNCount { get; set; }
/// <summary>
/// 对齐量
/// </summary>
public int OBjectiveRelation { get; set; }
/// <summary>
/// 打分量
/// </summary>
public decimal ScoreCount { get; set; }
/// <summary>
/// 类型 1-我的上级,2-我的下级,3-我的同级,4-我的关注
/// </summary>
public int Type { get; set; }
}
}
...@@ -6113,6 +6113,244 @@ namespace Edu.Module.OKR ...@@ -6113,6 +6113,244 @@ namespace Edu.Module.OKR
} }
#endregion #endregion
/// <summary>
/// 获取个人维度打分以及目标量
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="id"></param>
/// <returns></returns>
public List<RB_OKR_Objective_ViewModel> GetOKRPersonalAlignList(int group_Id, int periodId, string CreateBys)
{
return oKR_ObjectiveRepository.GetOKRPersonalAlignList(group_Id, periodId, CreateBys);
}
/// <summary>
/// 获取个人维度对齐量
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="id"></param>
/// <returns></returns>
public List<RB_OKR_Objective_ViewModel> GetOKRPersonalRelationAlignList(int group_Id, int periodId, string CreateBys, int id)
{
return oKR_ObjectiveRepository.GetOKRPersonalRelationAlignList(group_Id, periodId, CreateBys, id);
}
/// <summary>
/// 获取左边人员列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public List<OKRPersonalDimension> GetOKRPersonalDimensionList(UserInfo userInfo)
{
var deptModel = departmentRepository.GetEntity(userInfo.DeptId);
List<int> UserIdList = new List<int>();
List<int> ParentIdList = new List<int>();
List<OKRPersonalDimension> allList = new List<OKRPersonalDimension>();
#region 我的直属上级
List<Model.ViewModel.User.Employee_ViewModel> ZSList = new List<Model.ViewModel.User.Employee_ViewModel>();
var accountModel = accountRepository.GetEntity(userInfo.Id);
if (accountModel.DirectSupervisor > 0)
{
var directModel = accountRepository.GetEmployeeInfo(accountModel.DirectSupervisor);
allList.Add(new OKRPersonalDimension()
{
Id = directModel.Id,
EmployeeName = directModel.EmployeeName,
UserIcon = directModel.UserIcon,
Dept_Id = directModel.Dept_Id,
Type = 1
});
UserIdList.Add(directModel.Id);
ParentIdList.Add(directModel.Id);
}
else
{
//根据部门查询
string ManagerIds = "";
if (("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{
//说明自己是当前部门的主管 再查上级部门主管
var deptpModel = departmentRepository.GetEntity(deptModel.ParentId);
ManagerIds = deptpModel?.ManagerIds ?? "";
}
else
{
ManagerIds = deptModel.ManagerIds;
}
if (!string.IsNullOrEmpty(ManagerIds))
{
var list = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { QIds = ManagerIds });
foreach (var item in list)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 1
});
UserIdList.Add(item.Id);
ParentIdList.Add(item.Id);
}
}
}
#endregion
#region 我的直属下级
List<Model.ViewModel.User.Employee_ViewModel> ChildList = new List<Model.ViewModel.User.Employee_ViewModel>();
var emList = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, DirectSupervisor = userInfo.Id });
if (emList.Any())
{
foreach (var item in emList)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 2
});
UserIdList.Add(item.Id);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
var xjdlist = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, ManagerIds = userInfo.Id.ToString() });
if (xjdlist.Any())
{
//查询该部门下所有人
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QDeptIds = string.Join(",", xjdlist.Select(x => x.DeptId)) });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 2
});
UserIdList.Add(item.Id);
}
}
#endregion
#region 我的同级
List<Model.ViewModel.User.Employee_ViewModel> SiblingList = new List<Model.ViewModel.User.Employee_ViewModel>();
if (ParentIdList.Any())
{
var em2List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, DirectSupervisorIds = string.Join(",", ParentIdList) });
em2List = em2List.Where(x => x.Id != userInfo.Id && !UserIdList.Contains(x.Id)).ToList();
foreach (var item in em2List)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 3
});
UserIdList.Add(item.Id);
}
//查询部门负责人 负责的所有部门
var dlist = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, ManagerIds = string.Join(",", ParentIdList) });
if (dlist.Any())
{
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QDeptIds = string.Join(",", dlist.Select(x => x.DeptId)) });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 3
});
UserIdList.Add(item.Id);
}
}
else
{
//表示自己也是部门负责人 上级所在部门下的所有部门的负责人
var d2list = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, QParentIds = string.Join(",", ZSList.Select(x => x.Dept_Id)) });
string ManagerIds = string.Join(",", d2list.Where(x => !string.IsNullOrEmpty(x.ManagerIds)).Select(x => x.ManagerIds));
if (!string.IsNullOrEmpty(ManagerIds))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QIds = ManagerIds });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 3
});
UserIdList.Add(item.Id);
}
}
}
}
}
else
{
//继续查询同部门的 也算同级
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, Dept_Id = userInfo.DeptId });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
allList.Add(new OKRPersonalDimension()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 3
});
UserIdList.Add(item.Id);
}
}
}
#endregion
#region 我的关注
//List<Model.ViewModel.User.Employee_ViewModel> AttentionList = new List<Model.ViewModel.User.Employee_ViewModel>();
//var alist = oKR_AttentionRepository.GetList(new RB_OKR_Attention_ViewModel() { Group_Id = userInfo.Group_Id, AccountId = userInfo.Id });
//if (alist.Any())
//{
// string aids = string.Join(",", alist.Select(x => x.AttentionId));
// var em3List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { QIds = aids });
// foreach (var item in em3List)
// {
// allList.Add(new OKRPersonalDimension()
// {
// Id = item.Id,
// EmployeeName = item.EmployeeName,
// UserIcon = item.UserIcon,
// Dept_Id = item.Dept_Id,
// Type = 3
// });
// UserIdList.Add(item.Id);
// }
//}
#endregion
return allList;
}
} }
} }
...@@ -219,7 +219,8 @@ where {where} order by o.Sort asc"; ...@@ -219,7 +219,8 @@ where {where} order by o.Sort asc";
{ {
sql += $@" AND Sort > {startSort} "; sql += $@" AND Sort > {startSort} ";
} }
if (endSort > 0) { if (endSort > 0)
{
sql += $@" and Sort < {endSort} "; sql += $@" and Sort < {endSort} ";
} }
return Execute(sql) > 0; return Execute(sql) > 0;
...@@ -272,5 +273,43 @@ LEFT JOIN RB_OKR_Objective o2 on re.ParentId = o2.Id ...@@ -272,5 +273,43 @@ LEFT JOIN RB_OKR_Objective o2 on re.ParentId = o2.Id
WHERE o1.Group_Id={group_Id} and o1.`Status` <>5 and o2.`Status` <>5 and o1.PeriodId ={periodId} and o1.CreateBy in ({id}) GROUP BY o2.CreateBy"; WHERE o1.Group_Id={group_Id} and o1.`Status` <>5 and o2.`Status` <>5 and o1.PeriodId ={periodId} and o1.CreateBy in ({id}) GROUP BY o2.CreateBy";
return Get<RB_OKR_Objective_ViewModel>(sql).ToList(); return Get<RB_OKR_Objective_ViewModel>(sql).ToList();
} }
/// <summary>
/// 获取个人维度打分以及目标量
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="id"></param>
/// <returns></returns>
public List<RB_OKR_Objective_ViewModel> GetOKRPersonalAlignList(int group_Id, int periodId, string CreateBys)
{
string where = string.Empty;
if (!string.IsNullOrWhiteSpace(CreateBys))
{
where = $" and a.CreateBy in({CreateBys})";
}
string sql = $@"SELECT COUNT(*) as ChildNum,a.CreateBy ,SUM(Score) as Score from rb_okr_objective as a LEFT JOIN rb_okr_objectiverelation as b on a.Id=b.ObjectiveId
WHERE a.Group_Id={group_Id} and a.`Status` <>5 and a.PeriodId ={periodId} {where}
GROUP BY a.CreateBy";
return Get<RB_OKR_Objective_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取个人维度对齐量
/// </summary>
/// <param name="group_Id"></param>
/// <param name="periodId"></param>
/// <param name="id"></param>
/// <returns></returns>
public List<RB_OKR_Objective_ViewModel> GetOKRPersonalRelationAlignList(int group_Id, int periodId, string CreateBys,int id)
{
string sql = $@"SELECT COUNT(0) as ChildNum,o2.CreateBy FROM
rb_okr_objectiverelation or1
LEFT JOIN rb_okr_objective o1 on or1.ObjectiveId = o1.Id
LEFT JOIN rb_okr_objective o2 on or1.ParentId = o2.Id
WHERE o1.CreateBy in({CreateBys}) and o2.CreateBy ={id} and o1.`Status`=2 and o1.Group_Id={group_Id} and o1.PeriodId ={periodId} and o2.Group_Id={group_Id} and o2.PeriodId ={periodId} and o2.`Status`=2 group by o1.CreateBy ";
return Get<RB_OKR_Objective_ViewModel>(sql).ToList();
}
} }
} }
...@@ -414,7 +414,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -414,7 +414,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOKRMyObjectiveInfo() { public ApiResult GetOKRMyObjectiveInfo()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int ObjectiveId = parms.GetInt("ObjectiveId", 0); int ObjectiveId = parms.GetInt("ObjectiveId", 0);
...@@ -649,15 +650,18 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -649,15 +650,18 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetOKRMyKeyResultWeight() { public ApiResult SgetOKRMyKeyResultWeight()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int KeyResultId = parms.GetInt("KeyResultId", 0); int KeyResultId = parms.GetInt("KeyResultId", 0);
decimal Weight = parms.GetDecimal("Weight"); decimal Weight = parms.GetDecimal("Weight");
if (KeyResultId <= 0) { if (KeyResultId <= 0)
{
return ApiResult.ParamIsNull("请传递结果Id"); return ApiResult.ParamIsNull("请传递结果Id");
} }
if (Weight < 0 || Weight > 100) { if (Weight < 0 || Weight > 100)
{
return ApiResult.ParamIsNull("权重值有误"); return ApiResult.ParamIsNull("权重值有误");
} }
...@@ -669,7 +673,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -669,7 +673,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetOKRMyKeyResultScore() { public ApiResult SgetOKRMyKeyResultScore()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int KeyResultId = parms.GetInt("KeyResultId", 0); int KeyResultId = parms.GetInt("KeyResultId", 0);
...@@ -714,7 +719,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -714,7 +719,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetOKRMyObjectiveParent() { public ApiResult SgetOKRMyObjectiveParent()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int ObjectiveId = parms.GetInt("ObjectiveId", 0); int ObjectiveId = parms.GetInt("ObjectiveId", 0);
...@@ -737,7 +743,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -737,7 +743,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -814,7 +821,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -814,7 +821,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOKRPermissionList() { public ApiResult GetOKRPermissionList()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int TargetId = parms.GetInt("TargetId", 0); int TargetId = parms.GetInt("TargetId", 0);
...@@ -843,7 +851,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -843,7 +851,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetOKRPermissionInfo() { public ApiResult SgetOKRPermissionInfo()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PermissionType = parms.GetInt("PermissionType", 0); int PermissionType = parms.GetInt("PermissionType", 0);
...@@ -857,7 +866,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -857,7 +866,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.ParamIsNull("请传递目标值"); return ApiResult.ParamIsNull("请传递目标值");
} }
if (string.IsNullOrEmpty(List)) { if (string.IsNullOrEmpty(List))
{
return ApiResult.ParamIsNull("请传递列表数据"); return ApiResult.ParamIsNull("请传递列表数据");
} }
List<RB_OKR_Permission_ViewModel> dmodel = JsonHelper.DeserializeObject<List<RB_OKR_Permission_ViewModel>>(List); List<RB_OKR_Permission_ViewModel> dmodel = JsonHelper.DeserializeObject<List<RB_OKR_Permission_ViewModel>>(List);
...@@ -890,7 +900,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -890,7 +900,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -904,7 +915,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -904,7 +915,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOKRMyEmployeeList() { public ApiResult GetOKRMyEmployeeList()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
var obj = okrPeriodModule.GetOKRMyEmployeeList(userInfo); var obj = okrPeriodModule.GetOKRMyEmployeeList(userInfo);
...@@ -921,7 +933,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -921,7 +933,8 @@ namespace Edu.WebApi.Controllers.OKR
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0); int PeriodId = parms.GetInt("PeriodId", 0);
if (PeriodId <= 0) { if (PeriodId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -1022,11 +1035,13 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1022,11 +1035,13 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOKREmployeeAttention() { public ApiResult GetOKREmployeeAttention()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int UserId = parms.GetInt("UserId", 0); int UserId = parms.GetInt("UserId", 0);
if (UserId <= 0) { if (UserId <= 0)
{
return ApiResult.ParamIsNull("请传递用户id"); return ApiResult.ParamIsNull("请传递用户id");
} }
...@@ -1038,7 +1053,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1038,7 +1053,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetOKREmployeeAttention() { public ApiResult SgetOKREmployeeAttention()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int UserId = parms.GetInt("UserId", 0); int UserId = parms.GetInt("UserId", 0);
...@@ -1053,7 +1069,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1053,7 +1069,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -1084,7 +1101,7 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1084,7 +1101,7 @@ namespace Edu.WebApi.Controllers.OKR
return ApiResult.Failed("只能审核他人目标"); return ApiResult.Failed("只能审核他人目标");
} }
return okrPeriodModule.GetOKRObjectiveAuditList(PeriodId, UserId, userInfo); return okrPeriodModule.GetOKRObjectiveAuditList(PeriodId, UserId, userInfo);
} }
/// <summary> /// <summary>
...@@ -1107,13 +1124,14 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1107,13 +1124,14 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.ParamIsNull("请传递类型"); return ApiResult.ParamIsNull("请传递类型");
} }
string msg = okrPeriodModule.SetOKRObjectiveAudit(ObjectiveId, Type, Remark, userInfo); string msg = okrPeriodModule.SetOKRObjectiveAudit(ObjectiveId, Type, Remark, userInfo);
if (msg == "") if (msg == "")
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -1153,11 +1171,13 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1153,11 +1171,13 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult ClearMyEmployeeUpdateNotification() { public ApiResult ClearMyEmployeeUpdateNotification()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int UserId = parms.GetInt("UserId", 0); int UserId = parms.GetInt("UserId", 0);
if (UserId <= 0) { if (UserId <= 0)
{
return ApiResult.ParamIsNull("请传递用户id"); return ApiResult.ParamIsNull("请传递用户id");
} }
...@@ -1166,7 +1186,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1166,7 +1186,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -1176,7 +1197,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1176,7 +1197,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SgetMyUserUpdateNotification() { public ApiResult SgetMyUserUpdateNotification()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
string UserIds = parms.GetStringValue("UserIds"); string UserIds = parms.GetStringValue("UserIds");
...@@ -1211,7 +1233,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1211,7 +1233,8 @@ namespace Edu.WebApi.Controllers.OKR
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0); int PeriodId = parms.GetInt("PeriodId", 0);
if (PeriodId <= 0) { if (PeriodId <= 0)
{
return ApiResult.ParamIsNull("请传递周期id"); return ApiResult.ParamIsNull("请传递周期id");
} }
...@@ -1224,7 +1247,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1224,7 +1247,8 @@ namespace Edu.WebApi.Controllers.OKR
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOKRMyAlignViewNext() { public ApiResult GetOKRMyAlignViewNext()
{
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString()); JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0); int PeriodId = parms.GetInt("PeriodId", 0);
...@@ -1234,7 +1258,8 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1234,7 +1258,8 @@ namespace Edu.WebApi.Controllers.OKR
{ {
return ApiResult.ParamIsNull("请传递周期id"); return ApiResult.ParamIsNull("请传递周期id");
} }
if (ObjectiveId <= 0) { if (ObjectiveId <= 0)
{
return ApiResult.ParamIsNull("请传递关联目标id"); return ApiResult.ParamIsNull("请传递关联目标id");
} }
...@@ -1324,10 +1349,12 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1324,10 +1349,12 @@ namespace Edu.WebApi.Controllers.OKR
PeriodId = base.ParmJObj.GetInt("PeriodId", 0), PeriodId = base.ParmJObj.GetInt("PeriodId", 0),
AccountId = base.ParmJObj.GetInt("AccountId", 0) AccountId = base.ParmJObj.GetInt("AccountId", 0)
}; };
if (query.PeriodId <= 0) { if (query.PeriodId <= 0)
{
return ApiResult.ParamIsNull("请传递期数"); return ApiResult.ParamIsNull("请传递期数");
} }
if (query.AccountId <= 0) { if (query.AccountId <= 0)
{
return ApiResult.ParamIsNull("请传递用户id"); return ApiResult.ParamIsNull("请传递用户id");
} }
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
...@@ -1346,7 +1373,7 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1346,7 +1373,7 @@ namespace Edu.WebApi.Controllers.OKR
item.CreateTimeStr = StringHelper.DateFormatToString(item.CreateTime); item.CreateTimeStr = StringHelper.DateFormatToString(item.CreateTime);
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
pageModel.PageData = list.Select(x => new { x.CreateByName,x.Id, x.CreateByIco, x.UpdateByName, x.Content, x.CreateTimeStr }); pageModel.PageData = list.Select(x => new { x.CreateByName, x.Id, x.CreateByIco, x.UpdateByName, x.Content, x.CreateTimeStr });
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
...@@ -1363,13 +1390,16 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1363,13 +1390,16 @@ namespace Edu.WebApi.Controllers.OKR
Content = base.ParmJObj.GetStringValue("Content"), Content = base.ParmJObj.GetStringValue("Content"),
AccountId = base.ParmJObj.GetInt("AccountId", 0) AccountId = base.ParmJObj.GetInt("AccountId", 0)
}; };
if (extModel.PeriodId <= 0) { if (extModel.PeriodId <= 0)
{
return ApiResult.ParamIsNull("请传递周期id"); return ApiResult.ParamIsNull("请传递周期id");
} }
if (extModel.AccountId <= 0) { if (extModel.AccountId <= 0)
{
return ApiResult.ParamIsNull("请传递用户id"); return ApiResult.ParamIsNull("请传递用户id");
} }
if (string.IsNullOrEmpty(extModel.Content)) { if (string.IsNullOrEmpty(extModel.Content))
{
return ApiResult.ParamIsNull("请传递内容"); return ApiResult.ParamIsNull("请传递内容");
} }
extModel.CreateBy = base.UserInfo.Id; extModel.CreateBy = base.UserInfo.Id;
...@@ -1411,7 +1441,60 @@ namespace Edu.WebApi.Controllers.OKR ...@@ -1411,7 +1441,60 @@ namespace Edu.WebApi.Controllers.OKR
#endregion #endregion
#region 数据看板 #region 个人端数据看板
/// <summary>
/// 获取个人维度
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetOKRPersonalDimensionList()
{
var userInfo = base.UserInfo;
List<OKRPersonalDimension> allList = okrPeriodModule.GetOKRPersonalDimensionList(userInfo);
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0);
if (PeriodId <= 0)
{
return ApiResult.ParamIsNull();
}
if (allList == null || !allList.Any(x => x.Type == 2))
{
return ApiResult.Failed("您没有下级");
}
else
{
decimal objectiveRate = 0;
decimal objectiveRelationRate = 0;
decimal scoreRate = 0;
string createBys = string.Join(",", allList.Where(x => x.Type == 2).Select(x => x.Id));
var obj = okrPeriodModule.GetOKRPersonalAlignList(userInfo.Group_Id, PeriodId, createBys);
if (obj != null && obj.Any())
{
var objRelation = okrPeriodModule.GetOKRPersonalRelationAlignList(userInfo.Group_Id, PeriodId, createBys, userInfo.Id);
foreach (var item in allList.Where(x => x.Type == 2))
{
item.ObjectiveNCount = obj.Where(x => x.CreateBy == item.Id).Sum(x => x.ChildNum);
item.OBjectiveRelation = objRelation.Where(x => x.CreateBy == item.Id).Sum(x => x.ChildNum);
item.ScoreCount = obj.Where(x => x.CreateBy == item.Id).Sum(x => x.Score);
}
int allChildrenCount = allList.Where(x => x.Type == 2).Count();
objectiveRate = decimal.Round(obj.GroupBy(x => x.CreateBy).Count() / allChildrenCount, 2);
objectiveRelationRate = decimal.Round(objRelation.GroupBy(x => x.CreateBy).Count() / allChildrenCount, 2);
scoreRate = decimal.Round(obj.Where(x => x.Score > 0).GroupBy(x => x.CreateBy).Count() / allChildrenCount, 2);
}
var resutl = new
{
MyChildrenList = allList.Where(x => x.Type == 2),
objectiveRate,
objectiveRelationRate,
scoreRate
};
return ApiResult.Success("", resutl);
}
}
#endregion #endregion
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment