驰骋工作流引擎对节点接受人员规则的升级 15:57 2012/11/13
原来版本:
在接受人员规则属性里在以前的版本中有一个是【按上一个节点表单的FK_Emp字段计算】, 这种访
问规则之允许有一个接受人员并且只能是FK_Emp 字段。
现在升级为:
1, 可以指定上一个节点的字段.
2, 上一个节点字段可以允许有多个人员,多个人员可以用; , ;, 分开.
问题提出者:
何晓健
升级日期: 16:00 2012/11/13
升级代码: 请参考 WorkNode.cs GenerWorkerLists 部分.
其它:
此次升级与原来未升级的设置保持兼容。
string specEmpFields = this.HisNode.RecipientSQL;
if (string.IsNullOrEmpty(specEmpFields))
specEmpFields = "FK_Emp";
if (this.HisWork.EnMap.Attrs.Contains(specEmpFields) == false)
throw new Exception("@您设置的当前节点按照指定的人员,决定下一步的接受人
员,但是你没有在节点表单中设置该表单" + specEmpFields + "字段。");
//获取接受人并格式化接受人,
fk_emp = this.HisWork.GetValStringByKey(specEmpFields);
fk_emp = fk_emp.Replace(";", ",");
fk_emp = fk_emp.Replace(";", ",");
fk_emp = fk_emp.Replace(",", ",");
fk_emp = fk_emp.Replace("、", ",");
fk_emp = fk_emp.Replace(" ", "");
if (string.IsNullOrEmpty(fk_emp))
throw new Exception("@没有制定接受人,工作无法向下发送。");
string[] myemps = fk_emp.Split(',');
DataRow dr = dt.NewRow();
foreach (string s in myemps)
{
if (string.IsNullOrEmpty(s))
continue;
dr[0] = s;
dt.Rows.Add(dr);
}
return WorkerListWayOfDept(town, dt);