You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

344 lines
14 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
}
}
}
}