|
|
|
|
using System;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using BP.DA;
|
|
|
|
|
using BP.En;
|
|
|
|
|
using BP.Sys;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using BP.Port;
|
|
|
|
|
|
|
|
|
|
namespace BP.WF.Template
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点属性.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class NodeSheet : Entity
|
|
|
|
|
{
|
|
|
|
|
#region 属性.
|
|
|
|
|
public int NodeID
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValIntByKey(NodeAttr.NodeID);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(NodeAttr.NodeID, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValStringByKey(NodeAttr.Name);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(NodeAttr.Name, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion 属性.
|
|
|
|
|
|
|
|
|
|
#region 构造函数
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public NodeSheet() { }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 重写基类方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override Map EnMap
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (this._enMap != null)
|
|
|
|
|
return this._enMap;
|
|
|
|
|
|
|
|
|
|
//map 的基 础信息.
|
|
|
|
|
Map map = new Map("WF_Node", "节点");
|
|
|
|
|
|
|
|
|
|
#region 基础属性
|
|
|
|
|
map.AddTBIntPK(NodeAttr.NodeID, 0, "节点ID", true, true);
|
|
|
|
|
map.SetHelperUrl(NodeAttr.NodeID, "http://ccbpm.mydoc.io/?v=5404&t=17901");
|
|
|
|
|
map.AddTBInt(NodeAttr.Step, 0, "步骤(无计算意义)", true, false);
|
|
|
|
|
map.SetHelperUrl(NodeAttr.Step, "http://ccbpm.mydoc.io/?v=5404&t=17902");
|
|
|
|
|
//map.SetHelperAlert(NodeAttr.Step, "它用于节点的排序,正确的设置步骤可以让流程容易读写."); //使用alert的方式显示帮助信息.
|
|
|
|
|
map.AddTBString(NodeAttr.FK_Flow, null, "流程编号", false, false, 0, 5, 10, false, "http://ccbpm.mydoc.io/?v=5404&t=17023");
|
|
|
|
|
map.AddTBString(NodeAttr.Name, null, "名称", true, true, 0, 100, 10, false, "http://ccbpm.mydoc.io/?v=5404&t=17903");
|
|
|
|
|
#endregion 基础属性
|
|
|
|
|
|
|
|
|
|
#region 对应关系用户组。
|
|
|
|
|
//平铺模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupPanelModel(new BP.WF.Template.NodeTeams(), new BP.Port.Teams(),
|
|
|
|
|
BP.WF.Template.NodeTeamAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeTeamAttr.FK_Team, "节点绑定用户组");
|
|
|
|
|
|
|
|
|
|
//deptAndEmp列表模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupListModel(new BP.WF.Template.NodeTeams(), new BP.Port.Teams(),
|
|
|
|
|
BP.WF.Template.NodeTeamAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeTeamAttr.FK_Team, "节点绑定用户组AddTeamListModel", TeamAttr.FK_TeamType);
|
|
|
|
|
#endregion 对应关系用户组
|
|
|
|
|
|
|
|
|
|
#region 对角色.
|
|
|
|
|
//平铺模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupPanelModel(new BP.WF.Template.NodeStations(), new BP.Port.Stations(),
|
|
|
|
|
BP.WF.Template.NodeStationAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeStationAttr.FK_Station, "节点绑定角色", StationAttr.FK_StationType);
|
|
|
|
|
|
|
|
|
|
//列表模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupListModel(new BP.WF.Template.NodeStations(), new BP.Port.Stations(),
|
|
|
|
|
BP.WF.Template.NodeStationAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeStationAttr.FK_Station, "节点绑定角色AddTeamListModel", StationAttr.FK_StationType);
|
|
|
|
|
#endregion 对角色.
|
|
|
|
|
|
|
|
|
|
#region 节点绑定人员.
|
|
|
|
|
//平铺模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupPanelModel(new BP.Port.TeamEmps(), new BP.Port.Teams(),
|
|
|
|
|
BP.Port.TeamEmpAttr.FK_Team,
|
|
|
|
|
BP.Port.TeamEmpAttr.FK_Emp, "节点绑定人员", TeamAttr.FK_TeamType);
|
|
|
|
|
|
|
|
|
|
//列表模式.
|
|
|
|
|
map.AttrsOfOneVSM.AddGroupListModel(new BP.Port.TeamEmps(), new BP.Port.Teams(),
|
|
|
|
|
BP.Port.TeamEmpAttr.FK_Team,
|
|
|
|
|
BP.Port.TeamEmpAttr.FK_Emp, "节点绑定人员", TeamAttr.FK_TeamType);
|
|
|
|
|
|
|
|
|
|
//节点绑定部门. 节点绑定部门.
|
|
|
|
|
string defDeptVal = "@WebUser.FK_Dept";
|
|
|
|
|
if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single)
|
|
|
|
|
defDeptVal = "@WebUser.OrgNo";
|
|
|
|
|
|
|
|
|
|
//绑定部门的.
|
|
|
|
|
map.AttrsOfOneVSM.AddBranches(new BP.WF.Template.NodeDepts(), new BP.Port.Depts(),
|
|
|
|
|
BP.WF.Template.NodeDeptAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeDeptAttr.FK_Dept, "节点绑定部门AddBranches",
|
|
|
|
|
EmpAttr.Name, EmpAttr.No, defDeptVal, "@No=编号@Name=名称");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//节点绑定人员. 使用树杆与叶子的模式绑定.
|
|
|
|
|
map.AttrsOfOneVSM.AddBranchesAndLeaf(new BP.WF.Template.NodeEmps(),
|
|
|
|
|
new BP.Port.Emps(),
|
|
|
|
|
BP.WF.Template.NodeEmpAttr.FK_Node,
|
|
|
|
|
BP.WF.Template.NodeEmpAttr.FK_Emp,
|
|
|
|
|
"节点绑定接受人", EmpAttr.FK_Dept, EmpAttr.Name,
|
|
|
|
|
EmpAttr.No, defDeptVal, "@No=编号@Name=名称@FK_Dept=部门");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
map.AddDtl(new NodeToolbars(), NodeToolbarAttr.FK_Node);
|
|
|
|
|
|
|
|
|
|
// 傻瓜表单可以调用的子流程. 2014.10.19 去掉.
|
|
|
|
|
//map.AttrsOfOneVSM.Add(new BP.WF.NodeFlows(), new Flows(), NodeFlowAttr.FK_Node, NodeFlowAttr.FK_Flow, DeptAttr.Name, DeptAttr.No,
|
|
|
|
|
// "傻瓜表单可调用的子流程");
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
this._enMap = map;
|
|
|
|
|
return this._enMap;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点集合
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class NodeSheets : Entities
|
|
|
|
|
{
|
|
|
|
|
#region 构造方法
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点集合
|
|
|
|
|
/// </summary>
|
|
|
|
|
public NodeSheets()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public override Entity GetNewEntity
|
|
|
|
|
{
|
|
|
|
|
get { return new NodeSheet(); }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 为了适应自动翻译成java的需要,把实体转换成List.
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 转化成 java list,C#不能调用.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>List</returns>
|
|
|
|
|
public System.Collections.Generic.IList<NodeSheet> ToJavaList()
|
|
|
|
|
{
|
|
|
|
|
return (System.Collections.Generic.IList<NodeSheet>)this;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 转化成list
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>List</returns>
|
|
|
|
|
public System.Collections.Generic.List<NodeSheet> Tolist()
|
|
|
|
|
{
|
|
|
|
|
System.Collections.Generic.List<NodeSheet> list = new System.Collections.Generic.List<NodeSheet>();
|
|
|
|
|
for (int i = 0; i < this.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
list.Add((NodeSheet)this[i]);
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
|
|
|
|
|
}
|
|
|
|
|
}
|