rpt.ashx 74 KB

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