using System; using System.Data; using BP.DA; using BP.En; using BP.Port; namespace BP.GPM { /// /// 操作员 的摘要说明。 /// public class GPMEmp : EntityNoName { #region 扩展属性 /// /// 该人员是否被禁用. /// public bool IsEnable { get { if (this.No.Equals("admin") == true) return true; string sql = "SELECT COUNT(FK_Emp) FROM Port_DeptEmpStation WHERE FK_Emp='" + this.No + "'"; if (DBAccess.RunSQLReturnValInt(sql, 0) == 0) return false; sql = "SELECT COUNT(FK_Emp) FROM Port_DeptEmp WHERE FK_Emp='" + this.No + "'"; if (DBAccess.RunSQLReturnValInt(sql, 0) == 0) return false; return true; } } /// /// 拼音 /// public string PinYin { get { return this.GetValStrByKey(EmpAttr.PinYin); } set { this.SetValByKey(EmpAttr.PinYin, value); } } /// /// 主要的部门。 /// public Dept HisDept { get { try { return new Dept(this.FK_Dept); } catch (Exception ex) { throw new Exception("@获取操作员" + this.No + "部门[" + this.FK_Dept + "]出现错误,可能是系统管理员没有给他维护部门.@" + ex.Message); } } } /// /// 部门 /// public string FK_Dept { get { return this.GetValStrByKey(EmpAttr.FK_Dept); } set { this.SetValByKey(EmpAttr.FK_Dept, value); } } public string FK_DeptText { get { return this.GetValRefTextByKey(EmpAttr.FK_Dept); } } public string Tel { get { return this.GetValStrByKey(EmpAttr.Tel); } set { this.SetValByKey(EmpAttr.Tel, value); } } public string Email { get { return this.GetValStrByKey(EmpAttr.Email); } set { this.SetValByKey(EmpAttr.Email, value); } } /// /// 密码 /// public string Pass { get { return this.GetValStrByKey(EmpAttr.Pass); } set { this.SetValByKey(EmpAttr.Pass, value); } } /// /// 顺序号 /// public int Idx { get { return this.GetValIntByKey(EmpAttr.Idx); } set { this.SetValByKey(EmpAttr.Idx, value); } } #endregion #region 公共方法 /// /// 检查密码(可以重写此方法) /// /// 密码 /// 是否匹配成功 public bool CheckPass(string pass) { if (this.Pass == pass) return true; return false; } #endregion 公共方法 #region 构造函数 /// /// 操作员 /// public GPMEmp() { } /// /// 操作员 /// /// 编号 public GPMEmp(string no) : base(no) { } public override UAC HisUAC { get { UAC uac = new UAC(); uac.OpenForAppAdmin(); return uac; } } /// /// 重写基类方法 /// public override Map EnMap { get { if (this._enMap != null) return this._enMap; Map map = new Map("Port_Emp", "用户"); #region 字段 /*关于字段属性的增加 */ map.AddTBStringPK(EmpAttr.No, null, "登陆账号", true, false, 1, 50, 100); map.AddTBString(EmpAttr.Name, null, "名称", true, false, 0, 200, 100); map.AddTBString(EmpAttr.Pass, "123", "密码", false, false, 0, 100, 10); map.AddDDLEntities(EmpAttr.FK_Dept, null, "主要部门", new BP.Port.Depts(), false); map.AddTBString(EmpAttr.Tel, null, "电话", true, false, 0, 20, 130); map.AddTBString(EmpAttr.Email, null, "邮箱", true, false, 0, 100, 132, true); map.AddTBString(EmpAttr.PinYin, null, "拼音", true, false, 0, 500, 132, true); // 0=不签名 1=图片签名, 2=电子签名. // map.AddDDLSysEnum(EmpAttr.SignType, 0, "签字类型", true,true, EmpAttr.SignType, // "@0=不签名@1=图片签名@2=电子签名"); map.AddTBInt(EmpAttr.Idx, 0, "序号", true, false); #endregion 字段 map.AddSearchAttr(EmpAttr.FK_Dept); // map.AddSearchAttr(EmpAttr.SignType); //节点绑定部门. 节点绑定部门. map.AttrsOfOneVSM.AddBranches(new EmpMenus(), new BP.GPM.Menus(), BP.GPM.EmpMenuAttr.FK_Emp, BP.GPM.EmpMenuAttr.FK_Menu, "人员菜单", EmpAttr.Name, EmpAttr.No, "0"); RefMethod rm = new RefMethod(); rm.Title = "设置图片签名"; rm.ClassMethodName = this.ToString() + ".DoSinger"; rm.RefMethodType = RefMethodType.RightFrameOpen; map.AddRefMethod(rm); rm = new RefMethod(); rm.Title = "部门岗位"; rm.ClassMethodName = this.ToString() + ".DoEmpDepts"; rm.RefMethodType = RefMethodType.RightFrameOpen; map.AddRefMethod(rm); ////节点绑定部门. 节点绑定部门. //map.AttrsOfOneVSM.AddBranches(new DeptEmps(), new BP.GPM.Depts(), // BP.GPM.DeptEmpAttr.FK_Emp, // BP.GPM.DeptEmpAttr.FK_Dept, "部门维护", EmpAttr.Name, EmpAttr.No, "@WebUser.FK_Dept"); this._enMap = map; return this._enMap; } } public string DoEmpDepts() { return "../../../GPM/EmpDepts.htm?FK_Emp=" + this.No; } public string DoSinger() { return "../../../GPM/Siganture.htm?EmpNo=" + this.No; } public static GPMEmp GenerData(GPMEmp en) { //增加拼音,以方便查找. string pinyinQP = DataType.ParseStringToPinyin(en.Name).ToLower(); string pinyinJX = DataType.ParseStringToPinyinJianXie(en.Name).ToLower(); en.PinYin = "," + pinyinQP + "," + pinyinJX + ","; //处理岗位信息. DeptEmpStations des = new DeptEmpStations(); des.Retrieve(DeptEmpStationAttr.FK_Emp, en.No); string depts = ""; string stas = ""; foreach (DeptEmpStation item in des) { BP.GPM.Dept dept = new BP.GPM.Dept(); dept.No = item.FK_Dept; if (dept.RetrieveFromDBSources() == 0) { item.Delete(); continue; } //给拼音重新定义值,让其加上部门的信息. en.PinYin = en.PinYin + pinyinJX + "/" + DataType.ParseStringToPinyinJianXie(dept.Name).ToLower() + ","; BP.Port.Station sta = new BP.Port.Station(); sta.No = item.FK_Station; if (sta.RetrieveFromDBSources() == 0) { item.Delete(); continue; } stas += "@" + dept.NameOfPath + "|" + sta.Name; if (depts.Contains("@" + dept.NameOfPath) == false) depts += "@" + dept.NameOfPath; } return en; } protected override bool beforeUpdateInsertAction() { //处理其他的数据. BP.GPM.GPMEmp.GenerData(this); return base.beforeUpdateInsertAction(); } /// /// 向上移动 /// public void DoUp() { this.DoOrderUp(EmpAttr.FK_Dept, this.FK_Dept, EmpAttr.Idx); } /// /// 向下移动 /// public void DoDown() { this.DoOrderDown(EmpAttr.FK_Dept, this.FK_Dept, EmpAttr.Idx); } public string DoResetpassword(string pass1, string pass2) { if (pass1.Equals(pass2) == false) return "两次密码不一致"; this.Pass = pass1; this.Update(); return "密码设置成功"; } /// /// 获取集合 /// public override Entities GetNewEntities { get { return new Emps(); } } #endregion 构造函数 } /// /// 操作员s // public class GPMEmps : EntitiesNoName { #region 构造方法 /// /// 得到它的 Entity /// public override Entity GetNewEntity { get { return new GPMEmp(); } } /// /// 操作员s /// public GPMEmps() { } public override int RetrieveAll() { return base.RetrieveAll("Name"); } #endregion 构造方法 #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((GPMEmp)this[i]); } return list; } #endregion 为了适应自动翻译成java的需要,把实体转换成List. } }