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 )
{
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 + "%' " ;
}
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 BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' 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 DataTable SearchRepairByPage_1 ( int pageIndex , int pageSize , string StartTime , string EndTime , string inspectResult , string Project , string color )
{
try
{
string sql = @ " SELECT *
FROM dbo . tb_Project RIGHT OUTER JOIN
dbo . tb_Product ON dbo . tb_Project . ID = dbo . tb_Product . ProjectID RIGHT OUTER JOIN
dbo . tb_InspectResult ON dbo . tb_Product . StockNo = SUBSTRING ( dbo . tb_InspectResult . barcode , 1 , 1 0 ) ";
//sql += "(select barcode from(select distinct barcode, createTime from [dbo].[tb_InspectResult] ";
sql + = " where barcode IS NOT NULL AND createTime BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' and REPLACE(position, ' ', '')='下线二检点修补'" ;
if ( ! string . IsNullOrEmpty ( inspectResult ) )
{
sql + = " and inspectResult like '%" + inspectResult + "%' " ;
}
if ( ! string . IsNullOrEmpty ( Project ) )
{
sql + = " and Project like '%" + Project + "%' " ;
}
if ( ! string . IsNullOrEmpty ( color ) )
{
sql + = " and remark1 like '%" + color + "%' " ;
}
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 Project , string color )
{
//string sql = @" SELECT COUNT(*) as num FROM dbo.tb_InspectResult ";
string sql = @ "SELECT COUNT(*) as num
FROM dbo . tb_Project RIGHT OUTER JOIN
dbo . tb_Product ON dbo . tb_Project . ID = dbo . tb_Product . ProjectID RIGHT OUTER JOIN
dbo . tb_InspectResult ON dbo . tb_Product . StockNo = SUBSTRING ( dbo . tb_InspectResult . barcode , 1 , 1 0 ) ";
//sql += "(select barcode from(select distinct barcode, createTime from [dbo].[tb_InspectResult] ";
//sql += " where barcode IS NOT NULL AND createTime BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' and position='下线二检 点修补'";
sql + = " where barcode IS NOT NULL AND createTime BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' and REPLACE(position, ' ', '')='下线二检点修补'" ;
//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 position='下线二检 点修补'";
if ( ! string . IsNullOrEmpty ( inspectResult ) )
{
sql + = " and inspectResult like '%" + inspectResult + "%' " ;
}
if ( ! string . IsNullOrEmpty ( Project ) )
{
sql + = " and Project like '%" + Project + "%' " ;
}
if ( ! string . IsNullOrEmpty ( color ) )
{
sql + = " and remark1 like '%" + color + "%' " ;
}
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 )
{
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 + "%' " ;
}
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 BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' AND REPLACE(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 createTime BETWEEN '" + StartTime + "' AND '" + EndTime + "'" ;
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 ID,barcode,side,position,stationNo,workClass,inspectResult,damnPosition,defectID,reason,productInfo,productOption,createTime,InspectTimes,replace(remark1,' ','') as remark1,remark2,remark3 FROM[dbo].[tb_InspectResult] " ;
sql + = " where barcode is not null and createTime BETWEEN '" + StartTime + "' and '" + 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 ;
}
}
public DataTable SearchByResult_1 ( string StartTime , string EndTime , string side , string Project , string color )
{
try
{
string sql = @ "SELECT dbo.tb_InspectResult.ID, dbo.tb_InspectResult.barcode, dbo.tb_InspectResult.side, dbo.tb_InspectResult.position,
dbo . tb_InspectResult . stationNo , dbo . tb_InspectResult . workClass , dbo . tb_InspectResult . inspectResult ,
dbo . tb_InspectResult . damnPosition , dbo . tb_InspectResult . defectID , dbo . tb_InspectResult . reason ,
dbo . tb_InspectResult . productInfo , dbo . tb_InspectResult . productOption , dbo . tb_InspectResult . createTime ,
dbo . tb_InspectResult . InspectTimes , REPLACE ( dbo . tb_InspectResult . remark1 , ' ' , ' ' ) AS remark1 ,
dbo . tb_InspectResult . remark2 , dbo . tb_InspectResult . remark3 , dbo . tb_Project . Project
FROM dbo . tb_Project RIGHT OUTER JOIN
dbo . tb_Product ON dbo . tb_Project . ID = dbo . tb_Product . ProjectID RIGHT OUTER JOIN
dbo . tb_InspectResult ON dbo . tb_Product . StockNo = SUBSTRING ( dbo . tb_InspectResult . barcode , 1 , 1 0 ) ";
sql + = " where barcode is not null and createTime BETWEEN '" + StartTime + "' and '" + 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 + "' " ;
}
}
if ( ! string . IsNullOrEmpty ( Project ) )
{
sql + = " and Project='" + Project + "'" ;
}
if ( ! string . IsNullOrEmpty ( color ) )
{
sql + = " and remark1='" + color + "'" ;
}
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_1 ( string StartTime , string EndTime , string inspectResult , string Project , string color )
{
try
{
string sql = @ "SELECT dbo.tb_InspectResult.ID,dbo.tb_InspectResult.barcode,dbo.tb_InspectResult.side,dbo.tb_InspectResult.position,dbo.tb_InspectResult.stationNo,dbo.tb_InspectResult.workClass,
dbo . tb_InspectResult . inspectResult , dbo . tb_InspectResult . damnPosition , dbo . tb_InspectResult . defectID , dbo . tb_InspectResult . reason , dbo . tb_InspectResult . productInfo , dbo . tb_InspectResult . productOption ,
dbo . tb_InspectResult . createTime , dbo . tb_InspectResult . InspectTimes , dbo . tb_InspectResult . remark1 , dbo . tb_InspectResult . remark2 , dbo . tb_InspectResult . remark3
FROM dbo . tb_Project RIGHT OUTER JOIN
dbo . tb_Product ON dbo . tb_Project . ID = dbo . tb_Product . ProjectID RIGHT OUTER JOIN
dbo . tb_InspectResult ON dbo . tb_Product . StockNo = SUBSTRING ( dbo . tb_InspectResult . barcode , 1 , 1 0 ) ";
sql + = " where barcode IS NOT NULL AND createTime BETWEEN '" + StartTime + "' AND '" + EndTime + ".999' AND REPLACE(position, ' ', '')='下线二检点修补' " ;
if ( ! string . IsNullOrEmpty ( inspectResult ) )
{
sql + = " and inspectResult like '%" + inspectResult + "%' " ;
}
if ( ! string . IsNullOrEmpty ( Project ) )
{
sql + = " and Project like '%" + Project + "%' " ;
}
if ( ! string . IsNullOrEmpty ( color ) )
{
sql + = " and remark1 like '%" + color + "%' " ;
}
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 ;
}
}
}
}