|
|
@@ -35,14 +35,24 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
MDF.DEFECTNAME
|
|
|
FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
|
|
|
LEFT JOIN TP_MST_DEFECT MDF ON mdf.DEFECTID=JOBS.DEFECTID
|
|
|
- WHERE jobs.JOBSID IN (3)");
|
|
|
+ WHERE jobs.JOBSID IN (3) ORDER BY MDF.DEFECTCODE");
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
{
|
|
|
if (i > 0) defect += ",";
|
|
|
defect += dt.Rows[i]["DEFECTCODE"].ToString() + " " + dt.Rows[i]["DEFECTNAME"].ToString();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ string sumdefect = "";
|
|
|
+ DataTable dts = conn.ExecuteDatatable(@" SELECT DISTINCT MDF.DEFECTCODE AS DC, MDF.DEFECTID,
|
|
|
+ 'TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
|
|
|
+ MDF.DEFECTNAME
|
|
|
+ FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
|
|
|
+ LEFT JOIN TP_MST_DEFECT MDF ON mdf.DEFECTID=JOBS.DEFECTID
|
|
|
+ WHERE jobs.JOBSID IN (3) ORDER BY MDF.DEFECTCODE");
|
|
|
+ for (int i = 0; i < dts.Rows.Count; i++) {
|
|
|
+ if (i > 0) sumdefect += ",";
|
|
|
+ sumdefect += dts.Rows[i]["DEFECTCODE"].ToString()+" "+dts.Rows[i]["DEFECTNAME"].ToString();
|
|
|
+ }
|
|
|
|
|
|
string sqlStr = @"WITH 部门 AS (
|
|
|
SELECT GROUTINGLINEID,
|
|
|
@@ -75,7 +85,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
|
|
|
LEFT JOIN TP_MST_DEFECT MDF ON mdf.DEFECTID=JOBS.DEFECTID
|
|
|
WHERE jobs.JOBSID IN (3) )
|
|
|
- INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52)
|
|
|
+ INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52)AND PDC.VALUEFLAG=1
|
|
|
LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
|
|
|
LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID
|
|
|
WHERE
|
|
|
@@ -94,18 +104,19 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
PD.BARCODE ,
|
|
|
DF.BARCODE
|
|
|
)
|
|
|
-
|
|
|
+ SELECT * FROM(
|
|
|
SELECT
|
|
|
GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标) AS GID,
|
|
|
CASE when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=127 THEN'总计'
|
|
|
when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=31 THEN'小计'ELSE TO_CHAR(基础数据.工号) END AS 工号,
|
|
|
- 基础数据.姓名,基础数据.产品编码,
|
|
|
- 基础数据.产品名称,
|
|
|
- 基础数据.产品规格,
|
|
|
- 基础数据.釉色,
|
|
|
- 基础数据.商标,
|
|
|
- COUNT(DISTINCT 出窑条码) 出窑量,
|
|
|
- COUNT(DISTINCT 缺陷条码) 缺陷量,
|
|
|
+ TO_CHAR(基础数据.姓名)姓名,
|
|
|
+ TO_CHAR(基础数据.产品编码)产品编码,
|
|
|
+ TO_CHAR(基础数据.产品名称)产品名称,
|
|
|
+ TO_CHAR(基础数据.产品规格)产品规格,
|
|
|
+ TO_CHAR(基础数据.釉色)釉色,
|
|
|
+ TO_CHAR(基础数据.商标)商标,
|
|
|
+ TO_CHAR(COUNT(DISTINCT 出窑条码)) 出窑量,
|
|
|
+ TO_CHAR(COUNT(DISTINCT 缺陷条码)) 缺陷量,
|
|
|
TO_CHAR( (COUNT(DISTINCT 缺陷条码)/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
|
|
|
{DEFECT}
|
|
|
FROM 基础数据
|
|
|
@@ -121,9 +132,37 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
基础数据.产品规格,
|
|
|
基础数据.釉色,
|
|
|
基础数据.商标), (基础数据.工号,基础数据.姓名),() )
|
|
|
- ORDER BY 基础数据.工号,基础数据.姓名,基础数据.产品编码,基础数据.产品名称,GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ 126 ,
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ '',
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '12' THEN 1 ELSE 0 END )) 变形,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '15' THEN 1 ELSE 0 END )) 孔眼不良,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '17' THEN 1 ELSE 0 END )) 眼歪,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '18' THEN 1 ELSE 0 END )) 丢气孔,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '14' THEN 1 ELSE 0 END )) 管道渣,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '19' THEN 1 ELSE 0 END )) 丢眼,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '13' THEN 1 ELSE 0 END )) 渣,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '20' THEN 1 ELSE 0 END )) 坯磕,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '16' THEN 1 ELSE 0 END )) 堵眼,
|
|
|
+ TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '10' THEN 1 ELSE 0 END )) 糙活
|
|
|
+ FROM 基础数据
|
|
|
+ LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_MST_DEFECT MDF ON 基础数据.缺陷ID = MDF.DEFECTID
|
|
|
+ AND MDF.DEFECTTYPEID = 1
|
|
|
+ ) ORDER BY GID
|
|
|
|
|
|
-".Replace("{DEFECT}", defect);
|
|
|
+".Replace("{DEFECTSUM}",sumdefect).Replace("{DEFECT}", defect);
|
|
|
|
|
|
//获取查询条件
|
|
|
List<CDAParameter> sqlPara = new List<CDAParameter>();
|