You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

166 lines
8.3 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
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 RepairQueryRepository : BaseRepository<GSnStatus>, IRepairQueryRepository
{
public RepairQueryRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
/// <summary>
/// 产线
/// </summary>
/// <returns>数据集</returns>
public List<KeyValueResult> GetPDLineName()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("select pdline_name as [value],pdline_desc as [key] from sys_pdline where enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(SqlStringBuilder.ToString()).ToList();
return result;
}
}
/// <summary>
/// 车型
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetModelTypeList()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append(" SELECT DISTINCT type_name as [value],type_name as [key] FROM dbo.sys_model_type WHERE enabled = 'Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(SqlStringBuilder.ToString()).ToList();
return result;
}
}
/// <summary>
/// 配置
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetModelList(string typeName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string quernSen = "";
if (string.IsNullOrEmpty(typeName))
{
quernSen = @" SELECT DISTINCT model_name as [value],model_name as [key] FROM dbo.sys_model WHERE enabled = 'Y' ";
}
else
{
quernSen = @" SELECT DISTINCT model_name as [value],model_name as [key] FROM dbo.sys_model a JOIN dbo.sys_model_type b ON a.model_type_id = b.type_id WHERE a.enabled = 'Y' AND b.type_name = '" + typeName + "' ";
}
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(quernSen).ToList();
return result;
}
}
public List<GSnStatus> GetRepairDataList(string whereStr, Pager pager, ref int totalCount)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameters = new DynamicParameters();
parameters.Add( "@TotalCount", 100, DbType.Int32, ParameterDirection.Output);
parameters.Add( "@TotalPage", 100, DbType.Int32, ParameterDirection.Output);
parameters.Add( "@Table", @" dbo.g_sn_status a
LEFT JOIN sys_part b ON a.part_id = b.part_id
LEFT JOIN dbo.sys_pdline c ON a.pdline_id = c.pdline_id
LEFT JOIN sys_model d ON d.model_id = a.model_id
LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id
LEFT JOIN dbo.sys_emp f ON f.emp_id = a.update_userid ");
parameters.Add("@Column", @" a.ruid AS lsn ,
c.pdline_name ,e.type_name , d.model_name ,a.serial_number ,
b.part_no ,b.part_spec ,b.cust_part_no ,a.remark ,
CASE a.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type,
a.update_time AS utime ,f.emp_name,
CONVERT(varchar(100),a.in_pdline_time,120) as in_pdline_time,
CONVERT(varchar(100),a.out_pdline_time,120) as out_pdline_time");
parameters.Add( "@OrderColumn", " a.update_time DESC");
parameters.Add( "@GroupColumn", "");
parameters.Add("@PageSize", pager.pageSize);
parameters.Add("@CurrentPage", pager.pageNo);
parameters.Add("@Group", 0);
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.AppendLine(" a.enabled = 'Y' ");
SqlStringBuilder.AppendLine(" AND current_status IN(1) ");
SqlStringBuilder.AppendLine(whereStr);
parameters.Add("@Condition", SqlStringBuilder.ToString());
List<GSnStatus> result = dbConn.Query<GSnStatus>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
totalCount= parameters.Get<int>("@TotalCount");
return result;
}
}
public List<RepairQuery> getTableListByPage(string whereStr, Pager pager, ref int totalCount)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 100, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 100, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", @" dbo.g_sn_status a
LEFT JOIN sys_part b ON a.part_id = b.part_id
LEFT JOIN dbo.sys_pdline c ON a.pdline_id = c.pdline_id
LEFT JOIN sys_model d ON d.model_id = a.model_id
LEFT JOIN dbo.sys_model_type e ON e.type_id = d.model_type_id
LEFT JOIN dbo.sys_emp f ON f.emp_id = a.update_userid ");
parameters.Add("@Column", @" a.ruid AS lsn ,
c.pdline_name ,e.type_name , d.model_name ,a.serial_number ,
b.part_no ,b.part_spec ,b.cust_part_no ,a.remark ,
CASE a.prod_type WHEN 'S' THEN '订单生产' WHEN 'E' THEN '紧急插单' WHEN 'C'THEN '试制' WHEN 'Z'THEN '试制插单' WHEN 'P'THEN '培训' WHEN 'Q'THEN '培训插单' ELSE '未知' END AS prod_type,
a.update_time AS utime ,f.emp_name,
CONVERT(varchar(100),a.in_pdline_time,120) as in_pdline_time,
CONVERT(varchar(100),a.out_pdline_time,120) as out_pdline_time");
parameters.Add("@OrderColumn", " a.update_time DESC");
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", pager.pageSize);
parameters.Add("@CurrentPage", pager.pageNo);
parameters.Add("@Group", 0);
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.AppendLine(" a.enabled = 'Y' ");
SqlStringBuilder.AppendLine(" AND current_status IN(1) ");
SqlStringBuilder.AppendLine(whereStr);
parameters.Add("@Condition", SqlStringBuilder.ToString());
List<RepairQuery> result = dbConn.Query<RepairQuery>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
totalCount = parameters.Get<int>("@TotalCount");
return result;
}
}
}
}