using Dapper; using Estsh.Core.Dapper; using Estsh.Core.IRepositories; using Estsh.Core.Model.ExcelModel; using Estsh.Core.Model.Result; using Estsh.Core.Models; using Estsh.Core.Repository.IRepositories; using System.Collections; using System.Data; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:关键数据管理 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { public class KeyDataDefineRepository : BaseRepository, IKeyDataDefineRepository { public KeyDataDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } #region 成员方法 /// /// 获得菜单列表数据 /// public List getList(string strWhere, string filedOrder) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("select * from sys_keydata "); if (!strWhere.Trim().Equals("")) { strSql.Append(" where " + strWhere); } if (filedOrder != null && !filedOrder.Trim().Equals("")) { strSql.Append(" order by " + filedOrder); } List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } /// /// 获取分页数据列表 /// public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable result = new Hashtable(); DynamicParameters Params = new DynamicParameters(); Params.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output); Params.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output); Params.Add("@GroupColumn", ""); Params.Add("@Table", "sys_keydata"); Params.Add("@Column", "*"); Params.Add("@PageSize", PageSize); Params.Add("@CurrentPage", PageIndex); Params.Add("@Condition", strWhere); Params.Add("@OrderColumn", OrderBy); Params.Add("@Group", 0); List dataList = dbConn.Query("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList(); result.Add("dataList", dataList); result.Add("totalCount", Params.Get("@TotalCount")); return result; } } /// /// 获取分页数据列表 /// public Hashtable getTableListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable result = new Hashtable(); DynamicParameters Params = new DynamicParameters(); Params.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output); Params.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output); Params.Add("@GroupColumn", ""); Params.Add("@Table", "sys_keydata"); Params.Add("@Column", "*"); Params.Add("@PageSize", PageSize); Params.Add("@CurrentPage", PageIndex); Params.Add("@Condition", strWhere); Params.Add("@OrderColumn", OrderBy); Params.Add("@Group", 0); List dataList = dbConn.Query("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList(); result.Add("dataList", dataList); result.Add("totalCount", Params.Get("@TotalCount")); return result; } } /// /// 插入菜单数据 /// /// /// public int saveKeyData(SysKeydata htParams) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("INSERT INTO dbo.sys_keydata(keydata_name,keydata_desc,max_value,min_value,max_tolerance,min_tolerance,enabled,create_userid,create_time) values"); SqlStringBuilder.Append("(@keydataName,@keydataDesc,@maxValue,@minValue,@maxTolerance,@minTolerance,@enabled,@createUserid,CONVERT(varchar(50), GETDATE(), 21))"); int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams); return result; } } /// /// 更新菜单数据 /// /// /// public int updateKeyData(SysKeydata htParams) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("UPDATE sys_keydata SET "); SqlStringBuilder.Append(@"keydata_name=@keydataName,keydata_desc=@keydataDesc,max_value=@maxValue,min_value=@minValue,max_tolerance=@maxTolerance, min_tolerance=@minTolerance,enabled=@enabled,update_userid=@updateUserid,update_time=CONVERT(varchar(50), GETDATE(), 21) "); SqlStringBuilder.Append("WHERE keydata_id=@keydataId "); int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams); return result; } } /// /// 删除菜单数据 /// /// /// public int deleteKeyData(String keydata_id) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String delStr = "update sys_keydata set Enabled='N' where keydata_id = @keydata_id"; DynamicParameters htparams = new DynamicParameters(); htparams.Add("@keydata_id", keydata_id); int result = dbConn.Execute(delStr, htparams); return result; } } //启用 public int EnableData(String ids) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String delStr = "update sys_keydata set Enabled='Y' WHERE keydata_id in (" + ids + ")"; int result = dbConn.Execute(delStr); return result; } } //禁用 public int DisableData(String ids) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String delStr = "update sys_keydata set Enabled='N' WHERE keydata_id in (" + ids + ")"; int result = dbConn.Execute(delStr); return result; } } #endregion 成员方法 /// /// 获取 站点 信息 /// BY NOAH /// /// public List getTerminalName() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT DISTINCT keydata_id as [value],terminal_name as [key] from sys_terminal WHERE keydata_id IN (SELECT keydata_id FROM dbo.sys_terminal EXCEPT SELECT keydata_id FROM dbo.sys_terminal_control) and enabled = 'Y'"); List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } /// /// 获取 看板 信息 /// BY NOAH /// /// public List getBoardName() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT DISTINCT view_board_id as [value],view_board_name as [key] from g_view_board WHERE enabled = 'Y'"); List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } /// /// 判断用户输入的零件号是否存在 /// BY NOAH /// /// /// public String isExsitPart_no(String part_no) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string part_id = null; string SqlString = "select top 1 part_id from sys_part where enabled='Y' and part_no=@partNo"; DynamicParameters Params = new DynamicParameters(); Params.Add("@partNo", part_no); List result = dbConn.Query(SqlString, Params).ToList(); if (result.Count < 1) { return part_id; } else { part_id = result[0].PartId.ToString(); return part_id; } } } /// /// 导入数据方法 /// /// 需要导入的数据表 /// true or false public bool InsertData(List dt,string userId) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); List SqlStrings = new List(dt.Count); List ModelCache = new List(dt.Count); List hs = new List(dt.Count); for (int i = 0; i < dt.Count; i++) { string KeydataName = dt[i].KeydataName.ToString(); // 跳过空行 if (string.IsNullOrEmpty(KeydataName.Trim())) { continue; } // 跳过重复的行 if (ModelCache.Contains(KeydataName)) { continue; } else { ModelCache.Add(dt[i].KeydataDesc.ToString()); } StringBuilder SqlStringBuilder = new StringBuilder(1024); if (ExistsKeydataName(KeydataName)) { SqlStringBuilder.Append("UPDATE dbo.sys_keydata SET keydata_name=@keydata_name, keydata_desc=@keydata_desc, "); SqlStringBuilder.Append("max_value=@max_value, min_value=@min_value, max_tolerance=@max_tolerance, "); SqlStringBuilder.Append("min_tolerance=@min_tolerance,update_userid=@emp_id, enabled='Y', "); SqlStringBuilder.Append("update_time=CONVERT(varchar(50), GETDATE(), 21) "); SqlStringBuilder.Append("WHERE keydata_name=@keydata_name "); } else { SqlStringBuilder.Append("insert into sys_keydata(keydata_name,keydata_desc,max_value,"); SqlStringBuilder.Append("min_value,max_tolerance,min_tolerance,enabled "); SqlStringBuilder.Append(" ) values( "); SqlStringBuilder.Append("@keydata_name,@keydata_desc,@max_value, "); SqlStringBuilder.Append("@min_value,@max_tolerance,@min_tolerance,'Y' )"); } DynamicParameters values = new DynamicParameters(); values.Add("@emp_id", userId); values.Add("@keydata_name", dt[i].KeydataName.ToString()); values.Add("@keydata_desc", dt[i].KeydataDesc.ToString()); values.Add("@max_value", dt[i].MaxValue.ToString()); values.Add("@min_value", dt[i].MinValue.ToString()); values.Add("@max_tolerance", dt[i].MaxTolerance.ToString()); values.Add("@min_tolerance", dt[i].MinTolerance.ToString()); SqlStrings.Add(SqlStringBuilder.ToString()); hs.Add(values); } for (int i = 0; i < SqlStrings.Count; i++) { int result = dbConn.Execute(SqlStrings[i], hs[i]); } return true; } } /// /// 判断关键数据是否存在 /// /// /// public bool ExistsKeydataName(string KeydataName) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = "select keydata_name,keydata_id from dbo.sys_keydata where Keydata_Name=@KeydataName order by keydata_name"; DynamicParameters Params = new DynamicParameters(); Params.Add("@KeydataName", KeydataName); List result = dbConn.Query(SqlString, Params).ToList(); return result.Count > 0 ? true : false; } } } }