FrmStuffInventoryOut.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  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.MATERIAL_NO,
  15. T.MATERIAL_NAME,
  16. T.GRADECODE,
  17. T.GRADENAME,
  18. T.STD_CODE,
  19. T.STD_NAME,
  20. T.PLINE_CODE,
  21. T.PLINE_NAME,
  22. T.DIMATER,
  23. T.ACT_LEN,
  24. T.FIX_NUM,
  25. T.FIX_LEN,
  26. sum(T.ACT_COUNT)ACT_COUNT,
  27. sum(T.ACT_WEIGHT)ACT_WEIGHT,
  28. sum(T.ACT_COUNT)Out_Act_Count,
  29. T.BELONG_CODE,
  30. T.BELONG_NAME,
  31. T.QCM_STAUS,
  32. S.STORAGE_NO,
  33. (SELECT C.STORAGE_NAME FROM YDM_BS_STORAGE C WHERE C.STORAGE_NO = S.STORAGE_NO)STORAGE_NAME,
  34. S.LOCATION_NO,
  35. S.LOCATION_NAME,
  36. S.LARY_NO,
  37. T.FURNACENO,
  38. T.SEQUENCENO,
  39. T.PRO_PLAN_ID,
  40. T.GX_PLAN_NO,
  41. DECODE(T.IS_DEALER,'0','自用','1','双经销','2','来料加工','3','定销订购') IS_DEALER
  42. FROM MAT_GP_M T,YDM_GP_BUTTRESS S
  43. WHERE T.MAT_NO = S.MAT_NO
  44. AND T.MAT_STATUS<>'80150302'
  45. AND T.IS_SETFOOT = '0'
  46. ]]>
  47. </query>
  48. <query id = "FrmStuffInventoryOut.doQueryStock" desc = "查询盘亏实绩">
  49. <![CDATA[
  50. SELECT
  51. BELONG_NAME,
  52. TO_CHAR(STOCKTAKING_TIME, 'YYYY-MM-DD HH24:MI:SS') STOCKTAKING_TIME,
  53. STORAGE_NO,
  54. BAL_YEAR_MONTH,
  55. MEMO,
  56. CREATE_NAME,
  57. STOCKTAKING_DOC,
  58. STOCKTAKING_RSN_NAME,
  59. STOVE_NO,
  60. FLAG_STOVE_NO,
  61. JUDGE_STOVE_NO,
  62. GROUD_NO,
  63. MATERIAL_NAME,
  64. GRADENAME,
  65. STD_NAME,
  66. DIMATER,
  67. ACT_LEN,
  68. FIX_NUM,
  69. FIX_LEN,
  70. SUM(ACT_COUNT)ACT_COUNT,
  71. SUM(ACT_WEIGHT)ACT_WEIGHT,
  72. PLINE_NAME
  73. FROM YDM_GP_STOCKTAKINGLIST
  74. WHERE STOCKTAKING_TYPE_CODE = '800602'
  75. ]]>
  76. </query>
  77. <query id = "FrmStuffInventoryOut.selectMatStaus" desc= "查询材料状态">
  78. SELECT SUM(T.ACT_COUNT)ACOUNT
  79. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  80. WHERE T.MAT_NO = S.MAT_NO
  81. AND NVL(T.FURNACENO,'/') = NVL('#FURNACENO#','/')
  82. AND NVL(T.SEQUENCENO,'/') = NVL('#SEQUENCENO#','/')
  83. AND T.STOVE_NO = '#STOVE_NO#'
  84. AND T.JUDGE_STOVE_NO ='#JUDGE_STOVE_NO#'
  85. AND T.FIX_NUM = '#FIX_NUM#'
  86. AND T.PRODUCT_FLAG = '#PRODUCT_FLAG#'
  87. AND T.MAT_STATUS = '#MAT_STATUS#'
  88. AND T.QCM_STAUS = '#QCM_STAUS#'
  89. AND S.STORAGE_NO = '#STORAGE_NO#'
  90. </query>
  91. <query id = "FrmStuffInventoryOut.selectMatWgt" desc= "查询盘亏重量">
  92. <![CDATA[
  93. SELECT SUM(T.ACT_WEIGHT)WEIGHT,SUM(T.ACT_LEN)LEN
  94. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  95. WHERE T.MAT_NO = S.MAT_NO
  96. AND T.STOVE_NO = ?
  97. AND T.JUDGE_STOVE_NO =?
  98. AND T.BATCH_NO=?
  99. AND T.GROUD_NO = ?
  100. AND T.PRODUCT_FLAG = ?
  101. AND T.MAT_STATUS = ?
  102. AND S.STORAGE_NO = ?
  103. AND ROWNUM < ?
  104. ORDER BY T.MAT_NO DESC
  105. ]]>
  106. </query>
  107. <query id = "FrmStuffInventoryOut.doAddOut" desc = "盘亏">
  108. <![CDATA[
  109. DECLARE
  110. V_OUTSTOCK_DOC YDM_GP_OUTLIST.OUTSTOCK_DOC%TYPE := NULL; --出库单号
  111. V_OUTSTOCK_SQE YDM_GP_OUTLIST.OUTSTOCK_SQE%TYPE := NULL; --出库流水
  112. V_STOCKTAKING_DOC YDM_GP_STOCKTAKINGLIST.STOCKTAKING_DOC%TYPE := NULL; --盘亏单号
  113. V_STOCKTAKING_SQE YDM_GP_STOCKTAKINGLIST.STOCKTAKING_SQE%TYPE := NULL; --盘亏流水
  114. V_MEMO COM_BASE_INFO.MEMO%TYPE := NULL;
  115. V_BASENAME COM_BASE_INFO.BASENAME%TYPE := NULL;
  116. V_TKMEMO COM_BASE_INFO.MEMO%TYPE := NULL;
  117. V_TKBASENAME COM_BASE_INFO.BASENAME%TYPE := NULL;
  118. V_OCOUNT NUMBER := 1;
  119. V_TKOUNT NUMBER := 1;
  120. V_TIME YDM_GP_OUTLIST.CREATE_TIME%TYPE := SYSDATE;
  121. V_BATHYEAR MAT_ZC_M.BAL_YEAR_MONTH%TYPE := TO_CHAR(SYSDATE, 'YYYYMM');
  122. V_INDEX NUMBER := 0;
  123. BEGIN
  124. --生成盘亏单号
  125. SELECT MEMO, BASENAME
  126. INTO V_TKMEMO, V_TKBASENAME
  127. FROM COM_BASE_INFO
  128. WHERE BASECODE = '#STOCKTAKING_TYPE_CODE#';
  129. SELECT V_TKMEMO || TO_CHAR(SYSDATE, 'YYMMDD') ||
  130. LPAD(NVL(MAX(SUBSTR(STOCKTAKING_DOC, 9)), 0) + 1, 5, 0) STOCKTAKING_DOC
  131. INTO V_STOCKTAKING_DOC
  132. FROM YDM_GP_STOCKTAKINGLIST T
  133. WHERE T.STOCKTAKING_TYPE_CODE = '#STOCKTAKING_TYPE_CODE#'
  134. AND T.STOCKTAKING_DOC LIKE V_TKMEMO||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
  135. --生成出库单号
  136. SELECT MEMO, BASENAME
  137. INTO V_MEMO, V_BASENAME
  138. FROM COM_BASE_INFO
  139. WHERE BASECODE = '#OUTSTOCK_TYPE_CODE#';
  140. SELECT V_MEMO || TO_CHAR(SYSDATE, 'YYMMDD') ||
  141. LPAD(NVL(MAX(SUBSTR(OUTSTOCK_DOC, 9)), 0) + 1, 5, 0) OUTSTOCK_DOC
  142. INTO V_OUTSTOCK_DOC
  143. FROM YDM_GP_OUTLIST T
  144. WHERE T.OUTSTOCK_TYPE_CODE = '#OUTSTOCK_TYPE_CODE#'
  145. AND T.OUTSTOCK_DOC LIKE V_MEMO||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
  146. FOR MYROW IN (SELECT T.*,
  147. S.STORAGE_NO,
  148. S.LOCATION_NO,
  149. S.STORAGE_ATTR,
  150. S.STORAGE_ATTR_NAME,
  151. S.STORAGE_TYPE_NO,
  152. S.STORAGE_TYPE_NAME
  153. FROM MAT_GP_M T, YDM_GP_BUTTRESS S
  154. WHERE T.MAT_NO = S.MAT_NO
  155. AND NVL(T.FURNACENO,'/') = NVL('#FURNACENO#','/')
  156. AND NVL(T.SEQUENCENO,'/') = NVL('#SEQUENCENO#','/')
  157. AND T.STOVE_NO = '#STOVE_NO#'
  158. AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  159. AND T.FIX_NUM = '#FIX_NUM#'
  160. AND T.ACT_LEN = '#ACT_LEN#'
  161. AND T.PRODUCT_FLAG = '#PRODUCT_FLAG#'
  162. AND T.MAT_STATUS = '#MAT_STATUS#'
  163. AND S.STORAGE_NO = '#STORAGE_NO#'
  164. AND NVL(S.LOCATION_NO,'/') = NVL('#LOCATION_NO#','/')
  165. AND T.IS_SETFOOT = '0'
  166. AND ROWNUM <= #ACT_COUNT#
  167. ORDER BY T.MAT_NO DESC) LOOP
  168. V_STOCKTAKING_SQE := V_STOCKTAKING_DOC || LPAD(V_OCOUNT, 4, 0);
  169. INSERT INTO YDM_GP_STOCKTAKINGLIST
  170. (BELONG_NAME,
  171. STOCKTAKING_TIME,
  172. STORAGE_NO,
  173. LOCATION_NO,
  174. STORAGE_ATTR,
  175. STORAGE_ATTR_NAME,
  176. STORAGE_TYPE_NO,
  177. STORAGE_TYPE_NAME,
  178. DEPARTMENT_CODE,
  179. DEPARTMENT_DESC,
  180. MANAGEMENT_NO,
  181. MANAGEMENT_NAME,
  182. BAL_YEAR_MONTH,
  183. MEMO,
  184. CREATE_NAME,
  185. CREATE_TIME,
  186. STOCKTAKING_SQE,
  187. STOCKTAKING_DOC,
  188. STOCKTAKING_TYPE_CODE,
  189. STOCKTAKING_TYPE_NAME,
  190. STOCKTAKING_RSN_CODE,
  191. STOCKTAKING_RSN_NAME,
  192. PRODUCT_FLAG,
  193. MAT_STATUS,
  194. STOVE_NO,
  195. FLAG_STOVE_NO,
  196. JUDGE_STOVE_NO,
  197. GROUD_NO,
  198. MATERIAL_NO,
  199. MATERIAL_NAME,
  200. GRADECODE,
  201. GRADENAME,
  202. STD_CODE,
  203. STD_NAME,
  204. DIMATER,
  205. HEIGHT,
  206. ACT_LEN,
  207. FIX_NUM,
  208. FIX_LEN,
  209. ACT_COUNT,
  210. ACT_WEIGHT,
  211. PLINE_CODE,
  212. PLINE_NAME,
  213. BELONG_CODE,
  214. FURNACENO,
  215. SEQUENCENO,
  216. PRO_PLAN_ID,
  217. GX_PLAN_NO,
  218. GPTYPE,
  219. CIC,
  220. PIC,
  221. SIC,
  222. DIC,
  223. MAT_NO)
  224. VALUES
  225. (MYROW.BELONG_NAME,
  226. V_TIME,
  227. MYROW.STORAGE_NO,
  228. MYROW.LOCATION_NO,
  229. MYROW.STORAGE_ATTR,
  230. MYROW.STORAGE_ATTR_NAME,
  231. MYROW.STORAGE_TYPE_NO,
  232. MYROW.STORAGE_TYPE_NAME,
  233. '#DEPARTMENT_CODE#',
  234. '#DEPARTMENT_DESC#',
  235. '#MANAGEMENT_NO#',
  236. '#MANAGEMENT_NAME#',
  237. '#BAL_YEAR_MONTH#',
  238. MYROW.MEMO,
  239. '#CREATE_NAME#',
  240. V_TIME,
  241. V_STOCKTAKING_SQE,
  242. V_STOCKTAKING_DOC,
  243. '#STOCKTAKING_TYPE_CODE#',
  244. V_TKBASENAME,
  245. '',
  246. '#STOCKTAKING_RSN_NAME#',
  247. MYROW.PRODUCT_FLAG,
  248. MYROW.MAT_STATUS,
  249. MYROW.STOVE_NO,
  250. MYROW.FLAG_STOVE_NO,
  251. MYROW.JUDGE_STOVE_NO,
  252. MYROW.GROUD_NO,
  253. MYROW.MATERIAL_NO,
  254. MYROW.MATERIAL_NAME,
  255. MYROW.GRADECODE,
  256. MYROW.GRADENAME,
  257. MYROW.STD_CODE,
  258. MYROW.STD_NAME,
  259. MYROW.DIMATER,
  260. MYROW.HEIGHT,
  261. MYROW.ACT_LEN,
  262. MYROW.FIX_NUM,
  263. MYROW.FIX_LEN,
  264. MYROW.ACT_COUNT,
  265. MYROW.ACT_WEIGHT,
  266. MYROW.PLINE_CODE,
  267. MYROW.PLINE_NAME,
  268. MYROW.BELONG_CODE,
  269. MYROW.FURNACENO,
  270. MYROW.SEQUENCENO,
  271. MYROW.PRO_PLAN_ID,
  272. MYROW.GX_PLAN_NO,
  273. MYROW.GPTYPE,
  274. MYROW.CIC,
  275. MYROW.PIC,
  276. MYROW.SIC,
  277. MYROW.DIC,
  278. MYROW.MAT_NO);
  279. V_OUTSTOCK_SQE := V_OUTSTOCK_DOC || LPAD(V_OCOUNT, 4, 0);
  280. INSERT INTO YDM_GP_OUTLIST
  281. (OUTSTOCK_SQE,
  282. OUTSTOCK_PLAN_NO,
  283. OUTSTOCK_DOC,
  284. OUTSTOCK_TYPE_CODE,
  285. OUTSTOCK_TYPE_NAME,
  286. MAT_NO,
  287. PRODUCT_FLAG,
  288. MAT_STATUS,
  289. STOVE_NO,
  290. FLAG_STOVE_NO,
  291. JUDGE_STOVE_NO,
  292. MATERIAL_NO,
  293. MATERIAL_NAME,
  294. GRADECODE,
  295. GRADENAME,
  296. STD_CODE,
  297. STD_NAME,
  298. DIMATER,
  299. HEIGHT,
  300. ACT_LEN,
  301. FIX_NUM,
  302. FIX_LEN,
  303. ACT_COUNT,
  304. ACT_WEIGHT,
  305. ACT_THEORY_WEIGHT,
  306. PLINE_CODE,
  307. PLINE_NAME,
  308. BELONG_CODE,
  309. BELONG_NAME,
  310. STORAGE_NO,
  311. LOCATION_NO,
  312. DEPARTMENT_CODE,
  313. DEPARTMENT_DESC,
  314. MANAGEMENT_NO,
  315. MANAGEMENT_NAME,
  316. BAL_YEAR_MONTH,
  317. OUTSTOCK_TIME,
  318. STORAGE_ATTR,
  319. STORAGE_ATTR_NAME,
  320. STORAGE_TYPE_NO,
  321. STORAGE_TYPE_NAME,
  322. MEMO,
  323. CREATE_NAME,
  324. CREATE_TIME,
  325. GROUD_NO,
  326. FURNACENO,
  327. SEQUENCENO,
  328. PRO_PLAN_ID,
  329. GX_PLAN_NO,
  330. GPTYPE,
  331. CIC,
  332. PIC,
  333. SIC,
  334. DIC,
  335. SUPPLY_UNIT_CODE,
  336. SUPPLY_UNIT,
  337. SOURE_CODE,
  338. SOURE_NAME,
  339. IS_DEALER,
  340. BACK_FLAG
  341. )
  342. VALUES
  343. (V_OUTSTOCK_SQE,
  344. '',
  345. V_OUTSTOCK_DOC,
  346. '#OUTSTOCK_TYPE_CODE#',
  347. V_BASENAME,
  348. MYROW.MAT_NO,
  349. MYROW.PRODUCT_FLAG,
  350. MYROW.MAT_STATUS,
  351. MYROW.STOVE_NO,
  352. MYROW.FLAG_STOVE_NO,
  353. MYROW.JUDGE_STOVE_NO,
  354. MYROW.MATERIAL_NO,
  355. MYROW.MATERIAL_NAME,
  356. MYROW.GRADECODE,
  357. MYROW.GRADENAME,
  358. MYROW.STD_CODE,
  359. MYROW.STD_NAME,
  360. MYROW.DIMATER,
  361. MYROW.HEIGHT,
  362. MYROW.ACT_LEN,
  363. MYROW.FIX_NUM,
  364. MYROW.FIX_LEN,
  365. MYROW.ACT_COUNT,
  366. MYROW.ACT_WEIGHT,
  367. MYROW.ACT_THEORY_WEIGHT,
  368. MYROW.PLINE_CODE,
  369. MYROW.PLINE_NAME,
  370. MYROW.BELONG_CODE,
  371. MYROW.BELONG_NAME,
  372. MYROW.STORAGE_NO,
  373. MYROW.LOCATION_NO,
  374. '#DEPARTMENT_CODE#',
  375. '#DEPARTMENT_DESC#',
  376. '#MANAGEMENT_NO#',
  377. '#MANAGEMENT_NAME#',
  378. '#BAL_YEAR_MONTH#',
  379. V_TIME,
  380. MYROW.STORAGE_ATTR,
  381. MYROW.STORAGE_ATTR_NAME,
  382. MYROW.STORAGE_TYPE_NO,
  383. MYROW.STORAGE_TYPE_NAME,
  384. MYROW.MEMO,
  385. '#CREATE_NAME#',
  386. V_TIME,
  387. MYROW.GROUD_NO,
  388. MYROW.FURNACENO,
  389. MYROW.SEQUENCENO,
  390. MYROW.PRO_PLAN_ID,
  391. MYROW.GX_PLAN_NO,
  392. MYROW.GPTYPE,
  393. MYROW.CIC,
  394. MYROW.PIC,
  395. MYROW.SIC,
  396. MYROW.DIC,
  397. MYROW.SUPPLY_UNIT_CODE,
  398. MYROW.SUPPLY_UNIT,
  399. MYROW.SOURE_CODE,
  400. MYROW.SOURE_NAME,
  401. MYROW.IS_DEALER,
  402. MYROW.BACK_FLAG);
  403. DELETE YDM_GP_BUTTRESS T WHERE T.MAT_NO = MYROW.MAT_NO;
  404. DELETE MAT_GP_M T WHERE T.MAT_NO = MYROW.MAT_NO;
  405. V_OCOUNT := V_OCOUNT + 1;
  406. END LOOP;
  407. END;
  408. ]]>
  409. </query>
  410. </queryMap>