FrmGpExaminJudge.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc = "审批管理">
  3. <query id = "FrmGpExaminJudge.applyJudgePass" desc = "审批通过">
  4. DECLARE
  5. V_OUTSTOCK_DOC YDM_GP_OUTLIST.OUTSTOCK_DOC%TYPE := NULL;
  6. V_INSTOCK_DOC YDM_GP_INLIST.INSTOCK_DOC%TYPE := NULL;
  7. V_OUTSTOCK_SQE YDM_GP_OUTLIST.OUTSTOCK_SQE%TYPE := NULL;
  8. V_INSTOCK_SQE YDM_GP_INLIST.INSTOCK_SQE%TYPE := NULL;
  9. V_OCOUNT NUMBER := 1;
  10. V_ICOUNT NUMBER := 1;
  11. V_MAT_NO_COUNT NUMBER := 1;
  12. V_MAT_NO MAT_GP_M.MAT_NO%TYPE := NULL;
  13. V_BATHYEAR MAT_GP_M.BAL_YEAR_MONTH%TYPE := '#BAL_YEAR_MONTH#';
  14. BEGIN
  15. --生成出库单号
  16. SELECT 'OP' || TO_CHAR(SYSDATE, 'YYMMDD') ||
  17. LPAD(NVL(MAX(SUBSTR(OUTSTOCK_DOC, 9)), 0) + 1, 5, 0)
  18. INTO V_OUTSTOCK_DOC
  19. FROM YDM_GP_OUTLIST T
  20. WHERE T.OUTSTOCK_TYPE_CODE = '800808'
  21. AND T.OUTSTOCK_DOC LIKE 'OP'||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
  22. --出库流水号
  23. SELECT TO_NUMBER(LPAD((NVL(MAX(SUBSTR(T.OUTSTOCK_SQE, 14)), 0) + 1), 4, 0))
  24. INTO V_OCOUNT
  25. FROM YDM_GP_OUTLIST T
  26. WHERE T.OUTSTOCK_DOC = V_OUTSTOCK_DOC;
  27. --生成入库单号
  28. SELECT 'IP' || TO_CHAR(SYSDATE, 'YYMMDD') ||
  29. LPAD(NVL(MAX(SUBSTR(INSTOCK_DOC, 9)), 0) + 1, 5, 0)
  30. INTO V_INSTOCK_DOC
  31. FROM YDM_GP_INLIST T
  32. WHERE T.INSTOCK_TYPE_CODE = '800706'
  33. AND T.INSTOCK_DOC LIKE 'IP'||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
  34. --入库流水号
  35. SELECT TO_NUMBER(LPAD((NVL(MAX(SUBSTR(T.INSTOCK_SQE, 14)), 0) + 1), 4, 0))
  36. INTO V_ICOUNT
  37. FROM YDM_GP_INLIST T
  38. WHERE T.INSTOCK_DOC = V_INSTOCK_DOC;
  39. --生成新炉号材料号序号
  40. SELECT LPAD(NVL(MAX(SUBSTR(T2.MAT_NO, LENGTH(T2.MAT_NO) - 2)), 0) + 1, 3, 0) INTO V_MAT_NO_COUNT
  41. FROM (SELECT MAX(T.MAT_NO)MAT_NO
  42. FROM MAT_GP_M T
  43. WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
  44. UNION ALL
  45. SELECT MAX(T1.MAT_NO)MAT_NO
  46. FROM YDM_GP_INLIST T1
  47. WHERE T1.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
  48. UNION ALL
  49. SELECT MAX(T3.MAT_NO)MAT_NO
  50. FROM MAT_GP_TRACK T3
  51. WHERE T3.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#') T2;
  52. FOR MYROW IN (SELECT * FROM MAT_GP_M T WHERE T.JUDGE_ID = '#JUDGE_ID#') LOOP
  53. V_OUTSTOCK_SQE := V_OUTSTOCK_DOC || LPAD(V_OCOUNT, 4, 0);
  54. INSERT INTO YDM_GP_OUTLIST
  55. (OUTSTOCK_SQE,
  56. OUTSTOCK_DOC,
  57. OUTSTOCK_TYPE_CODE,
  58. OUTSTOCK_TYPE_NAME,
  59. MAT_NO,
  60. PRODUCT_FLAG,
  61. MAT_STATUS,
  62. STOVE_NO,
  63. FLAG_STOVE_NO,
  64. JUDGE_STOVE_NO,
  65. MATERIAL_NO,
  66. MATERIAL_NAME,
  67. GRADECODE,
  68. GRADENAME,
  69. DIMATER,
  70. ACT_LEN,
  71. FIX_NUM,
  72. FIX_LEN,
  73. ACT_COUNT,
  74. ACT_WEIGHT,
  75. PLINE_CODE,
  76. PLINE_NAME,
  77. BELONG_CODE,
  78. BELONG_NAME,
  79. BAL_YEAR_MONTH,
  80. OUTSTOCK_TIME,
  81. CREATE_NAME,
  82. CREATE_TIME,
  83. GROUD_NO,
  84. PRO_PLAN_ID,
  85. GX_PLAN_NO,
  86. FURNACENO,
  87. SEQUENCENO,
  88. GPTYPE,
  89. CIC,
  90. PIC,
  91. SIC,
  92. DIC,
  93. PRODUCCODE,
  94. PRODUCNAME,
  95. PRO_PLAN_ID_ZG,
  96. GX_PLAN_NO_ZG,
  97. IS_DEALER,
  98. BACK_FLAG,SUPPLY_UNIT_CODE,SUPPLY_UNIT)
  99. VALUES
  100. (V_OUTSTOCK_SQE,
  101. V_OUTSTOCK_DOC,
  102. '800808',
  103. '改判出库',
  104. MYROW.MAT_NO,
  105. MYROW.PRODUCT_FLAG,
  106. MYROW.MAT_STATUS,
  107. MYROW.STOVE_NO,
  108. MYROW.FLAG_STOVE_NO,
  109. MYROW.JUDGE_STOVE_NO,
  110. MYROW.MATERIAL_NO,
  111. MYROW.MATERIAL_NAME,
  112. MYROW.GRADECODE,
  113. MYROW.GRADENAME,
  114. MYROW.DIMATER,
  115. MYROW.ACT_LEN,
  116. MYROW.FIX_NUM,
  117. MYROW.FIX_LEN,
  118. MYROW.ACT_COUNT,
  119. MYROW.ACT_WEIGHT,
  120. MYROW.PLINE_CODE,
  121. MYROW.PLINE_NAME,
  122. MYROW.BELONG_CODE,
  123. MYROW.BELONG_NAME,
  124. V_BATHYEAR,
  125. TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
  126. '#CREATE_NAME#',
  127. TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
  128. MYROW.GROUD_NO,
  129. MYROW.PRO_PLAN_ID,
  130. MYROW.GX_PLAN_NO,
  131. MYROW.FURNACENO,
  132. MYROW.SEQUENCENO,
  133. MYROW.GPTYPE,
  134. MYROW.CIC,
  135. MYROW.PIC,
  136. MYROW.SIC,
  137. MYROW.DIC,
  138. MYROW.PRODUCCODE,
  139. MYROW.PRODUCNAME,
  140. MYROW.PRO_PLAN_ID_ZG,
  141. MYROW.GX_PLAN_NO_ZG,
  142. MYROW.IS_DEALER,
  143. MYROW.BACK_FLAG,
  144. MYROW.SUPPLY_UNIT_CODE,
  145. MYROW.SUPPLY_UNIT);
  146. V_INSTOCK_SQE := V_INSTOCK_DOC || LPAD(V_ICOUNT, 4, 0);
  147. V_MAT_NO := '#JUDGE_STOVE_NO_GP#'||LPAD(V_MAT_NO_COUNT,3,0);
  148. INSERT INTO YDM_GP_INLIST
  149. (INSTOCK_SQE,
  150. INSTOCK_DOC,
  151. INSTOCK_TYPE_CODE,
  152. INSTOCK_TYPE_NAME,
  153. MAT_NO,
  154. PRODUCT_FLAG,
  155. MAT_STATUS,
  156. STOVE_NO,
  157. JUDGE_STOVE_NO,
  158. PLINE_CODE,
  159. PLINE_NAME,
  160. MATERIAL_NO,
  161. MATERIAL_NAME,
  162. GRADECODE,
  163. GRADENAME,
  164. STD_CODE,
  165. STD_NAME,
  166. DIMATER,
  167. ACT_LEN,
  168. FIX_NUM,
  169. FIX_LEN,
  170. ACT_COUNT,
  171. ACT_WEIGHT,
  172. BELONG_CODE,
  173. BELONG_NAME,
  174. INSTOCK_TIME,
  175. IN_TIME_F,
  176. BAL_YEAR_MONTH,
  177. CREATE_NAME,
  178. CREATE_TIME,
  179. GROUD_NO,
  180. PRO_PLAN_ID,
  181. GX_PLAN_NO,
  182. IS_DEALER,BACK_FLAG,SUPPLY_UNIT_CODE,SUPPLY_UNIT)
  183. VALUES
  184. (V_INSTOCK_SQE,
  185. V_INSTOCK_DOC,
  186. '800706',
  187. '改判入库',
  188. V_MAT_NO,
  189. MYROW.PRODUCT_FLAG,
  190. MYROW.MAT_STATUS,
  191. MYROW.STOVE_NO,
  192. '#JUDGE_STOVE_NO_GP#',
  193. MYROW.PLINE_CODE,
  194. MYROW.PLINE_NAME,
  195. '#MATERIAL_NO#',
  196. '#MATERIAL_NAME#',
  197. '#GRADECODE#',
  198. '#GRADENAME#',
  199. MYROW.STD_CODE,
  200. MYROW.STD_NAME,
  201. '#DIMATER#',
  202. MYROW.ACT_LEN,
  203. MYROW.FIX_NUM,
  204. MYROW.FIX_LEN,
  205. MYROW.ACT_COUNT,
  206. MYROW.ACT_WEIGHT,
  207. MYROW.BELONG_CODE,
  208. MYROW.BELONG_NAME,
  209. TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
  210. TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
  211. V_BATHYEAR,
  212. '#CREATE_NAME#',
  213. TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
  214. MYROW.GROUD_NO,
  215. MYROW.PRO_PLAN_ID,
  216. MYROW.GX_PLAN_NO,
  217. MYROW.IS_DEALER,
  218. MYROW.BACK_FLAG,
  219. MYROW.SUPPLY_UNIT_CODE,
  220. MYROW.SUPPLY_UNIT);
  221. UPDATE MAT_GP_M T
  222. SET T.MATERIAL_NO = '#MATERIAL_NO#',
  223. T.MATERIAL_NAME = '#MATERIAL_NAME#',
  224. T.GRADECODE = '#GRADECODE#',
  225. T.GRADENAME = '#GRADENAME#',
  226. T.DIMATER = '#DIMATER#',
  227. T.MAT_NO = V_MAT_NO,
  228. T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#',
  229. T.JUDGE_ID = '',
  230. T.LOCK_FLAG = '0'
  231. WHERE T.MAT_NO = MYROW.MAT_NO;
  232. UPDATE YDM_GP_BUTTRESS T
  233. SET T.MAT_NO = V_MAT_NO,
  234. T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
  235. WHERE T.MAT_NO = MYROW.MAT_NO;
  236. V_MAT_NO_COUNT := V_MAT_NO_COUNT + 1;
  237. V_OCOUNT := V_OCOUNT + 1;
  238. V_ICOUNT := V_ICOUNT + 1;
  239. END LOOP;
  240. UPDATE QCM_GP_JUDGE_CHANGE T
  241. SET T.AGREE_FLAG = '2',
  242. T.AGREE_NAME = '#AGREE_NAME#',
  243. T.AGREE_TIME = TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
  244. T.AGREE_MEMO = '#AGREE_MEMO#'
  245. WHERE T.JUDGE_ID = '#JUDGE_ID#';
  246. END;
  247. </query>
  248. <query id = "FrmGpExaminJudge.applyJudgeNoPass" desc = "审批不通过">
  249. DECLARE
  250. BEGIN
  251. UPDATE QCM_GP_JUDGE_CHANGE T
  252. SET T.AGREE_FLAG = '4',
  253. T.AGREE_NAME = '#CREATE_NAME#',
  254. T.AGREE_TIME = TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
  255. T.AGREE_MEMO = '#AGREE_MEMO#'
  256. WHERE T.JUDGE_ID = '#JUDGE_ID#';
  257. UPDATE MAT_GP_M T
  258. SET T.LOCK_FLAG = '0', T.JUDGE_ID = ''
  259. WHERE T.JUDGE_ID = '#JUDGE_ID#';
  260. END;
  261. </query>
  262. <query id = "FrmGpExaminJudge.doQueryQcmJhy" desc = "查询成分">
  263. SELECT * FROM QCM_JHY_ELEMENTS T WHERE T.STOVE_NO = ? ORDER BY T.SAMPLE_NO DESC
  264. </query>
  265. </queryMap>