/// <summary> /// 得到一个对象实体 /// </summary> public Approval_Mode_1Info GetModel(int RKEY) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 RKEY,FILE_POINTER,SOURCE_TYPE,FROM_STEP_NO,TO_STEP_NO,TRANS_TYPE,TRANS_DESCRIPTION,USER_PTR,TRANS_DATE_TIME from Approval_Mode_1 with(nolock) "); strSql.Append(" where RKEY=@RKEY "); SqlParameter[] parameters = { new SqlParameter("@RKEY", SqlDbType.Int, 4) }; parameters[0].Value = RKEY; Approval_Mode_1Info model = new Approval_Mode_1Info(); 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]["FROM_STEP_NO"].ToString() != "") { model.FROM_STEP_NO = int.Parse(ds.Tables[0].Rows[0]["FROM_STEP_NO"].ToString()); } if (ds.Tables[0].Rows[0]["TO_STEP_NO"].ToString() != "") { model.TO_STEP_NO = int.Parse(ds.Tables[0].Rows[0]["TO_STEP_NO"].ToString()); } if (ds.Tables[0].Rows[0]["TRANS_TYPE"].ToString() != "") { model.TRANS_TYPE = int.Parse(ds.Tables[0].Rows[0]["TRANS_TYPE"].ToString()); } model.TRANS_DESCRIPTION = ds.Tables[0].Rows[0]["TRANS_DESCRIPTION"].ToString(); if (ds.Tables[0].Rows[0]["USER_PTR"].ToString() != "") { model.USER_PTR = int.Parse(ds.Tables[0].Rows[0]["USER_PTR"].ToString()); } if (ds.Tables[0].Rows[0]["TRANS_DATE_TIME"].ToString() != "") { model.TRANS_DATE_TIME = DateTime.Parse(ds.Tables[0].Rows[0]["TRANS_DATE_TIME"].ToString()); } return(model); } else { return(null); } }
/// <summary> /// 获得数据列表 /// </summary> public List <Approval_Mode_1Info> DataTableToList(DataTable dt) { List <Approval_Mode_1Info> modelList = new List <Approval_Mode_1Info>(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { Approval_Mode_1Info model; for (int n = 0; n < rowsCount; n++) { model = new Approval_Mode_1Info(); 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]["FROM_STEP_NO"].ToString() != "") { model.FROM_STEP_NO = int.Parse(dt.Rows[n]["FROM_STEP_NO"].ToString()); } if (dt.Rows[n]["TO_STEP_NO"].ToString() != "") { model.TO_STEP_NO = int.Parse(dt.Rows[n]["TO_STEP_NO"].ToString()); } if (dt.Rows[n]["TRANS_TYPE"].ToString() != "") { model.TRANS_TYPE = int.Parse(dt.Rows[n]["TRANS_TYPE"].ToString()); } model.TRANS_DESCRIPTION = dt.Rows[n]["TRANS_DESCRIPTION"].ToString(); if (dt.Rows[n]["USER_PTR"].ToString() != "") { model.USER_PTR = int.Parse(dt.Rows[n]["USER_PTR"].ToString()); } if (dt.Rows[n]["TRANS_DATE_TIME"].ToString() != "") { model.TRANS_DATE_TIME = DateTime.Parse(dt.Rows[n]["TRANS_DATE_TIME"].ToString()); } modelList.Add(model); } } return(modelList); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Approval_Mode_1Info model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into Approval_Mode_1("); strSql.Append("FILE_POINTER,SOURCE_TYPE,FROM_STEP_NO,TO_STEP_NO,TRANS_TYPE,TRANS_DESCRIPTION,USER_PTR,TRANS_DATE_TIME)"); strSql.Append(" values ("); strSql.Append("@FILE_POINTER,@SOURCE_TYPE,@FROM_STEP_NO,@TO_STEP_NO,@TRANS_TYPE,@TRANS_DESCRIPTION,@USER_PTR,@TRANS_DATE_TIME)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@FILE_POINTER", SqlDbType.Int, 4), new SqlParameter("@SOURCE_TYPE", SqlDbType.Int, 4), new SqlParameter("@FROM_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TO_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TRANS_TYPE", SqlDbType.Int, 4), new SqlParameter("@TRANS_DESCRIPTION", SqlDbType.VarChar, 30), new SqlParameter("@USER_PTR", SqlDbType.Int, 4), new SqlParameter("@TRANS_DATE_TIME", SqlDbType.DateTime) }; parameters[0].Value = model.FILE_POINTER; parameters[1].Value = model.SOURCE_TYPE; parameters[2].Value = model.FROM_STEP_NO; parameters[3].Value = model.TO_STEP_NO; parameters[4].Value = model.TRANS_TYPE; parameters[5].Value = model.TRANS_DESCRIPTION; parameters[6].Value = model.USER_PTR; if (model.TRANS_DATE_TIME == DateTime.Parse("1900-1-1") || model.TRANS_DATE_TIME == DateTime.Parse("0001-1-1")) { parameters[7].Value = null; } else { parameters[7].Value = model.TRANS_DATE_TIME; } object obj = dbHelper.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(1); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 更新一条数据 /// </summary> public void Update(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_1Info model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update Approval_Mode_1 set "); strSql.Append("FILE_POINTER=@FILE_POINTER,"); strSql.Append("SOURCE_TYPE=@SOURCE_TYPE,"); strSql.Append("FROM_STEP_NO=@FROM_STEP_NO,"); strSql.Append("TO_STEP_NO=@TO_STEP_NO,"); strSql.Append("TRANS_TYPE=@TRANS_TYPE,"); strSql.Append("TRANS_DESCRIPTION=@TRANS_DESCRIPTION,"); strSql.Append("USER_PTR=@USER_PTR,"); strSql.Append("TRANS_DATE_TIME=@TRANS_DATE_TIME"); 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("@FROM_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TO_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TRANS_TYPE", SqlDbType.Int, 4), new SqlParameter("@TRANS_DESCRIPTION", SqlDbType.VarChar, 30), new SqlParameter("@USER_PTR", SqlDbType.Int, 4), new SqlParameter("@TRANS_DATE_TIME", SqlDbType.DateTime) }; parameters[0].Value = model.RKEY; parameters[1].Value = model.FILE_POINTER; parameters[2].Value = model.SOURCE_TYPE; parameters[3].Value = model.FROM_STEP_NO; parameters[4].Value = model.TO_STEP_NO; parameters[5].Value = model.TRANS_TYPE; parameters[6].Value = model.TRANS_DESCRIPTION; parameters[7].Value = model.USER_PTR; if (model.TRANS_DATE_TIME == DateTime.Parse("1900-1-1") || model.TRANS_DATE_TIME == DateTime.Parse("0001-1-1")) { parameters[8].Value = null; } else { parameters[8].Value = model.TRANS_DATE_TIME; } dbHelper.ExecuteTranByNone(cmd, conn, trans, strSql.ToString(), parameters); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_1Info model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into Approval_Mode_1("); strSql.Append("FILE_POINTER,SOURCE_TYPE,FROM_STEP_NO,TO_STEP_NO,TRANS_TYPE,TRANS_DESCRIPTION,USER_PTR,TRANS_DATE_TIME)"); strSql.Append(" values ("); strSql.Append("@FILE_POINTER,@SOURCE_TYPE,@FROM_STEP_NO,@TO_STEP_NO,@TRANS_TYPE,@TRANS_DESCRIPTION,@USER_PTR,@TRANS_DATE_TIME)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@FILE_POINTER", SqlDbType.Int, 4), new SqlParameter("@SOURCE_TYPE", SqlDbType.Int, 4), new SqlParameter("@FROM_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TO_STEP_NO", SqlDbType.Int, 4), new SqlParameter("@TRANS_TYPE", SqlDbType.Int, 4), new SqlParameter("@TRANS_DESCRIPTION", SqlDbType.VarChar, 30), new SqlParameter("@USER_PTR", SqlDbType.Int, 4), new SqlParameter("@TRANS_DATE_TIME", SqlDbType.DateTime) }; parameters[0].Value = model.FILE_POINTER; parameters[1].Value = model.SOURCE_TYPE; parameters[2].Value = model.FROM_STEP_NO; parameters[3].Value = model.TO_STEP_NO; parameters[4].Value = model.TRANS_TYPE; parameters[5].Value = model.TRANS_DESCRIPTION; parameters[6].Value = model.USER_PTR; if (model.TRANS_DATE_TIME == DateTime.Parse("1900-1-1") || model.TRANS_DATE_TIME == DateTime.Parse("0001-1-1")) { parameters[7].Value = null; } else { parameters[7].Value = model.TRANS_DATE_TIME; } return(dbHelper.ExecuteTranByID(cmd, conn, trans, strSql.ToString(), parameters)); }
/// <summary> /// 更新一条数据 /// </summary> public void Update(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_1Info model) { dal.Update(cmd, conn, trans, model); }
/// <summary> /// 更新一条数据 /// </summary> public void Update(Approval_Mode_1Info model) { dal.Update(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, Approval_Mode_1Info model) { return(dal.Add(cmd, conn, trans, model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Approval_Mode_1Info model) { return(dal.Add(model)); }
/// <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; } } } }
/// <summary> /// 审批拒绝 RunApprovalRefuse /// </summary> /// <param name="FID">厂别</param> /// <param name="FILE_POINTER">外键指针</param> /// <param name="SOURCE_TYPE">类型</param> /// <param name="note">备注</param> /// <param name="UserAd">域帐户(yangwm)</param> public static void RunApprovalRefuse(int FID, int FILE_POINTER, int SOURCE_TYPE, 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_NoteBLL notebll = new Approval_Mode_NoteBLL(FID); Approval_Mode_1Info info1 = new Approval_Mode_1Info(); 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; } List <Approval_Mode_2Info> list2 = bll2.GetModelList("FILE_POINTER=" + FILE_POINTER + " and SOURCE_TYPE=" + SOURCE_TYPE); if (list2.Count > 0) { info1.FILE_POINTER = FILE_POINTER; info1.SOURCE_TYPE = SOURCE_TYPE; info1.FROM_STEP_NO = list2[0].APPROVAL_STEP_NO; info1.TO_STEP_NO = 0; info1.TRANS_TYPE = 7; info1.USER_PTR = data0073rkey; info1.TRANS_DESCRIPTION = "报废"; info1.TRANS_DATE_TIME = DateTime.Now; list2[0].APPROVAL_STATUS = 3; list2[0].APPROVAL_STEP_NO = 0; 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 { info1.RKEY = bll1.Add(cmd, conn, trans, info1); bll2.Update(cmd, conn, trans, list2[0]); if (note.Length > 0) { noteinfo.FILE_POINTER = info1.RKEY; notebll.Add(cmd, conn, trans, noteinfo); } trans.Commit(); } catch (Exception ee) { trans.Rollback();//异常回滚 throw ee; } } } } }