Exemple #1
0
        /// <summary>
        /// 流程类别s
        /// </summary>
        /// <param name="no">ss</param>
        /// <param name="name">anme</param>
        public void AddByNoName(string no, string name)
        {
            FlowSort en = new FlowSort();

            en.No   = no;
            en.Name = name;
            this.AddEntity(en);
        }
Exemple #2
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns>返回执行结果</returns>
        public override object Do()
        {
            string path = "C:\\CCFlowTemplete" + DateTime.Now.ToString("yy年MM月dd日HH时mm分ss秒");

            if (System.IO.Directory.Exists(path) == false)
            {
                System.IO.Directory.CreateDirectory(path);
            }

            Flows fls = new Flows();

            fls.RetrieveAllFromDBSource();
            foreach (Flow fl in fls)
            {
                FlowSort fs      = new FlowSort(fl.FK_FlowSort);
                string   pathDir = path + "\\Flow\\" + fs.No + "." + fs.Name;
                if (System.IO.Directory.Exists(pathDir) == false)
                {
                    System.IO.Directory.CreateDirectory(pathDir);
                }

                //  fl.GenerFlowXmlTemplete(pathDir + "\\" + fl.Name + ".xml");
                fl.GenerFlowXmlTemplete(pathDir);
            }

            MapDatas mds = new MapDatas();

            mds.RetrieveAllFromDBSource();
            foreach (MapData md in mds)
            {
                if (md.FK_FrmSort.Length < 2)
                {
                    continue;
                }

                FrmSort fs      = new FrmSort(md.FK_FrmSort);
                string  pathDir = path + "\\Form\\" + fs.No + "." + fs.Name;
                if (System.IO.Directory.Exists(pathDir) == false)
                {
                    System.IO.Directory.CreateDirectory(pathDir);
                }
                DataSet ds = md.GenerHisDataSet();
                ds.WriteXml(pathDir + "\\" + md.Name + ".xml");
            }
            return("执行成功,存放路径:" + path);
        }
Exemple #3
0
        public override int RetrieveAll()
        {
            int i = base.RetrieveAll();

            if (i == 0)
            {
                FlowSort fs = new FlowSort();
                fs.Name = "公文类";
                fs.No   = "01";
                fs.Insert();

                fs      = new FlowSort();
                fs.Name = "办公类";
                fs.No   = "02";
                fs.Insert();
                i = base.RetrieveAll();
            }

            return(i);
        }
