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 Estsh.Core.Util; using System.Collections; using System.Data; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:报表模块条码查询DAL * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { public class SerialNumberQuery2Repository : BaseRepository, ISerialNumberQuery2Repository { public SerialNumberQuery2Repository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } /// /// 查找总成零件号 /// /// 数据集 public List GetPartNo() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" select part_no as [value],part_no as [key] from sys_part WHERE part_type= 1 AND part_location IN ('01','02') Group by part_no "); List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); return result; } } /// /// 获得不绑定条码信息 /// /// /// /// public List GetSNInfo(string whereStr, Pager pager, ref int totalCount) { 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_sn_keyparts(NOLOCK) a JOIN sys_part b(NOLOCK) ON b.part_id = a.item_part_id JOIN sys_emp(NOLOCK) c on a.create_userid = c.emp_id JOIN sys_model(NOLOCK) d on b.model_id = d.model_id "); parameters.Add( "@Column", @" a.serial_number, a.kpsn, b.part_no, b.part_spec,c.emp_name,a.create_time AS ctime,a.update_time AS utime,d.model_alias "); parameters.Add( "@OrderColumn", " ruid 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.version IN ( 'SubFG' ) " + whereStr); parameters.Add( "@Condition", SqlStringBuilder.ToString()); List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount= parameters.Get("@TotalCount"); return depts; } } public List GetSNInfoByList(string whereStr, Pager pager, ref int totalCount) { 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_sn_keyparts(NOLOCK) a JOIN sys_part b(NOLOCK) ON b.part_id = a.item_part_id JOIN sys_emp(NOLOCK) c on a.create_userid = c.emp_id JOIN sys_model(NOLOCK) d on b.model_id = d.model_id "); parameters.Add("@Column", @" a.serial_number, a.kpsn, b.part_no, b.part_spec,c.emp_name,a.create_time AS ctime,a.update_time AS utime,d.model_alias "); parameters.Add("@OrderColumn", " ruid 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.version IN ( 'SubFG' ) " + whereStr); parameters.Add("@Condition", SqlStringBuilder.ToString()); List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return depts; } } /// /// 获得条码当前信息 /// /// /// /// public List GetSNCurrentData(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable result = new Hashtable(); DynamicParameters parameter = new DynamicParameters(); parameter.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameter.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameter.Add( "@Table", @" dbo.g_sn_status(NOLOCK) a LEFT JOIN sys_part(NOLOCK) b ON a.part_id = b.part_id LEFT JOIN dbo.sys_pdline(NOLOCK) c ON a.pdline_id = c.pdline_id LEFT JOIN sys_model(NOLOCK) d ON d.model_id = a.model_id LEFT JOIN dbo.sys_model_type(NOLOCK) e ON e.type_id = d.model_type_id LEFT JOIN dbo.sys_emp(NOLOCK) f ON f.emp_id = a.update_userid "); parameter.Add( "@Column", @" 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.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' ELSE '其他' END AS current_status, a.prod_type ,a.update_time as utime ,f.emp_name,CONVERT(NVARCHAR,a.out_pdline_time,120) AS out_pdline_time ,CONVERT(NVARCHAR,a.in_pdline_time,120) AS in_pdline_time ,CONVERT(NVARCHAR,a.shipping_time,120) AS shipping_time "); parameter.Add( "@OrderColumn", " a.serial_number ASC "); parameter.Add( "@GroupColumn", ""); parameter.Add("@PageSize", pager.pageSize); parameter.Add("@CurrentPage", pager.pageNo); parameter.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameter.Add( "@Condition", SqlStringBuilder.ToString()); List depts = dbConn.Query("Com_Pagination", parameter, commandType: CommandType.StoredProcedure).ToList(); if ((depts == null || depts.Count < 1) && this.IsSerialNumberQuery2History()) { DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" dbo.vw_g_sn_status_union(NOLOCK) a LEFT JOIN sys_part(NOLOCK) b ON a.part_id = b.part_id LEFT JOIN dbo.sys_pdline(NOLOCK) c ON a.pdline_id = c.pdline_id LEFT JOIN sys_model(NOLOCK) d ON d.model_id = a.model_id LEFT JOIN dbo.sys_model_type(NOLOCK) e ON e.type_id = d.model_type_id LEFT JOIN dbo.sys_emp(NOLOCK) f ON f.emp_id = a.update_userid "); parameters.Add( "@Column", @" c.pdline_name , e.type_name ,d.model_name ,a.serial_number ,a.car_no ,b.part_no ,b.part_spec ,b.cust_part_no ,a.remark , CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' ELSE '其他' END AS current_status, a.prod_type,a.update_time as utime ,f.emp_name"); parameters.Add( "@OrderColumn", " a.serial_number ASC "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); parameters.Add( "@Condition", SqlStringBuilder.ToString()); depts = dbConn.Query("Com_Pagination", parameter, commandType: CommandType.StoredProcedure).ToList(); } totalCount = parameter.Get("@TotalCount"); return depts; } } /// /// 关键数据查询是否查询历史表数据 /// /// public bool IsSerialNumberQuery2History() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string sql = "SELECT TOP 1 param_value FROM dbo.sys_base(NOLOCK) WHERE param_name='IsSerialNumberQuery2History'"; object obj = dbConn.ExecuteScalar(sql); if (obj == null) { return false; } if (obj.ToString().ToUpper() != "Y") { return false; } return true; } } /// /// 获得历史信息 /// /// /// /// public List GetSNTravelData(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); 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_sn_travel(NOLOCK) a LEFT JOIN sys_part(NOLOCK) b ON a.part_id = b.part_id LEFT JOIN dbo.sys_pdline(NOLOCK) c ON a.pdline_id = c.pdline_id LEFT JOIN sys_model(NOLOCK) d ON d.model_id = a.model_id LEFT JOIN dbo.sys_model_type(NOLOCK) e ON e.type_id = d.model_type_id LEFT JOIN dbo.sys_emp(NOLOCK) f ON f.emp_id = a.update_userid LEFT JOIN dbo.sys_terminal(NOLOCK) g ON a.terminal_id = g.terminal_id LEFT JOIN dbo.g_sn_repair(NOLOCK) h ON a.serial_number = h.serial_number LEFT JOIN dbo.g_sn_defect(NOLOCK) i ON a.serial_number = i.serial_number LEFT JOIN dbo.sys_defect(NOLOCK) j ON i.defect_id = j.defect_id "); parameters.Add( "@Column", @" c.pdline_name , e.type_name ,d.model_name ,a.serial_number ,a.car_no ,b.part_no ,b.part_spec ,b.cust_part_no ,a.remark , CASE a.current_status WHEN 0 THEN '良品' WHEN 1 THEN '不良品' WHEN -1 THEN '报废品' ELSE '其他' END AS current_status, a.prod_type ,g.terminal_name,CONVERT(VARCHAR(22),out_process_time,120) AS ctime ,j.defect_code ,j.defect_desc ,f.emp_name "); parameters.Add( "@OrderColumn", " a.out_process_time ASC "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameters.Add( "@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } /// /// 关键数据 /// /// /// public List GetKeyData(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" g_sn_keydata(NOLOCK) a LEFT JOIN dbo.g_sn_status (NOLOCK) b ON a.serial_number=b.serial_number LEFT JOIN dbo.sys_pdline (NOLOCK) c ON b.pdline_id =c.pdline_id LEFT JOIN dbo.sys_part (NOLOCK) d ON b.part_id =d.part_id "); parameters.Add( "@Column", @" a.serial_number,a.keydata_desc,a.keydata_value ,a.create_time, c.pdline_name, d.part_spec,a.keydata_angle "); parameters.Add( "@OrderColumn", " a.create_time "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameters.Add( "@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } public List getTableListByPage(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@Table", @" g_sn_keydata(NOLOCK) a LEFT JOIN dbo.g_sn_status (NOLOCK) b ON a.serial_number=b.serial_number LEFT JOIN dbo.sys_pdline (NOLOCK) c ON b.pdline_id =c.pdline_id LEFT JOIN dbo.sys_part (NOLOCK) d ON b.part_id =d.part_id "); parameters.Add("@Column", @" a.serial_number,a.keydata_desc,a.keydata_value ,a.create_time, c.pdline_name, d.part_spec,a.keydata_angle "); parameters.Add("@OrderColumn", " a.create_time "); parameters.Add("@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameters.Add("@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } // /// 绑定信息 /// /// /// public List GetKeyParts(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" g_sn_keyparts(NOLOCK) a LEFT JOIN sys_part(NOLOCK) b ON a.item_part_id=b.part_id LEFT JOIN dbo.g_sn_status c ON a.serial_number=c.serial_number LEFT JOIN dbo.sys_pdline d ON c.pdline_id=d.pdline_id LEFT JOIN dbo.g_sn_status e ON a.serial_number =e.serial_number LEFT JOIN sys_part f ON e.part_id=f.part_id where 1=1 and a." + whereStr + ""); parameters.Add( "@Column", " d.pdline_name,a.serial_number,f.part_spec AS ps , a.kpsn ,b.part_no,b.part_spec, a.create_time "); parameters.Add( "@OrderColumn", " a.create_time "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); //StringBuilder SqlStringBuilder = new StringBuilder(1024); //SqlStringBuilder.AppendLine(" and 1=1 and a." + whereStr + " ) t "); parameters.Add( "@Condition", ""); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } /// /// 电功能检测 /// /// /// public List GetCheck(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" dbo.i_func_testdata a LEFT JOIN dbo.g_sn_status b ON REPLACE(REPLACE(a.座椅条形码,CHAR(10),''),CHAR(13),'') = b.serial_number LEFT JOIN dbo.sys_pdline c ON b.pdline_id=c.pdline_id "); parameters.Add( "@Column", @" c.pdline_name AS '生产线',CONVERT(VARCHAR,a.测试完成日期+' '+a.测试完成时间,120) AS '时间',a.* "); parameters.Add( "@OrderColumn", " a.测试完成日期,a.测试完成时间 "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameters.Add( "@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } /// /// 不良信息 /// /// 条码 /// public List GetRepairDetials(string whereStr, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add( "@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", @" g_sn_defect(NOLOCK) a left JOIN g_sn_repair(NOLOCK) b ON a.serial_number=b.serial_number and a.ruid =b.sn_defect_id left JOIN sys_defect(NOLOCK) c ON a.defect_id=c.defect_id left JOIN sys_reason(NOLOCK) d ON b.reason_id=d.reason_id left JOIN sys_duty(NOLOCK) e ON b.duty_id =e.duty_id left JOIN sys_emp(NOLOCK) f on b.repair_emp_id=f.emp_id "); parameters.Add( "@Column", @" a.serial_number,c.defect_code,c.defect_desc,d.reason_code,d.reason_desc ,e.duty_code,e.duty_desc,f.emp_name ,a.memo,b.remark,isnull(b.create_time,a.create_time) create_time "); parameters.Add( "@OrderColumn", " a.serial_number ASC "); parameters.Add( "@GroupColumn", ""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.AppendLine(" 1=1 " + whereStr); parameters.Add( "@Condition", SqlStringBuilder.ToString()); List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return result; } } public List GetKPSN(string srcSN) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT b.kpsn FROM dbo.g_sn_status(NOLOCK) a "); SqlStringBuilder.Append(" LEFT JOIN dbo.g_sn_keyparts(NOLOCK) b ON a.serial_number = b.serial_number "); SqlStringBuilder.Append(" WHERE a.serial_number = @srcSN"); DynamicParameters ht = new DynamicParameters(); ht.Add("@srcSN", srcSN); try { List dt = dbConn.Query(SqlStringBuilder.ToString(), ht).ToList(); if ((dt == null || dt.Count < 1) && this.IsSerialNumberQuery2History()) { SqlStringBuilder.Remove(0, SqlStringBuilder.Length); SqlStringBuilder.Append("SELECT b.kpsn FROM dbo.vw_g_sn_status_union a "); SqlStringBuilder.Append(" LEFT JOIN dbo.g_sn_keyparts(NOLOCK) b ON a.serial_number = b.serial_number "); SqlStringBuilder.Append(" WHERE a.serial_number = @srcSN"); return dbConn.Query(SqlStringBuilder.ToString(), ht).ToList(); } return dt; } catch (Exception ex) { //ex.Message; return null; } } } public List valiDationKPSN(string strKPSN) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string sqlString = "select * from g_sn_keydata(NOLOCK) where serial_number = '" + strKPSN + "'"; List result = dbConn.Query(sqlString).ToList(); return result; } } /// /// 通过任意有绑定信息的条码取回过程条码 g_sn_status.serial_number /// /// 已绑定的条码 /// 若返回值为空,则没有查到信息 public string GetPSN(string srcSN) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder querySen = new StringBuilder(1024); querySen.Append("SELECT TOP 1 "); querySen.Append(" a.serial_number "); querySen.Append("FROM dbo.g_sn_status(NOLOCK) a "); querySen.Append(" LEFT JOIN dbo.g_sn_keyparts(NOLOCK) b ON a.serial_number = b.serial_number "); querySen.Append("WHERE b.serial_number = @srcSN "); querySen.Append(" OR b.kpsn = @srcSN "); querySen.Append(" OR a.serial_number = @srcSN "); DynamicParameters para = new DynamicParameters(); para.Add("@srcSN", srcSN); try { object obj = dbConn.ExecuteScalar(querySen.ToString(), para); if (obj == null && this.IsSerialNumberQuery2History()) { querySen.Remove(0, querySen.Length); querySen.Append("SELECT TOP 1 "); querySen.Append(" a.serial_number "); querySen.Append("FROM dbo.vw_g_sn_status_union a "); querySen.Append(" LEFT JOIN dbo.g_sn_keyparts b ON a.serial_number = b.serial_number "); querySen.Append("WHERE b.serial_number = @srcSN "); querySen.Append(" OR b.kpsn = @srcSN "); querySen.Append(" OR a.serial_number = @srcSN "); obj = dbConn.ExecuteScalar(querySen.ToString(), para); return obj == null ? "" : obj.ToString(); } else { return obj == null ? "" : obj.ToString(); } } catch (Exception ex) { return ""; } } } /// /// /// /// /// public List GetSNModelTypeInfo(string sn) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder querySen = new StringBuilder(1024); querySen.Append("SELECT b.model_name , "); querySen.Append(" c.type_name "); querySen.Append("FROM dbo.g_sn_status(NOLOCK) a "); querySen.Append(" LEFT JOIN dbo.sys_model(NOLOCK) b ON a.model_id = b.model_id "); querySen.Append(" JOIN dbo.sys_model_type(NOLOCK) c ON c.type_id = b.model_type_id "); querySen.Append("WHERE a.serial_number = @SN "); DynamicParameters para = new DynamicParameters(); para.Add("@SN", sn); List tmpDT = new List(); try { tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); if ((tmpDT == null || tmpDT.Count < 1) && this.IsSerialNumberQuery2History()) { querySen.Remove(0, querySen.Length); querySen.Append("SELECT b.model_name , "); querySen.Append(" c.type_name "); querySen.Append("FROM dbo.vw_g_sn_status_union(NOLOCK) a "); querySen.Append(" LEFT JOIN dbo.sys_model(NOLOCK) b ON a.model_id = b.model_id "); querySen.Append(" JOIN dbo.sys_model_type(NOLOCK) c ON c.type_id = b.model_type_id "); querySen.Append("WHERE a.serial_number = @SN "); tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); } } catch (Exception ex) { } return tmpDT; } } /// /// /// /// /// /// public List GetSNPartInfo(string sn) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder querySen = new StringBuilder(1024); querySen.AppendLine("SELECT a.serial_number , "); querySen.AppendLine(" b.part_no , "); querySen.AppendLine(" b.cust_part_no , "); querySen.AppendLine(" b.part_spec , "); querySen.AppendLine(" c.enum_desc "); querySen.AppendLine("FROM dbo.g_sn_status(NOLOCK) a "); querySen.AppendLine(" JOIN dbo.sys_part(NOLOCK) b ON a.part_id = b.part_id "); querySen.AppendLine(" LEFT JOIN dbo.sys_enum(NOLOCK) c ON c.enum_value = b.part_location "); querySen.AppendLine(" AND c.enum_type = 'sys_part_location' "); querySen.AppendLine("WHERE a.serial_number = @sn "); DynamicParameters para = new DynamicParameters(); para.Add("@SN", sn); List tmpDT = new List(); try { tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); if ((tmpDT == null || tmpDT.Count < 1) && this.IsSerialNumberQuery2History()) { querySen.Remove(0, querySen.Length); querySen.AppendLine("SELECT a.serial_number , "); querySen.AppendLine(" b.part_no , "); querySen.AppendLine(" b.cust_part_no , "); querySen.AppendLine(" b.part_spec , "); querySen.AppendLine(" c.enum_desc "); querySen.AppendLine("FROM dbo.vw_g_sn_status_union(NOLOCK) a "); querySen.AppendLine(" JOIN dbo.sys_part(NOLOCK) b ON a.part_id = b.part_id "); querySen.AppendLine(" LEFT JOIN dbo.sys_enum(NOLOCK) c ON c.enum_value = b.part_location "); querySen.AppendLine(" AND c.enum_type = 'sys_part_location' "); querySen.AppendLine("WHERE a.serial_number = @sn "); tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); } } catch (Exception ex) { } return tmpDT; } } public List GetSNBasicInfo(string sn) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder querySen = new StringBuilder(1024); querySen.Append("SELECT a.serial_number , "); querySen.Append(" a.create_time AS ctime , "); querySen.Append(" CONVERT(varchar(100),a.in_pdline_time,120) as in_pdline_time , "); querySen.Append(" CONVERT(varchar(100),a.out_pdline_time,120) as out_pdline_time , "); querySen.Append(" CONVERT(varchar(100),a.shipping_time,120) as shipping_time , "); querySen.Append(" a.prod_type , "); querySen.Append(" a.car_no AS shpCarNO , "); querySen.Append(" a.work_flag , "); querySen.Append(" a.current_status , "); querySen.Append(" a.remark , "); querySen.Append(" c.type as stype , "); querySen.Append(" d.car_no , "); querySen.Append(" a.workorder , "); querySen.Append(" a.slot_no , "); querySen.Append(" e.pdline_name "); querySen.Append("FROM ( dbo.g_sn_status(NOLOCK) a "); querySen.Append(" JOIN dbo.g_workorder_sn(NOLOCK) b ON a.serial_number = b.serial_number "); querySen.Append(" JOIN dbo.g_workorder_detail(NOLOCK) c ON c.ruid = b.wo_detail_id "); querySen.Append(" JOIN dbo.g_workorder(NOLOCK) d ON d.ruid = c.workorder_id "); querySen.Append(" ) "); querySen.Append(" LEFT JOIN dbo.sys_pdline(NOLOCK) e ON a.pdline_id = e.pdline_id "); querySen.Append("WHERE a.serial_number = @SN "); DynamicParameters para = new DynamicParameters(); para.Add("@SN", sn); List tmpDT = new List(); try { tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); if ((tmpDT == null || tmpDT.Count < 1) && this.IsSerialNumberQuery2History()) { querySen.Remove(0, querySen.Length); querySen.Append("SELECT a.serial_number , "); querySen.Append(" a.create_time AS ctime , "); querySen.Append(" CONVERT(varchar(100),a.in_pdline_time,120) as in_pdline_time , "); querySen.Append(" CONVERT(varchar(100),a.out_pdline_time,120) as out_pdline_time , "); querySen.Append(" CONVERT(varchar(100),a.shipping_time,120) as shipping_time , "); querySen.Append(" a.prod_type , "); querySen.Append(" a.car_no AS shpCarNO , "); querySen.Append(" a.work_flag , "); querySen.Append(" a.current_status , "); querySen.Append(" a.remark , "); querySen.Append(" c.type as stype , "); querySen.Append(" d.car_no , "); querySen.Append(" a.workorder , "); querySen.Append(" a.slot_no , "); querySen.Append(" e.pdline_name "); querySen.Append("FROM ( dbo.vw_g_sn_status_union a "); querySen.Append(" JOIN dbo.vw_g_workorder_sn_union b ON a.serial_number = b.serial_number "); querySen.Append(" JOIN dbo.vw_g_workorder_detail_union c ON c.ruid = b.wo_detail_id "); querySen.Append(" JOIN dbo.vw_g_workorder_union d ON d.ruid = c.workorder_id "); querySen.Append(" ) "); querySen.Append(" LEFT JOIN dbo.sys_pdline(NOLOCK) e ON a.pdline_id = e.pdline_id "); querySen.Append("WHERE a.serial_number = @SN "); tmpDT = dbConn.Query(querySen.ToString(), para).ToList(); } } catch (Exception ex) { } return tmpDT; } } public List GetPDlineInfo() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string Sqlstring = " select pdline_name as [key],pdline_id as [value] from sys_pdline "; List result = dbConn.Query(Sqlstring).ToList(); return result; } } public List getPartSnRule() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT a.part_id , "); SqlStringBuilder.Append(" a.from1 , "); SqlStringBuilder.Append(" a.to1 , "); SqlStringBuilder.Append(" a.fix1 , "); SqlStringBuilder.Append(" b.part_no , "); SqlStringBuilder.Append(" b.part_spec "); SqlStringBuilder.Append("FROM dbo.sys_part_sn_rule a "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part b ON a.part_id = b.part_id "); List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); return result; } } } }