using Dapper; using Estsh.Core.Dapper; 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 ROSerchPrintRepository : BaseRepository, IROSerchPrintRepository { public ROSerchPrintRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } #region 收货查询补打 /// /// 根据分页条件获取列表 /// /// /// /// /// /// public Hashtable getListByPage(Hashtable requestHt, int PageSize, int PageIndex, string direction, string sort) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String strWhere = "a.enabled = 'Y' AND a.carton_no <> '0' "; //if (requestHt["orderNo"] != null && !"".Equals(requestHt["orderNo"].ToString().Trim())) //{ // strWhere += " and " + " a.order_no = '" + requestHt["orderNo"].ToString().Trim() + "'"; //} if (requestHt["status"] != null && !"".Equals(requestHt["status"].ToString().Trim())) { strWhere += " and " + " a.status = '" + requestHt["status"].ToString().Trim() + "'"; } if (requestHt["locateName"] != null && !"".Equals(requestHt["locateName"].ToString().Trim())) { strWhere += " and " + " a.locate_id = '" + requestHt["locateName"].ToString().Trim() + "'"; } if (requestHt["startDate"] != null && !"".Equals(requestHt["startDate"].ToString().Trim()) && requestHt["endDate"] != null && !"".Equals(requestHt["endDate"].ToString().Trim())) { strWhere += " and " + "a.create_time between Convert(DateTime,'" + requestHt["startDate"].ToString().Trim() + "') and Convert(DateTime,'" + requestHt["endDate"].ToString().Trim() + "')"; } if (requestHt["startCartonNo"] != null && !"".Equals(requestHt["startCartonNo"].ToString().Trim()) && requestHt["endCartonNo"] != null && !"".Equals(requestHt["endCartonNo"].ToString().Trim())) { strWhere += " and " + "a.carton_no between '" + requestHt["startCartonNo"].ToString().Trim() + "' and '" + requestHt["endCartonNo"].ToString().Trim() + "'"; } String orderBy = ""; if (sort != null && !"".Equals(sort.Trim())) { orderBy += " a." + typeof(SysStock).GetEntityColumnName(sort.Trim()) + " " + direction; } else { orderBy += " a."+typeof(SysStock).GetEntityColumnName("CreateYmd") + " " + direction; } Hashtable result = new Hashtable(); StringBuilder column = new StringBuilder(1024); column.Append("a.ruid, a.carton_no, d.enum_desc as status, a.qty, a.lot_no, "); column.Append(" a.create_time, b.part_no, b.part_spec, c.vendor_name"); StringBuilder table = new StringBuilder(1024); table.Append("dbo.sys_stock a "); table.Append("LEFT JOIN dbo.sys_part b ON a.part_id = b.part_id "); table.Append("LEFT JOIN dbo.sys_vendor c ON a.vendor_id = c.vendor_id "); table.Append("LEFT JOIN dbo.sys_enum d ON a.status = d.enum_value AND d.enum_type = 'sys_stock_status' "); 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 getLocateList() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT locate_id as [value],locate_name as [key] from sys_locate where enabled='Y' "); List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } public List getCartonListByRuid(String ruids) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT a.ruid "); SqlStringBuilder.Append(" , a.carton_no "); //SqlStringBuilder.Append(" , a.order_no "); SqlStringBuilder.Append(" , a.qty "); SqlStringBuilder.Append(" , a.lot_no "); SqlStringBuilder.Append(" , a.create_time "); SqlStringBuilder.Append(" , b.part_no "); SqlStringBuilder.Append(" , b.part_spec "); SqlStringBuilder.Append(" , c.vendor_name "); SqlStringBuilder.Append("FROM dbo.sys_stock a "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part b ON a.part_id = b.part_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor c ON a.vendor_id = c.vendor_id "); SqlStringBuilder.Append("WHERE a.ruid IN (" + ruids + ") and a.enabled='Y' "); List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); return result; } } #endregion } }