FrmStuffInventoryOut.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc = "盘亏">
  3. <query id = "FrmStuffInventoryOut.doQueryMat" desc = "查询库存信息">
  4. <![CDATA[
  5. SELECT
  6. max(TO_CHAR(T.INSTOCK_TIME, 'YYYY-MM-DD HH24:MI:SS')) INSTOCK_TIME,
  7. T.MEMO,
  8. --(SELECT C.BASENAME FROM COM_BASE_INFO C WHERE C.BASECODE = T.PRODUCT_FLAG) PRODUCT_FLAG,
  9. --(SELECT D.BASENAME FROM COM_BASE_INFO D WHERE D.BASECODE = T.MAT_STATUS)MAT_STATUS,
  10. T.PRODUCT_FLAG,
  11. T.MAT_STATUS,
  12. T.STOVE_NO,
  13. T.JUDGE_STOVE_NO,
  14. T.BATCH_NO,
  15. T.CAST_NO,
  16. T.CCMID,
  17. T.SAMPLE_FLAG,
  18. T.CUTTING_FLAG,
  19. T.CUTTING_NUM,
  20. T.MATERIAL_NO,
  21. T.MATERIAL_NAME,
  22. T.PRODUCCODE,
  23. T.PRODUCNAME,
  24. T.JUDGE_GRADECODE,
  25. T.JUDGE_GRADENAME,
  26. T.JUDGE_STD_CODE,
  27. T.JUDGE_STD_NAME,
  28. T.PRO_ORDER_NO,
  29. T.PRO_ORDER_ID,
  30. T.PLINE_CODE,
  31. T.PLINE_NAME,
  32. T.ACT_DIMATER,
  33. T.ACT_LEN,
  34. T.ACT_LEN_MIN,
  35. T.ACT_LEN_MAX,
  36. T.ACT_FIX_NUM,
  37. T.ACT_FIX_LEN,
  38. sum(T.ACT_COUNT)ACT_COUNT,
  39. sum(T.ACT_WEIGHT)ACT_WEIGHT,
  40. sum(T.ACT_COUNT)Out_Act_Count,
  41. T.BELONG_CODE,
  42. T.BELONG_NAME,
  43. (SELECT C.STORAGE_NAME FROM YDM_BS_STORAGE C WHERE C.STORAGE_NO = S.STORAGE_NO)STORAGE_NO
  44. --T1.STORAGE_NAME
  45. FROM MAT_GP_M T,YDM_GP_BUTTRESS S
  46. --LEFT JOIN ydm_bs_storage T1 ON S.STORAGE_NO=T1.STORAGE_NO
  47. WHERE T.MAT_NO = S.MAT_NO
  48. AND T.MAT_STATUS<>'80150302'
  49. AND T.JUDGE_STOVE_NO || '&' LIKE ('%' || ? || '%')
  50. ]]>
  51. </query>
  52. <query id = "FrmStuffInventoryOut.doQueryStock" desc = "查询盘亏实绩">
  53. <![CDATA[
  54. SELECT
  55. BELONG_NAME,
  56. PRO_ORDER_NO,
  57. PRO_ORDER_ID,
  58. TO_CHAR(STOCKTAKING_TIME, 'YYYY-MM-DD HH24:MI:SS') STOCKTAKING_TIME,
  59. STORAGE_NO,
  60. BAL_YEAR_MONTH,
  61. MEMO,
  62. CREATE_NAME,
  63. STOCKTAKING_DOC,
  64. STOCKTAKING_RSN_NAME,
  65. STOVE_NO,
  66. FLAG_STOVE_NO,
  67. JUDGE_STOVE_NO,
  68. GROUD_NO,
  69. BATCH_NO,
  70. CAST_NO,
  71. CCMID,
  72. SAMPLE_FLAG,
  73. CUTTING_FLAG,
  74. CUTTING_NUM,
  75. MATERIAL_NAME,
  76. PRODUCNAME,
  77. JUDGE_GRADENAME,
  78. JUDGE_STD_NAME,
  79. ACT_DIMATER,
  80. ACT_LEN,
  81. ACT_LEN_MIN,
  82. ACT_LEN_MAX,
  83. ACT_FIX_NUM,
  84. ACT_FIX_LEN,
  85. ACT_COUNT,
  86. ACT_WEIGHT,
  87. PLINE_NAME
  88. FROM YDM_GP_STOCKTAKINGLIST
  89. WHERE STOCKTAKING_TYPE_CODE = '800602'
  90. AND JUDGE_STOVE_NO || '&' LIKE ('%' || ? || '%')
  91. ]]>
  92. </query>
  93. <query id = "FrmStuffInventoryOut.selectMatStaus" desc= "查询材料状态">
  94. SELECT SUM(T.ACT_COUNT)ACOUNT
  95. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  96. WHERE T.MAT_NO = S.MAT_NO
  97. AND T.STOVE_NO = ?
  98. AND T.JUDGE_STOVE_NO =?
  99. AND T.BATCH_NO=?
  100. AND T.GROUD_NO = ?
  101. AND T.PRODUCT_FLAG = ?
  102. AND T.MAT_STATUS = ?
  103. AND S.STORAGE_NO = ?
  104. </query>
  105. <query id = "FrmStuffInventoryOut.selectMatWgt" desc= "查询盘亏重量">
  106. <![CDATA[
  107. SELECT SUM(T.ACT_WEIGHT)WEIGHT,SUM(T.ACT_LEN)LEN
  108. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  109. WHERE T.MAT_NO = S.MAT_NO
  110. AND T.STOVE_NO = ?
  111. AND T.JUDGE_STOVE_NO =?
  112. AND T.BATCH_NO=?
  113. AND T.GROUD_NO = ?
  114. AND T.PRODUCT_FLAG = ?
  115. AND T.MAT_STATUS = ?
  116. AND S.STORAGE_NO = ?
  117. AND ROWNUM < ?
  118. ORDER BY T.MAT_NO DESC
  119. ]]>
  120. </query>
  121. <query id = "FrmStuffInventoryOut.doAddOut" desc = "盘亏">
  122. <![CDATA[
  123. DECLARE
  124. V_OUTSTOCK_DOC YMD_GP_OUTLIST.OUTSTOCK_DOC%TYPE := NULL; --出库单号
  125. V_OUTSTOCK_SQE YMD_GP_OUTLIST.OUTSTOCK_SQE%TYPE := NULL; --出库流水
  126. v_stocktaking_doc ydm_gp_stocktakinglist.stocktaking_doc%type := null; --盘亏单号
  127. v_stocktaking_sqe ydm_gp_stocktakinglist.stocktaking_sqe%type := null; --盘亏流水
  128. V_MEMO COM_BASE_INFO.MEMO%TYPE := NULL;
  129. V_BASENAME COM_BASE_INFO.BASENAME%TYPE := NULL;
  130. v_TKMemo com_base_info.memo%type := null;
  131. V_TKBASENAME COM_BASE_INFO.BASENAME%TYPE := NULL;
  132. V_OCOUNT NUMBER := 1;
  133. v_TKOUNT NUMBER := 1;
  134. V_TIME YMD_GP_OUTLIST.CREATE_TIME%TYPE := SYSDATE;
  135. V_BATHYEAR MAT_ZC_M.BAL_YEAR_MONTH%TYPE := TO_CHAR(SYSDATE, 'YYYYMM');
  136. v_index Number := 0;
  137. BEGIN
  138. --生成盘亏单号
  139. SELECT MEMO, BASENAME
  140. INTO v_TKMemo, V_TKBASENAME
  141. FROM COM_BASE_INFO
  142. WHERE BASECODE = ?;
  143. SELECT v_TKMemo || TO_CHAR(SYSDATE, 'YYMMDD') ||
  144. LPAD(NVL(MAX(SUBSTR(stocktaking_doc, 9)), 0) + 1, 5, 0) stocktaking_doc
  145. INTO v_stocktaking_doc
  146. FROM ydm_gp_stocktakinglist T
  147. WHERE T.stocktaking_type_code = ?
  148. AND TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD') =
  149. TO_CHAR(SYSDATE, 'YYYY-MM-DD');
  150. --生成出库单号
  151. SELECT MEMO, BASENAME
  152. INTO V_MEMO, V_BASENAME
  153. FROM COM_BASE_INFO
  154. WHERE BASECODE = ?;
  155. SELECT V_MEMO || TO_CHAR(SYSDATE, 'YYMMDD') ||
  156. LPAD(NVL(MAX(SUBSTR(OUTSTOCK_DOC, 9)), 0) + 1, 5, 0) OUTSTOCK_DOC
  157. INTO V_OUTSTOCK_DOC
  158. FROM YMD_GP_OUTLIST T
  159. WHERE T.OUTSTOCK_TYPE_CODE = ?
  160. AND TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD') =
  161. TO_CHAR(SYSDATE, 'YYYY-MM-DD');
  162. FOR MYROW IN (SELECT T.*,
  163. S.STORAGE_NO,
  164. S.LOCATION_NO,
  165. S.STORAGE_ATTR,
  166. S.STORAGE_ATTR_NAME,
  167. S.STORAGE_TYPE_NO,
  168. S.STORAGE_TYPE_NAME
  169. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  170. WHERE T.MAT_NO = S.MAT_NO
  171. AND T.STOVE_NO = ?
  172. AND T.JUDGE_STOVE_NO = ?
  173. AND T.BATCH_NO = ?
  174. AND T.GROUD_NO = ?
  175. AND T.PRODUCT_FLAG = ?
  176. AND T.MAT_STATUS = ?
  177. AND S.STORAGE_NO = ?
  178. AND ROWNUM < ?
  179. ORDER BY T.MAT_NO DESC) LOOP
  180. if(v_index = 0)then
  181. v_stocktaking_sqe := v_stocktaking_doc || LPAD(v_TKOUNT, 4, 0);
  182. INSERT INTO YDM_GP_STOCKTAKINGLIST
  183. (BELONG_NAME,
  184. PRO_ORDER_NO,
  185. PRO_ORDER_ID,
  186. STOCKTAKING_TIME,
  187. STORAGE_NO,
  188. LOCATION_NO,
  189. STORAGE_ATTR,
  190. STORAGE_ATTR_NAME,
  191. STORAGE_TYPE_NO,
  192. STORAGE_TYPE_NAME,
  193. DEPARTMENT_CODE,
  194. DEPARTMENT_DESC,
  195. MANAGEMENT_NO,
  196. MANAGEMENT_NAME,
  197. BAL_YEAR_MONTH,
  198. MEMO,
  199. CREATE_NAME,
  200. CREATE_TIME,
  201. STOCKTAKING_SQE,
  202. STOCKTAKING_DOC,
  203. STOCKTAKING_TYPE_CODE,
  204. STOCKTAKING_TYPE_NAME,
  205. STOCKTAKING_RSN_CODE,
  206. STOCKTAKING_RSN_NAME,
  207. PRODUCT_FLAG,
  208. MAT_STATUS,
  209. STOVE_NO,
  210. FLAG_STOVE_NO,
  211. LOT_NO,
  212. JUDGE_STOVE_NO,
  213. GROUD_NO,
  214. BATCH_NO,
  215. CAST_NO,
  216. CCMID,
  217. SAMPLE_FLAG,
  218. CUTTING_FLAG,
  219. CUTTING_NUM,
  220. MATERIAL_NO,
  221. MATERIAL_NAME,
  222. PRODUCCODE,
  223. PRODUCNAME,
  224. JUDGE_GRADECODE,
  225. JUDGE_GRADENAME,
  226. JUDGE_STD_CODE,
  227. JUDGE_STD_NAME,
  228. ACT_DIMATER,
  229. ACT_HEIGHT,
  230. ACT_LEN,
  231. ACT_LEN_MIN,
  232. ACT_LEN_MAX,
  233. ACT_FIX_NUM,
  234. ACT_FIX_LEN,
  235. ACT_COUNT,
  236. ACT_WEIGHT,
  237. ACT_THEORY_WEIGHT,
  238. PLINE_CODE,
  239. PLINE_NAME,
  240. BELONG_CODE)
  241. VALUES
  242. (myrow.belong_name,
  243. myrow.pro_order_no,
  244. myrow.pro_order_id,
  245. v_time,
  246. myrow.storage_no,
  247. myrow.location_no,
  248. myrow.storage_attr,
  249. myrow.storage_attr_name,
  250. myrow.storage_type_no,
  251. myrow.storage_type_name,
  252. ?,
  253. ?,
  254. ?,
  255. ?,
  256. V_BATHYEAR,
  257. myrow.memo,
  258. ?,
  259. v_time,
  260. v_stocktaking_sqe,
  261. v_stocktaking_doc,
  262. ?,
  263. V_TKBASENAME,
  264. '',
  265. ?,
  266. myrow.product_flag,
  267. myrow.mat_status,
  268. myrow.stove_no,
  269. myrow.flag_stove_no,
  270. myrow.lot_no,
  271. myrow.judge_stove_no,
  272. myrow.groud_no,
  273. myrow.batch_no,
  274. myrow.cast_no,
  275. myrow.ccmid,
  276. myrow.sample_flag,
  277. myrow.cutting_flag,
  278. myrow.cutting_num,
  279. myrow.material_no,
  280. myrow.material_name,
  281. myrow.produccode,
  282. myrow.producname,
  283. myrow.judge_gradecode,
  284. myrow.judge_gradename,
  285. myrow.judge_std_code,
  286. myrow.judge_std_name,
  287. myrow.act_dimater,
  288. myrow.act_height,
  289. ?,
  290. myrow.act_len_min,
  291. myrow.ACT_LEN_MAX,
  292. myrow.ACT_FIX_NUM,
  293. myrow.ACT_FIX_LEN,
  294. ?,
  295. ?,
  296. '',
  297. myrow.PLINE_CODE,
  298. myrow.PLINE_NAME,
  299. myrow.BELONG_CODE);
  300. end if;
  301. V_OUTSTOCK_SQE := V_OUTSTOCK_DOC || LPAD(V_OCOUNT, 4, 0);
  302. INSERT INTO YMD_GP_OUTLIST
  303. (OUTSTOCK_SQE,
  304. OUTSTOCK_PLAN_NO,
  305. OUTSTOCK_DOC,
  306. OUTSTOCK_TYPE_CODE,
  307. OUTSTOCK_TYPE_NAME,
  308. VEHICLE_NO,
  309. MAT_NO,
  310. MAT_SQE_NO,
  311. PRODUCT_FLAG,
  312. MAT_STATUS,
  313. STOVE_NO,
  314. FLAG_STOVE_NO,
  315. LOT_NO,
  316. JUDGE_STOVE_NO,
  317. BATCH_NO,
  318. CAST_NO,
  319. CCMID,
  320. SAMPLE_FLAG,
  321. CUTTING_FLAG,
  322. CUTTING_NUM,
  323. MATERIAL_NO,
  324. MATERIAL_NAME,
  325. PRODUCCODE,
  326. PRODUCNAME,
  327. JUDGE_GRADECODE,
  328. JUDGE_GRADENAME,
  329. JUDGE_STD_CODE,
  330. JUDGE_STD_NAME,
  331. ACT_DIMATER,
  332. ACT_HEIGHT,
  333. ACT_LEN,
  334. ACT_LEN_MIN,
  335. ACT_LEN_MAX,
  336. ACT_FIX_NUM,
  337. ACT_FIX_LEN,
  338. ACT_COUNT,
  339. ACT_WEIGHT,
  340. ACT_THEORY_WEIGHT,
  341. PLINE_CODE,
  342. PLINE_NAME,
  343. PRO_ORDER_NO,
  344. PRO_ORDER_ID,
  345. BELONG_CODE,
  346. BELONG_NAME,
  347. STORAGE_NO,
  348. LOCATION_NO,
  349. DEPARTMENT_CODE,
  350. DEPARTMENT_DESC,
  351. MANAGEMENT_NO,
  352. MANAGEMENT_NAME,
  353. TAR_STORAGE_NO,
  354. TAR_LOCATION_NO,
  355. TAR_DEPARTMENT_CODE,
  356. TAR_DEPARTMENT_DESC,
  357. TAR_MANAGEMENT_NO,
  358. TAR_MANAGEMENT_NAME,
  359. TAR_REC_FLAG,
  360. BAL_YEAR_MONTH,
  361. OUTSTOCK_TIME,
  362. OUT_BC,
  363. OUT_BZ,
  364. STORAGE_ATTR,
  365. STORAGE_ATTR_NAME,
  366. STORAGE_TYPE_NO,
  367. STORAGE_TYPE_NAME,
  368. MEMO,
  369. CREATE_NAME,
  370. CREATE_TIME,
  371. GROUD_NO)
  372. VALUES
  373. (V_OUTSTOCK_SQE,
  374. '',
  375. V_OUTSTOCK_DOC,
  376. ?,
  377. V_BASENAME,
  378. '',
  379. MYROW.MAT_NO,
  380. MYROW.MAT_SQE_NO,
  381. MYROW.PRODUCT_FLAG,
  382. MYROW.MAT_STATUS,
  383. MYROW.STOVE_NO,
  384. MYROW.FLAG_STOVE_NO,
  385. MYROW.LOT_NO,
  386. MYROW.JUDGE_STOVE_NO,
  387. MYROW.BATCH_NO,
  388. MYROW.CAST_NO,
  389. MYROW.CCMID,
  390. MYROW.SAMPLE_FLAG,
  391. MYROW.CUTTING_FLAG,
  392. MYROW.CUTTING_NUM,
  393. MYROW.MATERIAL_NO,
  394. MYROW.MATERIAL_NAME,
  395. MYROW.PRODUCCODE,
  396. MYROW.PRODUCNAME,
  397. MYROW.JUDGE_GRADECODE,
  398. MYROW.JUDGE_GRADENAME,
  399. MYROW.JUDGE_STD_CODE,
  400. MYROW.JUDGE_STD_NAME,
  401. MYROW.ACT_DIMATER,
  402. MYROW.ACT_HEIGHT,
  403. MYROW.ACT_LEN,
  404. MYROW.ACT_LEN_MIN,
  405. MYROW.ACT_LEN_MAX,
  406. MYROW.ACT_FIX_NUM,
  407. MYROW.ACT_FIX_LEN,
  408. MYROW.ACT_COUNT,
  409. MYROW.ACT_WEIGHT,
  410. MYROW.ACT_THEORY_WEIGHT,
  411. MYROW.PLINE_CODE,
  412. MYROW.PLINE_NAME,
  413. MYROW.PRO_ORDER_NO,
  414. MYROW.PRO_ORDER_ID,
  415. MYROW.BELONG_CODE,
  416. MYROW.BELONG_NAME,
  417. MYROW.STORAGE_NO,
  418. MYROW.LOCATION_NO,
  419. ?,
  420. ?,
  421. ?,
  422. ?,
  423. '',
  424. '',
  425. '',
  426. '',
  427. '',
  428. '',
  429. '0',
  430. V_BATHYEAR,
  431. V_TIME,
  432. '1',
  433. '1',
  434. MYROW.STORAGE_ATTR,
  435. MYROW.STORAGE_ATTR_NAME,
  436. MYROW.STORAGE_TYPE_NO,
  437. MYROW.STORAGE_TYPE_NAME,
  438. MYROW.MEMO,
  439. ?,
  440. V_TIME,
  441. MYROW.GROUD_NO);
  442. DELETE YDM_GP_BUTTRESS T WHERE T.MAT_NO = MYROW.MAT_NO;
  443. V_OCOUNT := V_OCOUNT + 1;
  444. v_index := v_index + 1;
  445. END LOOP;
  446. END;
  447. ]]>
  448. </query>
  449. </queryMap>