コード例 #1
0
        /// <summary>
        /// 获得数据列表
        /// </summary>
        public List <Approval_Mode_3Info> DataTableToList(DataTable dt)
        {
            List <Approval_Mode_3Info> modelList = new List <Approval_Mode_3Info>();
            int rowsCount = dt.Rows.Count;

            if (rowsCount > 0)
            {
                Approval_Mode_3Info model;
                for (int n = 0; n < rowsCount; n++)
                {
                    model = new Approval_Mode_3Info();
                    if (dt.Rows[n]["RKEY"].ToString() != "")
                    {
                        model.RKEY = int.Parse(dt.Rows[n]["RKEY"].ToString());
                    }
                    if (dt.Rows[n]["FILE_POINTER"].ToString() != "")
                    {
                        model.FILE_POINTER = int.Parse(dt.Rows[n]["FILE_POINTER"].ToString());
                    }
                    if (dt.Rows[n]["SOURCE_TYPE"].ToString() != "")
                    {
                        model.SOURCE_TYPE = int.Parse(dt.Rows[n]["SOURCE_TYPE"].ToString());
                    }
                    if (dt.Rows[n]["APPROVAL_STEP_NO"].ToString() != "")
                    {
                        model.APPROVAL_STEP_NO = int.Parse(dt.Rows[n]["APPROVAL_STEP_NO"].ToString());
                    }
                    model.APPROVAL_STEP_DESC = dt.Rows[n]["APPROVAL_STEP_DESC"].ToString();
                    modelList.Add(model);
                }
            }
            return(modelList);
        }
コード例 #2
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Approval_Mode_3Info model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into Approval_Mode_3(");
            strSql.Append("FILE_POINTER,SOURCE_TYPE,APPROVAL_STEP_NO,APPROVAL_STEP_DESC)");
            strSql.Append(" values (");
            strSql.Append("@FILE_POINTER,@SOURCE_TYPE,@APPROVAL_STEP_NO,@APPROVAL_STEP_DESC)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@FILE_POINTER",       SqlDbType.Int,     4),
                new SqlParameter("@SOURCE_TYPE",        SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_NO",   SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_DESC", SqlDbType.VarChar, 50)
            };
            parameters[0].Value = model.FILE_POINTER;
            parameters[1].Value = model.SOURCE_TYPE;
            parameters[2].Value = model.APPROVAL_STEP_NO;
            parameters[3].Value = model.APPROVAL_STEP_DESC;

            object obj = dbHelper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(1);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
コード例 #3
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_3Info model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update Approval_Mode_3 set ");
            strSql.Append("FILE_POINTER=@FILE_POINTER,");
            strSql.Append("SOURCE_TYPE=@SOURCE_TYPE,");
            strSql.Append("APPROVAL_STEP_NO=@APPROVAL_STEP_NO,");
            strSql.Append("APPROVAL_STEP_DESC=@APPROVAL_STEP_DESC");
            strSql.Append(" where RKEY=@RKEY ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@RKEY",               SqlDbType.Int,     4),
                new SqlParameter("@FILE_POINTER",       SqlDbType.Int,     4),
                new SqlParameter("@SOURCE_TYPE",        SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_NO",   SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_DESC", SqlDbType.VarChar, 50)
            };
            parameters[0].Value = model.RKEY;
            parameters[1].Value = model.FILE_POINTER;
            parameters[2].Value = model.SOURCE_TYPE;
            parameters[3].Value = model.APPROVAL_STEP_NO;
            parameters[4].Value = model.APPROVAL_STEP_DESC;

            dbHelper.ExecuteTranByNone(cmd, conn, trans, strSql.ToString(), parameters);
        }
