FurResult.xml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc="加热炉实绩操作">
  3. <query id="FurResult.SingleFurResultQuery" desc="加热炉实绩">
  4. <![CDATA[
  5. SELECT RESULT_NO,
  6. LOT_NO,
  7. STOVE_NO,
  8. JUDGE_STOVE_NO,
  9. PLINE_CODE,
  10. IN_FUR_LENGTH,
  11. IN_FUR_NUM,
  12. TO_CHAR(IN_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') IN_FUR_TIME,
  13. TO_CHAR(OUT_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') OUT_FUR_TIME,
  14. OUT_FUR_NUM,
  15. SCRAP_NUM,
  16. SCRAP_REASON,
  17. BURNNING_RATE,
  18. CHANGE_NUM,
  19. SLAB_DIAMETER,
  20. SLAB_LENGTH,
  21. TO_CHAR(FIRST_IN_TIME, 'YYYY-MM-DD HH24:MI:SS') FIRST_IN_TIME,
  22. TO_CHAR(LAST_IN_TIME, 'YYYY-MM-DD HH24:MI:SS') LAST_IN_TIME,
  23. TO_CHAR(FIRST_OUT_TIME, 'YYYY-MM-DD HH24:MI:SS') FIRST_OUT_TIME,
  24. TO_CHAR(LAST_OUT_TIME, 'YYYY-MM-DD HH24:MI:SS') LAST_OUT_TIME,
  25. FIRST_SLAB_OUT_TEMP,
  26. LAST_SLAB_OUT_TEMP,
  27. SET_FUR_TEMP,
  28. LHEAT_CRUVE1,
  29. LHEAT_CRUVE2,
  30. LHEAT_CRUVE3,
  31. LHEAT_CRUVE4,
  32. LHEAT_CRUVE5,
  33. LHEAT_CRUVE6,
  34. LHEAT_CRUVE7,
  35. LHEAT_CRUVE8,
  36. RESIDUAL_OXYGEN,
  37. FUR_PRESS,
  38. WIND_PRESS,
  39. GAS_PRESS,
  40. TO_CHAR(START_TIME, 'YYYY-MM-DD HH24:MI:SS') START_TIME,
  41. TO_CHAR(END_TIME, 'YYYY-MM-DD HH24:MI:SS') END_TIME,
  42. EXECUTIVE_PRODUCER,
  43. TO_CHAR(PRODUCER_TIME, 'YYYY-MM-DD HH24:MI:SS') PRODUCER_TIME,
  44. PRODUCER_TEL,
  45. NODE_FUR_FLAG,
  46. REMARK,
  47. RHYTHM,
  48. COL_MODE,
  49. TO_CHAR(COL_TIME, 'YYYY-MM-DD HH24:MI:SS') COL_TIME,
  50. COL_USER,
  51. COL_SHIFT,
  52. COL_GROUP,
  53. OUT_CHANGE_NUM,
  54. PRO_PLAN_ID,
  55. GX_PLAN_NO
  56. FROM MIL_FUR_RESULT
  57. WHERE JUDGE_STOVE_NO = ?
  58. AND PRO_PLAN_ID || '&' LIKE '%' || ? || '%'
  59. AND GX_PLAN_NO || '&' LIKE '%' || ? || '%'
  60. ]]>
  61. </query>
  62. <query id="FurResult.InFurTimeQuery" desc="查询炉次最后一支入炉时间">
  63. <![CDATA[
  64. select LAST_IN_TIME from mil_fur_result where judge_stove_no = ?
  65. ]]>
  66. </query>
  67. <query id="FurResult.getIsStartStats" desc=" 查询炉计划状态">
  68. <![CDATA[
  69. select IS_START
  70. from mil_fur_result
  71. where judge_stove_no = ?
  72. and Result_no = ?
  73. AND PRO_PLAN_ID || '&' LIKE '%' || ? || '%'
  74. AND GX_PLAN_NO || '&' LIKE '%' || ? || '%'
  75. ]]>
  76. </query>
  77. <query id="FurResult.UpdateMainPlanNodeStatue" desc="修改主计划结炉状态">
  78. <![CDATA[
  79. update MIL_PLAN t set t.NODE_STATUS ='#STATUS#',T.STATUS = '20'
  80. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  81. ]]>
  82. </query>
  83. <query id="FurResult.INFurPlanQuery" desc="查询待装炉计划">
  84. <![CDATA[
  85. select t1.*
  86. from (select t.JUDGE_STOVE_NO,
  87. REGEXP_REPLACE(T.JUDGE_STOVE_NO, '-.*', '') AS JUDGE_NO,
  88. f.CUT_NUM,
  89. t.LOT_NO,
  90. f.start_time,
  91. t.ID,
  92. ((select count(*)
  93. from PORT_MIL_BATCH_SAMPLE_RESULT t2
  94. where t2.judge_stove_no = t.JUDGE_STOVE_NO
  95. and t2.status = '0') +
  96. (select count(*)
  97. from PORT_MIL_BATCH_SAMPLE_RESULT t3
  98. where t3.judge_stove_no = t.JUDGE_STOVE_NO
  99. and trim(t3.op_process) >= 2)) plan_count,
  100. t.NODE_STATUS,
  101. IS_START,
  102. T.PRO_PLAN_ID,
  103. T.GX_PLAN_NO
  104. FROM (SELECT A.JUDGE_STOVE_NO,
  105. A.LOT_NO,
  106. A.ID,
  107. CASE A.NODE_STATUS
  108. WHEN '00' THEN
  109. '正在锯切'
  110. WHEN '10' THEN
  111. '锯切完成'
  112. END AS NODE_STATUS,
  113. A.FEED_TIME,
  114. case Nvl((select b.IS_START
  115. FROM mil_fur_result b
  116. where b.judge_stove_no = a.judge_Stove_no),
  117. 4)
  118. WHEN '0' THEN
  119. '已开始入炉'
  120. WHEN '1' THEN
  121. '已完成入炉'
  122. WHEN '2' THEN
  123. '已开始出炉'
  124. WHEN '3' THEN
  125. '已完成出炉'
  126. WHEN '4' THEN
  127. '未开始入炉'
  128. END AS IS_START,
  129. A.PRO_PLAN_ID,
  130. A.GX_PLAN_NO
  131. FROM MIL_PLAN A, MIL_FUR_RESULT B
  132. WHERE A.JUDGE_STOVE_NO = B.JUDGE_STOVE_NO(+)
  133. AND A.IS_LOAD = '1'
  134. AND A.BACK_SLAB_FLAG <> '2'
  135. AND A.PLINE_CODE = '#PLINE_CODE#'
  136. AND A.NODE_STATUS < 20) t,
  137. MIL_FEEDSAW_RESULT f
  138. WHERE IS_START in ('已开始入炉', '未开始入炉')
  139. and t.ID = f.result_no
  140. AND T.JUDGE_STOVE_NO = F.JUDGE_STOVE_NO #something1#
  141. order by T.feed_time, f.start_time) t1
  142. where t1.PLAN_COUNT > 0
  143. ]]>
  144. </query>
  145. <query id="FurResult.INFurOUTPlanQuery" desc="查询待出炉计划">
  146. <![CDATA[
  147. select A.JUDGE_STOVE_NO,
  148. REGEXP_REPLACE(A.JUDGE_STOVE_NO, '-.*', '') AS JUDGE_NO,
  149. C.CUT_NUM,
  150. C.START_TIME,
  151. A.LOT_NO,
  152. A.ID,
  153. CASE A.NODE_STATUS
  154. WHEN '00' THEN
  155. '正在锯切'
  156. WHEN '10' THEN
  157. '锯切完成'
  158. END AS NODE_STATUS,
  159. case B.IS_START
  160. WHEN '0' THEN
  161. '已开始入炉'
  162. WHEN '1' THEN
  163. '已完成入炉'
  164. WHEN '2' THEN
  165. '已开始出炉'
  166. WHEN '3' THEN
  167. '已完成出炉'
  168. end as IS_START,
  169. A.PRO_PLAN_ID,
  170. A.GX_PLAN_NO
  171. FROM MIL_PLAN A, MIL_FUR_RESULT B, MIL_FEEDSAW_RESULT C
  172. WHERE A.JUDGE_STOVE_NO = B.JUDGE_STOVE_NO
  173. AND A.PLINE_CODE = '#PLINE_CODE#'
  174. AND A.NODE_STATUS < 20
  175. AND A.BACK_SLAB_FLAG <> '2'
  176. AND A.IS_LOAD = '1'
  177. AND B.IS_START > 0
  178. AND A.ID = C.RESULT_NO
  179. AND A.JUDGE_STOVE_NO = C.JUDGE_STOVE_NO
  180. #something1#
  181. ORDER BY A.feed_time
  182. ]]>
  183. </query>
  184. <query id="FurResult.OUTFurPlanQuery" desc="查询已出炉计划">
  185. <![CDATA[
  186. select t1.*
  187. from (select A.JUDGE_STOVE_NO,
  188. REGEXP_REPLACE(A.JUDGE_STOVE_NO, '-.*', '') AS JUDGE_NO,
  189. C.CUT_NUM,
  190. A.LOT_NO,
  191. A.ID,
  192. C.START_TIME,
  193. ((select count(*)
  194. from PORT_MIL_BATCH_SAMPLE_RESULT t2
  195. where t2.judge_stove_no = a.JUDGE_STOVE_NO
  196. and t2.status = '0') +
  197. (select count(*)
  198. from PORT_MIL_BATCH_SAMPLE_RESULT t3
  199. where t3.judge_stove_no = a.JUDGE_STOVE_NO
  200. and trim(t3.op_process) >= 2)) plan_count,
  201. CASE A.NODE_STATUS
  202. WHEN '00' THEN
  203. '正在锯切'
  204. WHEN '10' THEN
  205. '锯切完成'
  206. WHEN '20' THEN
  207. '出炉'
  208. WHEN '30' THEN
  209. '穿孔完成'
  210. WHEN '40' THEN
  211. '连轧完成'
  212. WHEN '50' THEN
  213. '出再加热炉'
  214. WHEN '60' THEN
  215. '定径完成'
  216. WHEN '70' THEN
  217. '分切完成'
  218. WHEN '80' THEN
  219. '矫直完成 '
  220. WHEN '90' THEN
  221. '探伤完成'
  222. WHEN '96' THEN
  223. '人工质检完成'
  224. END AS NODE_STATUS,
  225. CASE B.IS_START
  226. WHEN '0' THEN
  227. '已开始入炉'
  228. WHEN '1' THEN
  229. '已完成入炉'
  230. WHEN '2' THEN
  231. '已开始出炉'
  232. WHEN '3' THEN
  233. '已完成出炉'
  234. END as IS_START,
  235. A.PRO_PLAN_ID,
  236. A.GX_PLAN_NO
  237. FROM MIL_PLAN A, MIL_FUR_RESULT B, MIL_FEEDSAW_RESULT C
  238. WHERE A.JUDGE_STOVE_NO = B.JUDGE_STOVE_NO
  239. AND A.PLINE_CODE = '#PLINE_CODE#'
  240. AND A.NODE_STATUS > 10
  241. AND A.BACK_SLAB_FLAG <> '2'
  242. AND A.ID = C.RESULT_NO
  243. AND A.JUDGE_STOVE_NO = C.JUDGE_STOVE_NO
  244. #something1#
  245. ORDER BY A.feed_time,C.START_TIME) t1
  246. where t1.PLAN_COUNT > 0
  247. ]]>
  248. </query>
  249. <query id="FurResult.InFurNonEndIn" desc="查询炉内未装炉完成的计划">
  250. <![CDATA[
  251. SELECT JUDGE_STOVE_NO FROM MIL_FUR_RESULT WHERE IS_START = ? and PLINE_CODE = ?
  252. ]]>
  253. </query>
  254. <query id="FurResult.InFurStatus" desc="查询炉次炉内状态">
  255. <![CDATA[
  256. SELECT IS_START FROM MIL_FUR_RESULT WHERE JUDGE_STOVE_NO = ?
  257. ]]>
  258. </query>
  259. <query id="FurResult.UpdateInFurShift" desc="修改主计划结炉状态">
  260. <![CDATA[
  261. update mil_fur_rack set IN_SHIFT = ?,IN_GROUP =?,IN_USER = ? WHERE JUDGE_STOVE_NO = ? AND Result_no = ?
  262. and IN_SHIFT is null AND IN_GROUP is null
  263. ]]>
  264. </query>
  265. <query id="FurResult.AddFurResult" desc="新增加热炉实绩">
  266. <![CDATA[
  267. INSERT INTO MIL_FUR_RESULT
  268. (EXECUTIVE_PRODUCER,
  269. PRODUCER_TIME,
  270. PRODUCER_TEL,
  271. REMARK,
  272. RHYTHM,
  273. COL_MODE,
  274. COL_TIME,
  275. COL_USER,
  276. COL_SHIFT,
  277. COL_GROUP,
  278. BURNNING_RATE,
  279. RESULT_NO,
  280. LOT_NO,
  281. STOVE_NO,
  282. JUDGE_STOVE_NO,
  283. PLINE_CODE,
  284. IN_FUR_LENGTH,
  285. IN_FUR_NUM,
  286. IN_FUR_TIME,
  287. SCRAP_REASON,
  288. SLAB_DIAMETER,
  289. SLAB_LENGTH,
  290. FIRST_IN_TIME,
  291. FIRST_SLAB_OUT_TEMP,
  292. LAST_SLAB_OUT_TEMP,
  293. SET_FUR_TEMP,
  294. LHEAT_CRUVE1,
  295. LHEAT_CRUVE2,
  296. LHEAT_CRUVE3,
  297. LHEAT_CRUVE4,
  298. LHEAT_CRUVE5,
  299. LHEAT_CRUVE6,
  300. LHEAT_CRUVE7,
  301. LHEAT_CRUVE8,
  302. RESIDUAL_OXYGEN,
  303. FUR_PRESS,
  304. WIND_PRESS,
  305. GAS_PRESS,
  306. FIRST_IN_SHIFT,
  307. FIRST_IN_GROUP,
  308. START_TIME,
  309. PRO_PLAN_ID,
  310. GX_PLAN_NO)
  311. VALUES
  312. ('#EXECUTIVE_PRODUCER#',
  313. SYSDATE,
  314. '#PRODUCER_TEL#',
  315. '#REMARK#',
  316. '#RHYTHM#',
  317. '#COL_MODE#',
  318. SYSDATE,
  319. '#COL_USER#',
  320. '#COL_SHIFT#',
  321. '#COL_GROUP#',
  322. '#BURNNING_RATE#',
  323. '#RESULT_NO#',
  324. '#LOT_NO#',
  325. '#STOVE_NO#',
  326. '#JUDGE_STOVE_NO#',
  327. '#PLINE_CODE#',
  328. '#IN_FUR_LENGTH#',
  329. '#IN_FUR_NUM#',
  330. SYSDATE,
  331. '#SCRAP_REASON#',
  332. '#SLAB_DIAMETER#',
  333. '#SLAB_LENGTH#',
  334. to_date('#FIRST_IN_TIME#', 'yyyy-mm-dd hh24:mi:ss'),
  335. '#FIRST_SLAB_OUT_TEMP#',
  336. '#LAST_SLAB_OUT_TEMP#',
  337. '#SET_FUR_TEMP#',
  338. '#LHEAT_CRUVE1#',
  339. '#LHEAT_CRUVE2#',
  340. '#LHEAT_CRUVE3#',
  341. '#LHEAT_CRUVE4#',
  342. '#LHEAT_CRUVE5#',
  343. '#LHEAT_CRUVE6#',
  344. '#LHEAT_CRUVE7#',
  345. '#LHEAT_CRUVE8#',
  346. '#RESIDUAL_OXYGEN#',
  347. '#FUR_PRESS#',
  348. '#WIND_PRESS#',
  349. '#GAS_PRESS#',
  350. '#FIRST_IN_SHIFT#',
  351. '#FIRST_IN_GROUP#',
  352. to_date('#START_TIME#', 'yyyy-mm-dd hh24:mi:ss'),
  353. '#PRO_PLAN_ID#',
  354. '#GX_PLAN_NO#')
  355. ]]>
  356. </query>
  357. <query id="FurResult.UpdateMainPlanStatue" desc="修改主计划 开始状态">
  358. <![CDATA[
  359. update MIL_PLAN t
  360. set t.STATUS = '#STATUS#'
  361. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  362. AND NVL(T.PRO_PLAN_ID,'/') = NVL('#PRO_PLAN_ID#','/')
  363. AND NVL(T.GX_PLAN_NO,'/') = NVL('#GX_PLAN_NO#','/')
  364. ]]>
  365. </query>
  366. <query id="FurResult.UpdateFurResultEndTime" desc="结炉时修改结束时间和最后一支出炉时间">
  367. <![CDATA[
  368. update MIL_FUR_RESULT t set t.END_TIME = SYSDATE , T.LAST_OUT_TIME = SYSDATE
  369. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  370. ]]>
  371. </query>
  372. <query id="FurResult.UpdateInChangeShit" desc="结炉时修改结入炉班次班组">
  373. <![CDATA[
  374. update MIL_FUR_RACK t set t.IN_SHIFT = '#COL_SHIFT#' ,t.IN_USER='#COL_USER#', T.IN_GROUP = '#COL_GROUP#'
  375. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND t.IN_SHIFT is null AND T.IN_GROUP is null and MAT_NO IS NOT NULL
  376. ]]>
  377. </query>
  378. <query id="FurResult.UpdateOutChangeShit" desc="结炉时修改结出炉班次班组">
  379. <![CDATA[
  380. update MIL_FUR_RACK t set t.COL_SHIFT = '#COL_SHIFT#' ,t.COL_USER = '#COL_USER#', T.COL_GROUP = '#COL_GROUP#',t.OUT_FUR_TIME = sysdate
  381. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND t.COL_SHIFT is null AND T.COL_GROUP is null AND MAT_NO is not null
  382. ]]>
  383. </query>
  384. <query id="FurResult.UpdateEndTime" desc="结炉时修改结出炉时间">
  385. <![CDATA[
  386. update MIL_FUR_RACK t set t.OUT_FUR_TIME = sysdate
  387. where t.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND t.END_TIME is null
  388. ]]>
  389. </query>
  390. <query id="FurResult.SingleFurNodeResult" desc="查询上料锯切实绩表">
  391. <![CDATA[
  392. SELECT
  393. b.DB_HEIGHT,
  394. a.CHANGE_NUM,
  395. a.OUT_CHANGE_NUM,
  396. a.BURNNING_RATE,
  397. a.RESULT_NO,
  398. a.LOT_NO,
  399. a.STOVE_NO,
  400. a.JUDGE_STOVE_NO,
  401. a.PLINE_CODE,
  402. a.IN_FUR_LENGTH,
  403. a.IN_FUR_NUM,
  404. TO_CHAR(a.IN_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') IN_FUR_TIME,
  405. TO_CHAR(a.OUT_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') OUT_FUR_TIME,
  406. a.OUT_FUR_NUM,
  407. a.SCRAP_NUM,
  408. a.SCRAP_REASON,
  409. a.SLAB_DIAMETER,
  410. a.SLAB_LENGTH,
  411. TO_CHAR(a.FIRST_IN_TIME, 'YYYY-MM-DD HH24:MI:SS') FIRST_IN_TIME,
  412. TO_CHAR(a.LAST_IN_TIME, 'YYYY-MM-DD HH24:MI:SS') LAST_IN_TIME,
  413. TO_CHAR(a.FIRST_OUT_TIME, 'YYYY-MM-DD HH24:MI:SS') FIRST_OUT_TIME,
  414. TO_CHAR(a.LAST_OUT_TIME, 'YYYY-MM-DD HH24:MI:SS') LAST_OUT_TIME,
  415. a.FIRST_SLAB_OUT_TEMP,
  416. a.LAST_SLAB_OUT_TEMP,
  417. a.SET_FUR_TEMP,
  418. a.LHEAT_CRUVE1,
  419. a.LHEAT_CRUVE2,
  420. a.LHEAT_CRUVE3,
  421. a.LHEAT_CRUVE4,
  422. a.LHEAT_CRUVE5,
  423. a.LHEAT_CRUVE6,
  424. a.LHEAT_CRUVE7,
  425. a.LHEAT_CRUVE8,
  426. a.RESIDUAL_OXYGEN,
  427. a.FUR_PRESS,
  428. a.WIND_PRESS,
  429. a.GAS_PRESS,
  430. TO_CHAR(a.START_TIME, 'YYYY-MM-DD HH24:MI:SS') START_TIME,
  431. TO_CHAR(a.END_TIME, 'YYYY-MM-DD HH24:MI:SS') END_TIME,
  432. a.EXECUTIVE_PRODUCER,
  433. TO_CHAR(a.PRODUCER_TIME, 'YYYY-MM-DD HH24:MI:SS') PRODUCER_TIME,
  434. a.PRODUCER_TEL,
  435. a.NODE_FUR_FLAG,
  436. a.REMARK,
  437. a.RHYTHM,
  438. a.COL_MODE,
  439. to_char(a.COL_TIME, 'YYYY-MM-DD HH24:MI:SS') COL_TIME,
  440. a.COL_USER,
  441. a.COL_SHIFT,
  442. a.COL_GROUP,
  443. A.QA_TON
  444. FROM MIL_FUR_RESULT a, MIL_PLAN b
  445. WHERE
  446. a.PLINE_CODE = ?
  447. AND a.COL_SHIFT = ?
  448. AND a.COL_GROUP = ?
  449. AND a.END_TIME BETWEEN TO_DATE(?,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(?,'YYYY-MM-DD HH24:MI:SS')
  450. AND a.NODE_FUR_FLAG = '1'
  451. AND a.JUDGE_STOVE_NO = b.JUDGE_STOVE_NO
  452. AND a.RESULT_NO = b.ID
  453. order by a.end_time
  454. ]]>
  455. </query>
  456. <query id="FurResult.UpdateFurResult" desc="保存加热炉实绩信息">
  457. <![CDATA[
  458. UPDATE MIL_FUR_RESULT
  459. SET BURNNING_RATE = '#BURNNING_RATE#',
  460. FIRST_SLAB_OUT_TEMP = '#FIRST_SLAB_OUT_TEMP#',
  461. LAST_SLAB_OUT_TEMP = '#LAST_SLAB_OUT_TEMP#',
  462. SET_FUR_TEMP = '#SET_FUR_TEMP#',
  463. LHEAT_CRUVE1 = '#LHEAT_CRUVE1#',
  464. LHEAT_CRUVE2 = '#LHEAT_CRUVE2#',
  465. LHEAT_CRUVE3 = '#LHEAT_CRUVE3#',
  466. LHEAT_CRUVE4 = '#LHEAT_CRUVE4#',
  467. LHEAT_CRUVE5 = '#LHEAT_CRUVE5#',
  468. LHEAT_CRUVE6 = '#LHEAT_CRUVE6#',
  469. LHEAT_CRUVE7 = '#LHEAT_CRUVE7#',
  470. LHEAT_CRUVE8 = '#LHEAT_CRUVE8#',
  471. RESIDUAL_OXYGEN = '#RESIDUAL_OXYGEN#',
  472. FUR_PRESS = '#FUR_PRESS#',
  473. WIND_PRESS = '#WIND_PRESS#',
  474. GAS_PRESS = '#GAS_PRESS#',
  475. REMARK = '#REMARK#',
  476. RHYTHM = '#RHYTHM#',
  477. START_TIME = to_date('#START_TIME#', 'yyyy-mm-dd hh24:mi:ss'),
  478. END_TIME = to_date('#END_TIME#', 'yyyy-mm-dd hh24:mi:ss'),
  479. FIRST_IN_TIME = to_date('#FIRST_IN_TIME#',
  480. 'yyyy-mm-dd hh24:mi:ss'),
  481. FIRST_OUT_TIME = to_date('#FIRST_OUT_TIME#',
  482. 'yyyy-mm-dd hh24:mi:ss'),
  483. LAST_OUT_TIME = to_date('#LAST_OUT_TIME#',
  484. 'yyyy-mm-dd hh24:mi:ss'),
  485. LAST_IN_TIME = to_date('#LAST_IN_TIME#',
  486. 'yyyy-mm-dd hh24:mi:ss')
  487. WHERE JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  488. AND NVL(PRO_PLAN_ID, '/') = NVL('#PRO_PLAN_ID#', '/')
  489. AND NVL(GX_PLAN_NO, '/') = NVL('#GX_PLAN_NO#', '/')
  490. ]]>
  491. </query>
  492. <query id="FurResult.UpdateEndTimeForRack" desc="保存跟踪表结炉时间">
  493. <![CDATA[
  494. update mil_fur_rack
  495. set out_fur_time = to_date('#END_TIME#', 'yyyy-mm-dd hh24:mi:ss')
  496. where JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  497. AND NVL(PRO_PLAN_ID, '/') = NVL('#PRO_PLAN_ID#', '/')
  498. AND NVL(GX_PLAN_NO, '/') = NVL('#GX_PLAN_NO#', '/')
  499. AND out_fur_time =
  500. (SELECT MAX(out_fur_time)
  501. FROM mil_fur_rack
  502. WHERE JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#')
  503. ]]>
  504. </query>
  505. <query id="FurResult.UpdateFurResultForNode" desc="保存加热炉实绩信息">
  506. <![CDATA[
  507. UPDATE MIL_FUR_RESULT
  508. SET CHANGE_NUM = '#CHANGE_NUM#',
  509. BURNNING_RATE = '#BURNNING_RATE#',
  510. IN_FUR_NUM = '#IN_FUR_NUM#',
  511. OUT_FUR_NUM = '#OUT_FUR_NUM#',
  512. SCRAP_NUM = '#SCRAP_NUM#',
  513. FIRST_SLAB_OUT_TEMP = '#FIRST_SLAB_OUT_TEMP#',
  514. LAST_SLAB_OUT_TEMP = '#LAST_SLAB_OUT_TEMP#',
  515. SET_FUR_TEMP = '#SET_FUR_TEMP#',
  516. LHEAT_CRUVE1 = '#LHEAT_CRUVE1#',
  517. LHEAT_CRUVE2 = '#LHEAT_CRUVE2#',
  518. LHEAT_CRUVE3 = '#LHEAT_CRUVE3#',
  519. LHEAT_CRUVE4 = '#LHEAT_CRUVE4#',
  520. LHEAT_CRUVE5 = '#LHEAT_CRUVE5#',
  521. LHEAT_CRUVE6 = '#LHEAT_CRUVE6#',
  522. LHEAT_CRUVE7 = '#LHEAT_CRUVE7#',
  523. LHEAT_CRUVE8 = '#LHEAT_CRUVE8#',
  524. RESIDUAL_OXYGEN = '#RESIDUAL_OXYGEN#',
  525. FUR_PRESS = '#FUR_PRESS#',
  526. WIND_PRESS = '#WIND_PRESS#',
  527. GAS_PRESS = '#GAS_PRESS#',
  528. NODE_FUR_FLAG = '#NODE_FUR_FLAG#',
  529. REMARK = '#REMARK#',
  530. RHYTHM = '#RHYTHM#',
  531. START_TIME = to_date('#START_TIME#', 'yyyy-mm-dd hh24:mi:ss'),
  532. END_TIME = sysdate,
  533. FIRST_IN_TIME = to_date('#FIRST_IN_TIME#',
  534. 'yyyy-mm-dd hh24:mi:ss'),
  535. LAST_IN_TIME = to_date('#LAST_IN_TIME#',
  536. 'yyyy-mm-dd hh24:mi:ss'),
  537. FIRST_OUT_TIME = to_date('#FIRST_OUT_TIME#',
  538. 'yyyy-mm-dd hh24:mi:ss'),
  539. LAST_OUT_TIME = sysdate,
  540. COL_USER = '#COL_USER#',
  541. COL_SHIFT = '#COL_SHIFT#',
  542. COL_GROUP = '#COL_GROUP#',
  543. QA_TON = '#QA_TON#',
  544. USER_ID = '#USER_ID#',
  545. IS_START = '3'
  546. WHERE JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  547. AND NVL(PRO_PLAN_ID, '/') = NVL('#PRO_PLAN_ID#', '/')
  548. AND NVL(GX_PLAN_NO, '/') = NVL('#GX_PLAN_NO#', '/')
  549. ]]>
  550. </query>
  551. <query id="FurResult.UpdateFurStatue" desc="加热炉管坯状态">
  552. <![CDATA[
  553. UPDATE MIL_FUR_RACK T
  554. SET STATUS = '1', SCRAP_TIME = SYSDATE, T.REMARK = '#REMARK#'
  555. WHERE SEQ = '#SEQ#'
  556. AND JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  557. AND NVL(PRO_PLAN_ID, '/') = NVL('#PRO_PLAN_ID#', '/')
  558. AND NVL(GX_PLAN_NO, '/') = NVL('#GX_PLAN_NO#', '/')
  559. ]]>
  560. </query>
  561. <query id="FurResult.UpdateFurScrapNum" desc="修改加热炉实绩表剔除支数">
  562. <![CDATA[
  563. UPDATE MIL_FUR_RESULT
  564. SET SCRAP_NUM = SCRAP_NUM + 1,
  565. OUT_FUR_NUM =
  566. (case Nvl(OUT_FUR_NUM, 0)
  567. WHEN 0 THEN
  568. 0
  569. ELSE
  570. OUT_FUR_NUM - 1
  571. END)
  572. WHERE JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  573. AND NVL(PRO_PLAN_ID, '/') = NVL('#PRO_PLAN_ID#', '/')
  574. AND NVL(GX_PLAN_NO, '/') = NVL('#GX_PLAN_NO#', '/')
  575. ]]>
  576. </query>
  577. <query id="FurResult.UpdateFirstInFurTime" desc="修改第一支坯料入炉时间">
  578. <![CDATA[
  579. UPDATE MIL_FUR_RESULT SET
  580. FIRST_IN_TIME = sysdate
  581. WHERE
  582. JUDGE_STOVE_NO = ?
  583. ]]>
  584. </query>
  585. <query id="FurResult.UpdateLastOutFurTime" desc="修改最后一支坯料出炉时间">
  586. <![CDATA[
  587. UPDATE MIL_FUR_RESULT SET
  588. LAST_OUT_TIME = sysdate
  589. WHERE
  590. JUDGE_STOVE_NO = ?
  591. ]]>
  592. </query>
  593. <query id="FurResult.UpdateFirstOutFurTime" desc="修改第一支坯料出炉时间班次班组 温度">
  594. <![CDATA[
  595. UPDATE MIL_FUR_RESULT SET
  596. FIRST_OUT_TIME = sysdate,
  597. FIRST_OUT_SHIFT = ?,
  598. FIRST_OUT_GROUP = ?,
  599. FIRST_SLAB_OUT_TEMP = ?,
  600. IS_START = '2'
  601. WHERE
  602. JUDGE_STOVE_NO = ?
  603. ]]>
  604. </query>
  605. <query id="FurResult.UpdateLastInFurTime" desc="修改最后一支坯料入炉时间 班次班组">
  606. <![CDATA[
  607. UPDATE MIL_FUR_RESULT SET
  608. LAST_IN_TIME = sysdate,
  609. LAST_IN_SHIFT = ?,
  610. LAST_IN_GROUP = ?,
  611. IS_START = '1'
  612. WHERE
  613. JUDGE_STOVE_NO = ?
  614. ]]>
  615. </query>
  616. <query id="FurResult.SingleFeedResultNodeFlagQuery" desc="修改最后一支坯料入炉时间">
  617. <![CDATA[
  618. UPDATE MIL_FUR_RESULT SET
  619. LAST_IN_TIME = sysdate
  620. WHERE
  621. JUDGE_STOVE_NO = ?
  622. ]]>
  623. </query>
  624. <query id="FurResult.UpdateFurHistory" desc="修改加热炉历史表管坯状态">
  625. <![CDATA[
  626. UPDATE MIL_FUR_HISTORY
  627. SET
  628. STATUS = '1'
  629. WHERE
  630. SEQ = ?
  631. AND
  632. JUDGE_STOVE_NO = ?
  633. ]]>
  634. </query>
  635. <query id="FurResult.ClearShitAfterNode" desc="结炉后清空材料号为空的班次班组">
  636. <![CDATA[
  637. UPDATE MIL_FUR_Rack
  638. SET
  639. IN_SHIFT = '',IN_GROUP = '',IN_USER = '',IN_FUR_TIME = '',COL_SHIFT = '',COL_GROUP = '',COL_USER = '',OUT_FUR_TIME = ''
  640. WHERE
  641. JUDGE_STOVE_NO = ?
  642. AND RESULT_NO = ?
  643. AND MAT_NO IS NULL
  644. ]]>
  645. </query>
  646. <query id="FurResult.getBurnningRate" desc="得到烧损率">
  647. <![CDATA[
  648. select case
  649. when ? = 'C072' THEN
  650. CASE
  651. WHEN (select t1.pass_name
  652. from pln_zy_zg_m t1
  653. where t1.heat_plan_no = ?) = '383' then
  654. 1.5
  655. when (select t1.pass_name
  656. from pln_zy_zg_m t1
  657. where t1.heat_plan_no = ?) = '454' then
  658. 1.8
  659. else
  660. T.BURNOUT_RATE
  661. end
  662. ELSE
  663. T.BURNOUT_RATE
  664. END BURNOUT_RATE
  665. FROM com_base_pline t
  666. WHERE pline_code = ?
  667. ]]>
  668. </query>
  669. <query id="FurResult.FurRackSeqQuery" desc="上料管号队列查询">
  670. <![CDATA[
  671. SELECT SEQ,
  672. MAT_NO,
  673. LOT_NO,
  674. STOVE_NO,
  675. JUDGE_STOVE_NO,
  676. STEELCODE,
  677. STEELNAME,
  678. GRADECODE,
  679. GRADENAME,
  680. PLINE_CODE,
  681. CASE STATUS
  682. WHEN '0' THEN
  683. '正常轧制'
  684. WHEN '1' THEN
  685. '剔除'
  686. END AS STATUS,
  687. TARGET_DIAMETER,
  688. '剔除管坯' SCRAP_SLAB,
  689. TARGET_LENGTH,
  690. TARGET_HEIGHT,
  691. COL_DIAMETER,
  692. COL_LENGTH,
  693. COL_HEIGHT,
  694. TO_CHAR(IN_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') IN_FUR_TIME,
  695. START_POS,
  696. MAT_POS,
  697. TO_CHAR(OUT_FUR_TIME, 'YYYY-MM-DD HH24:MI:SS') OUT_FUR_TIME,
  698. OUT_FUR_TEMP,
  699. GROUP_FLAG,
  700. BEFORE_HEAT_NO,
  701. BEFORE_MAT_NO,
  702. TO_CHAR(SCRAP_TIME, 'YYYY-MM-DD HH24:MI:SS') SCRAP_TIME,
  703. REMARK,
  704. COL_MODE,
  705. TO_CHAR(COL_TIME, 'YYYY-MM-DD HH24:MI:SS') COL_TIME,
  706. COL_USER,
  707. case COL_SHIFT
  708. WHEN '0' THEN
  709. '常白班'
  710. WHEN '1' THEN
  711. '早班'
  712. WHEN '2' THEN
  713. '中班'
  714. WHEN '3' THEN
  715. '夜班'
  716. end as COL_SHIFT,
  717. case COL_GROUP
  718. WHEN '1' THEN
  719. '甲'
  720. WHEN '2' THEN
  721. '乙'
  722. WHEN '3' THEN
  723. '丙'
  724. WHEN '4' THEN
  725. '丁'
  726. end as COL_GROUP,
  727. case IN_SHIFT
  728. WHEN '0' THEN
  729. '常白班'
  730. WHEN '1' THEN
  731. '早班'
  732. WHEN '2' THEN
  733. '中班'
  734. WHEN '3' THEN
  735. '夜班'
  736. end as IN_SHIFT,
  737. case IN_GROUP
  738. WHEN '1' THEN
  739. '甲'
  740. WHEN '2' THEN
  741. '乙'
  742. WHEN '3' THEN
  743. '丙'
  744. WHEN '4' THEN
  745. '丁'
  746. end as IN_GROUP,
  747. IN_USER,
  748. SCRAP_REASON,
  749. case OUT_CHANGE_FLAG
  750. WHEN '1' THEN
  751. '出炉接班确认'
  752. WHEN '2' THEN
  753. '出炉交班待确认'
  754. end as OUT_CHANGE_FLAG,
  755. case IN_CHANGE_FLAG
  756. WHEN '1' THEN
  757. '入炉接班确认'
  758. WHEN '2' THEN
  759. '入炉交班待确认'
  760. end as IN_CHANGE_FLAG,
  761. '入炉交班' IN_CHANGE_NUM,
  762. '出炉交班' OUT_CHANGE_NUM,
  763. '入炉接班确认' BTNINCHANGECOM,
  764. '出炉接班确认' BTNOUTCHANGECOM,
  765. PRO_PLAN_ID,
  766. GX_PLAN_NO
  767. FROM MIL_FUR_RACK
  768. WHERE JUDGE_STOVE_NO = ?
  769. and PRO_PLAN_ID || '&' LIKE '%' || ? || '%'
  770. and GX_PLAN_NO || '&' LIKE '%' || ? || '%'
  771. ORDER BY status, SEQ
  772. ]]>
  773. </query>
  774. <query id = "updateProcess.UpdateFlag" desc = "结炉时剔除管号队列进程表">
  775. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T SET T.STATUS = '1',T.OP_PROCESS = '#OP_PROCESS#' WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.M_MAT_NO = '#MAT_NO#'
  776. </query>
  777. <!-- DECLARE
  778. BEGIN
  779. FOR MYROW1 IN (SELECT M_MAT_NO
  780. FROM (SELECT ROWNUM SEQ, M_MAT_NO
  781. FROM (SELECT T.M_MAT_NO,
  782. T.IS_SAMPLE_PIPE,
  783. T.INSTORE_FLAG,
  784. ROW_NUMBER() OVER(PARTITION BY M_MAT_NO ORDER BY IS_SAMPLE_PIPE DESC,INSTORE_FLAG DESC) RN
  785. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  786. WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  787. AND (T.OP_PROCESS IS NULL OR
  788. T.OP_PROCESS = '#OP_PROCESS#')
  789. )
  790. WHERE RN = '1'
  791. AND INSTORE_FLAG = '0')
  792. WHERE SEQ = '#SEQ#') LOOP
  793. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T SET T.STATUS = '1',T.OP_PROCESS = '#OP_PROCESS#' WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.M_MAT_NO = MYROW1.M_MAT_NO;
  794. END LOOP;
  795. END;
  796. FOR MYROW1 IN (SELECT M_MAT_NO
  797. FROM (SELECT ROWNUM SEQ, M_MAT_NO
  798. FROM (
  799. SELECT *
  800. FROM (SELECT M_MAT_NO
  801. FROM (SELECT ROWNUM SEQ, M_MAT_NO
  802. FROM (select M_MAT_NO, count(1) cnt
  803. from (SELECT T1.M_MAT_NO, t1.is_sample_pipe
  804. FROM (SELECT T.M_MAT_NO,
  805. t.is_sample_pipe
  806. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  807. WHERE T.JUDGE_STOVE_NO =
  808. '570834-01'
  809. AND T.STATUS = '0'
  810. AND T.INSTORE_FLAG = '0'
  811. ORDER BY T.MAT_NO ASC) T1
  812. GROUP BY T1.M_MAT_NO, t1.is_sample_pipe)
  813. group by M_MAT_NO)
  814. where cnt = 1)
  815. ORDER BY M_MAT_NO)
  816. union all
  817. SELECT M_MAT_NO
  818. FROM (SELECT ROWNUM SEQ, M_MAT_NO
  819. FROM (select M_MAT_NO, count(1) cnt
  820. from (SELECT T1.M_MAT_NO, t1.is_sample_pipe
  821. FROM (SELECT T.M_MAT_NO, t.is_sample_pipe
  822. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  823. WHERE T.JUDGE_STOVE_NO = '570834-01'
  824. AND T.STATUS = '0'
  825. AND T.INSTORE_FLAG = '0'
  826. ORDER BY T.IS_SAMPLE_PIPE, T.MAT_NO ASC) T1
  827. GROUP BY T1.M_MAT_NO, t1.is_sample_pipe)
  828. group by M_MAT_NO)
  829. where cnt > 1))
  830. WHERE ROWNUM = 1
  831. )) LOOP
  832. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T SET T.STATUS = '1',T.OP_PROCESS = '#OP_PROCESS#' WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.M_MAT_NO = MYROW1.M_MAT_NO;
  833. END LOOP;
  834. END;
  835. -->
  836. <query id = "updateProcess.selectScrap" desc = "上料锯切查询剔除序号">
  837. <![CDATA[
  838. SELECT T.PROCESS_NO, T.SEQ, T.JUDGE_STOVE_NO, T.MAT_NO
  839. FROM MIL_SLAB_SCRAP_SEQ T
  840. WHERE T.JUDGE_STOVE_NO = ?
  841. AND T.PROCESS_NO = ?
  842. AND T.PRO_PLAN_ID || '&' LIKE '%' || ? || '%'
  843. AND T.GX_PLAN_NO || '&' LIKE '%' || ? || '%'
  844. ]]>
  845. </query>
  846. <query id = "FurResult.updateMilSlab" desc = "赋值材料号到剔废表">
  847. <![CDATA[
  848. DECLARE
  849. BEGIN
  850. FOR MYROW IN (SELECT T.SEQ, T.MAT_NO, T.JUDGE_STOVE_NO
  851. FROM #RACK# T
  852. WHERE T.JUDGE_STOVE_NO = ?
  853. AND T.PRO_PLAN_ID || '&' LIKE '%' || ? || '%'
  854. AND T.GX_PLAN_NO || '&' LIKE '%' || ? || '%'
  855. AND T.STATUS = '1'
  856. ORDER BY T.SEQ) LOOP
  857. UPDATE MIL_SLAB_SCRAP_SEQ T
  858. SET T.MAT_NO = MYROW.MAT_NO
  859. WHERE T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO
  860. AND T.SEQ = MYROW.SEQ
  861. AND T.PROCESS_NO = ?;
  862. END LOOP;
  863. END;
  864. ]]>
  865. </query>
  866. <query id = "FurResult.selectPortBacthSlample" desc = "查询样管信息">
  867. SELECT T.M_MAT_NO FROM PORT_MIL_BATCH_SAMPLE_RESULT T WHERE T.M_MAT_NO = ? AND T.IS_SAMPLE_PIPE = '1'
  868. </query>
  869. <query id = "FurResult.selectStartTime" desc= "查询第一支出炉时间">
  870. <![CDATA[
  871. SELECT TO_CHAR(MIN(DECODE(T.PLINE_CODE,
  872. 'C010',
  873. T.FIRST_OUT_TIME + 1 / 24,
  874. T.FIRST_OUT_TIME + 2 / 24)),
  875. 'YYYY-MM-DD HH24:MI:SS') START_TIME
  876. FROM MIL_FUR_RESULT T
  877. WHERE REGEXP_REPLACE(T.JUDGE_STOVE_NO, '-.*', '') = ?
  878. AND T.RESULT_NO = ?
  879. ]]>
  880. </query>
  881. </queryMap>