// sql.Add(' ,meterall=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
// SQL.Add(' ,qgMeter=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )/ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
//
//// SQL.Add(' ,qgSL = ROUND((select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )*100 ');
// SQL.Add(' ,qgSL = ROUND((CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) - (select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
// SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
// SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 '); // fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
// SQL.Add(' THEN 0 ');
// SQL.Add(' ELSE ');
// SQL.Add(' CAST(SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / '); // <20><><EFBFBD>ӣ<EFBFBD>YDJS
// SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
// SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
// SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) '); // fbJS
// SQL.Add(' END ');
// SQL.Add('AS DECIMAL(18,4)) ');
//
// SQL.Add('from Tat_Cloth_Inspect A ');
// SQL.Add(' left join BS_Cloth_IO B on A.BCIOID = B.BCIOID ');
// SQL.Add(' where (A.BEFOREC_WIDTH='''' OR A.BEFOREC_WIDTH is null) ');
// SQL.Add(' and (NOT EXISTS (select * from BS_Cloth_IO_mx X WHERE X.BCIOID = A.BCIOID and X.C_MXSHWidth is not NULL)) ');
// SQL.Add(' and A.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' ');
// SQL.Add(' and A.Carno<>'''' and A.Carno is not NULL ');
//
// SQL.Add(WSql1);
//
// sql.Add(' group by A.C_NAME, A.C_width,A.C_GramWeight,A.pcid,A.Carno,A.dxmeter');
sql.Add(' ,meterall=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
//ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20260206 cai
SQL.Add(' ,qgMeter=(select sum(meter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )/ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
SQL.Add(' ,SHMeter=(select sum(SHmeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo ) ');
// SQL.Add(' ,qgSL = ROUND((select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )*100 ');
SQL.Add(' ,qgSL = ROUND((CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) - (select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 ');// fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / ');// <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) ');// fbJS
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 ');// fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / ');// <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) ');// fbJS
SQL.Add(' END ');
SQL.Add('AS DECIMAL(18,4)) ');
SQL.Add('from Tat_Cloth_Inspect A ');
SQL.Add(' left join BS_Cloth_IO B on A.BCIOID = B.BCIOID ');
SQL.Add(' where (A.BEFOREC_WIDTH='''' OR A.BEFOREC_WIDTH is null) ');
SQL.Add(' and (NOT EXISTS (select * from BS_Cloth_IO_mx X WHERE X.BCIOID = A.BCIOID and X.C_MXSHWidth is not NULL)) ');
SQL.Add(' and A.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.Carno<>'''' and A.Carno is not NULL ');
sql.Add(' ,meterall=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
//ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20260206 cai
SQL.Add(' ,qgMeter=(select sum(meter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )/ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
SQL.Add(' ,SHMeter=(select sum(SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo ) ');
// SQL.Add(' ,qgSL = ROUND((select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )*100 ');
SQL.Add(' ,qgSL = ROUND((CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) - (select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 ');// fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / ');// <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) ');// fbJS
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 ');// fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / ');// <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + ');// xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + ');// edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + ');// fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) ');// fbJS
SQL.Add(' END ');
SQL.Add('AS DECIMAL(18,4)) ');
SQL.Add('from Tat_Cloth_Inspect A ');
SQL.Add(' left join BS_Cloth_IO B on A.BCIOID = B.BCIOID ');
SQL.Add(' where (A.BEFOREC_WIDTH='''' OR A.BEFOREC_WIDTH is null) ');
SQL.Add(' and (NOT EXISTS (select * from BS_Cloth_IO_mx X WHERE X.BCIOID = A.BCIOID and X.C_MXSHWidth is not NULL)) ');
SQL.Add(' and A.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' ');
SQL.Add(WSql1);
sql.Add(' group by A.C_NAME, A.C_width,A.C_GramWeight,A.pcid,A.Carno,A.dxmeter');
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1DXMF.Index] = ARow2.Values[Tv1DXMF.Index]) and (ARow1.Values[Tv1DXMF.Index] <> NULL) and (ARow2.Values[Tv1DXMF.Index] <> NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then