You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
258 lines
11 KiB
258 lines
11 KiB
3 months ago
|
using MESClassLibrary.BLL.Log;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Data;
|
||
|
using System.Linq;
|
||
|
using System.Reflection;
|
||
|
using System.Text;
|
||
|
using System.Threading.Tasks;
|
||
|
|
||
|
namespace MESClassLibrary.DAL.Check
|
||
|
{
|
||
|
public class InspectResultDAL
|
||
|
{
|
||
|
public DataTable SearchByPage(int pageIndex, int pageSize, string StartTime, string EndTime, string position, string inspectResult,string barCode)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
//string sql = @"select top " + pageSize + " * from (select row_number() over(order by createTime desc) as rownumber,* from tb_InspectResult) temp_row ";
|
||
|
//sql += " where createTime>='"+ StartTime + "' and createTime<='" + EndTime + "'";
|
||
|
//if (!string.IsNullOrEmpty(position))
|
||
|
//{
|
||
|
// sql += " and position = '" + position+"'";
|
||
|
//}
|
||
|
//if (!string.IsNullOrEmpty(inspectResult))
|
||
|
//{
|
||
|
// sql += " and inspectResult like '%" + inspectResult + "%'";
|
||
|
//}
|
||
|
//sql += " and rownumber > " + ((pageIndex - 1) * pageSize);
|
||
|
|
||
|
string sql = "select * FROM[dbo].[tb_InspectResult] where barcode in ";
|
||
|
sql += "(select barcode from(select distinct barcode, createTime from [dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' ";
|
||
|
if (!string.IsNullOrEmpty(position))
|
||
|
{
|
||
|
sql += " and position = '" + position + "' ";
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(barCode))
|
||
|
{
|
||
|
sql += " and barcode like '%" + barCode + @"%' ";
|
||
|
}
|
||
|
sql += " order by createTime ";
|
||
|
sql += " offset " + ((pageIndex - 1) * pageSize) + " rows ";
|
||
|
sql += " fetch next " + pageSize + " rows only) temp_row) ";
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public DataTable SearchRepairByPage(int pageIndex, int pageSize, string StartTime, string EndTime, string inspectResult)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
string sql = @" SELECT * FROM dbo.tb_InspectResult ";
|
||
|
|
||
|
//sql += "(select barcode from(select distinct barcode, createTime from [dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' and REPLACE(position, ' ', '')='下线二检点修补'";
|
||
|
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
sql += " order by createTime ";
|
||
|
sql += " offset " + ((pageIndex - 1) * pageSize) + " rows ";
|
||
|
sql += " fetch next " + pageSize + " rows only ";
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public int SearchCount(string StartTime, string EndTime, string position, string inspectResult)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
string sql = "select count(1) as num from (select barcode as num FROM[dbo].[tb_InspectResult] where barcode in ";
|
||
|
sql += "(select distinct barcode from [dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' ";
|
||
|
if (!string.IsNullOrEmpty(position))
|
||
|
{
|
||
|
sql += " and position = '" + position + "' ";
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
sql += " ) GROUP BY barcode) tem";
|
||
|
//string sql = "select count(1) as num FROM[dbo].[tb_InspectResult] ";
|
||
|
//sql += " where barcode is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' ";
|
||
|
//if (!string.IsNullOrEmpty(position))
|
||
|
//{
|
||
|
// sql += " and position = '" + position + "' ";
|
||
|
//}
|
||
|
//if (!string.IsNullOrEmpty(inspectResult))
|
||
|
//{
|
||
|
// sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
//}
|
||
|
|
||
|
return Convert.ToInt32(SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0].Rows[0]["num"].ToString());
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public int SearchCountByRepair(string StartTime, string EndTime, string inspectResult)
|
||
|
{
|
||
|
string sql = @" SELECT COUNT(DISTINCT barcode) as num FROM dbo.tb_InspectResult WHERE barcode IS NOT NULL AND createTime BETWEEN '"+ StartTime + "' AND '"+ EndTime + ".999' AND REPLACE(position, ' ', '')='下线二检点修补'";
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
return Convert.ToInt32(SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0].Rows[0]["num"].ToString());
|
||
|
}
|
||
|
|
||
|
public DataTable Search(string StartTime, string EndTime, string position, string inspectResult,string barCode)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
|
||
|
string sql = "select * FROM[dbo].[tb_InspectResult] where barcode in ";
|
||
|
sql += "(select distinct barcode from [dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and createTime<='" + EndTime + "' and createTime>='" + StartTime + "' ";
|
||
|
if (!string.IsNullOrEmpty(position))
|
||
|
{
|
||
|
sql += " and position = '" + position + "' ";
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(barCode))
|
||
|
{
|
||
|
sql += " and barcode like '%" + barCode + @"%'";
|
||
|
}
|
||
|
sql += " ) order by createTime";
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public DataTable SearchByRepair(string StartTime, string EndTime, string inspectResult)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
|
||
|
string sql = "select * FROM dbo.tb_InspectResult ";
|
||
|
sql += " where barcode is not null and createTime<='" + EndTime + "' and createTime>='" + StartTime + "' AND position='下线二检 点修补'";
|
||
|
|
||
|
if (!string.IsNullOrEmpty(inspectResult))
|
||
|
{
|
||
|
sql += " and inspectResult like '%" + inspectResult + "%' ";
|
||
|
}
|
||
|
sql += " order by createTime";
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
public DataTable SearchByPosition(string StartTime, string EndTime, string side, string product)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
|
||
|
string sql = "select * FROM[dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and productInfo!='' and productInfo is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' and inspectResult in ('[合格]','[抛光]','[报废]') and substring(productInfo,1,1) != ',' ";
|
||
|
if (!string.IsNullOrEmpty(side))
|
||
|
{
|
||
|
if ("A侧".Equals(side))
|
||
|
{
|
||
|
sql += " and (side = '" + side + "' or side ='' or side is null) ";
|
||
|
}
|
||
|
if ("B侧".Equals(side))
|
||
|
{
|
||
|
sql += " and side = '" + side + "' ";
|
||
|
}
|
||
|
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(product))
|
||
|
{
|
||
|
if ("保险杠".Equals(product))
|
||
|
{
|
||
|
sql += " and (product like '%前保%' or product like '%后保%')";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public DataTable SearchByResult(string StartTime, string EndTime, string side)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
|
||
|
string sql = "select * FROM[dbo].[tb_InspectResult] ";
|
||
|
sql += " where barcode is not null and createTime>='" + StartTime + "' and createTime<='" + EndTime + "' ";
|
||
|
sql += " and remark1 is not null and remark2 is not null";
|
||
|
if (!string.IsNullOrEmpty(side))
|
||
|
{
|
||
|
if ("A侧".Equals(side))
|
||
|
{
|
||
|
sql += " and (side = '" + side + "' or side ='' or side is null) ";
|
||
|
}
|
||
|
if ("B侧".Equals(side))
|
||
|
{
|
||
|
sql += " and side = '" + side + "' ";
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
|
||
|
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|