using BP.En; using BP.Sys; namespace BP.WF.DTS { /// /// 修改人员编号 的摘要说明 /// public class ChangeUserNo : Method { /// /// 不带有参数的方法 /// public ChangeUserNo() { this.Title = "修改人员编号(原来一个操作中编号叫A,现在修改成B)"; this.Help = "请慎重执行,执行前请先备份数据库,系统会把生成的SQL放在日志里,打开日志文件(" + BP.Difference.SystemConfig.PathOfDataUser + "\\Log),然后找到这些sql."; this.GroupName = "系统维护"; } /// /// 设置执行变量 /// /// public override void Init() { this.Warning = "您确定要执行吗?"; HisAttrs.AddTBString("P1", null, "原用户名", true, false, 0, 10, 10); HisAttrs.AddTBString("P2", null, "新用户名", true, false, 0, 10, 10); } /// /// 当前的操纵员是否可以执行这个方法 /// public override bool IsCanDo { get { if (BP.Web.WebUser.No.Equals("admin")==true) return true; else return false; } } /// /// 执行 /// /// 返回执行结果 public override object Do() { string oldNo = this.GetValStrByKey("P1"); string newNo = this.GetValStrByKey("P2"); string sqls = ""; sqls += "UPDATE Port_Emp Set No='" + newNo + "' WHERE No='" + oldNo + "'"; sqls += "\t\n UPDATE Port_DeptEmpStation Set FK_Emp='" + newNo + "' WHERE FK_Emp='" + oldNo + "'"; MapDatas mds = new MapDatas(); mds.RetrieveAll(); foreach (MapData md in mds) { MapAttrs mattrs = new MapAttrs(md.No); foreach (MapAttr attr in mattrs) { if (attr.UIIsEnable == false && attr.DefValReal == "@WebUser.No") { sqls += "\t\n UPDATE " + md.PTable + " SET "; } continue; } sqls += "UPDATE"; } return "执行成功..." + sqls; } } }