diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.cshtml
index c9e4f65f6..beebc1a61 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.cshtml
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.cshtml
@@ -199,6 +199,7 @@
添加节点执行人
添加表字段
添加分管校长
+ 添加部门负责人
移除
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.js
index b03b2762c..17c49f579 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.js
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFScheme/NodeForm.js
@@ -185,6 +185,9 @@ var bootstrap = function ($, learun) {
case '7':
return '分管校长';
break;
+ case '8':
+ return '部门负责人';
+ break;
}
}
},
@@ -350,6 +353,19 @@ var bootstrap = function ($, learun) {
}
});
});
+ //添加部门负责人
+ $('#lr_form_deptmaster').on('click', function () {
+ learun.layerConfirm('是否确认增加部门负责人?', function (res) {
+ if (res) {
+ var data = { auditorId: 'bmfzrid', type: '8', auditorName: '部门负责人' };
+ if (!isRepeat(data.auditorId)) {
+ data.id = learun.newGuid();
+ auditors.push(data);
+ $('#auditor_girdtable').jfGridSet('refreshdata', auditors);
+ }
+ }
+ });
+ });
/*表单添加*/
$('#workform_girdtable').jfGrid({
diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs
index 32901ca50..bd0438667 100644
--- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs
@@ -534,7 +534,7 @@ namespace Learun.Application.WorkFlow
foreach (var item in nodeAuditorList)
{
switch (item.type)//1.岗位2.角色3.用户4.上下级5.表单指定字段6.某一个节点执行人
- //liang 20200813 新增type=7 分管校长
+ //liang 20200813 新增type=7 分管校长 20210706增加部门负责人type=8
{
case 1:// 岗位
var userRelationList = userRelationIBLL.GetUserIdList(item.auditorId);
@@ -547,17 +547,35 @@ namespace Learun.Application.WorkFlow
{
if (userEntity.F_DepartmentId == paramConfig.CreateUser.DepartmentId)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
}
}
else if (item.condition == 2)
{
if (userEntity.F_CompanyId == paramConfig.CreateUser.CompanyId)
+ {
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
+ {
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
+ }
+ }
+ else
+ {
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
list.Add(new NWFUserInfo()
{
@@ -567,15 +585,6 @@ namespace Learun.Application.WorkFlow
});
}
}
- else
- {
- list.Add(new NWFUserInfo()
- {
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
- }
}
}
break;
@@ -591,24 +600,30 @@ namespace Learun.Application.WorkFlow
{
if (userEntity.F_DepartmentId == paramConfig.CreateUser.DepartmentId)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
}
}
else if (item.condition == 2)
{
if (userEntity.F_CompanyId == paramConfig.CreateUser.CompanyId)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
}
}
else if (item.condition == 3) // 需要存在上级关系
@@ -619,12 +634,15 @@ namespace Learun.Application.WorkFlow
if (postIBLL.IsUp(postList1, postList2))
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
}
}
else if (item.condition == 4) // 需要存在下级关系
@@ -634,6 +652,21 @@ namespace Learun.Application.WorkFlow
var postList2 = userRelationIBLL.GetObjectIds(userEntity.F_UserId, 2);// 节点审核人岗位
if (postIBLL.IsDown(postList1, postList2))
+ {
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
+ {
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
+ }
+ }
+ else
+ {
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
list.Add(new NWFUserInfo()
{
@@ -643,15 +676,6 @@ namespace Learun.Application.WorkFlow
});
}
}
- else
- {
- list.Add(new NWFUserInfo()
- {
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
- }
}
}
break;
@@ -664,12 +688,15 @@ namespace Learun.Application.WorkFlow
var userEntity3 = userIBLL.GetEntityByUserId(userItem);
if (userEntity3 != null)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity3.F_UserId))
{
- Id = userEntity3.F_UserId,
- Account = userEntity3.F_Account,
- Name = userEntity3.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity3.F_UserId,
+ Account = userEntity3.F_Account,
+ Name = userEntity3.F_RealName
+ });
+ }
}
}
}
@@ -695,12 +722,15 @@ namespace Learun.Application.WorkFlow
var userEntity = userIBLL.GetEntityByUserId(userRelationItem.F_UserId);
if (userEntity != null)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity.F_UserId))
{
- Id = userEntity.F_UserId,
- Account = userEntity.F_Account,
- Name = userEntity.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity.F_UserId,
+ Account = userEntity.F_Account,
+ Name = userEntity.F_RealName
+ });
+ }
}
}
break;
@@ -723,12 +753,15 @@ namespace Learun.Application.WorkFlow
var userEntity5 = userIBLL.GetEntityByUserId(row[0].ToString());
if (userEntity5 != null)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity5.F_UserId))
{
- Id = userEntity5.F_UserId,
- Account = userEntity5.F_Account,
- Name = userEntity5.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity5.F_UserId,
+ Account = userEntity5.F_Account,
+ Name = userEntity5.F_RealName
+ });
+ }
}
}
}
@@ -741,12 +774,15 @@ namespace Learun.Application.WorkFlow
var userEntity6 = userIBLL.GetEntityByUserId(task.F_CreateUserId);
if (userEntity6 != null)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity6.F_UserId))
{
- Id = userEntity6.F_UserId,
- Account = userEntity6.F_Account,
- Name = userEntity6.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity6.F_UserId,
+ Account = userEntity6.F_Account,
+ Name = userEntity6.F_RealName
+ });
+ }
}
}
break;
@@ -782,12 +818,60 @@ namespace Learun.Application.WorkFlow
if (null != userEntity7)
{
- list.Add(new NWFUserInfo()
+ if (!list.Exists(m => m.Id == userEntity7.F_UserId))
{
- Id = userEntity7.F_UserId,
- Account = userEntity7.F_Account,
- Name = userEntity7.F_RealName
- });
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity7.F_UserId,
+ Account = userEntity7.F_Account,
+ Name = userEntity7.F_RealName
+ });
+ }
+ }
+ }
+ break;
+ case 8://liang 20210706新增部门负责人判断
+ //获取流程创建用户的分管领导
+ //判断用户所在部门是否有上级部门:如果有,找到上级部门的负责人;如果没有,找本部门的分管校长;
+ string deptMasterId = "";
+ var selfDepart2 = departmentIBLL.GetEntity(paramConfig.CreateUser.DepartmentId);
+ if (selfDepart2 != null)
+ {
+ //本部门存在部门负责人
+ if (!string.IsNullOrEmpty(selfDepart2.F_Manager))
+ {
+ deptMasterId = selfDepart2.F_Manager;
+ }
+ else
+ {
+ //本部门不存在就找上级部门
+ var parentDepart = departmentIBLL.GetEntity(selfDepart2.F_ParentId);
+ if (parentDepart != null)
+ {
+ if (!string.IsNullOrEmpty(selfDepart2.F_Manager))
+ {
+ deptMasterId = parentDepart.F_Manager;
+ }
+ }
+ }
+ }
+ //找到部门负责人就增加审批人
+ if (!string.IsNullOrEmpty(deptMasterId))
+ {
+ var userEntity7 = userIBLL.GetEntityByUserId(deptMasterId);
+
+ if (null != userEntity7)
+ {
+ if (!list.Exists(m => m.Id == userEntity7.F_UserId))
+ {
+ list.Add(new NWFUserInfo()
+ {
+ Id = userEntity7.F_UserId,
+ Account = userEntity7.F_Account,
+ Name = userEntity7.F_RealName
+ });
+ }
+
}
}