|
|
@@ -0,0 +1,957 @@
|
|
|
+<%@ WebHandler Language="C#" Class="rpt" %>
|
|
|
+
|
|
|
+using System;
|
|
|
+using System.Web;
|
|
|
+using System.Web.SessionState;
|
|
|
+using System.Data;
|
|
|
+using System.Text;
|
|
|
+using System.Collections;
|
|
|
+using System.Collections.Generic;
|
|
|
+using Newtonsoft.Json;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
+using Curtain.DataAccess;
|
|
|
+using DK.XuWei.WebMes;
|
|
|
+
|
|
|
+public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
+{
|
|
|
+ List<CDAParameter> goodsnull = new List<CDAParameter>();
|
|
|
+ string[] goodsCodes = new string[] { };
|
|
|
+ string goodsStr = "";
|
|
|
+ DataTable goodsTable = new DataTable();
|
|
|
+ string defectStr = "";
|
|
|
+ DataTable col = new DataTable();
|
|
|
+ string proc = "";
|
|
|
+ string sqlStr = "";
|
|
|
+ //楼号
|
|
|
+ string buding = null;
|
|
|
+ public void ProcessRequest(HttpContext context)
|
|
|
+ {
|
|
|
+ context.Response.ContentType = "text/plain";
|
|
|
+ proc = context.Request["procedureidMaster"].ToString();
|
|
|
+ //主表
|
|
|
+ if (context.Request["m"].ToString() == "master")
|
|
|
+ {
|
|
|
+ #region 产品编码
|
|
|
+ if (context.Request["GOODSCODE"] != "" || context.Request["GOODSCODE"] != null)
|
|
|
+ {
|
|
|
+ goodsCodes = context.Request["GOODSCODE"].ToString().Split(',');
|
|
|
+ }
|
|
|
+ string goodssql = @"SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM TP_MST_GOODS where 1=1";
|
|
|
+ if (goodsCodes.Length > 1 || goodsCodes[0] != "")
|
|
|
+ {
|
|
|
+ if (context.Request["isNotcheck"].ToString() == "1")
|
|
|
+ {
|
|
|
+ goodssql += @" AND GOODSCODE NOT LIKE ('%" + goodsCodes[0].ToUpper() + "%') ";
|
|
|
+ for (int i = 1; i < goodsCodes.Length; i++)
|
|
|
+ {
|
|
|
+ goodssql += @" AND GOODSCODE NOT LIKE ('%" + goodsCodes[i].ToUpper() + "%') ";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ goodssql += @" AND GOODSCODE LIKE ('%" + goodsCodes[0].ToUpper() + "%') ";
|
|
|
+ for (int i = 1; i < goodsCodes.Length; i++)
|
|
|
+ {
|
|
|
+ goodssql += @" OR GOODSCODE LIKE ('%" + goodsCodes[i].ToUpper() + "%') ";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+ #region 取缺陷拼接串
|
|
|
+ string procedureId = "21,2,6,16,31,25,30,33,7,8,9";
|
|
|
+ if (context.Request["buildingnoMaster"].ToString().IndexOf("2#") >= 0)
|
|
|
+ {
|
|
|
+ //二期 原料21 成型2 施釉6 循环线16 出装/登窑7 烧窑/入窑8 卸窑9
|
|
|
+ procedureId = "21,2,6,16,7,8,9";
|
|
|
+ }
|
|
|
+
|
|
|
+ if (context.Request["buildingnoMaster"].ToString().IndexOf("1#") >= 0)
|
|
|
+ {
|
|
|
+ //一期 原料31 成型25 施釉30 循环线33 出装/登窑7 烧窑/入窑8 卸窑9
|
|
|
+ procedureId = "31,25,30,33,7,8,9";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (context.Request["buildingnoMaster"].ToString() != "12")
|
|
|
+ {
|
|
|
+ buding = "IN('" + context.Request["buildingnoMaster"] + "')";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ buding = "IN(" + "'1#','2#'" + ")";
|
|
|
+ }
|
|
|
+ using (IDataAccess conn = DataAccess.Create())
|
|
|
+ {
|
|
|
+ col = conn.ExecuteDatatable(@"
|
|
|
+ SELECT
|
|
|
+ DG.DEFECTGROUPTYPE AS TNO,
|
|
|
+ DG.DEFECTGROUPID AS DNO,
|
|
|
+ DG.DEFECTGROUPNAME || '_' || D.DEFECTNAME AS DEFECT
|
|
|
+ FROM
|
|
|
+ TP_MST_DEFECTGROUP DG
|
|
|
+ LEFT JOIN TP_MST_DEFECT D ON DG.DEFECTID = D.DEFECTID
|
|
|
+ WHERE
|
|
|
+ DG.DEFECTGROUPTYPE LIKE '每窑%'
|
|
|
+ UNION
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ DG.DEFECTGROUPTYPE AS TNO,
|
|
|
+ 9999 AS DNO,
|
|
|
+ DG.DEFECTGROUPNAME || '_合计' AS DEFECT
|
|
|
+ FROM
|
|
|
+ (select * from TP_MST_DEFECTGROUP WHERE DEFECTGROUPTYPE LIKE '每窑%') DG
|
|
|
+ GROUP BY
|
|
|
+ DG.DEFECTGROUPTYPE,
|
|
|
+ DG.DEFECTGROUPNAME
|
|
|
+
|
|
|
+ ORDER BY
|
|
|
+ TNO,DNO
|
|
|
+ ");
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < col.Rows.Count; i++)
|
|
|
+ {
|
|
|
+ if (defectStr.IndexOf("'" + col.Rows[i]["DEFECT"].ToString() + "'") < 0)
|
|
|
+ {
|
|
|
+ if (i > 0) defectStr += ",";
|
|
|
+ defectStr += "'" + col.Rows[i]["DEFECT"].ToString() + "' AS " + col.Rows[i]["DEFECT"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ using (IDataAccess conn = DataAccess.Create())
|
|
|
+ {
|
|
|
+ if (proc == "13")
|
|
|
+ {
|
|
|
+ //读取报表数据
|
|
|
+ sqlStr = @"
|
|
|
+ SELECT
|
|
|
+ DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS 产品类别,
|
|
|
+ --TA.GOODSCODE AS 产品编码,
|
|
|
+ TA.GOODSNAME AS 产品名称,
|
|
|
+ DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS 出窑数,
|
|
|
+ --DECODE( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB ) 合格123,
|
|
|
+ DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS U级,
|
|
|
+ DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) A级,
|
|
|
+ DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS AA级,
|
|
|
+ DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS B级,
|
|
|
+ DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS R级,
|
|
|
+ DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS 冷补数,
|
|
|
+ DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS L级,
|
|
|
+ DECODE( TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F, 0, NULL, TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F ) AS F级,
|
|
|
+ DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS Z级,
|
|
|
+ DECODE( TA.Waste, 0, NULL, TA.Waste ) AS 废品,
|
|
|
+ CASE WHEN TA.OUT_K IS NULL OR TA.OUT_K = 0 THEN NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100 END AS UA率,
|
|
|
+ TD.*
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ G.GOODSNAME,
|
|
|
+ SUM(LB_NUM) LB_NUM,
|
|
|
+ SUM( T.OUT_K ) OUT_K,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, -- 直接正品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, -- 直接副品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, -- 直接次品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
|
|
|
+ SUM( T.B_NUM ) AS COUNT_B,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
|
|
|
+ SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L, -- 冷补、堵漏气检验数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 冷补合格数
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB, -- 堵漏气合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F, -- 冷补、堵漏气不合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ TO_CHAR(pd.Barcode),
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 1 OUT_K,
|
|
|
+ -1 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ --取冷补数 code=8606 id=67 xuwei 2020-11-17
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKFLAG = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ TO_CHAR(PD.PRODUCTIONDATAID),
|
|
|
+ MAX( PMAX.PRODUCTIONDATAID ) MPDID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
|
|
|
+ AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
|
|
|
+ /*20 研磨 22 直接冷补 23 研磨后冷补(非回收) 37 堵漏气 41 刷洗不良*/
|
|
|
+ AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
|
|
|
+ LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND D.DEFECTID = 92
|
|
|
+ AND D.VALUEFLAG = '1'
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ WHERE
|
|
|
+ PD.VALUEFLAG = '1'
|
|
|
+ AND PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ GROUP BY
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ TO_CHAR(PD.PRODUCTIONDATAID),
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ 0 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKFLAG = 1
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND (INSTR((@GOODSNAME@),PD.GOODSNAME)>0 OR @GOODSNAME@ IS NULL)
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ ) T
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) )
|
|
|
+ ) TA
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
|
|
|
+ TT.GOODSTYPECODE D_GOODSTYPECODE, --,TT.GOODSTYPENAME D_
|
|
|
+ TT.GOODSCODE D_GOODSCODE,
|
|
|
+ CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
|
|
|
+ TT.CNUM
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
|
|
|
+ SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA P
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
|
|
|
+ INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID --AND (P.GOODSLEVELTYPEID NOT IN (4, 5) OR D.DEFECTID <> 11)
|
|
|
+ INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
|
|
|
+ LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
|
|
|
+ INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
|
|
|
+ AND (
|
|
|
+ ( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
|
|
|
+ --xuwei 2020-09-01 add 重烧的没有责任工序也算
|
|
|
+ OR (@PROCEDUREID@ = 35 and d.defectprocedureid is null)
|
|
|
+ OR (@PROCEDUREID@ = 13 and d.defectprocedureid is null)
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ P.VALUEFLAG = '1'
|
|
|
+ AND P.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND P.CHECKBATCHNO = 1
|
|
|
+ --xuwei fix 2020-10-09 begin 20250414 石磊 以pc客户端的为主
|
|
|
+
|
|
|
+ --AND P.CHECKTIME >= @DATEBEGIN@
|
|
|
+ --AND P.CHECKTIME < @DATEEND@
|
|
|
+ AND P.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND P.CREATETIME < @DATEEND@
|
|
|
+ --xuwei fix 2020-10-09 end
|
|
|
+
|
|
|
+ AND P.GOODSLEVELTYPEID <> 4
|
|
|
+ AND (P.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (P.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),P.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND P.GOODSCODE IN({goodsCodes})
|
|
|
+ AND L.BUILDINGNO {BUILDINGNO}
|
|
|
+ --XUWEI 2020-07-10 ADD
|
|
|
+ --AND (NOT D.DEFECTPROCEDUREID IS NULL)
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS (
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME ),
|
|
|
+ ( )
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ M.DEFECTNAME
|
|
|
+ ) TT
|
|
|
+ ) PIVOT (
|
|
|
+ SUM( CNUM ) FOR DEFECT IN ({DEFECT},'合计' AS 合计
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ) TD ON TA.GID = TD.D_GID
|
|
|
+ AND
|
|
|
+ (
|
|
|
+ ( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE )
|
|
|
+ OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE )
|
|
|
+ OR ( TA.GID = 3 )
|
|
|
+ )
|
|
|
+ ORDER BY TA.GOODSTYPENAME,TA.GOODSCODE
|
|
|
+ ".Replace("{DEFECT}", defectStr).Replace("{BUILDINGNO}", buding).Replace("{goodsCodes}", goodssql);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //读取报表数据
|
|
|
+ sqlStr = @"
|
|
|
+ SELECT
|
|
|
+ DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS 产品类别,
|
|
|
+ --TA.GOODSCODE AS 产品编码,
|
|
|
+ TA.GOODSNAME AS 产品名称,
|
|
|
+ DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS 出窑数,
|
|
|
+ --DECODE( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB ) 合格123,
|
|
|
+ DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS U级,
|
|
|
+ DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) A级,
|
|
|
+ DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS AA级,
|
|
|
+ DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS B级,
|
|
|
+ DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS R级,
|
|
|
+ DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS 冷补数,
|
|
|
+ DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS L级,
|
|
|
+ DECODE( TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F, 0, NULL, TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F ) AS F级,
|
|
|
+ DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS Z级,
|
|
|
+ DECODE( TA.Waste, 0, NULL, TA.Waste ) AS 废品,
|
|
|
+ CASE WHEN TA.OUT_K IS NULL OR TA.OUT_K = 0 THEN NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100 END AS UA率,
|
|
|
+ TD.*
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ G.GOODSNAME,
|
|
|
+ SUM(LB_NUM) LB_NUM,
|
|
|
+ SUM( T.OUT_K ) OUT_K,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, -- 直接正品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, -- 直接副品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, -- 直接次品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
|
|
|
+ SUM( T.B_NUM ) AS COUNT_B,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
|
|
|
+ SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L, -- 冷补、堵漏气检验数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 冷补合格数
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB, -- 堵漏气合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F, -- 冷补、堵漏气不合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 1 OUT_K,
|
|
|
+ -1 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ --取冷补数 code=8606 id=67 xuwei 2020-11-17
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKFLAG = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ MAX( PMAX.PRODUCTIONDATAID ) MPDID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
|
|
|
+ AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
|
|
|
+ /*20 研磨 22 直接冷补 23 研磨后冷补(非回收) 37 堵漏气 41 刷洗不良*/
|
|
|
+ AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
|
|
|
+ LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND D.DEFECTID = 92
|
|
|
+ AND D.VALUEFLAG = '1'
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ WHERE
|
|
|
+ PD.VALUEFLAG = '1'
|
|
|
+ AND PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ GROUP BY
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ 0 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND PD.CHECKFLAG = 1
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (PD.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),PD.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND PD.GOODSCODE IN({goodsCodes})
|
|
|
+ AND (INSTR((@GOODSNAME@),PD.GOODSNAME)>0 OR @GOODSNAME@ IS NULL)
|
|
|
+ AND GL.BUILDINGNO {BUILDINGNO}
|
|
|
+ ) T
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) )
|
|
|
+ ) TA
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
|
|
|
+ TT.GOODSTYPECODE D_GOODSTYPECODE, --,TT.GOODSTYPENAME D_
|
|
|
+ TT.GOODSCODE D_GOODSCODE,
|
|
|
+ CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
|
|
|
+ TT.CNUM
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
|
|
|
+ SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA P
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
|
|
|
+ INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID --AND (P.GOODSLEVELTYPEID NOT IN (4, 5) OR D.DEFECTID <> 11)
|
|
|
+ INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
|
|
|
+ LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
|
|
|
+ INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
|
|
|
+ AND (
|
|
|
+ ( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
|
|
|
+ --xuwei 2020-09-01 add 重烧的没有责任工序也算
|
|
|
+ OR (@PROCEDUREID@ = 35 and d.defectprocedureid is null)
|
|
|
+ OR (@PROCEDUREID@ = 13 and d.defectprocedureid is null)
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ P.VALUEFLAG = '1'
|
|
|
+ AND P.PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND P.CHECKBATCHNO = 1
|
|
|
+ --xuwei fix 2020-10-09 begin
|
|
|
+ AND P.CHECKTIME >= @DATEBEGIN@
|
|
|
+ AND P.CHECKTIME < @DATEEND@
|
|
|
+ --AND P.CREATETIME >= @DATEBEGIN@
|
|
|
+ --AND P.CREATETIME < @DATEEND@
|
|
|
+ --xuwei fix 2020-10-09 end
|
|
|
+
|
|
|
+ AND P.GOODSLEVELTYPEID <> 4
|
|
|
+ AND (P.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ -- AND (P.GOODSCODE = @GOODSCODE@ OR @GOODSCODE@ IS NULL)
|
|
|
+ --AND (INSTR((@GOODSCODE@),P.GOODSCODE)>0 OR @GOODSCODE@ IS NULL)
|
|
|
+ AND P.GOODSCODE IN({goodsCodes})
|
|
|
+ AND L.BUILDINGNO {BUILDINGNO}
|
|
|
+ --XUWEI 2020-07-10 ADD
|
|
|
+ --AND (NOT D.DEFECTPROCEDUREID IS NULL)
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS (
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME ),
|
|
|
+ ( )
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ M.DEFECTNAME
|
|
|
+ ) TT
|
|
|
+ ) PIVOT (
|
|
|
+ SUM( CNUM ) FOR DEFECT IN ({DEFECT},'合计' AS 合计
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ) TD ON TA.GID = TD.D_GID
|
|
|
+ AND
|
|
|
+ (
|
|
|
+ ( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE )
|
|
|
+ OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE )
|
|
|
+ OR ( TA.GID = 3 )
|
|
|
+ )
|
|
|
+ ORDER BY TA.GOODSTYPENAME,TA.GOODSCODE
|
|
|
+ ".Replace("{DEFECT}", defectStr).Replace("{BUILDINGNO}", buding).Replace("{goodsCodes}", goodssql);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取查询条件
|
|
|
+ List<CDAParameter> sqlPara = new List<CDAParameter>();
|
|
|
+ sqlPara.Add(new CDAParameter("DATEBEGIN", Convert.ToDateTime(context.Request["datebeginMaster"]), DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("DATEEND", Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1), DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("KILNID", context.Request["kilnidMaster"]));
|
|
|
+ sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
|
|
|
+
|
|
|
+ if (context.Request["goodscodeMaster[]"] is object)
|
|
|
+ {
|
|
|
+ if (context.Request["goodscodeMaster[]"].ToString() != "")
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSCODE", context.Request["goodscodeMaster[]"]));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (context.Request["goodscodeMaster"] is object)
|
|
|
+ {
|
|
|
+ if (context.Request["goodscodeMaster"].ToString() != "")
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSCODE", context.Request["goodscodeMaster"]));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSCODE", null));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (context.Request["goodsnameMaster"] is object)
|
|
|
+ {
|
|
|
+ if (context.Request["goodsnameMaster"].ToString() != "")
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSNAME", context.Request["goodsnameMaster"]));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSNAME", null));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sqlPara.Add(new CDAParameter("GOODSNAME", null));
|
|
|
+ }
|
|
|
+
|
|
|
+ //xuwei add 2023-12-29 ====================================
|
|
|
+ //=========================================================
|
|
|
+ sqlStr = sqlStr.Replace("@DATEBEGIN@", "DATE'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + "'");
|
|
|
+ sqlStr = sqlStr.Replace("@DATEEND@", "DATE'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + "'");
|
|
|
+ sqlStr = sqlStr.Replace("@KILNID@", context.Request["kilnidMaster"].ToString() != "" ? context.Request["kilnidMaster"].ToString() : " NULL ");
|
|
|
+ sqlStr = sqlStr.Replace("@PROCEDUREID@", context.Request["procedureidMaster"].ToString() != "" ? context.Request["procedureidMaster"].ToString() : " NULL ");
|
|
|
+ sqlStr = sqlStr.Replace("@GOODSCODE@", " '' ");
|
|
|
+ sqlStr = sqlStr.Replace("@GOODSNAME@", " '' ");
|
|
|
+ string nameGuid = string.Empty;
|
|
|
+ nameGuid = DateTime.Now.ToString("hh24:mi:ss").Replace("/", "").Replace(":", "").Replace(" ", "");
|
|
|
+ sqlStr = @"CREATE OR REPLACE PROCEDURE PRO_" + nameGuid + @" (RS OUT SYS_REFCURSOR) IS
|
|
|
+ BEGIN
|
|
|
+ OPEN RS FOR
|
|
|
+ " + sqlStr +
|
|
|
+
|
|
|
+ @";
|
|
|
+ END PRO_" + nameGuid + @";
|
|
|
+ ";
|
|
|
+ conn.ExecuteNonQuery(sqlStr);
|
|
|
+ sqlPara.Clear();
|
|
|
+ string procedureName = "PRO_" + nameGuid;
|
|
|
+ sqlPara.Add(new CDAParameter("rs", DataType.Cursor, ParameterDirection.Output));
|
|
|
+ DataTable dt = conn.ExecuteSPDatatable(procedureName, sqlPara.ToArray());
|
|
|
+ string deleteProcedure = "drop PROCEDURE PRO_" + nameGuid;
|
|
|
+ int resultProcedure = conn.ExecuteNonQuery(deleteProcedure);
|
|
|
+
|
|
|
+ //直接获取不分页数据
|
|
|
+ //DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
|
|
|
+ //
|
|
|
+ //xuwei end ==============================================
|
|
|
+ //========================================================
|
|
|
+
|
|
|
+ dt.Columns.Remove("D_GID");
|
|
|
+ dt.Columns.Remove("D_goodstypecode");
|
|
|
+ dt.Columns.Remove("D_goodscode");
|
|
|
+ //处理列特殊字符
|
|
|
+ for (int c = 0; c < dt.Columns.Count; c++)
|
|
|
+ {
|
|
|
+ dt.Columns[c].ColumnName = dt.Columns[c].ColumnName.Replace("'", "").Replace("+", "").Replace('/', ' ');
|
|
|
+ }
|
|
|
+
|
|
|
+ //增加 施釉循环线合计
|
|
|
+ int ind1 = dt.Columns.IndexOf("施釉缺陷_合计");
|
|
|
+ int ind2 = dt.Columns.IndexOf("循环线施釉缺陷_合计");
|
|
|
+ int ind = Math.Max(ind1, ind2);
|
|
|
+ if (ind > 0)
|
|
|
+ {
|
|
|
+ dt.Columns.Add(new DataColumn("施釉_合计", typeof(Int32)));
|
|
|
+ dt.Columns["施釉_合计"].SetOrdinal(ind + 1);
|
|
|
+ for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
+ {
|
|
|
+ int c1 = 0;
|
|
|
+ int c2 = 0;
|
|
|
+ if (ind1 > 0 && dt.Rows[i]["施釉缺陷_合计"] != DBNull.Value)
|
|
|
+ {
|
|
|
+ c1 = Convert.ToInt32(dt.Rows[i]["施釉缺陷_合计"]);
|
|
|
+ }
|
|
|
+ if (ind2 > 0 && dt.Rows[i]["循环线施釉缺陷_合计"] != DBNull.Value)
|
|
|
+ {
|
|
|
+ c2 = Convert.ToInt32(dt.Rows[i]["循环线施釉缺陷_合计"]);
|
|
|
+ }
|
|
|
+ if (c1 + c2 > 0)
|
|
|
+ {
|
|
|
+ dt.Rows[i]["施釉_合计"] = c1 + c2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取分页参数
|
|
|
+ int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
|
|
|
+ int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
|
|
|
+ string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
|
|
|
+ string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
|
|
|
+ //获取分页数据
|
|
|
+ int total = 0;
|
|
|
+ //dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
|
|
|
+ string jsonStr = new JsonResult(dt) { total = total }.ToJson();
|
|
|
+ //string jsonStr = new JsonResult(dt) { total = dt.Rows.Count }.ToJson();
|
|
|
+ context.Response.Write(jsonStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (context.Request["m"].ToString() == "jiezhauang")
|
|
|
+ {
|
|
|
+ using (IDataAccess conn = DataAccess.Create())
|
|
|
+ {
|
|
|
+ string buding = null;
|
|
|
+ if (context.Request["buildingnoMaster"].ToString() != "12")
|
|
|
+ {
|
|
|
+ buding = "IN('" + context.Request["buildingnoMaster"] + "')";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ buding = "IN(" + "'1#','2#'" + ")";
|
|
|
+ }
|
|
|
+ string sqlStr = @"
|
|
|
+ SELECT
|
|
|
+ DECODE(产品类别, null, '合计',产品类别) 产品类别,
|
|
|
+ 产品名称 ,
|
|
|
+ SUM(出窑数) AS 出窑数,
|
|
|
+ SUM(U级) AS U级,
|
|
|
+ SUM(A级) AS A级,
|
|
|
+ SUM(AA级) AS AA级,
|
|
|
+ SUM(B级) AS B级,
|
|
|
+ SUM(R级) AS R级,
|
|
|
+ SUM(冷补数) AS 冷补数,
|
|
|
+ SUM(L级 ) AS L级,
|
|
|
+ SUM(F级) AS F级,
|
|
|
+ SUM(Z级) AS Z级,
|
|
|
+ DEcode(ROUND(((nvl(sum(U级),0)+nvl(sum(A级),0)+ nvl(sum(AA级),0))/ sum(出窑数)), 4 ) *100,0,NULL,ROUND( ((nvl(sum(U级),0)+nvl(sum(A级),0)+ nvl(sum(AA级),0))/ sum(出窑数)), 4 ) *100) AS UA率,
|
|
|
+ SUM(原料缺陷_铁脏 ) AS 原料缺陷_铁脏,
|
|
|
+ SUM(原料缺陷_铜脏) AS 原料缺陷_铜脏,
|
|
|
+ SUM(原料缺陷_合计) AS 原料缺陷_合计,
|
|
|
+ SUM(成型缺陷_糙活) AS 成型缺陷_糙活,
|
|
|
+ SUM(成型缺陷_成裂) AS 成型缺陷_成裂,
|
|
|
+ SUM(成型缺陷_成脏) AS 成型缺陷_成脏,
|
|
|
+ SUM(成型缺陷_成走) AS 成型缺陷_成走,
|
|
|
+ SUM(成型缺陷_孔不良) AS 成型缺陷_孔不良,
|
|
|
+ SUM(成型缺陷_漏气) AS 成型缺陷_漏气,
|
|
|
+ SUM(成型缺陷_泥绺) AS 成型缺陷_泥绺,
|
|
|
+ SUM(成型缺陷_排水不良) AS 成型缺陷_排水不良,
|
|
|
+ SUM(成型缺陷_坯脏) AS 成型缺陷_坯脏,
|
|
|
+ SUM(成型缺陷_注泡) AS 成型缺陷_注泡,
|
|
|
+ SUM(成型缺陷_棕眼) AS 成型缺陷_棕眼,
|
|
|
+ SUM(成型缺陷_炸圈) AS 成型缺陷_炸圈,
|
|
|
+ SUM(成型缺陷_卡球) AS 成型缺陷_卡球,
|
|
|
+ SUM(成型缺陷_合计) AS 成型缺陷_合计,
|
|
|
+ SUM(施釉缺陷_爆釉) AS 施釉缺陷_爆釉,
|
|
|
+ SUM(施釉缺陷_标不良) AS 施釉缺陷_标不良 ,
|
|
|
+ SUM(施釉缺陷_脱釉) AS 施釉缺陷_脱釉 ,
|
|
|
+ SUM(施釉缺陷_釉薄) AS 施釉缺陷_釉薄,
|
|
|
+ SUM(施釉缺陷_釉磕) AS 施釉缺陷_釉磕 ,
|
|
|
+ SUM(施釉缺陷_釉绺) AS 施釉缺陷_釉绺 ,
|
|
|
+ SUM(施釉缺陷_釉脏) AS 施釉缺陷_釉脏 ,
|
|
|
+ SUM(施釉缺陷_釉粘) AS 施釉缺陷_釉粘,
|
|
|
+ SUM(施釉缺陷_釉泡) AS 施釉缺陷_釉泡,
|
|
|
+ SUM(施釉缺陷_波纹) AS 施釉缺陷_波纹,
|
|
|
+ SUM(施釉缺陷_合计) AS 施釉缺陷_合计,
|
|
|
+ SUM(循环线施釉缺陷_爆釉) AS 循环线施釉缺陷_爆釉 ,
|
|
|
+ SUM(循环线施釉缺陷_标不良) AS 循环线施釉缺陷_标不良 ,
|
|
|
+ SUM(循环线施釉缺陷_脱釉) AS 循环线施釉缺陷_脱釉,
|
|
|
+ SUM(循环线施釉缺陷_釉薄) AS 循环线施釉缺陷_釉薄,
|
|
|
+ SUM(循环线施釉缺陷_釉磕) AS 循环线施釉缺陷_釉磕,
|
|
|
+ SUM(循环线施釉缺陷_釉绺) AS 循环线施釉缺陷_釉绺,
|
|
|
+ SUM(循环线施釉缺陷_釉脏) AS 循环线施釉缺陷_釉脏,
|
|
|
+ SUM(循环线施釉缺陷_釉粘) AS 循环线施釉缺陷_釉粘,
|
|
|
+ SUM(循环线施釉缺陷_釉泡) AS 循环线施釉缺陷_釉泡,
|
|
|
+ SUM(循环线施釉缺陷_波纹) AS 循环线施釉缺陷_波纹,
|
|
|
+ SUM(循环线施釉缺陷_合计) AS 循环线施釉缺陷_合计,
|
|
|
+ SUM(施釉_合计) AS 施釉_合计,
|
|
|
+ SUM(出装窑缺陷_蹭釉) AS 出装窑缺陷_蹭釉,
|
|
|
+ SUM(出装窑缺陷_出磕) AS 出装窑缺陷_出磕,
|
|
|
+ SUM(出装窑缺陷_划釉) AS 出装窑缺陷_划釉,
|
|
|
+ SUM(出装窑缺陷_落脏) AS 出装窑缺陷_落脏,
|
|
|
+ SUM(出装窑缺陷_装磕) AS 出装窑缺陷_装磕,
|
|
|
+ SUM(出装窑缺陷_装粘) AS出装窑缺陷_装粘,
|
|
|
+ SUM(出装窑缺陷_装脏) AS 出装窑缺陷_装脏,
|
|
|
+ SUM(出装窑缺陷_装走) AS 出装窑缺陷_装走,
|
|
|
+ SUM(出装窑缺陷_合计) AS 出装窑缺陷_合计,
|
|
|
+ SUM(烧窑缺陷_过火泡) AS 烧窑缺陷_过火泡,
|
|
|
+ SUM(烧窑缺陷_桔釉) AS 烧窑缺陷_桔釉,
|
|
|
+ SUM(烧窑缺陷_麻坑) AS 烧窑缺陷_麻坑,
|
|
|
+ SUM(烧窑缺陷_烧裂) AS 烧窑缺陷_烧裂,
|
|
|
+ SUM(烧窑缺陷_烧生) AS 烧窑缺陷_烧生,
|
|
|
+ SUM(烧窑缺陷_窑脏) AS 烧窑缺陷_窑脏,
|
|
|
+ SUM(烧窑缺陷_烧炸) AS 烧窑缺陷_烧炸,
|
|
|
+ SUM(烧窑缺陷_烟熏) AS 烧窑缺陷_烟熏,
|
|
|
+ SUM(烧窑缺陷_水滴) AS 烧窑缺陷_水滴,
|
|
|
+ SUM(烧窑缺陷_风惊) AS 烧窑缺陷_风惊,
|
|
|
+ SUM(烧窑缺陷_针孔) AS 烧窑缺陷_针孔,
|
|
|
+ SUM(烧窑缺陷_合计) AS 烧窑缺陷_合计,
|
|
|
+ SUM(其他缺陷_崩脏) AS 其他缺陷_崩脏,
|
|
|
+ SUM(其他缺陷_坯磕) AS 其他缺陷_坯磕,
|
|
|
+ SUM(其他缺陷_研磨) AS 其他缺陷_研磨,
|
|
|
+ SUM(其他缺陷_复烧修补不良) AS 其他缺陷_复烧修补不良,
|
|
|
+ SUM(其他缺陷_合计) AS 其他缺陷_合计,
|
|
|
+ SUM(研磨缺陷_眼) AS 研磨缺陷_眼,
|
|
|
+ SUM(研磨缺陷_底) AS 研磨缺陷_底,
|
|
|
+ SUM(研磨缺陷_底和面) AS 研磨缺陷_底和面 ,
|
|
|
+ SUM(研磨缺陷_面) AS 研磨缺陷_面,
|
|
|
+ SUM(研磨缺陷_边) AS 研磨缺陷_边,
|
|
|
+ SUM(研磨缺陷_研磨配盖) AS 研磨缺陷_研磨配盖,
|
|
|
+ SUM(研磨缺陷_合计) AS 研磨缺陷_合计,
|
|
|
+ SUM(合计) AS 合计
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSTYPENAME AS 产品类别,
|
|
|
+ GOODSNAME AS 产品名称 ,
|
|
|
+ sum(OUT_K) AS 出窑数 ,
|
|
|
+ sum(COUNT_U4) AS U级,
|
|
|
+ sum(COUNT_AB) AS A级,
|
|
|
+ sum(COUNT_AA) AS AA级,
|
|
|
+ sum(COUNT_B) AS B级,
|
|
|
+ sum(COUNT_R) AS R级,
|
|
|
+ sum(LB_NUM) AS 冷补数,
|
|
|
+ sum(COUNT_L) AS L级 ,
|
|
|
+ sum(COUNT_U7) AS F级,
|
|
|
+ sum(COUNT_Z) AS Z级,
|
|
|
+ DEcode(ROUND( ((nvl(sum(COUNT_U4),0)+nvl(sum(COUNT_AB),0)+ nvl(sum(COUNT_AA),0))/ sum(OUT_K)), 4 ) *100,0,NULL,ROUND( ((nvl(sum(COUNT_U4),0)+nvl(sum(COUNT_AB),0)+ nvl(sum(COUNT_AA),0))/ sum(OUT_K)), 4 ) *100) AS UA率,
|
|
|
+ sum( CNUM1 ) AS 原料缺陷_铁脏 ,
|
|
|
+ sum( CNUM2 ) AS 原料缺陷_铜脏,
|
|
|
+ sum( CNUM3 ) AS 原料缺陷_合计,
|
|
|
+ sum( CNUM4 ) AS 成型缺陷_糙活,
|
|
|
+ sum( CNUM5 ) AS 成型缺陷_成裂,
|
|
|
+ sum( CNUM6 ) AS 成型缺陷_成脏,
|
|
|
+ sum( CNUM7 ) AS 成型缺陷_成走,
|
|
|
+ sum( CNUM8 ) AS 成型缺陷_孔不良,
|
|
|
+ sum( CNUM9 ) AS 成型缺陷_漏气,
|
|
|
+ sum( CNUM10 ) AS 成型缺陷_泥绺,
|
|
|
+ sum( CNUM11 ) AS 成型缺陷_排水不良,
|
|
|
+ sum( CNUM12 ) AS 成型缺陷_坯脏,
|
|
|
+ sum( CNUM13 ) AS 成型缺陷_注泡,
|
|
|
+ sum( CNUM14 ) AS 成型缺陷_棕眼,
|
|
|
+ sum( CNUM15 ) AS 成型缺陷_炸圈,
|
|
|
+ sum( CNUM16 ) AS 成型缺陷_卡球,
|
|
|
+ sum( CNUM17 ) AS 成型缺陷_合计,
|
|
|
+ sum( CNUM18 ) AS 施釉缺陷_爆釉,
|
|
|
+ sum( CNUM19 ) AS 施釉缺陷_标不良,
|
|
|
+ sum( CNUM20 ) AS 施釉缺陷_脱釉,
|
|
|
+ sum( CNUM21 ) AS 施釉缺陷_釉薄,
|
|
|
+ sum( CNUM22 ) AS 施釉缺陷_釉磕,
|
|
|
+ sum( CNUM23 ) AS 施釉缺陷_釉绺,
|
|
|
+ sum( CNUM24 ) AS 施釉缺陷_釉脏,
|
|
|
+ sum( CNUM25 ) AS 施釉缺陷_釉粘,
|
|
|
+ sum( CNUM26 ) AS 施釉缺陷_釉泡,
|
|
|
+ sum( CNUM27 ) AS 施釉缺陷_波纹,
|
|
|
+ sum( CNUM28 ) AS 施釉缺陷_合计,
|
|
|
+ sum( CNUM29 ) AS 循环线施釉缺陷_爆釉,
|
|
|
+ sum( CNUM30 ) AS 循环线施釉缺陷_标不良,
|
|
|
+ sum( CNUM31 ) AS 循环线施釉缺陷_脱釉,
|
|
|
+ sum( CNUM32 ) AS 循环线施釉缺陷_釉薄,
|
|
|
+ sum( CNUM33 ) AS 循环线施釉缺陷_釉磕,
|
|
|
+ sum( CNUM34 ) AS 循环线施釉缺陷_釉绺,
|
|
|
+ sum( CNUM35 ) AS 循环线施釉缺陷_釉脏,
|
|
|
+ sum( CNUM36 ) AS 循环线施釉缺陷_釉粘,
|
|
|
+ sum( CNUM37 ) AS 循环线施釉缺陷_釉泡,
|
|
|
+ sum( CNUM38 ) AS 循环线施釉缺陷_波纹,
|
|
|
+ sum( CNUM39 ) AS 循环线施釉缺陷_合计,
|
|
|
+ sum(CNUM39) + sum (CNUM28) AS 施釉_合计,
|
|
|
+ sum( CNUM40 ) AS 出装窑缺陷_蹭釉,
|
|
|
+ sum( CNUM41 ) AS 出装窑缺陷_出磕,
|
|
|
+ sum( CNUM42 ) AS 出装窑缺陷_划釉,
|
|
|
+ sum( CNUM43 ) AS 出装窑缺陷_落脏,
|
|
|
+ sum( CNUM44 ) AS 出装窑缺陷_装磕,
|
|
|
+ sum( CNUM45 ) AS 出装窑缺陷_装粘,
|
|
|
+ sum( CNUM46 ) AS 出装窑缺陷_装脏,
|
|
|
+ sum( CNUM47 ) AS 出装窑缺陷_装走,
|
|
|
+ sum( CNUM48 ) AS 出装窑缺陷_合计,
|
|
|
+ sum( CNUM49 ) AS 烧窑缺陷_过火泡,
|
|
|
+ sum( CNUM50 ) AS 烧窑缺陷_桔釉,
|
|
|
+ sum( CNUM51 ) AS 烧窑缺陷_麻坑,
|
|
|
+ sum( CNUM52 ) AS 烧窑缺陷_烧裂,
|
|
|
+ sum( CNUM53 ) AS 烧窑缺陷_烧生,
|
|
|
+ sum( CNUM54 ) AS 烧窑缺陷_窑脏,
|
|
|
+ sum( CNUM55 ) AS 烧窑缺陷_烧炸,
|
|
|
+ sum( CNUM56 ) AS 烧窑缺陷_烟熏,
|
|
|
+ sum( CNUM57 ) AS 烧窑缺陷_水滴,
|
|
|
+ sum( CNUM58 ) AS 烧窑缺陷_风惊,
|
|
|
+ sum( CNUM59 ) AS 烧窑缺陷_针孔,
|
|
|
+ sum( CNUM60 ) AS 烧窑缺陷_合计,
|
|
|
+ sum( CNUM61 ) AS 其他缺陷_崩脏,
|
|
|
+ sum( CNUM62 ) AS 其他缺陷_坯磕,
|
|
|
+ sum( CNUM63 ) AS 其他缺陷_研磨,
|
|
|
+ sum( CNUM64 ) AS 其他缺陷_复烧修补不良,
|
|
|
+ sum( CNUM65 ) AS 其他缺陷_合计,
|
|
|
+ sum( CNUM66 ) AS 研磨缺陷_眼,
|
|
|
+ sum( CNUM67 ) AS 研磨缺陷_底,
|
|
|
+ sum( CNUM68 ) AS 研磨缺陷_底和面,
|
|
|
+ sum( CNUM69 ) AS 研磨缺陷_面,
|
|
|
+ sum( CNUM70 ) AS 研磨缺陷_边,
|
|
|
+ sum( CNUM71 ) AS 研磨缺陷_研磨配盖,
|
|
|
+ sum( CNUM72 ) AS 研磨缺陷_合计,
|
|
|
+ sum( CNUM73 ) AS 合计,
|
|
|
+ GOOD AS 序号
|
|
|
+ from
|
|
|
+ JZ_RPT014
|
|
|
+ WHERE PROCEDUREID = @PROCEDUREID@
|
|
|
+ AND FORWARDTIME >= @BEGINMONTH@
|
|
|
+ AND FORWARDTIME < =@ENDMONTH@
|
|
|
+ AND BUILDINGNO {BUILDINGNO}
|
|
|
+ AND (KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS ((GOODSTYPENAME,GOODSNAME,GOOD))
|
|
|
+ ) GROUP BY
|
|
|
+ GROUPING SETS ((产品类别,产品名称),()) ".Replace("{BUILDINGNO}", buding);
|
|
|
+
|
|
|
+ //获取查询条件
|
|
|
+ List<CDAParameter> sqlPara = new List<CDAParameter>();
|
|
|
+ sqlPara.Add(new CDAParameter("DATEBEGIN", Convert.ToDateTime(context.Request["datebeginMaster"]), DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("DATEEND", Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1), DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("BUILDINGNO", context.Request["buildingnoMaster"]));
|
|
|
+ sqlPara.Add(new CDAParameter("KILNID", context.Request["kilnidMaster"]));
|
|
|
+ sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
|
|
|
+ sqlPara.Add(new CDAParameter("BEGINMONTH", context.Request["datebeginMaster"].Substring(0, context.Request["datebeginMaster"].IndexOf("-")) + context.Request["datebeginMaster"].Substring(context.Request["datebeginMaster"].IndexOf("-") + 1).PadLeft(2, '0')));
|
|
|
+ sqlPara.Add(new CDAParameter("ENDMONTH", context.Request["dateendMaster"].Substring(0, context.Request["dateendMaster"].IndexOf("-")) + context.Request["dateendMaster"].Substring(context.Request["dateendMaster"].IndexOf("-") + 1).PadLeft(2, '0')));
|
|
|
+
|
|
|
+ //获取分页数据
|
|
|
+ int total = 0;
|
|
|
+ DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
|
|
|
+ string jsonStr = new JsonResult(dt) { total = total }.ToJson();
|
|
|
+ context.Response.Write(jsonStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public bool IsReusable
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|