You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

246 lines
7.8 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Data;
using System.Collections;
using BP.DA;
using BP.En;
using BP.Port;
using BP.Sys;
using BP.Difference;
namespace BP.TA
{
/// <summary>
/// 流程类别属性
/// </summary>
public class SortAttr : EntityTreeAttr
{
/// <summary>
/// 组织编号
/// </summary>
public const string OrgNo = "OrgNo";
/// <summary>
/// 简称
/// </summary>
public const string ShortName = "ShortName";
/// <summary>
/// 域/系统编号
/// </summary>
public const string Domain = "Domain";
}
/// <summary>
/// 流程类别
/// </summary>
public class Sort : EntityTree
{
#region 属性.
/// <summary>
/// 组织编号
/// </summary>
public string OrgNo
{
get
{
return this.GetValStrByKey(SortAttr.OrgNo);
}
set
{
this.SetValByKey(SortAttr.OrgNo, value);
}
}
public string Domain
{
get
{
return this.GetValStrByKey(SortAttr.Domain);
}
set
{
this.SetValByKey(SortAttr.Domain, value);
}
}
#endregion 属性.
#region 构造方法
/// <summary>
/// 流程类别
/// </summary>
public Sort()
{
}
/// <summary>
/// 流程类别
/// </summary>
/// <param name="_No"></param>
public Sort(string _No) : base(_No) { }
public override UAC HisUAC
{
get
{
UAC uac = new UAC();
uac.IsDelete = false;
uac.IsInsert = false;
uac.IsUpdate = true;
return uac;
}
}
#endregion
/// <summary>
/// 流程类别Map
/// </summary>
public override Map EnMap
{
get
{
if (this._enMap != null)
return this._enMap;
Map map = new Map("TA_Sort", "流程类别");
map.AddTBStringPK(SortAttr.No, null, "编号", false, false, 1, 100, 20);
map.AddTBString(SortAttr.ParentNo, null, "父节点No", false, false, 0, 100, 30);
map.AddTBString(SortAttr.Name, null, "名称", true, false, 0, 200, 30, true);
map.AddTBString(SortAttr.ShortName, null, "简称", true, false, 0, 200, 30, true);
map.AddTBString(SortAttr.OrgNo, "0", "组织编号(0为系统组织)", false, false, 0, 150, 30);
map.SetHelperAlert(SortAttr.OrgNo, "用于区分不同组织的的流程,比如:一个集团有多个子公司,每个子公司都有自己的业务流程.");
map.AddTBString(SortAttr.Domain, null, "域/系统编号", true, false, 0, 100, 30);
map.SetHelperAlert(SortAttr.Domain, "用于区分不同系统的流程,比如:一个集团有多个子系统每个子系统都有自己的流程,就需要标记那些流程是那个子系统的.");
map.AddTBInt(SortAttr.Idx, 0, "目录显示顺序(发起列表)", true, false);
this._enMap = map;
return this._enMap;
}
}
/// <summary>
/// 创建的时候给他增加一个OrgNo。
/// </summary>
/// <returns></returns>
protected override bool beforeInsert()
{
if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single)
this.OrgNo = BP.Web.WebUser.OrgNo;
return base.beforeInsert();
}
protected override bool beforeUpdate()
{
////更新流程引擎控制表.
//string sql = "UPDATE WF_GenerWorkFlow SET Domain='" + this.Domain + "' WHERE FK_Sort='" + this.No + "'";
//DBAccess.RunSQL(sql);
//// sql = "UPDATE WF_Flow SET Domain='" + this.Domain + "' WHERE FK_Sort='" + this.No + "'";
////DBAccess.RunSQL(sql);
//if (Glo.CCBPMRunModel == CCBPMRunModel.Single)
// sql = "UPDATE WF_Emp SET StartFlows='' ";
//else
// sql = "UPDATE WF_Emp SET StartFlows='' ";
// DBAccess.RunSQL(sql);
return base.beforeUpdate();
}
/// <summary>
/// 删除之前的逻辑
/// </summary>
/// <returns></returns>
protected override bool beforeDelete()
{
////检查是否有流程?
//Paras ps = new Paras();
//ps.SQL = "SELECT COUNT(*) FROM TA_Template WHERE Sort=" + BP.Difference.SystemConfig.AppCenterDBVarStr + "fk_Sort";
//ps.Add("SortNo", this.No);
////string sql = "SELECT COUNT(*) FROM WF_Flow WHERE FK_Sort='" + fk_Sort + "'";
//if (DBAccess.RunSQLReturnValInt(ps) != 0)
// throw new Exception("err@该目录下有流程,您不能删除。");
////检查是否有子目录?
//ps = new Paras();
//ps.SQL = "SELECT COUNT(*) FROM WF_Sort WHERE ParentNo=" + BP.Difference.SystemConfig.AppCenterDBVarStr + "ParentNo";
//ps.Add("ParentNo", this.No);
////sql = "SELECT COUNT(*) FROM WF_Sort WHERE ParentNo='" + fk_Sort + "'";
//if (DBAccess.RunSQLReturnValInt(ps) != 0)
// throw new Exception("err@该目录下有子目录,您不能删除...");
return base.beforeDelete();
}
}
/// <summary>
/// 流程类别
/// </summary>
public class Sorts : EntitiesTree
{
/// <summary>
/// 流程类别s
/// </summary>
public Sorts() { }
/// <summary>
/// 得到它的 Entity
/// </summary>
public override Entity GetNewEntity
{
get
{
return new Sort();
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public override int RetrieveAll()
{
if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single)
return this.Retrieve(SortAttr.OrgNo, BP.Web.WebUser.OrgNo, SortAttr.Idx);
int i = base.RetrieveAll(SortAttr.Idx);
if (i == 0)
{
Sort fs = new Sort();
fs.Name = "流程树";
fs.No = "1";
fs.ParentNo = "0";
fs.Insert();
fs = new Sort();
fs.Name = "公文类";
fs.No = "01";
fs.ParentNo = "1";
fs.Insert();
fs = new Sort();
fs.Name = "办公类";
fs.No = "02";
fs.ParentNo = "1";
fs.Insert();
i = base.RetrieveAll(SortAttr.Idx);
}
return i;
}
#region 为了适应自动翻译成java的需要,把实体转换成List.
/// <summary>
/// 转化成 java list,C#不能调用.
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.IList<Sort> ToJavaList()
{
return (System.Collections.Generic.IList<Sort>)this;
}
/// <summary>
/// 转化成list
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.List<Sort> Tolist()
{
System.Collections.Generic.List<Sort> list = new System.Collections.Generic.List<Sort>();
for (int i = 0; i < this.Count; i++)
{
list.Add((Sort)this[i]);
}
return list;
}
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
}
}