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 System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:收货查询补打数据库访问类
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
///
/// 收货查询补打模块的业务数据
///
public class FinishedInventoryQueryRepository : BaseRepository, IFinishedInventoryQueryRepository
{
public FinishedInventoryQueryRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
///
/// 根据分页条件获取列表
///
///
///
///
///
///
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(@"select a.mtoc,a.mtoc_desc,isnull(rejectsYtbale.rejectsY,0) rejectsY,isnull(rejectsNtbale.rejectsN,0) rejectsN from (
select mtoc, mtoc_desc from sys_stock (nolock) where mtoc <> '' and mtoc is not null and tray_no <> '' and tray_no is not null and status in ('50', '90') and enabled = 'Y'
group by mtoc, mtoc_desc) as a
left join(
select mtoc, mtoc_desc, count(1) rejectsY from sys_stock(nolock) where status = '50' and mtoc<> ''
and mtoc is not null and tray_no <> '' and tray_no is not null and enabled = 'Y' group by mtoc,mtoc_desc ) as rejectsYtbale on a.mtoc = rejectsYtbale.mtoc
left join(
select mtoc, mtoc_desc, count(1) rejectsN from sys_stock(nolock) where status = '90' and mtoc<> ''
and mtoc is not null and tray_no <> '' and tray_no is not null and enabled = 'Y' group by mtoc,mtoc_desc ) as rejectsNtbale on a.mtoc = rejectsNtbale.mtoc
" + strWhere + " order by " + OrderBy);
List dataList = dbConn.Query(SqlStringBuilder.ToString()).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", dataList.Count());
return result;
}
}
public Hashtable getTrayNoListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(@"select a.tray_no,a.mtoc,a.mtoc_desc,isnull(rejectsYtbale.rejectsY,0) rejectsY,isnull(rejectsNtbale.rejectsN,0) rejectsN,isnull(rejectsYtbale.channel_number,0)+isnull (rejectsNtbale.channel_number,0) channel_number from (
select tray_no, mtoc, mtoc_desc from sys_stock (nolock) where mtoc <> '' and mtoc is not null and tray_no <> '' and tray_no is not null and status in ('50', '90') and enabled = 'Y'
group by tray_no, mtoc, mtoc_desc) as a
left join(
select tray_no, mtoc, mtoc_desc, count(1) rejectsY,max(channel_number) channel_number from sys_stock(nolock) where status = '50' and mtoc<> ''
and mtoc is not null and tray_no <> '' and tray_no is not null and enabled = 'Y' group by mtoc,mtoc_desc,tray_no ) as rejectsYtbale on a.tray_no = rejectsYtbale.tray_no
left join(
select tray_no, mtoc, mtoc_desc, count(1) rejectsN,max(channel_number) channel_number from sys_stock(nolock) where status = '90' and mtoc<> ''
and mtoc is not null and tray_no <> '' and tray_no is not null and enabled = 'Y' group by mtoc,mtoc_desc,tray_no ) as rejectsNtbale on a.tray_no = rejectsNtbale.tray_no
" + strWhere + " order by " + OrderBy);
List dataList = dbConn.Query(SqlStringBuilder.ToString()).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", dataList.Count());
return result;
}
}
public Hashtable getCartonNoListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(" select * from sys_stock " + strWhere + " order by " + OrderBy);
List dataList = dbConn.Query(SqlStringBuilder.ToString()).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", dataList.Count());
return result;
}
}
public List getMtocDetailsList(string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select a.mtoc,a.mtoc_desc,isnull(b.rejectsY, 0) rejectsY,isnull(c.rejectsN, 0) rejectsN from ");
SqlStringBuilder.Append(" (select mtoc,mtoc_desc from sys_stock (nolock) where mtoc <> '' and mtoc is not null and tray_no <> '' and tray_no is not null group by mtoc,mtoc_desc) as a ");
SqlStringBuilder.Append(" left join(select mtoc,mtoc_desc,count(1) rejectsY from (select tray_no, mtoc,mtoc_desc, count(1) rejectsY from sys_stock (nolock) where status = '50' and mtoc <> '' and mtoc is not null and tray_no <> '' and tray_no is not null and enabled='Y' " + strWhere + " group by mtoc,mtoc_desc,tray_no) a ");
SqlStringBuilder.Append(" group by mtoc,mtoc_desc) as b ");
SqlStringBuilder.Append(" on a.mtoc = b.mtoc ");
SqlStringBuilder.Append(" left join(select mtoc,mtoc_desc,count(1) rejectsN from (select tray_no, mtoc,mtoc_desc, count(1) rejectsY from sys_stock (nolock) where status = '90' and mtoc <> '' and mtoc is not null and tray_no <> '' and tray_no is not null and enabled='Y' " + strWhere + " group by mtoc,mtoc_desc,tray_no) a ");
SqlStringBuilder.Append(" group by mtoc,mtoc_desc) as c ");
SqlStringBuilder.Append(" on a.mtoc = c.mtoc where b.rejectsY!=0 or c.rejectsN!=0 order by " + OrderBy);
List dataList = dbConn.Query(SqlStringBuilder.ToString()).ToList();
return dataList;
}
}
}
}