/// <summary> /// 执行 /// </summary> /// <returns>返回执行结果</returns> public override object Do() { string keys = "~!@#$%^&*()+{}|:<>?`=[];,./~!@#¥%……&×()——+{}|:“《》?`-=[];',./"; char[] cc = keys.ToCharArray(); foreach (char c in cc) { DBAccess.RunSQL("update sys_mapattr set keyofen=REPLACE(keyofen,'" + c + "' , '')"); } BP.Sys.MapAttrs attrs = new Sys.MapAttrs(); attrs.RetrieveAll(); int idx = 0; string msg = ""; foreach (BP.Sys.MapAttr item in attrs) { string f = item.KeyOfEn.Clone().ToString(); try { int i = int.Parse(item.KeyOfEn.Substring(0, 1)); item.KeyOfEn = "F" + item.KeyOfEn; try { MapAttr itemCopy = new MapAttr(); itemCopy.Copy(item); itemCopy.Insert(); item.DirectDelete(); } catch (Exception ex) { msg += "@" + ex.Message; } } catch { continue; } DBAccess.RunSQL("UPDATE sys_mapAttr set KeyOfEn='" + item.KeyOfEn + "', mypk=FK_MapData+'_'+keyofen where keyofen='" + item.KeyOfEn + "'"); msg += "@第(" + idx + ")个错误修复成功,原(" + f + ")修复成(" + item.KeyOfEn + ")."; idx++; } BP.DA.DBAccess.RunSQL("UPDATE Sys_MapAttr SET MyPK=FK_MapData+'_'+KeyOfEn WHERE MyPK!=FK_MapData+'_'+KeyOfEn"); return("修复信息如下:" + msg); }
/// <summary> /// 重置当前用户编号 /// </summary> /// <param name="userNo">当前用户编号</param> /// <returns>返回重置信息</returns> public string DoChangeUserNo(string userNo) { if (BP.Web.WebUser.No != "admin") { return("非超级管理员,不能执行。"); } string msg = ""; int i = 0; //更新待办. string sql = "update wf_generworkerlist set fk_emp='" + userNo + "' where fk_emp='" + this.No + "'"; i = BP.DA.DBAccess.RunSQL(sql); if (i != 0) { msg += "@待办更新[" + i + "]个。"; } sql = "UPDATE WF_GENERWORKFLOW SET STARTER='" + userNo + "' WHERE STARTER='" + this.No + "'"; i = BP.DA.DBAccess.RunSQL(sql); if (i != 0) { msg += "@流程注册更新[" + i + "]个。"; } //更换流程信息的数据表 BP.WF.Flows fls = new Flows(); fls.RetrieveAll(); foreach (Flow fl in fls) { sql = "UPDATE " + fl.PTable + " SET FlowEnder='" + userNo + "' WHERE FlowEnder='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@流程注册更新[" + i + "]个。"; } sql = "UPDATE " + fl.PTable + " SET FlowStarter='" + userNo + "' WHERE FlowStarter='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@流程业务表发起人,更新了[" + i + "]个。"; } sql = "UPDATE " + fl.PTable + " SET Rec='" + userNo + "' WHERE Rec='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@流程业务表记录人,更新了[" + i + "]个。"; } string trackTable = "ND" + int.Parse(fl.No) + "Track"; sql = "UPDATE " + trackTable + " SET EmpFrom='" + userNo + "' WHERE EmpFrom='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@轨迹表 EmpFrom,更新了[" + i + "]个。"; } sql = "UPDATE " + trackTable + " SET EmpTo='" + userNo + "' WHERE EmpTo='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@轨迹表 EmpTo,更新了[" + i + "]个。"; } sql = "UPDATE " + trackTable + " SET Exer='" + userNo + "' WHERE Exer='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@轨迹表 Exer,更新了[" + i + "]个。"; } } //更新其他字段. BP.Sys.MapAttrs attrs = new Sys.MapAttrs(); attrs.RetrieveAll(); foreach (BP.Sys.MapAttr attr in attrs) { if (attr.DefValReal.Contains("@WebUser.No") == true) { try { BP.Sys.MapData md = new Sys.MapData(attr.FK_MapData); sql = "UPDATE " + md.PTable + " SET " + attr.KeyOfEn + "='" + userNo + "' WHERE " + attr.KeyOfEn + "='" + this.No + "'"; i = DBAccess.RunSQL(sql); if (i != 0) { msg += "@表[" + md.Name + "],[" + md.PTable + "] [" + attr.KeyOfEn + "],更新了[" + i + "]个。"; } } catch { } } } //人员主表信息-手动修改 return(msg); }
/// <summary> /// 设计自由表单 /// </summary> /// <returns></returns> public string DFreeFrm() { FrmLabs labs = new Sys.FrmLabs(this.No); if (labs.Count == 0) { //进行初始化控件位置及标签 MapData md = new MapData(); md.No = this.No; md.RetrieveFromDBSources(); float maxEnd = 200; bool isLeft = true; #region 字段顺序调整 MapAttrs mapAttrs = new Sys.MapAttrs(md.No); foreach (MapAttr attr in mapAttrs) { if (attr.UIVisible == false) { continue; } //生成lab. FrmLab lab = null; if (isLeft == true) { maxEnd = maxEnd + 40; /* 是否是左边 */ lab = new FrmLab(); lab.MyPK = BP.DA.DBAccess.GenerGUID(); lab.FK_MapData = attr.FK_MapData; lab.Text = attr.Name; lab.FontName = "Arial"; lab.X = 40; lab.Y = maxEnd; lab.Insert(); attr.X = lab.X + 80; attr.Y = maxEnd; attr.Update(); } else { lab = new FrmLab(); lab.MyPK = BP.DA.DBAccess.GenerGUID(); lab.FK_MapData = attr.FK_MapData; lab.Text = attr.Name; lab.FontName = "Arial"; lab.X = 350; lab.Y = maxEnd; lab.Insert(); attr.X = lab.X + 80; attr.Y = maxEnd; attr.Update(); } isLeft = !isLeft; } #endregion #region 明细表重置排序 MapDtls mapDtls = new Sys.MapDtls(this.No); foreach (MapDtl dtl in mapDtls) { maxEnd = maxEnd + 40; /* 是否是左边 */ FrmLab lab = new FrmLab(); lab.MyPK = BP.DA.DBAccess.GenerGUID(); lab.FK_MapData = dtl.FK_MapData; lab.Text = dtl.Name; lab.FontName = "Arial"; lab.X = 40; lab.Y = maxEnd; lab.Insert(); dtl.X = lab.X + 80; dtl.Y = maxEnd; dtl.Update(); maxEnd = maxEnd + dtl.H; } #endregion md.ResetMaxMinXY(); } string url = "../../Admin/CCFormDesigner/FormDesigner.htm?FK_MapData=" + this.No + "&FromDtl=1&UserNo=" + BP.Web.WebUser.No + "&SID=" + Web.WebUser.SID + "&AppCenterDBType=" + BP.DA.DBAccess.AppCenterDBType + "&CustomerNo=" + BP.Sys.SystemConfig.CustomerNo; return(url); }