コード例 #4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Approval_Mode_3Info GetModel(int RKEY)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 RKEY,FILE_POINTER,SOURCE_TYPE,APPROVAL_STEP_NO,APPROVAL_STEP_DESC from Approval_Mode_3 with(nolock)  ");
            strSql.Append(" where RKEY=@RKEY ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@RKEY", SqlDbType.Int, 4)
            };
            parameters[0].Value = RKEY;

            Approval_Mode_3Info model = new Approval_Mode_3Info();
            DataSet             ds    = dbHelper.GetDataSet2(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["RKEY"].ToString() != "")
                {
                    model.RKEY = int.Parse(ds.Tables[0].Rows[0]["RKEY"].ToString());
                }
                if (ds.Tables[0].Rows[0]["FILE_POINTER"].ToString() != "")
                {
                    model.FILE_POINTER = int.Parse(ds.Tables[0].Rows[0]["FILE_POINTER"].ToString());
                }
                if (ds.Tables[0].Rows[0]["SOURCE_TYPE"].ToString() != "")
                {
                    model.SOURCE_TYPE = int.Parse(ds.Tables[0].Rows[0]["SOURCE_TYPE"].ToString());
                }
                if (ds.Tables[0].Rows[0]["APPROVAL_STEP_NO"].ToString() != "")
                {
                    model.APPROVAL_STEP_NO = int.Parse(ds.Tables[0].Rows[0]["APPROVAL_STEP_NO"].ToString());
                }
                model.APPROVAL_STEP_DESC = ds.Tables[0].Rows[0]["APPROVAL_STEP_DESC"].ToString();
                return(model);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_3Info model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into Approval_Mode_3(");
            strSql.Append("FILE_POINTER,SOURCE_TYPE,APPROVAL_STEP_NO,APPROVAL_STEP_DESC)");
            strSql.Append(" values (");
            strSql.Append("@FILE_POINTER,@SOURCE_TYPE,@APPROVAL_STEP_NO,@APPROVAL_STEP_DESC)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@FILE_POINTER",       SqlDbType.Int,     4),
                new SqlParameter("@SOURCE_TYPE",        SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_NO",   SqlDbType.Int,     4),
                new SqlParameter("@APPROVAL_STEP_DESC", SqlDbType.VarChar, 50)
            };
            parameters[0].Value = model.FILE_POINTER;
            parameters[1].Value = model.SOURCE_TYPE;
            parameters[2].Value = model.APPROVAL_STEP_NO;
            parameters[3].Value = model.APPROVAL_STEP_DESC;

            return(dbHelper.ExecuteTranByID(cmd, conn, trans, strSql.ToString(), parameters));
        }
コード例 #6
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public void Update(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_3Info model)
 {
     dal.Update(cmd, conn, trans, model);
 }
コード例 #7
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public void Update(Approval_Mode_3Info model)
 {
     dal.Update(model);
 }
コード例 #8
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Add(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_3Info model)
 {
     return(dal.Add(cmd, conn, trans, model));
 }
コード例 #9
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Add(Approval_Mode_3Info model)
 {
     return(dal.Add(model));
 }
