dc5090d2967473834189ea0446e79dc3473470ae.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package UIM;
  2. import java.sql.PreparedStatement;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import CoreFS.SA01.CoreIComponent;
  8. import CoreFS.SA06.CoreReturnObject;
  9. /**
  10. * 冷轧成品库钢卷出入库记录查询
  11. * @author siy
  12. * @date 2010-08-13
  13. */
  14. public class UIM010210 extends CoreIComponent {
  15. /**
  16. * 查询钢卷出入库记录
  17. * @param queryType 查询类型 0 入库 1出库
  18. * @param list 参数集
  19. * @return CoreReturnObject
  20. * @throws SQLException
  21. */
  22. public CoreReturnObject queryYardList(Integer queryType,ArrayList list) throws SQLException
  23. {
  24. CoreReturnObject cro = new CoreReturnObject();
  25. String []queryParams = (String[])list.get(0);
  26. String startTime = queryParams[0];//开始时间
  27. String endTime = queryParams[1];//结束时间
  28. String specStlGrd = queryParams[2];//牌号
  29. String coilWthMin = queryParams[3];//宽度最小值
  30. String coilWthMax = queryParams[4];//宽度最大值
  31. String coilThkMin = queryParams[5];//厚度最小值
  32. String coilThkMax = queryParams[6];//厚度最大值
  33. String curLoadLoc = queryParams[7];//垛位
  34. String coilNo = queryParams[8];//钢卷号
  35. String shift = queryParams[9];//班次
  36. String group = queryParams[10];//班组
  37. String regId = queryParams[11];//作业人
  38. String custCd = queryParams[12];//客户编号
  39. String ordNo = queryParams[13];//订单号
  40. String ordSeq = queryParams[14];//合同号
  41. String ordFl = queryParams[15];//订单区分
  42. String prodnmCd = queryParams[16];//产品类型
  43. String stockNo = queryParams[17];//库存
  44. String deldatefr = queryParams[18];//产品类型
  45. String deldateto = queryParams[19];//库存
  46. String sql = "";
  47. //入库记录
  48. if(0 == queryType.intValue()){
  49. sql = "SELECT LX.*,C_PKG_UIM.GET_STDDATESTR(A.YARD_ENTRY_DTIME) YARD_ENTRY_DTIME," +
  50. "XB_PACKAGE.GF_COMNNAME_FIND('A01004' ,A.PRODNM_CD ) PRODNM_CD ," +
  51. "C_PKG_UIM.GET_STDTIMESTR(A.YARD_ENTRY_USE_TIME) CZSJ " +
  52. ",DECODE(A.YARD_ENTRY_SHIFT,'0','常白班','1','早班','2','中班','3','晚班') SHIFT " +
  53. ",DECODE(A.YARD_ENTRY_GROUP,'0','常白班','1','甲班','2','乙班','3','丙班','4','丁班') WKGROUP ," +
  54. "(SELECT USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.YARD_ENTRY_REG) CZR ,SUBSTR(A.OLD_SAMPL_NO,1,9)ZPH ,A.OLD_SAMPL_NO ," +
  55. "A.SPEC_STL_GRD ,TO_CHAR(A.INSTR_COIL_THK,'FM990.99999')||'*'||A.INSTR_COIL_WTH GUIGE ,L.YCSCCZYJ,L.YCJSCZYJ," +
  56. "TO_CHAR( A.COIL_THK,'FM990.99999')||'*'||A.COIL_WTH T_W ,A.ACT_WGT ,A.CUR_LOAD_LOC ," +
  57. "decode(A.TOT_DEC_GRD,'1','合格','2','不合格','3','外观异常','4','废品') TOT_DEC_GRD ," +
  58. "decode(A.INGR_DEC_GRD,'0','综合判定取消','1','合格','2','不合格') INGR_DEC_GRD ," +
  59. "decode(A.MATLQLTY_DEC_GRD,'0','无性能要','1','合格','2','不合格') MATLQLTY_DEC_GRD ," +
  60. "decode(A.SIZE_DEC_RST,'1','合格','2','订单外合格','3','不合格','4','废品') SIZE_DEC_RST ," +
  61. "decode(A.EXTSHAPE_DEC_GRD,'1','合格','2','订单外合格','3','次品','4','废品') EXTSHAPE_DEC_GRD ," +
  62. "DECODE(A.WGT_DEC_RST,'1','合格','2','不合格') WGT_DEC_RST ,A.ORD_NO ,a.ORD_SEQ ," +
  63. "(SELECT T.SM_CFNM FROM TBZ00_COMMCD T WHERE T.LG_CD = 'A01012' AND T.SM_CD = C.DLIV_TP) DLIV_TP ," +
  64. "(SELECT T.CUST_NM FROM TBZ00_CUSTOMER T WHERE T.CUST_CD = D.ORDCUST_CD) ORDCUST_CD ," +
  65. "SUBSTR(B.SLAB_NO,1,10) CHARGE_NO ,C.ORD_DEVLMT_DATE,C_PKG_UIM.GET_STDDATESTR(A.TRNF_DTIME) TRNF_DTIME, "+
  66. "DECODE(A.ORD_FL,'1','订单材','2','余材') ORD_FL "+
  67. ",DECODE(A.IN_YARD_KIND,'1','连退下线','2','重卷下线','3','连退吊销','4','重卷吊销','5','盘入连退后库','6','盘入重卷前库','7','盘入重卷后库') OP_TYPE"+
  68. ",A.DLIV_DIRNO DLIV_DIRNO "+
  69. ",E.H_COIL_NO1 H_COIL_NO"+
  70. " FROM C_TBC02_COIL_COMM A ," +
  71. "TBG02_SLAB_COMM B ,TBA01_ORD_LINE C ,TBA01_ORD_COMM D ,C_TBL02_COIL_COMM E ,LZ_YCCZYJ L ,(SELECT t2.SMP_NO, "+
  72. "MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'YS000', T2.QLTY_VAL_WK, NULL)) LC_YSREL "+ //--屈服强度REL
  73. ",MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'YS0.2', T2.QLTY_VAL_WK, NULL)) LC_YSRP "+//--屈服强度Rp0.2
  74. ",MAX(DECODE(SUBSTR(T2.QLTY_CD , 1,2) , 'TE' , T2.QLTY_VAL_WK , NULL)) LC_TE "+// --抗拉强度
  75. ",MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'EL050', T2.QLTY_VAL_WK, NULL)) LC_EL50 "+//--伸长率A50
  76. ", MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'EL080', T2.QLTY_VAL_WK, NULL)) LC_EL80 "+//--伸长率A80
  77. " from TBB02_WORK_QLTY T2, TBB01_SEQ_QLTY T4 WHERE T2.QLTY_CD = T4.QLTY_CD GROUP BY t2.SMP_NO) lx WHERE '1' = '1' " +
  78. "AND A.SLAB_NO = B.SLAB_NO(+) AND A.SMP_NO=LX.SMP_NO(+) AND A.ORD_NO = C.ORD_NO(+) AND" +
  79. " A.ORD_SEQ = C.ORD_SEQ(+) AND A.ORD_NO = D.ORD_NO(+) AND" +
  80. " SUBSTR(A.OLD_SAMPL_NO,1,12)=E.OLD_SAMPL_NO(+) AND A.OLD_SAMPL_NO = L.COIL_NO(+) AND "+
  81. " (SUBSTR(A.YARD_ENTRY_DTIME,1,8) >= ?) AND" +
  82. " (SUBSTR(A.YARD_ENTRY_DTIME,1,8) <= ?) " +
  83. "AND A.SPEC_STL_GRD LIKE ? || '%' " +
  84. "AND A.COIL_WTH >= NVL(?, '00000') "+
  85. "AND A.COIL_WTH <= NVL(?, '99999') "+
  86. "AND A.COIL_THK >= NVL(?, '000') "+
  87. "AND A.COIL_THK <= NVL(?, '999') "+
  88. "AND (A.CUR_LOAD_LOC LIKE ? || '%' OR A.CUR_LOAD_LOC IS NULL) " +
  89. "AND A.OLD_SAMPL_NO LIKE '%' || ? || '%' " +
  90. "AND A.YARD_ENTRY_SHIFT || '&' LIKE ? || '%' " +
  91. "AND A.YARD_ENTRY_GROUP || '&' LIKE ? || '%' " +
  92. " AND (SELECT USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.YARD_ENTRY_REG) || '&' LIKE ? || '%'" +
  93. "AND D.ORDCUST_CD || '&' LIKE ? || '%' " +
  94. " AND A.ORD_NO || '&' LIKE ? || '%' " +
  95. "AND A.ORD_SEQ || '&' LIKE ? || '%' " +
  96. "AND A.ORD_FL || '&' LIKE ? || '%' " +
  97. "AND A.PRODNM_CD || '&' LIKE ? || '%' " +
  98. //"AND A.CUR_LOAD_LOC||'&' LIKE ?||'%'"+
  99. (queryParams[17].equals("3") ? "AND (A.CUR_LOAD_LOC||'&' LIKE '3%' OR A.CUR_LOAD_LOC||'&' LIKE '4%') " : queryParams[17].equals("5") ? "AND A.CUR_LOAD_LOC||'&' LIKE '5%' " : " ") +
  100. "AND (NVL(SUBSTR(C.ORD_DEVLMT_DATE, 1, 8),(SUBSTR(A.YARD_ENTRY_DTIME, 1, 8))) >= NVL(?,'0')) AND (NVL(SUBSTR(C.ORD_DEVLMT_DATE, 1, 8),(SUBSTR(A.YARD_ENTRY_DTIME, 1, 8))) <= NVL(?,'99999999')) " +
  101. "order by a.YARD_ENTRY_DTIME,a.spec_stl_grd, GUIGE";//20121225
  102. //"order by a.YARD_ENTRY_DTIME,a.spec_stl_grd,a.instr_coil_thk,a.instr_coil_wth";
  103. }
  104. else{//出库记录
  105. String condition = "";
  106. if(stockNo.equals("3")){
  107. condition = "AND A.OUT_YARD_KIND IN('1','2','4','5','6') ";
  108. }/*else if(stockNo.equals("4")){
  109. condition = "AND A.OUT_YARD_KIND IN('1','6')";
  110. }*/else if(stockNo.equals("5")){
  111. condition = "AND A.OUT_YARD_KIND IN('3','7') ";
  112. }
  113. sql = "SELECT lx.*,C_PKG_UIM.GET_STDDATESTR(A.YARD_ENTRY_DTIME) YARD_ENTRY_DTIME ," +
  114. "XB_PACKAGE.GF_COMNNAME_FIND('A01004' ,A.PRODNM_CD ) PRODNM_CD ," +
  115. "C_PKG_UIM.GET_STDTIMESTR(A.TRNF_USE_TIME) CZSJ " +
  116. ",DECODE(A.TRNF_SHIFT,'0','常白班','1','早班','2','中班','3','晚班') SHIFT " +
  117. ",DECODE(A.TRNF_GROUP,'0','常白班','1','甲班','2','乙班','3','丙班','4','丁班') WKGROUP ," +
  118. "(SELECT USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.TRNF_REG) CZR ,SUBSTR(A.OLD_SAMPL_NO,1,9)ZPH ,A.OLD_SAMPL_NO ," +
  119. "A.SPEC_STL_GRD ,TO_CHAR(A.INSTR_COIL_THK,'FM990.99999')||'*'||A.INSTR_COIL_WTH GUIGE ,L.YCSCCZYJ,L.YCJSCZYJ, " +
  120. "TO_CHAR(A.COIL_THK,'FM990.99999')||'*'||A.COIL_WTH T_W ,A.ACT_WGT ,A.CUR_LOAD_LOC ," +
  121. "decode(A.TOT_DEC_GRD,'1','合格','2','不合格','3','外观异常','4','废品') TOT_DEC_GRD ," +
  122. "decode(A.INGR_DEC_GRD,'1','合格','2','不合格') INGR_DEC_GRD ," +
  123. "decode(A.MATLQLTY_DEC_GRD,'1','合格','2','不合格') MATLQLTY_DEC_GRD ," +
  124. "decode(A.SIZE_DEC_RST,'1','合格','2','不合格') SIZE_DEC_RST ," +
  125. "decode(A.EXTSHAPE_DEC_GRD,'1','合格','2','订单外合格','3','次品','4','废品') EXTSHAPE_DEC_GRD ," +
  126. "DECODE(A.WGT_DEC_RST,'1','合格','2','不合格') WGT_DEC_RST ," +
  127. "A.ORD_NO ,a.ORD_SEQ ,(SELECT T.SM_CFNM FROM TBZ00_COMMCD T " +
  128. "WHERE T.LG_CD = 'A01012' AND T.SM_CD = C.DLIV_TP) DLIV_TP ," +
  129. "(SELECT T.CUST_NM FROM TBZ00_CUSTOMER T WHERE T.CUST_CD = D.ORDCUST_CD) ORDCUST_CD ," +
  130. "SUBSTR(B.SLAB_NO,1,10) CHARGE_NO ,C.ORD_DEVLMT_DATE,C_PKG_UIM.GET_STDDATESTR(A.TRNF_DTIME) TRNF_DTIME, " +
  131. "DECODE(A.ORD_FL,'1','订单材','2','余材') ORD_FL "+
  132. ",DECODE(A.OUT_YARD_KIND,'1','重卷上料','2','连退卷发运','3','重卷发运','4','连退返修','5','盘出连退后库','6','盘出重卷前库','7','盘出重卷后库') OP_TYPE "+
  133. ",A.DLIV_DIRNO DLIV_DIRNO "+
  134. ",E.H_COIL_NO1 H_COIL_NO "+
  135. "FROM C_TBC02_COIL_COMM A ,TBG02_SLAB_COMM B ,TBA01_ORD_LINE C ,TBA01_ORD_COMM D ,C_TBL02_COIL_COMM E ,LZ_YCCZYJ L,(SELECT t2.SMP_NO, "+
  136. "MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'YS000', T2.QLTY_VAL_WK, NULL)) LC_YSREL "+ //--屈服强度REL
  137. ",MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'YS0.2', T2.QLTY_VAL_WK, NULL)) LC_YSRP "+//--屈服强度Rp0.2
  138. ",MAX(DECODE(SUBSTR(T2.QLTY_CD , 1,2) , 'TE' , T2.QLTY_VAL_WK , NULL)) LC_TE "+// --抗拉强度
  139. ",MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'EL050', T2.QLTY_VAL_WK, NULL)) LC_EL50 "+//--伸长率A50
  140. ", MAX(DECODE(SUBSTR(T4.QLTY_CD, 1, 2) || T4.MS_QLTY_RP, 'EL080', T2.QLTY_VAL_WK, NULL)) LC_EL80 "+//--伸长率A80
  141. " from TBB02_WORK_QLTY T2, TBB01_SEQ_QLTY T4 WHERE T2.QLTY_CD = T4.QLTY_CD GROUP BY t2.SMP_NO) lx " +
  142. "WHERE '1' = '1' AND A.SLAB_NO = B.SLAB_NO(+) AND A.SMP_NO=LX.SMP_NO(+) AND A.ORD_NO = C.ORD_NO(+) " +
  143. "AND SUBSTR(A.OLD_SAMPL_NO,1,12)=E.OLD_SAMPL_NO(+) AND A.OLD_SAMPL_NO = L.COIL_NO(+)"+
  144. "AND A.ORD_SEQ = C.ORD_SEQ(+) AND A.ORD_NO = D.ORD_NO(+) and a.COIL_STAT = '3' AND (SUBSTR(A.TRNF_DTIME,1,8) >= ?) " +
  145. "AND (SUBSTR(A.TRNF_DTIME,1,8) <= ?) " +
  146. "AND A.SPEC_STL_GRD LIKE ? || '%' " +
  147. "AND A.COIL_WTH >= NVL(?, '00000') "+
  148. "AND A.COIL_WTH <= NVL(?, '99999') "+
  149. "AND A.COIL_THK >= NVL(?, '000') "+
  150. "AND A.COIL_THK <= NVL(?, '999') "+
  151. "AND (A.CUR_LOAD_LOC LIKE ? || '%' OR A.CUR_LOAD_LOC IS NULL) " +
  152. "AND A.OLD_SAMPL_NO LIKE '%' || ? || '%' " +
  153. "AND A.TRNF_SHIFT || '&' LIKE ? || '%' " +
  154. "AND A.TRNF_GROUP || '&' LIKE ? || '%' " +
  155. " AND (SELECT USERNAME FROM CORE_APP_USER U WHERE U.USERID = A.YARD_ENTRY_REG) || '&' LIKE ? || '%'" +
  156. "AND D.ORDCUST_CD || '&' LIKE ? || '%' " +
  157. " AND A.ORD_NO || '&' LIKE ? || '%' " +
  158. "AND A.ORD_SEQ || '&' LIKE ? || '%' " +
  159. "AND A.ORD_FL || '&' LIKE ? || '%' " +
  160. "AND A.PRODNM_CD || '&' LIKE ? || '%' " +
  161. condition+"AND (NVL(SUBSTR(C.ORD_DEVLMT_DATE, 1, 8),(SUBSTR(A.TRNF_DTIME, 1, 8))) >= NVL(?,'0')) AND (NVL(SUBSTR(C.ORD_DEVLMT_DATE, 1, 8),(SUBSTR(A.TRNF_DTIME, 1, 8))) <= NVL(?,'99999999')) " +
  162. "order by a.TRNF_Dtime,a.spec_stl_grd, GUIGE";//20121225
  163. //"order by a.TRNF_Dtime,a.spec_stl_grd,a.instr_coil_thk,a.instr_coil_wth";
  164. }
  165. cro = this.getDao("KgDao").ExcuteQuery(sql,new Object[]{startTime, endTime, specStlGrd, coilWthMin, coilWthMax,
  166. coilThkMin, coilThkMax, curLoadLoc, coilNo, shift, group, regId, custCd, ordNo, ordSeq,
  167. ordFl, prodnmCd,deldatefr,deldateto});
  168. return cro;
  169. }
  170. }