rpt.ashx 75 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039
  1. <%@ WebHandler Language="C#" Class="rpt" %>
  2. using System;
  3. using System.Web;
  4. using System.Web.SessionState;
  5. using System.Data;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using Curtain.DataAccess;
  9. using DK.XuWei.WebMes;
  10. public class rpt : IHttpHandler, IReadOnlySessionState
  11. {
  12. public void ProcessRequest(HttpContext context)
  13. {
  14. context.Response.ContentType = "text/plain";
  15. using(IDataAccess conn = DataAccess.Create())
  16. {
  17. //主表
  18. if(context.Request["m"].ToString()=="0")
  19. {
  20. DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
  21. DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]).AddDays(1);
  22. DateTime dbegin = dateBegin;
  23. string totalMaster = context.Request["totalMaster"].ToString();
  24. string datestr = "";
  25. if (totalMaster == "YYYYMMDD") {
  26. datestr += " SELECT " + "'" + dateBegin.Year + "'||'" + (dateBegin.Month + "").PadLeft(2, '0') + "'||'" + (dateBegin.Day + "").PadLeft(2, '0') + "' AS 时间 FROM DUAL ";
  27. while (dbegin < dateEnd.AddDays(-1)) {
  28. dbegin = dbegin.AddDays(1);
  29. datestr += " UNION SELECT " + "'" + dbegin.Year + "'||'" + (dbegin.Month + "").PadLeft(2, '0') + "'||'" + (dbegin.Day + "").PadLeft(2, '0') + "' AS 时间 FROM DUAL ";
  30. }
  31. datestr += " UNION SELECT '合计' AS 时间 FROM DUAL ";
  32. } else if (totalMaster == "YYYYMM") {
  33. datestr += " SELECT " + "'" + dateBegin.Year + "'||'" + (dateBegin.Month + "").PadLeft(2, '0') + "' AS 时间 FROM DUAL ";
  34. //while (dbegin.Month < dateEnd.AddDays(-1).Month) {
  35. // dbegin = dbegin.AddMonths(1);
  36. // datestr += " UNION SELECT " + "'" + dbegin.Year + "'||'" + (dbegin.Month + "").PadLeft(2, '0') + "' AS 时间 FROM DUAL ";
  37. //}
  38. DateTime start = Convert.ToDateTime(dateBegin.ToShortDateString());
  39. DateTime end = Convert.ToDateTime(dateEnd.ToShortDateString());
  40. TimeSpan sp = end.Subtract(start);
  41. while (DateTime.DaysInMonth(dateEnd.AddDays(-1).Year,dateEnd.AddDays(-1).Month)< sp.Days + dateBegin.Day - 1) {
  42. dbegin = dbegin.AddMonths(1);
  43. sp = end.Subtract(Convert.ToDateTime(dbegin.ToShortDateString()));
  44. datestr += " UNION SELECT " + "'" + dbegin.Year + "'||'" + (dbegin.Month + "").PadLeft(2, '0') + "' AS 时间 FROM DUAL ";
  45. }
  46. datestr += " UNION SELECT '合计' AS 时间 FROM DUAL ";
  47. }
  48. string groutinglineId = context.Request["groutinglineMaster[]"] is object ? context.Request["groutinglineMaster[]"].ToString() : "0,0";
  49. if (groutinglineId == "0,0" && (context.Request["groutinglineMaster"] is object)) groutinglineId = context.Request["groutinglineMaster"].ToString();
  50. if (groutinglineId == "") groutinglineId = "0,0";
  51. string goodsId = context.Request["goodsMaster[]"] is object ? context.Request["goodsMaster[]"].ToString() : "0,0";
  52. if (goodsId == "0,0" && (context.Request["goodsMaster"] is object)) goodsId = context.Request["goodsMaster"].ToString();
  53. if (goodsId == "") goodsId = "0,0";
  54. string highFlag = context.Request["highFlagMaster"];
  55. if (highFlag == "") highFlag = "-1";
  56. string testType = context.Request["testMaster"];
  57. if (testType == "2") testType = "";
  58. string testFlagMaster = context.Request["testFlagMaster"];
  59. if (testFlagMaster == "2") testFlagMaster = "";
  60. //读取报表数据
  61. string sqlStr = @"
  62. WITH
  63. 拼接日期 AS
  64. ({DATESTR}),
  65. 注浆和成型报损和入库 AS
  66. (
  67. SELECT
  68. GROUPING_ID ( TO_CHAR( H.CREATETIME, 'YYYYMM' ) ) AS GID,
  69. NVL(TO_CHAR( H.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  70. SUM(CASE WHEN ( H.DATATYPE = 1 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 注浆数_一部大件,
  71. SUM(CASE WHEN ( H.DATATYPE = 1 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数_一部小件,
  72. SUM(CASE WHEN ( H.DATATYPE = 1 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数_一部全部,
  73. SUM(CASE WHEN ( H.DATATYPE = 1 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 注浆数_二部全部,
  74. SUM(CASE WHEN ( H.DATATYPE = 1 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数_三部全部,
  75. SUM(DECODE(H.DATATYPE,1,1,0)) AS 注浆数_合计,
  76. SUM(CASE WHEN ( H.DATATYPE = 2 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 注浆数撤销_一部大件,
  77. SUM(CASE WHEN ( H.DATATYPE = 2 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数撤销_一部小件,
  78. SUM(CASE WHEN ( H.DATATYPE = 2 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数撤销_一部全部,
  79. SUM(CASE WHEN ( H.DATATYPE = 2 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 注浆数撤销_二部全部,
  80. SUM(CASE WHEN ( H.DATATYPE = 2 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 注浆数撤销_三部全部,
  81. SUM(DECODE(H.DATATYPE,2,1,0)) AS 注浆数撤销_合计,
  82. SUM(CASE WHEN ( H.DATATYPE = 3 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 成型报损_一部大件,
  83. SUM(CASE WHEN ( H.DATATYPE = 3 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损_一部小件,
  84. SUM(CASE WHEN ( H.DATATYPE = 3 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损_一部全部,
  85. SUM(CASE WHEN ( H.DATATYPE = 3 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 成型报损_二部全部,
  86. SUM(CASE WHEN ( H.DATATYPE = 3 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损_三部全部,
  87. COUNT(DECODE(H.DATATYPE,3,1,0)) AS 成型报损_合计,
  88. SUM(CASE WHEN ( H.DATATYPE = 4 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 成型报损撤销_一部大件,
  89. SUM(CASE WHEN ( H.DATATYPE = 4 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损撤销_一部小件,
  90. SUM(CASE WHEN ( H.DATATYPE = 4 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损撤销_一部全部,
  91. SUM(CASE WHEN ( H.DATATYPE = 4 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 成型报损撤销_二部全部,
  92. SUM(CASE WHEN ( H.DATATYPE = 4 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 成型报损撤销_三部全部,
  93. SUM(DECODE(H.DATATYPE,4,1,0)) AS 成型报损撤销_合计,
  94. SUM(CASE WHEN ( H.DATATYPE = 51 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 入库数_一部大件,
  95. SUM(CASE WHEN ( H.DATATYPE = 51 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数_一部小件,
  96. SUM(CASE WHEN ( H.DATATYPE = 51 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数_一部全部,
  97. SUM(CASE WHEN ( H.DATATYPE = 51 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 入库数_二部全部,
  98. SUM(CASE WHEN ( H.DATATYPE = 51 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数_三部全部,
  99. SUM(DECODE(H.DATATYPE,51,1,0)) AS 入库数_合计,
  100. SUM(CASE WHEN ( H.DATATYPE = 52 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 入库数撤销_一部大件,
  101. SUM(CASE WHEN ( H.DATATYPE = 52 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数撤销_一部小件,
  102. SUM(CASE WHEN ( H.DATATYPE = 52 AND (INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数撤销_一部全部,
  103. SUM(CASE WHEN ( H.DATATYPE = 52 AND ((INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )) THEN 1 ELSE 0 END ) AS 入库数撤销_二部全部,
  104. SUM(CASE WHEN ( H.DATATYPE = 52 AND (INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( gdd.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( GDD.GROUTINGLINECODE, 'C06B' ) = 1)) THEN 1 ELSE 0 END ) AS 入库数撤销_三部全部,
  105. SUM(DECODE(H.DATATYPE,52,1,0)) AS 入库数撤销_合计
  106. FROM
  107. TP_PM_GOODSCHANGEHISTORY H
  108. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = H.GROUTINGDAILYDETAILID
  109. INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
  110. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  111. INNER JOIN TP_PC_GROUTINGLINE GL ON GDD.GROUTINGLINEID = GL.GROUTINGLINEID
  112. WHERE
  113. --H.DATATYPE = 2 --数据类型 (0:产品编码或SAP编码变更1:成型注浆 2:取消注浆3:成型损坯 4:撤销损坯11:在产清除 12:恢复清除51:成品交接 52:撤销交接)
  114. G.SCRAPSUMFLAG = '1'
  115. AND H.CREATETIME >= @DATEBEGIN@
  116. AND H.CREATETIME < @DATEEND@
  117. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  118. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  119. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  120. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  121. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  122. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  123. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  124. GROUP BY
  125. GROUPING SETS ( TO_CHAR( H.CREATETIME, 'YYYYMM' ), ( ) )
  126. ),
  127. 半检不合格 AS
  128. (
  129. SELECT
  130. GROUPING_ID ( TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ) ) AS GID,
  131. NVL(TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ),'合计') AS 时间,
  132. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_一部大件,
  133. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_一部小件,
  134. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 半检不合格_一部全部,
  135. SUM(CASE WHEN ((INSTR( S.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( S.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 半检不合格_二部全部,
  136. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( S.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( S.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_三部全部,
  137. COUNT ( * ) AS 半检不合格_合计
  138. FROM
  139. TP_PM_SEMICHECK S
  140. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = S.GROUTINGDAILYDETAILID
  141. INNER JOIN TP_MST_GOODS G ON G.GOODSID = S.GOODSID
  142. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  143. INNER JOIN TP_PC_GROUTINGLINE GL ON S.GROUTINGLINEID = GL.GROUTINGLINEID
  144. WHERE
  145. S.SEMICHECKTYPE = 2
  146. AND S.SEMICHECKTIME >= @DATEBEGIN@
  147. AND S.SEMICHECKTIME < @DATEEND@
  148. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  149. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  150. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  151. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  152. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  153. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  154. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  155. --AND S.SEMICHECKTYPE = 2 --1 返工 2 不合格
  156. --AND S.RESEMICHECKTYPE = 0 --半检复检状态 (0:未复检、1:合格(返)、2:不合格(返))
  157. GROUP BY
  158. GROUPING SETS ( TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ), ( ) )
  159. ),
  160. 半检不合格撤销 AS
  161. (
  162. SELECT
  163. GROUPING_ID ( TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ) ) AS GID,
  164. NVL(TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ),'合计') AS 时间,
  165. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_一部大件,
  166. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_一部小件,
  167. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 半检不合格_一部全部,
  168. SUM(CASE WHEN ((INSTR( S.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( S.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 半检不合格_二部全部,
  169. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( S.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( S.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 半检不合格_三部全部,
  170. COUNT( * ) AS 半检不合格_合计
  171. FROM
  172. TP_PM_SEMICHECK S
  173. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = S.GROUTINGDAILYDETAILID
  174. INNER JOIN TP_MST_GOODS G ON G.GOODSID = S.GOODSID
  175. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  176. INNER JOIN TP_PC_GROUTINGLINE GL ON S.GROUTINGLINEID = GL.GROUTINGLINEID
  177. WHERE
  178. S.BACKOUTTIME >= @DATEBEGIN@
  179. AND S.BACKOUTTIME < @DATEEND@
  180. AND S.SEMICHECKTYPE = 2 --1 返工 2 不合格
  181. AND S.RESEMICHECKTYPE = 0 --半检复检状态 (0:未复检、1:合格(返)、2:不合格(返))
  182. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  183. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  184. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  185. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  186. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  187. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  188. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  189. GROUP BY
  190. GROUPING SETS ( TO_CHAR( S.SEMICHECKTIME, 'YYYYMM' ), ( ) )
  191. ),
  192. 复检不合格 AS
  193. (
  194. SELECT
  195. GROUPING_ID ( TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ) ) AS GID,
  196. NVL(TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ),'合计') AS 时间,
  197. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_一部大件,
  198. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_一部小件,
  199. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 复检不合格_一部全部,
  200. SUM(CASE WHEN ((INSTR( S.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( S.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 复检不合格_二部全部,
  201. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( S.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( S.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_三部全部,
  202. COUNT ( * ) AS 复检不合格_合计
  203. FROM
  204. TP_PM_SEMICHECK S
  205. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = S.GROUTINGDAILYDETAILID
  206. INNER JOIN TP_MST_GOODS G ON G.GOODSID = S.GOODSID
  207. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  208. INNER JOIN TP_PC_GROUTINGLINE GL ON S.GROUTINGLINEID = GL.GROUTINGLINEID
  209. WHERE
  210. S.RESEMICHECKTYPE = 2
  211. AND S.RESEMICHECKTIME >= @DATEBEGIN@
  212. AND S.RESEMICHECKTIME < @DATEEND@
  213. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  214. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  215. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  216. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  217. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  218. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  219. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  220. --AND S.SEMICHECKTYPE = 2 --1 返工 2 不合格
  221. --AND S.RESEMICHECKTYPE = 0 --半检复检状态 (0:未复检、1:合格(返)、2:不合格(返))
  222. GROUP BY
  223. GROUPING SETS ( TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ), ( ) )
  224. ),
  225. 复检不合格撤销 AS
  226. (
  227. SELECT
  228. GROUPING_ID ( TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ) ) AS GID,
  229. NVL(TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ),'合计') AS 时间,
  230. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_一部大件,
  231. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_一部小件,
  232. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 复检不合格_一部全部,
  233. SUM(CASE WHEN ((INSTR( S.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( S.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 复检不合格_二部全部,
  234. SUM(CASE WHEN (INSTR( S.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( S.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( S.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 复检不合格_三部全部,
  235. COUNT ( * ) AS 复检不合格_合计
  236. FROM
  237. TP_PM_SEMICHECK S
  238. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = S.GROUTINGDAILYDETAILID
  239. INNER JOIN TP_MST_GOODS G ON G.GOODSID = S.GOODSID
  240. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  241. INNER JOIN TP_PC_GROUTINGLINE GL ON S.GROUTINGLINEID = GL.GROUTINGLINEID
  242. WHERE
  243. S.RESEMICHECKTYPE = 2
  244. AND S.BACKOUTTIME >= @DATEBEGIN@
  245. AND S.BACKOUTTIME < @DATEEND@
  246. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  247. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  248. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  249. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  250. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  251. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  252. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  253. --AND S.SEMICHECKTYPE = 2 --1 返工 2 不合格
  254. --AND S.RESEMICHECKTYPE = 0 --半检复检状态 (0:未复检、1:合格(返)、2:不合格(返))
  255. GROUP BY
  256. GROUPING SETS ( TO_CHAR( S.RESEMICHECKTIME, 'YYYYMM' ), ( ) )
  257. ),
  258. 半成品损坯数 AS
  259. (
  260. SELECT
  261. GROUPING_ID ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ) ) AS GID,
  262. NVL(TO_CHAR( P.AUDITDATE, 'YYYYMM' ),'合计') AS 时间,
  263. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 半成品损坯数_一部大件,
  264. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 半成品损坯数_一部小件,
  265. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 半成品损坯数_一部全部,
  266. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 半成品损坯数_二部全部,
  267. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 半成品损坯数_三部全部,
  268. COUNT( * ) AS 合计
  269. FROM
  270. TP_PM_SCRAPPRODUCT P
  271. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  272. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  273. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  274. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  275. WHERE
  276. P.AUDITSTATUS = '1'
  277. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  278. AND P.ISREFIRE <> '6' --非重烧品
  279. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  280. AND P.AUDITDATE >= @DATEBEGIN@
  281. AND P.AUDITDATE < @DATEEND@
  282. AND P.PROCEDUREID NOT IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13)
  283. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  284. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  285. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  286. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  287. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  288. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  289. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  290. GROUP BY
  291. GROUPING SETS ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ), ( ) )
  292. ),
  293. 半成品损坯数撤销 AS
  294. (
  295. SELECT
  296. GROUPING_ID ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ) ) AS GID,
  297. NVL(TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ),'合计') AS 时间,
  298. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 半成品损坯数_一部大件,
  299. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 半成品损坯数_一部小件,
  300. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 半成品损坯数_一部全部,
  301. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 半成品损坯数_二部全部,
  302. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 半成品损坯数_三部全部,
  303. COUNT( * ) AS 合计
  304. FROM
  305. TP_PM_SCRAPPRODUCT P
  306. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  307. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  308. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  309. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  310. WHERE
  311. P.AUDITSTATUS = '1'
  312. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  313. AND P.ISREFIRE <> '6' --非重烧品
  314. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  315. AND P.BACKOUTTIME >= @DATEBEGIN@
  316. AND P.BACKOUTTIME < @DATEEND@
  317. AND P.PROCEDUREID NOT IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13)
  318. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  319. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  320. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  321. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  322. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  323. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  324. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  325. GROUP BY
  326. GROUPING SETS ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ), ( ) )
  327. ),
  328. 干补回收数 AS
  329. (
  330. SELECT
  331. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  332. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  333. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 干补回收数_一部大件,
  334. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 干补回收数_一部小件,
  335. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 干补回收数_一部全部,
  336. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 干补回收数_二部全部,
  337. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 干补回收数_三部全部,
  338. COUNT( * ) AS 干补回收数_合计
  339. FROM
  340. TP_PM_PRODUCTIONDATA P
  341. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  342. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  343. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  344. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  345. WHERE
  346. P.CREATETIME >= @DATEBEGIN@
  347. AND P.CREATETIME < @DATEEND@
  348. AND P.PROCEDUREID IN ( 18 ) -- 18 10-0 干补
  349. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  350. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  351. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  352. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  353. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  354. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  355. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  356. GROUP BY
  357. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  358. ),
  359. 干补回收数撤销 AS
  360. (
  361. SELECT
  362. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  363. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  364. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 干补回收数_一部大件,
  365. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 干补回收数_一部小件,
  366. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 干补回收数_一部全部,
  367. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 干补回收数_二部全部,
  368. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 干补回收数_三部全部,
  369. COUNT( * ) AS 干补回收数_合计
  370. FROM
  371. TP_PM_PRODUCTIONDATA P
  372. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  373. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  374. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  375. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  376. WHERE
  377. P.BACKOUTTIME >= @DATEBEGIN@
  378. AND P.BACKOUTTIME < @DATEEND@
  379. AND P.PROCEDUREID IN ( 18 ) -- 18 10-0 干补
  380. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  381. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  382. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  383. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  384. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  385. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  386. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  387. GROUP BY
  388. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  389. ),
  390. 出窑数 AS
  391. (
  392. SELECT
  393. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  394. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  395. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 出窑数_一部大件,
  396. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 出窑数_一部小件,
  397. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 出窑数_一部全部,
  398. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 出窑数_二部全部,
  399. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 出窑数_三部全部,
  400. COUNT( * ) AS 出窑数_合计
  401. FROM
  402. TP_PM_PRODUCTIONDATA P
  403. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  404. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  405. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  406. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  407. WHERE
  408. P.CREATETIME >= @DATEBEGIN@
  409. AND P.CREATETIME < @DATEEND@
  410. AND P.ISREFIRE = '0'
  411. AND P.islengbu = '0'
  412. AND (
  413. ( P.PROCEDUREID = 11 AND (P.CHECKFLAG = '1' or P.CHECKFLAG is null) ) -- 7-1成检出窑交接(用于一车间二车间)
  414. OR ( P.PROCEDUREID = 104 AND P.CHECKFLAG = '1' ) --3#成检交接(用于三车间)
  415. )
  416. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  417. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  418. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  419. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  420. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  421. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  422. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  423. GROUP BY
  424. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  425. ),
  426. 质量登记次品数 AS
  427. (
  428. SELECT
  429. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  430. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  431. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 质量登记次品数_一部大件,
  432. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部小件,
  433. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( P.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部全部,
  434. SUM(CASE WHEN P.ISREFIRE = 0 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_二部全部,
  435. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记次品数_三部全部,
  436. SUM( DECODE(P.ISREFIRE,0,1,0) ) AS 质量登记次品数_合计,
  437. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部大件,
  438. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部小件,
  439. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( P.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部全部,
  440. SUM(CASE WHEN P.ISREFIRE = 6 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_二部全部,
  441. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 重烧登记次品数_三部全部,
  442. SUM( DECODE(P.ISREFIRE,6,1,0) ) AS 重烧登记次品数_合计
  443. FROM (
  444. SELECT
  445. distinct P.CREATETIME,
  446. P.ISREFIRE,
  447. P.GROUTINGLINECODE,
  448. P.barcode,
  449. GT.GOODSTYPECODE
  450. FROM
  451. TP_PM_PRODUCTIONDATA P
  452. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  453. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  454. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  455. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  456. INNER JOIN TP_PM_DEFECT dfc on dfc.productiondataid=p.productiondataid
  457. WHERE P.MODELTYPE IN (-1, -4, -5)
  458. AND P.CHECKBATCHNO = 1
  459. AND P.VALUEFLAG = '1'
  460. --AND P.ISREFIRE = '0'
  461. AND P.GOODSLEVELTYPEID = 7
  462. AND P.CREATETIME >= @DATEBEGIN@
  463. AND P.CREATETIME < @DATEEND@
  464. AND length(p.kilncarbatchno) > 0
  465. -- AND P.PROCEDUREID IN ( 12, 59, 105 ) --8-1质量登记 8-2重烧质量登记 3#质量登记
  466. AND P.GOODSLEVELTYPEID = 7 --产品分级类别 (1无缺陷、2有缺陷、3废品、4正品、5副品、6重烧、7次品、9干补)
  467. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  468. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  469. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  470. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  471. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  472. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  473. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)) P
  474. GROUP BY
  475. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  476. ),
  477. 次品未判缺陷数 AS
  478. (
  479. SELECT
  480. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  481. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  482. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 次品未判缺陷数_一部大件,
  483. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 次品未判缺陷数_一部小件,
  484. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 次品未判缺陷数_一部全部,
  485. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 次品未判缺陷数_二部全部,
  486. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 次品未判缺陷数_三部全部,
  487. COUNT( * ) AS 次品未判缺陷数_合计
  488. FROM
  489. TP_PM_PRODUCTIONDATA P
  490. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  491. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  492. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  493. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  494. LEFT JOIN TP_PM_DEFECT TPD ON TPD.BARCODE = P.BARCODE
  495. WHERE
  496. P.CREATETIME >= @DATEBEGIN@
  497. AND P.CREATETIME < @DATEEND@
  498. AND P.GOODSLEVELTYPEID = 7
  499. AND P.VALUEFLAG = 1
  500. AND P.CHECKBATCHNO = 1
  501. AND TPD.defectname is null
  502. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  503. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  504. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  505. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  506. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  507. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  508. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  509. GROUP BY
  510. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  511. ),
  512. 质量登记次品数改判 AS
  513. (
  514. SELECT
  515. GROUPING_ID ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ) ) AS GID,
  516. NVL(TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ),'合计') AS 时间,
  517. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 质量登记次品数_一部大件,
  518. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部小件,
  519. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部全部,
  520. SUM(CASE WHEN P.ISREFIRE = 0 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_二部全部,
  521. SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记次品数_三部全部,
  522. SUM( DECODE(P.ISREFIRE,0,1,0) ) AS 质量登记次品数_合计,
  523. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部大件,
  524. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部小件,
  525. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR (INSTR( P.GROUTINGLINECODE, 'D' ) = 1 AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1) ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部全部,
  526. SUM(CASE WHEN P.ISREFIRE = 6 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_二部全部,
  527. SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 重烧登记次品数_三部全部,
  528. SUM( DECODE(P.ISREFIRE,6,1,0) ) AS 重烧登记次品数_合计
  529. FROM TP_PM_PRODUCTIONDATA P
  530. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  531. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  532. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  533. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  534. WHERE P.MODELTYPE IN (-1, -4, -5)
  535. AND P.CHECKBATCHNO = 1
  536. AND P.VALUEFLAG = '1'
  537. --AND P.ISREFIRE = '0'
  538. AND P.GOODSLEVELTYPEID = 7
  539. AND P.BACKOUTTIME >= @DATEBEGIN@
  540. AND P.BACKOUTTIME < @DATEEND@
  541. -- AND P.PROCEDUREID IN ( 12, 59, 105 ) --8-1质量登记 8-2重烧质量登记 3#质量登记
  542. AND P.GOODSLEVELTYPEID = 7 --产品分级类别 (1无缺陷、2有缺陷、3废品、4正品、5副品、6重烧、7次品、9干补)
  543. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  544. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  545. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  546. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  547. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  548. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  549. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  550. GROUP BY
  551. GROUPING SETS ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ), ( ) )
  552. ),
  553. 质量登记损坯数 AS
  554. (
  555. SELECT
  556. GROUPING_ID ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ) ) AS GID,
  557. NVL(TO_CHAR( P.AUDITDATE, 'YYYYMM' ),'合计') AS 时间,
  558. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部大件,
  559. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部小件,
  560. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部全部,
  561. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_二部全部,
  562. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_三部全部,
  563. COUNT( * ) AS 质量登记损坯数_数量
  564. FROM
  565. TP_PM_SCRAPPRODUCT P
  566. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  567. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  568. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  569. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  570. WHERE
  571. P.AUDITSTATUS = '1'
  572. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  573. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  574. AND P.AUDITDATE >= @DATEBEGIN@
  575. AND P.AUDITDATE < @DATEEND@
  576. AND P.PROCEDUREID IN (11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13)
  577. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  578. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  579. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  580. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  581. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  582. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  583. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  584. GROUP BY
  585. GROUPING SETS ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ), ( ) )
  586. ),
  587. 质量登记损坯数撤销 AS
  588. (
  589. SELECT
  590. GROUPING_ID ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ) ) AS GID,
  591. NVL(TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ),'合计') AS 时间,
  592. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部大件,
  593. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部小件,
  594. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部全部,
  595. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_二部全部,
  596. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_三部全部,
  597. COUNT( * ) AS 质量登记损坯数_数量
  598. FROM
  599. TP_PM_SCRAPPRODUCT P
  600. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  601. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  602. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  603. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  604. WHERE
  605. P.AUDITSTATUS = '1'
  606. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  607. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  608. AND P.BACKOUTTIME >= @DATEBEGIN@
  609. AND P.BACKOUTTIME < @DATEEND@
  610. AND P.PROCEDUREID IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13)
  611. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  612. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  613. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  614. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  615. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  616. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  617. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  618. GROUP BY
  619. GROUPING SETS ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ), ( ) )
  620. ),
  621. 重烧损坯数 AS
  622. (
  623. SELECT
  624. GROUPING_ID ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ) ) AS GID,
  625. NVL(TO_CHAR( P.AUDITDATE, 'YYYYMM' ),'合计') AS 时间,
  626. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 重烧损坯数_一部大件,
  627. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 重烧损坯数_一部小件,
  628. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧损坯数_一部全部,
  629. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧损坯数_二部全部,
  630. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 重烧损坯数_三部全部,
  631. COUNT( * ) AS 重烧损坯数_数量
  632. FROM
  633. TP_PM_SCRAPPRODUCT P
  634. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  635. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  636. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  637. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  638. WHERE
  639. P.AUDITSTATUS = '1'
  640. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  641. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  642. AND P.AUDITDATE >= @DATEBEGIN@
  643. AND P.AUDITDATE < @DATEEND@
  644. AND P.PROCEDUREID IN ( 57, 60, 14, 16, 113 ) --57 4-5重烧交接 60 4-6重烧补釉 14 4-7重烧登窑 16 6-2重烧卸窑 113 3#冷补
  645. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  646. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  647. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  648. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  649. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  650. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  651. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  652. GROUP BY
  653. GROUPING SETS ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ), ( ) )
  654. ),
  655. 重烧损坯数撤销 AS
  656. (
  657. SELECT
  658. GROUPING_ID ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ) ) AS GID,
  659. NVL(TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ),'合计') AS 时间,
  660. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 重烧损坯数_一部大件,
  661. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 重烧损坯数_一部小件,
  662. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧损坯数_一部全部,
  663. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧损坯数_二部全部,
  664. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 重烧损坯数_三部全部,
  665. COUNT( * ) AS 重烧损坯数_数量
  666. FROM
  667. TP_PM_SCRAPPRODUCT P
  668. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  669. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  670. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  671. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  672. WHERE
  673. P.AUDITSTATUS = '1'
  674. AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
  675. AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
  676. AND P.BACKOUTTIME >= @DATEBEGIN@
  677. AND P.BACKOUTTIME < @DATEEND@
  678. AND P.PROCEDUREID IN ( 57, 60, 14, 16, 113 ) --57 4-5重烧交接 60 4-6重烧补釉 14 4-7重烧登窑 16 6-2重烧卸窑 113 3#冷补
  679. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  680. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  681. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  682. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  683. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  684. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  685. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  686. GROUP BY
  687. GROUPING SETS ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ), ( ) )
  688. ),
  689. 回收数 AS
  690. (
  691. SELECT
  692. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  693. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  694. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 回收数_一部大件,
  695. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 回收数_一部小件,
  696. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收数_一部全部,
  697. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收数_二部全部,
  698. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 回收数_三部全部,
  699. COUNT( * ) AS 回收数_合计
  700. FROM
  701. TP_PM_PRODUCTIONDATA P
  702. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  703. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  704. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  705. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  706. WHERE
  707. P.CREATETIME >= @DATEBEGIN@
  708. AND P.CREATETIME < @DATEEND@
  709. AND P.PROCEDUREID IN ( 80 ) -- 80 10-2回收
  710. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  711. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  712. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  713. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  714. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  715. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  716. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  717. GROUP BY
  718. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  719. ),
  720. 回收数撤销 AS
  721. (
  722. SELECT
  723. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  724. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  725. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 回收数_一部大件,
  726. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 回收数_一部小件,
  727. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收数_一部全部,
  728. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收数_二部全部,
  729. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 回收数_三部全部,
  730. COUNT( * ) AS 回收数_合计
  731. FROM
  732. TP_PM_PRODUCTIONDATA P
  733. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  734. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  735. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  736. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  737. WHERE
  738. P.BACKOUTTIME >= @DATEBEGIN@
  739. AND P.BACKOUTTIME < @DATEEND@
  740. AND P.PROCEDUREID IN ( 80 ) -- 80 10-2回收
  741. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  742. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  743. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  744. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  745. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  746. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  747. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  748. GROUP BY
  749. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  750. ),
  751. 回收次品数 AS
  752. (
  753. SELECT
  754. GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
  755. NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
  756. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 THEN 1 ELSE 0 END ) AS 回收次品数_一部大件,
  757. SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) THEN 1 ELSE 0 END ) AS 回收次品数_一部小件,
  758. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收次品数_一部全部,
  759. SUM(CASE WHEN ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS 回收次品数_二部全部,
  760. SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 回收次品数_三部全部,
  761. COUNT( * ) AS 回收次品数_合计
  762. FROM
  763. TP_PM_PRODUCTIONDATA P
  764. INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  765. INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
  766. INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
  767. INNER JOIN TP_PC_GROUTINGLINE GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
  768. WHERE
  769. P.CREATETIME >= @DATEBEGIN@
  770. AND P.CREATETIME < @DATEEND@
  771. AND P.GOODSLEVELTYPEID = 7
  772. AND P.VALUEFLAG = 1
  773. AND P.CHECKBATCHNO = 1
  774. AND GDD.RECYCLINGFLAG = 1
  775. AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0')
  776. AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0')
  777. AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
  778. --AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
  779. AND (((@TESTMOULDFLAG@ = 0 AND GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ AND (GDD.TESTFORMFLAG IN(0,1) OR GDD.TESTFORMFLAG IS NULL ) )) OR
  780. (@TESTMOULDFLAG@ = 1 AND (GDD.TESTFORMFLAG = 2 OR GDD.TESTMOULDFLAG = @TESTMOULDFLAG@)) OR @TESTMOULDFLAG@ IS NULL OR @TESTMOULDFLAG@ = '')
  781. AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
  782. GROUP BY
  783. GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
  784. )
  785. SELECT
  786. 拼接日期.时间,
  787. NVL(注浆和成型报损和入库.注浆数_一部小件,0) - NVL(注浆和成型报损和入库.注浆数撤销_一部小件,0) AS 注浆数_一部小件,
  788. NVL(注浆和成型报损和入库.注浆数_一部大件,0) - NVL(注浆和成型报损和入库.注浆数撤销_一部大件,0) AS 注浆数_一部大件,
  789. NVL(注浆和成型报损和入库.注浆数_一部全部,0) - NVL(注浆和成型报损和入库.注浆数撤销_一部全部,0) AS 注浆数_一部全部,
  790. NVL(注浆和成型报损和入库.注浆数_二部全部,0) - NVL(注浆和成型报损和入库.注浆数撤销_二部全部,0) AS 注浆数_二部全部,
  791. NVL(注浆和成型报损和入库.注浆数_三部全部,0) - NVL(注浆和成型报损和入库.注浆数撤销_三部全部,0) AS 注浆数_三部全部,
  792. NVL(注浆和成型报损和入库.成型报损_一部小件,0) - NVL(注浆和成型报损和入库.成型报损撤销_一部小件,0) AS 成型报损_一部小件,
  793. NVL(注浆和成型报损和入库.成型报损_一部大件,0) - NVL(注浆和成型报损和入库.成型报损撤销_一部大件,0) AS 成型报损_一部大件,
  794. NVL(注浆和成型报损和入库.成型报损_一部全部,0) - NVL(注浆和成型报损和入库.成型报损撤销_一部全部,0) AS 成型报损_一部全部,
  795. NVL(注浆和成型报损和入库.成型报损_二部全部,0) - NVL(注浆和成型报损和入库.成型报损撤销_二部全部,0) AS 成型报损_二部全部,
  796. NVL(注浆和成型报损和入库.成型报损_三部全部,0) - NVL(注浆和成型报损和入库.成型报损撤销_三部全部,0) AS 成型报损_三部全部,
  797. NVL(半检不合格.半检不合格_一部小件,0) - NVL(半检不合格撤销.半检不合格_一部小件,0) AS 半检不合格_一部小件,
  798. NVL(半检不合格.半检不合格_一部大件,0) - NVL(半检不合格撤销.半检不合格_一部大件,0) AS 半检不合格_一部大件,
  799. NVL(半检不合格.半检不合格_一部全部,0) - NVL(半检不合格撤销.半检不合格_一部全部,0) AS 半检不合格_一部全部,
  800. NVL(半检不合格.半检不合格_二部全部,0) - NVL(半检不合格撤销.半检不合格_二部全部,0) AS 半检不合格_二部全部,
  801. NVL(半检不合格.半检不合格_三部全部,0) - NVL(半检不合格撤销.半检不合格_三部全部,0) AS 半检不合格_三部全部,
  802. NVL(复检不合格.复检不合格_一部小件,0) - NVL(复检不合格撤销.复检不合格_一部小件,0) AS 复检不合格_一部小件,
  803. NVL(复检不合格.复检不合格_一部大件,0) - NVL(复检不合格撤销.复检不合格_一部大件,0) AS 复检不合格_一部大件,
  804. NVL(复检不合格.复检不合格_一部全部,0) - NVL(复检不合格撤销.复检不合格_一部全部,0) AS 复检不合格_一部全部,
  805. NVL(复检不合格.复检不合格_二部全部,0) - NVL(复检不合格撤销.复检不合格_二部全部,0) AS 复检不合格_二部全部,
  806. NVL(复检不合格.复检不合格_三部全部,0) - NVL(复检不合格撤销.复检不合格_三部全部,0) AS 复检不合格_三部全部,
  807. NVL(半成品损坯数.半成品损坯数_一部小件,0) - NVL(半成品损坯数撤销.半成品损坯数_一部小件,0) AS 半成品损坯数_一部小件,
  808. NVL(半成品损坯数.半成品损坯数_一部大件,0) - NVL(半成品损坯数撤销.半成品损坯数_一部大件,0) AS 半成品损坯数_一部大件,
  809. NVL(半成品损坯数.半成品损坯数_一部全部,0) - NVL(半成品损坯数撤销.半成品损坯数_一部全部,0) AS 半成品损坯数_一部全部,
  810. NVL(半成品损坯数.半成品损坯数_二部全部,0) - NVL(半成品损坯数撤销.半成品损坯数_二部全部,0) AS 半成品损坯数_二部全部,
  811. NVL(半成品损坯数.半成品损坯数_三部全部,0) - NVL(半成品损坯数撤销.半成品损坯数_三部全部,0) AS 半成品损坯数_三部全部,
  812. NVL(干补回收数.干补回收数_一部小件,0) - NVL(干补回收数撤销.干补回收数_一部小件,0) AS 干补回收数_一部小件,
  813. NVL(干补回收数.干补回收数_一部大件,0) - NVL(干补回收数撤销.干补回收数_一部大件,0) AS 干补回收数_一部大件,
  814. NVL(干补回收数.干补回收数_一部全部,0) - NVL(干补回收数撤销.干补回收数_一部全部,0) AS 干补回收数_一部全部,
  815. NVL(干补回收数.干补回收数_二部全部,0) - NVL(干补回收数撤销.干补回收数_二部全部,0) AS 干补回收数_二部全部,
  816. NVL(干补回收数.干补回收数_三部全部,0) - NVL(干补回收数撤销.干补回收数_三部全部,0) AS 干补回收数_三部全部,
  817. --不做冲减
  818. NVL( 出窑数.出窑数_一部小件, 0 ) AS 出窑数_一部小件,
  819. NVL( 出窑数.出窑数_一部大件, 0 ) AS 出窑数_一部大件,
  820. NVL( 出窑数.出窑数_一部全部, 0 ) AS 出窑数_一部全部,
  821. NVL( 出窑数.出窑数_二部全部, 0 ) AS 出窑数_二部全部,
  822. NVL( 出窑数.出窑数_三部全部, 0 ) AS 出窑数_三部全部,
  823. NVL(质量登记次品数.质量登记次品数_一部小件,0) - NVL(质量登记次品数改判.质量登记次品数_一部小件,0) AS 质量登记次品数_一部小件,
  824. NVL(质量登记次品数.质量登记次品数_一部大件,0) - NVL(质量登记次品数改判.质量登记次品数_一部大件,0) AS 质量登记次品数_一部大件,
  825. NVL(质量登记次品数.质量登记次品数_一部全部,0) - NVL(质量登记次品数改判.质量登记次品数_一部全部,0) AS 质量登记次品数_一部全部,
  826. NVL(质量登记次品数.质量登记次品数_二部全部,0) - NVL(质量登记次品数改判.质量登记次品数_二部全部,0) AS 质量登记次品数_二部全部,
  827. NVL(质量登记次品数.质量登记次品数_三部全部,0) - NVL(质量登记次品数改判.质量登记次品数_三部全部,0) AS 质量登记次品数_三部全部,
  828. NVL(质量登记次品数.重烧登记次品数_一部小件,0) - NVL(质量登记次品数改判.重烧登记次品数_一部小件,0) AS 重烧登记次品数_一部小件,
  829. NVL(质量登记次品数.重烧登记次品数_一部大件,0) - NVL(质量登记次品数改判.重烧登记次品数_一部大件,0) AS 重烧登记次品数_一部大件,
  830. NVL(质量登记次品数.重烧登记次品数_一部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_一部全部,0) AS 重烧登记次品数_一部全部,
  831. NVL(质量登记次品数.重烧登记次品数_二部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_二部全部,0) AS 重烧登记次品数_二部全部,
  832. NVL(质量登记次品数.重烧登记次品数_三部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_三部全部,0) AS 重烧登记次品数_三部全部,
  833. NVL(次品未判缺陷数.次品未判缺陷数_一部小件,0) AS 次品未判缺陷数_一部小件,
  834. NVL(次品未判缺陷数.次品未判缺陷数_一部大件,0) AS 次品未判缺陷数_一部大件,
  835. NVL(次品未判缺陷数.次品未判缺陷数_一部全部,0) AS 次品未判缺陷数_一部全部,
  836. NVL(次品未判缺陷数.次品未判缺陷数_二部全部,0) AS 次品未判缺陷数_二部全部,
  837. NVL(次品未判缺陷数.次品未判缺陷数_三部全部,0) AS 次品未判缺陷数_三部全部,
  838. NVL(质量登记损坯数.质量登记损坯数_一部小件,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部小件,0) AS 质量登记损坯数_一部小件,
  839. NVL(质量登记损坯数.质量登记损坯数_一部大件,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部大件,0) AS 质量登记损坯数_一部大件,
  840. NVL(质量登记损坯数.质量登记损坯数_一部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部全部,0) AS 质量登记损坯数_一部全部,
  841. NVL(质量登记损坯数.质量登记损坯数_二部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_二部全部,0) AS 质量登记损坯数_二部全部,
  842. NVL(质量登记损坯数.质量登记损坯数_三部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_三部全部,0) AS 质量登记损坯数_三部全部,
  843. NVL(重烧损坯数.重烧损坯数_一部小件,0) - NVL(重烧损坯数撤销.重烧损坯数_一部小件,0) AS 重烧损坯数_一部小件,
  844. NVL(重烧损坯数.重烧损坯数_一部大件,0) - NVL(重烧损坯数撤销.重烧损坯数_一部大件,0) AS 重烧损坯数_一部大件,
  845. NVL(重烧损坯数.重烧损坯数_一部全部,0) - NVL(重烧损坯数撤销.重烧损坯数_一部全部,0) AS 重烧损坯数_一部全部,
  846. NVL(重烧损坯数.重烧损坯数_二部全部,0) - NVL(重烧损坯数撤销.重烧损坯数_二部全部,0) AS 重烧损坯数_二部全部,
  847. NVL(重烧损坯数.重烧损坯数_三部全部,0) - NVL(重烧损坯数撤销.重烧损坯数_三部全部,0) AS 重烧损坯数_三部全部,
  848. NVL(回收数.回收数_一部小件,0) - NVL(回收数撤销.回收数_一部小件,0) AS 回收数_一部小件,
  849. NVL(回收数.回收数_一部大件,0) - NVL(回收数撤销.回收数_一部大件,0) AS 回收数_一部大件,
  850. NVL(回收数.回收数_一部全部,0) - NVL(回收数撤销.回收数_一部全部,0) AS 回收数_一部全部,
  851. NVL(回收数.回收数_二部全部,0) - NVL(回收数撤销.回收数_二部全部,0) AS 回收数_二部全部,
  852. NVL(回收数.回收数_三部全部,0) - NVL(回收数撤销.回收数_三部全部,0) AS 回收数_三部全部,
  853. NVL(回收次品数.回收次品数_一部小件,0) AS 回收次品数_一部小件,
  854. NVL(回收次品数.回收次品数_一部大件,0) AS 回收次品数_一部大件,
  855. NVL(回收次品数.回收次品数_一部全部,0) AS 回收次品数_一部全部,
  856. NVL(回收次品数.回收次品数_二部全部,0) AS 回收次品数_二部全部,
  857. NVL(回收次品数.回收次品数_三部全部,0) AS 回收次品数_三部全部,
  858. NVL(注浆和成型报损和入库.入库数_一部小件,0) - NVL(注浆和成型报损和入库.入库数撤销_一部小件,0) AS 入库数_一部小件,
  859. NVL(注浆和成型报损和入库.入库数_一部大件,0) - NVL(注浆和成型报损和入库.入库数撤销_一部大件,0) AS 入库数_一部大件,
  860. NVL(注浆和成型报损和入库.入库数_一部全部,0) - NVL(注浆和成型报损和入库.入库数撤销_一部全部,0) AS 入库数_一部全部,
  861. NVL(注浆和成型报损和入库.入库数_二部全部,0) - NVL(注浆和成型报损和入库.入库数撤销_二部全部,0) AS 入库数_二部全部,
  862. NVL(注浆和成型报损和入库.入库数_三部全部,0) - NVL(注浆和成型报损和入库.入库数撤销_三部全部,0) AS 入库数_三部全部
  863. FROM
  864. 拼接日期
  865. LEFT JOIN 注浆和成型报损和入库 ON 拼接日期.时间 = 注浆和成型报损和入库.时间
  866. LEFT JOIN 半检不合格 ON 拼接日期.时间 = 半检不合格.时间
  867. LEFT JOIN 半检不合格撤销 ON 拼接日期.时间 = 半检不合格撤销.时间
  868. LEFT JOIN 复检不合格 ON 拼接日期.时间 = 复检不合格.时间
  869. LEFT JOIN 复检不合格撤销 ON 拼接日期.时间 = 复检不合格撤销.时间
  870. LEFT JOIN 半成品损坯数 ON 拼接日期.时间 = 半成品损坯数.时间
  871. LEFT JOIN 半成品损坯数撤销 ON 拼接日期.时间 = 半成品损坯数撤销.时间
  872. LEFT JOIN 干补回收数 ON 拼接日期.时间 = 干补回收数.时间
  873. LEFT JOIN 干补回收数撤销 ON 拼接日期.时间 = 干补回收数撤销.时间
  874. LEFT JOIN 出窑数 ON 拼接日期.时间 = 出窑数.时间
  875. LEFT JOIN 质量登记次品数 ON 拼接日期.时间 = 质量登记次品数.时间
  876. LEFT JOIN 质量登记次品数改判 ON 拼接日期.时间 = 质量登记次品数改判.时间
  877. LEFT JOIN 质量登记损坯数 ON 拼接日期.时间 = 质量登记损坯数.时间
  878. LEFT JOIN 质量登记损坯数撤销 ON 拼接日期.时间 = 质量登记损坯数撤销.时间
  879. LEFT JOIN 重烧损坯数 ON 拼接日期.时间 = 重烧损坯数.时间
  880. LEFT JOIN 重烧损坯数撤销 ON 拼接日期.时间 = 重烧损坯数撤销.时间
  881. LEFT JOIN 回收数 ON 拼接日期.时间 = 回收数.时间
  882. LEFT JOIN 回收数撤销 ON 拼接日期.时间 = 回收数撤销.时间
  883. LEFT JOIN 回收次品数 ON 拼接日期.时间 = 回收次品数.时间
  884. LEFT JOIN 次品未判缺陷数 ON 拼接日期.时间 = 次品未判缺陷数.时间
  885. ORDER BY
  886. 拼接日期.时间
  887. ".Replace("YYYYMM",totalMaster)
  888. .Replace("{GOODSID}",goodsId)
  889. .Replace("{GROUTINGLINEID}",groutinglineId)
  890. .Replace("{DATESTR}",datestr);
  891. //获取查询条件
  892. List<CDAParameter> sqlPara = new List<CDAParameter>();
  893. sqlPara.Add(new CDAParameter("DATEBEGIN", dateBegin, DataType.DateTime));
  894. sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
  895. sqlPara.Add(new CDAParameter("HIGHPRESSUREFLAG",highFlag));
  896. sqlPara.Add(new CDAParameter("TESTMOULDFLAG",testType));
  897. sqlPara.Add(new CDAParameter("TESTFLAG",testFlagMaster));
  898. //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
  899. //行列互换
  900. //===============================================================================
  901. DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
  902. DataTable dt2 = new DataTable();
  903. dt2.Columns.Add("部门序号");
  904. dt2.Columns.Add("部门");
  905. dt2.Columns.Add("工序");
  906. for (int i = 0; i < dt.Rows.Count; i++) dt2.Columns.Add("日期" + dt.Rows[i]["时间"].ToString());
  907. for (int j = 1; j < dt.Columns.Count; j++)
  908. {
  909. DataRow dr = dt2.NewRow();
  910. dr["部门序号"] = dt.Columns[j].ColumnName.Substring(dt.Columns[j].ColumnName.IndexOf("_")+1)
  911. .Replace("一部小件","1").Replace("一部大件","2").Replace("一部全部","3")
  912. .Replace("二部全部","4").Replace("三部全部","5");
  913. dr["部门"] = dt.Columns[j].ColumnName.Substring(dt.Columns[j].ColumnName.IndexOf("_")+1);
  914. dr["工序"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
  915. for (int i = 0; i < dt.Rows.Count; i++)
  916. {
  917. dr["日期" + dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
  918. }
  919. dt2.Rows.Add(dr);
  920. }
  921. //裸瓷包装数
  922. string strsql3 = @"SELECT COUNT(DISTINCT P.BARCODE) as count ,TO_CHAR( TRUNC( P.CREATETIME ) , 'YYYYMMDD' ) as time
  923. FROM TP_PM_PRODUCTIONDATA P
  924. WHERE P.PROCEDUREID =159
  925. AND p.VALUEFLAG=1
  926. AND P.CREATETIME >= to_date('"+dateBegin+"','YYYY-MM-DD HH24:MI:SS')"+
  927. "AND P.CREATETIME < to_date('"+dateEnd+"','YYYY-MM-DD HH24:MI:SS')"+
  928. "GROUP BY TRUNC(P.CREATETIME) ORDER BY time";
  929. DataTable dt3 = conn.ExecuteDatatable(strsql3);
  930. DataRow dr1 = dt2.NewRow();
  931. dr1["部门序号"] = "6";
  932. dr1["部门"] = "裸瓷包装数";
  933. dr1["工序"] = "裸瓷包装";
  934. decimal count = 0;
  935. for (int i = 0; i <dt3.Rows.Count; i++)
  936. {
  937. var num = dt3.AsEnumerable().Where(ex => ex.Field<string>("TIME") == dt.Rows[i]["时间"].ToString()).Select(ex => ex.Field<decimal>("COUNT")).FirstOrDefault();
  938. dr1["日期" + dt.Rows[i]["时间"].ToString()] = num;
  939. count += num;
  940. }
  941. dr1["日期合计"] =count.ToString();
  942. dt2.Rows.Add(dr1);
  943. DataView dv = dt2.DefaultView;
  944. dv.Sort = "部门序号";
  945. dt2.Columns.Remove("部门序号");
  946. dt2 = dv.ToTable();
  947. context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
  948. }
  949. //子表1
  950. if(context.Request["m"].ToString()=="1")
  951. {
  952. //读取报表数据
  953. string sqlStr = @"
  954. SELECT
  955. '测试子表1' AS 测试列1,
  956. '测试子表1' AS 测试列2,
  957. '测试子表1' AS 测试列3,
  958. '测试子表1' AS 测试列4,
  959. '测试子表1' AS 测试列5
  960. FROM
  961. DUAL
  962. ";
  963. List<CDAParameter> sqlPara = new List<CDAParameter>();
  964. //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
  965. JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
  966. context.Response.Write(data.ToJson());
  967. }
  968. //子表2
  969. if(context.Request["m"].ToString()=="2")
  970. {
  971. //读取报表数据
  972. string sqlStr = @"
  973. SELECT
  974. '测试子表2' AS 测试列1,
  975. '测试子表2' AS 测试列2,
  976. '测试子表2' AS 测试列3,
  977. '测试子表2' AS 测试列4,
  978. '测试子表2' AS 测试列5
  979. FROM
  980. DUAL
  981. ";
  982. List<CDAParameter> sqlPara = new List<CDAParameter>();
  983. //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
  984. JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
  985. context.Response.Write(data.ToJson());
  986. }
  987. }
  988. }
  989. public bool IsReusable
  990. {
  991. get
  992. {
  993. return false;
  994. }
  995. }
  996. }