using System; using System.Collections; using BP.DA; using BP.En; using BP.Sys; using BP.Difference; namespace BP.Port { /// /// 角色属性 /// public class StationAttr : EntityNoNameAttr { /// /// 角色类型 /// public const string FK_StationType = "FK_StationType"; /// 隶属组织 /// public const string OrgNo = "OrgNo"; /// /// 隶属部门 /// public const string FK_Dept = "FK_Dept"; /// /// 序号 /// public const string Idx = "Idx"; } /// /// 角色 /// public class Station : EntityNoName { #region 属性 public string FK_StationType { get { return this.GetValStrByKey(StationAttr.FK_StationType); } set { this.SetValByKey(StationAttr.FK_StationType, value); } } /// /// 组织编码 /// public string OrgNo { get { return this.GetValStrByKey(StationAttr.OrgNo); } set { this.SetValByKey(StationAttr.OrgNo, value); } } public int Idx { get { return this.GetValIntByKey(StationAttr.Idx); } set { this.SetValByKey(StationAttr.Idx, value); } } #endregion #region 实现基本的方方法 public override UAC HisUAC { get { UAC uac = new UAC(); uac.OpenForSysAdmin(); return uac; } } #endregion #region 构造方法 /// /// 角色 /// public Station() { } /// /// 角色 /// /// public Station(string _No) : base(_No) { } /// /// EnMap /// public override Map EnMap { get { if (this._enMap != null) return this._enMap; Map map = new Map("Port_Station", "角色"); // map.setCodeStruct("3"); // map.setIsAutoGenerNo(true); map.AddTBStringPK(StationAttr.No, null, "编号", true, true, 1, 50, 200); map.AddTBString(StationAttr.Name, null, "名称", true, false, 0, 100, 200); map.AddDDLEntities(StationAttr.FK_StationType, null, "类型", new StationTypes(), true); map.AddTBString(StationAttr.OrgNo, null, "隶属组织", false, false, 0, 50, 250); #region 根据组织结构类型不同. if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.SAAS) { map.AddHidden(StationAttr.OrgNo, "=", "@WebUser.OrgNo"); //加隐藏条件. } if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.GroupInc) { if (BP.Difference.SystemConfig.GroupStationModel == 0) map.AddHidden(StationAttr.OrgNo, "=", "@WebUser.OrgNo");//每个组织都有自己的岗责体系的时候. 加隐藏条件. //每个部门都有自己的角色体系. if (BP.Difference.SystemConfig.GroupStationModel == 2) { map.AddTBString(StationAttr.FK_Dept, null, "部门编号", true, false, 0, 100, 200); map.AddHidden(StationAttr.FK_Dept, "=", "@WebUser.FK_Dept");//每个组织都有自己的岗责体系的时候. 加隐藏条件. } } map.AddTBInt(StationAttr.Idx, 0, "顺序号", true, false); #endregion 根据组织结构类型不同. map.AddSearchAttr(StationAttr.FK_StationType); //角色下的用户. // map.AddDtl(new DeptEmpStations(), DeptEmpStationAttr.FK_Station, null, DtlEditerModel.DtlSearch, null); this._enMap = map; return this._enMap; } } #endregion protected override bool beforeInsert() { if (DataType.IsNullOrEmpty(this.No)) this.No = DBAccess.GenerGUID(); return base.beforeInsert(); } protected override bool beforeUpdateInsertAction() { if (DataType.IsNullOrEmpty(this.Name) == true) throw new Exception("请输入名称"); if (DataType.IsNullOrEmpty(this.FK_StationType) == true) throw new Exception("请选择类型"); if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single) this.OrgNo = BP.Web.WebUser.OrgNo; //每个部门都有自己的角色体系. if (BP.Difference.SystemConfig.GroupStationModel == 2) this.SetValByKey(StationAttr.FK_Dept, BP.Web.WebUser.DeptNo); BP.Sys.Base.Glo.WriteUserLog("新建/修改角色:" + this.ToJson(), "组织数据操作"); return base.beforeUpdateInsertAction(); } protected override bool beforeDelete() { BP.Sys.Base.Glo.WriteUserLog("删除角色:" + this.ToJson(), "组织数据操作"); return base.beforeDelete(); } } /// /// 角色s /// public class Stations : EntitiesNoName { /// /// 角色 /// public Stations() { } /// /// 得到它的 Entity /// public override Entity GetNewEntity { get { return new Station(); } } /// /// 查询全部 /// /// 排序 /// public override int RetrieveAll(string orderBy) { if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.Single) return base.RetrieveAll(orderBy); //集团模式下的角色体系: @0=每套组织都有自己的角色体系@1=所有的组织共享一套岗则体系. if (BP.Difference.SystemConfig.GroupStationModel == 1) return base.RetrieveAll(); //按照orgNo查询. return this.Retrieve("OrgNo", BP.Web.WebUser.OrgNo, orderBy); } /// /// 查询全部 /// /// public override int RetrieveAll() { if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.Single) return base.RetrieveAll("Idx"); //集团模式下的角色体系: @0=每套组织都有自己的角色体系@1=所有的组织共享一套岗则体系. if (BP.Difference.SystemConfig.GroupStationModel == 1) return base.RetrieveAll("Idx"); if (BP.Difference.SystemConfig.GroupStationModel == 0) return base.Retrieve(StationAttr.OrgNo, BP.Web.WebUser.OrgNo); if (BP.Difference.SystemConfig.GroupStationModel == 2) return base.Retrieve(StationAttr.FK_Dept, BP.Web.WebUser.DeptNo); //按照orgNo查询. return this.Retrieve("OrgNo", BP.Web.WebUser.OrgNo, "Idx"); } public override int RetrieveAllFromDBSource() { return this.RetrieveAll(); } public override int RetrieveAllFromDBSource(string orderBY) { return this.RetrieveAll(orderBY); } #region 为了适应自动翻译成java的需要,把实体转换成List. /// /// 转化成 java list,C#不能调用. /// /// List public System.Collections.Generic.IList ToJavaList() { return (System.Collections.Generic.IList)this; } /// /// 转化成list /// /// List public System.Collections.Generic.List Tolist() { System.Collections.Generic.List list = new System.Collections.Generic.List(); for (int i = 0; i < this.Count; i++) { list.Add((Station)this[i]); } return list; } #endregion 为了适应自动翻译成java的需要,把实体转换成List. } }