mes_cx_JG_zzpnew_hand.sql 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  1. CREATE OR REPLACE procedure mes_cx_JG_zzpnew_hand is
  2. a number(4);
  3. b varchar(200);
  4. cxdata orderdetail_v@th_cx_link%rowtype;
  5. prod_name_cx varchar(200);
  6. sg_grade_cx varchar(200);
  7. sg_sign_cx varchar(200);
  8. wall_thickness_cx varchar(200);
  9. material_code_cx varchar(200);
  10. MATERIAL_NAME_cx varchar(200);
  11. outer_diam_cx varchar(200);
  12. --加工
  13. cursor oporder_cursor_jg is
  14. select j.*,get_cp_code6(j.orderid) mate_code,case j.pline_code when 'C108' then '车丝' else '加工' end as process,
  15. (select decode(max(s.order_typ),
  16. '120108',
  17. '双经销',
  18. '120109',
  19. '定销订购',
  20. '120107',
  21. '来料加工',
  22. '自用')
  23. from cxuser.slm_order_head s
  24. where s.order_no = regexp_replace(j.orderid, '/.*', '')) contract_type,
  25. (case
  26. when j.judge_stove_no like 'W%' then
  27. '是'
  28. else
  29. '否'
  30. end) resource_type, null high_tech_code, null high_tech_name,
  31. 0 high_prod_weight, 0 high_mate_weight, 0 estimated_unit_price,
  32. 0 estimated_cost, '{3}' acct_period,
  33. get_pl_code(j.steel_no,
  34. (select xxx.dimater
  35. from cxuser.ydm_gp_outlist xxx
  36. where xxx.JUDGE_STOVE_NO = j.JUDGE_STOVE_NO
  37. and rownum = 1) --规格
  38. ) billet_code
  39. from (SELECT JUDGE_STOVE_NO,replace(PRO_ORDER_NO, '/', '') orderid,BATCH_NO,PRODUCNAME prod_variety,STEELNAME steel_level,GRADENAME steel_no,DIMATER,HEIGHT,DIMATER || '*' || HEIGHT spec,MODEL_DESC,PLINE_CODE,PLINE_NAME,sum(END_NUM) END_NUM,sum(END_WT) mate_weight
  40. FROM (SELECT '{0}' BAL_YEAR_MONTH,
  41. PRODUCCODE,
  42. PRODUCNAME,
  43. STEELCODE,
  44. STEELNAME,
  45. GRADECODE,
  46. GRADENAME,
  47. DIMATER,
  48. HEIGHT,
  49. PRO_ORDER_NO,
  50. MODEL_CODE,
  51. MODEL_DESC,
  52. MAX(WATING_DECISION_MEMO) WATING_DECISION_MEMO,
  53. JUDGE_STOVE_NO,
  54. BATCH_NO,
  55. PLINE_CODE,
  56. PLINE_NAME,
  57. SUM(ACT_COUNT) ACT_COUNT,
  58. SUM(ACT_WEIGHT) ACT_WEIGHT,
  59. SUM(SOURCE_NUM_TOTAL) SOURCE_NUM_TOTAL,
  60. SUM(SOURCE_WT_TOTAL) SOURCE_WT_TOTAL,
  61. SUM(SOURCE_NUM_TOTAL) SOURCE_NUM_TOTAL2,
  62. SUM(SOURCE_WT_TOTAL) SOURCE_WT_TOTAL2,
  63. SUM(NVL(SOURCE_NUM0, 0)) SOURCE_NUM0,
  64. SUM(NVL(SOURCE_WT0, 0)) SOURCE_WT0,
  65. SUM(NVL(SOURCE_NUM1, 0)) SOURCE_NUM1,
  66. SUM(NVL(SOURCE_WT1, 0)) SOURCE_WT1,
  67. SUM(NVL(SOURCE_NUM2, 0)) SOURCE_NUM2,
  68. SUM(NVL(SOURCE_WT2, 0)) SOURCE_WT2,
  69. SUM(JUDGE_NUM) JUDGE_NUM,
  70. SUM(JUDGE_WT) JUDGE_WT,
  71. SUM(FAIL_NUM) FAIL_NUM,
  72. SUM(FAIL_WT) FAIL_WT,
  73. SUM(GROUP_NUM) GROUP_NUM,
  74. SUM(GROUP_WT) GROUP_WT,
  75. SUM(END_NUM) END_NUM,
  76. SUM(END_WT) END_WT,
  77. SUM(NVL(COUPLING_NUM, 0)) COUPLING_NUM,
  78. SUM(NVL(COUPLING_WT, 0)) COUPLING_WT,
  79. SUM(NVL(XS_ACT_COUNT,0)) XS_ACT_COUNT,
  80. SUM(NVL(XS_ACT_WEIGHT,0)) XS_ACT_WEIGHT,
  81. (SUM(JUDGE_NUM) - SUM(NVL(XS_ACT_COUNT,0))) CZ_NUM,
  82. (SUM(JUDGE_WT) - SUM(NVL(XS_ACT_WEIGHT,0))) CZ_WEIGHT
  83. FROM (SELECT ---期初
  84. PRODUCCODE,
  85. PRODUCNAME,
  86. STEELCODE,
  87. STEELNAME,
  88. GRADECODE,
  89. GRADENAME,
  90. DIMATER,
  91. HEIGHT,
  92. PRO_ORDER_NO,
  93. MODEL_CODE,
  94. MODEL_DESC,
  95. JUDGE_STOVE_NO,
  96. BATCH_NO,
  97. PLINE_CODE,
  98. PLINE_NAME,
  99. ACT_COUNT,
  100. ACT_WEIGHT,
  101. '' WATING_DECISION_MEMO,
  102. 0 SOURCE_NUM_TOTAL,
  103. 0 SOURCE_WT_TOTAL,
  104. 0 SOURCE_NUM0,
  105. 0 SOURCE_WT0,
  106. 0 SOURCE_NUM1,
  107. 0 SOURCE_WT1,
  108. 0 SOURCE_NUM2,
  109. 0 SOURCE_WT2,
  110. 0 JUDGE_NUM,
  111. 0 JUDGE_WT,
  112. 0 FAIL_NUM,
  113. 0 FAIL_WT,
  114. 0 GROUP_NUM,
  115. 0 GROUP_WT,
  116. 0 END_NUM,
  117. 0 END_WT,
  118. 0 COUPLING_NUM,
  119. 0 COUPLING_WT,
  120. 0 XS_ACT_COUNT,
  121. 0 XS_ACT_WEIGHT
  122. FROM YDM_HTT_INITIAL T
  123. WHERE T.BAL_YEAR_MONTH = '{0}' and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  124. UNION ALL
  125. SELECT -- 上料
  126. PRODUCCODE,
  127. PRODUCNAME,
  128. STEELCODE,
  129. STEELNAME,
  130. GRADECODE,
  131. GRADENAME,
  132. M.OUTDIAMETER DIMATER,
  133. M.WALLTHICK HEIGHT,
  134. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  135. MODEL_CODE,
  136. MODEL_DESC,
  137. T.JUDGE_STOVE_NO,
  138. T.BATCH_NO,
  139. T.PLINE_CODE,
  140. T.PLINE_NAME,
  141. 0 ACT_COUNT,
  142. 0 ACT_WEIGHT,
  143. '' WATING_DECISION_MEMO,
  144. T.PRO_NUM SOURCE_NUM_TOTAL,
  145. T.PRO_WT SOURCE_WT_TOTAL,
  146. DECODE(MAT_SOURCE, '0', PRO_NUM, 0) SOURCE_NUM0,
  147. DECODE(MAT_SOURCE, '0', PRO_WT, 0) SOURCE_WT0,
  148. DECODE(MAT_SOURCE, '1', PRO_NUM, 0) SOURCE_NUM1,
  149. DECODE(MAT_SOURCE, '1', PRO_WT, 0) SOURCE_WT1,
  150. DECODE(MAT_SOURCE, '2', PRO_NUM, 0) SOURCE_NUM2,
  151. DECODE(MAT_SOURCE, '2', PRO_WT, 0) SOURCE_WT2,
  152. 0 JUDGE_NUM,
  153. 0 JUDGE_WT,
  154. 0 FAIL_NUM,
  155. 0 FAIL_WT,
  156. 0 GROUP_NUM,
  157. 0 GROUP_WT,
  158. 0 END_NUM,
  159. 0 END_WT,
  160. 0 COUPLING_NUM,
  161. 0 COUPLING_WT,
  162. 0 XS_ACT_COUNT,
  163. 0 XS_ACT_WEIGHT
  164. FROM MCH_LOADING_RESULT T, PLN_ZY_JGX_M M
  165. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO
  166. AND T.BAL_YEAR_MONTH = '{0}' and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  167. UNION ALL
  168. SELECT -- 成品红冲 利库短节备料 计入收料 缴库
  169. PRODUCCODE,
  170. PRODUCNAME,
  171. STEELCODE,
  172. STEELNAME,
  173. GRADECODE,
  174. GRADENAME,
  175. T.ACT_DIMATER DIMATER,
  176. T.ACT_HEIGHT HEIGHT,
  177. T.PRO_ORDER_NO,
  178. MODEL_CODE,
  179. MODEL_DESC,
  180. T.JUDGE_STOVE_NO,
  181. T.BATCH_NO,
  182. T.PLINE_CODE,
  183. T.PLINE_NAME,
  184. 0 ACT_COUNT,
  185. 0 ACT_WEIGHT,
  186. '' WATING_DECISION_MEMO,
  187. T.ACT_COUNT SOURCE_NUM_TOTAL,
  188. T.ACT_WEIGHT SOURCE_WT_TOTAL,
  189. T.ACT_COUNT SOURCE_NUM0,
  190. T.ACT_WEIGHT SOURCE_WT0,
  191. 0 SOURCE_NUM1,
  192. 0 SOURCE_WT1,
  193. 0 SOURCE_NUM2,
  194. 0 SOURCE_WT2,
  195. ACT_COUNT JUDGE_NUM,
  196. ACT_WEIGHT JUDGE_WT,
  197. 0 FAIL_NUM,
  198. 0 FAIL_WT,
  199. 0 GROUP_NUM,
  200. 0 GROUP_WT,
  201. 0 END_NUM,
  202. 0 END_WT,
  203. 0 COUPLING_NUM,
  204. 0 COUPLING_WT,
  205. 0 XS_ACT_COUNT,
  206. 0 XS_ACT_WEIGHT
  207. FROM QCM_ZG_JUGDE_APPLY T
  208. WHERE T.IS_ALL_SCRAP = '5'
  209. AND T.BAL_YEAR_MONTH = '{0}'
  210. AND T.PROCESS_CODE = 'G'
  211. AND (((JUDGE_RESULT_CODE = '40740701' OR JUDGE_RESULT_CODE = '40740709' OR
  212. EXISTS (SELECT 1
  213. FROM QCM_BC_PASS_APPLY
  214. WHERE JUGDE_APPLY_CODE = T.JUGDE_APPLY_CODE
  215. AND JUDGE_STOVE_NO = T.JUDGE_STOVE_NO
  216. AND BATCH_NO = T.BATCH_NO
  217. AND VALIDFLAG = '1'
  218. AND TYPE = '1')) AND TARGET <> 'A') OR
  219. (TARGET = 'A' AND (JUDGE_TOLRESULT_CODE = '40740701' OR
  220. JUDGE_TOLRESULT_CODE = '40740709')))
  221. AND T.IS_FLAG = '0'
  222. and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  223. UNION ALL
  224. SELECT ---- 当月审核的废品 和当月组炉
  225. M.PRODUCCODE,
  226. M.PRODUCNAME,
  227. M.STEELCODE,
  228. M.STEELNAME,
  229. M.GRADECODE,
  230. M.GRADENAME,
  231. M.OUTDIAMETER DIMATER,
  232. M.WALLTHICK HEIGHT,
  233. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  234. M.MODEL_CODE,
  235. M.MODEL_DESC,
  236. T.JUDGE_STOVE_NO,
  237. T.BATCH_NO,
  238. T.PLINE_CODE,
  239. T.PLINE_NAME,
  240. 0 ACT_COUNT,
  241. 0 ACT_WEIGHT,
  242. '' WATING_DECISION_MEMO,
  243. 0 SOURCE_NUM_TOTAL,
  244. 0 SOURCE_WT_TOTAL,
  245. 0 SOURCE_NUM0,
  246. 0 SOURCE_WT0,
  247. 0 SOURCE_NUM1,
  248. 0 SOURCE_WT1,
  249. 0 SOURCE_NUM2,
  250. 0 SOURCE_WT2,
  251. 0 JUDGE_NUM,
  252. 0 JUDGE_WT,
  253. DECODE(T.MAT_STATUS, '10', 1, '40', 1, 0) FAIL_NUM,
  254. DECODE(T.MAT_STATUS,
  255. '10',
  256. T.ACT_THEORY_WEIGHT,
  257. '40',
  258. T.ACT_THEORY_WEIGHT,
  259. 0) FAIL_WT,
  260. DECODE(T.MAT_STATUS, '30', 1, 0) GROUP_NUM,
  261. DECODE(T.MAT_STATUS, '30', T.ACT_THEORY_WEIGHT, 0) GROUP_WT,
  262. 0 END_NUM,
  263. 0 END_WT,
  264. 0 COUPLING_NUM,
  265. 0 COUPLING_WT,
  266. 0 XS_ACT_COUNT,
  267. 0 XS_ACT_WEIGHT
  268. FROM PORT_MCH_BATCH_SAMPLE_RESULT T, PLN_ZY_JGX_M M
  269. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO
  270. AND T.VALIDFLAG = '1' and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  271. AND IS_FAIL_CHECK = '1'
  272. AND BAL_YEAR_MONTH_FAIL IS NOT NULL
  273. AND BAL_YEAR_MONTH_FAIL = '{0}'
  274. UNION ALL
  275. SELECT --- 当月判定支
  276. M.PRODUCCODE,
  277. M.PRODUCNAME,
  278. M.STEELCODE,
  279. M.STEELNAME,
  280. M.GRADECODE,
  281. M.GRADENAME,
  282. M.OUTDIAMETER DIMATER,
  283. M.WALLTHICK HEIGHT,
  284. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  285. M.MODEL_CODE,
  286. M.MODEL_DESC,
  287. T.JUDGE_STOVE_NO,
  288. T.BATCH_NO,
  289. T.PLINE_CODE,
  290. T.PLINE_NAME,
  291. 0 ACT_COUNT,
  292. 0 ACT_WEIGHT,
  293. '' WATING_DECISION_MEMO,
  294. 0 SOURCE_NUM_TOTAL,
  295. 0 SOURCE_WT_TOTAL,
  296. 0 SOURCE_NUM0,
  297. 0 SOURCE_WT0,
  298. 0 SOURCE_NUM1,
  299. 0 SOURCE_WT1,
  300. 0 SOURCE_NUM2,
  301. 0 SOURCE_WT2,
  302. ACT_COUNT JUDGE_NUM,
  303. ACT_WEIGHT JUDGE_WT,
  304. 0 FAIL_NUM,
  305. 0 FAIL_WT,
  306. 0 GROUP_NUM,
  307. 0 GROUP_WT,
  308. 0 END_NUM,
  309. 0 END_WT,
  310. 0 COUPLING_NUM,
  311. 0 COUPLING_WT,
  312. 0 XS_ACT_COUNT,
  313. 0 XS_ACT_WEIGHT
  314. FROM QCM_ZG_JUGDE_APPLY T, PLN_ZY_JGX_M M
  315. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO
  316. AND T.BAL_YEAR_MONTH = '{0}'
  317. AND T.PROCESS_CODE = 'G'
  318. AND (((JUDGE_RESULT_CODE = '40740701' OR JUDGE_RESULT_CODE = '40740709' OR
  319. EXISTS (SELECT 1
  320. FROM QCM_BC_PASS_APPLY
  321. WHERE JUGDE_APPLY_CODE = T.JUGDE_APPLY_CODE
  322. AND JUDGE_STOVE_NO = T.JUDGE_STOVE_NO
  323. AND BATCH_NO = T.BATCH_NO
  324. AND VALIDFLAG = '1'
  325. AND TYPE = '1')) AND TARGET <> 'A') OR
  326. (TARGET = 'A' AND (JUDGE_TOLRESULT_CODE = '40740701' OR
  327. JUDGE_TOLRESULT_CODE = '40740709')))
  328. AND T.IS_FLAG = '0'
  329. AND T.IS_ALL_SCRAP IN ('0', '2', '7') and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  330. UNION ALL
  331. SELECT ---已结算的期末
  332. PRODUCCODE,
  333. PRODUCNAME,
  334. STEELCODE,
  335. STEELNAME,
  336. GRADECODE,
  337. GRADENAME,
  338. DIMATER,
  339. HEIGHT,
  340. PRO_ORDER_NO,
  341. MODEL_CODE,
  342. MODEL_DESC,
  343. JUDGE_STOVE_NO,
  344. BATCH_NO,
  345. PLINE_CODE,
  346. PLINE_NAME,
  347. 0 ACT_COUNT,
  348. 0 ACT_WEIGHT,
  349. MEMO WATING_DECISION_MEMO,
  350. 0 SOURCE_NUM_TOTAL,
  351. 0 SOURCE_WT_TOTAL,
  352. 0 SOURCE_NUM0,
  353. 0 SOURCE_WT0,
  354. 0 SOURCE_NUM1,
  355. 0 SOURCE_WT1,
  356. 0 SOURCE_NUM2,
  357. 0 SOURCE_WT2,
  358. 0 JUDGE_NUM,
  359. 0 JUDGE_WT,
  360. 0 FAIL_NUM,
  361. 0 FAIL_WT,
  362. 0 GROUP_NUM,
  363. 0 GROUP_WT,
  364. ACT_COUNT END_NUM,
  365. ACT_WEIGHT END_WT,
  366. 0 COUPLING_NUM,
  367. 0 COUPLING_WT,
  368. 0 XS_ACT_COUNT,
  369. 0 XS_ACT_WEIGHT
  370. FROM YDM_HTT_INITIAL T
  371. WHERE T.BAL_YEAR_MONTH = '{1}' and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  372. UNION ALL
  373. SELECT --- 未结算的期末
  374. M.PRODUCCODE,
  375. M.PRODUCNAME,
  376. M.STEELCODE,
  377. M.STEELNAME,
  378. M.GRADECODE,
  379. M.GRADENAME,
  380. M.OUTDIAMETER DIMATER,
  381. M.WALLTHICK HEIGHT,
  382. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  383. M.MODEL_CODE,
  384. M.MODEL_DESC,
  385. M.JUDGE_STOVE_NO,
  386. T.BATCH_NO,
  387. T.PLINE_CODE,
  388. T.PLINE_NAME,
  389. 0 ACT_COUNT,
  390. 0 ACT_WEIGHT,
  391. M.WAITING_DECISION_MEMO WATING_DECISION_MEMO,
  392. 0 SOURCE_NUM_TOTAL,
  393. 0 SOURCE_WT_TOTAL,
  394. 0 SOURCE_NUM0,
  395. 0 SOURCE_WT0,
  396. 0 SOURCE_NUM1,
  397. 0 SOURCE_WT1,
  398. 0 SOURCE_NUM2,
  399. 0 SOURCE_WT2,
  400. 0 JUDGE_NUM,
  401. 0 JUDGE_WT,
  402. 0 FAIL_NUM,
  403. 0 FAIL_WT,
  404. 0 GROUP_NUM,
  405. 0 GROUP_WT,
  406. T.END_NUM,
  407. T.END_WT,
  408. 0 COUPLING_NUM,
  409. 0 COUPLING_WT,
  410. 0 XS_ACT_COUNT,
  411. 0 XS_ACT_WEIGHT
  412. FROM (SELECT SUM(END_NUM) END_NUM,
  413. SUM(END_WT) END_WT,
  414. HEAT_PLAN_NO,
  415. JUDGE_STOVE_NO,
  416. BATCH_NO,
  417. PLINE_CODE,
  418. PLINE_NAME
  419. FROM (SELECT T.HEAT_PLAN_NO,
  420. T.JUDGE_STOVE_NO,
  421. T.PHY_BATCH_NO BATCH_NO,
  422. T.PLINE_CODE,
  423. T.PLINE_NAME,
  424. T.ACT_COUNT * T.OUTNUM_CUT END_NUM,
  425. ACT_THEORY_WEIGHT END_WT
  426. FROM PORT_MCH_BATCH_SAMPLE_RESULT T
  427. WHERE T.BAL_YEAR_MONTH < '{1}'
  428. AND T.BAL_YEAR_MONTH > '201810'
  429. AND T.VALIDFLAG = '1'
  430. AND T.MAT_STATUS = '20'
  431. UNION ALL
  432. SELECT T.HEAT_PLAN_NO,
  433. T.JUDGE_STOVE_NO,
  434. T.PHY_BATCH_NO BATCH_NO,
  435. T.PLINE_CODE,
  436. T.PLINE_NAME,
  437. T.ACT_COUNT * T.OUTNUM_CUT END_NUM,
  438. ACT_THEORY_WEIGHT END_WT
  439. FROM PORT_MCH_BATCH_SAMPLE_RESULT T
  440. WHERE T.BAL_YEAR_MONTH < '{1}'
  441. AND T.BAL_YEAR_MONTH > '201810'
  442. AND T.BAL_YEAR_MONTH_FAIL >=
  443. '{1}'
  444. AND T.VALIDFLAG = '1'
  445. AND T.MAT_STATUS = '30'
  446. UNION ALL
  447. SELECT T.HEAT_PLAN_NO,
  448. T.JUDGE_STOVE_NO,
  449. T.PHY_BATCH_NO BATCH_NO,
  450. T.PLINE_CODE,
  451. T.PLINE_NAME,
  452. T.ACT_COUNT * T.OUTNUM_CUT END_NUM,
  453. ACT_THEORY_WEIGHT END_WT
  454. FROM PORT_MCH_BATCH_SAMPLE_RESULT T
  455. WHERE T.BAL_YEAR_MONTH < '{1}'
  456. AND T.BAL_YEAR_MONTH > '201807'
  457. AND T.VALIDFLAG = '1'
  458. AND T.MAT_STATUS IN ('10', '40')
  459. AND (T.IS_FAIL_CHECK = '0' OR
  460. T.BAL_YEAR_MONTH_FAIL >=
  461. '{1}')
  462. UNION ALL
  463. SELECT T.HEAT_PLAN_NO,
  464. T.JUDGE_STOVE_NO,
  465. T.PHY_BATCH_NO BATCH_NO,
  466. T.PLINE_CODE,
  467. T.PLINE_NAME,
  468. T.ACT_COUNT * T.OUTNUM_CUT END_NUM,
  469. ACT_THEORY_WEIGHT END_WT
  470. FROM PORT_MCH_BATCH_SAMPLE_RESULT T
  471. WHERE T.BAL_YEAR_MONTH < '{1}'
  472. AND T.BAL_YEAR_MONTH > '201807'
  473. AND T.VALIDFLAG = '1'
  474. AND T.MAT_STATUS = '00'
  475. AND NOT EXISTS
  476. (SELECT 1
  477. FROM QCM_ZG_JUGDE_APPLY QCM
  478. WHERE 1 = 1
  479. AND IS_FLAG = '0'
  480. AND IS_ALL_SCRAP IN ('0', '2', '5', '7')
  481. AND PROCESS_CODE = 'G'
  482. AND (((JUDGE_RESULT_CODE = '40740701' OR JUDGE_RESULT_CODE = '40740709' OR
  483. EXISTS (SELECT 1
  484. FROM QCM_BC_PASS_APPLY
  485. WHERE JUGDE_APPLY_CODE = QCM.JUGDE_APPLY_CODE
  486. AND JUDGE_STOVE_NO = QCM.JUDGE_STOVE_NO
  487. AND BATCH_NO = QCM.BATCH_NO
  488. AND VALIDFLAG = '1'
  489. AND TYPE = '1')) AND TARGET <> 'A') OR
  490. (TARGET = 'A' AND (JUDGE_TOLRESULT_CODE = '40740701' OR
  491. JUDGE_TOLRESULT_CODE = '40740709')))
  492. AND BAL_YEAR_MONTH <
  493. '{1}'
  494. AND JUGDE_APPLY_CODE =
  495. NVL(T.JUGDE_APPLY_CODE, '/')
  496. AND JUDGE_STOVE_NO = T.JUDGE_STOVE_NO
  497. AND BATCH_NO = T.PHY_BATCH_NO))
  498. GROUP BY HEAT_PLAN_NO,
  499. JUDGE_STOVE_NO,
  500. BATCH_NO,
  501. PLINE_CODE,
  502. PLINE_NAME) T,
  503. PLN_ZY_JGX_M M
  504. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO
  505. AND NOT EXISTS
  506. (SELECT 1
  507. FROM YDM_HTT_INITIAL
  508. WHERE PLINE_CODE = T.PLINE_CODE
  509. AND BAL_YEAR_MONTH = '{1}'
  510. AND ROWNUM = 1) and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  511. UNION ALL
  512. SELECT --- 当月接箍个数
  513. M.PRODUCCODE,
  514. M.PRODUCNAME,
  515. M.STEELCODE,
  516. M.STEELNAME,
  517. M.GRADECODE,
  518. M.GRADENAME,
  519. M.OUTDIAMETER DIMATER,
  520. M.WALLTHICK HEIGHT,
  521. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  522. M.MODEL_CODE,
  523. M.MODEL_DESC,
  524. T.JUDGE_STOVE_NO,
  525. T.BATCH_NO,
  526. T.PLINE_CODE,
  527. T.PLINE_NAME,
  528. 0 ACT_COUNT,
  529. 0 ACT_WEIGHT,
  530. '' WATING_DECISION_MEMO,
  531. 0 SOURCE_NUM_TOTAL,
  532. 0 SOURCE_WT_TOTAL,
  533. 0 SOURCE_NUM0,
  534. 0 SOURCE_WT0,
  535. 0 SOURCE_NUM1,
  536. 0 SOURCE_WT1,
  537. 0 SOURCE_NUM2,
  538. 0 SOURCE_WT2,
  539. 0 JUDGE_NUM,
  540. 0 JUDGE_WT,
  541. 0 FAIL_NUM,
  542. 0 FAIL_WT,
  543. 0 GROUP_NUM,
  544. 0 GROUP_WT,
  545. 0 END_NUM,
  546. 0 END_WT,
  547. COUPLING_NUM COUPLING_NUM,
  548. COUPLING_WT COUPLING_WT,
  549. 0 XS_ACT_COUNT,
  550. 0 XS_ACT_WEIGHT
  551. FROM MCH_TWISTINGLY_RESULT T, PLN_ZY_JGX_M M
  552. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO
  553. AND T.BAL_YEAR_MONTH = '{0}'
  554. and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  555. UNION ALL
  556. SELECT -- 短节精整利库 或返线 的 加上料支数
  557. M.PRODUCCODE,
  558. M.PRODUCNAME,
  559. M.STEELCODE,
  560. M.STEELNAME,
  561. M.GRADECODE,
  562. M.GRADENAME,
  563. M.OUTDIAMETER DIMATER,
  564. M.WALLTHICK HEIGHT,
  565. M.ORDER_NO || '/' || M.ORDER_SEQ PRO_ORDER_NO,
  566. M.MODEL_CODE,
  567. M.MODEL_DESC,
  568. M.JUDGE_STOVE_NO,
  569. (SELECT MAX(batch_no) FROM pln_zy_jgx_c WHERE heat_plan_no=M.heat_plan_no ) ,
  570. T.PLINE_CODE,
  571. T.PLINE_NAME,
  572. 0 ACT_COUNT,
  573. 0 ACT_WEIGHT,
  574. '' WATING_DECISION_MEMO,
  575. M.PLN_INSINGLE_NUM SOURCE_NUM_TOTAL,
  576. M.PLN_INSINGLE_WT SOURCE_WT_TOTAL,
  577. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'0',M.PLN_INSINGLE_NUM,0)
  578. SOURCE_NUM0,
  579. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'0',M.PLN_INSINGLE_WT,0)
  580. SOURCE_WT0,
  581. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'1',M.PLN_INSINGLE_NUM,0)
  582. SOURCE_NUM1,
  583. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'1',M.PLN_INSINGLE_WT,0)
  584. SOURCE_WT1,
  585. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'2',M.PLN_INSINGLE_NUM,0)
  586. SOURCE_NUM2,
  587. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD),'2',M.PLN_INSINGLE_WT,0)
  588. SOURCE_WT2,
  589. 0 JUDGE_NUM,
  590. 0 JUDGE_WT,
  591. 0 FAIL_NUM,
  592. 0 FAIL_WT,
  593. 0 GROUP_NUM,
  594. 0 GROUP_WT,
  595. 0 END_NUM,
  596. 0 END_WT,
  597. 0 COUPLING_NUM ,
  598. 0 COUPLING_WT,
  599. 0 XS_ACT_COUNT,
  600. 0 XS_ACT_WEIGHT
  601. FROM PLN_ZY_JGX_M T,PLN_ZY_JGX_M M
  602. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD
  603. AND M.IF_MATCH_ODD ='6'
  604. AND M.BAL_YEAR_MONTH = '{0}'
  605. AND EXISTS
  606. (SELECT *
  607. FROM COM_BASE_PRODUCT
  608. WHERE PRODUCCODE = M.PRODUCCODE
  609. AND PRODUC_STYLE = '405004')
  610. AND EXISTS (SELECT 1 FROM MCH_LOADING_RESULT L
  611. WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO AND L.BAL_YEAR_MONTH ='{0}')
  612. AND EXISTS (SELECT 1 FROM PORT_MCH_BATCH_SAMPLE_RESULT WHERE HEAT_PLAN_NO = M.HEAT_PLAN_NO)
  613. and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  614. UNION ALL -- 部分精整返线转短节 上料支数减去
  615. SELECT
  616. T.PRODUCCODE,
  617. T.PRODUCNAME,
  618. T.STEELCODE,
  619. T.STEELNAME,
  620. T.GRADECODE,
  621. T.GRADENAME,
  622. T.OUTDIAMETER DIMATER,
  623. T.WALLTHICK HEIGHT,
  624. T.ORDER_NO || '/' || T.ORDER_SEQ PRO_ORDER_NO,
  625. T.MODEL_CODE,
  626. T.MODEL_DESC,
  627. T.JUDGE_STOVE_NO,
  628. (SELECT MAX(batch_no) FROM pln_zy_jgx_c WHERE heat_plan_no=M.heat_plan_no ) ,
  629. T.PLINE_CODE,
  630. T.PLINE_NAME,
  631. 0 ACT_COUNT,
  632. 0 ACT_WEIGHT,
  633. '' WATING_DECISION_MEMO,
  634. 0- M.PLN_INSINGLE_NUM SOURCE_NUM_TOTAL,
  635. 0 - M.PLN_INSINGLE_WT SOURCE_WT_TOTAL,
  636. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'0', 0- M.PLN_INSINGLE_NUM,0)
  637. SOURCE_NUM0,
  638. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'0',0- M.PLN_INSINGLE_WT,0)
  639. SOURCE_WT0,
  640. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'1',0-M.PLN_INSINGLE_NUM,0)
  641. SOURCE_NUM1,
  642. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'1',0-M.PLN_INSINGLE_WT,0)
  643. SOURCE_WT1,
  644. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'2',0-M.PLN_INSINGLE_NUM,0)
  645. SOURCE_NUM2,
  646. DECODE((SELECT MAX(MAT_SOURCE) FROM MCH_LOADING_RESULT L WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO),'2',0-M.PLN_INSINGLE_WT,0)
  647. SOURCE_WT2,
  648. 0 JUDGE_NUM,
  649. 0 JUDGE_WT,
  650. 0 FAIL_NUM,
  651. 0 FAIL_WT,
  652. 0 GROUP_NUM,
  653. 0 GROUP_WT,
  654. 0 END_NUM,
  655. 0 END_WT,
  656. 0 COUPLING_NUM ,
  657. 0 COUPLING_WT,
  658. 0 XS_ACT_COUNT,
  659. 0 XS_ACT_WEIGHT
  660. FROM PLN_ZY_JGX_M T,PLN_ZY_JGX_M M
  661. WHERE T.HEAT_PLAN_NO = M.HEAT_PLAN_NO_OLD
  662. AND M.IF_MATCH_ODD ='6'
  663. AND M.BAL_YEAR_MONTH = '{0}'
  664. AND EXISTS
  665. (SELECT *
  666. FROM COM_BASE_PRODUCT
  667. WHERE PRODUCCODE = M.PRODUCCODE
  668. AND PRODUC_STYLE = '405004')
  669. AND EXISTS (SELECT 1 FROM MCH_LOADING_RESULT L
  670. WHERE L.HEAT_PLAN_NO = T.HEAT_PLAN_NO AND L.BAL_YEAR_MONTH ='{0}')
  671. AND EXISTS (SELECT 1 FROM PORT_MCH_BATCH_SAMPLE_RESULT WHERE HEAT_PLAN_NO = M.HEAT_PLAN_NO)
  672. and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  673. UNION ALL
  674. SELECT T.PRODUCCODE,
  675. T.PRODUCNAME,
  676. T.STEELCODE,
  677. T.STEELNAME,
  678. T.GRADECODE,
  679. T.GRADENAME,
  680. T.ACT_DIMATER DIMATER,
  681. T.ACT_HEIGHT HEIGHT,
  682. T.PRO_ORDER_NO,
  683. T.MODEL_CODE,
  684. T.MODEL_DESC,
  685. T.JUDGE_STOVE_NO,
  686. T.BATCH_NO,
  687. T.PLINE_CODE,
  688. T.PLINE_NAME,
  689. 0 ACT_COUNT,
  690. 0 ACT_WEIGHT,
  691. '' WATING_DECISION_MEMO,
  692. 0 SOURCE_NUM_TOTAL,
  693. 0 SOURCE_WT_TOTAL,
  694. 0 SOURCE_NUM0,
  695. 0 SOURCE_WT0,
  696. 0 SOURCE_NUM1,
  697. 0 SOURCE_WT1,
  698. 0 SOURCE_NUM2,
  699. 0 SOURCE_WT2,
  700. 0 JUDGE_NUM,
  701. 0 JUDGE_WT,
  702. 0 FAIL_NUM,
  703. 0 FAIL_WT,
  704. 0 GROUP_NUM,
  705. 0 GROUP_WT,
  706. 0 END_NUM,
  707. 0 END_WT,
  708. 0 COUPLING_NUM,
  709. 0 COUPLING_WT,
  710. T.ACT_COUNT XS_ACT_COUNT,
  711. T.ACT_WEIGHT XS_ACT_WEIGHT
  712. FROM YDM_ZC_INLIST T
  713. WHERE T.BAL_YEAR_MONTH = '{0}' and t.PLINE_CODE in ('C109', 'C108', 'C092','C102','C107','C104','C100')
  714. AND INSTOCK_TYPE_CODE != '800713'
  715. )
  716. WHERE 1 = 1
  717. GROUP BY PRODUCCODE,
  718. PRODUCNAME,
  719. STEELCODE,
  720. STEELNAME,
  721. GRADECODE,
  722. GRADENAME,
  723. DIMATER,
  724. HEIGHT,
  725. PRO_ORDER_NO,
  726. MODEL_CODE,
  727. MODEL_DESC,
  728. JUDGE_STOVE_NO,
  729. BATCH_NO,
  730. PLINE_CODE,
  731. PLINE_NAME) ss
  732. WHERE END_NUM > 0 and PRO_ORDER_NO not like '%ZZBY%'
  733. group by JUDGE_STOVE_NO,PRO_ORDER_NO,BATCH_NO,PRODUCNAME,STEELNAME,GRADENAME,DIMATER,HEIGHT,MODEL_DESC,PLINE_CODE,PLINE_NAME
  734. ORDER BY PLINE_CODE, JUDGE_STOVE_NO, BATCH_NO) j
  735. ;
  736. curoporder_jg oporder_cursor_jg%rowtype;
  737. begin
  738. --先删除
  739. /* delete from hot_production_mes_jg
  740. where acct_period in ('2025-01', '2025-01')
  741. and prod_type = '在产品'
  742. and FLAG = '0';*/
  743. open oporder_cursor_jg;
  744. loop
  745. fetch oporder_cursor_jg
  746. into curoporder_jg;
  747. exit when oporder_cursor_jg%notfound;
  748. select count(*)
  749. into a
  750. from orderdetail_v@th_cx_link t
  751. where t.contractno_num = curoporder_jg.orderid
  752. and material_code is not null;
  753. if a > 0 then
  754. select prod_name,sg_grade,sg_sign,outer_diam,wall_thickness,material_code,MATERIAL_NAME
  755. into prod_name_cx,sg_grade_cx ,sg_sign_cx,outer_diam_cx ,wall_thickness_cx ,material_code_cx , MATERIAL_NAME_cx
  756. from orderdetail_v@th_cx_link t
  757. where t.contractno_num = curoporder_jg.orderid
  758. and material_code is not null
  759. and rownum = 1;
  760. elsif substr(curoporder_jg.orderid, 1, 2) in ('TH', 'XS') then
  761. select count(*)
  762. into a
  763. from orderdetail_v@th_cx_link t
  764. where substr(t.contractno_num, 3) = substr(curoporder_jg.orderid, 3)
  765. and material_code is not null
  766. and rownum = 1;
  767. if a > 0 then
  768. select prod_name,sg_grade,sg_sign,outer_diam,wall_thickness,material_code,MATERIAL_NAME
  769. into prod_name_cx,sg_grade_cx ,sg_sign_cx ,outer_diam_cx,wall_thickness_cx ,material_code_cx , MATERIAL_NAME_cx
  770. from orderdetail_v@th_cx_link t
  771. where substr(t.contractno_num, 3) =
  772. substr(curoporder_jg.orderid, 3)
  773. and material_code is not null
  774. and rownum = 1;
  775. end if;
  776. end if;
  777. if a > 0 then
  778. insert into hot_production_mes_jg
  779. (cx_no, contract_type, prod_variety, steel_level, steel_no, spec,
  780. prod_type, prod_weight, mate_weight, steel_waste, process,
  781. high_tech_code, high_tech_name, high_prod_weight, high_mate_weight,
  782. estimated_unit_price, estimated_cost, acct_period, mate_code,
  783. resource_type, billet_code, memo, flag,mate_name,orderid,judge_stove_no,PRE_PROCESS,DELIVERY_STATUS,INSERT_TIME)
  784. values
  785. (seq_mes_cx.nextval, curoporder_jg.contract_type,
  786. prod_name_cx, sg_sign_cx,
  787. sg_grade_cx, outer_diam_cx || '*' || wall_thickness_cx, '在产品',
  788. 0, curoporder_jg.mate_weight,
  789. 0, curoporder_jg.process,
  790. curoporder_jg.high_tech_code, curoporder_jg.high_tech_name,
  791. curoporder_jg.high_prod_weight, curoporder_jg.high_mate_weight,
  792. curoporder_jg.estimated_unit_price, curoporder_jg.estimated_cost,
  793. curoporder_jg.acct_period, material_code_cx,
  794. curoporder_jg.resource_type,
  795. --(case when curOPOrder_jg.BILLET_CODE like ),
  796. (case
  797. when curoporder_jg.mate_code like '%B' then
  798. curoporder_jg.mate_code || '1'
  799. when curoporder_jg.mate_code like '%C' then
  800. curoporder_jg.mate_code || '2'
  801. when curoporder_jg.mate_code like '%H' or curoporder_jg.mate_code like '%G' then
  802. curoporder_jg.mate_code || '3'
  803. end
  804. ), '', '0',MATERIAL_NAME_cx,curoporder_jg.orderid,curoporder_jg.judge_stove_no,(case
  805. when material_code_cx like '%B' then
  806. '热轧'
  807. when material_code_cx like '%C' then
  808. '热处理'
  809. when curoporder_jg.mate_code like '%H' or curoporder_jg.mate_code like '%G' then
  810. '加工'
  811. end),SUBSTR(MATERIAL_NAME_cx,INSTR(MATERIAL_NAME_cx, ',', 1, 1) + 1, INSTR(MATERIAL_NAME_cx, ',', 1,2) - INSTR(MATERIAL_NAME_cx, ',', 1, 1) - 1),sysdate);
  812. else
  813. insert into hot_production_mes_jg
  814. (cx_no, contract_type, prod_variety, steel_level, steel_no, spec,
  815. prod_type, prod_weight, mate_weight, steel_waste, process,
  816. high_tech_code, high_tech_name, high_prod_weight, high_mate_weight,
  817. estimated_unit_price, estimated_cost, acct_period, mate_code,
  818. resource_type, billet_code, memo, flag,mate_name,orderid,judge_stove_no)
  819. values
  820. (seq_mes_cx.nextval, curoporder_jg.contract_type,
  821. curoporder_jg.prod_variety, curoporder_jg.steel_level,
  822. curoporder_jg.steel_no, curoporder_jg.spec, '在产品',
  823. 0, curoporder_jg.mate_weight,
  824. 0, curoporder_jg.process,
  825. curoporder_jg.high_tech_code, curoporder_jg.high_tech_name,
  826. curoporder_jg.high_prod_weight, curoporder_jg.high_mate_weight,
  827. curoporder_jg.estimated_unit_price, curoporder_jg.estimated_cost,
  828. curoporder_jg.acct_period, curoporder_jg.mate_code,
  829. curoporder_jg.resource_type,
  830. --(case when curOPOrder_jg.BILLET_CODE like ),
  831. (case when curoporder_jg.mate_code like '%B' then
  832. curoporder_jg.mate_code || '1' when
  833. curoporder_jg.mate_code like '%C' then
  834. curoporder_jg.mate_code || '2' end), '', '0',null,curoporder_jg.orderid,curoporder_jg.judge_stove_no);
  835. end if;
  836. end loop;
  837. close oporder_cursor_jg;
  838. commit;
  839. /*
  840. exception
  841. when others then
  842. null;*/
  843. end mes_cx_JG_zzpnew_hand;