demo.ashx 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816
  1. <%@ WebHandler Language="C#" Class="demo" %>
  2. using Curtain.DataAccess;
  3. using DK.XuWei.WebMes;
  4. using Newtonsoft.Json.Linq;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.Web;
  9. using System.Web.SessionState;
  10. public class demo : IHttpHandler {
  11. public void ProcessRequest (HttpContext context){
  12. context.Response.ContentType = "text/plain";
  13. context.Response.ContentType = "text/plain";
  14. using (IDataAccess conn = DataAccess.Create())
  15. {
  16. //回收次品统计
  17. if (context.Request["m"].ToString() == "cp")
  18. {
  19. string sqlStr = @"
  20. SELECT
  21. T1.CREATETIME || '月' 日期,
  22. CASE WHEN T2.数量 IS NULL THEN 0 ELSE T2.数量 END 数量
  23. FROM
  24. (
  25. SELECT
  26. 0 数量,
  27. substr(TO_CHAR(add_months( to_date( to_char( trunc( SYSDATE, 'mm' ) + 1, 'yyyy-mm' ), 'yyyy-mm' ), - ( ROWNUM - 1 ) ),'yyyy-mm' ),6,2 ) AS CREATETIME
  28. FROM DUAL CONNECT BY ROWNUM <= 6 ORDER BY
  29. substr(TO_CHAR(add_months( to_date( to_char( trunc( SYSDATE, 'mm' ) + 1, 'yyyy-mm' ), 'yyyy-mm' ), - ( ROWNUM - 1 ) ),'yyyy-mm' ),6,2 )
  30. ) T1
  31. LEFT JOIN (
  32. SELECT
  33. substr( T.CREATETIME, 5, 2 ) AS CREATETIME,
  34. T.count AS 数量
  35. FROM
  36. (
  37. SELECT
  38. to_char( TPPD.CREATETIME, 'yyyymm' ) CREATETIME,
  39. COUNT( * ) count
  40. FROM
  41. TP_PM_PRODUCTIONDATA TPPD
  42. WHERE
  43. TPPD.CREATETIME >= ADD_MONTHS( SYSDATE,- 6 )
  44. AND TPPD.GOODSLEVELTYPEID = 7
  45. AND TPPD.VALUEFLAG = 1
  46. AND TPPD.PROCEDUREID = 80
  47. GROUP BY
  48. to_char( TPPD.CREATETIME, 'yyyymm' )
  49. ORDER BY
  50. COUNT( * ) DESC
  51. ) T
  52. WHERE
  53. ROWNUM < 7
  54. ORDER BY
  55. substr( T.CREATETIME, 5, 2 )
  56. ) T2 ON T1.CREATETIME = T2.CREATETIME
  57. ";
  58. //直接获取不分页数据
  59. DataTable dt = conn.ExecuteDatatable(sqlStr);
  60. string jsonStr = new JsonResult(dt).ToJson();
  61. context.Response.Write(jsonStr);
  62. }
  63. //今日次品明细数据
  64. if (context.Request["m"].ToString() == "MonthTableDetail")
  65. {
  66. string sqlStr = @"SELECT
  67. TPGL.BARCODE 产品条码,
  68. TPGL.GOODSCODE 产品编码,
  69. to_char(TPGL.GROUTINGDATE,'yyyy-mm-dd') 注浆日期,
  70. TPGL.GROUTINGMOULDCODE 成型线模具,
  71. TPGL.GLAZINGROOM 施釉产线,
  72. TPPD.KILNCARCODE 窑炉编号,
  73. TPD.USERCODE 责任工号,
  74. TMDT.DEFECTTYPENAME 缺陷类别,
  75. TMD.S_NAME 缺陷名称,
  76. TPD.DEFECTPOSITIONNAME 缺陷位置
  77. FROM
  78. TP_PM_GROUTINGDAILYDETAIL TPGL
  79. LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPGL.BARCODE = TPPD.BARCODE
  80. LEFT JOIN TP_PM_DEFECT TPD ON TPGL.BARCODE = TPD.BARCODE
  81. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  82. LEFT JOIN TP_MST_DEFECTTYPE TMDT ON TMD.DEFECTTYPEID = TMDT.DEFECTTYPEID
  83. WHERE
  84. TPPD.CREATETIME >= TRUNC( SYSDATE)
  85. AND TPPD.PROCEDUREID IN (125)
  86. AND TPPD.KILNCODE = 'TK3'
  87. AND TPPD.VALUEFLAG = 1
  88. AND TPPD.GOODSLEVELTYPEID = 7
  89. AND TPD.USERCODE IS NOT NULL";
  90. //直接获取不分页数据
  91. DataTable dt = conn.ExecuteDatatable(sqlStr);
  92. string jsonStr = new JsonResult(dt).ToJson();
  93. context.Response.Write(jsonStr);
  94. }
  95. //工号产量柱状图
  96. if (context.Request["m"].ToString() == "Ydefect")
  97. {
  98. string sqlStr = @"SELECT
  99. T.缺陷名称,
  100. T.数量
  101. FROM(
  102. SELECT
  103. TMD.S_NAME 缺陷名称,
  104. COUNT(DISTINCT TPD.BARCODE) 数量
  105. FROM
  106. TP_PM_PRODUCTIONDATA TPPD
  107. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  108. LEFT JOIN TP_MST_DEFECT TMD ON TPD.defectid = TMD.defectid
  109. WHERE
  110. --TPPD.CHECKBATCHNO = 1
  111. --AND TPPD.ISREFIRE = 0
  112. TPPD.CREATETIME >= TRUNC( SYSDATE-6 )
  113. --AND TPPD.GOODSLEVELID IN (6,7)
  114. AND TPD.DEFECTDEDUCTIONNUM >= 1
  115. and TPPD.PROCEDUREID = 123
  116. GROUP BY TMD.S_NAME
  117. ORDER BY COUNT(DISTINCT TPD.BARCODE) DESC)T WHERE ROWNUM < 4";
  118. //直接获取不分页数据
  119. DataTable dt = conn.ExecuteDatatable(sqlStr);
  120. string jsonStr = new JsonResult(dt).ToJson();
  121. context.Response.Write(jsonStr);
  122. }
  123. //七日次品缺陷扇形图
  124. if (context.Request["m"].ToString() == "defect")
  125. {
  126. string sqlStr = @"SELECT
  127. T.S_NAME AS 缺陷名称,
  128. T.count AS 数量
  129. FROM
  130. (
  131. SELECT
  132. TMD.S_NAME,
  133. COUNT( TPPD.BARCODE ) count
  134. FROM
  135. TP_PM_DEFECT TPD
  136. LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPPD.BARCODE = TPD.BARCODE
  137. LEFT JOIN TP_MST_DEFECT TMD ON TPD.defectcode = TMD.defectcode
  138. WHERE
  139. TPPD.CREATETIME >= TRUNC( SYSDATE)
  140. AND TPPD.GOODSLEVELTYPEID = 7
  141. AND TPPD.VALUEFLAG = 1
  142. AND TPPD.KILNCODE = 'TK3'
  143. AND TPPD.CHECKBATCHNO = 1
  144. GROUP BY
  145. TMD.S_NAME
  146. ORDER BY
  147. COUNT( * ) DESC
  148. )T
  149. WHERE ROWNUM < 4";
  150. //直接获取不分页数据
  151. DataTable dt = conn.ExecuteDatatable(sqlStr);
  152. string jsonStr = new JsonResult(dt).ToJson();
  153. context.Response.Write(jsonStr);
  154. }
  155. //缺陷位置扇形图
  156. if (context.Request["m"].ToString() == "defectb")
  157. {
  158. string sqlStr = @"SELECT
  159. T.S_NAME AS 缺陷名称,
  160. T.count AS 数量
  161. FROM
  162. (
  163. SELECT
  164. TMD.S_NAME,
  165. COUNT( TMD.S_NAME ) count
  166. FROM
  167. TP_PM_PRODUCTIONDATA TPPD
  168. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  169. LEFT JOIN TP_MST_DEFECTPOSITION TMD ON TPD.DEFECTPOSITIONID = TMD.DEFECTPOSITIONID
  170. WHERE
  171. TPPD.CREATETIME >= TRUNC( SYSDATE)
  172. AND TPPD.GOODSLEVELTYPEID = 7
  173. AND TPPD.VALUEFLAG = 1
  174. AND TPPD.KILNCODE = 'TK3'
  175. AND TPPD.CHECKBATCHNO = 1
  176. GROUP BY
  177. TMD.S_NAME
  178. ORDER BY
  179. COUNT( TMD.S_NAME ) DESC
  180. )T
  181. WHERE ROWNUM < 4";
  182. //直接获取不分页数据
  183. DataTable dt = conn.ExecuteDatatable(sqlStr);
  184. string jsonStr = new JsonResult(dt).ToJson();
  185. context.Response.Write(jsonStr);
  186. }
  187. //七日次品折线图
  188. if (context.Request["m"].ToString() == "zx")
  189. {
  190. string sqlStr = @"SELECT TT1.count AS 次品数量,TO_CHAR((TT1.COUNT/TT.COUNT)* 100,'9,990.00') || '%' AS 次品率,SUBSTR(TT1.CREATETIME, 5, 2 )||'.'||SUBSTR(TT1.CREATETIME, 7, 2 ) AS 日期 FROM(
  191. SELECT T.CREATETIME,T.count FROM(
  192. SELECT
  193. to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
  194. COUNT( * ) count
  195. FROM
  196. TP_PM_PRODUCTIONDATA TPPD
  197. WHERE
  198. TPPD.PROCEDUREID = 104
  199. AND TPPD.ISREFIRE = 0
  200. AND TPPD.KILNCODE = 'TK3'
  201. AND TPPD.VALUEFLAG = 1
  202. AND TPPD.CREATETIME >= TO_CHAR( SYSDATE -6) GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC )T)TT
  203. FULL JOIN
  204. (
  205. SELECT T1.CREATETIME,T1.count FROM(
  206. SELECT
  207. to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
  208. COUNT( DISTINCT TPPD.BARCODE ) count
  209. FROM
  210. TP_PM_PRODUCTIONDATA TPPD
  211. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  212. WHERE
  213. TPPD.PROCEDUREID = 125
  214. AND TPPD.GOODSLEVELTYPEID = 7
  215. AND TPPD.KILNCODE = 'TK3'
  216. AND TPPD.VALUEFLAG = 1
  217. AND TPD.DEFECTDEDUCTIONNUM >= 1
  218. AND TPPD.CHECKBATCHNO = 1
  219. AND TPD.DEFECTNAME IS NOT NULL
  220. AND TPPD.CREATETIME >= TO_CHAR( SYSDATE -6 )
  221. GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ) T1
  222. )TT1 ON TT.CREATETIME = TT1.CREATETIME";
  223. //直接获取不分页数据
  224. DataTable dt = conn.ExecuteDatatable(sqlStr);
  225. string jsonStr = new JsonResult(dt).ToJson();
  226. context.Response.Write(jsonStr);
  227. }
  228. //二检次品缺陷信息
  229. if (context.Request["m"].ToString() == "MonthTabletwo")
  230. {
  231. string sqlStr = @" SELECT
  232. H.缺陷名称,
  233. H.出窑数,
  234. H.缺陷数,
  235. H.缺陷占比,
  236. H.同月比,
  237. H.上月比,
  238. CASE WHEN H.上月比 > H.缺陷占比 THEN '下降↓'
  239. ELSE '上升↑'
  240. END 对比趋势
  241. FROM(
  242. SELECT
  243. TT.DEFECTNAME 缺陷名称,
  244. TT2.COUNT 出窑数,
  245. TT.COUNT 缺陷数,
  246. TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'9,990.00') || '%' AS 缺陷占比,
  247. TT3.COUNT 去年缺陷数量,
  248. TT4.COUNT 上个月缺陷数量,
  249. TT5.COUNT 去年出窑数,
  250. TT6.COUNT 上个月出窑数,
  251. TO_CHAR((TT3.COUNT/TT5.COUNT)* 100,'9,990.00') || '%' AS 同月比,
  252. TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' AS 上月比
  253. FROM(
  254. SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
  255. SELECT
  256. TMD.S_NAME DEFECTNAME,
  257. TMD.DEFECTID,
  258. COUNT( * ) count
  259. FROM
  260. TP_PM_PRODUCTIONDATA TPPD
  261. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  262. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  263. WHERE
  264. TPPD.PROCEDUREID = 125
  265. AND TPPD.GOODSLEVELTYPEID = 7
  266. AND TPD.VALUEFLAG = 1
  267. AND TPPD.VALUEFLAG = 1
  268. AND TPPD.KILNCODE = 'TK3'
  269. AND TMD.VALUEFLAG = 1
  270. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  271. GROUP BY
  272. TMD.S_NAME,TMD.DEFECTID
  273. ORDER BY
  274. count DESC)T WHERE ROWNUM < 6)TT
  275. FULL JOIN(
  276. SELECT
  277. ROWNUM id,
  278. T2.count
  279. FROM(
  280. SELECT
  281. COUNT(*) count
  282. FROM
  283. TP_PM_PRODUCTIONDATA TPPD
  284. WHERE
  285. TPPD.PROCEDUREID = 104
  286. AND TPPD.ISREFIRE = 0
  287. AND KILNCODE = 'TK3'
  288. AND TPPD.VALUEFLAG = 1
  289. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  290. UNION ALL
  291. SELECT
  292. COUNT(*)
  293. FROM
  294. TP_PM_PRODUCTIONDATA TPPD
  295. WHERE
  296. TPPD.PROCEDUREID = 104
  297. AND TPPD.VALUEFLAG = 1
  298. AND TPPD.ISREFIRE = 0
  299. AND KILNCODE = 'TK3'
  300. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  301. UNION ALL
  302. SELECT
  303. COUNT(*)
  304. FROM
  305. TP_PM_PRODUCTIONDATA TPPD
  306. WHERE
  307. TPPD.PROCEDUREID = 104
  308. AND TPPD.VALUEFLAG = 1
  309. AND TPPD.ISREFIRE = 0
  310. AND KILNCODE = 'TK3'
  311. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  312. UNION ALL
  313. SELECT
  314. COUNT(*)
  315. FROM
  316. TP_PM_PRODUCTIONDATA TPPD
  317. WHERE
  318. TPPD.PROCEDUREID = 104
  319. AND TPPD.ISREFIRE = 0
  320. AND TPPD.VALUEFLAG = 1
  321. AND KILNCODE = 'TK3'
  322. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  323. UNION ALL
  324. SELECT
  325. COUNT(*)
  326. FROM
  327. TP_PM_PRODUCTIONDATA TPPD
  328. WHERE
  329. TPPD.PROCEDUREID = 104
  330. AND TPPD.ISREFIRE = 0
  331. AND KILNCODE = 'TK3'
  332. AND TPPD.VALUEFLAG = 1
  333. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))T2)TT2 ON TT.id = TT2.id
  334. FULL JOIN(
  335. SELECT T3.DEFECTID,T3.DEFECTNAME,T3.count FROM (
  336. SELECT
  337. TMD.S_NAME DEFECTNAME,
  338. TMD.DEFECTID,
  339. COUNT( * ) count
  340. FROM
  341. TP_PM_PRODUCTIONDATA TPPD
  342. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  343. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  344. WHERE
  345. TPPD.PROCEDUREID IN (125,105)
  346. AND TPPD.GOODSLEVELTYPEID = 7
  347. AND TPD.VALUEFLAG = 1
  348. AND TPPD.VALUEFLAG = 1
  349. AND TPPD.KILNCODE = 'TK3'
  350. AND TMD.VALUEFLAG = 1
  351. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  352. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  353. GROUP BY
  354. TMD.S_NAME,TMD.DEFECTID
  355. )T3 )TT3 ON TT.DEFECTID = TT3.DEFECTID
  356. FULL JOIN(
  357. SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
  358. SELECT
  359. TMD.S_NAME DEFECTNAME,
  360. COUNT( * ) count
  361. FROM
  362. TP_PM_PRODUCTIONDATA TPPD
  363. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  364. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  365. WHERE
  366. TPPD.PROCEDUREID IN (125,105)
  367. AND TPPD.GOODSLEVELTYPEID = 7
  368. AND TPPD.KILNCODE = 'TK3'
  369. AND TPD.VALUEFLAG = 1
  370. AND TPPD.VALUEFLAG = 1
  371. AND TMD.VALUEFLAG = 1
  372. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  373. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  374. GROUP BY
  375. TMD.S_NAME
  376. ORDER BY
  377. count DESC)T4 WHERE ROWNUM < 6)TT4 ON TT.id = TT4.id
  378. FULL JOIN(
  379. SELECT
  380. ROWNUM id,
  381. T5.count
  382. FROM(
  383. SELECT
  384. COUNT(*) count
  385. FROM
  386. TP_PM_PRODUCTIONDATA TPPD
  387. WHERE
  388. TPPD.PROCEDUREID = 104
  389. AND TPPD.ISREFIRE = 0
  390. AND KILNCODE = 'TK3'
  391. AND TPPD.VALUEFLAG = 1
  392. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  393. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  394. UNION ALL
  395. SELECT
  396. COUNT(*)
  397. FROM
  398. TP_PM_PRODUCTIONDATA TPPD
  399. WHERE
  400. TPPD.PROCEDUREID = 104
  401. AND TPPD.ISREFIRE = 0
  402. AND KILNCODE = 'TK3'
  403. AND TPPD.VALUEFLAG = 1
  404. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  405. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  406. UNION ALL
  407. SELECT
  408. COUNT(*)
  409. FROM
  410. TP_PM_PRODUCTIONDATA TPPD
  411. WHERE
  412. TPPD.PROCEDUREID = 104
  413. AND TPPD.ISREFIRE = 0
  414. AND KILNCODE = 'TK3'
  415. AND TPPD.VALUEFLAG = 1
  416. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  417. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  418. UNION ALL
  419. SELECT
  420. COUNT(*)
  421. FROM
  422. TP_PM_PRODUCTIONDATA TPPD
  423. WHERE
  424. TPPD.PROCEDUREID = 104
  425. AND TPPD.ISREFIRE = 0
  426. AND KILNCODE = 'TK3'
  427. AND TPPD.VALUEFLAG = 1
  428. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  429. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  430. UNION ALL
  431. SELECT
  432. COUNT(*)
  433. FROM
  434. TP_PM_PRODUCTIONDATA TPPD
  435. WHERE
  436. TPPD.PROCEDUREID = 104
  437. AND TPPD.ISREFIRE = 0
  438. AND KILNCODE = 'TK3'
  439. AND TPPD.VALUEFLAG = 1
  440. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  441. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  442. )T5)TT5 ON TT.id = TT5.id
  443. FULL JOIN(
  444. SELECT
  445. ROWNUM id,
  446. T6.count
  447. FROM(
  448. SELECT
  449. COUNT(*) count
  450. FROM
  451. TP_PM_PRODUCTIONDATA TPPD
  452. WHERE
  453. TPPD.PROCEDUREID = 104
  454. AND TPPD.ISREFIRE = 0
  455. AND KILNCODE = 'TK3'
  456. AND TPPD.VALUEFLAG = 1
  457. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  458. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  459. UNION ALL
  460. SELECT
  461. COUNT(*)
  462. FROM
  463. TP_PM_PRODUCTIONDATA TPPD
  464. WHERE
  465. TPPD.PROCEDUREID = 104
  466. AND TPPD.ISREFIRE = 0
  467. AND KILNCODE = 'TK3'
  468. AND TPPD.VALUEFLAG = 1
  469. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  470. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  471. UNION ALL
  472. SELECT
  473. COUNT(*)
  474. FROM
  475. TP_PM_PRODUCTIONDATA TPPD
  476. WHERE
  477. TPPD.PROCEDUREID = 104
  478. AND TPPD.ISREFIRE = 0
  479. AND KILNCODE = 'TK3'
  480. AND TPPD.VALUEFLAG = 1
  481. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  482. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  483. UNION ALL
  484. SELECT
  485. COUNT(*)
  486. FROM
  487. TP_PM_PRODUCTIONDATA TPPD
  488. WHERE
  489. TPPD.PROCEDUREID = 104
  490. AND TPPD.ISREFIRE = 0
  491. AND KILNCODE = 'TK3'
  492. AND TPPD.VALUEFLAG = 1
  493. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  494. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  495. UNION ALL
  496. SELECT
  497. COUNT(*)
  498. FROM
  499. TP_PM_PRODUCTIONDATA TPPD
  500. WHERE
  501. TPPD.PROCEDUREID = 104
  502. AND TPPD.ISREFIRE = 0
  503. AND KILNCODE = 'TK3'
  504. AND TPPD.VALUEFLAG = 1
  505. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  506. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  507. )T6)TT6 ON TT.id = TT6.id )H WHERE H.缺陷数 IS NOT NULL
  508. ";
  509. //直接获取不分页数据
  510. DataTable dt = conn.ExecuteDatatable(sqlStr);
  511. string jsonStr = new JsonResult(dt).ToJson();
  512. context.Response.Write(jsonStr);
  513. }
  514. //二检次品缺陷位置信息
  515. if (context.Request["m"].ToString() == "MonthTableD")
  516. {
  517. string sqlStr = @" SELECT
  518. H.缺陷位置名称,
  519. H.出窑数,
  520. H.缺陷数,
  521. H.缺陷占比,
  522. H.同月比,
  523. H.上月比,
  524. CASE WHEN H.上月比 > H.缺陷占比 THEN '下降↓'
  525. ELSE '上升↑'
  526. END 对比趋势
  527. FROM(
  528. SELECT
  529. TT.DEFECTNAME 缺陷位置名称,
  530. TT2.COUNT 出窑数,
  531. TT.COUNT 缺陷数,
  532. TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'9,990.00') || '%' AS 缺陷占比,
  533. TT3.COUNT 去年缺陷数量,
  534. TT4.COUNT 上个月缺陷数量,
  535. TT5.COUNT 去年出窑数,
  536. TT6.COUNT 上个月出窑数,
  537. TO_CHAR((TT3.COUNT/TT5.COUNT)* 100,'9,990.00') || '%' AS 同月比,
  538. TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' AS 上月比
  539. FROM(
  540. SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
  541. SELECT
  542. TPD.DEFECTPOSITIONNAME DEFECTNAME,
  543. TPD.DEFECTPOSITIONID DEFECTID,
  544. COUNT( * ) count
  545. FROM
  546. TP_PM_PRODUCTIONDATA TPPD
  547. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  548. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  549. WHERE
  550. TPPD.PROCEDUREID = 125
  551. AND TPPD.GOODSLEVELTYPEID = 7
  552. AND TPPD.KILNCODE = 'TK3'
  553. AND TPD.VALUEFLAG = 1
  554. AND TPPD.VALUEFLAG = 1
  555. AND TMD.VALUEFLAG = 1
  556. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  557. GROUP BY
  558. TPD.DEFECTPOSITIONNAME,TPD.DEFECTPOSITIONID
  559. ORDER BY
  560. count DESC)T WHERE ROWNUM < 6)TT
  561. FULL JOIN(
  562. SELECT
  563. ROWNUM id,
  564. T2.count
  565. FROM(
  566. SELECT
  567. COUNT(*) count
  568. FROM
  569. TP_PM_PRODUCTIONDATA TPPD
  570. WHERE
  571. TPPD.PROCEDUREID = 104
  572. AND TPPD.ISREFIRE = 0
  573. AND KILNCODE = 'TK3'
  574. AND TPPD.VALUEFLAG = 1
  575. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  576. UNION ALL
  577. SELECT
  578. COUNT(*)
  579. FROM
  580. TP_PM_PRODUCTIONDATA TPPD
  581. WHERE
  582. TPPD.PROCEDUREID = 104
  583. AND TPPD.VALUEFLAG = 1
  584. AND TPPD.ISREFIRE = 0
  585. AND KILNCODE = 'TK3'
  586. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  587. UNION ALL
  588. SELECT
  589. COUNT(*)
  590. FROM
  591. TP_PM_PRODUCTIONDATA TPPD
  592. WHERE
  593. TPPD.PROCEDUREID = 104
  594. AND TPPD.VALUEFLAG = 1
  595. AND TPPD.ISREFIRE = 0
  596. AND KILNCODE = 'TK3'
  597. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  598. UNION ALL
  599. SELECT
  600. COUNT(*)
  601. FROM
  602. TP_PM_PRODUCTIONDATA TPPD
  603. WHERE
  604. TPPD.PROCEDUREID = 104
  605. AND TPPD.ISREFIRE = 0
  606. AND TPPD.VALUEFLAG = 1
  607. AND KILNCODE = 'TK3'
  608. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
  609. UNION ALL
  610. SELECT
  611. COUNT(*)
  612. FROM
  613. TP_PM_PRODUCTIONDATA TPPD
  614. WHERE
  615. TPPD.PROCEDUREID = 104
  616. AND TPPD.ISREFIRE = 0
  617. AND KILNCODE = 'TK3'
  618. AND TPPD.VALUEFLAG = 1
  619. AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))T2)TT2 ON TT.id = TT2.id
  620. FULL JOIN(
  621. SELECT T3.DEFECTID,T3.DEFECTNAME,T3.count FROM (
  622. SELECT
  623. TPD.DEFECTPOSITIONNAME DEFECTNAME,
  624. TPD.DEFECTPOSITIONID DEFECTID,
  625. COUNT( * ) count
  626. FROM
  627. TP_PM_PRODUCTIONDATA TPPD
  628. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  629. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  630. WHERE
  631. TPPD.PROCEDUREID IN (125,105)
  632. AND TPPD.GOODSLEVELTYPEID = 7
  633. AND TPPD.KILNCODE = 'TK3'
  634. AND TPD.VALUEFLAG = 1
  635. AND TPPD.VALUEFLAG = 1
  636. AND TMD.VALUEFLAG = 1
  637. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  638. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  639. GROUP BY
  640. TPD.DEFECTPOSITIONNAME,TPD.DEFECTPOSITIONID
  641. )T3 )TT3 ON TT.DEFECTID = TT3.DEFECTID
  642. FULL JOIN(
  643. SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
  644. SELECT
  645. TPD.DEFECTPOSITIONNAME DEFECTNAME,
  646. COUNT( * ) count
  647. FROM
  648. TP_PM_PRODUCTIONDATA TPPD
  649. LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
  650. LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
  651. WHERE
  652. TPPD.PROCEDUREID IN (125,105)
  653. AND TPPD.GOODSLEVELTYPEID = 7
  654. AND TPPD.KILNCODE = 'TK3'
  655. AND TPD.VALUEFLAG = 1
  656. AND TPPD.VALUEFLAG = 1
  657. AND TMD.VALUEFLAG = 1
  658. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  659. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  660. GROUP BY
  661. TPD.DEFECTPOSITIONNAME
  662. ORDER BY
  663. count DESC)T4 WHERE ROWNUM < 6)TT4 ON TT.id = TT4.id
  664. FULL JOIN(
  665. SELECT
  666. ROWNUM id,
  667. T5.count
  668. FROM(
  669. SELECT
  670. COUNT(*) count
  671. FROM
  672. TP_PM_PRODUCTIONDATA TPPD
  673. WHERE
  674. TPPD.PROCEDUREID = 104
  675. AND TPPD.ISREFIRE = 0
  676. AND KILNCODE = 'TK3'
  677. AND TPPD.VALUEFLAG = 1
  678. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  679. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  680. UNION ALL
  681. SELECT
  682. COUNT(*)
  683. FROM
  684. TP_PM_PRODUCTIONDATA TPPD
  685. WHERE
  686. TPPD.PROCEDUREID = 104
  687. AND TPPD.ISREFIRE = 0
  688. AND KILNCODE = 'TK3'
  689. AND TPPD.VALUEFLAG = 1
  690. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  691. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  692. UNION ALL
  693. SELECT
  694. COUNT(*)
  695. FROM
  696. TP_PM_PRODUCTIONDATA TPPD
  697. WHERE
  698. TPPD.PROCEDUREID = 104
  699. AND TPPD.ISREFIRE = 0
  700. AND KILNCODE = 'TK3'
  701. AND TPPD.VALUEFLAG = 1
  702. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  703. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  704. UNION ALL
  705. SELECT
  706. COUNT(*)
  707. FROM
  708. TP_PM_PRODUCTIONDATA TPPD
  709. WHERE
  710. TPPD.PROCEDUREID = 104
  711. AND TPPD.ISREFIRE = 0
  712. AND KILNCODE = 'TK3'
  713. AND TPPD.VALUEFLAG = 1
  714. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  715. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  716. UNION ALL
  717. SELECT
  718. COUNT(*)
  719. FROM
  720. TP_PM_PRODUCTIONDATA TPPD
  721. WHERE
  722. TPPD.PROCEDUREID = 104
  723. AND TPPD.ISREFIRE = 0
  724. AND KILNCODE = 'TK3'
  725. AND TPPD.VALUEFLAG = 1
  726. AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month')
  727. AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
  728. )T5)TT5 ON TT.id = TT5.id
  729. FULL JOIN(
  730. SELECT
  731. ROWNUM id,
  732. T6.count
  733. FROM(
  734. SELECT
  735. COUNT(*) count
  736. FROM
  737. TP_PM_PRODUCTIONDATA TPPD
  738. WHERE
  739. TPPD.PROCEDUREID = 104
  740. AND TPPD.ISREFIRE = 0
  741. AND KILNCODE = 'TK3'
  742. AND TPPD.VALUEFLAG = 1
  743. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  744. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  745. UNION ALL
  746. SELECT
  747. COUNT(*)
  748. FROM
  749. TP_PM_PRODUCTIONDATA TPPD
  750. WHERE
  751. TPPD.PROCEDUREID = 104
  752. AND TPPD.ISREFIRE = 0
  753. AND KILNCODE = 'TK3'
  754. AND TPPD.VALUEFLAG = 1
  755. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  756. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  757. UNION ALL
  758. SELECT
  759. COUNT(*)
  760. FROM
  761. TP_PM_PRODUCTIONDATA TPPD
  762. WHERE
  763. TPPD.PROCEDUREID = 104
  764. AND TPPD.ISREFIRE = 0
  765. AND KILNCODE = 'TK3'
  766. AND TPPD.VALUEFLAG = 1
  767. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  768. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  769. UNION ALL
  770. SELECT
  771. COUNT(*)
  772. FROM
  773. TP_PM_PRODUCTIONDATA TPPD
  774. WHERE
  775. TPPD.PROCEDUREID = 104
  776. AND TPPD.ISREFIRE = 0
  777. AND KILNCODE = 'TK3'
  778. AND TPPD.VALUEFLAG = 1
  779. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  780. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  781. UNION ALL
  782. SELECT
  783. COUNT(*)
  784. FROM
  785. TP_PM_PRODUCTIONDATA TPPD
  786. WHERE
  787. TPPD.PROCEDUREID = 104
  788. AND TPPD.ISREFIRE = 0
  789. AND KILNCODE = 'TK3'
  790. AND TPPD.VALUEFLAG = 1
  791. AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
  792. AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
  793. )T6)TT6 ON TT.id = TT6.id )H WHERE H.缺陷数 IS NOT NULL
  794. ";
  795. //直接获取不分页数据
  796. DataTable dt = conn.ExecuteDatatable(sqlStr);
  797. string jsonStr = new JsonResult(dt).ToJson();
  798. context.Response.Write(jsonStr);
  799. }
  800. }
  801. }
  802. public bool IsReusable {
  803. get {
  804. return false;
  805. }
  806. }
  807. }