BLCodeManage.xml 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc="备料码基础管理">
  3. <query id="BLCodeManage.InitBLSTD" desc="获取标准代码、描述">
  4. <![CDATA[
  5. SELECT T.STD_NAME,T.STD_CODE
  6. FROM COM_BASE_STD T
  7. WHERE T.VALIDFLAG='1'
  8. AND (T.STDSTYLE='G' OR T.STDSTYLE='X')
  9. ORDER BY T.STD_NAME
  10. ]]>
  11. </query>
  12. <query id="BLCodeManage.getComBaseStdAlpha" desc="获取用途码基础数据">
  13. <![CDATA[
  14. SELECT T.ALPHA_CODE, T.ALPHA_NAME, T.UNIT_DESC, T.DEPARTMENT_DESC, T.MEMO
  15. FROM COM_BASE_STD_ALPHA T
  16. WHERE T.STD_CODE = {0}
  17. ORDER BY T.ALPHA_CODE
  18. ]]>
  19. </query>
  20. <query id="BLCodeManage.InitBLSTDTYPE" desc="获取标准类型代码、描述">
  21. <![CDATA[
  22. SELECT T.STD_STYLE_DESC,T.STD_STYLE
  23. FROM COM_BASE_STD_STYLE T
  24. WHERE T.VALIDFLAG='1'
  25. ORDER BY T.STD_STYLE
  26. ]]>
  27. </query>
  28. <query id="BLCodeManage.InitBLSTD_ALPHA" desc="获取ALPHA标准代码、描述">
  29. <![CDATA[
  30. SELECT ALPHA_NAME STD_NAME, ALPHA_CODE STD_CODE
  31. FROM COM_BASE_STD_ALPHA T
  32. WHERE T.VALIDFLAG='1' AND T.STD_CODE = '#STD_CODE#'
  33. ]]>
  34. </query>
  35. <query id="BLCodeManage.GetBLCode" desc="获取存在的备料码(可以对比max函数效率)">
  36. <![CDATA[
  37. SELECT T.PSC_BL
  38. FROM
  39. (SELECT PSC_BL FROM COM_MSC_BL ORDER BY PSC_BL DESC ) T
  40. WHERE ROWNUM='1'
  41. ]]>
  42. </query>
  43. <query id="BLCodeManage.QUERY" desc="查询">
  44. <![CDATA[
  45. SELECT 'False' CHK,
  46. A.PSC_BL,
  47. A.PRODUCCODE,
  48. A.PRODUCNAME,
  49. A.STD_CODE,
  50. A.STD_NAME,
  51. A.STEELCODE,
  52. A.STEELNAME,
  53. A.STD_STYLE,
  54. A.STD_STYLE_DESC,
  55. A.MODEL_CODE,
  56. A.MODEL_DESC,
  57. A.MIN_D,
  58. A.MIN_H,
  59. A.MIN_L,
  60. A.MAX_L,
  61. A.USE_CODE,
  62. A.USE_DESC,
  63. A.CREATE_NAME,
  64. TO_CHAR(A.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
  65. A.UPDATE_NAME,
  66. TO_CHAR(A.UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME,
  67. A.DELETE_NAME,
  68. TO_CHAR(A.DELETE_TIME, 'YYYY-MM-DD HH24:MI:SS') DELETE_TIME,
  69. DECODE(A.VALIDFLAG, '1', '有效', '无效') VALIDFLAG,
  70. A.MEMO,
  71. DECODE(A.REVIEW_STATUS,
  72. '0',
  73. '待技术评审',
  74. '1',
  75. '技术评审中',
  76. '2',
  77. '评审通过',
  78. '3',
  79. '评审不通过',
  80. '未识别') REVIEW_STATUS,
  81. A.OUTS_BILLET_FL,
  82. A.OUTS_STL_PIPE_FL,
  83. B.BASENAME OUTS_BILLET_FL_DESC,
  84. C.BASENAME OUTS_STL_PIPE_FL_DESC,
  85. D.CRAFT_PATH,
  86. D.CRAFT_NO,
  87. E.ORD_COUNT,
  88. T3.EXE_STATUS PLN_STATUS,
  89. A.BL_LEVEL
  90. FROM COM_MSC_BL A
  91. LEFT JOIN COM_BASE_INFO B
  92. ON A.OUTS_BILLET_FL = B.BASECODE
  93. LEFT JOIN COM_BASE_INFO C
  94. ON A.OUTS_STL_PIPE_FL = C.BASECODE
  95. LEFT JOIN CRAFT_ORD_DESIGN D
  96. ON D.ORD_LN_PK = A.PSC_BL
  97. AND D.VALIDFLAG = '1'
  98. LEFT JOIN (SELECT COUNT(1) ORD_COUNT, CODE_JG_BL
  99. FROM (SELECT T1.CODE_JG_BL, T.ORDER_NO
  100. FROM PLN_SALEORD_PROC T,
  101. PLN_PORDER_BL_REQ T1,
  102. PLN_SALEORD T2
  103. WHERE T.ORD_LN_DLY_PK = T1.REQ_BL_ID
  104. AND T.ORDER_SOURCE = '备料需求'
  105. AND T2.ORD_LN_DLY_PK = T.ORD_LN_DLY_PK
  106. AND (T.PLANSTATUS IN ('1', '2', '3') OR
  107. T.PLANSTATUS IN ('4', '5') AND
  108. TO_DATE(T2.ROLL_MONTH, 'YYYY-MM') =
  109. TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM'), 'YYYY-MM'))
  110. GROUP BY T1.CODE_JG_BL, T.ORDER_NO)
  111. GROUP BY CODE_JG_BL) E
  112. ON E.CODE_JG_BL = A.PSC_BL
  113. LEFT JOIN (SELECT MIN(T2.EXE_STATUS) EXE_STATUS, T2.CODE_JG_BL
  114. FROM PLN_GX_JG_PROP_S T2
  115. WHERE T2.CODE_JG IS NOT NULL
  116. group by t2.CODE_JG_BL) t3
  117. ON t3.CODE_JG_BL = A.PSC_BL
  118. WHERE UPPER(PRODUCNAME) || '&' LIKE '%' || UPPER('#PRODUCNAME#') || '%'
  119. AND UPPER(STD_NAME) || '&' LIKE '%' || UPPER('#STD_NAME#') || '%'
  120. AND UPPER(STEELNAME) || '&' LIKE '%' || UPPER('#STEELNAME#') || '%'
  121. AND UPPER(STD_STYLE_DESC) || '&' LIKE
  122. '%' || UPPER('#STD_STYLE_DESC#') || '%'
  123. AND UPPER(MODEL_DESC) || '&' LIKE '%' || UPPER('#MODEL_DESC#') || '%'
  124. AND A.VALIDFLAG IN ('1', '#VALIDFLAG#')
  125. AND DECODE('#STEELCODE#', '1', '1', STEELCODE) IN ('#STEELCODE2#')
  126. AND DECODE('#MIN_D#', NULL, '1', MIN_D) =
  127. DECODE('#MIN_D#', NULL, '1', '#MIN_D#')
  128. AND DECODE('#MIN_H#', NULL, '1', MIN_H) =
  129. DECODE('#MIN_H#', NULL, '1', '#MIN_H#')
  130. AND DECODE('#STD_CODE#', NULL, '1', STD_CODE) =
  131. DECODE('#STD_CODE#', NULL, '1', '#STD_CODE#')
  132. AND NVL2('#KEY_JG#', MIN_D, 1) >=
  133. NVL2('#KEY_JG#',
  134. (SELECT MIN_D_CP
  135. FROM COM_MSC_R_JG A, COM_MSC_JG B
  136. WHERE A.KEY_JG = '#KEY_JG#'
  137. AND B.CODE_JG = A.CODE_JG),
  138. -1)
  139. AND NVL2('#KEY_JG#', (MIN_D - 2 * MIN_H), -1) <=
  140. NVL2('#KEY_JG#',
  141. (SELECT MAX_D_CP
  142. FROM COM_MSC_R_JG A, COM_MSC_JG B
  143. WHERE A.KEY_JG = '#KEY_JG#'
  144. AND B.CODE_JG = A.CODE_JG),
  145. 1)
  146. ]]>
  147. </query>
  148. <query id="BLCodeManage.QUERY1" desc="界面BLCodeManage.cs查询">
  149. <![CDATA[
  150. SELECT
  151. 'False' CHK
  152. ,PSC_BL
  153. ,PRODUCCODE
  154. ,PRODUCNAME
  155. ,STD_CODE
  156. ,STD_NAME
  157. ,STEELCODE
  158. ,STEELNAME
  159. ,STD_STYLE
  160. ,STD_STYLE_DESC
  161. ,MODEL_CODE
  162. ,MODEL_DESC
  163. ,MIN_D
  164. ,MIN_H
  165. ,USE_CODE
  166. ,USE_DESC
  167. ,CREATE_NAME
  168. ,TO_CHAR(CREATE_TIME,'YYYY-MM-DD HH24:MI:SS') CREATE_TIME
  169. ,UPDATE_NAME
  170. ,TO_CHAR(UPDATE_TIME,'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME
  171. ,DELETE_NAME
  172. ,TO_CHAR(DELETE_TIME,'YYYY-MM-DD HH24:MI:SS') DELETE_TIME
  173. ,DECODE(VALIDFLAG,'1','有效','无效') VALIDFLAG
  174. ,MEMO
  175. FROM COM_MSC_BL
  176. WHERE VALIDFLAG ='1'
  177. ]]>
  178. </query>
  179. <query id="BLCodeManage.queryJgRBl" desc="根据接箍代码查询与其关联的备料码.">
  180. <![CDATA[
  181. SELECT T.PSC_BL FROM COM_MSC_JG_R_BL T WHERE T.CODE_JG = ?
  182. AND T.CUST_ALPHA_NO = ? AND T.ALPHA_CODE = ?
  183. AND T.VALIDFLAG = 1
  184. ]]>
  185. </query>
  186. <query id="BLCodeManage.QueryWithMsc" desc="冶金规范中的备料查询">
  187. <![CDATA[
  188. SELECT 'False' CHK,
  189. T.MSC,
  190. T.GROUP_NUM,
  191. A.PSC_BL,
  192. A.PRODUCCODE,
  193. NVL(B.PRODUCNAME, A.PRODUCNAME) PRODUCNAME,
  194. A.STD_CODE,
  195. NVL(C.STD_NAME, A.STD_NAME) STD_NAME,
  196. A.STEELCODE,
  197. NVL(D.STEELNAME, A.STEELNAME) STEELNAME,
  198. A.STD_STYLE,
  199. NVL(F.STD_STYLE_DESC, A.STD_STYLE_DESC) STD_STYLE_DESC,
  200. A.MODEL_CODE,
  201. NVL(G.MODEL_DESC, A.MODEL_DESC) MODEL_DESC,
  202. A.MIN_D,
  203. A.MIN_H,
  204. A.USE_CODE,
  205. NVL(H.STD_NAME, A.USE_DESC) USE_DESC,
  206. A.CREATE_NAME,
  207. A.CREATE_TIME,
  208. A.UPDATE_NAME,
  209. A.UPDATE_TIME,
  210. A.DELETE_NAME,
  211. A.DELETE_TIME,
  212. A.VALIDFLAG,
  213. DECODE(A.VALIDFLAG, '1', '有效', '0', '无效', '未识别') VALIDFLAG_NAME,
  214. A.MEMO,
  215. '备料评审' REVIEW,
  216. DECODE(A.REVIEW_STATUS,
  217. '0',
  218. '待技术评审',
  219. '1',
  220. '技术评审中',
  221. '2',
  222. '技术评审通过',
  223. '3',
  224. '技术评审失败') REVIEW_STATUS,
  225. DECODE(I.VALIDFLAG,
  226. '0',
  227. '无效',
  228. '1',
  229. '生效',
  230. '2',
  231. '制定中',
  232. '3',
  233. '待审核',
  234. '4',
  235. '待审批',
  236. '未制定') CRAFT_STATUS,
  237. DECODE(L.DESIGN_STS, 'S', KK.UNIT_DESC, MM.UNIT_DESC) UNIT_DESC,
  238. T.MSC_SET,
  239. T.MSC_DESC_SET,
  240. A.BL_LEVEL
  241. FROM COM_MSC_R_JG T, COM_MSC_BL A
  242. LEFT JOIN SLM_ORD_DESIGN_BL J
  243. ON J.PSC_BL = A.PSC_BL
  244. AND J.VALIDFLAG = '1'
  245. LEFT JOIN (SELECT K.UNIT_DESC, K.DESGIN_KEY
  246. FROM SLM_ORD_DESIGN_STS_TKLG_LST K
  247. WHERE K.VALIDFLAG = '1'
  248. AND K.DESIGN_STS = 'S'
  249. AND K.SEQ_INDEX =
  250. (SELECT MAX(KKK.SEQ_INDEX)
  251. FROM SLM_ORD_DESIGN_STS_TKLG_LST KKK
  252. WHERE KKK.DESGIN_KEY = K.DESGIN_KEY)) KK
  253. ON KK.DESGIN_KEY = J.DESGIN_KEY
  254. LEFT JOIN (SELECT MAX(M.UNIT_DESC) UNIT_DESC, M.DESGIN_KEY
  255. FROM SLM_ORD_DESIGN_STS_TKLG_LST M
  256. WHERE M.VALIDFLAG = '1'
  257. AND M.DESIGN_STS = 'F'
  258. GROUP BY M.DESGIN_KEY) MM
  259. ON MM.DESGIN_KEY = J.DESGIN_KEY
  260. LEFT JOIN SLM_ORD_DESIGN_STS_TKLG L
  261. ON L.DESGIN_KEY = J.DESGIN_KEY
  262. AND L.VALIDFLAG = '1'
  263. LEFT JOIN COM_BASE_PRODUCT B
  264. ON B.PRODUCCODE = A.PRODUCCODE
  265. LEFT JOIN COM_BASE_STD C
  266. ON C.STD_CODE = A.STD_CODE
  267. LEFT JOIN COM_BASE_STEEL D
  268. ON D.STEELCODE = A.STEELCODE
  269. LEFT JOIN COM_BASE_STD_STYLE F
  270. ON F.STD_STYLE = A.STD_STYLE
  271. LEFT JOIN COM_BASE_MODEL G
  272. ON G.MODEL_CODE = A.MODEL_CODE
  273. LEFT JOIN COM_BASE_STD H
  274. ON H.STD_CODE = A.USE_CODE
  275. LEFT JOIN CRAFT_ORD_DESIGN I
  276. ON I.ORD_LN_PK = A.PSC_BL
  277. WHERE A.PSC_BL = T.CODE_JG
  278. AND T.MSC = ?
  279. AND T.STOCK_STYLE = 'B'
  280. AND T.VALIDFLAG = 1
  281. AND NVL(I.CRAFT_SEQ, '1') =
  282. DECODE(I.CRAFT_SEQ,
  283. NULL,
  284. '1',
  285. (SELECT MAX(CRAFT_SEQ)
  286. FROM CRAFT_ORD_DESIGN
  287. WHERE ORD_LN_PK = A.PSC_BL))
  288. ]]>
  289. </query>
  290. <query id="BLCodeManage.ADD" desc="添加">
  291. <![CDATA[
  292. DECLARE
  293. P_PRODUCCODE COM_MSC_BL.PRODUCCODE%TYPE := '#PRODUCCODE#';
  294. P_PRODUCNAME COM_MSC_BL.PRODUCNAME%TYPE := '#PRODUCNAME#';
  295. P_STD_CODE COM_MSC_BL.STD_CODE%TYPE := '#STD_CODE#';
  296. P_STD_NAME COM_MSC_BL.STD_NAME%TYPE := '#STD_NAME#';
  297. P_STEELCODE COM_MSC_BL.STEELCODE%TYPE := '#STEELCODE#';
  298. P_STEELNAME COM_MSC_BL.STEELNAME%TYPE := '#STEELNAME#';
  299. P_STD_STYLE COM_MSC_BL.STD_STYLE%TYPE := '#STD_STYLE#';
  300. P_STD_STYLE_DESC COM_MSC_BL.STD_STYLE_DESC%TYPE := '#STD_STYLE_DESC#';
  301. P_MODEL_CODE COM_MSC_BL.MODEL_CODE%TYPE := '#MODEL_CODE#';
  302. P_MODEL_DESC COM_MSC_BL.MODEL_DESC%TYPE := '#MODEL_DESC#';
  303. P_MIN_D COM_MSC_BL.MIN_D%TYPE := '#MIN_D#';
  304. P_MIN_H COM_MSC_BL.MIN_H%TYPE := '#MIN_H#';
  305. P_USE_CODE COM_MSC_BL.USE_CODE%TYPE := '#USE_CODE#';
  306. P_USE_DESC COM_MSC_BL.USE_DESC%TYPE := '#USE_DESC#';
  307. P_MEMO COM_MSC_BL.MEMO%TYPE := '#MEMO#';
  308. P_MIN_L COM_MSC_BL.MIN_L%TYPE := '#MIN_L#';
  309. P_MAX_L COM_MSC_BL.MAX_L%TYPE := '#MAX_L#';
  310. P_DEPARTMENT_CODE COM_PSC.DEPARTMENT_CODE%TYPE := '#DEPARTMENT_CODE#';
  311. P_DEPARTMENT_DESC COM_PSC.DEPARTMENT_DESC%TYPE := '#DEPARTMENT_DESC#';
  312. P_UNIT_CODE COM_PSC.UNIT_CODE%TYPE := '#UNIT_CODE#';
  313. P_UNIT_DESC COM_PSC.UNIT_DESC%TYPE := '#UNIT_DESC#';
  314. P_NAME COM_MSC_BL.CREATE_NAME%TYPE := '#CREATE_NAME#';
  315. P_PSC_BL COM_MSC_BL.PSC_BL%TYPE := '#PSC_BL#';
  316. P_PSC COM_PSC.PSC%TYPE := '#PSC#';
  317. P_PSC_DESC COM_PSC.PSC_DESC%TYPE := '#PSC_DESC#';
  318. P_COUNT NUMBER(3);
  319. P_PRODUC_HEAD COM_PSC.PRODUC_HEAD%TYPE;
  320. P_PRODUC_TYPE COM_PSC.PRODUC_TYPE%TYPE;
  321. P_PRODUC_STYLE COM_PSC.PRODUC_STYLE%TYPE;
  322. P_PRODUC_DESC COM_PSC.PRODUC_DESC%TYPE;
  323. BEGIN
  324. INSERT INTO COM_MSC_BL
  325. (PRODUCCODE,
  326. PRODUCNAME,
  327. STD_CODE,
  328. STD_NAME,
  329. STEELCODE,
  330. STEELNAME,
  331. STD_STYLE,
  332. STD_STYLE_DESC,
  333. MODEL_CODE,
  334. MODEL_DESC,
  335. MIN_D,
  336. MIN_H,
  337. USE_CODE,
  338. USE_DESC,
  339. CREATE_TIME,
  340. MEMO,
  341. MIN_L,
  342. MAX_L,
  343. CREATE_NAME,
  344. PSC_BL,
  345. REVIEW_STATUS,
  346. OUTS_BILLET_FL,
  347. OUTS_STL_PIPE_FL,
  348. BL_LEVEL)
  349. VALUES
  350. (P_PRODUCCODE,
  351. P_PRODUCNAME,
  352. P_STD_CODE,
  353. P_STD_NAME,
  354. P_STEELCODE,
  355. P_STEELNAME,
  356. P_STD_STYLE,
  357. P_STD_STYLE_DESC,
  358. P_MODEL_CODE,
  359. P_MODEL_DESC,
  360. P_MIN_D,
  361. P_MIN_H,
  362. P_USE_CODE,
  363. P_USE_DESC,
  364. SYSDATE,
  365. P_MEMO,
  366. P_MIN_L,
  367. P_MAX_L,
  368. P_NAME,
  369. P_PSC_BL,
  370. '0',
  371. '#OUTS_BILLET_FL#',
  372. '#OUTS_STL_PIPE_FL#',
  373. '#BL_LEVEL#');
  374. SELECT COUNT(1)
  375. INTO P_COUNT
  376. FROM COM_PSC A
  377. WHERE DECODE(P_PRODUCCODE, NULL, '1', A.PRODUCCODE) = DECODE(P_PRODUCCODE, NULL, '1', P_PRODUCCODE)
  378. AND DECODE(P_PRODUCCODE, NULL, A.PRODUCCODE, NULL) IS NULL
  379. AND DECODE(P_STD_CODE, NULL, '1', A.STD_CODE) = DECODE(P_STD_CODE, NULL, '1', P_STD_CODE)
  380. AND DECODE(P_STD_CODE, NULL, A.STD_CODE, NULL) IS NULL
  381. AND DECODE(P_STEELCODE, NULL, '1', A.STEELCODE) = DECODE(P_STEELCODE, NULL, '1', P_STEELCODE)
  382. AND DECODE(P_STEELCODE, NULL, A.STEELCODE, NULL) IS NULL
  383. AND DECODE(P_STD_STYLE, NULL, '1', A.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  384. AND DECODE(P_STD_STYLE, NULL, A.STD_STYLE, NULL) IS NULL;
  385. SELECT T.PRODUC_HEAD, T.PRODUC_TYPE, T.PRODUC_STYLE, T.PRODUC_DESC
  386. INTO P_PRODUC_HEAD, P_PRODUC_TYPE, P_PRODUC_STYLE, P_PRODUC_DESC
  387. FROM COM_BASE_PRODUCT T
  388. WHERE T.PRODUCCODE = P_PRODUCCODE;
  389. IF P_COUNT = 0 THEN
  390. INSERT INTO COM_PSC
  391. (PSC,
  392. PSC_DESC,
  393. PRODUCCODE,
  394. PRODUCNAME,
  395. STD_CODE,
  396. STD_NAME,
  397. STEELCODE,
  398. STEELNAME,
  399. STD_STYLE,
  400. STD_STYLE_DESC,
  401. NEW_PROC_CODE,
  402. NEW_PROC_DESC,
  403. DEPARTMENT_CODE,
  404. DEPARTMENT_DESC,
  405. UNIT_CODE,
  406. AUTOJUDGE,
  407. UNIT_DESC,
  408. CREATE_NAME,
  409. PRODUC_HEAD,
  410. PRODUC_TYPE,
  411. PRODUC_STYLE,
  412. PRODUC_DESC,
  413. CREATE_TIME,
  414. VALIDFLAG,
  415. MEMO)
  416. VALUES
  417. (P_PSC,
  418. P_PSC_DESC,
  419. P_PRODUCCODE,
  420. P_PRODUCNAME,
  421. P_STD_CODE,
  422. P_STD_NAME,
  423. P_STEELCODE,
  424. P_STEELNAME,
  425. P_STD_STYLE,
  426. P_STD_STYLE_DESC,
  427. '0',
  428. '',
  429. P_DEPARTMENT_CODE,
  430. P_DEPARTMENT_DESC,
  431. P_UNIT_CODE,
  432. '0',
  433. P_UNIT_DESC,
  434. P_NAME,
  435. P_PRODUC_HEAD,
  436. P_PRODUC_TYPE,
  437. P_PRODUC_STYLE,
  438. P_PRODUC_DESC,
  439. SYSDATE,
  440. DEFAULT,
  441. '');
  442. ELSE
  443. UPDATE COM_PSC B
  444. SET B.VALIDFLAG = '1',
  445. B.PRODUC_HEAD = P_PRODUC_HEAD,
  446. B.PRODUC_TYPE = P_PRODUC_TYPE,
  447. B.PRODUC_STYLE = P_PRODUC_STYLE,
  448. B.PRODUC_DESC = P_PRODUC_DESC,
  449. B.DEPARTMENT_CODE = P_DEPARTMENT_CODE,
  450. B.DEPARTMENT_DESC = P_DEPARTMENT_DESC,
  451. B.UNIT_CODE = P_UNIT_CODE,
  452. B.UNIT_DESC = P_UNIT_DESC
  453. WHERE DECODE(P_PRODUCCODE, NULL, '1', B.PRODUCCODE) = DECODE(P_PRODUCCODE, NULL, '1', P_PRODUCCODE)
  454. AND DECODE(P_PRODUCCODE, NULL, B.PRODUCCODE, NULL) IS NULL
  455. AND DECODE(P_STD_CODE, NULL, '1', B.STD_CODE) = DECODE(P_STD_CODE, NULL, '1', P_STD_CODE)
  456. AND DECODE(P_STD_CODE, NULL, B.STD_CODE, NULL) IS NULL
  457. AND DECODE(P_STEELCODE, NULL, '1', B.STEELCODE) = DECODE(P_STEELCODE, NULL, '1', P_STEELCODE)
  458. AND DECODE(P_STEELCODE, NULL, B.STEELCODE, NULL) IS NULL
  459. AND DECODE(P_STD_STYLE, NULL, '1', B.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  460. AND DECODE(P_STD_STYLE, NULL, B.STD_STYLE, NULL) IS NULL
  461. AND ROWNUM <= 1;
  462. END IF;
  463. END;
  464. ]]>
  465. </query>
  466. <query id="BLCodeManage.getPsc" desc="获取产品码">
  467. <![CDATA[
  468. SELECT A.PSC, A.PSC_DESC
  469. FROM COM_PSC A
  470. WHERE DECODE('#PRODUCCODE#', NULL, '1', A.PRODUCCODE) = DECODE('#PRODUCCODE#', NULL, '1', '#PRODUCCODE#')
  471. AND DECODE('#PRODUCCODE#', NULL, A.PRODUCCODE, NULL) IS NULL
  472. AND DECODE('#STD_CODE#', NULL, '1', A.STD_CODE) = DECODE('#STD_CODE#', NULL, '1', '#STD_CODE#')
  473. AND DECODE('#STD_CODE#', NULL, A.STD_CODE, NULL) IS NULL
  474. AND DECODE('#STEELCODE#', NULL, '1', A.STEELCODE) = DECODE('#STEELCODE#', NULL, '1', '#STEELCODE#')
  475. AND DECODE('#STEELCODE#', NULL, A.STEELCODE, NULL) IS NULL
  476. AND DECODE('#STD_STYLE#', NULL, '1', A.STD_STYLE) = DECODE('#STD_STYLE#', NULL, '1', '#STD_STYLE#')
  477. AND DECODE('#STD_STYLE#', NULL, A.STD_STYLE, NULL) IS NULL
  478. ]]>
  479. </query>
  480. <query id="BLCodeManage.getMaxPsc" desc="获取产品码">
  481. <![CDATA[
  482. SELECT 'PSC' ||
  483. LPAD(TO_CHAR(TO_NUMBER(SUBSTR(NVL(MAX(PSC), 'PSC0000000'), 4, 7)) + 1),
  484. 7,
  485. '0') MAX_VALUE
  486. FROM COM_PSC
  487. ]]>
  488. </query>
  489. <query id="BLCodeManage.getComPsc" desc="获取产品码">
  490. <![CDATA[
  491. SELECT * FROM COM_PSC A WHERE A.PSC = '#PSC#'
  492. ]]>
  493. </query>
  494. <query id="BLCodeManage.getStdMscByPsc" desc="获取MSC">
  495. <![CDATA[
  496. SELECT A.MSC, A.MSC_DESC
  497. FROM COM_MSC A, COM_PSC_R_MSC B
  498. WHERE B.PSC = '#PSC#'
  499. AND A.MSC = B.MSC
  500. AND A.MSC_SEQ IS NULL
  501. ]]>
  502. </query>
  503. <query id="BLCodeManage.getMscByPscUseCode" desc="通过用途码和PSC查询MSC">
  504. <![CDATA[
  505. SELECT T.MSC VALUE
  506. FROM COM_MSC T, COM_PSC_R_MSC A
  507. WHERE T.MSC = A.MSC
  508. AND A.PSC = '#PSC#'
  509. AND T.USE_CODE = '#USE_CODE#'
  510. ]]>
  511. </query>
  512. <query id="BLCodeManage.UPDATE" desc="更新">
  513. <![CDATA[
  514. DECLARE
  515. P_PRODUCCODE COM_MSC_BL.PRODUCCODE%TYPE := '#PRODUCCODE#';
  516. P_PRODUCNAME COM_MSC_BL.PRODUCNAME%TYPE := '#PRODUCNAME#';
  517. P_STD_CODE COM_MSC_BL.STD_CODE%TYPE := '#STD_CODE#';
  518. P_STD_NAME COM_MSC_BL.STD_NAME%TYPE := '#STD_NAME#';
  519. P_STEELCODE COM_MSC_BL.STEELCODE%TYPE := '#STEELCODE#';
  520. P_STEELNAME COM_MSC_BL.STEELNAME%TYPE := '#STEELNAME#';
  521. P_STD_STYLE COM_MSC_BL.STD_STYLE%TYPE := '#STD_STYLE#';
  522. P_STD_STYLE_DESC COM_MSC_BL.STD_STYLE_DESC%TYPE := '#STD_STYLE_DESC#';
  523. P_MODEL_CODE COM_MSC_BL.MODEL_CODE%TYPE := '#MODEL_CODE#';
  524. P_MODEL_DESC COM_MSC_BL.MODEL_DESC%TYPE := '#MODEL_DESC#';
  525. P_MIN_D COM_MSC_BL.MIN_D%TYPE := '#MIN_D#';
  526. P_MIN_H COM_MSC_BL.MIN_H%TYPE := '#MIN_H#';
  527. P_USE_CODE COM_MSC_BL.USE_CODE%TYPE := '#USE_CODE#';
  528. P_USE_DESC COM_MSC_BL.USE_DESC%TYPE := '#USE_DESC#';
  529. P_MEMO COM_MSC_BL.MEMO%TYPE := '#MEMO#';
  530. P_MIN_L COM_MSC_BL.MIN_L%TYPE := '#MIN_L#';
  531. P_MAX_L COM_MSC_BL.MAX_L%TYPE := '#MAX_L#';
  532. P_NAME COM_MSC_BL.CREATE_NAME%TYPE := '#CREATE_NAME#';
  533. P_PSC_BL COM_MSC_BL.PSC_BL%TYPE := '#PSC_BL#';
  534. P_DEPARTMENT_CODE COM_PSC.DEPARTMENT_CODE%TYPE := '#DEPARTMENT_CODE#';
  535. P_DEPARTMENT_DESC COM_PSC.DEPARTMENT_DESC%TYPE := '#DEPARTMENT_DESC#';
  536. P_UNIT_CODE COM_PSC.UNIT_CODE%TYPE := '#UNIT_CODE#';
  537. P_UNIT_DESC COM_PSC.UNIT_DESC%TYPE := '#UNIT_DESC#';
  538. P_PSC COM_PSC.PSC%TYPE := '#PSC#';
  539. P_PSC_DESC COM_PSC.PSC_DESC%TYPE := '#PSC_DESC#';
  540. P_COUNT NUMBER(3);
  541. P_PRODUC_HEAD COM_PSC.PRODUC_HEAD%TYPE;
  542. P_PRODUC_TYPE COM_PSC.PRODUC_TYPE%TYPE;
  543. P_PRODUC_STYLE COM_PSC.PRODUC_STYLE%TYPE;
  544. P_PRODUC_DESC COM_PSC.PRODUC_DESC%TYPE;
  545. BEGIN
  546. UPDATE COM_MSC_BL
  547. SET PRODUCCODE = P_PRODUCCODE,
  548. PRODUCNAME = P_PRODUCNAME,
  549. STD_CODE = P_STD_CODE,
  550. STD_NAME = P_STD_NAME,
  551. STEELCODE = P_STEELCODE,
  552. STEELNAME = P_STEELNAME,
  553. STD_STYLE = P_STD_STYLE,
  554. STD_STYLE_DESC = P_STD_STYLE_DESC,
  555. MODEL_CODE = P_MODEL_CODE,
  556. MODEL_DESC = P_MODEL_DESC,
  557. MIN_D = P_MIN_D,
  558. MIN_H = P_MIN_H,
  559. USE_CODE = P_USE_CODE,
  560. USE_DESC = P_USE_DESC,
  561. MEMO = P_MEMO,
  562. MIN_L = P_MIN_L,
  563. MAX_L = P_MAX_L,
  564. UPDATE_NAME = P_NAME,
  565. UPDATE_TIME = SYSDATE,
  566. DESGIN_KEY = '',
  567. REVIEW_STATUS = DECODE(REVIEW_STATUS, '1', '1', '0'),
  568. OUTS_BILLET_FL = '#OUTS_BILLET_FL#',
  569. OUTS_STL_PIPE_FL = '#OUTS_STL_PIPE_FL#',
  570. BL_LEVEL = '#BL_LEVEL#'
  571. WHERE PSC_BL = P_PSC_BL
  572. AND VALIDFLAG = '1';
  573. SELECT COUNT(1)
  574. INTO P_COUNT
  575. FROM COM_PSC A
  576. WHERE DECODE(P_PRODUCCODE, NULL, '1', A.PRODUCCODE) = DECODE(P_PRODUCCODE, NULL, '1', P_PRODUCCODE)
  577. AND DECODE(P_PRODUCCODE, NULL, A.PRODUCCODE, NULL) IS NULL
  578. AND DECODE(P_STD_CODE, NULL, '1', A.STD_CODE) = DECODE(P_STD_CODE, NULL, '1', P_STD_CODE)
  579. AND DECODE(P_STD_CODE, NULL, A.STD_CODE, NULL) IS NULL
  580. AND DECODE(P_STEELCODE, NULL, '1', A.STEELCODE) = DECODE(P_STEELCODE, NULL, '1', P_STEELCODE)
  581. AND DECODE(P_STEELCODE, NULL, A.STEELCODE, NULL) IS NULL
  582. AND DECODE(P_STD_STYLE, NULL, '1', A.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  583. AND DECODE(P_STD_STYLE, NULL, A.STD_STYLE, NULL) IS NULL;
  584. SELECT T.PRODUC_HEAD, T.PRODUC_TYPE, T.PRODUC_STYLE, T.PRODUC_DESC
  585. INTO P_PRODUC_HEAD, P_PRODUC_TYPE, P_PRODUC_STYLE, P_PRODUC_DESC
  586. FROM COM_BASE_PRODUCT T
  587. WHERE T.PRODUCCODE = P_PRODUCCODE;
  588. IF P_COUNT = 0 THEN
  589. INSERT INTO COM_PSC
  590. (PSC,
  591. PSC_DESC,
  592. PRODUCCODE,
  593. PRODUCNAME,
  594. STD_CODE,
  595. STD_NAME,
  596. STEELCODE,
  597. STEELNAME,
  598. STD_STYLE,
  599. STD_STYLE_DESC,
  600. NEW_PROC_CODE,
  601. NEW_PROC_DESC,
  602. DEPARTMENT_CODE,
  603. DEPARTMENT_DESC,
  604. UNIT_CODE,
  605. AUTOJUDGE,
  606. UNIT_DESC,
  607. PRODUC_HEAD,
  608. PRODUC_TYPE,
  609. PRODUC_STYLE,
  610. PRODUC_DESC,
  611. CREATE_NAME,
  612. CREATE_TIME,
  613. VALIDFLAG,
  614. MEMO)
  615. VALUES
  616. (P_PSC,
  617. P_PSC_DESC,
  618. P_PRODUCCODE,
  619. P_PRODUCNAME,
  620. P_STD_CODE,
  621. P_STD_NAME,
  622. P_STEELCODE,
  623. P_STEELNAME,
  624. P_STD_STYLE,
  625. P_STD_STYLE_DESC,
  626. '0',
  627. '',
  628. P_DEPARTMENT_CODE,
  629. P_DEPARTMENT_DESC,
  630. P_UNIT_CODE,
  631. '0',
  632. P_UNIT_DESC,
  633. P_PRODUC_HEAD,
  634. P_PRODUC_TYPE,
  635. P_PRODUC_STYLE,
  636. P_PRODUC_DESC,
  637. P_NAME,
  638. SYSDATE,
  639. DEFAULT,
  640. '');
  641. ELSE
  642. UPDATE COM_PSC B
  643. SET B.VALIDFLAG = '1',
  644. B.PRODUC_HEAD = P_PRODUC_HEAD,
  645. B.PRODUC_TYPE = P_PRODUC_TYPE,
  646. B.PRODUC_STYLE = P_PRODUC_STYLE,
  647. B.PRODUC_DESC = P_PRODUC_DESC,
  648. B.DEPARTMENT_CODE = P_DEPARTMENT_CODE,
  649. B.DEPARTMENT_DESC = P_DEPARTMENT_DESC,
  650. B.UNIT_CODE = P_UNIT_CODE,
  651. B.UNIT_DESC = P_UNIT_DESC
  652. WHERE DECODE(P_PRODUCCODE, NULL, '1', B.PRODUCCODE) = DECODE(P_PRODUCCODE, NULL, '1', P_PRODUCCODE)
  653. AND DECODE(P_PRODUCCODE, NULL, B.PRODUCCODE, NULL) IS NULL
  654. AND DECODE(P_STD_CODE, NULL, '1', B.STD_CODE) = DECODE(P_STD_CODE, NULL, '1', P_STD_CODE)
  655. AND DECODE(P_STD_CODE, NULL, B.STD_CODE, NULL) IS NULL
  656. AND DECODE(P_STEELCODE, NULL, '1', B.STEELCODE) = DECODE(P_STEELCODE, NULL, '1', P_STEELCODE)
  657. AND DECODE(P_STEELCODE, NULL, B.STEELCODE, NULL) IS NULL
  658. AND DECODE(P_STD_STYLE, NULL, '1', B.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  659. AND DECODE(P_STD_STYLE, NULL, B.STD_STYLE, NULL) IS NULL
  660. AND ROWNUM <= 1;
  661. END IF;
  662. END;
  663. ]]>
  664. </query>
  665. <query id="BLCodeManage.DELETE" desc="删除">
  666. <![CDATA[
  667. DECLARE
  668. P_USER_NAME COM_MSC_BL.DELETE_NAME%TYPE := ?;
  669. P_PSC_BL COM_MSC_BL.PSC_BL%TYPE := ?;
  670. BEGIN
  671. UPDATE COM_MSC_BL
  672. SET DELETE_NAME = P_USER_NAME, DELETE_TIME = SYSDATE, VALIDFLAG = '0'
  673. WHERE PSC_BL = P_PSC_BL;
  674. UPDATE COM_MSC_R_JG T
  675. SET T.VALIDFLAG = '0'
  676. WHERE T.CODE_JG = P_PSC_BL
  677. AND T.STOCK_STYLE = 'B';
  678. UPDATE COM_MSC_JG_R_BL T SET T.VALIDFLAG = '0' WHERE T.PSC_BL = P_PSC_BL;
  679. END;
  680. ]]>
  681. </query>
  682. <query id="BLCodeManage.RESUME" desc="恢复">
  683. <![CDATA[
  684. UPDATE COM_MSC_BL
  685. SET DELETE_NAME = '', DELETE_TIME = '', VALIDFLAG = '1'
  686. WHERE PSC_BL = ?
  687. ]]>
  688. </query>
  689. <query id="BLCodeManage.isCompleteMsc" desc="是否是完整的msc">
  690. <![CDATA[
  691. SELECT SUM(CNT) FROM(
  692. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC A WHERE A.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?)
  693. UNION ALL
  694. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_BACKLOG A WHERE A.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?)
  695. UNION ALL
  696. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_PROCESS A WHERE A.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?)
  697. UNION ALL
  698. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STATION A WHERE A.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?)
  699. UNION ALL
  700. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STD_CIC A
  701. WHERE DECODE(?, NULL, '1', A.MSC) IN (SELECT DECODE(?, NULL, '1', MSC) FROM COM_PSC_R_MSC WHERE PSC = ? AND VALIDFLAG = '1')
  702. AND DECODE(?, NULL, '1', A.STD_CODE_NK) = DECODE(?, NULL, '1', ?)
  703. AND VALIDFLAG = '1'
  704. OR NOT EXISTS( SELECT 1 FROM COM_MSC_STATION T WHERE T.STATION_TYPE = '403201'
  705. AND T.VALIDFLAG = '1' AND T.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?))
  706. UNION ALL
  707. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STD_PIC A
  708. WHERE DECODE(?, NULL, '1', A.MSC) IN (SELECT DECODE(?, NULL, '1', MSC) FROM COM_PSC_R_MSC WHERE PSC = ? AND VALIDFLAG = '1')
  709. AND DECODE(?, NULL, '1', A.STD_CODE_NK) = DECODE(?, NULL, '1', ?)
  710. AND VALIDFLAG = '1'
  711. OR NOT EXISTS( SELECT 1 FROM COM_MSC_STATION T WHERE T.STATION_TYPE = '403202'
  712. AND T.VALIDFLAG = '1' AND T.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?))
  713. UNION ALL
  714. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STD_SPEC A
  715. WHERE DECODE(?, NULL, '1', A.MSC) IN (SELECT DECODE(?, NULL, '1', MSC) FROM COM_PSC_R_MSC WHERE PSC = ? AND VALIDFLAG = '1')
  716. AND DECODE(?, NULL, '1', A.STD_CODE) = DECODE(?, NULL, '1', ?)
  717. AND VALIDFLAG = '1'
  718. OR NOT EXISTS( SELECT 1 FROM COM_MSC_STATION T WHERE T.STATION_TYPE = '403203'
  719. AND T.VALIDFLAG = '1' AND T.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?))
  720. UNION ALL
  721. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STD_DETECTION A
  722. WHERE DECODE(?, NULL, '1', A.MSC) IN (SELECT DECODE(?, NULL, '1', MSC) FROM COM_PSC_R_MSC WHERE PSC = ? AND VALIDFLAG = '1')
  723. AND DECODE(?, NULL, '1', A.STD_CODE_NK) = DECODE(?, NULL, '1', ?)
  724. AND VALIDFLAG = '1'
  725. OR NOT EXISTS( SELECT 1 FROM COM_MSC_STATION T WHERE T.STATION_TYPE = '403204'
  726. AND T.VALIDFLAG = '1' AND T.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?))
  727. UNION ALL
  728. SELECT DECODE(COUNT(1), 0, 0, 1) CNT FROM COM_MSC_STD_WATER A
  729. WHERE DECODE(?, NULL, '1', A.MSC) IN (SELECT DECODE(?, NULL, '1', MSC) FROM COM_PSC_R_MSC WHERE PSC = ? AND VALIDFLAG = '1')
  730. AND DECODE(?, NULL, '1', A.STD_CODE_NK) = DECODE(?, NULL, '1', ?)
  731. AND VALIDFLAG = '1'
  732. OR NOT EXISTS( SELECT 1 FROM COM_MSC_STATION T WHERE T.STATION_TYPE = '403205'
  733. AND T.VALIDFLAG = '1' AND T.MSC IN (SELECT MSC FROM COM_PSC_R_MSC WHERE PSC = ?))
  734. )
  735. ]]>
  736. </query>
  737. <query id="BLCodeManage.Group" desc="分组">
  738. <![CDATA[
  739. UPDATE COM_MSC_R_JG T SET T.GROUP_NUM = ? WHERE T.MSC = ? AND T.CODE_JG = ?
  740. ]]>
  741. </query>
  742. <query id="BLCodeManage.isExistBl" desc="是否存在备料码">
  743. <![CDATA[
  744. SELECT COUNT(1)
  745. FROM COM_MSC_BL T
  746. WHERE DECODE(?, NULL, '1', T.PRODUCCODE) = DECODE(?, NULL, '1', ?)
  747. AND DECODE(?, NULL, '1', T.STD_CODE) = DECODE(?, NULL, '1', ?)
  748. AND DECODE(?, NULL, '1', T.STEELCODE) = DECODE(?, NULL, '1', ?)
  749. AND NVL(T.STD_STYLE, '1') = NVL(?, '1')
  750. AND DECODE(?, NULL, '1', T.MODEL_CODE) = DECODE(?, NULL, '1', ?)
  751. AND DECODE(?, NULL, '1', T.MIN_D) = DECODE(?, NULL, '1', ?)
  752. AND DECODE(?, NULL, '1', T.MIN_H) = DECODE(?, NULL, '1', ?)
  753. AND DECODE(?, NULL, '1', T.USE_CODE) = DECODE(?, NULL, '1', ?)
  754. ]]>
  755. </query>
  756. <query id="BLCodeManage.insertBlToPsc" desc="把备料码插入到产品表中">
  757. <![CDATA[
  758. DECLARE
  759. P_PSC COM_PSC.PSC%TYPE;
  760. P_PSC_DESC COM_PSC.PSC_DESC%TYPE;
  761. P_PRODUCCODE COM_PSC.PRODUCCODE%TYPE := ':PRODUCCODE:';
  762. P_PRODUCNAME COM_PSC.PRODUCNAME%TYPE := ':PRODUCNAME:';
  763. P_STD_CODE COM_PSC.STD_CODE%TYPE := ':STD_CODE:';
  764. P_STD_NAME COM_PSC.STD_NAME%TYPE := ':STD_NAME:';
  765. P_STEELCODE COM_PSC.STEELCODE%TYPE := ':STEELCODE:';
  766. P_STEELNAME COM_PSC.STEELNAME%TYPE := ':STEELNAME:';
  767. P_STD_STYLE COM_PSC.STD_STYLE%TYPE := ':STD_STYLE:';
  768. P_STD_STYLE_DESC COM_PSC.STD_STYLE_DESC%TYPE := ':STD_STYLE_DESC:';
  769. P_DEPARTMENT_CODE COM_PSC.DEPARTMENT_CODE%TYPE := ':DEPARTMENT_CODE:';
  770. P_DEPARTMENT_DESC COM_PSC.DEPARTMENT_DESC%TYPE := ':DEPARTMENT_DESC:';
  771. P_UNIT_CODE COM_PSC.UNIT_CODE%TYPE := ':UNIT_CODE:';
  772. P_UNIT_DESC COM_PSC.UNIT_DESC%TYPE := ':UNIT_DESC:';
  773. P_CREATE_NAME COM_PSC.CREATE_NAME%TYPE := ':CREATE_NAME:';
  774. P_COUNT NUMBER(3);
  775. P_VALIDFLAG VARCHAR2(1);
  776. P_PRODUC_HEAD COM_BASE_PRODUCT.PRODUC_HEAD%TYPE;
  777. BEGIN
  778. SELECT 'PSC' || LPAD(TO_CHAR(TO_NUMBER(SUBSTR(NVL(MAX(PSC), 'PSC0000000'), 4, 7)) + 1),7,'0') INTO P_PSC FROM COM_PSC;
  779. P_PSC_DESC := P_PRODUCNAME || ',' || P_STEELNAME || ',' || P_STD_STYLE_DESC || ',' || P_STD_NAME;
  780. SELECT T.PRODUC_HEAD INTO P_PRODUC_HEAD FROM COM_BASE_PRODUCT T WHERE T.PRODUCCODE = P_PRODUCCODE;
  781. SELECT COUNT(1) INTO P_COUNT FROM COM_PSC T WHERE T.PRODUCCODE = P_PRODUCCODE
  782. AND T.STD_CODE = P_STD_CODE AND T.STEELCODE = P_STEELCODE
  783. AND DECODE(P_STD_STYLE, NULL, '1', T.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  784. AND DECODE(P_STD_STYLE, NULL, T.STD_STYLE, NULL) IS NULL;
  785. IF P_COUNT != 0 THEN
  786. UPDATE COM_PSC T SET VALIDFLAG = '1' WHERE T.PRODUCCODE = P_PRODUCCODE
  787. AND T.STD_CODE = P_STD_CODE AND T.STEELCODE = P_STEELCODE
  788. AND DECODE(P_STD_STYLE, NULL, '1', T.STD_STYLE) = DECODE(P_STD_STYLE, NULL, '1', P_STD_STYLE)
  789. AND DECODE(P_STD_STYLE, NULL, T.STD_STYLE, NULL) IS NULL;
  790. ELSIF P_COUNT = 0 THEN
  791. INSERT INTO COM_PSC(
  792. PSC,
  793. PSC_DESC,
  794. PRODUCCODE,
  795. PRODUCNAME,
  796. STD_CODE,
  797. STD_NAME,
  798. STEELCODE,
  799. STEELNAME,
  800. STD_STYLE,
  801. STD_STYLE_DESC,
  802. DEPARTMENT_CODE,
  803. DEPARTMENT_DESC,
  804. UNIT_CODE,
  805. UNIT_DESC,
  806. NEW_PROC_CODE,
  807. AUTOJUDGE,
  808. CREATE_NAME,
  809. PRODUC_HEAD,
  810. CREATE_TIME,
  811. VALIDFLAG)
  812. VALUES(
  813. P_PSC,
  814. P_PSC_DESC,
  815. P_PRODUCCODE,
  816. P_PRODUCNAME,
  817. P_STD_CODE,
  818. P_STD_NAME,
  819. P_STEELCODE,
  820. P_STEELNAME,
  821. P_STD_STYLE,
  822. P_STD_STYLE_DESC,
  823. P_DEPARTMENT_CODE,
  824. P_DEPARTMENT_DESC,
  825. P_UNIT_CODE,
  826. P_UNIT_DESC,
  827. '0',
  828. '0',
  829. P_CREATE_NAME,
  830. P_PRODUC_HEAD,
  831. SYSDATE,
  832. '1');
  833. END IF;
  834. END;
  835. ]]>
  836. </query>
  837. <query id="BLCodeManage.queryPscCode" desc="根据品名、标准、钢级、标准类别查询产品规范码">
  838. <![CDATA[
  839. SELECT T.PSC
  840. FROM COM_PSC T
  841. WHERE
  842. DECODE('#PRODUCCODE#', NULL, '1', T.PRODUCCODE) = DECODE('#PRODUCCODE#', NULL, '1', '#PRODUCCODE#')
  843. AND DECODE('#STD_CODE#', NULL, '1', T.STD_CODE) = DECODE('#STD_CODE#', NULL, '1', '#STD_CODE#')
  844. AND DECODE('#STEELCODE#', NULL, '1', T.STEELCODE) = DECODE('#STEELCODE#', NULL, '1', '#STEELCODE#')
  845. AND DECODE('#STD_STYLE#', NULL, '1', 'NULL', '1', T.STD_STYLE) = DECODE('#STD_STYLE#', NULL, '1', 'NULL', '1', '#STD_STYLE#')
  846. AND DECODE('#STD_STYLE#', 'NULL', T.STD_STYLE, NULL) IS NULL
  847. AND T.VALIDFLAG = '1'
  848. ]]>
  849. </query>
  850. <query id="BLCodeManage.queryIsRef" desc="查询是否被引用">
  851. <![CDATA[
  852. SELECT SUM(CNT)
  853. FROM (SELECT COUNT(1) CNT
  854. FROM COM_MSC_R_JG T
  855. WHERE T.CODE_JG = '#BL_CODE#'
  856. AND T.VALIDFLAG = '1'
  857. UNION ALL
  858. SELECT COUNT(1) CNT
  859. FROM COM_MSC_JG_R_BL A
  860. WHERE A.PSC_BL = '#BL_CODE#'
  861. AND A.VALIDFLAG = '1')
  862. ]]>
  863. </query>
  864. <query id="BLCodeManage.queryMscBlByPk" desc="查询备料码通过主键">
  865. <![CDATA[
  866. SELECT
  867. DESGIN_KEY,
  868. REVIEW_STATUS,
  869. PSC_BL,
  870. PRODUCCODE,
  871. PRODUCNAME,
  872. STD_CODE,
  873. STD_NAME,
  874. STEELCODE,
  875. STEELNAME,
  876. STD_STYLE,
  877. STD_STYLE_DESC,
  878. MODEL_CODE,
  879. MODEL_DESC,
  880. MIN_D,
  881. MIN_H,
  882. USE_CODE,
  883. USE_DESC,
  884. CREATE_NAME,
  885. TO_CHAR(CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
  886. UPDATE_NAME,
  887. TO_CHAR(UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') UPDATE_TIME,
  888. DELETE_NAME,
  889. TO_CHAR(DELETE_TIME, 'YYYY-MM-DD HH24:MI:SS') DELETE_TIME,
  890. VALIDFLAG,
  891. MEMO,
  892. MIN_L,
  893. MAX_L,
  894. FILE_JPG
  895. FROM COM_MSC_BL T
  896. WHERE T.PSC_BL = '#PSC_BL#'
  897. ]]>
  898. </query>
  899. <query id="BLCodeManage.updateReviewStateByPk" desc="通过主键更新评审状态">
  900. <![CDATA[
  901. UPDATE COM_MSC_BL T
  902. SET T.REVIEW_STATUS = '#REVIEW_STATUS#',
  903. T.DESGIN_KEY = DECODE('#DESGIN_KEY#', NULL, T.DESGIN_KEY, '#DESGIN_KEY#')
  904. WHERE T.PSC_BL = '#PSC_BL#'
  905. ]]>
  906. </query>
  907. <query id="BLCodeManage.getBlDesignSts" desc="获取备料码的设计状态">
  908. <![CDATA[
  909. SELECT A.DESIGN_STS VALUE
  910. FROM SLM_ORD_DESIGN_BL T, SLM_ORD_DESIGN_STS_TKLG A
  911. WHERE T.PSC_BL = '#PSC_BL#'
  912. AND T.VALIDFLAG = '1'
  913. AND T.DESGIN_KEY = A.DESGIN_KEY
  914. AND A.VALIDFLAG = '1'
  915. ]]>
  916. </query>
  917. <query id="BLCodeManage.getRefCnt" desc="获取备料引用数目">
  918. <![CDATA[
  919. SELECT SUM(CNT) FROM (
  920. SELECT COUNT(1) CNT
  921. FROM COM_MSC_R_JG T
  922. WHERE T.CODE_JG = '#CODE_JG#'
  923. AND T.VALIDFLAG = '1'
  924. UNION ALL
  925. SELECT COUNT(1) CNT
  926. FROM COM_MSC_JG_R_BL A
  927. WHERE A.PSC_BL = '#PSC_BL#'
  928. AND A.VALIDFLAG = '1'
  929. )
  930. ]]>
  931. </query>
  932. <query id="BLCodeManage.getPscByBl" desc="通过备料获取对应的PSC">
  933. <![CDATA[
  934. SELECT T.PSC
  935. FROM COM_PSC T, COM_MSC_BL A
  936. WHERE A.PRODUCCODE = T.PRODUCCODE
  937. AND A.STD_CODE = T.STD_CODE
  938. AND NVL(A.STD_STYLE, '/') = NVL(T.STD_STYLE, '/')
  939. AND A.STEELCODE = T.STEELCODE
  940. AND A.PSC_BL = {0}
  941. AND T.VALIDFLAG = '1'
  942. ]]>
  943. </query>
  944. <query id="BLCodeManage.getUseOrder" desc="查询使用该备料的合同">
  945. <![CDATA[
  946. SELECT DISTINCT *
  947. FROM (SELECT F.ORDER_NO || '/' || E.ORDER_SEQ ORDER_NO,
  948. NVL((SELECT MIN(Q.UNIT_DESC)
  949. FROM CRAFT_ORD_DESIGN_STS_TKLG_LST Q
  950. WHERE Q.DESIGN_STS = 'F'
  951. AND Q.VALIDFLAG = '1'
  952. AND Q.DESGIN_KEY = D.DESGIN_KEY),
  953. H.UNIT_DESC_PROCESS) UNIT_DESC,
  954. I.CRAFT_NAME,
  955. D.CRAFT_NO,
  956. D.CRAFT_PATH
  957. FROM CRAFT_ORD_DESIGN A,
  958. CRAFT_ORD_DESIGN_MSC_BL C,
  959. CRAFT_ORD_DESIGN D,
  960. SLM_ORDER_LINE E,
  961. SLM_ORDER_HEAD F,
  962. CRAFT_ORD_DESIGN_MSC G,
  963. COM_MSC H,
  964. CRAFT_ORD_DESIGN_APPOINT I
  965. WHERE A.ORD_LN_PK = {0}
  966. AND EXISTS (SELECT 1
  967. FROM PLN_SALEORD B
  968. WHERE B.ORD_LN_PK = D.ORD_LN_PK
  969. AND B.PORDERSTATUS IN ('0', '1', '2', '3'))
  970. AND A.DESGIN_KEY = C.DESGIN_KEY_BL
  971. AND D.DESGIN_KEY = C.DESGIN_KEY
  972. AND E.ORD_LN_PK = D.ORD_LN_PK
  973. AND F.ORD_PK = E.ORD_PK
  974. AND G.DESGIN_KEY = D.DESGIN_KEY
  975. AND H.MSC = G.MSC
  976. AND I.ORD_LN_PK = D.ORD_LN_PK
  977. UNION ALL
  978. SELECT F.ORDER_NO || '/' || E.ORDER_SEQ,
  979. NVL((SELECT MIN(Q.UNIT_DESC)
  980. FROM CRAFT_ORD_DESIGN_STS_TKLG_LST Q
  981. WHERE Q.DESIGN_STS = 'F'
  982. AND Q.VALIDFLAG = '1'
  983. AND Q.DESGIN_KEY = D.DESGIN_KEY),
  984. H.UNIT_DESC_PROCESS) UNIT_DESC,
  985. I.CRAFT_NAME,
  986. D.CRAFT_NO,
  987. D.CRAFT_PATH
  988. FROM CRAFT_ORD_DESIGN A,
  989. CRAFT_ORD_DESIGN_MSC_JG_BL C,
  990. CRAFT_ORD_DESIGN D,
  991. SLM_ORDER_LINE E,
  992. SLM_ORDER_HEAD F,
  993. CRAFT_ORD_DESIGN_MSC G,
  994. COM_MSC H,
  995. CRAFT_ORD_DESIGN_APPOINT I
  996. WHERE A.ORD_LN_PK = {0}
  997. AND EXISTS (SELECT 1
  998. FROM PLN_SALEORD B
  999. WHERE B.ORD_LN_PK = D.ORD_LN_PK
  1000. AND B.PORDERSTATUS IN ('0', '1', '2', '3'))
  1001. AND A.DESGIN_KEY = C.DESGIN_KEY_BL
  1002. AND D.DESGIN_KEY = C.DESGIN_KEY
  1003. AND E.ORD_LN_PK = D.ORD_LN_PK
  1004. AND F.ORD_PK = E.ORD_PK
  1005. AND G.DESGIN_KEY = D.DESGIN_KEY
  1006. AND H.MSC = G.MSC
  1007. AND I.ORD_LN_PK = D.ORD_LN_PK)
  1008. order by CRAFT_NO
  1009. ]]>
  1010. </query>
  1011. </queryMap>