FrmMatGpM.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc = "管坯库存">
  3. <query id = "FrmMatGpM.doQuery" desc = "查询">
  4. <![CDATA[
  5. SELECT T1.*, S1.GOWHERE_NAME AS MAT_GOWHERE_NAME
  6. FROM (SELECT T2.*, K.ORDER_NO || '/' || K.ORDER_SEQ AS ORDER_NO
  7. FROM (SELECT DECODE(T.PRODUCT_FLAG,
  8. '801401',
  9. '在制品',
  10. '801402',
  11. '成品',
  12. '801403',
  13. '商品') PRODUCT_FLAG,
  14. DECODE(T.MAT_STATUS,
  15. '80150101',
  16. '材料产出待判',
  17. '80150102',
  18. '材料产出(已判定)',
  19. '80150103',
  20. '材料已编计划',
  21. '80150104',
  22. '材料待处理',
  23. '80150105',
  24. '材料加工',
  25. '80150201',
  26. '材料产出待判(未综合判定)',
  27. '80150202',
  28. '材料产出(已综合判定)') MAT_STATUS,
  29. DECODE(T.HANGING_FLAG, '0', '否', '1', '是') HANGING_FLAG,
  30. T.STOVE_NO,
  31. T.JUDGE_STOVE_NO,
  32. T.GROUD_NO,
  33. T.MATERIAL_NO,
  34. T.MATERIAL_NAME,
  35. T.GRADECODE,
  36. T.GRADENAME,
  37. T.STD_CODE,
  38. T.STD_NAME,
  39. T.PRO_ORDER_NO,
  40. T.PLINE_CODE,
  41. T.PLINE_NAME,
  42. T.DIMATER,
  43. T.ACT_LEN,
  44. T.FIX_NUM,
  45. T.FIX_LEN,
  46. SUM(T.ACT_COUNT) ACT_COUNT,
  47. SUM(T.ACT_WEIGHT) ACT_WEIGHT,
  48. T.BELONG_CODE,
  49. T.BELONG_NAME,
  50. (SELECT C.STORAGE_NAME
  51. FROM YDM_BS_STORAGE C
  52. WHERE C.STORAGE_NO = S.STORAGE_NO) STORAGE_NAME,
  53. S.STORAGE_NO,
  54. DECODE(T.QCM_STAUS,
  55. '00',
  56. '合格',
  57. '11',
  58. '待处理',
  59. '22',
  60. '废品',
  61. '10',
  62. '处理合格',
  63. '12',
  64. '处理判废') QCM_STAUS,
  65. DECODE(T.GPTYPE, '1', '铸坯', '2', '锻坯') GPTYPE,
  66. T.FURNACENO,
  67. T.SEQUENCENO,
  68. S.LOCATION_NO,
  69. S.LARY_NO,
  70. S.LOCATION_NAME,
  71. T.HEAT_PLAN_NO_NEXT,
  72. T.PRO_PLAN_ID_ZG,
  73. T.GX_PLAN_NO_ZG,
  74. T.BAL_YEAR_MONTH,
  75. MAX(TO_CHAR(T.INSTOCK_TIME, 'YYYY-MM-DD HH:MM:SS')) INSTOCK_TIME,
  76. DECODE(T.INSTANCY_FLAG, '0', '否', '1', '是') INSTANCY_FLAG,
  77. (SELECT T1.BASENAME
  78. FROM COM_BASE_INFO T1
  79. WHERE T1.BASECODE = T.JUDGE_RESULT_CODE) JUDGE_RESULT_CODE
  80. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  81. WHERE T.MAT_NO = S.MAT_NO
  82. AND T.QCM_STAUS = '00'
  83. AND T.PRODUCT_FLAG = '801401'
  84. #BAL_YEAR_MONTH#
  85. #JUDGE_STOVE_NO#
  86. GROUP BY T.STOVE_NO,
  87. T.JUDGE_STOVE_NO,
  88. T.MATERIAL_NO,
  89. T.MATERIAL_NAME,
  90. T.GROUD_NO,
  91. T.FURNACENO,
  92. T.SEQUENCENO,
  93. T.GRADECODE,
  94. T.GRADENAME,
  95. T.STD_CODE,
  96. T.STD_NAME,
  97. T.PRO_ORDER_NO,
  98. T.PLINE_CODE,
  99. T.PLINE_NAME,
  100. T.QCM_STAUS,
  101. T.GPTYPE,
  102. T.JUDGE_RESULT_CODE,
  103. T.DIMATER,
  104. T.ACT_LEN,
  105. T.FIX_NUM,
  106. T.FIX_LEN,
  107. T.PRODUCT_FLAG,
  108. T.MAT_STATUS,
  109. S.STORAGE_NO,
  110. T.BELONG_CODE,
  111. T.BELONG_NAME,
  112. S.LOCATION_NO,
  113. S.LARY_NO,
  114. S.LOCATION_NAME,
  115. T.HANGING_FLAG,
  116. T.INSTANCY_FLAG,
  117. T.BAL_YEAR_MONTH,
  118. T.HEAT_PLAN_NO_NEXT,
  119. T.PRO_PLAN_ID_ZG,
  120. T.GX_PLAN_NO_ZG) T2
  121. LEFT JOIN PLN_ORDER_ZG_S K
  122. ON T2.PRO_PLAN_ID_ZG = K.PRO_PLAN_ID
  123. AND T2.GX_PLAN_NO_ZG = K.GX_PLAN_NO) T1,
  124. (SELECT S.STOVE_NO,
  125. S.JUDGE_STOVE_NO,
  126. MAX(S.GOWHERE_NAME) GOWHERE_NAME
  127. FROM PLN_STEELFOR_ORD S
  128. GROUP BY S.STOVE_NO, S.JUDGE_STOVE_NO) S1
  129. WHERE T1.STOVE_NO = S1.STOVE_NO(+)
  130. AND T1.JUDGE_STOVE_NO = S1.JUDGE_STOVE_NO(+)
  131. ]]>
  132. </query>
  133. <query id = "FrmMatGpM.QueryPlanStatus" desc = "查询计划状态">
  134. <![CDATA[
  135. select t.* from PLN_ZY_ZG_M t WHERE T.HEAT_PLAN_NO = ?
  136. ]]>
  137. </query>
  138. <query id = "FrmMatGpM.takeBill" desc = "置余材">
  139. <![CDATA[
  140. DECLARE
  141. BEGIN
  142. FOR MYROW IN (SELECT *
  143. FROM (SELECT T.*, S.STORAGE_NO
  144. FROM MAT_GP_M T
  145. LEFT JOIN YDM_GP_BUTTRESS S
  146. ON T.MAT_NO = S.MAT_NO
  147. WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  148. AND NVL(T.HEAT_PLAN_NO_NEXT, '/') =
  149. NVL('#HEAT_PLAN_NO_NEXT#', '/')
  150. AND NVL(T.PRO_PLAN_ID_ZG, '/') =
  151. NVL('#PRO_PLAN_ID_ZG#', '/')
  152. AND NVL(T.GX_PLAN_NO_ZG, '/') =
  153. NVL('#GX_PLAN_NO_ZG#', '/')
  154. AND T.ACT_LEN = '#ACT_LEN#'
  155. AND S.STORAGE_NO = '#STORAGE_NO#'
  156. AND T.QCM_STAUS = '00'
  157. AND T.PRODUCT_FLAG = '801401'
  158. AND T.BELONG_CODE = '002001001'
  159. ORDER BY T.MAT_NO DESC)
  160. WHERE ROWNUM <= '#ACT_COUNT#') LOOP
  161. IF (MYROW.INSTANCY_FLAG = '1') THEN
  162. UPDATE MAT_GP_M T
  163. SET T.MAT_STATUS = '80150101',
  164. T.HANGING_FLAG = '0',
  165. T.HEAT_PLAN_NO_NEXT = '',
  166. T.PRO_PLAN_ID_ZG = '',
  167. T.GX_PLAN_NO_ZG = ''
  168. WHERE T.MAT_NO = MYROW.MAT_NO
  169. AND T.PLINE_CODE = MYROW.PLINE_CODE;
  170. ELSE
  171. UPDATE MAT_GP_M T
  172. SET T.MAT_STATUS = '80150102',
  173. T.HANGING_FLAG = '0',
  174. T.HEAT_PLAN_NO_NEXT = '',
  175. T.PRO_PLAN_ID_ZG = '',
  176. T.GX_PLAN_NO_ZG = ''
  177. WHERE T.MAT_NO = MYROW.MAT_NO
  178. AND T.PLINE_CODE = MYROW.PLINE_CODE;
  179. END IF;
  180. END LOOP;
  181. --删除轧管炉计划
  182. DELETE FROM PLN_ZY_ZG_M T WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO_NEXT#';
  183. DELETE FROM PLN_ZY_ZG_C T WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO_NEXT#';
  184. END;
  185. ]]>
  186. </query>
  187. </queryMap>