FrmComposeFurnaces.xml 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc = "荒管组炉管理">
  3. <query id = "FrmComposeFurnaces.doQueryScrap" desc = "荒管剔除待处理实绩表">
  4. <![CDATA[
  5. SELECT T.LOT_NO,
  6. T.STOVE_NO,
  7. T.JUDGE_STOVE_NO,
  8. T.DIAMETER,
  9. T.THICKNESS,
  10. T.LENGTH,
  11. T.PLINE_CODE,
  12. (SELECT P.PLINE_NAME
  13. FROM COM_BASE_PLINE P
  14. WHERE P.PLINE_CODE = T.PLINE_CODE) pline_Name,
  15. T.OFFLINE_NUM,
  16. (T.OFFLINE_NUM - T.GROUP_NUM) Col_Num,
  17. T.GROUP_NUM,
  18. T.ZP_FLAG,
  19. T.STATUS,
  20. TO_CHAR(T.COL_TIME, 'YYYY-MM-DD HH24:MI:SS') COL_TIME,
  21. T.REMARK,
  22. T.COL_USER,
  23. DECODE(T.COL_SHIFT,
  24. '0',
  25. '常白班',
  26. '1',
  27. '早班',
  28. '2',
  29. '中班',
  30. '3',
  31. '夜班') COL_SHIFT,
  32. DECODE(T.COL_GROUP,
  33. '1',
  34. '甲班',
  35. '2',
  36. '乙班',
  37. '3',
  38. '丙班',
  39. '4',
  40. '丁班') COL_GROUP,
  41. T.ZP_HEIGHT,
  42. T.RECHECK_NUM,
  43. T.PRODUCNAME,
  44. T.STEELCODE,
  45. T.STEELNAME,
  46. T.GRADECODE,
  47. T.GRADENAME,
  48. T.SPEC_CODE,
  49. T.SPEC_NAME,
  50. T.MODEL_CODE,
  51. T.MODEL_DESC,
  52. T.STD_CODE,
  53. T.STD_NAME,
  54. T.STD_STYLE,
  55. T.STD_STYLE_DESC,
  56. T.CONTRACT_NO,
  57. T.PRODUCCODE,
  58. T.ACT_LEN_RANGE,
  59. T.TARGET,
  60. T.PRO_PLAN_ID,
  61. T.GX_PLAN_NO
  62. FROM MIL_FURNACES_RESLUT T
  63. where 1 = 1
  64. AND T.JUDGE_STOVE_NO || '&' LIKE '%' || ? || '%'
  65. AND T.PLINE_CODE = ?
  66. AND T.STATUS = '0'
  67. ]]>
  68. </query>
  69. <query id = "FrmComposeFurnaces.updateFurnaceReslut" desc = "修改荒管剔除待处理实绩表状态,以及插入子表数据">
  70. <![CDATA[
  71. DECLARE
  72. V_COL_NUM MIL_FURNACES_RESLUT.OFFLINE_NUM%TYPE := ?;
  73. V_OFFLINE_NUM MIL_FURNACES_RESLUT.OFFLINE_NUM%TYPE := ?;
  74. V_GROUP_NUM MIL_FURNACES_RESLUT.GROUP_NUM%TYPE := ?;
  75. V_JUDGE_STOVE_NO MIL_FURNACES_RESLUT.JUDGE_STOVE_NO%TYPE := ?;
  76. V_LOT_NO MIL_FURNACES_RESLUT.LOT_NO%TYPE := ?;
  77. V_PLINE_CODE MIL_FURNACES_RESLUT.PLINE_CODE%TYPE := ?;
  78. V_PRO_PLAN_ID MIL_FURNACES_RESLUT.PRO_PLAN_ID%TYPE := ?;
  79. V_GX_PLAN_NO MIL_FURNACES_RESLUT.GX_PLAN_NO%TYPE := ?;
  80. V_ZP_HEIGHT MIL_FURNACES_RESLUT.ZP_HEIGHT%TYPE := NULL;
  81. BEGIN
  82. IF (V_OFFLINE_NUM - V_GROUP_NUM > V_COL_NUM) THEN
  83. UPDATE MIL_FURNACES_RESLUT T
  84. SET T.GROUP_NUM = V_GROUP_NUM + V_COL_NUM, T.ZP_FLAG = '1'
  85. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  86. AND T.LOT_NO = V_LOT_NO
  87. AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
  88. AND T.GX_PLAN_NO = V_GX_PLAN_NO
  89. AND T.PLINE_CODE = V_PLINE_CODE;
  90. ELSE
  91. UPDATE MIL_FURNACES_RESLUT T
  92. SET T.GROUP_NUM = V_OFFLINE_NUM, T.ZP_FLAG = '2', T.STATUS = '1'
  93. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  94. AND T.LOT_NO = V_LOT_NO
  95. AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
  96. AND T.GX_PLAN_NO = V_GX_PLAN_NO
  97. AND T.PLINE_CODE = V_PLINE_CODE;
  98. END IF;
  99. SELECT T.ZP_HEIGHT / T.OFFLINE_NUM * V_COL_NUM
  100. INTO V_ZP_HEIGHT
  101. FROM MIL_FURNACES_RESLUT T
  102. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  103. AND T.LOT_NO = V_LOT_NO
  104. AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
  105. AND T.GX_PLAN_NO = V_GX_PLAN_NO
  106. AND T.PLINE_CODE = V_PLINE_CODE;
  107. INSERT INTO MIL_FURNACES_RESLUT_DETIA
  108. (LOT_NO,
  109. STOVE_NO,
  110. JUDGE_STOVE_NO,
  111. DIAMETER,
  112. THICKNESS,
  113. LENGTH,
  114. PLINE_CODE,
  115. GROUP_NUM,
  116. COL_TIME,
  117. REMARK,
  118. COL_USER,
  119. COL_SHIFT,
  120. COL_GROUP,
  121. ZP_HEIGHT,
  122. PRODUCNAME,
  123. STEELCODE,
  124. STEELNAME,
  125. GRADECODE,
  126. GRADENAME,
  127. SPEC_CODE,
  128. SPEC_NAME,
  129. MODEL_CODE,
  130. MODEL_DESC,
  131. STD_CODE,
  132. STD_NAME,
  133. STD_STYLE,
  134. STD_STYLE_DESC,
  135. CONTRACT_NO,
  136. PRODUCCODE,
  137. ACT_LEN_RANGE,
  138. ZP_LOT_NO,
  139. ZP_JUDGE_STOVE_NO,
  140. TARGET,
  141. PRO_PLAN_ID,
  142. GX_PLAN_NO)
  143. VALUES
  144. (V_LOT_NO,
  145. ?,
  146. V_JUDGE_STOVE_NO,
  147. ?,
  148. ?,
  149. ?,
  150. ?,
  151. V_COL_NUM,
  152. SYSDATE,
  153. ?,
  154. ?,
  155. ?,
  156. ?,
  157. V_ZP_HEIGHT,
  158. ?,
  159. ?,
  160. ?,
  161. ?,
  162. ?,
  163. ?,
  164. ?,
  165. ?,
  166. ?,
  167. ?,
  168. ?,
  169. ?,
  170. ?,
  171. ?,
  172. ?,
  173. ?,
  174. ?,
  175. ?,
  176. ?,
  177. V_PRO_PLAN_ID,
  178. V_GX_PLAN_NO);
  179. END;
  180. ]]>
  181. </query>
  182. <query id = "FrmComposeFurnaces.insertFurnaceGroup" desc = "插入荒管组炉实绩表">
  183. <![CDATA[
  184. DECLARE
  185. V_OPERATION_ID MIL_FURNACES_GROUP.OPERATION_ID%TYPE := NULL;
  186. V_ZP_COUNT MIL_FURNACES_GROUP.ZP_COUNT%TYPE := NULL;
  187. V_ZP_HEIGHT MIL_FURNACES_GROUP.ZP_HEIGHT%TYPE := NULL;
  188. V_ZP_JUDGE_STOVE_NO MIL_FURNACES_GROUP.ZP_JUDGE_STOVE_NO%TYPE := ?;
  189. V_ZP_LOT_NO MIL_FURNACES_GROUP.ZP_LOT_NO%TYPE := ?;
  190. V_PLINE_CODE MIL_FURNACES_GROUP.PLINE_CODE%TYPE := ?;
  191. BEGIN
  192. SELECT TO_CHAR(SYSDATE, 'YYMMDD') ||
  193. LPAD(NVL(MAX(SUBSTR(T.OPERATION_ID, 7)), 0) + 1, 5, 0) OPERATION_ID
  194. INTO V_OPERATION_ID
  195. FROM MIL_FURNACES_GROUP T
  196. WHERE TO_CHAR(T.ZP_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD');
  197. SELECT SUM(T.GROUP_NUM), SUM(T.ZP_HEIGHT)
  198. INTO V_ZP_COUNT, V_ZP_HEIGHT
  199. FROM MIL_FURNACES_RESLUT_DETIA T
  200. WHERE T.ZP_JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  201. AND T.ZP_LOT_NO = V_ZP_LOT_NO
  202. AND T.PLINE_CODE = V_PLINE_CODE;
  203. INSERT INTO MIL_FURNACES_GROUP
  204. (ZP_JUDGE_STOVE_NO,
  205. ZP_LOT_NO,
  206. ZP_COUNT,
  207. ZP_STANDRAD,
  208. ZP_STEEL,
  209. ZP_GRADE,
  210. ZP_LENGTH,
  211. ZP_HEIGHT,
  212. ZP_LENGTH_RANGE,
  213. ZP_LEVEL,
  214. ZP_SIZE,
  215. ZP_TIME,
  216. REMARK,
  217. COL_USER,
  218. COL_SHIFT,
  219. COL_GROUP,
  220. DIAMETER,
  221. THICKNESS,
  222. VARIETIES,
  223. PLINE_CODE,
  224. MODEL_DESC,
  225. OPERATION_ID,
  226. PRO_PLAN_ID,
  227. GX_PLAN_NO)
  228. VALUES
  229. (V_ZP_JUDGE_STOVE_NO,
  230. V_ZP_LOT_NO,
  231. V_ZP_COUNT,
  232. ?,
  233. ?,
  234. ?,
  235. ?,
  236. V_ZP_HEIGHT,
  237. ?,
  238. '',
  239. ?,
  240. SYSDATE,
  241. ?,
  242. ?,
  243. ?,
  244. ?,
  245. ?,
  246. ?,
  247. ?,
  248. ?,
  249. ?,
  250. V_OPERATION_ID,
  251. ?,
  252. ?);
  253. END;
  254. ]]>
  255. </query>
  256. <query id= "FrmComposeFurnaces.doQueryFuracesGroup" desc = "查询是否已存在该炉号">
  257. SELECT COUNT(1) ACOUNT
  258. FROM MIL_FURNACES_GROUP T
  259. WHERE T.ZP_JUDGE_STOVE_NO = ?
  260. </query>
  261. <query id= "FrmComposeFurnaces.insertMilPlan" desc = "插入计划表、锯切实绩表">
  262. <![CDATA[
  263. DECLARE
  264. V_JUDGE_STOVE_NO MIL_PLAN.JUDGE_STOVE_NO%TYPE := ?;
  265. V_LOT_NO MIL_PLAN.LOT_NO%TYPE := ?;
  266. V_PLINE_CODE MIL_PLAN.PLINE_CODE%TYPE := ?;
  267. V_ZP_JUDGE_STOVE_NO MIL_PLAN.JUDGE_STOVE_NO%TYPE := ?;
  268. V_ZP_LOT_NO MIL_PLAN.LOT_NO%TYPE := ?;
  269. V_ID MIL_PLAN.ID%TYPE := NULL;
  270. V_QUALIFIED_NUM MIL_ROLLING_RESULT.QUALIFIED_NUM%TYPE := ?;
  271. V_SAW_NUM MIL_PLAN.SAW_NUM%TYPE := NULL;
  272. V_SAW_NUM2 MIL_PLAN.SAW_NUM%TYPE := ?;
  273. BEGIN
  274. --生成主键
  275. SELECT TO_CHAR(SYSDATE, 'YYMMDD') ||
  276. LPAD(NVL(MAX(SUBSTR(T.ID, 7)), 0) + 1, 3, 0) DI
  277. INTO V_ID
  278. FROM MIL_PLAN T
  279. WHERE T.PLINE_CODE = V_PLINE_CODE
  280. AND TO_CHAR(T.TOM, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD');
  281. SELECT CASE
  282. WHEN V_SAW_NUM2 > 0 THEN
  283. V_SAW_NUM2
  284. ELSE
  285. MAX(T.SAW_NUM)
  286. END
  287. INTO V_SAW_NUM
  288. FROM MIL_PLAN T
  289. WHERE T.CONTRACT_NO = ?;
  290. FOR MYROW IN (SELECT *
  291. FROM MIL_PLAN T
  292. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  293. AND T.LOT_NO = V_LOT_NO
  294. AND T.PLINE_CODE = V_PLINE_CODE) LOOP
  295. INSERT INTO MIL_PLAN
  296. (LENGTHCP,
  297. CUT_HEAD_LENGTHA,
  298. CUT_TRAIL_LENGTHA,
  299. ORDER_LENGTHA,
  300. HOT_CHECK_FLAG,
  301. FEED_SEQ,
  302. FEED_HEAT_NO,
  303. LOT_SEQ,
  304. STEEL_STANDRAD,
  305. TARGET,
  306. BRANCH,
  307. TON,
  308. CUT_TARGET,
  309. CUT_LENGTH,
  310. CUT_WEIGHT,
  311. --DB_NUM,
  312. START_TIME,
  313. END_TIME,
  314. TOM,
  315. TOC,
  316. NODE_STATUS,
  317. CUT_HEAD_LENGTHP,
  318. CUT_TRAIL_LENGTHP,
  319. CONTROL_THICKP,
  320. OFFLINE_FLAG,
  321. IS_BATCH,
  322. OFFLINE_DATE,
  323. CUT_TYPE,
  324. ROLLING_STATUS,
  325. PRODUCE_STANDRAD,
  326. SIMPLE_PROCESS,
  327. BACK_LINE_FLAG,
  328. BACK_PLAN_FLAG,
  329. FEED_TIME,
  330. ID,
  331. SEQ,
  332. STOVE_NO,
  333. JUDGE_STOVE_NO,
  334. LOT_NO,
  335. CONTRACT_NO,
  336. IMP_PROCESS,
  337. PLINE_CODE,
  338. STATUS,
  339. PRODUCER,
  340. PROCESS_STATUS,
  341. DB_LENGTH,
  342. DB_HEIGHT,
  343. ROLL_LENGTH,
  344. SAW_NUM,
  345. TARGET_LENGTH,
  346. FINISH_USER,
  347. TARGET_LIABRARY,
  348. VARIETIES,
  349. PIPE_SIZE,
  350. BUCKLE_TYPE,
  351. LENGTH_RANGE,
  352. ROLL_STANDRAD,
  353. PIPE_SECTION,
  354. STEELCODE,
  355. STEELNAME,
  356. GRADECODE,
  357. GRADENAME,
  358. ORD_LN_DLY_PK,
  359. PRT_FLAG,
  360. PRO_PLAN_ID,
  361. GX_PLAN_NO,
  362. VARIETIES_CODE,
  363. PIPE_SIZE_CODE,
  364. BUCKLE_TYPE_CODE,
  365. ROLL_STANDRAD_CODE,
  366. STD_STYLE,
  367. STD_STYLE_DESC,
  368. CRAFT_SEQ,
  369. CIC,
  370. INDEX_SEQ,
  371. PIC,
  372. IF_PRODUCT,
  373. PRDCR_NO,
  374. IF_MONITOR)
  375. VALUES
  376. (MYROW.LENGTHCP,
  377. MYROW.CUT_HEAD_LENGTHA,
  378. MYROW.CUT_TRAIL_LENGTHA,
  379. MYROW.ORDER_LENGTHA,
  380. MYROW.HOT_CHECK_FLAG,
  381. MYROW.FEED_SEQ,
  382. MYROW.FEED_HEAT_NO,
  383. MYROW.LOT_SEQ,
  384. MYROW.STEEL_STANDRAD,
  385. MYROW.TARGET,
  386. '',
  387. '',
  388. MYROW.CUT_TARGET,
  389. MYROW.CUT_LENGTH,
  390. MYROW.CUT_WEIGHT,
  391. --MYROW.DB_NUM,
  392. sysdate,
  393. sysdate,
  394. sysdate,
  395. '',
  396. '40',
  397. MYROW.CUT_HEAD_LENGTHP,
  398. MYROW.CUT_TRAIL_LENGTHP,
  399. MYROW.CONTROL_THICKP,
  400. '2',
  401. '0',
  402. '',
  403. MYROW.CUT_TYPE,
  404. '0',
  405. MYROW.PRODUCE_STANDRAD,
  406. --?,
  407. MYROW.SIMPLE_PROCESS,
  408. '0',
  409. '5',
  410. MYROW.FEED_TIME,
  411. MYROW.ID,
  412. MYROW.SEQ,
  413. MYROW.STOVE_NO,
  414. --JUDGE_STOVE_NO,
  415. V_ZP_JUDGE_STOVE_NO,
  416. --LOT_NO,
  417. V_ZP_LOT_NO,
  418. --MYROW.CONTRACT_NO
  419. ?,
  420. MYROW.IMP_PROCESS,
  421. MYROW.PLINE_CODE,
  422. '45',
  423. MYROW.PRODUCER,
  424. MYROW.PROCESS_STATUS,
  425. MYROW.DB_LENGTH,
  426. MYROW.DB_HEIGHT,
  427. MYROW.ROLL_LENGTH,
  428. V_SAW_NUM,
  429. MYROW.TARGET_LENGTH,
  430. MYROW.FINISH_USER,
  431. MYROW.TARGET_LIABRARY,
  432. --MYROW.VARIETIES,
  433. ?,
  434. --MYROW.PIPE_SIZE,
  435. ?,
  436. --MYROW.BUCKLE_TYPE,
  437. ?,
  438. MYROW.LENGTH_RANGE,
  439. MYROW.ROLL_STANDRAD,
  440. MYROW.PIPE_SECTION,
  441. MYROW.STEELCODE,
  442. --?,
  443. MYROW.STEELNAME,
  444. --?,
  445. MYROW.GRADECODE,
  446. MYROW.GRADENAME,
  447. MYROW.ORD_LN_DLY_PK,
  448. MYROW.PRT_FLAG,
  449. MYROW.PRO_PLAN_ID,
  450. MYROW.GX_PLAN_NO,
  451. MYROW.VARIETIES_CODE,
  452. MYROW.PIPE_SIZE_CODE,
  453. MYROW.BUCKLE_TYPE_CODE,
  454. MYROW.ROLL_STANDRAD_CODE,
  455. MYROW.STD_STYLE,
  456. MYROW.STD_STYLE_DESC,
  457. MYROW.CRAFT_SEQ,
  458. MYROW.CIC,
  459. MYROW.INDEX_SEQ,
  460. MYROW.PIC,
  461. MYROW.IF_PRODUCT,
  462. MYROW.PRDCR_NO,
  463. MYROW.IF_MONITOR);
  464. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  465. SET T.PLAN_ID = MYROW.ID
  466. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  467. AND T.LOT_NO = V_ZP_LOT_NO
  468. AND T.PLINE_CODE = V_PLINE_CODE;
  469. UPDATE MIL_REFUR_RACK T
  470. SET T.RESULT_NO = MYROW.ID
  471. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  472. AND T.LOT_NO = V_ZP_LOT_NO
  473. AND T.PLINE_CODE = V_PLINE_CODE;
  474. INSERT INTO MIL_FEEDSAW_RESULT
  475. (RESULT_NO,
  476. LOT_NO,
  477. JUDGE_STOVE_NO,
  478. PLINE_CODE,
  479. COL_TIME,
  480. PRO_PLAN_ID,
  481. GX_PLAN_NO)
  482. VALUES
  483. (MYROW.ID,
  484. V_ZP_LOT_NO,
  485. V_ZP_JUDGE_STOVE_NO,
  486. V_PLINE_CODE,
  487. SYSDATE,
  488. MYROW.PRO_PLAN_ID,
  489. MYROW.GX_PLAN_NO);
  490. INSERT INTO MIL_ROLLING_RESULT
  491. (RESULT_NO,
  492. LOT_NO,
  493. JUDGE_STOVE_NO,
  494. PLINE_CODE,
  495. COL_TIME,
  496. QUALIFIED_NUM,
  497. ROLLINGNUM,
  498. PRO_PLAN_ID,
  499. GX_PLAN_NO)
  500. VALUES
  501. (MYROW.ID,
  502. V_ZP_LOT_NO,
  503. V_ZP_JUDGE_STOVE_NO,
  504. V_PLINE_CODE,
  505. SYSDATE,
  506. V_QUALIFIED_NUM,
  507. V_QUALIFIED_NUM,
  508. MYROW.PRO_PLAN_ID,
  509. MYROW.GX_PLAN_NO);
  510. END LOOP;
  511. END;
  512. ]]>
  513. </query>
  514. <query id= "FrmComposeFurnaces.insertRefurRack" desc = "插入再加热炉及后续工序管号队列跟踪表">
  515. <![CDATA[
  516. DECLARE
  517. V_SEQ MIL_REFUR_RACK.SEQ%TYPE := NULL;
  518. V_SEQ1 MIL_REFUR_RACK.SEQ%TYPE := NULL;
  519. V_SEQ2 MIL_REFUR_RACK.SEQ%TYPE := NULL;
  520. V_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?; --当前炉号
  521. V_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?; --当前生产批号
  522. V_PLINE_CODE MIL_REFUR_RACK.PLINE_CODE%TYPE := ?; --产线
  523. V_ZP_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?; --组炉炉号
  524. V_ZP_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?; --组炉生产批号
  525. V_GROUP_NUM MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := ?; --操作支数
  526. V_SAW_NUM MIL_PLAN.SAW_NUM%TYPE := ?; --传进来的分切数
  527. V_SAW_NUM_M MIL_PLAN.SAW_NUM%TYPE := NULL; --主炉号分切数
  528. V_SAW_NUM_T MIL_PLAN.SAW_NUM%TYPE := NULL; --当前炉分切数
  529. V_GROUP_NUM1 MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := NULL; --切后支数
  530. N MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := 1;
  531. M MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := 1;
  532. V_JUDGE_STOVE_NO_M MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?; --主炉炉号
  533. V_LOT_NO_M MIL_REFUR_RACK.LOT_NO%TYPE := ?; --主炉生产批号
  534. V_ID MIL_PLAN.ID%TYPE := NULL; --主炉ID
  535. V_TARGET MIL_PLAN.TARGET%TYPE := NULL;
  536. V_ORDER_LENGTHA MIL_PLAN.ORDER_LENGTHA%TYPE := NULL;
  537. V_PRO_PLAN_ID MIL_PLAN.PRO_PLAN_ID%TYPE := NULL;
  538. V_GX_PLAN_NO MIL_PLAN.GX_PLAN_NO%TYPE := NULL;
  539. V_BAL_YEAR_MONTH PORT_MIL_BATCH_SAMPLE_RESULT.BAL_YEAR_MONTH%TYPE := NULL;
  540. V_COUNT MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := 0; --已写入的坯子数
  541. BEGIN
  542. --生成管序号
  543. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  544. INTO V_SEQ
  545. FROM MIL_REFUR_RACK T
  546. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  547. AND T.LOT_NO = V_ZP_LOT_NO
  548. AND T.PLINE_CODE = V_PLINE_CODE;
  549. --生成冷区管序号
  550. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  551. INTO V_SEQ1
  552. FROM MIL_STRAIGH_RACK T
  553. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  554. AND T.LOT_NO = V_ZP_LOT_NO
  555. AND T.PLINE_CODE = V_PLINE_CODE;
  556. --生成进程表管序号
  557. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  558. INTO V_SEQ2
  559. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  560. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  561. AND T.LOT_NO = V_ZP_LOT_NO
  562. AND T.PLINE_CODE = V_PLINE_CODE;
  563. --计算切后支数
  564. IF (V_SAW_NUM > 0) THEN
  565. V_GROUP_NUM1 := V_SAW_NUM * V_GROUP_NUM;
  566. ELSE
  567. SELECT T.SAW_NUM * V_GROUP_NUM, T.SAW_NUM
  568. INTO V_GROUP_NUM1, V_SAW_NUM
  569. FROM MIL_PLAN T
  570. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO_M
  571. AND T.LOT_NO = V_LOT_NO_M
  572. AND T.PLINE_CODE = V_PLINE_CODE;
  573. END IF;
  574. --查询主炉号的ID,去向,定尺长度 ORDER_LENGTHA
  575. SELECT T.ID,
  576. DECODE(T.TARGET, 'A', '01', 'B', '02', 'C', '03'),
  577. T.ORDER_LENGTHA,
  578. T.PRO_PLAN_ID,
  579. T.GX_PLAN_NO
  580. INTO V_ID, V_TARGET, V_ORDER_LENGTHA, V_PRO_PLAN_ID, V_GX_PLAN_NO
  581. FROM MIL_PLAN T
  582. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO_M
  583. AND T.LOT_NO = V_LOT_NO_M
  584. AND T.PLINE_CODE = V_PLINE_CODE;
  585. --查询当炉的结转年月
  586. SELECT MIN(T.BAL_YEAR_MONTH)
  587. INTO V_BAL_YEAR_MONTH
  588. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  589. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  590. AND T.PLINE_CODE = V_PLINE_CODE;
  591. --当前炉的分切数
  592. SELECT T.SAW_NUM
  593. INTO V_SAW_NUM_T
  594. FROM MIL_PLAN T
  595. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  596. AND T.PLINE_CODE = V_PLINE_CODE;
  597. --已写入的坯子数
  598. SELECT COUNT(1)
  599. INTO V_COUNT
  600. FROM MIL_REFUR_RACK T
  601. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  602. AND T.PLINE_CODE = V_PLINE_CODE;
  603. WHILE N < V_GROUP_NUM + 1 LOOP
  604. BEGIN
  605. V_COUNT := V_COUNT + 1;
  606. --插入再加热炉跟踪表
  607. INSERT INTO MIL_REFUR_RACK
  608. (MAT_NO,
  609. LOT_NO,
  610. JUDGE_STOVE_NO,
  611. PLINE_CODE,
  612. GROUP_FLAG,
  613. COL_TIME,
  614. SEQ,
  615. RESULT_NO,
  616. STATUS,
  617. PRO_PLAN_ID,
  618. GX_PLAN_NO)
  619. VALUES
  620. (REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
  621. V_COUNT,
  622. V_ZP_LOT_NO,
  623. V_ZP_JUDGE_STOVE_NO,
  624. V_PLINE_CODE,
  625. '1',
  626. SYSDATE,
  627. V_SEQ,
  628. V_ID,
  629. '0',
  630. V_PRO_PLAN_ID,
  631. V_GX_PLAN_NO);
  632. --插入定径跟踪表
  633. INSERT INTO MIL_SIZING_RACK
  634. ( --MAT_NO,
  635. LOT_NO,
  636. JUDGE_STOVE_NO,
  637. PLINE_CODE,
  638. GROUP_FLAG,
  639. COL_TIME,
  640. SEQ,
  641. RESULT_NO,
  642. STATUS,
  643. PRO_PLAN_ID,
  644. GX_PLAN_NO)
  645. VALUES
  646. ( --MYROW.MAT_NO,
  647. V_ZP_LOT_NO,
  648. V_ZP_JUDGE_STOVE_NO,
  649. V_PLINE_CODE,
  650. '1',
  651. SYSDATE,
  652. V_SEQ,
  653. V_ID,
  654. '0',
  655. V_PRO_PLAN_ID,
  656. V_GX_PLAN_NO);
  657. --插入管排锯跟踪表
  658. INSERT INTO MIL_SAW_RACK
  659. ( --MAT_NO,
  660. LOT_NO,
  661. JUDGE_STOVE_NO,
  662. PLINE_CODE,
  663. GROUP_FLAG,
  664. COL_TIME,
  665. SEQ,
  666. RESULT_NO,
  667. STATUS,
  668. PRO_PLAN_ID,
  669. GX_PLAN_NO)
  670. VALUES
  671. ( --MYROW.MAT_NO,
  672. V_ZP_LOT_NO,
  673. V_ZP_JUDGE_STOVE_NO,
  674. V_PLINE_CODE,
  675. '1',
  676. SYSDATE,
  677. V_SEQ,
  678. V_ID,
  679. '0',
  680. V_PRO_PLAN_ID,
  681. V_GX_PLAN_NO);
  682. V_SEQ := V_SEQ + 1;
  683. M := 1;
  684. WHILE M < V_SAW_NUM + 1 LOOP
  685. BEGIN
  686. --插入矫直跟踪表
  687. INSERT INTO MIL_STRAIGH_RACK
  688. ( --MAT_NO,
  689. LOT_NO,
  690. JUDGE_STOVE_NO,
  691. PLINE_CODE,
  692. START_STRAIGHTENING_TIME,
  693. END_STRAIGHTENING_TIME,
  694. --FOLLOW_FLAG,
  695. COL_TIME,
  696. SEQ,
  697. RESULT_NO,
  698. --PIPE_LENGTH,
  699. COL_NO,
  700. STATUS,
  701. PRO_PLAN_ID,
  702. GX_PLAN_NO)
  703. VALUES
  704. ( --MYROW1.MAT_NO,
  705. V_ZP_LOT_NO,
  706. V_ZP_JUDGE_STOVE_NO,
  707. V_PLINE_CODE,
  708. '',
  709. '',
  710. --'1',
  711. SYSDATE,
  712. V_SEQ1,
  713. V_ID,
  714. --V_ORDER_LENGTHA,
  715. '1',
  716. '0',
  717. V_PRO_PLAN_ID,
  718. V_GX_PLAN_NO);
  719. --插入探伤炉跟踪表
  720. INSERT INTO MIL_TESTING_RACK
  721. ( --MAT_NO,
  722. LOT_NO,
  723. JUDGE_STOVE_NO,
  724. PLINE_CODE,
  725. START_INSPECTION_TIME,
  726. END_INSPECTION_TIME,
  727. --FOLLOW_FLAG,
  728. COL_TIME,
  729. SEQ,
  730. RESULT_NO,
  731. PIPE_LENGTH,
  732. STATUS,
  733. PRO_PLAN_ID,
  734. GX_PLAN_NO)
  735. VALUES
  736. ( --MYROW1.MAT_NO,
  737. V_ZP_LOT_NO,
  738. V_ZP_JUDGE_STOVE_NO,
  739. V_PLINE_CODE,
  740. '',
  741. '',
  742. --'1',
  743. SYSDATE,
  744. V_SEQ1,
  745. V_ID,
  746. V_ORDER_LENGTHA,
  747. '0',
  748. V_PRO_PLAN_ID,
  749. V_GX_PLAN_NO);
  750. --插入表检跟踪表
  751. INSERT INTO MIL_QA_RACK
  752. ( --MAT_NO,
  753. LOT_NO,
  754. JUDGE_STOVE_NO,
  755. PLINE_CODE,
  756. START_TIME,
  757. END_TIME,
  758. --FOLLOW_FLAG,
  759. COL_TIME,
  760. SEQ,
  761. RESULT_NO,
  762. PIPE_LENGTH,
  763. STATUS,
  764. PRO_PLAN_ID,
  765. GX_PLAN_NO)
  766. VALUES
  767. ( --MYROW1.MAT_NO,
  768. V_ZP_LOT_NO,
  769. V_ZP_JUDGE_STOVE_NO,
  770. V_PLINE_CODE,
  771. '',
  772. '',
  773. --'1',
  774. SYSDATE,
  775. V_SEQ1,
  776. V_ID,
  777. V_ORDER_LENGTHA,
  778. '0',
  779. V_PRO_PLAN_ID,
  780. V_GX_PLAN_NO);
  781. --插入进程表
  782. INSERT INTO PORT_MIL_BATCH_SAMPLE_RESULT
  783. (PLAN_ID,
  784. LOT_NO,
  785. JUDGE_STOVE_NO,
  786. PLINE_CODE,
  787. SEQ,
  788. MAT_NO,
  789. ORDER_LENGTH,
  790. CRATE_TIME,
  791. M_MAT_NO,
  792. M_M_MAT_NO,
  793. PRO_PLAN_ID,
  794. GX_PLAN_NO,
  795. bal_year_month)
  796. VALUES
  797. (V_ID,
  798. V_ZP_LOT_NO,
  799. V_ZP_JUDGE_STOVE_NO,
  800. V_PLINE_CODE,
  801. V_SEQ2,
  802. REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
  803. V_COUNT || M,
  804. V_ORDER_LENGTHA,
  805. SYSDATE,
  806. REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
  807. V_COUNT,
  808. REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT,
  809. V_PRO_PLAN_ID,
  810. V_GX_PLAN_NO,
  811. V_BAL_YEAR_MONTH);
  812. V_SEQ1 := V_SEQ1 + 1;
  813. V_SEQ2 := V_SEQ2 + 1;
  814. M := M + 1;
  815. END;
  816. END LOOP;
  817. N := N + 1;
  818. END;
  819. END LOOP;
  820. --修改原炉号组炉后的状态
  821. FOR MYROW IN (SELECT *
  822. FROM (SELECT T.*
  823. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  824. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  825. AND T.LOT_NO = V_LOT_NO
  826. AND T.PLINE_CODE = V_PLINE_CODE
  827. AND T.Status = '1'
  828. AND TRIM(T.Op_Process) = '5'
  829. AND T.GROUP_FLAG = '0'
  830. ORDER BY T.SEQ ASC)
  831. WHERE ROWNUM <= V_GROUP_NUM * V_SAW_NUM_T) LOOP
  832. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  833. SET T.BACK_PROCESS = '5', T.GROUP_FLAG = '1'
  834. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  835. AND T.MAT_NO = MYROW.MAT_NO;
  836. END LOOP;
  837. END;
  838. ]]>
  839. </query>
  840. <query id= "FrmComposeFurnaces.insertRefurRackBF" desc = "插入再加热炉及后续工序管号队列跟踪表">
  841. <![CDATA[
  842. DECLARE
  843. V_SEQ MIL_REFUR_RACK.SEQ%TYPE := NULL;
  844. V_SEQ1 MIL_REFUR_RACK.SEQ%TYPE := NULL;
  845. V_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?;
  846. V_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?;
  847. V_PLINE_CODE MIL_REFUR_RACK.PLINE_CODE%TYPE := ?;
  848. V_ZP_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?;
  849. V_ZP_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?;
  850. V_GROUP_NUM MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := ?;
  851. V_GROUP_NUM1 MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := NULL;
  852. BEGIN
  853. --生成管序号
  854. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  855. INTO V_SEQ
  856. FROM MIL_REFUR_RACK T
  857. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  858. AND T.LOT_NO = V_ZP_LOT_NO
  859. AND T.PLINE_CODE = V_PLINE_CODE;
  860. --生成冷区管序号
  861. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  862. INTO V_SEQ1
  863. FROM MIL_STRAIGH_RACK T
  864. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  865. AND T.LOT_NO = V_ZP_LOT_NO
  866. AND T.PLINE_CODE = V_PLINE_CODE;
  867. --计算切后支数
  868. SELECT T.SAW_NUM * V_GROUP_NUM
  869. INTO V_GROUP_NUM1
  870. FROM MIL_PLAN T
  871. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  872. AND T.LOT_NO = V_LOT_NO
  873. AND T.PLINE_CODE = V_PLINE_CODE;
  874. FOR MYROW IN (SELECT *
  875. FROM (SELECT T.*
  876. FROM MIL_REFUR_RACK T
  877. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  878. AND T.LOT_NO = V_LOT_NO
  879. AND T.PLINE_CODE = V_PLINE_CODE
  880. AND T.STATUS = '1'
  881. AND (T.GROUP_FLAG = '0' OR T.GROUP_FLAG IS NULL)
  882. ORDER BY T.SEQ ASC)
  883. WHERE ROWNUM <= V_GROUP_NUM) LOOP
  884. --插入再加热炉跟踪表
  885. INSERT INTO MIL_REFUR_RACK
  886. (MAT_NO,
  887. LOT_NO,
  888. JUDGE_STOVE_NO,
  889. PLINE_CODE,
  890. GROUP_FLAG,
  891. COL_TIME,
  892. SEQ,
  893. RESULT_NO,
  894. STATUS)
  895. VALUES
  896. (MYROW.MAT_NO,
  897. V_ZP_LOT_NO,
  898. V_ZP_JUDGE_STOVE_NO,
  899. V_PLINE_CODE,
  900. '1',
  901. SYSDATE,
  902. V_SEQ,
  903. MYROW.RESULT_NO,
  904. '0');
  905. --插入定径跟踪表
  906. INSERT INTO MIL_SIZING_RACK
  907. (--MAT_NO,
  908. LOT_NO,
  909. JUDGE_STOVE_NO,
  910. PLINE_CODE,
  911. GROUP_FLAG,
  912. COL_TIME,
  913. SEQ,
  914. RESULT_NO,
  915. STATUS)
  916. VALUES
  917. (--MYROW.MAT_NO,
  918. V_ZP_LOT_NO,
  919. V_ZP_JUDGE_STOVE_NO,
  920. V_PLINE_CODE,
  921. '1',
  922. SYSDATE,
  923. V_SEQ,
  924. MYROW.RESULT_NO,
  925. '0');
  926. --插入管排锯跟踪表
  927. INSERT INTO MIL_SAW_RACK
  928. (--MAT_NO,
  929. LOT_NO,
  930. JUDGE_STOVE_NO,
  931. PLINE_CODE,
  932. GROUP_FLAG,
  933. COL_TIME,
  934. SEQ,
  935. RESULT_NO,
  936. STATUS)
  937. VALUES
  938. (--MYROW.MAT_NO,
  939. V_ZP_LOT_NO,
  940. V_ZP_JUDGE_STOVE_NO,
  941. V_PLINE_CODE,
  942. '1',
  943. SYSDATE,
  944. V_SEQ,
  945. MYROW.RESULT_NO,
  946. '0');
  947. UPDATE MIL_REFUR_RACK T
  948. SET T.GROUP_FLAG = '1'
  949. WHERE T.MAT_NO = MYROW.MAT_NO;
  950. V_SEQ := V_SEQ + 1;
  951. END LOOP;
  952. FOR MYROW1 IN (SELECT *
  953. FROM (SELECT *
  954. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  955. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  956. AND T.LOT_NO = V_LOT_NO
  957. AND T.PLINE_CODE = V_PLINE_CODE
  958. AND T.STATUS = '1'
  959. AND T.OP_PROCESS = '5'
  960. ORDER BY T.SEQ ASC)
  961. WHERE ROWNUM <= V_GROUP_NUM1) LOOP
  962. --插入矫直跟踪表
  963. INSERT INTO MIL_STRAIGH_RACK
  964. (--MAT_NO,
  965. LOT_NO,
  966. JUDGE_STOVE_NO,
  967. PLINE_CODE,
  968. START_STRAIGHTENING_TIME,
  969. END_STRAIGHTENING_TIME,
  970. --FOLLOW_FLAG,
  971. COL_TIME,
  972. SEQ,
  973. RESULT_NO,
  974. PIPE_LENGTH,
  975. COL_NO,
  976. STATUS)
  977. VALUES
  978. (--MYROW1.MAT_NO,
  979. V_ZP_LOT_NO,
  980. V_ZP_JUDGE_STOVE_NO,
  981. V_PLINE_CODE,
  982. '',
  983. '',
  984. --'1',
  985. SYSDATE,
  986. V_SEQ1,
  987. MYROW1.Plan_Id,
  988. MYROW1.Order_Length,
  989. '1',
  990. '0');
  991. --插入探伤炉跟踪表
  992. INSERT INTO MIL_TESTING_RACK
  993. (--MAT_NO,
  994. LOT_NO,
  995. JUDGE_STOVE_NO,
  996. PLINE_CODE,
  997. START_INSPECTION_TIME,
  998. END_INSPECTION_TIME,
  999. --FOLLOW_FLAG,
  1000. COL_TIME,
  1001. SEQ,
  1002. RESULT_NO,
  1003. PIPE_LENGTH,
  1004. STATUS)
  1005. VALUES
  1006. (--MYROW1.MAT_NO,
  1007. V_ZP_LOT_NO,
  1008. V_ZP_JUDGE_STOVE_NO,
  1009. V_PLINE_CODE,
  1010. '',
  1011. '',
  1012. --'1',
  1013. SYSDATE,
  1014. V_SEQ1,
  1015. MYROW1.Plan_Id,
  1016. MYROW1.Order_Length,
  1017. '0');
  1018. --插入表检跟踪表
  1019. INSERT INTO MIL_QA_RACK
  1020. (--MAT_NO,
  1021. LOT_NO,
  1022. JUDGE_STOVE_NO,
  1023. PLINE_CODE,
  1024. START_TIME,
  1025. END_TIME,
  1026. --FOLLOW_FLAG,
  1027. COL_TIME,
  1028. SEQ,
  1029. RESULT_NO,
  1030. PIPE_LENGTH,
  1031. STATUS)
  1032. VALUES
  1033. (--MYROW1.MAT_NO,
  1034. V_ZP_LOT_NO,
  1035. V_ZP_JUDGE_STOVE_NO,
  1036. V_PLINE_CODE,
  1037. '',
  1038. '',
  1039. --'1',
  1040. SYSDATE,
  1041. V_SEQ1,
  1042. MYROW1.Plan_Id,
  1043. MYROW1.Order_Length,
  1044. '0');
  1045. V_SEQ1 := V_SEQ1 + 1;
  1046. END LOOP;
  1047. END;
  1048. ]]>
  1049. </query>
  1050. <query id= "FrmComposeFurnaces.insertBatch" desc = "插入进程表">
  1051. <![CDATA[
  1052. DECLARE
  1053. V_ID MIL_PLAN.ID%TYPE := NULL;
  1054. V_SEQ PORT_MIL_BATCH_SAMPLE_RESULT.SEQ%TYPE := NULL;
  1055. V_GROUP_NUM MIL_FURNACES_RESLUT_DETIA.GROUP_NUM%TYPE := NULL;
  1056. V_ZP_JUDGE_STOVE_NO MIL_PLAN.JUDGE_STOVE_NO%TYPE := ?;
  1057. V_ZP_LOT_NO MIL_PLAN.LOT_NO%TYPE := ?;
  1058. V_JUDGE_STOVE_NO MIL_PLAN.JUDGE_STOVE_NO%TYPE := ?;
  1059. V_LOT_NO MIL_PLAN.LOT_NO%TYPE := ?;
  1060. V_PLINE_CODE MIL_PLAN.PLINE_CODE%TYPE := ?;
  1061. V_COL_NUM MIL_FURNACES_RESLUT.OFFLINE_NUM%TYPE := ?;
  1062. V_PRO_PLAN_ID MIL_PLAN.PRO_PLAN_ID%TYPE := ?;
  1063. V_GX_PLAN_NO MIL_PLAN.GX_PLAN_NO%TYPE := ?;
  1064. V_PRO_PLAN_ID_M MIL_PLAN.PRO_PLAN_ID%TYPE := ?;
  1065. V_GX_PLAN_NO_M MIL_PLAN.GX_PLAN_NO%TYPE := ?;
  1066. BEGIN
  1067. --生成主键
  1068. SELECT TO_CHAR(SYSDATE, 'YYMMDD') ||
  1069. LPAD(NVL(MAX(SUBSTR(T.ID, 7)), 0) + 1, 3, 0) DI
  1070. INTO V_ID
  1071. FROM MIL_PLAN T
  1072. WHERE T.PLINE_CODE = V_PLINE_CODE
  1073. --AND REGEXP_REPLACE(T.ID,'^[-\+]?\D+(\.\D+)?$','') IS NULL
  1074. AND TO_CHAR(T.TOM, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD');
  1075. --生成管序号
  1076. SELECT (NVL(MAX(T.SEQ), 0) + 1) SEQ
  1077. INTO V_SEQ
  1078. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  1079. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  1080. AND T.LOT_NO = V_ZP_LOT_NO
  1081. AND T.PRO_PLAN_ID = V_PRO_PLAN_ID_M
  1082. AND T.GX_PLAN_NO = V_PRO_PLAN_ID_M
  1083. AND T.PLINE_CODE = V_PLINE_CODE;
  1084. --进程表中的操作支数
  1085. SELECT MAX(T.SAW_NUM) * V_COL_NUM
  1086. INTO V_GROUP_NUM
  1087. FROM MIL_PLAN T
  1088. WHERE T.CONTRACT_NO = ?;
  1089. /* SELECT V_SAW_NUM
  1090. INTO V_GROUP_NUM
  1091. FROM MIL_PLAN T
  1092. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1093. AND T.LOT_NO = V_LOT_NO
  1094. AND T.PLINE_CODE = V_PLINE_CODE;*/
  1095. FOR MYROW IN (SELECT *
  1096. FROM (SELECT T.*
  1097. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  1098. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1099. AND T.LOT_NO = V_LOT_NO
  1100. AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
  1101. AND T.GX_PLAN_NO = V_GX_PLAN_NO
  1102. AND T.PLINE_CODE = V_PLINE_CODE
  1103. AND T.Status = '1'
  1104. AND TRIM(T.Op_Process) = '5'
  1105. AND T.GROUP_FLAG = '0'
  1106. ORDER BY T.SEQ ASC)
  1107. WHERE ROWNUM <= V_GROUP_NUM) LOOP
  1108. INSERT INTO PORT_MIL_BATCH_SAMPLE_RESULT
  1109. (PLAN_ID,
  1110. LOT_NO,
  1111. STOVE_NO,
  1112. JUDGE_STOVE_NO,
  1113. PLINE_CODE,
  1114. BATCH_NO,
  1115. SEQ,
  1116. MAT_NO,
  1117. IS_SAMPLE_PIPE,
  1118. ORDER_LENGTH,
  1119. ACT_THEORY_WEIGHT,
  1120. ACT_COUNT,
  1121. CRATE_TIME,
  1122. M_MAT_NO,
  1123. M_M_MAT_NO,
  1124. INPUT_WEIGHT,
  1125. STATUS,
  1126. BACK_PROCESS,
  1127. PRO_PLAN_ID,
  1128. GX_PLAN_NO,
  1129. bal_year_month)
  1130. VALUES
  1131. (MYROW.PLAN_ID,
  1132. V_ZP_LOT_NO,
  1133. '',
  1134. V_ZP_JUDGE_STOVE_NO,
  1135. MYROW.PLINE_CODE,
  1136. MYROW.BATCH_NO,
  1137. V_SEQ,
  1138. MYROW.MAT_NO,
  1139. '0',
  1140. MYROW.ORDER_LENGTH,
  1141. MYROW.ACT_THEORY_WEIGHT,
  1142. MYROW.ACT_COUNT,
  1143. SYSDATE,
  1144. MYROW.M_MAT_NO,
  1145. MYROW.M_M_MAT_NO,
  1146. MYROW.INPUT_WEIGHT,
  1147. '0',
  1148. '',
  1149. V_PRO_PLAN_ID_M,
  1150. V_GX_PLAN_NO_M,
  1151. MYROW.bal_year_month);
  1152. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  1153. SET T.BACK_PROCESS = '5', T.GROUP_FLAG = '1'
  1154. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1155. AND T.MAT_NO = MYROW.MAT_NO;
  1156. V_SEQ := V_SEQ + 1;
  1157. END LOOP;
  1158. END;
  1159. ]]>
  1160. </query>
  1161. <query id= "FrmComposeFurnaces.cancelFurnaceReslut" desc = "修改荒管剔除待处理实绩表状态,以及删除子表数据">
  1162. <![CDATA[
  1163. DECLARE
  1164. V_ZP_JUDGE_STOVE_NOM MIL_FURNACES_RESLUT_DETIA.ZP_JUDGE_STOVE_NO%TYPE := ?;
  1165. V_ZP_LOT_NO MIL_FURNACES_RESLUT_DETIA.ZP_LOT_NO%TYPE := ?;
  1166. V_PLINE_CODE MIL_FURNACES_RESLUT_DETIA.PLINE_CODE%TYPE := ?;
  1167. BEGIN
  1168. FOR MYROW IN (SELECT *
  1169. FROM MIL_FURNACES_RESLUT_DETIA T
  1170. WHERE T.ZP_JUDGE_STOVE_NO = ZP_JUDGE_STOVE_NO
  1171. AND T.ZP_LOT_NO = V_ZP_LOT_NO
  1172. AND T.PLINE_CODE = V_PLINE_CODE) LOOP
  1173. --更新荒管剔除待处理实绩表状态
  1174. UPDATE MIL_FURNACES_RESLUT T
  1175. SET T.ZP_FLAG = '0',
  1176. T.GROUP_NUM = T.GROUP_NUM - MYROW.GROUP_NUM,
  1177. T.STATUS = '0'
  1178. WHERE 1 = 1
  1179. AND T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO;
  1180. --删除荒管组炉实绩表子表
  1181. DELETE FROM MIL_FURNACES_RESLUT_DETIA T
  1182. WHERE T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO
  1183. AND T.ZP_JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NOM
  1184. AND T.ZP_LOT_NO = V_ZP_LOT_NO
  1185. AND T.PLINE_CODE = V_PLINE_CODE;
  1186. END LOOP;
  1187. END;
  1188. ]]>
  1189. </query>
  1190. <query id= "FrmComposeFurnaces.cancelFurnaceGroup" desc = "删除荒管组炉实绩表数据">
  1191. <![CDATA[
  1192. DELETE FROM MIL_FURNACES_GROUP T WHERE T.ZP_JUDGE_STOVE_NO = ? AND T.ZP_LOT_NO =? AND T.PLINE_CODE =?
  1193. ]]>
  1194. </query>
  1195. <query id= "FrmComposeFurnaces.doQueryMilPlan" desc = "查询该组炉是否已开始再加热炉">
  1196. <![CDATA[
  1197. SELECT COUNT(1) ACOUNT FROM MIL_REFUR_RESULT T WHERE T.JUDGE_STOVE_NO = ? AND T.LOT_NO = ? AND T.PLINE_CODE = ?
  1198. ]]>
  1199. </query>
  1200. <query id= "FrmComposeFurnaces.cancelMilPlan" desc = "删除计划表">
  1201. <![CDATA[
  1202. DECLARE
  1203. V_JUDGE_STOVE_NO MIL_PLAN.JUDGE_STOVE_NO%TYPE := ?;
  1204. V_LOT_NO MIL_PLAN.LOT_NO%TYPE := ?;
  1205. V_PLINE_CODE MIL_PLAN.PLINE_CODE%TYPE := ?;
  1206. BEGIN
  1207. DELETE FROM MIL_PLAN T
  1208. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1209. AND T.LOT_NO = V_LOT_NO
  1210. AND T.PLINE_CODE = V_PLINE_CODE;
  1211. DELETE FROM MIL_FEEDSAW_RESULT T
  1212. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1213. AND T.LOT_NO = V_LOT_NO
  1214. AND T.PLINE_CODE = V_PLINE_CODE;
  1215. DELETE FROM MIL_ROLLING_RESULT T
  1216. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1217. AND T.LOT_NO = V_LOT_NO
  1218. AND T.PLINE_CODE = V_PLINE_CODE;
  1219. END;
  1220. ]]>
  1221. </query>
  1222. <query id= "FrmComposeFurnaces.cancelFeedSaw" desc = "删除管坯锯切实绩表">
  1223. <![CDATA[
  1224. DELETE FROM MIL_FEEDSAW_RESULT T WHERE T.JUDGE_STOVE_NO = ? AND T.LOT_NO =? AND T.PLINE_CODE =?
  1225. ]]>
  1226. </query>
  1227. <query id= "FrmComposeFurnaces.cancelRefurRack" desc = "删除再加热炉及后续工序管号队列跟踪表">
  1228. <![CDATA[
  1229. DECLARE
  1230. V_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?;
  1231. V_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?;
  1232. V_PLINE_CODE MIL_REFUR_RACK.PLINE_CODE%TYPE := ?;
  1233. BEGIN
  1234. FOR MYROW IN (SELECT T.*
  1235. FROM MIL_REFUR_RACK T
  1236. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1237. AND T.LOT_NO = V_LOT_NO
  1238. AND T.PLINE_CODE = V_PLINE_CODE) LOOP
  1239. UPDATE MIL_REFUR_RACK T
  1240. SET T.GROUP_FLAG = '0'
  1241. WHERE T.MAT_NO = MYROW.MAT_NO
  1242. AND T.JUDGE_STOVE_NO <> MYROW.JUDGE_STOVE_NO;
  1243. DELETE FROM MIL_REFUR_RACK T
  1244. WHERE T.MAT_NO = MYROW.MAT_NO
  1245. AND T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO;
  1246. END LOOP;
  1247. DELETE FROM MIL_SIZING_RACK T
  1248. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1249. AND T.LOT_NO = V_LOT_NO
  1250. AND T.PLINE_CODE = V_PLINE_CODE;
  1251. DELETE FROM MIL_SAW_RACK T
  1252. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1253. AND T.LOT_NO = V_LOT_NO
  1254. AND T.PLINE_CODE = V_PLINE_CODE;
  1255. DELETE FROM MIL_STRAIGH_RACK T
  1256. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1257. AND T.LOT_NO = V_LOT_NO
  1258. AND T.PLINE_CODE = V_PLINE_CODE;
  1259. DELETE FROM MIL_TESTING_RACK T
  1260. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1261. AND T.LOT_NO = V_LOT_NO
  1262. AND T.PLINE_CODE = V_PLINE_CODE;
  1263. DELETE FROM MIL_QA_RACK T
  1264. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1265. AND T.LOT_NO = V_LOT_NO
  1266. AND T.PLINE_CODE = V_PLINE_CODE;
  1267. END;
  1268. ]]>
  1269. </query>
  1270. <query id= "FrmComposeFurnaces.cancelBatch" desc = "删除进程表">
  1271. <![CDATA[
  1272. DECLARE
  1273. V_JUDGE_STOVE_NO PORT_MIL_BATCH_SAMPLE_RESULT.JUDGE_STOVE_NO%TYPE := ?;
  1274. V_LOT_NO PORT_MIL_BATCH_SAMPLE_RESULT.LOT_NO%TYPE := ?;
  1275. V_PLINE_CODE PORT_MIL_BATCH_SAMPLE_RESULT.PLINE_CODE%TYPE := ?;
  1276. BEGIN
  1277. FOR MYROW IN (SELECT T.*
  1278. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  1279. WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1280. AND T.LOT_NO = V_LOT_NO
  1281. AND T.PLINE_CODE = V_PLINE_CODE) LOOP
  1282. DELETE FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  1283. WHERE T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO
  1284. AND T.MAT_NO = MYROW.MAT_NO;
  1285. END LOOP;
  1286. FOR MYROW1 IN (SELECT M.*
  1287. FROM MIL_FURNACES_RESLUT_DETIA M
  1288. WHERE M.ZP_JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
  1289. AND M.PLINE_CODE = V_PLINE_CODE) LOOP
  1290. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  1291. SET T.GROUP_FLAG = 0, T.BACK_PROCESS = ''
  1292. WHERE T.STATUS = 1
  1293. AND T.GROUP_FLAG = 1
  1294. AND TRIM(T.OP_PROCESS) = '5'
  1295. AND T.JUDGE_STOVE_NO = MYROW1.JUDGE_STOVE_NO;
  1296. END LOOP;
  1297. END;
  1298. ]]>
  1299. </query>
  1300. <query id= "FrmComposeFurnaces.doQueryFurnace" desc = "组炉实绩查询(主表)">
  1301. <![CDATA[
  1302. SELECT T.ZP_JUDGE_STOVE_NO,
  1303. T.ZP_LOT_NO,
  1304. T.ZP_COUNT,
  1305. T.ZP_STANDRAD,
  1306. T.ZP_STEEL,
  1307. T.ZP_GRADE,
  1308. T.ZP_LENGTH,
  1309. T.ZP_HEIGHT,
  1310. T.ZP_LENGTH_RANGE,
  1311. T.ZP_LEVEL,
  1312. T.ZP_SIZE,
  1313. TO_CHAR(T.ZP_TIME, 'YYYY-MM-DD HH24:MI:SS') ZP_TIME,
  1314. T.REMARK,
  1315. T.COL_USER,
  1316. DECODE(T.COL_SHIFT,
  1317. '0',
  1318. '常白班',
  1319. '1',
  1320. '早班',
  1321. '2',
  1322. '中班',
  1323. '3',
  1324. '夜班') COL_SHIFT,
  1325. DECODE(T.COL_GROUP,
  1326. '1',
  1327. '甲班',
  1328. '2',
  1329. '乙班',
  1330. '3',
  1331. '丙班',
  1332. '4',
  1333. '丁班') COL_GROUP,
  1334. T.DIAMETER,
  1335. T.THICKNESS,
  1336. T.VARIETIES,
  1337. T.PLINE_CODE,
  1338. (SELECT P.PLINE_NAME
  1339. FROM COM_BASE_PLINE P
  1340. WHERE P.PLINE_CODE = T.PLINE_CODE) pline_Name,
  1341. T.MODEL_DESC,
  1342. T.OPERATION_ID
  1343. FROM MIL_FURNACES_GROUP T
  1344. WHERE 1 = 1
  1345. AND T.ZP_JUDGE_STOVE_NO || '&' LIKE '%' || ? || '%'
  1346. AND T.PLINE_CODE = ?
  1347. ]]>
  1348. </query>
  1349. <query id= "FrmComposeFurnaces.doQueryFurnaceChildRow" desc = "组炉实绩查询(从表)">
  1350. <![CDATA[
  1351. SELECT
  1352. T.LOT_NO,
  1353. T.STOVE_NO,
  1354. T.JUDGE_STOVE_NO,
  1355. T.DIAMETER,
  1356. T.THICKNESS,
  1357. T.LENGTH,
  1358. T.PLINE_CODE,
  1359. (SELECT P.PLINE_NAME
  1360. FROM COM_BASE_PLINE P
  1361. WHERE P.PLINE_CODE = T.PLINE_CODE) pline_Name,
  1362. T.GROUP_NUM,
  1363. T.ZP_FLAG,
  1364. T.STATUS,
  1365. TO_CHAR(T.COL_TIME, 'YYYY-MM-DD HH24:MI:SS') COL_TIME,
  1366. T.REMARK,
  1367. T.COL_USER,
  1368. DECODE(T.COL_SHIFT,
  1369. '0',
  1370. '常白班',
  1371. '1',
  1372. '早班',
  1373. '2',
  1374. '中班',
  1375. '3',
  1376. '夜班') COL_SHIFT,
  1377. DECODE(T.COL_GROUP,
  1378. '1',
  1379. '甲班',
  1380. '2',
  1381. '乙班',
  1382. '3',
  1383. '丙班',
  1384. '4',
  1385. '丁班') COL_GROUP,
  1386. T.ZP_HEIGHT,
  1387. T.PRODUCNAME,
  1388. T.STEELCODE,
  1389. T.STEELNAME,
  1390. T.GRADECODE,
  1391. T.GRADENAME,
  1392. T.SPEC_CODE,
  1393. T.SPEC_NAME,
  1394. T.MODEL_CODE,
  1395. T.MODEL_DESC,
  1396. T.STD_CODE,
  1397. T.STD_NAME,
  1398. T.STD_STYLE,
  1399. T.STD_STYLE_DESC,
  1400. T.CONTRACT_NO,
  1401. T.PRODUCCODE,
  1402. T.ACT_LEN_RANGE,
  1403. T.ZP_LOT_NO,
  1404. T.ZP_JUDGE_STOVE_NO,
  1405. T.TARGET
  1406. FROM MIL_FURNACES_RESLUT_DETIA T
  1407. WHERE 1 = 1
  1408. AND T.Zp_Judge_Stove_No || '&' LIKE '%' || ? || '%'
  1409. AND T.PLINE_CODE = ?
  1410. ]]>
  1411. </query>
  1412. <query id = "FrmComposeFurnaces.updateOrderMain" desc = "修改主炉信息">
  1413. <![CDATA[
  1414. UPDATE MIL_FURNACES_RESLUT T
  1415. SET
  1416. T.DIAMETER = '#DIAMETER#',
  1417. T.THICKNESS = '#THICKNESS#',
  1418. T.LENGTH = '#LENGTH#',
  1419. T.REMARK = '#REMARK#',
  1420. T.RECHECK_NUM = '#RECHECK_NUM#',
  1421. T.PRODUCNAME = '#PRODUCNAME#',
  1422. T.STEELCODE = '#STEELCODE#',
  1423. T.STEELNAME = '#STEELNAME#',
  1424. T.GRADECODE = '#GRADECODE#',
  1425. T.GRADENAME = '#GRADENAME#',
  1426. T.SPEC_CODE = '#SPEC_CODE#',
  1427. T.SPEC_NAME = '#SPEC_NAME#',
  1428. T.MODEL_CODE = '#MODEL_CODE#',
  1429. T.MODEL_DESC = '#MODEL_DESC#',
  1430. T.STD_CODE = '#STD_CODE#',
  1431. T.STD_NAME = '#STD_NAME#',
  1432. T.STD_STYLE = '#STD_STYLE#',
  1433. T.STD_STYLE_DESC = '#STD_STYLE_DESC#',
  1434. T.CONTRACT_NO = '#CONTRACT_NO#',
  1435. T.PRODUCCODE = '#PRODUCCODE#',
  1436. T.ACT_LEN_RANGE = '#ACT_LEN_RANGE#',
  1437. T.TARGET = '#TARGET#'
  1438. WHERE 1 = 1
  1439. AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  1440. AND T.LOT_NO = '#LOT_NO#'
  1441. ]]>
  1442. </query>
  1443. <query id= "FrmComposeFurnaces.doQueryZP" desc = "查询该炉号是否是回炉坯或者荒管组炉">
  1444. SELECT COUNT(1) ACOUNT FROM MIL_PLAN T WHERE T.JUDGE_STOVE_NO = ? AND (T.BACK_SLAB_FLAG = 1 OR T.BACK_PLAN_FLAG = 5)
  1445. </query>
  1446. <query id= "FrmComposeFurnaces.updateInputWeigth" desc = "更新进程表投料量">
  1447. <![CDATA[
  1448. DECLARE
  1449. V_MAT_TOTAL_HEIGHT MIL_FEED_PLAN.MAT_TOTAL_HEIGHT%TYPE := NULL; --组炉的总重量
  1450. V_ZP_JUDGE_STOVE_NO MIL_REFUR_RACK.JUDGE_STOVE_NO%TYPE := ?; --组炉炉号
  1451. V_ZP_LOT_NO MIL_REFUR_RACK.LOT_NO%TYPE := ?; --组炉生产批号
  1452. V_PLINE_CODE MIL_REFUR_RACK.PLINE_CODE%TYPE := ?; --产线
  1453. V_ACT_COUNT PORT_MIL_BATCH_SAMPLE_RESULT.ACT_COUNT%TYPE := NULL;
  1454. V_INPUT_WEIGHT PORT_MIL_BATCH_SAMPLE_RESULT.INPUT_WEIGHT%TYPE := NULL;
  1455. V_INPUT_WEIGHT1 PORT_MIL_BATCH_SAMPLE_RESULT.INPUT_WEIGHT%TYPE := NULL;
  1456. BEGIN
  1457. --组炉的总重量
  1458. select SUM(T.INPUT_WEIGHT)
  1459. INTO V_MAT_TOTAL_HEIGHT
  1460. from PORT_MIL_BATCH_SAMPLE_RESULT t
  1461. WHERE T.STATUS = 1
  1462. AND T.GROUP_FLAG = 1
  1463. AND TRIM(T.OP_PROCESS) = '5'
  1464. AND EXISTS (SELECT 1
  1465. FROM MIL_FURNACES_RESLUT_DETIA M
  1466. WHERE M.JUDGE_STOVE_NO = T.JUDGE_STOVE_NO
  1467. AND M.ZP_JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO);
  1468. --组炉的总支数
  1469. SELECT COUNT(1)
  1470. INTO V_ACT_COUNT
  1471. FROM PORT_MIL_BATCH_SAMPLE_RESULT T
  1472. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  1473. AND T.LOT_NO = V_ZP_LOT_NO
  1474. AND T.PLINE_CODE = V_PLINE_CODE;
  1475. SELECT TRUNC(V_MAT_TOTAL_HEIGHT / V_ACT_COUNT, 3)
  1476. INTO V_INPUT_WEIGHT
  1477. FROM DUAL;
  1478. SELECT V_MAT_TOTAL_HEIGHT - ((V_ACT_COUNT - 1) * V_INPUT_WEIGHT)
  1479. INTO V_INPUT_WEIGHT1
  1480. FROM DUAL;
  1481. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  1482. SET T.INPUT_WEIGHT = V_INPUT_WEIGHT
  1483. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  1484. AND T.LOT_NO = V_ZP_LOT_NO
  1485. AND T.PLINE_CODE = V_PLINE_CODE
  1486. AND T.SEQ <> 1;
  1487. UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
  1488. SET T.INPUT_WEIGHT = V_INPUT_WEIGHT1
  1489. WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
  1490. AND T.LOT_NO = V_ZP_LOT_NO
  1491. AND T.PLINE_CODE = V_PLINE_CODE
  1492. AND T.SEQ = 1;
  1493. END;
  1494. ]]>
  1495. </query>
  1496. </queryMap>