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.

248 lines
12 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.IRepositories;
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 SampleTestQueryRepository : BaseRepository<SysPartCustOrder>, ISampleTestQueryRepository
{
public SampleTestQueryRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 根据传入条件获得菜单列表数据
/// </summary>
public List<SysPartCustOrder> getList(string strWhere, string filedOrder)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
strWhere += " and enabled='Y' ";
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.sys_part_cust_order ");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
List<SysPartCustOrder> result = dbConn.Query<SysPartCustOrder>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 根据分页条件获取分页数据列表
/// </summary>
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add( "@Table", " dbo.g_workorder a INNER JOIN dbo.g_workorder_detail b ON a.ruid = b.workorder_id INNER JOIN dbo.g_workorder_sn c ON b.ruid = c.wo_detail_id LEFT JOIN dbo.g_sn_status d ON c.serial_number = d.serial_number INNER JOIN sys_part e ON c.part_id = e.part_id INNER JOIN dbo.sys_part_subs AS s ON e.part_id=s.sub_part_id INNER JOIN dbo.sys_part AS t ON s.part_id=t.part_id INNER JOIN dbo.sys_model f ON t.model_id = f.model_id INNER JOIN dbo.sys_model_type g ON f.model_type_id = g.type_id INNER JOIN dbo.sys_enum h ON e.part_location = h.enum_value ");
parameters.Add( "@Column", " s.sub_part_id, g.type_name , c.serial_number , a.car_no, CASE SUBSTRING(c.serial_number, 17, 1) WHEN 'A' THEN '日班' ELSE '中班' END AS shift_code , c.create_time AS print_time,d.in_pdline_time AS out_pdline_time , h.enum_desc ");
parameters.Add( "@OrderColumn", OrderBy);
parameters.Add( "@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add( "@Condition", strWhere + " and a.type = 'T' AND f.model_name NOT LIKE 'N%' AND s.enabled='Y' ");
List<GWorkorder> depts = dbConn.Query<GWorkorder>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", depts);
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveSampleTestQuery(SysPartCustOrder htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part_cust_order (part_id ");
SqlStringBuilder.Append(" , cust_order ");
SqlStringBuilder.Append(" , create_userid ");
SqlStringBuilder.Append(" , create_time ");
SqlStringBuilder.Append(" , enabled ");
SqlStringBuilder.Append(" ,ship_unit) ");
SqlStringBuilder.Append(" VALUES(@part_id ");
SqlStringBuilder.Append(" , @cust_order ");
SqlStringBuilder.Append(" , @createUserid ");
SqlStringBuilder.Append(" , CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" , 'Y' ");
SqlStringBuilder.Append(" ,@ship_unit)");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateSampleTestQuery(SysPartCustOrder htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_part_cust_order ");
SqlStringBuilder.Append("SET cust_order=@custOrder ");
SqlStringBuilder.Append(" , ship_unit=@shipUnit ");
SqlStringBuilder.Append(" ,update_userid = @updateUserId ");
SqlStringBuilder.Append(" ,update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append("WHERE part_id=@partId ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 删除菜单数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int deleteSampleTestQuery(String part_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@part_id", part_id);
String delStr = "update sys_part_cust_order set Enabled='N' where part_id = @part_id";
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
//启用
public int EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_part_cust_order set Enabled='Y' WHERE part_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
//禁用
public int DisableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_part_cust_order set Enabled='N' WHERE part_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
/// <summary>
/// 获取下拉框菜单数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectSampleTestQuery()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select type_name as [value] ,type_name as [key] from sys_model_type where enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取下拉框菜单数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectSampleTestQuery_ModelName()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select model_name as [value] ,model_name as [key] from sys_model where enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
/// <param name="PageSize">一页显示多少条数据</param>
/// <param name="PageIndex">当前第几页</param>
/// <param name="strWhere">条件</param>
/// <param name="OrderBy">排序字段</param>
/// <returns></returns>
public List<SampleTestQuery> getTableListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
if (PageSize == 0)
{
return null;
}
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", " dbo.g_workorder a INNER JOIN dbo.g_workorder_detail b ON a.ruid = b.workorder_id INNER JOIN dbo.g_workorder_sn c ON b.ruid = c.wo_detail_id LEFT JOIN dbo.g_sn_status d ON c.serial_number = d.serial_number INNER JOIN sys_part e ON c.part_id = e.part_id INNER JOIN dbo.sys_part_subs AS s ON e.part_id=s.sub_part_id INNER JOIN dbo.sys_part AS t ON s.part_id=t.part_id INNER JOIN dbo.sys_model f ON t.model_id = f.model_id INNER JOIN dbo.sys_model_type g ON f.model_type_id = g.type_id INNER JOIN dbo.sys_enum h ON e.part_location = h.enum_value ");
parameters.Add("@Column", " s.sub_part_id, g.type_name , c.serial_number , a.car_no, CASE SUBSTRING(c.serial_number, 17, 1) WHEN 'A' THEN '日班' ELSE '中班' END AS shift_code , c.create_time AS print_time,d.in_pdline_time AS out_pdline_time , h.enum_desc ");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere + " and a.type = 'T' AND f.model_name NOT LIKE 'N%' AND s.enabled='Y' ");
List<SampleTestQuery> result = dbConn.Query<SampleTestQuery>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
return result;
}
}
#endregion 成员方法
}
}