|
|
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
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 收货查询补打模块的业务数据
|
|
|
/// </summary>
|
|
|
public class FinishedHalfInventoryQueryRepository : BaseRepository<MesOutPdline>, IFinishedHalfInventoryQueryRepository
|
|
|
{
|
|
|
public FinishedHalfInventoryQueryRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据分页条件获取列表
|
|
|
/// </summary>
|
|
|
/// <param name="PageSize"></param>
|
|
|
/// <param name="PageIndex"></param>
|
|
|
/// <param name="strWhere"></param>
|
|
|
/// <param name="OrderBy"></param>
|
|
|
/// <returns></returns>
|
|
|
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append(" (select part_no from mes_out_pdline (nolock) where product_type = '20' group by part_no) as a ");
|
|
|
SqlStringBuilder.Append(" left join(select part_no, count(1) rejectsY from sys_stock (nolock) where status = '50' " + strWhere + " group by part_no) as b ");
|
|
|
SqlStringBuilder.Append(" on a.part_no = b.part_no ");
|
|
|
SqlStringBuilder.Append(" left join(select part_no, count(1) rejectsN from sys_stock (nolock) where status = '90' " + strWhere + " group by part_no) as c ");
|
|
|
SqlStringBuilder.Append(" on a.part_no = c.part_no ");
|
|
|
SqlStringBuilder.Append(" left join sys_part s on a.part_no = s.part_no " );
|
|
|
|
|
|
DynamicParameters parameters = new DynamicParameters();
|
|
|
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
|
|
|
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
|
|
|
parameters.Add("@Table", SqlStringBuilder.ToString());
|
|
|
parameters.Add("@Column", @" a.part_no,s.part_spec,s.part_spec2,isnull(b.rejectsY, 0) rejectsY,isnull(c.rejectsN, 0) rejectsN ");
|
|
|
parameters.Add("@OrderColumn", OrderBy);
|
|
|
parameters.Add("@GroupColumn", "");
|
|
|
parameters.Add("@PageSize", PageSize);
|
|
|
parameters.Add("@CurrentPage", PageIndex);
|
|
|
parameters.Add("@Group", 0);
|
|
|
parameters.Add("@Condition", " isnull(b.rejectsY,0) !=0 or isnull(c.rejectsN,0)!=0 ");
|
|
|
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<MesOutPdline> dataList = dbConn.Query<MesOutPdline>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
|
|
|
result.Add("dataList", dataList);
|
|
|
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
public List<FinishedHalfInventory> getExportList(string strWhere, string orderBy)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append(" select a.part_no,s.part_spec,s.part_spec2,isnull(b.rejectsY, 0) rejectsY,isnull(c.rejectsN, 0) rejectsN from (select part_no from mes_out_pdline (nolock) where product_type = '20' group by part_no) as a ");
|
|
|
SqlStringBuilder.Append(" left join(select part_no, count(1) rejectsY from sys_stock (nolock) where status = '50' " + strWhere + " group by part_no) as b ");
|
|
|
SqlStringBuilder.Append(" on a.part_no = b.part_no ");
|
|
|
SqlStringBuilder.Append(" left join(select part_no, count(1) rejectsN from sys_stock (nolock) where status = '90' " + strWhere + " group by part_no) as c ");
|
|
|
SqlStringBuilder.Append(" on a.part_no = c.part_no ");
|
|
|
SqlStringBuilder.Append(" left join sys_part s on a.part_no = s.part_no where isnull(b.rejectsY,0) !=0 or isnull(c.rejectsN,0)!=0 order by" + orderBy);
|
|
|
|
|
|
List<FinishedHalfInventory> dataList = dbConn.Query<FinishedHalfInventory>(SqlStringBuilder.ToString()).ToList();
|
|
|
return dataList;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
} |