using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMFrameWork.Data; using QMAPP.Entity.Sys; using System.Data; namespace QMAPP.DAL.Sys { /// /// 流程设置数据层对象 /// 创建者: /// 创建日期: /// public class FlowSetDAL : BaseDAL { #region 获取列表 /// /// 获取列表 /// /// 条件 /// 数据页 /// 数据页 public List GetList() { string sql = null; List parameters = new List(); List resultList = null; try { sql = this.GetQuerySql(new ZPFlow(), ref parameters); using (IDataSession session = AppDataFactory.CreateMainSession()) { sql = this.ChangeSqlByDB(sql, session); resultList = session.GetList(sql, parameters.ToArray()).ToList(); } return resultList; } catch (Exception ex) { throw ex; } } #endregion #region 获取查询语句 /// /// 获取查询语句 /// /// 查询条件 /// 参数 /// 查询语句 private string GetQuerySql(ZPFlow zpFlow, ref List parameters) { StringBuilder sqlBuilder = new StringBuilder(); try { //构成查询语句 sqlBuilder.Append(@" SELECT FLOWLEVEL,SDEPT, (SELECT ORGA.ORGADESC FROM T_QM_ORGANIZATION ORGA WHERE ORGA.ORGAID = FLOW.SDEPT) AS SOrgaDesc FROM T_QM_ZPFLOW FLOW "); if (zpFlow.FlowLevel != 0) { sqlBuilder.Append(" WHERE FLOW.FLOWLEVEL = @FLOWLEVEL "); parameters.Add(new DataParameter { ParameterName = "FLOWLEVEL", DataType = DbType.Int32, Value = zpFlow.FlowLevel }); } sqlBuilder.Append(" ORDER BY FLOWLEVEL ASC "); return sqlBuilder.ToString(); } catch (Exception ex) { throw ex; } } #endregion #region 获取结点下的人员信息 /// /// 获取结点下的人员信息 /// /// 数据页 public List GetUserByFlowLevel(ZPFlow zpFlow) { string sql = null; List parameters = new List(); List resultList = null; try { sql = this.GetQuerySql(zpFlow, ref parameters); using (IDataSession session = AppDataFactory.CreateMainSession()) { sql = this.ChangeSqlByDB(sql, session); resultList = session.GetList(sql, parameters.ToArray()).ToList(); } return resultList; } catch (Exception ex) { throw ex; } } #endregion #region 保存结点下的人员信息 /// /// 保存结点下的人员信息 /// /// 数据页 public int SaveUser(string FlowLevel ,List zpFlowList) { int count = 0; List parameters = null; try { using (IDataSession session = AppDataFactory.CreateMainSession()) { session.OpenTs(); parameters = new List(); //删除原有的流程设置信息 string sql = " DELETE FROM T_QM_ZPFLOW WHERE FLOWLEVEL = @FLOWLEVEL "; parameters.Add(new DataParameter { ParameterName = "FLOWLEVEL", DataType = DbType.Int32, Value = FlowLevel }); sql = this.ChangeSqlByDB(sql, session); session.ExecuteSql(sql, parameters.ToArray()); //插入新的流程设置记录 foreach (ZPFlow zp in zpFlowList) { sql = " INSERT INTO T_QM_ZPFLOW(PID,FLOWLEVEL,SDEPT)VALUES(@PID,@FLOWLEVEL,@SDEPT)"; parameters.Add(new DataParameter { ParameterName = "PID", DataType = DbType.String, Value = zp.PID }); parameters.Add(new DataParameter { ParameterName = "SDEPT", DataType = DbType.String, Value = zp.SDept }); sql = this.ChangeSqlByDB(sql, session); count += session.ExecuteSql(sql, parameters.ToArray()); } session.CommitTs(); } return count; } catch (Exception ex) { throw ex; } } #endregion } }