using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using QMAPP.DAL; using QMAPP.Entity; using QMAPP.MD.Entity; using QMFrameWork.Data; namespace QMAPP.MD.DAL { /// /// 模块编号: /// 作 用:班组成员 /// 作 者:周晓东 /// 编写日期:2017年11月21日 /// public class TeamMemberDAL : BaseDAL { #region 获取信息 /// /// 获取信息 /// /// 条件 /// *信息 public TeamMemberEntity Get(TeamMemberEntity model) { try { using (IDataSession session = AppDataFactory.CreateMainSession()) { //获取信息 model = session.Get(model); } return model; } catch (Exception ex) { throw ex; } } #endregion #region 获取列表 /// /// 获取列表 /// /// 条件 /// 数据页 /// 数据页 public DataPage GetList(TeamMemberEntity condition, DataPage page) { string sql = null; List parameters = new List(); try { sql = this.GetQuerySql(condition, ref parameters); //分页关键字段及排序 page.KeyName = "PID"; if (string.IsNullOrEmpty(page.SortExpression)) { page.SortExpression = "TEAM_NAME DESC"; } using (IDataSession session = AppDataFactory.CreateMainSession()) { page = session.GetDataPage(sql, parameters.ToArray(), page); } return page; } catch (Exception ex) { throw ex; } } public List GetAllTeamMember(TeamMemberEntity condition) { string sql = null; List list = null; List parameters = new List(); try { using (IDataSession session = AppDataFactory.CreateMainSession()) { sql = GetQuerySql(condition, ref parameters); list = session.GetList(sql, parameters.ToArray()).ToList(); } return list; } catch (Exception ex) { throw; } } #endregion #region 获取查询语句 /// /// 获取查询语句 /// /// 查询条件 /// 参数 /// 查询语句 private string GetQuerySql(TeamMemberEntity condition, ref List parameters) { StringBuilder sqlBuilder = new StringBuilder(); StringBuilder whereBuilder = new StringBuilder(); try { //构成查询语句 sqlBuilder.Append("SELECT T.PID,TEAM_CODE,TEAM_NAME,MEMBER_CODE,MEMBER_NAME,WORKCELL_CODE,W.WORKCENTER_NAME AS WORKCELL_NAME,TEAMTYPE,T.REMARK,(CASE WHEN IS_LEADER =1 THEN '是' else '否' end) as IS_LEADER,(CASE WHEN IS_CALL =1 THEN '是' else '否' end) as IS_CALL,CALL_LEVEL,T.FACTORY_CODE,FACTORY_NAME "); //sqlBuilder.Append("SELECT * "); sqlBuilder.Append("FROM T_QT_TEAM_MEMBER T "); sqlBuilder.Append(" LEFT JOIN T_MD_FACTORY F ON T.FACTORY_CODE = F.FACTORY_CODE "); sqlBuilder.Append(" LEFT JOIN T_MD_WORKCENTER W ON W.WORKCENTER_CODE = T.WORKCELL_CODE "); //whereBuilder.Append(" AND FLGDEL<>1"); //查询条件 //if (string.IsNullOrEmpty(condition.UserName) == false) //{ // whereBuilder.Append(" AND USERNAME LIKE '%'+" + "@USERNAME" + "+'%'"); // parameters.Add(new DataParameter { ParameterName = "USERNAME", DataType = DbType.String, Value = condition.UserName }); //} if (string.IsNullOrEmpty(condition.FACTORY_CODE) == false) { whereBuilder.Append(" AND T.FACTORY_CODE = @FACTORY_CODE "); parameters.Add(new DataParameter { ParameterName = "FACTORY_CODE", DataType = DbType.String, Value = condition.FACTORY_CODE }); } if (string.IsNullOrEmpty(condition.WORKCELL_CODE) == false) { whereBuilder.Append(" AND (T.WORKCELL_CODE = @WORKCELL_CODE OR T.WORKCELL_CODE='All')"); parameters.Add(new DataParameter { ParameterName = "WORKCELL_CODE", DataType = DbType.String, Value = condition.WORKCELL_CODE }); } if (string.IsNullOrEmpty(condition.TEAMTYPE) == false) { whereBuilder.Append(" AND TEAMTYPE = @TEAMTYPE "); parameters.Add(new DataParameter { ParameterName = "TEAMTYPE", DataType = DbType.String, Value = condition.TEAMTYPE }); } if (string.IsNullOrEmpty(condition.TEAM_CODE) == false) { whereBuilder.Append(" AND TEAM_CODE = @TEAM_CODE "); parameters.Add(new DataParameter { ParameterName = "TEAM_CODE", DataType = DbType.String, Value = condition.TEAM_CODE }); } if (string.IsNullOrEmpty(condition.MEMBER_CODE) == false) { whereBuilder.Append(" AND MEMBER_CODE = @MEMBER_CODE "); parameters.Add(new DataParameter { ParameterName = "MEMBER_CODE", DataType = DbType.String, Value = condition.MEMBER_CODE }); } if (string.IsNullOrEmpty(condition.IS_LEADER) == false) { whereBuilder.Append(" AND IS_LEADER = @IS_LEADER "); parameters.Add(new DataParameter { ParameterName = "IS_LEADER", DataType = DbType.String, Value = condition.IS_LEADER }); } if (string.IsNullOrEmpty(condition.IS_CALL) == false) { whereBuilder.Append(" AND IS_CALL = @IS_CALL "); parameters.Add(new DataParameter { ParameterName = "IS_CALL", DataType = DbType.String, Value = condition.IS_CALL }); } if (condition.CALL_LEVEL>0) { whereBuilder.Append(" AND CALL_LEVEL = @CALL_LEVEL "); parameters.Add(new DataParameter { ParameterName = "CALL_LEVEL", DataType = DbType.String, Value = condition.CALL_LEVEL }); } if (whereBuilder.Length > 0) { sqlBuilder.Append(" WHERE " + whereBuilder.ToString().Substring(4)); } return sqlBuilder.ToString(); } catch (Exception ex) { throw ex; } } #endregion #region 获取导出的数据 /// /// 获取导出的数据 /// /// 查询条件 /// 数据 public DataTable GetExportData(TeamMemberEntity model) { DataTable dt = null; string sql = null; List parameters = new List(); try { //构成查询语句 sql = this.GetQuerySql(model, ref parameters); using (IDataSession session = AppDataFactory.CreateMainSession()) { dt = session.GetTable(sql, parameters.ToArray()); dt.TableName = "TeamMember"; } return dt; } catch (Exception ex) { throw ex; } } #endregion #region 信息是否重复 /// /// 判断名称是否存在 /// /// /// true:已存在;fasel:不存在。 public bool ExistsTeamMember(TeamMemberEntity model) { StringBuilder sqlBuilder = new StringBuilder(); StringBuilder whereBuilder = new StringBuilder(); List parameters = new List(); int count = 0; try { sqlBuilder.Append("SELECT COUNT(PID) FROM T_QT_TEAM_MEMBER"); if (string.IsNullOrEmpty(model.PID) == false) { whereBuilder.Append(" AND PID =@PID "); parameters.Add(new DataParameter { ParameterName = "PID", DataType = DbType.String, Value = model.PID }); } //if (string.IsNullOrEmpty(model.) == false) //{ //whereBuilder.Append(" AND AREACODE=@AREACODE"); //parameters.Add(new DataParameter { ParameterName = "AREACODE", DataType = DbType.String, Value = ""model.AREACODE + "" }); //} if (whereBuilder.Length > 0) { sqlBuilder.Append(" WHERE " + whereBuilder.ToString().Substring(4)); } using (IDataSession session = AppDataFactory.CreateMainSession()) { count = Convert.ToInt32(session.ExecuteSqlScalar(sqlBuilder.ToString(), parameters.ToArray())); } if (count > 0) { return true; } else { return false; } } catch (Exception ex) { throw ex; } } #endregion #region 插入信息 /// /// 插入信息(单表) /// /// 信息 /// 插入行数 public int Insert(TeamMemberEntity model) { int count = 0; try { using (IDataSession session = AppDataFactory.CreateMainSession()) { //插入基本信息 count = session.Insert(model); } return count; } catch (Exception ex) { throw ex; } } #endregion #region 更新信息 /// /// 更新信息 /// /// /// 更新行数 public int Update(TeamMemberEntity model) { int count = 0; try { using (IDataSession session = AppDataFactory.CreateMainSession()) { //更新基本信息 count = session.Update(model); } return count; } catch (Exception ex) { throw ex; } } #endregion #region 逻辑删除 /// /// 逻辑删除信息 /// /// /// 删除个数 public int Delete(TeamMemberEntity model) { StringBuilder sqlBuilder = new StringBuilder(); List parameters = new List(); int count = 0; try { using (IDataSession session = AppDataFactory.CreateMainSession()) { //删除基本信息 sqlBuilder.Append("DELETE T_QT_TEAM_MEMBER "); sqlBuilder.Append("WHERE PID = @PID "); parameters.Add(new DataParameter { ParameterName = "PID", DataType = DbType.String, Value = model.PID }); count = session.ExecuteSql(sqlBuilder.ToString(), parameters.ToArray()); } return count; } catch (Exception ex) { throw ex; } } #endregion #region 导入 public ImportMessage GetImportData(List list) { ImportMessage em = new ImportMessage(); List parameters = new List(); try { using (IDataSession session = AppDataFactory.CreateMainSession()) { //设置祖先对象数据会话 session.OpenTs(); foreach (TeamMemberEntity info in list) { if (info.IsNewInfo == true) { //插入信息 int count = session.Insert(info); em.insertNum++; } else { //更新信息 int count = session.Update(info); em.updateNum++; } } session.CommitTs(); } } catch (Exception ex) { throw ex; } return em; } #endregion } }