|
|
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<SysKeydata>, IKeyDataDefineRepository
|
|
|
{
|
|
|
public KeyDataDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
|
|
|
{
|
|
|
}
|
|
|
#region 成员方法
|
|
|
/// <summary>
|
|
|
/// 获得菜单列表数据
|
|
|
/// </summary>
|
|
|
public List<SysKeydata> 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<SysKeydata> result = dbConn.Query<SysKeydata>(strSql.ToString()).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取分页数据列表
|
|
|
/// </summary>
|
|
|
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<SysKeydata> dataList = dbConn.Query<SysKeydata>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
|
|
|
result.Add("dataList", dataList);
|
|
|
result.Add("totalCount", Params.Get<int>("@TotalCount"));
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 获取分页数据列表
|
|
|
/// </summary>
|
|
|
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<KeyDataDefine> dataList = dbConn.Query<KeyDataDefine>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
|
|
|
result.Add("dataList", dataList);
|
|
|
result.Add("totalCount", Params.Get<int>("@TotalCount"));
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 插入菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="htParams"></param>
|
|
|
/// <returns></returns>
|
|
|
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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="htParams"></param>
|
|
|
/// <returns></returns>
|
|
|
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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 删除菜单数据
|
|
|
/// </summary>
|
|
|
/// <param name="keydata_id"></param>
|
|
|
/// <returns></returns>
|
|
|
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 成员方法
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取 站点 信息
|
|
|
/// BY NOAH
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public List<KeyValueResult> 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<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 获取 看板 信息
|
|
|
/// BY NOAH
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public List<KeyValueResult> 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<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 判断用户输入的零件号是否存在
|
|
|
/// BY NOAH
|
|
|
/// </summary>
|
|
|
/// <param name="part_no"></param>
|
|
|
/// <returns></returns>
|
|
|
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<SysPart> result = dbConn.Query<SysPart>(SqlString, Params).ToList();
|
|
|
if (result.Count < 1)
|
|
|
{
|
|
|
return part_id;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
part_id = result[0].PartId.ToString();
|
|
|
return part_id;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 导入数据方法
|
|
|
/// </summary>
|
|
|
/// <param name="dt">需要导入的数据表</param>
|
|
|
/// <returns>true or false</returns>
|
|
|
public bool InsertData(List<KeyDataDefine> dt,string userId)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
List<String> SqlStrings = new List<string>(dt.Count);
|
|
|
List<String> ModelCache = new List<string>(dt.Count);
|
|
|
List<DynamicParameters> hs = new List<DynamicParameters>(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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 判断关键数据是否存在
|
|
|
/// </summary>
|
|
|
/// <param name="KeydataName"></param>
|
|
|
/// <returns></returns>
|
|
|
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<SysKeydata> result = dbConn.Query<SysKeydata>(SqlString, Params).ToList();
|
|
|
return result.Count > 0 ? true : false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|