using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
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
* 描述:看板模块DAL类
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
///
/// 处理抽样模块的业务数据
///
public class SampleTestDefineRepository : BaseRepository, ISampleTestDefineRepository
{
public SampleTestDefineRepository(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 a.*,b.model_name,c.type_name,a.lot_qty-a.counter as qty from dbo.g_ab_testplan a LEFT JOIN dbo.sys_model b ON a.model_id = b.model_id LEFT JOIN dbo.sys_model_type c ON b.model_type_id = c.type_id ");
if (strWhere != null && !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 DataTable GetDataTable(string strWhere, string filedOrder)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append(" select a.*,b.model_name,c.type_name,a.lot_qty-a.counter as qty from dbo.g_ab_testplan a LEFT JOIN dbo.sys_model b ON a.model_id = b.model_id LEFT JOIN dbo.sys_model_type c ON b.model_type_id = c.type_id ");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
DataTable table = new DataTable();
var reader = dbConn.ExecuteReader(strSql.ToString());
table.Load(reader);
return table;
}
}
///
/// 根据分页条件获取分页数据列表
///
public Hashtable GetListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
string table = "dbo.g_ab_testplan a LEFT JOIN dbo.sys_model b ON a.model_id = b.model_id LEFT JOIN dbo.sys_model_type c ON b.model_type_id = c.type_id ";
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0,DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", table);
parameters.Add("@Column", "a.*,b.model_name,c.type_name,a.lot_qty-a.counter as qty ");
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("dataList", depts);
result.Add("totalCount", parameters.Get("@TotalCount"));
return result;
}
}
///
/// 获取下拉框抽样车型ModelType数据
///
///
public List GetSelectModelType()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select type_id as [value],type_name as [key] from sys_model_type where enabled='Y' ");
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 获取下拉框抽样配置Model数据
///
///
public List GetSelectModel()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select model_id as [value],model_name as [key] from sys_model where enabled='Y' ");
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 插入抽样数据
///
///
///
public int Insert(GAbTestplan htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO g_ab_testplan( model_id");
SqlStringBuilder.Append(" , start_date ");
SqlStringBuilder.Append(" , end_date ");
SqlStringBuilder.Append(" , lot_qty ");
SqlStringBuilder.Append(" , counter ");
SqlStringBuilder.Append(" , location_counter ");
SqlStringBuilder.Append(" , enabled ");
SqlStringBuilder.Append(" ,create_userid ");
SqlStringBuilder.Append(" ,create_time ");
SqlStringBuilder.Append(" ,guid) ");
SqlStringBuilder.Append(" VALUES(@modelId ");
SqlStringBuilder.Append(" , @startDate ");
SqlStringBuilder.Append(" , @endDate ");
SqlStringBuilder.Append(" , @lotQty ");
SqlStringBuilder.Append(" , 0 ");
SqlStringBuilder.Append(" , 0 ");
SqlStringBuilder.Append(" , @enabled ");
SqlStringBuilder.Append(" , @createUserid ");
SqlStringBuilder.Append(" , CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" , NEWID()) ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 更新抽样数据
///
///
///
public int Update(GAbTestplan htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update g_ab_testplan ");
SqlStringBuilder.Append("SET model_id=@modelId ");
SqlStringBuilder.Append(" ,start_date=@startDate ");
SqlStringBuilder.Append(" , end_date=@endDate ");
SqlStringBuilder.Append(" , lot_qty=@lotQty ");
SqlStringBuilder.Append(" , enabled=@enabled ");
SqlStringBuilder.Append(" ,update_userid=@updateUserid ");
SqlStringBuilder.Append(" ,update_time=CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" ");
SqlStringBuilder.Append("WHERE testplan_id=@testplanId ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 删除抽样数据
///
///
///
public int Delete(String testplan_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update g_ab_testplan set Enabled='N' where testplan_id = @testplan_id";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@testplan_id", testplan_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_ab_testplan set Enabled='Y' WHERE testplan_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_ab_testplan set Enabled='N' WHERE testplan_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
#endregion 成员方法
}
}