FrmPlanStoveD.xml 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc="轧管炉计划">
  3. <query id="FrmPlanStoveD.queryPlanStoveD" desc="查询轧管虚拟炉计划">
  4. <![CDATA[
  5. SELECT T2.*, (SELECT TO_CHAR(MIN(S.PLN_STARTTIME),'YYYY-MM-DD HH24:MI:SS')
  6. FROM PLN_STEELFORFURNACE S
  7. WHERE S.FURNACENO =
  8. (SELECT DISTINCT O.FURNACENO
  9. FROM PLN_STEELFOR_ORD O
  10. WHERE O.JUDGE_STOVE_NO = T2.JUDGE_STOVE_NO AND O.CCM_PLN_TYPE='00'
  11. AND ROWNUM = 1)) PLN_TIME_STRAT FROM (SELECT T.HEAT_PLAN_NO,
  12. T.GX_PRO_SEQ,
  13. T1.ZY_BATCH_ID,
  14. CASE
  15. WHEN T.STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  16. (SELECT O.STOVE_NO
  17. FROM PLN_STEELFOR_ORD O
  18. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  19. ELSE
  20. T.STOVE_NO
  21. END STOVE_NO,
  22. CASE
  23. WHEN T.JUDGE_STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  24. (SELECT O.JUDGE_STOVE_NO
  25. FROM PLN_STEELFOR_ORD O
  26. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  27. ELSE
  28. T.JUDGE_STOVE_NO
  29. END JUDGE_STOVE_NO,
  30. CASE
  31. WHEN T.FLAG_STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  32. (SELECT O.FLAG_STOVE_NO
  33. FROM PLN_STEELFOR_ORD O
  34. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  35. ELSE
  36. T.FLAG_STOVE_NO
  37. END FLAG_STOVE_NO,
  38. T.FLAG_HEAT_NO,
  39. DECODE(T.PLANSTATUS,
  40. '00',
  41. '计划',
  42. '10',
  43. '下发',
  44. '20',
  45. '生产中',
  46. '30',
  47. '生产完成',
  48. '40',
  49. '关闭A') PLANSTATUS,
  50. T.UPPER_HEATPLAN_ID,
  51. T.PRO_PLAN_ID||'/'||T.GX_PLAN_NO PRO_PLAN_ID,
  52. T.GX_PLAN_NO,
  53. T.CCM_PRO_PLAN_ID ||'/'||T.CCM_GX_PLAN_NO CCM_PRO_PLAN_ID,
  54. T.CCM_GX_PLAN_NO,
  55. T.PLINE_CODE,
  56. T.PLINE_NAME,
  57. T.PROCESS_CODE_C,
  58. T.PROCESS_DESC_C,
  59. T.UPPER_PROCESS_CODE,
  60. T.NEXT_PROCESS_CODE,
  61. DECODE(T.ISENDGX, '0', '/', '1', '是') ISENDGX,
  62. DECODE(T.IF_MATCH_ODD, '0', '/', '1', '前轧管利库','4','后轧管利库','6','本工序精整利库','炼钢利库') IF_MATCH_ODD,
  63. DECODE(T.IF_DO_HEAT_PLAN, '0', '/', '1', '是') IF_DO_HEAT_PLAN,
  64. T.ORDER_SOURCE,
  65. (SELECT MAX(CUSTOMER_NM) FROM SLM_ORDER_HEAD WHERE ORDER_NO = T.ORDER_NO AND VALIDFLAG = '1') CUSTOMER_NM,
  66. T.ORD_LN_DLY_PK,
  67. T.ORDER_NO ||'/'||T.ORDER_SEQ ORDER_NO,
  68. T.ORDER_SEQ,
  69. T.DELIVERY_NO,
  70. T.REQ_BL_ID,
  71. T.IF_EXPORT,
  72. T.PRIORITY,
  73. T.PRIORITY_MEMO,
  74. T.PRO_MONTH,
  75. DECODE(T.IF_LEN_CONTROL, '0', '/', '1', '是') IF_LEN_CONTROL,
  76. DECODE(T.IF_MINUS_SIC_ROLL, '0', '/', '1', '是') IF_MINUS_SIC_ROLL,
  77. T.PROD_STANDARD,
  78. T.OUTPUT_STANDARD,
  79. T.DECISION,
  80. T.PROGY_MEMO,
  81. T.GOWHERE_CODE,
  82. T.GOWHERE_NAME,
  83. DECODE(T.OUTS_BILLET_FL, '1', '外购', '0', '自炼') OUTS_BILLET_FL,
  84. DECODE(T.GPTYPE, '1', '铸坯', '2', '锻坯') GPTYPE,
  85. T.INWL_ID,
  86. T.INWL_DESC,
  87. T.OUTWL_ID,
  88. T.OUTWL_DESC,
  89. T.GRADECODE,
  90. T.GRADENAME,
  91. T.STEELCODE,
  92. T.STEELNAME,
  93. T.PRODUCCODE,
  94. T.PRODUCNAME,
  95. T.MODEL_CODE,
  96. T.MODEL_DESC,
  97. T.DIAMETER,
  98. T.LEN_GP_SINGLE,
  99. T.WT_GP_SINGLE,
  100. T.PLN_INSINGLE_NUM,
  101. T.PLN_INSINGLE_WT,
  102. T.PLN_OUTSINGLE_NUM,
  103. T.PLN_OUTSINGLE_W,
  104. T.REDUCED_WT,
  105. T.OUTDIAMETER,
  106. T.WALLTHICK,
  107. T.OUTDIAMETER_ZG,
  108. T.WALLTHICK_ZG,
  109. T.AIMOUTDIAMETER,
  110. T.AIMWALLTHICK,
  111. T.THICKNESS_WALL,
  112. T.LEN_ROLL_MAX,
  113. T.LEN_ROLL_MIN,
  114. T.AIMLENGTH,
  115. T.ROLL_LENGTH,
  116. T.OUTNUM_CUT,
  117. DECODE(T.CUT_TYPE, '0', '被动', '1', '主动') CUT_TYPE,
  118. T1.LEN_CUTEND,
  119. T1.LEN_CUTHEAD,
  120. T1.DIAMETER_MANDREL,
  121. T1.PASS_CODE,
  122. T1.PASS_NAME,
  123. DECODE(T.IF_MONITOR, '0', '/', '1', '是') IF_MONITOR,
  124. T.PRDCR_NO,
  125. T.MONITOR_POINT,
  126. T1.BOM,
  127. T.WHOLE_BACKLOG,
  128. T1.WHOLE_BACKLOG_DESC,
  129. T.CIC,
  130. T.PIC,
  131. T.SIC,
  132. T.DIC,
  133. T1.CRAFT_FILE_NO,
  134. T1.CRAFT_FILE_MAN,
  135. T1.CRAFT_SEQ,
  136. T.SEC_CRAFT_FILE_NO,
  137. T.STATION_ROAD,
  138. TO_CHAR(TO_DATE(T.PRO_DAY, 'YYYY-MM-DD'), 'YYYY-MM-DD') PRO_DAY,
  139. TO_CHAR(TO_DATE(T.BAL_YEAR_MONTH, 'YYYY-MM'), 'YYYY-MM') BAL_YEAR_MONTH,
  140. T.CREATE_NAME,
  141. TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
  142. T.UPDATE_NAME,
  143. TO_CHAR(T.UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME,
  144. TO_CHAR(T1.PLAN_TIME_B,'YYYY-MM-DD HH24:MI:SS')PLAN_TIME_B,
  145. (select GET_ZG_BUTTRESS(T.JUDGE_STOVE_NO,T.PRO_PLAN_ID,T.GX_PLAN_NO) from dual)STORAGE_NAME,
  146. T.DOWNMAN,
  147. TO_CHAR(T.DOWNTIME, 'YYYY-MM-DD HH24:MI:SS') DOWNTIME,
  148. DECODE(T.IS_LOAD, '0', '未上料', '1', '已上料') IS_LOAD,
  149. DECODE(T.PLN_TYPE, '0', '正常计划', '1', '试轧料') PLN_TYPE,
  150. T.INDEX_SEQ,
  151. TO_CHAR(L.DELVRY_EDATE,'YYYY-MM-DD') DELVRY_BDATE,
  152. DECODE(T.JUDGE_STOVE_NO,'','未结炉','已结炉') STEEL_FALG,
  153. DECODE(CASE
  154. WHEN T.PLANSTATUS = '00' THEN
  155. 0
  156. ELSE
  157. (SELECT COUNT(*)
  158. FROM PLN_ZY_ZG_C T1, MIL_FEED_PLAN F
  159. WHERE T1.HEAT_PLAN_SQE = F.FEED_ROW_NO
  160. AND T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO)
  161. END,
  162. '0',
  163. '未生成上料行',
  164. '-1','','已生成上料行') FEED_ROW_NO,
  165. CASE
  166. WHEN T.UPPER_PROCESS_CODE = 'B' THEN
  167. (SELECT DECODE(O.STATUS,
  168. '00',
  169. '编制中',
  170. '10',
  171. '已下发',
  172. '20',
  173. '生产中',
  174. '30',
  175. '已生产',
  176. '40',
  177. '关闭')
  178. FROM PLN_STEELFOR_ORD O
  179. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  180. ELSE
  181. (SELECT DECODE(O.PLANSTATUS,
  182. '00',
  183. '编制中',
  184. '10',
  185. '已下发',
  186. '20',
  187. '生产中',
  188. '30',
  189. '已生产',
  190. '40',
  191. '关闭')
  192. FROM PLN_ZY_DZ_M O
  193. WHERE O.HEAT_PLAN_NO = T.UPPER_HEATPLAN_ID)
  194. END UPPER_STRAT,
  195. T.FEED_HEAT_NO,
  196. T.MEMO,
  197. T1.GX_PRO_SEQ GX_PRO_SEQ_PC,
  198. CASE
  199. WHEN NVL((SELECT COUNT(1)
  200. FROM PLN_ORDER_ZG_S S1
  201. WHERE S1.TH_ORDER_NO_SEQ =
  202. T1.ORDER_NO || '/' || T1.ORDER_SEQ),
  203. 0) > 0 THEN
  204. '是'
  205. ELSE
  206. '否'
  207. END IF_FLAG_HEAT_NO
  208. FROM PLN_ZY_ZG_M T,
  209. PLN_ORDER_ZG_S T1,
  210. SLM_ORDER_LINE L,
  211. SLM_ORDER_LINE_DELIVERY LY
  212. WHERE 1 = 1
  213. AND T1.ORD_LN_DLY_PK = LY.ORD_LN_DLY_PK
  214. AND LY.ORD_LN_PK = L.ORD_LN_PK
  215. AND T.PRO_PLAN_ID = T1.PRO_PLAN_ID
  216. AND T.GX_PLAN_NO = T1.GX_PLAN_NO
  217. ]]>
  218. </query>
  219. <query id="FrmPlanStoveD.queryPlanStoveDc" desc="查询轧管实际炉计划">
  220. <![CDATA[
  221. SELECT
  222. T.HEAT_PLAN_NO,
  223. T.HEAT_PLAN_SQE,
  224. T.JUGDE_APPLY_CODE,
  225. T.ZY_BATCH_ID,
  226. T.STOVE_NO,
  227. T.JUDGE_STOVE_NO,
  228. T.PRO_PLAN_ID,
  229. T.GX_PLAN_NO,
  230. T.PLINE_CODE,
  231. T.PLINE_NAME,
  232. T.DIAMETER,
  233. T.LEN_GP_SINGLE,
  234. T.WT_GP_SINGLE,
  235. T.CUT_NUM_GP,
  236. T.LENGTH_M,
  237. T.WEIGHT_M,
  238. T.PLAN_INDOUBLE_NUM,
  239. T.PLAN_INDOUBLE_WT,
  240. T.REAL_INDOUBLE_NUM,
  241. T.REAL_INDOUBLE_WT,
  242. T.FLAG_STOVE_NO,
  243. T.CREATE_NAME,
  244. TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
  245. T.UPDATE_NAME,
  246. TO_CHAR(T.UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME,T.FEED_HEAT_NO
  247. FROM PLN_ZY_ZG_C T
  248. WHERE 1=1
  249. ]]>
  250. </query>
  251. <query id="FrmPlanStoveD.AddMilPlan" desc="新增轧管炉计划接收表">
  252. <![CDATA[
  253. INSERT INTO MIL_PLAN
  254. (ID,
  255. SEQ,
  256. STOVE_NO,
  257. JUDGE_STOVE_NO,
  258. LOT_NO,
  259. CONTRACT_NO,
  260. IMP_PROCESS,
  261. PLINE_CODE,
  262. PRODUCER,
  263. PROCESS_STATUS,
  264. DB_LENGTH,
  265. DB_HEIGHT,
  266. ROLL_LENGTH,
  267. SAW_NUM,
  268. TARGET_LENGTH,
  269. FINISH_USER,
  270. TARGET_LIABRARY,
  271. VARIETIES,
  272. VARIETIES_CODE,
  273. PIPE_SIZE,
  274. PIPE_SIZE_CODE,
  275. BUCKLE_TYPE,
  276. BUCKLE_TYPE_CODE,
  277. LENGTH_RANGE,
  278. ROLL_STANDRAD,
  279. PIPE_SECTION,
  280. STEELCODE,
  281. STEELNAME,
  282. GRADECODE,
  283. GRADENAME,
  284. STEEL_STANDRAD,
  285. TARGET,
  286. BRANCH,
  287. TON,
  288. DB_NUM,
  289. TOM,
  290. CUT_HEAD_LENGTHP,
  291. CUT_TRAIL_LENGTHP,
  292. CONTROL_THICKP,
  293. PRODUCE_STANDRAD,
  294. FEED_SEQ,
  295. LOT_SEQ,
  296. FEED_HEAT_NO,
  297. LENGTHCP,
  298. CODE_SAMPLE_FLAG,
  299. ROLL_STANDRAD_CODE,
  300. STD_STYLE,
  301. STD_STYLE_DESC,
  302. CHECK_NO,
  303. ORD_LN_DLY_PK,
  304. PRT_FLAG,
  305. PRO_PLAN_ID,
  306. GX_PLAN_NO,
  307. TUBE_TYPE,
  308. TUBE_SUORCE,
  309. TYPE,STATUS,NODE_STATUS,IS_LOAD,CRAFT_SEQ,CIC,INDEX_SEQ,PIC,IF_PRODUCT,PRDCR_NO,IF_MONITOR)
  310. VALUES
  311. ('#ID#',
  312. '#SEQ#',
  313. '#STOVE_NO#',
  314. '#JUDGE_STOVE_NO#',
  315. '#LOT_NO#',
  316. '#CONTRACT_NO#',
  317. '#IMP_PROCESS#',
  318. '#PLINE_CODE#',
  319. '#PRODUCER#',
  320. '#PROCESS_STATUS#',
  321. '#DB_LENGTH#',
  322. '#DB_HEIGHT#',
  323. '#ROLL_LENGTH#',
  324. '#SAW_NUM#',
  325. '#TARGET_LENGTH#',
  326. '#FINISH_USER#',
  327. '#TARGET_LIABRARY#',
  328. '#VARIETIES#',
  329. '#VARIETIES_CODE#',
  330. '#PIPE_SIZE#',
  331. '#PIPE_SIZE_CODE#',
  332. '#BUCKLE_TYPE#',
  333. '#BUCKLE_TYPE_CODE#',
  334. '#LENGTH_RANGE#',
  335. '#ROLL_STANDRAD#',
  336. '#PIPE_SECTION#',
  337. '#STEELCODE#',
  338. '#STEELNAME#',
  339. '#GRADECODE#',
  340. '#GRADENAME#',
  341. '#STEEL_STANDRAD#',
  342. '#TARGET#',
  343. '#BRANCH#',
  344. '#TON#',
  345. '#DB_NUM#',
  346. TO_DATE('#TOM#','YYYY-MM-DD HH24:MI:SS'),
  347. '#CUT_HEAD_LENGTHP#',
  348. '#CUT_TRAIL_LENGTHP#',
  349. '#CONTROL_THICKP#',
  350. '#PRODUCE_STANDRAD#',
  351. '#FEED_SEQ#',
  352. '#LOT_SEQ#',
  353. '#FEED_HEAT_NO#',
  354. '#LENGTHCP#',
  355. '#CODE_SAMPLE_FLAG#',
  356. '#ROLL_STANDRAD_CODE#',
  357. '#STD_STYLE#',
  358. '#STD_STYLE_DESC#',
  359. '#CHECK_NO#',
  360. '#ORD_LN_DLY_PK#',
  361. '#PRT_FLAG#',
  362. '#PRO_PLAN_ID#',
  363. '#GX_PLAN_NO#',
  364. '#TUBE_TYPE#',
  365. '#TUBE_SUORCE#',
  366. '#TYPE#','#STATUS#','#NODE_STATUS#','0','#CRAFT_SEQ#','#CIC#','#INDEX_SEQ#','#PIC#','#IF_PRODUCT#','#PRDCR_NO#','#IF_MONITOR#')]]>
  367. </query>
  368. <query id="FrmPlanStoveD.AddMilFeedPlan" desc="新增轧管炉计划上料表">
  369. <![CDATA[
  370. INSERT INTO MIL_FEED_PLAN(
  371. FEED_ROW_NO,
  372. SEQ,
  373. LOT_NO,
  374. STOVE_NO,
  375. JUDGE_STOVE_NO,
  376. PLINE_CODE,
  377. DB_NUM,
  378. MAT_HEIGHT,
  379. MAT_TOTAL_HEIGHT,
  380. FEED_NUM,
  381. FEED_LENGTH,
  382. USE_LENGTH,
  383. CUT_TARGET,
  384. CUT_LENGTH,
  385. CUT_WEIGHT,
  386. REMARK,
  387. DB_LENGTH,
  388. NON_USE_LENGTH,
  389. PIPE_SECTION,
  390. DB_HEIGHT,
  391. FEED_NUM_PLAN,
  392. PRO_PLAN_ID,
  393. GX_PLAN_NO,CREATE_NAME,CREATE_TIME)
  394. VALUES(
  395. '#FEED_ROW_NO#',
  396. '#SEQ#',
  397. '#LOT_NO#',
  398. '#STOVE_NO#',
  399. '#JUDGE_STOVE_NO#',
  400. '#PLINE_CODE#',
  401. '#DB_NUM#',
  402. '#MAT_HEIGHT#',
  403. '#MAT_TOTAL_HEIGHT#',
  404. '#FEED_NUM#',
  405. '#FEED_LENGTH#',
  406. '#USE_LENGTH#',
  407. '#CUT_TARGET#',
  408. '#CUT_LENGTH#',
  409. '#CUT_WEIGHT#',
  410. '#REMARK#',
  411. '#DB_LENGTH#',
  412. '#NON_USE_LENGTH#',
  413. '#PIPE_SECTION#',
  414. '#DB_HEIGHT#',
  415. '#FEED_NUM_PLAN#',
  416. '#PRO_PLAN_ID#',
  417. '#GX_PLAN_NO#','#CREATE_NAME#',TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'))
  418. ]]>
  419. </query>
  420. <query id="FrmPlanStoveD.QueryfeedJut" desc="获取在最大上料行">
  421. <![CDATA[
  422. SELECT CASE
  423. WHEN MAX(T.FEED_HEAT_NO) IS NULL THEN
  424. ?
  425. ELSE
  426. ? ||
  427. LPAD(SUBSTR(NVL(MAX(T.FEED_HEAT_NO), '0000'), -4, 4) + 1, 4, '0')
  428. END FEED_HEAT_NO
  429. FROM PLN_ZY_ZG_M T
  430. WHERE T.FEED_HEAT_NO IS NOT NULL
  431. --AND T.PLINE_CODE = ?
  432. AND T.FEED_HEAT_NO LIKE ? || '____'
  433. ]]>
  434. </query>
  435. <query id="FrmPlanStoveD.QueryHeatPlanNo" desc="获取轧管炉计划主键">
  436. <![CDATA[
  437. SELECT T3.*
  438. FROM (SELECT T2.HEAT_PLAN_NO,
  439. T2.FEED_HEAT_NO,
  440. MAX(T2.GX_PRO_SEQ) GX_PRO_SEQ
  441. FROM (SELECT T.HEAT_PLAN_NO, T.FEED_HEAT_NO, T1.GX_PRO_SEQ
  442. FROM PLN_ZY_ZG_M T, PLN_ORDER_ZG_S T1
  443. WHERE T.PRO_PLAN_ID = T1.PRO_PLAN_ID
  444. AND T.GX_PLAN_NO = T1.GX_PLAN_NO
  445. AND (SELECT CASE
  446. WHEN T1.JUDGE_STOVE_NO IS NULL AND
  447. T1.UPPER_PROCESS_CODE = 'B' THEN
  448. (SELECT O.JUDGE_STOVE_NO
  449. FROM PLN_STEELFOR_ORD O
  450. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  451. T1.UPPER_HEATPLAN_ID)
  452. ELSE
  453. T1.JUDGE_STOVE_NO
  454. END JUDGE_STOVE_NO
  455. FROM PLN_ZY_ZG_M T1
  456. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO) = ?
  457. UNION ALL
  458. SELECT T.ID,
  459. REGEXP_REPLACE(T.JUDGE_STOVE_NO, '-.*', '') JUDGE_STOVE_NO,
  460. '-10'
  461. FROM MIL_PLAN T,
  462. (SELECT CASE
  463. WHEN M.JUDGE_STOVE_NO IS NULL AND
  464. M.UPPER_PROCESS_CODE = 'B' THEN
  465. (SELECT O.JUDGE_STOVE_NO
  466. FROM PLN_STEELFOR_ORD O
  467. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  468. M.UPPER_HEATPLAN_ID)
  469. ELSE
  470. M.JUDGE_STOVE_NO
  471. END JUDGE_STOVE_NO,
  472. M.HEAT_PLAN_NO,
  473. M.FEED_HEAT_NO
  474. FROM PLN_ZY_ZG_M M) M1
  475. WHERE T.ID != M1.HEAT_PLAN_NO
  476. AND T.FEED_HEAT_NO = M1.JUDGE_STOVE_NO
  477. AND T.FEED_HEAT_NO = ?
  478. GROUP BY T.ID, T.JUDGE_STOVE_NO) T2
  479. GROUP BY T2.HEAT_PLAN_NO, T2.FEED_HEAT_NO) T3
  480. ORDER BY TO_NUMBER(T3.GX_PRO_SEQ) ASC
  481. ]]>
  482. </query>
  483. <query id="FrmPlanStoveD.QueryHeatPlanNo2" desc="获取轧管产线">
  484. <![CDATA[
  485. SELECT T3.*
  486. FROM (SELECT T2.HEAT_PLAN_NO,
  487. T2.PLINE_CODE,
  488. T2.FEED_HEAT_NO,
  489. MAX(T2.GX_PRO_SEQ) GX_PRO_SEQ
  490. FROM (SELECT T.HEAT_PLAN_NO,
  491. T.PLINE_CODE,
  492. T.FEED_HEAT_NO,
  493. T1.GX_PRO_SEQ
  494. FROM PLN_ZY_ZG_M T, PLN_ORDER_ZG_S T1
  495. WHERE T.PRO_PLAN_ID = T1.PRO_PLAN_ID
  496. AND T.GX_PLAN_NO = T1.GX_PLAN_NO
  497. AND (SELECT CASE
  498. WHEN T1.JUDGE_STOVE_NO IS NULL AND
  499. T1.UPPER_PROCESS_CODE = 'B' THEN
  500. (SELECT O.JUDGE_STOVE_NO
  501. FROM PLN_STEELFOR_ORD O
  502. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  503. T1.UPPER_HEATPLAN_ID)
  504. ELSE
  505. T1.JUDGE_STOVE_NO
  506. END JUDGE_STOVE_NO
  507. FROM PLN_ZY_ZG_M T1
  508. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO) = ?
  509. UNION ALL
  510. SELECT T.ID,
  511. T.PLINE_CODE,
  512. REGEXP_REPLACE(T.JUDGE_STOVE_NO, '-.*', '') JUDGE_STOVE_NO,
  513. '-10'
  514. FROM MIL_PLAN T,
  515. (SELECT CASE
  516. WHEN M.JUDGE_STOVE_NO IS NULL AND
  517. M.UPPER_PROCESS_CODE = 'B' THEN
  518. (SELECT O.JUDGE_STOVE_NO
  519. FROM PLN_STEELFOR_ORD O
  520. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  521. M.UPPER_HEATPLAN_ID)
  522. ELSE
  523. M.JUDGE_STOVE_NO
  524. END JUDGE_STOVE_NO,
  525. M.HEAT_PLAN_NO,
  526. M.FEED_HEAT_NO
  527. FROM PLN_ZY_ZG_M M) M1
  528. WHERE T.ID != M1.HEAT_PLAN_NO
  529. AND T.FEED_HEAT_NO = M1.JUDGE_STOVE_NO
  530. AND T.FEED_HEAT_NO = ?
  531. GROUP BY T.ID, T.PLINE_CODE, T.JUDGE_STOVE_NO) T2
  532. GROUP BY T2.HEAT_PLAN_NO, T2.PLINE_CODE, T2.FEED_HEAT_NO) T3
  533. ORDER BY TO_NUMBER(T3.GX_PRO_SEQ) ASC
  534. ]]>
  535. </query>
  536. <query id="FrmPlanStoveD.QueryFeedAll" desc="获取轧管炉计划所有上料行">
  537. <![CDATA[
  538. SELECT T2.FEED_HEAT_NO
  539. FROM (SELECT T.FEED_HEAT_NO, T.JUDGE_STOVE_NO
  540. FROM PLN_ZY_ZG_M T
  541. WHERE T.FEED_HEAT_NO LIKE ?||'%'
  542. AND (SELECT CASE
  543. WHEN T1.JUDGE_STOVE_NO IS NULL AND
  544. T1.UPPER_PROCESS_CODE = 'B' THEN
  545. (SELECT O.JUDGE_STOVE_NO
  546. FROM PLN_STEELFOR_ORD O
  547. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  548. T1.UPPER_HEATPLAN_ID)
  549. ELSE
  550. T1.JUDGE_STOVE_NO
  551. END JUDGE_STOVE_NO
  552. FROM PLN_ZY_ZG_M T1
  553. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO) != ?
  554. UNION ALL
  555. SELECT T.FEED_HEAT_NO, T.JUDGE_STOVE_NO
  556. FROM PLN_ZY_ZG_M T
  557. WHERE T.FEED_HEAT_NO LIKE ?||'%'
  558. AND (SELECT CASE
  559. WHEN T1.JUDGE_STOVE_NO IS NULL AND
  560. T1.UPPER_PROCESS_CODE = 'B' THEN
  561. (SELECT O.JUDGE_STOVE_NO
  562. FROM PLN_STEELFOR_ORD O
  563. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  564. T1.UPPER_HEATPLAN_ID)
  565. ELSE
  566. T1.JUDGE_STOVE_NO
  567. END JUDGE_STOVE_NO
  568. FROM PLN_ZY_ZG_M T1
  569. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO) = ?) T2
  570. WHERE 1 = 1
  571. ORDER BY T2.FEED_HEAT_NO
  572. ]]>
  573. </query>
  574. <query id="FrmPlanStoveD.updateMatGpMEntity" desc="修改管坯物料挂料信息">
  575. <![CDATA[
  576. DECLARE
  577. BEGIN
  578. FOR MYROW IN (SELECT MAT_NO
  579. FROM (SELECT T.MAT_NO
  580. FROM MAT_GP_M T
  581. WHERE T.JUGDE_APPLY_CODE = ?
  582. AND T.JUDGE_STOVE_NO=?
  583. AND T.FIX_NUM = TO_NUMBER(?)
  584. ORDER BY T.MAT_NO ASC)
  585. WHERE ROWNUM <= ?) LOOP
  586. UPDATE MAT_GP_M T SET T.HANGING_FLAG = ?,T.MAT_STATUS=?,T.PRO_PLAN_ID_ZG=?,T.GX_PLAN_NO_ZG=? WHERE T.MAT_NO = MYROW.MAT_NO;
  587. END LOOP;
  588. END;
  589. ]]>
  590. </query>
  591. <query id="FrmPlanStoveD.queryPlanStoveM" desc="查询轧管虚拟炉计划">
  592. <![CDATA[
  593. SELECT T2.*,(select GET_ZG_BUTTRESS(T2.JUDGE_STOVE_NO,T2.PRO_PLAN_ID1,T2.GX_PLAN_NO) from dual) Storage_No,
  594. (SELECT TO_CHAR(MIN(S.PLN_STARTTIME),'YYYY-MM-DD HH24:MI:SS')
  595. FROM PLN_STEELFORFURNACE S
  596. WHERE S.FURNACENO =
  597. (SELECT DISTINCT O.FURNACENO
  598. FROM PLN_STEELFOR_ORD O
  599. WHERE O.JUDGE_STOVE_NO = T2.JUDGE_STOVE_NO AND O.CCM_PLN_TYPE='00')) PLN_TIME_STRAT FROM (SELECT T.HEAT_PLAN_NO,
  600. T.GX_PRO_SEQ,
  601. T3.ZY_BATCH_ID,
  602. CASE
  603. WHEN T.STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  604. (SELECT O.STOVE_NO
  605. FROM PLN_STEELFOR_ORD O
  606. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  607. ELSE
  608. T.STOVE_NO
  609. END STOVE_NO,
  610. CASE
  611. WHEN T.JUDGE_STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  612. (SELECT O.JUDGE_STOVE_NO
  613. FROM PLN_STEELFOR_ORD O
  614. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  615. ELSE
  616. T.JUDGE_STOVE_NO
  617. END JUDGE_STOVE_NO,
  618. CASE
  619. WHEN T.FLAG_STOVE_NO IS NULL AND T.UPPER_PROCESS_CODE = 'B' THEN
  620. (SELECT O.FLAG_STOVE_NO
  621. FROM PLN_STEELFOR_ORD O
  622. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  623. ELSE
  624. T.FLAG_STOVE_NO
  625. END FLAG_STOVE_NO,
  626. DECODE(T.PLANSTATUS,
  627. '00',
  628. '计划',
  629. '10',
  630. '下发',
  631. '20',
  632. '生产中',
  633. '30',
  634. '生产完成',
  635. '40',
  636. '关闭A') PLANSTATUS,
  637. T.UPPER_HEATPLAN_ID,
  638. T.PRO_PLAN_ID||'/'||T.GX_PLAN_NO PRO_PLAN_ID,
  639. T.PRO_PLAN_ID PRO_PLAN_ID1,
  640. T.GX_PLAN_NO,
  641. T.CCM_PRO_PLAN_ID ||'/'||T.CCM_GX_PLAN_NO CCM_PRO_PLAN_ID,
  642. T.CCM_GX_PLAN_NO,
  643. T.PLINE_CODE,
  644. T.PLINE_NAME,
  645. T.PROCESS_CODE_C,
  646. T.PROCESS_DESC_C,
  647. T.UPPER_PROCESS_CODE,
  648. T.NEXT_PROCESS_CODE,
  649. DECODE(T.ISENDGX, '0', '/', '1', '是') ISENDGX,
  650. DECODE(T.IF_MATCH_ODD, '0', '/', '1', '前轧管利库','4','后轧管利库','6','本工序精整利库','炼钢利库') IF_MATCH_ODD,
  651. DECODE(T.IF_DO_HEAT_PLAN, '0', '/', '1', '是') IF_DO_HEAT_PLAN,
  652. T.ORDER_SOURCE,
  653. T.ORD_LN_DLY_PK,
  654. T.ORDER_NO ||'/'||T.ORDER_SEQ ORDER_NO,
  655. T.ORDER_SEQ,
  656. T.DELIVERY_NO,
  657. T.REQ_BL_ID,
  658. T.IF_EXPORT,
  659. T.PRIORITY,
  660. T.PRIORITY_MEMO,
  661. T.PRO_MONTH,
  662. DECODE(T.IF_LEN_CONTROL, '0', '/', '1', '是') IF_LEN_CONTROL,
  663. DECODE(T.IF_MINUS_SIC_ROLL, '0', '/', '1', '是') IF_MINUS_SIC_ROLL,
  664. T.PROD_STANDARD,
  665. T.OUTPUT_STANDARD,
  666. T.DECISION,
  667. T.PROGY_MEMO,
  668. T.GOWHERE_CODE,
  669. T.GOWHERE_NAME,
  670. DECODE(T.OUTS_BILLET_FL, '1', '外购', '0', '自炼') OUTS_BILLET_FL,
  671. DECODE(T.GPTYPE, '1', '铸坯', '2', '锻坯') GPTYPE,
  672. T.INWL_ID,
  673. T.INWL_DESC,
  674. T.OUTWL_ID,
  675. T.OUTWL_DESC,
  676. T.GRADECODE,
  677. T.GRADENAME,
  678. T.STEELCODE,
  679. T.STEELNAME,
  680. T.PRODUCCODE,
  681. T.PRODUCNAME,
  682. T.MODEL_CODE,
  683. T.MODEL_DESC,
  684. T.DIAMETER,
  685. T.LEN_GP_SINGLE,
  686. T.WT_GP_SINGLE,
  687. T.PLN_INSINGLE_NUM,
  688. T.PLN_INSINGLE_WT,
  689. T.PLN_OUTSINGLE_NUM,
  690. T.PLN_OUTSINGLE_W,
  691. T.REDUCED_WT,
  692. T.OUTDIAMETER,
  693. T.WALLTHICK,
  694. T.OUTDIAMETER_ZG,
  695. T.WALLTHICK_ZG,
  696. T.AIMOUTDIAMETER,
  697. T.AIMWALLTHICK,
  698. T.THICKNESS_WALL,
  699. T.LEN_ROLL_MAX,
  700. T.LEN_ROLL_MIN,
  701. T.AIMLENGTH,
  702. T.ROLL_LENGTH,
  703. T.OUTNUM_CUT,
  704. DECODE(T.CUT_TYPE, '0', '被动', '1', '主动') CUT_TYPE,
  705. T3.LEN_CUTEND,
  706. T3.LEN_CUTHEAD,
  707. T3.DIAMETER_MANDREL,
  708. T3.PASS_CODE,
  709. T3.PASS_NAME,
  710. DECODE(T.IF_MONITOR, '0', '/', '1', '是') IF_MONITOR,
  711. T.PRDCR_NO,
  712. T.MONITOR_POINT,
  713. T3.BOM,
  714. T.WHOLE_BACKLOG,
  715. T3.WHOLE_BACKLOG_DESC,
  716. T.CIC,
  717. T.PIC,
  718. T.SIC,
  719. T.DIC,
  720. T3.CRAFT_FILE_NO,
  721. T3.CRAFT_FILE_MAN,
  722. T3.CRAFT_SEQ,
  723. T.SEC_CRAFT_FILE_NO,
  724. T.STATION_ROAD,
  725. TO_CHAR(TO_DATE(T.PRO_DAY, 'YYYYMMDD'), 'YYYY-MM-DD') PRO_DAY,
  726. TO_CHAR(TO_DATE(T.BAL_YEAR_MONTH, 'YYYYMM'), 'YYYY-MM') BAL_YEAR_MONTH,
  727. T.CREATE_NAME,
  728. TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
  729. T.UPDATE_NAME,
  730. TO_CHAR(T.UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME,
  731. T.DOWNMAN,
  732. TO_CHAR(T.DOWNTIME, 'YYYY-MM-DD HH24:MI:SS') DOWNTIME,
  733. DECODE(T.IS_LOAD, '0', '未上料', '1', '已上料') IS_LOAD,
  734. DECODE(T.PLN_TYPE, '0', '正常计划', '1', '试轧料') PLN_TYPE,
  735. T.INDEX_SEQ,
  736. DECODE(T.JUDGE_STOVE_NO,'','未结炉','已结炉') steel_falg,
  737. DECODE(CASE
  738. WHEN T.PLANSTATUS = '00' THEN
  739. 0
  740. ELSE
  741. (SELECT COUNT(*)
  742. FROM PLN_ZY_ZG_C T1, MIL_FEED_PLAN F
  743. WHERE T1.HEAT_PLAN_SQE = F.FEED_ROW_NO
  744. AND T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO)
  745. END,
  746. '0',
  747. '未生成上料行',
  748. '-1','','已生成上料行') FEED_ROW_NO,
  749. CASE
  750. WHEN T.UPPER_PROCESS_CODE = 'B' THEN
  751. (SELECT DECODE(O.STATUS,
  752. '00',
  753. '编制中',
  754. '10',
  755. '已下发',
  756. '20',
  757. '生产中',
  758. '30',
  759. '已生产',
  760. '40',
  761. '关闭')
  762. FROM PLN_STEELFOR_ORD O
  763. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  764. ELSE
  765. (SELECT DECODE(O.PLANSTATUS,
  766. '00',
  767. '编制中',
  768. '10',
  769. '已下发',
  770. '20',
  771. '生产中',
  772. '30',
  773. '已生产',
  774. '40',
  775. '关闭')
  776. FROM PLN_ZY_DZ_M O
  777. WHERE O.HEAT_PLAN_NO = T.UPPER_HEATPLAN_ID)
  778. END UPPER_STRAT,T.FEED_HEAT_NO,T.MEMO,T1.PLAN_INDOUBLE_NUM ACTUA_NUM,
  779. T1.PLAN_INDOUBLE_WT ACTUA_WT,T1.CUT_NUM_GP,T1.LENGTH_M,T1.LEN_GP_SINGLE LEN_GP_SINGLE_D,
  780. T1.REAL_INDOUBLE_NUM,T1.REAL_INDOUBLE_WT,
  781. NVL(CASE
  782. WHEN T.UPPER_PROCESS_CODE = 'B' THEN
  783. (SELECT O.TOT_MUM_M
  784. FROM PLN_STEELFOR_ORD O
  785. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  786. ELSE
  787. 0
  788. END,0) TOT_MUM_M,
  789. NVL(CASE
  790. WHEN T.UPPER_PROCESS_CODE = 'B' THEN
  791. (SELECT O.TOT_WEIGHT_M
  792. FROM PLN_STEELFOR_ORD O
  793. WHERE O.FURNACENO || '/' || O.SEQUENCENO = T.UPPER_HEATPLAN_ID)
  794. ELSE
  795. 0
  796. END,0) TOT_WEIGHT_M,T1.HEAT_PLAN_SQE,T3.GX_PRO_SEQ GX_PRO_SEQ_PC,T1.CUT_TARGET,T1.CUT_LENGTH,T1.CUT_WEIGHT
  797. FROM PLN_ZY_ZG_M T,PLN_ZY_ZG_C T1,PLN_ORDER_ZG_S T3
  798. WHERE T.HEAT_PLAN_NO=T1.HEAT_PLAN_NO(+)
  799. AND T.PRO_PLAN_ID=T3.PRO_PLAN_ID
  800. AND T.GX_PLAN_NO=T3.GX_PLAN_NO
  801. ]]>
  802. </query>
  803. <query id="FrmPlanStoveD.addPlnZyZgC" desc="新增轧管实际炉计划">
  804. <![CDATA[
  805. INSERT INTO PLN_ZY_ZG_C(
  806. HEAT_PLAN_NO,
  807. HEAT_PLAN_SQE,
  808. JUGDE_APPLY_CODE,
  809. ZY_BATCH_ID,
  810. STOVE_NO,
  811. JUDGE_STOVE_NO,
  812. PRO_PLAN_ID,
  813. GX_PLAN_NO,
  814. PLINE_CODE,
  815. PLINE_NAME,
  816. DIAMETER,
  817. LEN_GP_SINGLE,
  818. WT_GP_SINGLE,
  819. CUT_NUM_GP,
  820. LENGTH_M,
  821. WEIGHT_M,
  822. PLAN_INDOUBLE_NUM,
  823. PLAN_INDOUBLE_WT,
  824. REAL_INDOUBLE_NUM,
  825. REAL_INDOUBLE_WT,
  826. FLAG_STOVE_NO,
  827. CREATE_NAME,
  828. CREATE_TIME,FEED_HEAT_NO,CUT_TARGET,CUT_LENGTH,CUT_WEIGHT)
  829. VALUES(
  830. '#HEAT_PLAN_NO#',
  831. '#HEAT_PLAN_SQE#',
  832. '#JUGDE_APPLY_CODE#',
  833. '#ZY_BATCH_ID#',
  834. '#STOVE_NO#',
  835. '#JUDGE_STOVE_NO#',
  836. '#PRO_PLAN_ID#',
  837. '#GX_PLAN_NO#',
  838. '#PLINE_CODE#',
  839. '#PLINE_NAME#',
  840. '#DIAMETER#',
  841. '#LEN_GP_SINGLE#',
  842. '#WT_GP_SINGLE#',
  843. '#CUT_NUM_GP#',
  844. '#LENGTH_M#',
  845. '#WEIGHT_M#',
  846. '#PLAN_INDOUBLE_NUM#',
  847. '#PLAN_INDOUBLE_WT#',
  848. '#REAL_INDOUBLE_NUM#',
  849. '#REAL_INDOUBLE_WT#',
  850. '#FLAG_STOVE_NO#',
  851. '#CREATE_NAME#',
  852. TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),'#FEED_HEAT_NO#','#CUT_TARGET#','#CUT_LENGTH#','#CUT_WEIGHT#')
  853. ]]>
  854. </query>
  855. <query id="FrmPlanStoveD.QueryPlnZYStatus" desc="新增轧管实际炉计划状态">
  856. <![CDATA[
  857. SELECT COUNT(*) COUNT, MAX(T.PLANSTATUS) PLANSTATUS
  858. FROM PLN_ZY_ZG_M T
  859. WHERE T.PRO_PLAN_ID = ?
  860. AND T.GX_PLAN_NO = ?
  861. AND (SELECT CASE
  862. WHEN T1.JUDGE_STOVE_NO IS NULL AND
  863. T1.UPPER_PROCESS_CODE = 'B' THEN
  864. (SELECT O.JUDGE_STOVE_NO
  865. FROM PLN_STEELFOR_ORD O
  866. WHERE O.FURNACENO || '/' || O.SEQUENCENO =
  867. T1.UPPER_HEATPLAN_ID)
  868. ELSE
  869. T1.JUDGE_STOVE_NO
  870. END JUDGE_STOVE_NO
  871. FROM PLN_ZY_ZG_M T1
  872. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO) = ?
  873. ]]>
  874. </query>
  875. <query id="FrmPlanStoveD.QueryRemaZg" desc="查询是否有上料剩余计划支">
  876. <![CDATA[
  877. SELECT T1.FEED_HEAT_NO,
  878. T1.JUDGE_STOVE_NO,
  879. T.JUGDE_APPLY_CODE,
  880. T1.PRO_PLAN_ID,
  881. T1.GX_PLAN_NO,
  882. T.LENGTH_M_OLD,
  883. T.LEN_GP_SINGLE_OLD,
  884. T.CUT_NUM_OLD,
  885. T.PLAN_INDOUBLE_NUM,
  886. NVL(T.REAL_INDOUBLE_NUM, 0) REAL_INDOUBLE_NUM,
  887. TO_NUMBER(NVL(T.PLAN_INDOUBLE_NUM, 0)) -
  888. TO_NUMBER(NVL(T.REAL_INDOUBLE_NUM, 0)) COUNTNUM,
  889. (SELECT NVL(SUM(M.ACT_COUNT), 0)
  890. FROM MAT_GP_M M
  891. WHERE M.JUDGE_STOVE_NO = T.JUDGE_STOVE_NO
  892. AND NVL(M.JUGDE_APPLY_CODE, '/') = NVL(T.JUGDE_APPLY_CODE, '/')
  893. AND M.PRO_PLAN_ID_ZG = T.PRO_PLAN_ID
  894. AND M.GX_PLAN_NO_ZG = T.GX_PLAN_NO
  895. AND M.ACT_LEN = T.LENGTH_M_OLD
  896. AND M.FIX_LEN = T.LEN_GP_SINGLE_OLD
  897. AND M.FIX_NUM = T.CUT_NUM_OLD
  898. AND M.MAT_STATUS = '80150103') ACT_COUNT,
  899. T1.PLANSTATUS
  900. FROM PLN_ZY_ZG_C T,PLN_ZY_ZG_M T1
  901. WHERE T1.HEAT_PLAN_NO = T.HEAT_PLAN_NO(+)
  902. AND T.HEAT_PLAN_NO = ?
  903. AND T.HEAT_PLAN_SQE = ?
  904. ]]>
  905. </query>
  906. <query id="FrmPlanStoveD.updateMatYc" desc="释放管坯余材">
  907. <![CDATA[
  908. DECLARE
  909. BEGIN
  910. FOR MYROW IN (SELECT M.MAT_NO, M.INSTANCY_FLAG
  911. FROM MAT_GP_M M
  912. WHERE M.JUDGE_STOVE_NO = ?
  913. AND NVL(M.JUGDE_APPLY_CODE, '/') = NVL(?, '/')
  914. AND M.PRO_PLAN_ID_ZG = ?
  915. AND M.GX_PLAN_NO_ZG = ?
  916. AND M.ACT_LEN = ?
  917. AND M.FIX_LEN = ?
  918. AND M.FIX_NUM = ?
  919. AND M.MAT_STATUS = '80150103') LOOP
  920. IF (MYROW.INSTANCY_FLAG = '1') THEN
  921. UPDATE MAT_GP_M M
  922. SET M.PRO_PLAN_ID_ZG = '',
  923. M.GX_PLAN_NO_ZG = '',
  924. M.MAT_STATUS = '80150101',
  925. M.HANGING_FLAG = '0',
  926. M.LK_FLAG = '0',
  927. M.CUT_YU_LONG = '0',
  928. M.HEAT_PLAN_NO_NEXT = ''
  929. WHERE M.MAT_NO = MYROW.MAT_NO;
  930. ELSE
  931. UPDATE MAT_GP_M M
  932. SET M.PRO_PLAN_ID_ZG = '',
  933. M.GX_PLAN_NO_ZG = '',
  934. M.MAT_STATUS = '80150102',
  935. M.HANGING_FLAG = '0',
  936. M.LK_FLAG = '0',
  937. M.CUT_YU_LONG = '0',
  938. M.HEAT_PLAN_NO_NEXT = ''
  939. WHERE M.MAT_NO = MYROW.MAT_NO;
  940. END IF;
  941. END LOOP;
  942. END;
  943. ]]>
  944. </query>
  945. <query id = "FrmPlanStoveD.doQueryStorageNo" desc = "查询所有仓库">
  946. SELECT T.STORAGE_NAME,T.STORAGE_NO FROM YDM_BS_STORAGE T WHERE T.STORAGE_TYPE_NO IN ('800202','800205') AND T.VALIDFLAG = '1'
  947. </query>
  948. <query id = "FrmPlanStoveD.updateGoWhere" desc = "修改物流去向">
  949. UPDATE PLN_ZY_ZG_M T
  950. SET T.GOWHERE_CODE = '#GOWHERE_CODE#', T.GOWHERE_NAME = '#GOWHERE_NAME#'
  951. WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
  952. </query>
  953. <query id = "FrmPlanStoveD.queryZyMCount" desc = "查询上料炉号是否已在虚拟炉计划中生成">
  954. <![CDATA[
  955. SELECT COUNT(1) ACOUNT
  956. FROM PLN_ZY_ZG_M T
  957. WHERE T.JUDGE_STOVE_NO = ?
  958. AND T.PLINE_CODE = ?
  959. AND T.HEAT_PLAN_NO <> ?
  960. AND T.FEED_HEAT_NO IS NOT NULL
  961. ]]>
  962. </query>
  963. <query id = "FrmPlanStoveD.queryMatBackFlag" desc = "查询装炉是否有回炉坯">
  964. SELECT COUNT(1) ACOUNT
  965. FROM MAT_GP_M T
  966. WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  967. AND T.HEAT_PLAN_NO_NEXT = '#HEAT_PLAN_NO#'
  968. AND T.BACK_FLAG = '1'
  969. </query>
  970. <query id = "FrmPlanStoveD.queryMaxJudgeNo" desc = "查询本部来天淮转换最大炉号">
  971. SELECT ?||TO_CHAR(SYSDATE,'YYMM')||LPAD(NVL(MAX(SUBSTR(T.FEED_HEAT_NO, 6)), 0) + 1, 4, 0)FEED_HEAT_NO
  972. FROM PLN_ZY_ZG_M T
  973. WHERE T.PLINE_CODE = ?
  974. AND T.FEED_HEAT_NO LIKE ?||TO_CHAR(SYSDATE,'YYMM')||'____'
  975. </query>
  976. <query id = "FrmPlanStoveD.updateFlagHeatNo" desc = "获取天津喷印炉号">
  977. <![CDATA[
  978. UPDATE PLN_ZY_ZG_M T
  979. SET T.FLAG_HEAT_NO = CASE
  980. WHEN (SELECT SUM(ACOUNT)
  981. FROM (SELECT COUNT(1) ACOUNT
  982. FROM PLN_ZY_ZG_M S
  983. WHERE S.JUDGE_STOVE_NO = '#STOVE_NO#'
  984. UNION ALL
  985. SELECT COUNT(1) ACOUNT
  986. FROM PLN_ZY_DBK_M S
  987. WHERE S.JUDGE_STOVE_NO = '#STOVE_NO#'
  988. UNION ALL
  989. SELECT COUNT(1) ACOUNT
  990. FROM PLN_ZY_RCL_M S
  991. WHERE S.JUDGE_STOVE_NO = '#STOVE_NO#'
  992. UNION ALL
  993. SELECT COUNT(1) ACOUNT
  994. FROM PLN_ZY_JGX_M S
  995. WHERE S.JUDGE_STOVE_NO = '#STOVE_NO#')) = 0 AND
  996. (SELECT LENGTH('#STOVE_NO#') FROM DUAL) = 6 THEN
  997. LPAD(TO_NUMBER('#STOVE_NO#'),6,0)
  998. ELSE
  999. LPAD((SELECT MAX(JUDGE_STOVE_NO) + 1 JUDGE_STOVE_NO
  1000. FROM (SELECT TO_NUMBER(MAX(T.JUDGE_STOVE_NO)) JUDGE_STOVE_NO
  1001. FROM PLN_ZY_DBK_M T
  1002. WHERE T.JUDGE_STOVE_NO >=
  1003. (SELECT T1.BASENAME
  1004. FROM COM_BASE_INFO T1
  1005. WHERE T1.BASECODE = '200701')
  1006. AND T.JUDGE_STOVE_NO <=
  1007. (SELECT T1.BASENAME
  1008. FROM COM_BASE_INFO T1
  1009. WHERE T1.BASECODE = '200702')
  1010. UNION ALL
  1011. SELECT TO_NUMBER(MAX(T.JUDGE_STOVE_NO)) JUDGE_STOVE_NO
  1012. FROM PLN_ZY_RCL_M T
  1013. WHERE T.JUDGE_STOVE_NO >=
  1014. (SELECT T1.BASENAME
  1015. FROM COM_BASE_INFO T1
  1016. WHERE T1.BASECODE = '200701')
  1017. AND T.JUDGE_STOVE_NO <=
  1018. (SELECT T1.BASENAME
  1019. FROM COM_BASE_INFO T1
  1020. WHERE T1.BASECODE = '200702')
  1021. UNION ALL
  1022. SELECT TO_NUMBER(MAX(T.JUDGE_STOVE_NO)) JUDGE_STOVE_NO
  1023. FROM PLN_ZY_JGX_M T
  1024. WHERE T.JUDGE_STOVE_NO >=
  1025. (SELECT T1.BASENAME
  1026. FROM COM_BASE_INFO T1
  1027. WHERE T1.BASECODE = '200701')
  1028. AND T.JUDGE_STOVE_NO <=
  1029. (SELECT T1.BASENAME
  1030. FROM COM_BASE_INFO T1
  1031. WHERE T1.BASECODE = '200702')
  1032. UNION ALL
  1033. SELECT TO_NUMBER(MAX(T.JUDGE_STOVE_NO)) JUDGE_STOVE_NO
  1034. FROM PLN_ZY_JG_M T
  1035. WHERE T.JUDGE_STOVE_NO >=
  1036. (SELECT T1.BASENAME
  1037. FROM COM_BASE_INFO T1
  1038. WHERE T1.BASECODE = '200701')
  1039. AND T.JUDGE_STOVE_NO <=
  1040. (SELECT T1.BASENAME
  1041. FROM COM_BASE_INFO T1
  1042. WHERE T1.BASECODE = '200702')
  1043. UNION ALL
  1044. --天淮给本部生产用
  1045. SELECT TO_NUMBER(MAX(T.FLAG_HEAT_NO)) JUDGE_STOVE_NO
  1046. FROM PLN_ZY_ZG_M T
  1047. WHERE T.FLAG_HEAT_NO >=
  1048. (SELECT T1.BASENAME
  1049. FROM COM_BASE_INFO T1
  1050. WHERE T1.BASECODE = '200701')
  1051. AND T.FLAG_HEAT_NO <=
  1052. (SELECT T1.BASENAME
  1053. FROM COM_BASE_INFO T1
  1054. WHERE T1.BASECODE = '200702')
  1055. UNION ALL
  1056. SELECT TO_NUMBER(T1.BASENAME) - 1 JUDGE_STOVE_NO
  1057. FROM COM_BASE_INFO T1
  1058. WHERE T1.BASECODE = '200701')),6,0)
  1059. END
  1060. WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
  1061. ]]>
  1062. </query>
  1063. <query id = "FrmPlanStoveD.cancleFlagHeatNo" desc = "撤销喷印炉号">
  1064. UPDATE PLN_ZY_ZG_M T
  1065. SET T.FLAG_HEAT_NO = ''
  1066. WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
  1067. </query>
  1068. </queryMap>