using System; using System.Data; using BP.En; using BP.Sys; using BP.WF.Template; namespace BP.WF.DTS { /// /// Method 的摘要说明 /// public class GenerTemplate : Method { /// /// 不带有参数的方法 /// public GenerTemplate() { this.Title = "生成流程模板与表单模板"; this.Help = "把系统中的流程与表单转化成模板放在指定的目录下。"; this.HisAttrs.AddTBString("Path", "C:/ccflow.Template", "生成的路径", true, false, 1, 1900, 200); } /// /// 设置执行变量 /// /// public override void Init() { } /// /// 当前的操纵员是否可以执行这个方法 /// public override bool IsCanDo { get { return true; } } /// /// 执行 /// /// 返回执行结果 public override object Do() { string path = this.GetValStrByKey("Path") + "_" + DateTime.Now.ToString("yy年MM月dd日HH时mm分"); if (System.IO.Directory.Exists(path)) return "系统正在执行中,请稍后。"; System.IO.Directory.CreateDirectory(path); System.IO.Directory.CreateDirectory(path + "/Flow.流程模板"); System.IO.Directory.CreateDirectory(path + "/Frm.表单模板"); Flows fls = new Flows(); fls.RetrieveAll(); FlowSorts sorts = new FlowSorts(); sorts.RetrieveAll(); // 生成流程模板。 foreach (FlowSort sort in sorts) { string pathDir = path + "/Flow.流程模板/" + sort.No + "." + sort.Name; System.IO.Directory.CreateDirectory(pathDir); foreach (Flow fl in fls) { fl.DoExpFlowXmlTemplete(pathDir); } } // 生成表单模板。 foreach (FlowSort sort in sorts) { string pathDir = path + "/Frm.表单模板/" + sort.No + "." + sort.Name; System.IO.Directory.CreateDirectory(pathDir); foreach (Flow fl in fls) { string pathFlowDir = pathDir + "/" + fl.No + "." + fl.Name; System.IO.Directory.CreateDirectory(pathFlowDir); Nodes nds = new Nodes(fl.No); foreach (Node nd in nds) { MapData md = new MapData("ND" + nd.NodeID); DataSet ds = BP.Sys.CCFormAPI.GenerHisDataSet(md.No); ds.WriteXml(pathFlowDir + "/" + nd.NodeID + "." + nd.Name + ".Frm.xml"); } } } // 独立表单模板. SysFormTrees frmSorts = new SysFormTrees(); frmSorts.RetrieveAll(); foreach (SysFormTree sort in frmSorts) { string pathDir = path + "/Frm.表单模板/" + sort.No + "." + sort.Name; System.IO.Directory.CreateDirectory(pathDir); MapDatas mds = new MapDatas(); mds.Retrieve(MapDataAttr.FK_FormTree, sort.No); foreach (MapData md in mds) { DataSet ds =BP.Sys.CCFormAPI.GenerHisDataSet(md.No); ds.WriteXml(pathDir + "/" + md.No + "." + md.Name + ".Frm.xml"); } } return "生成成功,请打开" + path + "。
如果您想共享出来请压缩后发送到template@ccbpm.cn"; } } }