Exemple #4
0
        public string Do(string doWhat, string para1, bool isLogin)
        {
            // 如果admin账户登陆时有错误发生,则返回错误信息
            var result = LetAdminLogin("CH", isLogin);

            if (string.IsNullOrEmpty(result) == false)
            {
                return(result);
            }

            switch (doWhat)
            {
            case "GenerFlowTemplete":
                Flow temp = new BP.WF.Flow(para1);
                return(null);

            case "NewFrmSort":
                BP.Sys.FrmSort frmSort = null;
                try
                {
                    frmSort      = new FrmSort();
                    frmSort.No   = "01";
                    frmSort.Name = para1;
                    frmSort.No   = frmSort.GenerNewNo;
                    frmSort.Insert();
                    return(null);
                }
                catch (Exception ex)
                {
                    return("Do Method NewFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                }

            case "NewFlowSort":
                BP.WF.FlowSort fs = null;
                try
                {
                    fs      = new FlowSort();
                    fs.Name = para1;
                    fs.No   = fs.GenerNewNo;
                    fs.Insert();
                    return(fs.No);
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                    return(null);
                }

            case "EditFlowSort":
                try
                {
                    var para = para1.Split(',');
                    fs      = new FlowSort(para[0]);
                    fs.Name = para[1];
                    fs.Save();
                    return(fs.No);
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method EditFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                    return(null);
                }

            case "NewFlow":
                Flow fl = new Flow();
                try
                {
                    string[] ps = para1.Split(',');
                    if (ps.Length != 5)
                    {
                        throw new Exception("@创建流程参数错误");
                    }

                    string         fk_floSort    = ps[0];
                    string         flowName      = ps[1];
                    DataStoreModel dataSaveModel = (DataStoreModel)int.Parse(ps[2]);
                    string         pTable        = ps[3];
                    string         flowCode      = ps[4];

                    fl.DoNewFlow(fk_floSort, flowName, dataSaveModel, pTable, flowCode);
                    return(fl.No + ";" + fl.Name);
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewFlow Branch has a error , para:\t" + para1 + ex.Message);
                    return(ex.Message);
                }

            case "DelFlow":
                BP.WF.Flow fl1 = new BP.WF.Flow(para1);
                try
                {
                    fl1.DoDelete();
                    return(null);
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelFlow Branch has a error , para:\t" + para1 + ex.Message);
                    return(ex.Message);
                }

            case "DelLable":
                BP.WF.LabNote ln = new BP.WF.LabNote(para1);
                try
                {
                    ln.Delete();
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelLable Branch has a error , para:\t" + para1 + ex.Message);
                }
                return(null);

            case "DelFlowSort":
                try
                {
                    FlowSort delfs = new FlowSort(para1);
                    delfs.Delete();
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                }

                return(null);

            case "NewNode":
                try
                {
                    BP.WF.Flow fl11 = new BP.WF.Flow(para1);
                    BP.WF.Node node = new BP.WF.Node();
                    node.FK_Flow = "";
                    node.X       = 0;
                    node.Y       = 0;
                    node.Insert();
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewNode Branch has a error , para:\t" + para1 + ex.Message);
                }

                return(null);

            case "DelNode":
                try
                {
                    if (!string.IsNullOrEmpty(para1))
                    {
                        BP.WF.Node delNode = new BP.WF.Node(int.Parse(para1));
                        delNode.Delete();
                    }
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelNode Branch has a error , para:\t" + para1 + ex.Message);
                }
                return(null);

            case "NewLab":
                BP.WF.LabNote lab = new BP.WF.LabNote();;
                try
                {
                    lab.FK_Flow = para1;
                    lab.MyPK    = BP.DA.DBAccess.GenerOID().ToString();
                    lab.Insert();
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewLab Branch has a error , para:\t" + para1 + ex.Message);
                }
                return(lab.MyPK);

            case "DelLab":
                try
                {
                    BP.WF.LabNote dellab = new BP.WF.LabNote();
                    dellab.MyPK = para1;
                    dellab.Delete();
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelLab Branch has a error , para:\t" + para1 + ex.Message);
                }

                return(null);

            case "GetSettings":
                return(SystemConfig.AppSettings[para1]);

            case "GetFlows":
                string sqls = "SELECT NO,NAME FROM WF_FlowSort";
                sqls += "@SELECT No,Name,FK_FlowSort FROM WF_Flow";
                return(RunSQLReturnTableS(sqls));

            case "SaveFlowFrm":
                Entity en = null;
                try
                {
                    AtPara ap     = new AtPara(para1);
                    string enName = ap.GetValStrByKey("EnName");
                    string pk     = ap.GetValStrByKey("PKVal");
                    en = ClassFactory.GetEn(enName);
                    en.ResetDefaultVal();

                    if (en == null)
                    {
                        throw new Exception("无效的类名:" + enName);
                    }

                    if (string.IsNullOrEmpty(pk) == false)
                    {
                        en.PKVal = pk;
                        en.RetrieveFromDBSources();
                    }

                    foreach (string key in ap.HisHT.Keys)
                    {
                        if (key == "PKVal")
                        {
                            continue;
                        }
                        en.SetValByKey(key, ap.HisHT[key].ToString().Replace('^', '@'));
                    }
                    en.Save();
                    return(en.PKVal as string);
                }
                catch (Exception ex)
                {
                    if (en != null)
                    {
                        en.CheckPhysicsTable();
                    }
                    return("Error:" + ex.Message);
                }

            case "ReleaseToFTP":
                // 暂时注释,下次更新ftp功能时会得新编译 。
                //var args = para1.Split(',');
                //var binaryData = Convert.FromBase64String(args[1]);
                //var imageFilePath = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath) + "/Temp/" + args[0] + ".jpg";
                //if (File.Exists(imageFilePath))
                //{
                //    File.Delete(imageFilePath);
                //}
                //System.IO.Directory.CreateDirectory(
                //    Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath) + "/Temp");
                //var stream = new System.IO.FileStream(imageFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                //stream.Write(binaryData, 0, binaryData.Length);
                //stream.Close();
                //var xmlFilePath = FlowTemplete_Gener(args[0], true);
                //string remoteDr = "/" + ConfigurationSettings.AppSettings["UserIdentifier"];;
                //var ftp = new FtpConnection();
                //try
                //{
                //    string ftpIP = ConfigurationSettings.AppSettings["FTPServerIP"];
                //    string email = ConfigurationSettings.AppSettings["FTPUserEmail"];

                //    Session session = new Session();
                //    session.Server = ftpIP;


                //    session.Connect("anonymous", "*****@*****.**");
                //    ftp.Connect(ftpIP, "anonymous", email);
                //    remoteDr = remoteDr;
                //    if(!ftp.DirectoryExist(remoteDr))
                //    {
                //        ftp.CreateDirectory(remoteDr);
                //    }
                //    ftp.SetCurrentDirectory(remoteDr);
                //    ftp.PutFile(imageFilePath, remoteDr);
                //    return string.Empty;//上传成功

                //}
                //catch (Exception err)
                //{
                //    return err.Message;//上传失败
                //}
                //finally
                //{
                //    ftp.Close();
                //}
                return(string.Empty);

            default:
                throw null;
            }
        }
Exemple #5
0
        public string Do(string doWhat, string para1, bool isLogin)
        {
            // 如果admin账户登陆时有错误发生,则返回错误信息
            var result = LetAdminLogin("CH", isLogin);

            if (string.IsNullOrEmpty(result) == false)
            {
                return(result);
            }

            switch (doWhat)
            {
            case "GenerFlowTemplete":
                Flow temp = new BP.WF.Flow(para1);
                return(null);

            case "GetFlowSorts":        //获取所有流程类型
                DataTable dtSorts = null;

                try
                {
                    dtSorts = BP.DA.DBAccess.RunSQLReturnTable("SELECT no,name FROM WF_FlowSort");
                }
                catch (Exception ex)
                {
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

                return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = true, msg = string.Empty, data = dtSorts.Rows.Cast <DataRow>().Select(dr => new { Key = dr["no"].ToString(), Value = dr["name"].ToString() }) }));

            case "NewSameLevelFrmSort":     //创建同级别的 表单树 目录.
                BP.Sys.SysFormTree frmSort = null;
                try
                {
                    var para = para1.Split(',');
                    frmSort = new SysFormTree(para[0]);
                    string sameNodeNo = frmSort.DoCreateSameLevelNode().No;
                    frmSort      = new SysFormTree(sameNodeNo);
                    frmSort.Name = para[1];
                    frmSort.Update();
                    return(null);
                }
                catch (Exception ex)
                {
                    return("Do Method NewFormSort Branch has a error , para:\t" + para1 + ex.Message);
                }

            case "NewSubLevelFrmSort":     //创建子级别的 表单树 目录.
                BP.Sys.SysFormTree frmSortSub = null;
                try
                {
                    var para = para1.Split(',');
                    frmSortSub = new SysFormTree(para[0]);
                    string sameNodeNo = frmSortSub.DoCreateSubNode().No;
                    frmSortSub      = new SysFormTree(sameNodeNo);
                    frmSortSub.Name = para[1];
                    frmSortSub.Update();
                    return(null);
                }
                catch (Exception ex)
                {
                    return("Do Method NewSubLevelFrmSort Branch has a error , para:\t" + para1 + ex.Message);
                }

            case "NewSameLevelFlowSort":      //创建同级别的 流程树 目录.
                BP.WF.FlowSort fs = null;
                try
                {
                    var para = para1.Split(',');
                    fs = new FlowSort(para[0]);
                    string sameNodeNo = fs.DoCreateSameLevelNode().No;
                    fs      = new FlowSort(sameNodeNo);
                    fs.Name = para[1];
                    fs.Update();
                    return
                        (Newtonsoft.Json.JsonConvert.SerializeObject(
                             new { success = true, msg = string.Empty, data = fs.No }));
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewSameLevelFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "NewSubFlowSort":     //创建子级别的 表单树 目录.
                try
                {
                    var            para        = para1.Split(',');
                    BP.WF.FlowSort fsSub       = new FlowSort(para[0]);
                    string         subNodeNo   = fsSub.DoCreateSubNode().No;
                    FlowSort       subFlowSort = new FlowSort(subNodeNo);
                    subFlowSort.Name = para[1];
                    subFlowSort.Update();
                    return
                        (Newtonsoft.Json.JsonConvert.SerializeObject(
                             new { success = true, msg = string.Empty, data = subFlowSort.No }));
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewSubFlowSort Branch has a error , para:\t" + ex.Message);
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "EditFlowSort":     //编辑表单树.
                try
                {
                    var para = para1.Split(',');
                    fs      = new FlowSort(para[0]);
                    fs.Name = para[1];
                    fs.Save();
                    return
                        (Newtonsoft.Json.JsonConvert.SerializeObject(
                             new { success = true, msg = string.Empty, data = fs.No }));
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method EditFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "NewFlow":     //创建新流程.
                Flow fl = new Flow();
                try
                {
                    string[] ps = para1.Split(',');
                    if (ps.Length != 5)
                    {
                        throw new Exception("@创建流程参数错误");
                    }

                    string         fk_floSort    = ps[0];                            //类别编号.
                    string         flowName      = ps[1];                            // 流程名称.
                    DataStoreModel dataSaveModel = (DataStoreModel)int.Parse(ps[2]); //数据保存方式。
                    string         pTable        = ps[3];                            // 物理表名。
                    string         FlowMark      = ps[4];                            // 流程标记.

                    fl.DoNewFlow(fk_floSort, flowName, dataSaveModel, pTable, FlowMark);
                    return
                        (Newtonsoft.Json.JsonConvert.SerializeObject(
                             new { success = true, msg = string.Empty, data = new { no = fl.No, name = fl.Name } }));
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method NewFlow Branch has a error , para:\t" + para1 + ex.Message);
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "DelFlow":     //删除流程.
                try
                {
                    return
                        (Newtonsoft.Json.JsonConvert.SerializeObject(
                             new { success = true, msg = BP.WF.WorkflowDefintionManager.DeleteFlowTemplete(para1) }));
                }
                catch (Exception ex)
                {
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "DelFlowSort":
                try
                {
                    FlowSort delfs = new FlowSort();
                    delfs.No = para1;
                    delfs.Delete();
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = true }));
                }
                catch (Exception ex)
                {
                    BP.DA.Log.DefaultLogWriteLineError("Do Method DelFlowSort Branch has a error , para:\t" + para1 + ex.Message);
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "DelNode":
                try
                {
                    if (!string.IsNullOrEmpty(para1))
                    {
                        BP.WF.Node delNode = new BP.WF.Node(int.Parse(para1));
                        delNode.Delete();
                    }
                    else
                    {
                        throw new Exception("@参数错误:" + para1);
                    }
                }
                catch (Exception ex)
                {
                    return("err:" + ex.Message);
                }
                return(null);

            case "GetSettings":
                return(SystemConfig.AppSettings[para1]);

            case "SaveFlowFrm":      //保存流程表单.
                Entity en = null;
                try
                {
                    AtPara ap     = new AtPara(para1);
                    string enName = ap.GetValStrByKey("EnName");
                    string pk     = ap.GetValStrByKey("PKVal");
                    en = ClassFactory.GetEn(enName);
                    en.ResetDefaultVal();
                    if (en == null)
                    {
                        throw new Exception("无效的类名:" + enName);
                    }

                    if (string.IsNullOrEmpty(pk) == false)
                    {
                        en.PKVal = pk;
                        en.RetrieveFromDBSources();
                    }

                    foreach (string key in ap.HisHT.Keys)
                    {
                        if (key == "PKVal")
                        {
                            continue;
                        }
                        en.SetValByKey(key, ap.HisHT[key].ToString().Replace('^', '@'));
                    }
                    en.Save();
                    return(en.PKVal as string);
                }
                catch (Exception ex)
                {
                    if (en != null)
                    {
                        en.CheckPhysicsTable();
                    }
                    return("Error:" + ex.Message);
                }

            case "ChangeNodeType":
                var p = para1.Split(',');

                try
                {
                    if (p.Length != 3)
                    {
                        throw new Exception("@修改节点类型参数错误");
                    }

                    //var sql = "UPDATE WF_Node SET Icon='{0}' WHERE FK_Flow='{1}' AND NodeID='{2}'";
                    var sql = "UPDATE WF_Node SET RunModel={0} WHERE FK_Flow='{1}' AND NodeID={2}";
                    DBAccess.RunSQL(string.Format(sql, p[0], p[1], p[2]));
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = true }));
                }
                catch (Exception ex)
                {
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            case "ChangeNodeIcon":
                p = para1.Split(',');

                try
                {
                    if (p.Length != 3)
                    {
                        throw new Exception("@修改节点图标参数错误");
                    }

                    var sql = "UPDATE WF_Node SET Icon='{0}' WHERE FK_Flow='{1}' AND NodeID={2}";
                    DBAccess.RunSQL(string.Format(sql, p[0], p[1], p[2]));
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = true }));
                }
                catch (Exception ex)
                {
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(new { success = false, msg = ex.Message }));
                }

            default:
                throw new Exception("@没有约定的执行标记:" + doWhat);
            }
        }