rpt.ashx 74 KB

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