コード例 #10
0
        /// <summary>
        /// 创建/发启一个审批流,审批流程改变
        /// </summary>
        /// <param name="FID">厂别</param>
        /// <param name="FILE_POINTER">外键指针</param>
        /// <param name="SOURCE_TYPE">类型</param>
        /// <param name="APPROVAL_ROUTE_PTR">流程指针</param>
        /// <param name="IsSend">true发启,false不发启</param>
        /// <param name="note">审批备注</param>
        /// <param name="UserAd">域帐户(yangwm)</param>
        public static void StartApprovalFlow(int FID, int FILE_POINTER, int SOURCE_TYPE, int APPROVAL_ROUTE_PTR, bool IsSend, string note, string UserAd)
        {
            DBHelper               dbhelper = new DBHelper(FID);
            Approval_Mode_1BLL     bll1     = new Approval_Mode_1BLL(FID);
            Approval_Mode_2BLL     bll2     = new Approval_Mode_2BLL(FID);
            Approval_Mode_3BLL     bll3     = new Approval_Mode_3BLL(FID);
            Approval_Mode_4BLL     bll4     = new Approval_Mode_4BLL(FID);
            Approval_Mode_NoteBLL  notebll  = new Approval_Mode_NoteBLL(FID);
            DATA0498BLL            d498bll  = new DATA0498BLL(FID);
            DATA0499BLL            d499bll  = new DATA0499BLL(FID);
            Approval_Mode_1Info    info1    = new Approval_Mode_1Info();
            Approval_Mode_2Info    info2    = new Approval_Mode_2Info();
            Approval_Mode_3Info    info3    = new Approval_Mode_3Info();
            Approval_Mode_4Info    info4    = new Approval_Mode_4Info();
            IList <DATA0498>       d498list = new List <DATA0498>();
            IList <DATA0499>       d499list = new List <DATA0499>();
            Approval_Mode_NoteInfo noteinfo = new Approval_Mode_NoteInfo();

            int    data0073rkey;
            string sql_data0073 = @"select data0073.rkey from data0073 with(nolock)  
                                   left outer join data0005 with(nolock)  on data0005.rkey=data0073.EMPLOYEE_PTR 
                                   where rtrim(data0005.address_line_1)='KB\";

            sql_data0073 += UserAd + "'";
            object obj = dbhelper.GetSingle(sql_data0073).ToString();

            try
            {
                data0073rkey = int.Parse(obj.ToString());
            }
            catch
            {
                data0073rkey = 0;
            }

            info1.FILE_POINTER      = FILE_POINTER;
            info1.SOURCE_TYPE       = SOURCE_TYPE;
            info1.FROM_STEP_NO      = 0;
            info1.TO_STEP_NO        = 0;
            info1.TRANS_TYPE        = 1;
            info1.TRANS_DESCRIPTION = "生成";
            info1.TRANS_DATE_TIME   = DateTime.Now;
            info1.USER_PTR          = data0073rkey;

            info2.FILE_POINTER       = FILE_POINTER;
            info2.SOURCE_TYPE        = SOURCE_TYPE;
            info2.APPROVAL_ROUTE_PTR = APPROVAL_ROUTE_PTR;
            info2.APPROVAL_STATUS    = IsSend ? 1 : 0;
            info2.APPROVAL_STEP_NO   = 1;
            info2.TOTAL_STEPS        = GetTotalSteps(APPROVAL_ROUTE_PTR, FID);

            d498list = d498bll.FindBySql("APPROVAL_ROUTE_PTR=" + APPROVAL_ROUTE_PTR);

            string delapp4 = @"delete from Approval_Mode_4 where Approval_Mode_4.ROUTE_STEP_PTR in (
select RKEY from Approval_Mode_3 where FILE_POINTER={0} and SOURCE_TYPE={1})";
            string delapp3 = @"delete from Approval_Mode_3 where  FILE_POINTER={0} and SOURCE_TYPE={1}";

            if (note.Length > 0)
            {
                noteinfo.SOURCE_TYPE = 1;
                noteinfo.NOTES       = note;
            }


            using (SqlConnection conn = new SqlConnection(GlobalVal.ConnectionString(GlobalVal.UserInfo.FactoryID)))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandTimeout = 120;
                    try
                    {
                        IList <Approval_Mode_1Info> app1list = bll1.GetModelList("FILE_POINTER=" + FILE_POINTER
                                                                                 + " and SOURCE_TYPE=" + SOURCE_TYPE + " and TRANS_DESCRIPTION = '生成'");
                        if (app1list.Count == 0)
                        {
                            info1.RKEY = bll1.Add(cmd, conn, trans, info1);
                        }
                        if (IsSend)
                        {
                            info2.APPROVAL_STATUS   = 1;
                            info2.APPROVAL_STEP_NO  = 1;
                            info1.TO_STEP_NO        = 1;
                            info1.TRANS_TYPE        = 1;
                            info1.TRANS_DESCRIPTION = "提交审批";
                            bll1.Add(cmd, conn, trans, info1);
                        }
                        List <Approval_Mode_2Info> app2list = bll2.GetModelList("FILE_POINTER=" + FILE_POINTER
                                                                                + " and SOURCE_TYPE=" + SOURCE_TYPE);
                        if (app2list.Count > 0)
                        {
                            if (app2list[0].APPROVAL_ROUTE_PTR != APPROVAL_ROUTE_PTR)
                            {
                                //审批流程改变
                                info1.TO_STEP_NO        = 1;
                                info1.TRANS_TYPE        = 1;
                                info1.TRANS_DESCRIPTION = "审批流程改变";
                                bll1.Add(cmd, conn, trans, info1);
                            }
                            if (IsSend)
                            {
                                app2list[0].APPROVAL_STATUS  = 1;
                                app2list[0].APPROVAL_STEP_NO = 1;
                            }
                            app2list[0].APPROVAL_ROUTE_PTR = APPROVAL_ROUTE_PTR;
                            bll2.Update(cmd, conn, trans, app2list[0]);
                        }
                        else
                        {
                            bll2.Add(cmd, conn, trans, info2);
                        }

                        dbhelper.ExecuteSqlTran(cmd, conn, trans, string.Format(delapp4, FILE_POINTER, SOURCE_TYPE));
                        dbhelper.ExecuteSqlTran(cmd, conn, trans, string.Format(delapp3, FILE_POINTER, SOURCE_TYPE));


                        foreach (DATA0498 d498info in d498list)
                        {
                            info3 = new Approval_Mode_3Info();
                            info3.FILE_POINTER       = FILE_POINTER;
                            info3.SOURCE_TYPE        = SOURCE_TYPE;
                            info3.APPROVAL_STEP_NO   = (int)d498info.APPROVAL_STEP_NO;
                            info3.APPROVAL_STEP_DESC = d498info.APPROVAL_STEP_DESC;
                            info3.RKEY = bll3.Add(cmd, conn, trans, info3);

                            d499list = d499bll.FindBySql("APPROVAL_ROUTE_STEP_PTR=" + d498info.RKEY);
                            foreach (DATA0499 d499info in d499list)
                            {
                                info4.ROUTE_STEP_PTR = info3.RKEY;
                                info4.USER_PTR       = (int)d499info.USER_PTR;
                                bll4.Add(cmd, conn, trans, info4);
                            }
                        }

                        if (note.Length > 0)
                        {
                            noteinfo.FILE_POINTER = info1.RKEY;
                            notebll.Add(cmd, conn, trans, noteinfo);
                        }
                        trans.Commit();
                    }
                    catch (Exception ee)
                    {
                        trans.Rollback();//异常回滚
                        throw ee;
                    }
                }
            }
        }