using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using Estsh.Core.Util;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:料架信息管理数据库访问类
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
///
/// 处理料架信息模块的业务数据
///
public class TrayRepository : BaseRepository, ITrayRepository
{
public TrayRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 料架信息管理
///
/// 根据分页条件获取角色列表
///
///
///
///
///
///
public Hashtable getTrayByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder column = new StringBuilder(1024);
column.Append(" a.*, b.type_name, c.enum_desc ");
StringBuilder table = new StringBuilder(1024);
table.Append(" dbo.g_tray a LEFT JOIN dbo.g_tray_type b ON a.tray_type_id = b.type_id ");
table.Append(" LEFT JOIN dbo.sys_enum c ON a.tray_seq = c.enum_value ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table.ToString());
parameters.Add("@Column", column.ToString());
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dt", depts);
result.Add("totalCount", parameters.Get("@TotalCount"));
return result;
}
}
///
/// 根据分页条件获取角色列表
///
///
///
///
///
///
public Hashtable getTrayByPageToList(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder column = new StringBuilder(1024);
column.Append(" a.*, b.type_name, c.enum_desc ");
StringBuilder table = new StringBuilder(1024);
table.Append(" dbo.g_tray a LEFT JOIN dbo.g_tray_type b ON a.tray_type_id = b.type_id ");
table.Append(" LEFT JOIN dbo.sys_enum c ON a.tray_seq = c.enum_value ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table.ToString());
parameters.Add("@Column", column.ToString());
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List dataList = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", parameters.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();
StringBuilder column = new StringBuilder(1024);
column.Append(" a.*, b.type_name, c.enum_desc ");
StringBuilder table = new StringBuilder(1024);
table.Append(" dbo.g_tray a LEFT JOIN dbo.g_tray_type b ON a.tray_type_id = b.type_id ");
table.Append(" LEFT JOIN dbo.sys_enum c ON a.tray_seq = c.enum_value ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table.ToString());
parameters.Add("@Column", column.ToString());
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List dataList = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", parameters.Get("@TotalCount"));
return result;
}
}
///
/// 获取料架类型列表
///
///
public List getTrayType()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String strSql = "SELECT type_id as [value],type_name as [key] from g_tray_type where enabled = 'Y'";
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 插入料架信息信息
///
///
///
public int saveTrayInfo(GTray htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String tray_code = htParams.TrayCode;
if (existTray(tray_code))
{
return -1;
}
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO g_tray (tray_code ");
SqlStringBuilder.Append(" , tray_name ");
SqlStringBuilder.Append(" ,tray_type_id ");
SqlStringBuilder.Append(" ,tray_seq ");
SqlStringBuilder.Append(" ,enabled ");
SqlStringBuilder.Append(" , create_time ");
SqlStringBuilder.Append(" ,create_userid) ");
SqlStringBuilder.Append(" VALUES(@trayCode ");
SqlStringBuilder.Append(" , @trayName ");
SqlStringBuilder.Append(" ,@trayTypeId");
SqlStringBuilder.Append(" ,@traySeq");
SqlStringBuilder.Append(" ,'Y' ");
SqlStringBuilder.Append(" , CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" ,@CreateUserid)");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 验证料架代号在料架信息表中是否存在
///
/// 料架代号
/// true
public bool existTray(string tray_code)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("SELECT * FROM g_tray WHERE tray_code=@tray_code ");
DynamicParameters values = new DynamicParameters();
values.Add("@tray_code", tray_code);
object obj = dbConn.ExecuteScalar(SqlStringBuilder.ToString(), values);
return obj != null;
}
}
///
/// 根据料架ID获取料架数据
///
/// 料架ID
/// true
public List GetTrayById(string tray_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String strSql = "SELECT * FROM g_tray WHERE tray_id=@tray_id ";
DynamicParameters values = new DynamicParameters();
values.Add("@tray_id", tray_id);
List result = dbConn.Query(strSql, values).ToList();
return result;
}
}
///
/// 更新料架信息信息
///
///
///
public int updateTrayInfo(GTray htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update g_tray ");
SqlStringBuilder.Append("SET tray_code=@trayCode ");
SqlStringBuilder.Append(" , tray_name=@trayName ");
SqlStringBuilder.Append(" , tray_type_id=@trayTypeId ");
SqlStringBuilder.Append(" , tray_seq=@traySeq ");
SqlStringBuilder.Append(" ,update_userid = @updateUserId ");
SqlStringBuilder.Append(" ,update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append("WHERE tray_id=@trayId ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 删除料架信息数据
///
///
///
public int deleteTray(String tray_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update g_tray set Enabled='N' where tray_id = @tray_id";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@tray_id", tray_id);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
//启用
public int EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update g_tray set Enabled='Y' WHERE tray_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 g_tray set Enabled='N' WHERE tray_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
///
/// 根据分页条件获取角色列表
///
///
///
///
///
///
public Hashtable getTrayDetailOfPager(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder column = new StringBuilder(1024);
column.Append(" a.*, b.tray_name , c.enum_desc AS tray_loc1, d.enum_desc AS place_part_location1 ");
StringBuilder table = new StringBuilder(1024);
table.Append(" dbo.g_tray_detail a ");
table.Append(" LEFT JOIN g_tray b ON a.tray_id = b.tray_id ");
table.Append(" LEFT JOIN dbo.sys_enum c ON a.tray_loc = c.enum_value AND c.enum_type = 'sys_tray_loc' ");
table.Append(" LEFT JOIN dbo.sys_enum d ON a.place_part_location = d.enum_value AND d.enum_type = 'sys_part_location' ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table.ToString());
parameters.Add("@Column", column.ToString());
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dt", depts);
result.Add("totalCount", parameters.Get("@TotalCount"));
return result;
}
}
public Hashtable getTrayDetailToList(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder column = new StringBuilder(1024);
column.Append(" a.*, b.tray_name , c.enum_desc AS tray_loc1, d.enum_desc AS place_part_location1 ");
StringBuilder table = new StringBuilder(1024);
table.Append(" dbo.g_tray_detail a ");
table.Append(" LEFT JOIN g_tray b ON a.tray_id = b.tray_id ");
table.Append(" LEFT JOIN dbo.sys_enum c ON a.tray_loc = c.enum_value AND c.enum_type = 'sys_tray_loc' ");
table.Append(" LEFT JOIN dbo.sys_enum d ON a.place_part_location = d.enum_value AND d.enum_type = 'sys_part_location' ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table.ToString());
parameters.Add("@Column", column.ToString());
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List dataList = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", parameters.Get("@TotalCount"));
return result;
}
}
///
/// 根据guid,获取Tray明细数据
///
/// true
public List GetTrayDetailByGuid(string guid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String strSql = "SELECT * FROM g_tray_detail WHERE guid=@guid ";
DynamicParameters values = new DynamicParameters();
values.Add("@guid", guid);
List result = dbConn.Query(strSql.ToString(), values).ToList();
return result;
}
}
///
/// 插入料架明细信息信息
///
///
///
public int saveTrayDetailInfo(GTrayDetail htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO g_tray_detail (tray_loc ");
SqlStringBuilder.Append(" ,place_part_location ");
SqlStringBuilder.Append(" ,enabled ");
SqlStringBuilder.Append(" , create_time ");
SqlStringBuilder.Append(" ,create_userid) ");
SqlStringBuilder.Append(" VALUES(@trayLoc ");
SqlStringBuilder.Append(" ,@placePartLocation");
SqlStringBuilder.Append(" ,'Y' ");
SqlStringBuilder.Append(" , CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" ,@CreateUserid)");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 更新料架明细信息信息
///
///
///
public int updateTrayDetailInfo(GTrayDetail htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update g_tray_detail ");
SqlStringBuilder.Append("SET tray_loc=@trayLoc ");
SqlStringBuilder.Append(" , place_part_location=@placePartLocation ");
SqlStringBuilder.Append(" ,update_userid = @updateUserId ");
SqlStringBuilder.Append(" ,update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append("WHERE guid=@guid ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 删除料架明细信息数据
///
///
///
public int deleteTrayDetail(String guid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update g_tray_detail set Enabled='N' where guid = @guid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@guid", guid);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
#endregion
}
}