ComBaseProcesscost.xml 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc = "对基础信息实绩操作">
  3. <query id = "ComBaseProcesscost.query" desc = "获取产线工序费用信息">
  4. <![CDATA[
  5. ]]>
  6. </query>
  7. <query id = "ComBaseProcesscost.isave" desc = "新增产线工序费用信息">
  8. <![CDATA[
  9. INSERT INTO COST_BASE_PROCESSCOST(
  10. PLINE_CODE,
  11. PLINE_NAME,
  12. PROCESS_CODE,
  13. PROCESS_DESC,
  14. YEAR,
  15. MONTH_1,
  16. MONTH_2,
  17. MONTH_3,
  18. MONTH_4,
  19. MONTH_5,
  20. MONTH_6,
  21. MONTH_7,
  22. MONTH_8,
  23. MONTH_9,
  24. MONTH_10,
  25. MONTH_11,
  26. MONTH_12,
  27. CREATE_NAME,
  28. CREATE_TIME,
  29. MEMO)
  30. VALUES(
  31. '#PLINE_CODE#',
  32. '#PLINE_NAME#',
  33. '#PROCESS_CODE#',
  34. '#PROCESS_DESC#',
  35. '#YEAR#',
  36. '#MONTH1#',
  37. '#MONTH2#',
  38. '#MONTH3#',
  39. '#MONTH4#',
  40. '#MONTH5#',
  41. '#MONTH6#',
  42. '#MONTH7#',
  43. '#MONTH8#',
  44. '#MONTH9#',
  45. '#MONTH10#',
  46. '#MONTH11#',
  47. '#MONTH12#',
  48. '#CREATE_NAME#',
  49. SYSDATE,
  50. '#MEMO#')
  51. ]]>
  52. </query>
  53. <query id = "ComBaseProcesscost.usave" desc = "修改产线工序费用信息">
  54. <![CDATA[
  55. UPDATE COST_BASE_PROCESSCOST T
  56. SET
  57. T.PLINE_CODE = '#PLINE_CODE#',
  58. T.PLINE_NAME = '#PLINE_NAME#',
  59. T.PROCESS_CODE = '#PROCESS_CODE#',
  60. T.PROCESS_DESC = '#PROCESS_DESC#',
  61. T.YEAR = '#YEAR#',
  62. T.MONTH_1 = '#MONTH1#',
  63. T.MONTH_2 = '#MONTH2#',
  64. T.MONTH_3 = '#MONTH3#',
  65. T.MONTH_4 = '#MONTH4#',
  66. T.MONTH_5 = '#MONTH5#',
  67. T.MONTH_6 = '#MONTH6#',
  68. T.MONTH_7 = '#MONTH7#',
  69. T.MONTH_8 = '#MONTH8#',
  70. T.MONTH_9 = '#MONTH9#',
  71. T.MONTH_10 = '#MONTH10#',
  72. T.MONTH_11 = '#MONTH11#',
  73. T.MONTH_12 = '#MONTH12#',
  74. T.UPDATE_NAME = '#UPDATE_NAME#',
  75. T.UPDATE_TIME = SYSDATE,
  76. T.MEMO = '#MEMO#'
  77. WHERE 1=1
  78. ]]>
  79. </query>
  80. <query id = "ComBaseProcesscost.delete" desc = "删除产线工序费用信息">
  81. <![CDATA[
  82. UPDATE COST_BASE_PROCESSCOST T
  83. SET
  84. T.UPDATE_NAME = '#UPDATE_NAME#',
  85. T.UPDATE_TIME = SYSDATE,
  86. T.DELETE_NAME = '#DELETE_NAME#',
  87. T.DELETE_TIME = SYSDATE,
  88. T.VALIDFLAG = '0'
  89. WHERE
  90. T.PLINE_CODE = '#PLINE_CODE#'
  91. AND T.YEAR = '#YEAR#'
  92. ]]>
  93. </query>
  94. <query id = "ComBaseProcesscost.resume" desc = "恢复产线工序费用信息">
  95. <![CDATA[
  96. UPDATE COST_BASE_PROCESSCOST T
  97. SET
  98. T.UPDATE_NAME = '#UPDATE_NAME#',
  99. T.UPDATE_TIME = SYSDATE,
  100. T.DELETE_NAME = '',
  101. T.DELETE_TIME = '',
  102. T.VALIDFLAG = '1'
  103. WHERE
  104. T.PLINE_CODE = '#PLINE_CODE#'
  105. AND T.YEAR = '#YEAR#'
  106. ]]>
  107. </query>
  108. <query id = "ComBaseProcesscost.querynum" desc = "获取断面信息">
  109. <![CDATA[
  110. SELECT COUNT(*)
  111. FROM COST_BASE_PROCESSCOST T
  112. WHERE 1=1
  113. ]]>
  114. </query>
  115. <query id = "ComBaseProcesscost.queryMonthone" desc = "获取断面信息">
  116. <![CDATA[
  117. SELECT T.PLINE_CODE,T.PLINE_NAME,SUM(T.WEIGTH_S) WEIGTH_S ,T.PRO_MONTH
  118. FROM
  119. (
  120. SELECT ZJ.PLINE_CODE,ZJ.PLINE_NAME,ZJ.PLAN_WT_S WEIGTH_S,ZJ.PRO_MONTH
  121. FROM PLN_ORDER_CAST_S ZJ WHERE ZJ.PRO_MONTH LIKE '%'||{0}||'%' -- 铸机
  122. UNION ALL
  123. SELECT DL.PLINE_CODE_A,DL.PLINE_NAME_A,DL.PLAN_WT_S WEIGTH_S,DL.PRO_MONTH
  124. FROM PLN_ORDER_CAST_S DL WHERE DL.PRO_MONTH LIKE '%'||{0}||'%' -- 电炉
  125. UNION ALL
  126. SELECT DBK.PLINE_CODE,DBK.PLINE_NAME,DBK.WEIGTH_S,DBK.PRO_MONTH
  127. FROM PLN_ORDER_DBK_S DBK -- 墩拔扩
  128. WHERE DBK.PRO_MONTH LIKE '%'||{0}||'%'
  129. UNION ALL
  130. SELECT DZ.PLINE_CODE,DZ.PLINE_NAME,DZ.WEIGTH_S,DZ.PRO_MONTH
  131. FROM PLN_ORDER_DZ_S DZ -- 锻造
  132. WHERE DZ.PRO_MONTH LIKE '%'||{0}||'%'
  133. UNION ALL
  134. SELECT JGX.PLINE_CODE,JGX.PLINE_NAME,JGX.WEIGTH_S,JGX.PRO_MONTH
  135. FROM PLN_ORDER_JGX_S JGX -- 加工线
  136. WHERE JGX.PRO_MONTH LIKE '%'||{0}||'%'
  137. UNION ALL
  138. SELECT RCL.PLINE_CODE,RCL.PLINE_NAME,RCL.WEIGTH_S,RCL.PRO_MONTH
  139. FROM PLN_ORDER_RCL_S RCL -- 热处理
  140. WHERE RCL.PRO_MONTH LIKE '%'||{0}||'%'
  141. UNION ALL
  142. SELECT ZG.PLINE_CODE,ZG.PLINE_NAME,ZG.WEIGTH_S,ZG.PRO_MONTH
  143. FROM PLN_ORDER_ZG_S ZG -- 扎管
  144. WHERE ZG.PRO_MONTH LIKE '%'||{0}||'%'
  145. ) T
  146. GROUP BY T.PLINE_CODE,T.PLINE_NAME,T.PRO_MONTH
  147. ORDER BY T.PLINE_CODE
  148. ]]>
  149. </query>
  150. <query id = "ComBaseProcesscost.queryprice" desc = "获取断面信息">
  151. <![CDATA[
  152. SELECT T.PLINE_CODE,T.PLINE_NAME,T.SCHEDULE_MIN,T.SCHEDULE_MAX,T.COST_PRICE
  153. FROM COST_BASE_PROCESSCOST_C T
  154. WHERE T.VALIDFLAG='1'
  155. ]]>
  156. </query>
  157. <query id = "ComBaseProcesscost.querydaxiao" desc = "获取断面信息">
  158. <![CDATA[
  159. SELECT PC.PLINE_CODE,PC.PLINE_NAME,MIN(PC.SCHEDULE_MIN) XIAO, MAX(PC.SCHEDULE_MAX) DA
  160. FROM COST_BASE_PROCESSCOST_C PC
  161. WHERE PC.VALIDFLAG='1'
  162. GROUP BY PC.PLINE_CODE,PC.PLINE_NAME
  163. ]]>
  164. </query>
  165. <query id = "ComBaseProcesscost.queryjiage" desc = "获取断面信息">
  166. <![CDATA[
  167. select test.cost_price from (select t.cost_price
  168. from cost_base_processcost_c t
  169. JOIN (SELECT MAX(A.SCHEDULE_MAX) max
  170. FROM cost_base_processcost_c A
  171. WHERE A.PLINE_CODE={0}) B
  172. on b.max<{1}
  173. where t.pline_code={0}
  174. and t.schedule_max<{1}
  175. ORDER BY T.SCHEDULE_MAX DESC ) test where ROWNUM =1
  176. union all
  177. select test.cost_price from (select t.cost_price
  178. from cost_base_processcost_c t
  179. JOIN (SELECT min(A.Schedule_Min) min
  180. FROM cost_base_processcost_c A
  181. WHERE A.PLINE_CODE={0}) B
  182. on b.min>{1}
  183. where t.pline_code={0}
  184. and t.schedule_min>{1}
  185. ORDER BY T.Schedule_Min ) test where ROWNUM =1
  186. union all
  187. select ex.cost_price from (select t.cost_price
  188. from cost_base_processcost_c t
  189. where t.pline_code={0} and t.schedule_max>{1} and t.schedule_min<{1}
  190. order by t.schedule_min desc ) ex where rownum=1
  191. ]]>
  192. </query>
  193. <query id = "ComBaseProcesscost.queryall" desc = "获取断面信息">
  194. <![CDATA[
  195. select z.pline_code PCODE, z.pline_name PNAME, z.process_code, z.process_desc, x.*
  196. from com_base_pline z,
  197. ( --轧管
  198. select t1.*,
  199. M01 * P01 + F01 H01,--汇总后总额
  200. M02 * P02 + F02 H02,
  201. M03 * P03 + F03 H03,
  202. M04 * P04 + F04 H04,
  203. M05 * P05 + F05 H05,
  204. M06 * P06 + F06 H06,
  205. M07 * P07 + F07 H07,
  206. M08 * P08 + F08 H08,
  207. M09 * P09 + F09 H09,
  208. M10 * P10 + F10 H10,
  209. M11 * P11 + F11 H11,
  210. M12 * P12 + F12 H12,
  211. M01 * P01 B01,
  212. M02 * P02 B02,
  213. M03 * P03 B03,
  214. M04 * P04 B04,
  215. M05 * P05 B05,
  216. M06 * P06 B06,
  217. M07 * P07 B07,
  218. M08 * P08 B08,
  219. M09 * P09 B09,
  220. M10 * P10 B10,
  221. M11 * P11 B11,
  222. M12 * P12 B12
  223. from (select t.*,
  224. nvl(v.month_1, 0) F01,--分摊总额
  225. nvl(v.month_2, 0) F02,
  226. nvl(v.month_3, 0) F03,
  227. nvl(v.month_4, 0) F04,
  228. nvl(v.month_5, 0) F05,
  229. nvl(v.month_6, 0) F06,
  230. nvl(v.month_7, 0) F07,
  231. nvl(v.month_8, 0) F08,
  232. nvl(v.month_9, 0) F09,
  233. nvl(v.month_10, 0) F10,
  234. nvl(v.month_11, 0) F11,
  235. nvl(v.month_12, 0) F12,
  236. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  237. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  238. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  239. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  240. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  241. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  242. (select nvl(max(a.cost_price), 0)
  243. from COST_BASE_PROCESSCOST_C a
  244. where a.validflag = '1'
  245. and t.pline_code = a.pline_code
  246. and t.M01 between a.schedule_min and a.schedule_max) P01,--单项值
  247. (select nvl(max(a.cost_price), 0)
  248. from COST_BASE_PROCESSCOST_C a
  249. where a.validflag = '1'
  250. and t.pline_code = a.pline_code
  251. and t.M02 between a.schedule_min and a.schedule_max) P02,
  252. (select nvl(max(a.cost_price), 0)
  253. from COST_BASE_PROCESSCOST_C a
  254. where a.validflag = '1'
  255. and t.pline_code = a.pline_code
  256. and t.M03 between a.schedule_min and a.schedule_max) P03,
  257. (select nvl(max(a.cost_price), 0)
  258. from COST_BASE_PROCESSCOST_C a
  259. where a.validflag = '1'
  260. and t.pline_code = a.pline_code
  261. and t.M04 between a.schedule_min and a.schedule_max) P04,
  262. (select nvl(max(a.cost_price), 0)
  263. from COST_BASE_PROCESSCOST_C a
  264. where a.validflag = '1'
  265. and t.pline_code = a.pline_code
  266. and t.M05 between a.schedule_min and a.schedule_max) P05,
  267. (select nvl(max(a.cost_price), 0)
  268. from COST_BASE_PROCESSCOST_C a
  269. where a.validflag = '1'
  270. and t.pline_code = a.pline_code
  271. and t.M06 between a.schedule_min and a.schedule_max) P06,
  272. (select nvl(max(a.cost_price), 0)
  273. from COST_BASE_PROCESSCOST_C a
  274. where a.validflag = '1'
  275. and t.pline_code = a.pline_code
  276. and t.M07 between a.schedule_min and a.schedule_max) P07,
  277. (select nvl(max(a.cost_price), 0)
  278. from COST_BASE_PROCESSCOST_C a
  279. where a.validflag = '1'
  280. and t.pline_code = a.pline_code
  281. and t.M08 between a.schedule_min and a.schedule_max) P08,
  282. (select nvl(max(a.cost_price), 0)
  283. from COST_BASE_PROCESSCOST_C a
  284. where a.validflag = '1'
  285. and t.pline_code = a.pline_code
  286. and t.M09 between a.schedule_min and a.schedule_max) P09,
  287. (select nvl(max(a.cost_price), 0)
  288. from COST_BASE_PROCESSCOST_C a
  289. where a.validflag = '1'
  290. and t.pline_code = a.pline_code
  291. and t.M10 between a.schedule_min and a.schedule_max) P10,
  292. (select nvl(max(a.cost_price), 0)
  293. from COST_BASE_PROCESSCOST_C a
  294. where a.validflag = '1'
  295. and t.pline_code = a.pline_code
  296. and t.M11 between a.schedule_min and a.schedule_max) P11,
  297. (select nvl(max(a.cost_price), 0)
  298. from COST_BASE_PROCESSCOST_C a
  299. where a.validflag = '1'
  300. and t.pline_code = a.pline_code
  301. and t.M12 between a.schedule_min and a.schedule_max) P12,
  302. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  303. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  304. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  305. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'D') a1,
  306. (select PLINE_CODE,
  307. nvl(sum(case pro_month
  308. when '01' then
  309. WEIGTH_S
  310. end),
  311. 0) as M01,
  312. nvl(sum(case pro_month
  313. when '02' then
  314. WEIGTH_S
  315. end),
  316. 0) as M02,
  317. nvl(sum(case pro_month
  318. when '03' then
  319. WEIGTH_S
  320. end),
  321. 0) as M03,
  322. nvl(sum(case pro_month
  323. when '04' then
  324. WEIGTH_S
  325. end),
  326. 0) as M04,
  327. nvl(sum(case pro_month
  328. when '05' then
  329. WEIGTH_S
  330. end),
  331. 0) as M05,
  332. nvl(sum(case pro_month
  333. when '06' then
  334. WEIGTH_S
  335. end),
  336. 0) as M06,
  337. nvl(sum(case pro_month
  338. when '07' then
  339. WEIGTH_S
  340. end),
  341. 0) as M07,
  342. nvl(sum(case pro_month
  343. when '08' then
  344. WEIGTH_S
  345. end),
  346. 0) as M08,
  347. nvl(sum(case pro_month
  348. when '09' then
  349. WEIGTH_S
  350. end),
  351. 0) as M09,
  352. nvl(sum(case pro_month
  353. when '10' then
  354. WEIGTH_S
  355. end),
  356. 0) as M10,
  357. nvl(sum(case pro_month
  358. when '11' then
  359. WEIGTH_S
  360. end),
  361. 0) as M11,
  362. nvl(sum(case pro_month
  363. when '12' then
  364. WEIGTH_S
  365. end),
  366. 0) as M12
  367. from (SELECT ZJ.d_pline PLINE_CODE,
  368. sum(ZJ.weigth_s_d ) WEIGTH_S,
  369. substr(ZJ.year_month , -2, 2) PRO_MONTH
  370. FROM cost_calculation_d ZJ
  371. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  372. GROUP BY ZJ.d_pline, ZJ.year_month
  373. order by d_pline, year_month) t
  374. group by PLINE_CODE) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+)) t,
  375. (select b.*
  376. from COST_BASE_PROCESSCOST b
  377. where b.validflag = '1') v
  378. where t.pline_code = v.pline_code(+)
  379. and t.year_ = v.Year(+)) T1
  380. union all
  381. --热处理
  382. (select t1.*,
  383. M01 * P01 + F01 H01,
  384. M02 * P02 + F02 H02,
  385. M03 * P03 + F03 H03,
  386. M04 * P04 + F04 H04,
  387. M05 * P05 + F05 H05,
  388. M06 * P06 + F06 H06,
  389. M07 * P07 + F07 H07,
  390. M08 * P08 + F08 H08,
  391. M09 * P09 + F09 H09,
  392. M10 * P10 + F10 H10,
  393. M11 * P11 + F11 H11,
  394. M12 * P12 + F12 H12,
  395. M01 * P01 B01,
  396. M02 * P02 B02,
  397. M03 * P03 B03,
  398. M04 * P04 B04,
  399. M05 * P05 B05,
  400. M06 * P06 B06,
  401. M07 * P07 B07,
  402. M08 * P08 B08,
  403. M09 * P09 B09,
  404. M10 * P10 B10,
  405. M11 * P11 B11,
  406. M12 * P12 B12
  407. from (select t.*,
  408. nvl(v.month_1, 0) F01,
  409. nvl(v.month_2, 0) F02,
  410. nvl(v.month_3, 0) F03,
  411. nvl(v.month_4, 0) F04,
  412. nvl(v.month_5, 0) F05,
  413. nvl(v.month_6, 0) F06,
  414. nvl(v.month_7, 0) F07,
  415. nvl(v.month_8, 0) F08,
  416. nvl(v.month_9, 0) F09,
  417. nvl(v.month_10, 0) F10,
  418. nvl(v.month_11, 0) F11,
  419. nvl(v.month_12, 0) F12,
  420. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  421. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  422. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  423. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  424. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  425. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  426. (select nvl(max(a.cost_price), 0)
  427. from COST_BASE_PROCESSCOST_C a
  428. where a.validflag = '1'
  429. and t.pline_code = a.pline_code
  430. and t.M01 between a.schedule_min and a.schedule_max) P01,
  431. (select nvl(max(a.cost_price), 0)
  432. from COST_BASE_PROCESSCOST_C a
  433. where a.validflag = '1'
  434. and t.pline_code = a.pline_code
  435. and t.M02 between a.schedule_min and a.schedule_max) P02,
  436. (select nvl(max(a.cost_price), 0)
  437. from COST_BASE_PROCESSCOST_C a
  438. where a.validflag = '1'
  439. and t.pline_code = a.pline_code
  440. and t.M03 between a.schedule_min and a.schedule_max) P03,
  441. (select nvl(max(a.cost_price), 0)
  442. from COST_BASE_PROCESSCOST_C a
  443. where a.validflag = '1'
  444. and t.pline_code = a.pline_code
  445. and t.M04 between a.schedule_min and a.schedule_max) P04,
  446. (select nvl(max(a.cost_price), 0)
  447. from COST_BASE_PROCESSCOST_C a
  448. where a.validflag = '1'
  449. and t.pline_code = a.pline_code
  450. and t.M05 between a.schedule_min and a.schedule_max) P05,
  451. (select nvl(max(a.cost_price), 0)
  452. from COST_BASE_PROCESSCOST_C a
  453. where a.validflag = '1'
  454. and t.pline_code = a.pline_code
  455. and t.M06 between a.schedule_min and a.schedule_max) P06,
  456. (select nvl(max(a.cost_price), 0)
  457. from COST_BASE_PROCESSCOST_C a
  458. where a.validflag = '1'
  459. and t.pline_code = a.pline_code
  460. and t.M07 between a.schedule_min and a.schedule_max) P07,
  461. (select nvl(max(a.cost_price), 0)
  462. from COST_BASE_PROCESSCOST_C a
  463. where a.validflag = '1'
  464. and t.pline_code = a.pline_code
  465. and t.M08 between a.schedule_min and a.schedule_max) P08,
  466. (select nvl(max(a.cost_price), 0)
  467. from COST_BASE_PROCESSCOST_C a
  468. where a.validflag = '1'
  469. and t.pline_code = a.pline_code
  470. and t.M09 between a.schedule_min and a.schedule_max) P09,
  471. (select nvl(max(a.cost_price), 0)
  472. from COST_BASE_PROCESSCOST_C a
  473. where a.validflag = '1'
  474. and t.pline_code = a.pline_code
  475. and t.M10 between a.schedule_min and a.schedule_max) P10,
  476. (select nvl(max(a.cost_price), 0)
  477. from COST_BASE_PROCESSCOST_C a
  478. where a.validflag = '1'
  479. and t.pline_code = a.pline_code
  480. and t.M11 between a.schedule_min and a.schedule_max) P11,
  481. (select nvl(max(a.cost_price), 0)
  482. from COST_BASE_PROCESSCOST_C a
  483. where a.validflag = '1'
  484. and t.pline_code = a.pline_code
  485. and t.M12 between a.schedule_min and a.schedule_max) P12,
  486. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  487. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  488. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  489. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'F') a1,
  490. (select PLINE_CODE,
  491. nvl(sum(case pro_month
  492. when '01' then
  493. WEIGTH_S
  494. end),
  495. 0) as M01,
  496. nvl(sum(case pro_month
  497. when '02' then
  498. WEIGTH_S
  499. end),
  500. 0) as M02,
  501. nvl(sum(case pro_month
  502. when '03' then
  503. WEIGTH_S
  504. end),
  505. 0) as M03,
  506. nvl(sum(case pro_month
  507. when '04' then
  508. WEIGTH_S
  509. end),
  510. 0) as M04,
  511. nvl(sum(case pro_month
  512. when '05' then
  513. WEIGTH_S
  514. end),
  515. 0) as M05,
  516. nvl(sum(case pro_month
  517. when '06' then
  518. WEIGTH_S
  519. end),
  520. 0) as M06,
  521. nvl(sum(case pro_month
  522. when '07' then
  523. WEIGTH_S
  524. end),
  525. 0) as M07,
  526. nvl(sum(case pro_month
  527. when '08' then
  528. WEIGTH_S
  529. end),
  530. 0) as M08,
  531. nvl(sum(case pro_month
  532. when '09' then
  533. WEIGTH_S
  534. end),
  535. 0) as M09,
  536. nvl(sum(case pro_month
  537. when '10' then
  538. WEIGTH_S
  539. end),
  540. 0) as M10,
  541. nvl(sum(case pro_month
  542. when '11' then
  543. WEIGTH_S
  544. end),
  545. 0) as M11,
  546. nvl(sum(case pro_month
  547. when '12' then
  548. WEIGTH_S
  549. end),
  550. 0) as M12
  551. from (SELECT ZJ.f_pline PLINE_CODE,
  552. sum(ZJ.weigth_s_f ) WEIGTH_S,
  553. substr(ZJ.year_month , -2, 2) PRO_MONTH
  554. FROM cost_calculation_f ZJ
  555. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  556. GROUP BY ZJ.f_pline , ZJ.year_month
  557. order by f_pline , year_month ) t
  558. group by PLINE_CODE) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+)) t,
  559. (select b.*
  560. from COST_BASE_PROCESSCOST b
  561. where b.validflag = '1') v
  562. where t.pline_code = v.pline_code(+)
  563. and t.year_ = v.Year(+)) T1)
  564. union all
  565. --电炉
  566. (select t1.*,
  567. M01 * P01 + F01 H01,
  568. M02 * P02 + F02 H02,
  569. M03 * P03 + F03 H03,
  570. M04 * P04 + F04 H04,
  571. M05 * P05 + F05 H05,
  572. M06 * P06 + F06 H06,
  573. M07 * P07 + F07 H07,
  574. M08 * P08 + F08 H08,
  575. M09 * P09 + F09 H09,
  576. M10 * P10 + F10 H10,
  577. M11 * P11 + F11 H11,
  578. M12 * P12 + F12 H12,
  579. M01 * P01 B01,
  580. M02 * P02 B02,
  581. M03 * P03 B03,
  582. M04 * P04 B04,
  583. M05 * P05 B05,
  584. M06 * P06 B06,
  585. M07 * P07 B07,
  586. M08 * P08 B08,
  587. M09 * P09 B09,
  588. M10 * P10 B10,
  589. M11 * P11 B11,
  590. M12 * P12 B12
  591. from (select t.*,
  592. nvl(v.month_1, 0) F01,
  593. nvl(v.month_2, 0) F02,
  594. nvl(v.month_3, 0) F03,
  595. nvl(v.month_4, 0) F04,
  596. nvl(v.month_5, 0) F05,
  597. nvl(v.month_6, 0) F06,
  598. nvl(v.month_7, 0) F07,
  599. nvl(v.month_8, 0) F08,
  600. nvl(v.month_9, 0) F09,
  601. nvl(v.month_10, 0) F10,
  602. nvl(v.month_11, 0) F11,
  603. nvl(v.month_12, 0) F12,
  604. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  605. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  606. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  607. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  608. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  609. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  610. (select nvl(max(a.cost_price), 0)
  611. from COST_BASE_PROCESSCOST_C a
  612. where a.validflag = '1'
  613. and t.pline_code = a.pline_code
  614. and t.M01 between a.schedule_min and a.schedule_max) P01,
  615. (select nvl(max(a.cost_price), 0)
  616. from COST_BASE_PROCESSCOST_C a
  617. where a.validflag = '1'
  618. and t.pline_code = a.pline_code
  619. and t.M02 between a.schedule_min and a.schedule_max) P02,
  620. (select nvl(max(a.cost_price), 0)
  621. from COST_BASE_PROCESSCOST_C a
  622. where a.validflag = '1'
  623. and t.pline_code = a.pline_code
  624. and t.M03 between a.schedule_min and a.schedule_max) P03,
  625. (select nvl(max(a.cost_price), 0)
  626. from COST_BASE_PROCESSCOST_C a
  627. where a.validflag = '1'
  628. and t.pline_code = a.pline_code
  629. and t.M04 between a.schedule_min and a.schedule_max) P04,
  630. (select nvl(max(a.cost_price), 0)
  631. from COST_BASE_PROCESSCOST_C a
  632. where a.validflag = '1'
  633. and t.pline_code = a.pline_code
  634. and t.M05 between a.schedule_min and a.schedule_max) P05,
  635. (select nvl(max(a.cost_price), 0)
  636. from COST_BASE_PROCESSCOST_C a
  637. where a.validflag = '1'
  638. and t.pline_code = a.pline_code
  639. and t.M06 between a.schedule_min and a.schedule_max) P06,
  640. (select nvl(max(a.cost_price), 0)
  641. from COST_BASE_PROCESSCOST_C a
  642. where a.validflag = '1'
  643. and t.pline_code = a.pline_code
  644. and t.M07 between a.schedule_min and a.schedule_max) P07,
  645. (select nvl(max(a.cost_price), 0)
  646. from COST_BASE_PROCESSCOST_C a
  647. where a.validflag = '1'
  648. and t.pline_code = a.pline_code
  649. and t.M08 between a.schedule_min and a.schedule_max) P08,
  650. (select nvl(max(a.cost_price), 0)
  651. from COST_BASE_PROCESSCOST_C a
  652. where a.validflag = '1'
  653. and t.pline_code = a.pline_code
  654. and t.M09 between a.schedule_min and a.schedule_max) P09,
  655. (select nvl(max(a.cost_price), 0)
  656. from COST_BASE_PROCESSCOST_C a
  657. where a.validflag = '1'
  658. and t.pline_code = a.pline_code
  659. and t.M10 between a.schedule_min and a.schedule_max) P10,
  660. (select nvl(max(a.cost_price), 0)
  661. from COST_BASE_PROCESSCOST_C a
  662. where a.validflag = '1'
  663. and t.pline_code = a.pline_code
  664. and t.M11 between a.schedule_min and a.schedule_max) P11,
  665. (select nvl(max(a.cost_price), 0)
  666. from COST_BASE_PROCESSCOST_C a
  667. where a.validflag = '1'
  668. and t.pline_code = a.pline_code
  669. and t.M12 between a.schedule_min and a.schedule_max) P12,
  670. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  671. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  672. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  673. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'A') a1,
  674. (select PLINE_CODE,
  675. nvl(sum(case pro_month
  676. when '01' then
  677. WEIGTH_S
  678. end),
  679. 0) as M01,
  680. nvl(sum(case pro_month
  681. when '02' then
  682. WEIGTH_S
  683. end),
  684. 0) as M02,
  685. nvl(sum(case pro_month
  686. when '03' then
  687. WEIGTH_S
  688. end),
  689. 0) as M03,
  690. nvl(sum(case pro_month
  691. when '04' then
  692. WEIGTH_S
  693. end),
  694. 0) as M04,
  695. nvl(sum(case pro_month
  696. when '05' then
  697. WEIGTH_S
  698. end),
  699. 0) as M05,
  700. nvl(sum(case pro_month
  701. when '06' then
  702. WEIGTH_S
  703. end),
  704. 0) as M06,
  705. nvl(sum(case pro_month
  706. when '07' then
  707. WEIGTH_S
  708. end),
  709. 0) as M07,
  710. nvl(sum(case pro_month
  711. when '08' then
  712. WEIGTH_S
  713. end),
  714. 0) as M08,
  715. nvl(sum(case pro_month
  716. when '09' then
  717. WEIGTH_S
  718. end),
  719. 0) as M09,
  720. nvl(sum(case pro_month
  721. when '10' then
  722. WEIGTH_S
  723. end),
  724. 0) as M10,
  725. nvl(sum(case pro_month
  726. when '11' then
  727. WEIGTH_S
  728. end),
  729. 0) as M11,
  730. nvl(sum(case pro_month
  731. when '12' then
  732. WEIGTH_S
  733. end),
  734. 0) as M12
  735. from (SELECT ZJ.a_pline PLINE_CODE,
  736. sum(ZJ.weigth_s_a ) WEIGTH_S,
  737. substr(ZJ.year_month , -2, 2) PRO_MONTH
  738. FROM cost_calculation_a ZJ
  739. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  740. GROUP BY ZJ.a_pline , ZJ.year_month
  741. order by a_pline , year_month ) t
  742. group by PLINE_CODE ) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+) ) t,
  743. (select b.*
  744. from COST_BASE_PROCESSCOST b
  745. where b.validflag = '1') v
  746. where t.pline_code = v.pline_code(+)
  747. and t.year_ = v.Year(+)) T1)
  748. union all
  749. --铸机
  750. (select t1.*,
  751. M01 * P01 + F01 H01,
  752. M02 * P02 + F02 H02,
  753. M03 * P03 + F03 H03,
  754. M04 * P04 + F04 H04,
  755. M05 * P05 + F05 H05,
  756. M06 * P06 + F06 H06,
  757. M07 * P07 + F07 H07,
  758. M08 * P08 + F08 H08,
  759. M09 * P09 + F09 H09,
  760. M10 * P10 + F10 H10,
  761. M11 * P11 + F11 H11,
  762. M12 * P12 + F12 H12,
  763. M01 * P01 B01,
  764. M02 * P02 B02,
  765. M03 * P03 B03,
  766. M04 * P04 B04,
  767. M05 * P05 B05,
  768. M06 * P06 B06,
  769. M07 * P07 B07,
  770. M08 * P08 B08,
  771. M09 * P09 B09,
  772. M10 * P10 B10,
  773. M11 * P11 B11,
  774. M12 * P12 B12
  775. from (select t.*,
  776. nvl(v.month_1, 0) F01,
  777. nvl(v.month_2, 0) F02,
  778. nvl(v.month_3, 0) F03,
  779. nvl(v.month_4, 0) F04,
  780. nvl(v.month_5, 0) F05,
  781. nvl(v.month_6, 0) F06,
  782. nvl(v.month_7, 0) F07,
  783. nvl(v.month_8, 0) F08,
  784. nvl(v.month_9, 0) F09,
  785. nvl(v.month_10, 0) F10,
  786. nvl(v.month_11, 0) F11,
  787. nvl(v.month_12, 0) F12,
  788. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  789. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  790. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  791. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  792. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  793. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  794. (select nvl(max(a.cost_price), 0)
  795. from COST_BASE_PROCESSCOST_C a
  796. where a.validflag = '1'
  797. and t.pline_code = a.pline_code
  798. and t.M01 between a.schedule_min and a.schedule_max) P01,
  799. (select nvl(max(a.cost_price), 0)
  800. from COST_BASE_PROCESSCOST_C a
  801. where a.validflag = '1'
  802. and t.pline_code = a.pline_code
  803. and t.M02 between a.schedule_min and a.schedule_max) P02,
  804. (select nvl(max(a.cost_price), 0)
  805. from COST_BASE_PROCESSCOST_C a
  806. where a.validflag = '1'
  807. and t.pline_code = a.pline_code
  808. and t.M03 between a.schedule_min and a.schedule_max) P03,
  809. (select nvl(max(a.cost_price), 0)
  810. from COST_BASE_PROCESSCOST_C a
  811. where a.validflag = '1'
  812. and t.pline_code = a.pline_code
  813. and t.M04 between a.schedule_min and a.schedule_max) P04,
  814. (select nvl(max(a.cost_price), 0)
  815. from COST_BASE_PROCESSCOST_C a
  816. where a.validflag = '1'
  817. and t.pline_code = a.pline_code
  818. and t.M05 between a.schedule_min and a.schedule_max) P05,
  819. (select nvl(max(a.cost_price), 0)
  820. from COST_BASE_PROCESSCOST_C a
  821. where a.validflag = '1'
  822. and t.pline_code = a.pline_code
  823. and t.M06 between a.schedule_min and a.schedule_max) P06,
  824. (select nvl(max(a.cost_price), 0)
  825. from COST_BASE_PROCESSCOST_C a
  826. where a.validflag = '1'
  827. and t.pline_code = a.pline_code
  828. and t.M07 between a.schedule_min and a.schedule_max) P07,
  829. (select nvl(max(a.cost_price), 0)
  830. from COST_BASE_PROCESSCOST_C a
  831. where a.validflag = '1'
  832. and t.pline_code = a.pline_code
  833. and t.M08 between a.schedule_min and a.schedule_max) P08,
  834. (select nvl(max(a.cost_price), 0)
  835. from COST_BASE_PROCESSCOST_C a
  836. where a.validflag = '1'
  837. and t.pline_code = a.pline_code
  838. and t.M09 between a.schedule_min and a.schedule_max) P09,
  839. (select nvl(max(a.cost_price), 0)
  840. from COST_BASE_PROCESSCOST_C a
  841. where a.validflag = '1'
  842. and t.pline_code = a.pline_code
  843. and t.M10 between a.schedule_min and a.schedule_max) P10,
  844. (select nvl(max(a.cost_price), 0)
  845. from COST_BASE_PROCESSCOST_C a
  846. where a.validflag = '1'
  847. and t.pline_code = a.pline_code
  848. and t.M11 between a.schedule_min and a.schedule_max) P11,
  849. (select nvl(max(a.cost_price), 0)
  850. from COST_BASE_PROCESSCOST_C a
  851. where a.validflag = '1'
  852. and t.pline_code = a.pline_code
  853. and t.M12 between a.schedule_min and a.schedule_max) P12,
  854. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  855. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  856. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  857. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'B') a1,
  858. (select PLINE_CODE,
  859. nvl(sum(case pro_month
  860. when '01' then
  861. WEIGTH_S
  862. end),
  863. 0) as M01,
  864. nvl(sum(case pro_month
  865. when '02' then
  866. WEIGTH_S
  867. end),
  868. 0) as M02,
  869. nvl(sum(case pro_month
  870. when '03' then
  871. WEIGTH_S
  872. end),
  873. 0) as M03,
  874. nvl(sum(case pro_month
  875. when '04' then
  876. WEIGTH_S
  877. end),
  878. 0) as M04,
  879. nvl(sum(case pro_month
  880. when '05' then
  881. WEIGTH_S
  882. end),
  883. 0) as M05,
  884. nvl(sum(case pro_month
  885. when '06' then
  886. WEIGTH_S
  887. end),
  888. 0) as M06,
  889. nvl(sum(case pro_month
  890. when '07' then
  891. WEIGTH_S
  892. end),
  893. 0) as M07,
  894. nvl(sum(case pro_month
  895. when '08' then
  896. WEIGTH_S
  897. end),
  898. 0) as M08,
  899. nvl(sum(case pro_month
  900. when '09' then
  901. WEIGTH_S
  902. end),
  903. 0) as M09,
  904. nvl(sum(case pro_month
  905. when '10' then
  906. WEIGTH_S
  907. end),
  908. 0) as M10,
  909. nvl(sum(case pro_month
  910. when '11' then
  911. WEIGTH_S
  912. end),
  913. 0) as M11,
  914. nvl(sum(case pro_month
  915. when '12' then
  916. WEIGTH_S
  917. end),
  918. 0) as M12
  919. from (SELECT ZJ.b_pline PLINE_CODE,
  920. sum(ZJ.weigth_s_b ) WEIGTH_S,
  921. substr(ZJ.year_month , -2, 2) PRO_MONTH
  922. FROM cost_calculation_a ZJ
  923. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  924. GROUP BY ZJ.b_pline , ZJ.year_month
  925. order by b_pline , year_month ) t
  926. group by PLINE_CODE ) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+) ) t,
  927. (select b.*
  928. from COST_BASE_PROCESSCOST b
  929. where b.validflag = '1') v
  930. where t.pline_code = v.pline_code(+)
  931. and t.year_ = v.Year(+)) T1)
  932. union all
  933. --锻造
  934. (select t1.*,
  935. M01 * P01 + F01 H01,
  936. M02 * P02 + F02 H02,
  937. M03 * P03 + F03 H03,
  938. M04 * P04 + F04 H04,
  939. M05 * P05 + F05 H05,
  940. M06 * P06 + F06 H06,
  941. M07 * P07 + F07 H07,
  942. M08 * P08 + F08 H08,
  943. M09 * P09 + F09 H09,
  944. M10 * P10 + F10 H10,
  945. M11 * P11 + F11 H11,
  946. M12 * P12 + F12 H12,
  947. M01 * P01 B01,
  948. M02 * P02 B02,
  949. M03 * P03 B03,
  950. M04 * P04 B04,
  951. M05 * P05 B05,
  952. M06 * P06 B06,
  953. M07 * P07 B07,
  954. M08 * P08 B08,
  955. M09 * P09 B09,
  956. M10 * P10 B10,
  957. M11 * P11 B11,
  958. M12 * P12 B12
  959. from (select t.*,
  960. nvl(v.month_1, 0) F01,
  961. nvl(v.month_2, 0) F02,
  962. nvl(v.month_3, 0) F03,
  963. nvl(v.month_4, 0) F04,
  964. nvl(v.month_5, 0) F05,
  965. nvl(v.month_6, 0) F06,
  966. nvl(v.month_7, 0) F07,
  967. nvl(v.month_8, 0) F08,
  968. nvl(v.month_9, 0) F09,
  969. nvl(v.month_10, 0) F10,
  970. nvl(v.month_11, 0) F11,
  971. nvl(v.month_12, 0) F12,
  972. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  973. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  974. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  975. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  976. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  977. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  978. (select nvl(max(a.cost_price), 0)
  979. from COST_BASE_PROCESSCOST_C a
  980. where a.validflag = '1'
  981. and t.pline_code = a.pline_code
  982. and t.M01 between a.schedule_min and a.schedule_max) P01,
  983. (select nvl(max(a.cost_price), 0)
  984. from COST_BASE_PROCESSCOST_C a
  985. where a.validflag = '1'
  986. and t.pline_code = a.pline_code
  987. and t.M02 between a.schedule_min and a.schedule_max) P02,
  988. (select nvl(max(a.cost_price), 0)
  989. from COST_BASE_PROCESSCOST_C a
  990. where a.validflag = '1'
  991. and t.pline_code = a.pline_code
  992. and t.M03 between a.schedule_min and a.schedule_max) P03,
  993. (select nvl(max(a.cost_price), 0)
  994. from COST_BASE_PROCESSCOST_C a
  995. where a.validflag = '1'
  996. and t.pline_code = a.pline_code
  997. and t.M04 between a.schedule_min and a.schedule_max) P04,
  998. (select nvl(max(a.cost_price), 0)
  999. from COST_BASE_PROCESSCOST_C a
  1000. where a.validflag = '1'
  1001. and t.pline_code = a.pline_code
  1002. and t.M05 between a.schedule_min and a.schedule_max) P05,
  1003. (select nvl(max(a.cost_price), 0)
  1004. from COST_BASE_PROCESSCOST_C a
  1005. where a.validflag = '1'
  1006. and t.pline_code = a.pline_code
  1007. and t.M06 between a.schedule_min and a.schedule_max) P06,
  1008. (select nvl(max(a.cost_price), 0)
  1009. from COST_BASE_PROCESSCOST_C a
  1010. where a.validflag = '1'
  1011. and t.pline_code = a.pline_code
  1012. and t.M07 between a.schedule_min and a.schedule_max) P07,
  1013. (select nvl(max(a.cost_price), 0)
  1014. from COST_BASE_PROCESSCOST_C a
  1015. where a.validflag = '1'
  1016. and t.pline_code = a.pline_code
  1017. and t.M08 between a.schedule_min and a.schedule_max) P08,
  1018. (select nvl(max(a.cost_price), 0)
  1019. from COST_BASE_PROCESSCOST_C a
  1020. where a.validflag = '1'
  1021. and t.pline_code = a.pline_code
  1022. and t.M09 between a.schedule_min and a.schedule_max) P09,
  1023. (select nvl(max(a.cost_price), 0)
  1024. from COST_BASE_PROCESSCOST_C a
  1025. where a.validflag = '1'
  1026. and t.pline_code = a.pline_code
  1027. and t.M10 between a.schedule_min and a.schedule_max) P10,
  1028. (select nvl(max(a.cost_price), 0)
  1029. from COST_BASE_PROCESSCOST_C a
  1030. where a.validflag = '1'
  1031. and t.pline_code = a.pline_code
  1032. and t.M11 between a.schedule_min and a.schedule_max) P11,
  1033. (select nvl(max(a.cost_price), 0)
  1034. from COST_BASE_PROCESSCOST_C a
  1035. where a.validflag = '1'
  1036. and t.pline_code = a.pline_code
  1037. and t.M12 between a.schedule_min and a.schedule_max) P12,
  1038. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  1039. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  1040. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  1041. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'C') a1,
  1042. (select PLINE_CODE,
  1043. nvl(sum(case pro_month
  1044. when '01' then
  1045. WEIGTH_S
  1046. end),
  1047. 0) as M01,
  1048. nvl(sum(case pro_month
  1049. when '02' then
  1050. WEIGTH_S
  1051. end),
  1052. 0) as M02,
  1053. nvl(sum(case pro_month
  1054. when '03' then
  1055. WEIGTH_S
  1056. end),
  1057. 0) as M03,
  1058. nvl(sum(case pro_month
  1059. when '04' then
  1060. WEIGTH_S
  1061. end),
  1062. 0) as M04,
  1063. nvl(sum(case pro_month
  1064. when '05' then
  1065. WEIGTH_S
  1066. end),
  1067. 0) as M05,
  1068. nvl(sum(case pro_month
  1069. when '06' then
  1070. WEIGTH_S
  1071. end),
  1072. 0) as M06,
  1073. nvl(sum(case pro_month
  1074. when '07' then
  1075. WEIGTH_S
  1076. end),
  1077. 0) as M07,
  1078. nvl(sum(case pro_month
  1079. when '08' then
  1080. WEIGTH_S
  1081. end),
  1082. 0) as M08,
  1083. nvl(sum(case pro_month
  1084. when '09' then
  1085. WEIGTH_S
  1086. end),
  1087. 0) as M09,
  1088. nvl(sum(case pro_month
  1089. when '10' then
  1090. WEIGTH_S
  1091. end),
  1092. 0) as M10,
  1093. nvl(sum(case pro_month
  1094. when '11' then
  1095. WEIGTH_S
  1096. end),
  1097. 0) as M11,
  1098. nvl(sum(case pro_month
  1099. when '12' then
  1100. WEIGTH_S
  1101. end),
  1102. 0) as M12
  1103. from (SELECT ZJ.c_pline PLINE_CODE,
  1104. sum(ZJ.weigth_s_c ) WEIGTH_S,
  1105. substr(ZJ.year_month , -2, 2) PRO_MONTH
  1106. FROM cost_calculation_a ZJ
  1107. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  1108. GROUP BY ZJ.c_pline , ZJ.year_month
  1109. order by c_pline , year_month ) t
  1110. group by PLINE_CODE ) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+) ) t,
  1111. (select b.*
  1112. from COST_BASE_PROCESSCOST b
  1113. where b.validflag = '1') v
  1114. where t.pline_code = v.pline_code(+)
  1115. and t.year_ = v.Year(+)) T1)
  1116. union all
  1117. --镦拨扩
  1118. (select t1.*,
  1119. M01 * P01 + F01 H01,
  1120. M02 * P02 + F02 H02,
  1121. M03 * P03 + F03 H03,
  1122. M04 * P04 + F04 H04,
  1123. M05 * P05 + F05 H05,
  1124. M06 * P06 + F06 H06,
  1125. M07 * P07 + F07 H07,
  1126. M08 * P08 + F08 H08,
  1127. M09 * P09 + F09 H09,
  1128. M10 * P10 + F10 H10,
  1129. M11 * P11 + F11 H11,
  1130. M12 * P12 + F12 H12,
  1131. M01 * P01 B01,
  1132. M02 * P02 B02,
  1133. M03 * P03 B03,
  1134. M04 * P04 B04,
  1135. M05 * P05 B05,
  1136. M06 * P06 B06,
  1137. M07 * P07 B07,
  1138. M08 * P08 B08,
  1139. M09 * P09 B09,
  1140. M10 * P10 B10,
  1141. M11 * P11 B11,
  1142. M12 * P12 B12
  1143. from (select t.*,
  1144. nvl(v.month_1, 0) F01,
  1145. nvl(v.month_2, 0) F02,
  1146. nvl(v.month_3, 0) F03,
  1147. nvl(v.month_4, 0) F04,
  1148. nvl(v.month_5, 0) F05,
  1149. nvl(v.month_6, 0) F06,
  1150. nvl(v.month_7, 0) F07,
  1151. nvl(v.month_8, 0) F08,
  1152. nvl(v.month_9, 0) F09,
  1153. nvl(v.month_10, 0) F10,
  1154. nvl(v.month_11, 0) F11,
  1155. nvl(v.month_12, 0) F12,
  1156. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  1157. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  1158. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  1159. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  1160. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  1161. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  1162. (select nvl(max(a.cost_price), 0)
  1163. from COST_BASE_PROCESSCOST_C a
  1164. where a.validflag = '1'
  1165. and t.pline_code = a.pline_code
  1166. and t.M01 between a.schedule_min and a.schedule_max) P01,
  1167. (select nvl(max(a.cost_price), 0)
  1168. from COST_BASE_PROCESSCOST_C a
  1169. where a.validflag = '1'
  1170. and t.pline_code = a.pline_code
  1171. and t.M02 between a.schedule_min and a.schedule_max) P02,
  1172. (select nvl(max(a.cost_price), 0)
  1173. from COST_BASE_PROCESSCOST_C a
  1174. where a.validflag = '1'
  1175. and t.pline_code = a.pline_code
  1176. and t.M03 between a.schedule_min and a.schedule_max) P03,
  1177. (select nvl(max(a.cost_price), 0)
  1178. from COST_BASE_PROCESSCOST_C a
  1179. where a.validflag = '1'
  1180. and t.pline_code = a.pline_code
  1181. and t.M04 between a.schedule_min and a.schedule_max) P04,
  1182. (select nvl(max(a.cost_price), 0)
  1183. from COST_BASE_PROCESSCOST_C a
  1184. where a.validflag = '1'
  1185. and t.pline_code = a.pline_code
  1186. and t.M05 between a.schedule_min and a.schedule_max) P05,
  1187. (select nvl(max(a.cost_price), 0)
  1188. from COST_BASE_PROCESSCOST_C a
  1189. where a.validflag = '1'
  1190. and t.pline_code = a.pline_code
  1191. and t.M06 between a.schedule_min and a.schedule_max) P06,
  1192. (select nvl(max(a.cost_price), 0)
  1193. from COST_BASE_PROCESSCOST_C a
  1194. where a.validflag = '1'
  1195. and t.pline_code = a.pline_code
  1196. and t.M07 between a.schedule_min and a.schedule_max) P07,
  1197. (select nvl(max(a.cost_price), 0)
  1198. from COST_BASE_PROCESSCOST_C a
  1199. where a.validflag = '1'
  1200. and t.pline_code = a.pline_code
  1201. and t.M08 between a.schedule_min and a.schedule_max) P08,
  1202. (select nvl(max(a.cost_price), 0)
  1203. from COST_BASE_PROCESSCOST_C a
  1204. where a.validflag = '1'
  1205. and t.pline_code = a.pline_code
  1206. and t.M09 between a.schedule_min and a.schedule_max) P09,
  1207. (select nvl(max(a.cost_price), 0)
  1208. from COST_BASE_PROCESSCOST_C a
  1209. where a.validflag = '1'
  1210. and t.pline_code = a.pline_code
  1211. and t.M10 between a.schedule_min and a.schedule_max) P10,
  1212. (select nvl(max(a.cost_price), 0)
  1213. from COST_BASE_PROCESSCOST_C a
  1214. where a.validflag = '1'
  1215. and t.pline_code = a.pline_code
  1216. and t.M11 between a.schedule_min and a.schedule_max) P11,
  1217. (select nvl(max(a.cost_price), 0)
  1218. from COST_BASE_PROCESSCOST_C a
  1219. where a.validflag = '1'
  1220. and t.pline_code = a.pline_code
  1221. and t.M12 between a.schedule_min and a.schedule_max) P12,
  1222. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  1223. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  1224. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  1225. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'E') a1,
  1226. (select PLINE_CODE,
  1227. nvl(sum(case pro_month
  1228. when '01' then
  1229. WEIGTH_S
  1230. end),
  1231. 0) as M01,
  1232. nvl(sum(case pro_month
  1233. when '02' then
  1234. WEIGTH_S
  1235. end),
  1236. 0) as M02,
  1237. nvl(sum(case pro_month
  1238. when '03' then
  1239. WEIGTH_S
  1240. end),
  1241. 0) as M03,
  1242. nvl(sum(case pro_month
  1243. when '04' then
  1244. WEIGTH_S
  1245. end),
  1246. 0) as M04,
  1247. nvl(sum(case pro_month
  1248. when '05' then
  1249. WEIGTH_S
  1250. end),
  1251. 0) as M05,
  1252. nvl(sum(case pro_month
  1253. when '06' then
  1254. WEIGTH_S
  1255. end),
  1256. 0) as M06,
  1257. nvl(sum(case pro_month
  1258. when '07' then
  1259. WEIGTH_S
  1260. end),
  1261. 0) as M07,
  1262. nvl(sum(case pro_month
  1263. when '08' then
  1264. WEIGTH_S
  1265. end),
  1266. 0) as M08,
  1267. nvl(sum(case pro_month
  1268. when '09' then
  1269. WEIGTH_S
  1270. end),
  1271. 0) as M09,
  1272. nvl(sum(case pro_month
  1273. when '10' then
  1274. WEIGTH_S
  1275. end),
  1276. 0) as M10,
  1277. nvl(sum(case pro_month
  1278. when '11' then
  1279. WEIGTH_S
  1280. end),
  1281. 0) as M11,
  1282. nvl(sum(case pro_month
  1283. when '12' then
  1284. WEIGTH_S
  1285. end),
  1286. 0) as M12
  1287. from (SELECT ZJ.e_pline PLINE_CODE,
  1288. sum(ZJ.weigth_s_e ) WEIGTH_S,
  1289. substr(ZJ.year_month , -2, 2) PRO_MONTH
  1290. FROM cost_calculation_e ZJ
  1291. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  1292. GROUP BY ZJ.e_pline , ZJ.year_month
  1293. order by e_pline , year_month ) t
  1294. group by PLINE_CODE ) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+) ) t,
  1295. (select b.*
  1296. from COST_BASE_PROCESSCOST b
  1297. where b.validflag = '1') v
  1298. where t.pline_code = v.pline_code(+)
  1299. and t.year_ = v.Year(+)) T1)
  1300. union all
  1301. --加工
  1302. (select t1.*,
  1303. M01 * P01 + F01 H01,
  1304. M02 * P02 + F02 H02,
  1305. M03 * P03 + F03 H03,
  1306. M04 * P04 + F04 H04,
  1307. M05 * P05 + F05 H05,
  1308. M06 * P06 + F06 H06,
  1309. M07 * P07 + F07 H07,
  1310. M08 * P08 + F08 H08,
  1311. M09 * P09 + F09 H09,
  1312. M10 * P10 + F10 H10,
  1313. M11 * P11 + F11 H11,
  1314. M12 * P12 + F12 H12,
  1315. M01 * P01 B01,
  1316. M02 * P02 B02,
  1317. M03 * P03 B03,
  1318. M04 * P04 B04,
  1319. M05 * P05 B05,
  1320. M06 * P06 B06,
  1321. M07 * P07 B07,
  1322. M08 * P08 B08,
  1323. M09 * P09 B09,
  1324. M10 * P10 B10,
  1325. M11 * P11 B11,
  1326. M12 * P12 B12
  1327. from (select t.*,
  1328. nvl(v.month_1, 0) F01,
  1329. nvl(v.month_2, 0) F02,
  1330. nvl(v.month_3, 0) F03,
  1331. nvl(v.month_4, 0) F04,
  1332. nvl(v.month_5, 0) F05,
  1333. nvl(v.month_6, 0) F06,
  1334. nvl(v.month_7, 0) F07,
  1335. nvl(v.month_8, 0) F08,
  1336. nvl(v.month_9, 0) F09,
  1337. nvl(v.month_10, 0) F10,
  1338. nvl(v.month_11, 0) F11,
  1339. nvl(v.month_12, 0) F12,
  1340. (nvl(v.month_1, 0) + nvl(v.month_2, 0) +
  1341. nvl(v.month_3, 0) + nvl(v.month_4, 0) +
  1342. nvl(v.month_5, 0) + nvl(v.month_6, 0) +
  1343. nvl(v.month_7, 0) + nvl(v.month_8, 0) +
  1344. nvl(v.month_9, 0) + nvl(v.month_10, 0) +
  1345. nvl(v.month_11, 0) + nvl(v.month_12, 0)) SUM_F,
  1346. (select nvl(max(a.cost_price), 0)
  1347. from COST_BASE_PROCESSCOST_C a
  1348. where a.validflag = '1'
  1349. and t.pline_code = a.pline_code
  1350. and t.M01 between a.schedule_min and a.schedule_max) P01,
  1351. (select nvl(max(a.cost_price), 0)
  1352. from COST_BASE_PROCESSCOST_C a
  1353. where a.validflag = '1'
  1354. and t.pline_code = a.pline_code
  1355. and t.M02 between a.schedule_min and a.schedule_max) P02,
  1356. (select nvl(max(a.cost_price), 0)
  1357. from COST_BASE_PROCESSCOST_C a
  1358. where a.validflag = '1'
  1359. and t.pline_code = a.pline_code
  1360. and t.M03 between a.schedule_min and a.schedule_max) P03,
  1361. (select nvl(max(a.cost_price), 0)
  1362. from COST_BASE_PROCESSCOST_C a
  1363. where a.validflag = '1'
  1364. and t.pline_code = a.pline_code
  1365. and t.M04 between a.schedule_min and a.schedule_max) P04,
  1366. (select nvl(max(a.cost_price), 0)
  1367. from COST_BASE_PROCESSCOST_C a
  1368. where a.validflag = '1'
  1369. and t.pline_code = a.pline_code
  1370. and t.M05 between a.schedule_min and a.schedule_max) P05,
  1371. (select nvl(max(a.cost_price), 0)
  1372. from COST_BASE_PROCESSCOST_C a
  1373. where a.validflag = '1'
  1374. and t.pline_code = a.pline_code
  1375. and t.M06 between a.schedule_min and a.schedule_max) P06,
  1376. (select nvl(max(a.cost_price), 0)
  1377. from COST_BASE_PROCESSCOST_C a
  1378. where a.validflag = '1'
  1379. and t.pline_code = a.pline_code
  1380. and t.M07 between a.schedule_min and a.schedule_max) P07,
  1381. (select nvl(max(a.cost_price), 0)
  1382. from COST_BASE_PROCESSCOST_C a
  1383. where a.validflag = '1'
  1384. and t.pline_code = a.pline_code
  1385. and t.M08 between a.schedule_min and a.schedule_max) P08,
  1386. (select nvl(max(a.cost_price), 0)
  1387. from COST_BASE_PROCESSCOST_C a
  1388. where a.validflag = '1'
  1389. and t.pline_code = a.pline_code
  1390. and t.M09 between a.schedule_min and a.schedule_max) P09,
  1391. (select nvl(max(a.cost_price), 0)
  1392. from COST_BASE_PROCESSCOST_C a
  1393. where a.validflag = '1'
  1394. and t.pline_code = a.pline_code
  1395. and t.M10 between a.schedule_min and a.schedule_max) P10,
  1396. (select nvl(max(a.cost_price), 0)
  1397. from COST_BASE_PROCESSCOST_C a
  1398. where a.validflag = '1'
  1399. and t.pline_code = a.pline_code
  1400. and t.M11 between a.schedule_min and a.schedule_max) P11,
  1401. (select nvl(max(a.cost_price), 0)
  1402. from COST_BASE_PROCESSCOST_C a
  1403. where a.validflag = '1'
  1404. and t.pline_code = a.pline_code
  1405. and t.M12 between a.schedule_min and a.schedule_max) P12,
  1406. v.create_name,v.create_time,v.update_name,v.update_time,v.delete_name,v.delete_time,
  1407. DECODE(V.VALIDFLAG,'1','有效','0','无效') VALIDFLAG,v.memo
  1408. from (select a1.PLINE_CODE,{0} Year_,a2.M01,a2.M02,a2.M03,a2.M04,a2.M05,a2.M06,a2.M07,a2.M08,a2.M09,a2.M10,a2.M11,a2.M12 from
  1409. (select PLINE_CODE from com_base_pline where VALIDFLAG = '1' and PROCESS_CODE = 'G') a1,
  1410. (select PLINE_CODE,
  1411. nvl(sum(case pro_month
  1412. when '01' then
  1413. WEIGTH_S
  1414. end),
  1415. 0) as M01,
  1416. nvl(sum(case pro_month
  1417. when '02' then
  1418. WEIGTH_S
  1419. end),
  1420. 0) as M02,
  1421. nvl(sum(case pro_month
  1422. when '03' then
  1423. WEIGTH_S
  1424. end),
  1425. 0) as M03,
  1426. nvl(sum(case pro_month
  1427. when '04' then
  1428. WEIGTH_S
  1429. end),
  1430. 0) as M04,
  1431. nvl(sum(case pro_month
  1432. when '05' then
  1433. WEIGTH_S
  1434. end),
  1435. 0) as M05,
  1436. nvl(sum(case pro_month
  1437. when '06' then
  1438. WEIGTH_S
  1439. end),
  1440. 0) as M06,
  1441. nvl(sum(case pro_month
  1442. when '07' then
  1443. WEIGTH_S
  1444. end),
  1445. 0) as M07,
  1446. nvl(sum(case pro_month
  1447. when '08' then
  1448. WEIGTH_S
  1449. end),
  1450. 0) as M08,
  1451. nvl(sum(case pro_month
  1452. when '09' then
  1453. WEIGTH_S
  1454. end),
  1455. 0) as M09,
  1456. nvl(sum(case pro_month
  1457. when '10' then
  1458. WEIGTH_S
  1459. end),
  1460. 0) as M10,
  1461. nvl(sum(case pro_month
  1462. when '11' then
  1463. WEIGTH_S
  1464. end),
  1465. 0) as M11,
  1466. nvl(sum(case pro_month
  1467. when '12' then
  1468. WEIGTH_S
  1469. end),
  1470. 0) as M12
  1471. from (SELECT ZJ.g_pline PLINE_CODE,
  1472. sum(ZJ.weigth_s_g ) WEIGTH_S,
  1473. substr(ZJ.year_month , -2, 2) PRO_MONTH
  1474. FROM cost_calculation_g ZJ
  1475. WHERE ZJ.year_month LIKE '%' || {0} || '%'
  1476. GROUP BY ZJ.g_pline , ZJ.year_month
  1477. order by g_pline , year_month ) t
  1478. group by PLINE_CODE ) a2 where a1.PLINE_CODE = a2.PLINE_CODE(+) ) t,
  1479. (select b.*
  1480. from COST_BASE_PROCESSCOST b
  1481. where b.validflag = '1') v
  1482. where t.pline_code = v.pline_code(+)
  1483. and t.year_ = v.Year(+)) T1)) x
  1484. where z.validflag = '1'
  1485. and z.pline_code = x.pline_code(+)
  1486. order by z.process_code, z.pline_code
  1487. ]]>
  1488. </query>
  1489. </queryMap>