using Dapper; using Estsh.Core.Dapper; using Estsh.Core.IRepositories; using Estsh.Core.Model.ExcelModel; using Estsh.Core.Models; using Estsh.Core.Repository.IRepositories; using Estsh.Core.Util; using System.Collections; using System.Data; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:报表模块批次追溯查询DAL * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { public class LotDefineRepository : BaseRepository, ILotDefineRepository { public LotDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } /// /// 根据查询条件得出结果集 /// /// 查询条件 /// 符合条件的结果集 public List GetQuery(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); whereStr += " and a.enabled='Y' "; DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" (SELECT a.car_no,a.serial_number,a.part_no, b.part_spec,a.item_part_no FROM dbo.g_move_trans(NOLOCK) a LEFT JOIN dbo.sys_part(NOLOCK) b ON a.part_no = b.part_no WHERE 1=1 " + whereStr + @" UNION SELECT a.car_no,a.serial_number,a.part_no, b.part_spec,a.item_part_no FROM dbo.g_ht_move_trans(NOLOCK) a LEFT JOIN dbo.sys_part(NOLOCK) b ON a.part_no = b.part_no "); parameters.Add( "@Column", @" car_no,serial_number,part_no,part_spec,item_part_no "); parameters.Add( "@OrderColumn", " car_no "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr + ") d "); parameters.Add("@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount=parameters.Get("@TotalCount"); return result; } } public Hashtable getTableListByPage(string whereStr, Pager pager) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable result = new Hashtable(); whereStr += " and a.enabled='Y' "; DynamicParameters parameters = new DynamicParameters(); parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@Table", @" (SELECT a.car_no,a.serial_number,a.part_no, b.part_spec,a.item_part_no FROM dbo.g_move_trans(NOLOCK) a LEFT JOIN dbo.sys_part(NOLOCK) b ON a.part_no = b.part_no WHERE 1=1 " + whereStr + @" UNION SELECT a.car_no,a.serial_number,a.part_no, b.part_spec,a.item_part_no FROM dbo.g_ht_move_trans(NOLOCK) a LEFT JOIN dbo.sys_part(NOLOCK) b ON a.part_no = b.part_no "); parameters.Add("@Column", @" car_no,serial_number,part_no,part_spec,item_part_no "); parameters.Add("@OrderColumn", " car_no "); parameters.Add("@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr + ") d "); parameters.Add("@Condition", SqlStringBuilder.ToString()); List dataList = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); result.Add("dataList", dataList); result.Add("totalCount", parameters.Get("@TotalCount")); return result; } } } }