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 ;
}
}
}
}