| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899 |
- package UIK.UIK02;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Map;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.util.List;
- import org.springframework.jdbc.support.rowset.SqlRowSet;
- import UIB.COM.XmlSqlParsersFactory;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- import CoreFS.SA06.CoreSqlType;
- /**
- * 酸轧上料管理
- *
- * @author siy
- * @date 2010-9-14
- */
- public class UIK020010 extends CoreIComponent {
- /**
- * 查询酸轧轧制计划
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryAcidRollingPlan() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIK020010_01.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- public CoreReturnObject queryAddClassInf() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIK020010_02.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- /**
- * 当前垛位上层是否存在钢卷
- *
- * @param yardAddrs
- * @return
- * @throws SQLException
- */
- public CoreReturnObject hasCoilOnYardAddr(String yardAddrs)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- int count = 0;
- if (null != yardAddrs && yardAddrs.length() > 8) {
- String clfName = yardAddrs.substring(0, 1);
- String clfCol = yardAddrs.substring(2, 4);
- String clfRow = yardAddrs.substring(6);
- String clfFl = yardAddrs.substring(4, 5);
- StringBuffer sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("select count(coil_no) count from c_tbk08_coil_yard \n");
- sqlBuffer.append(" where clf_name = '");
- sqlBuffer.append(clfName);
- sqlBuffer.append("'\n");
- sqlBuffer.append(" and clf_col = ");
- sqlBuffer.append(Integer.parseInt(clfCol, 10));
- sqlBuffer.append("\n");
- sqlBuffer.append(" and clf_fl = ");
- sqlBuffer.append(Integer.parseInt(clfFl, 10) + 1);
- sqlBuffer.append("\n");
- sqlBuffer.append(" and clf_row in (");
- sqlBuffer.append(Integer.parseInt(clfRow, 10) - 1);
- sqlBuffer.append(",");
- sqlBuffer.append(Integer.parseInt(clfRow, 10));
- sqlBuffer.append(")");
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(
- sqlBuffer.toString());
- if (rs.next()) {
- count = rs.getInt("COUNT");
- }
- //20131014系统连接异常优化
- this.getDao("KgDao").closeRs(rs);
- }
- cro.setResult(count);
- return cro;
- }
- /**
- * 酸轧上料
- *
- * @param coilNo
- * @param c_coilNo
- * @param millSeqCd
- * @param trnfReg
- * @param trnfShift
- * @param trnfGroup
- * @param trnfDTime
- * @return
- * @throws SQLException
- * @throws SQLException
- */
- public CoreReturnObject saveAcidRolling(String coilNo, String c_coilNo,
- String millSeqCd, String trnfReg, String trnfShift,
- String trnfGroup, String trnfDTime) throws SQLException// throws
- // SQLException
- {
- CoreReturnObject cro = new CoreReturnObject();
- Connection conn = null;
- PreparedStatement pSta1 = null;
- StringBuffer sqlBuffer = new StringBuffer();
- try {
- conn = this.getDao("KgDao").getConnection();
- conn.setAutoCommit(false);
- // 判断钢卷是否在轧制计划中
- String sql = "SELECT A.STATUS_CD FROM C_TBF03_SPEC_MILL A WHERE A.COIL_NO = '"
- + coilNo + "' AND A.STATUS_CD = 'A'\n";
- System.out.print(sql);
- PreparedStatement pSta = conn.prepareStatement(sql);
- ResultSet rs = pSta.executeQuery();
- if (rs.next()) {
- // 修改钢卷公共表钢卷状态,清除垛位,生成出库记录
- String befProgCd = "";
- String befProgCdTime = "";
- String befProgCdPgm = "";
- String V_ACT_WGT = "";
- String curLoadLoc = "";
- // String V_BEF_PROG_CD ="";
- String qSql = "select cur_prog_cd,cur_prog_cd_dtime,cur_prog_cd_pgm,ACT_WGT,cur_load_loc from c_tbk02_coil_comm where OLD_SAMPL_NO = '"
- + coilNo + "'\n";
- System.out.print(qSql);
- pSta1 = conn.prepareStatement(qSql);
- ResultSet rs2 = pSta1.executeQuery();
- if (rs2.next()) {
- befProgCd = rs2.getString("CUR_PROG_CD");
- befProgCdTime = rs2.getString("CUR_PROG_CD_DTIME");
- befProgCdPgm = rs2.getString("CUR_PROG_CD_PGM");
- V_ACT_WGT = rs2.getString("ACT_WGT").toString();
- curLoadLoc = rs2.getString("CUR_LOAD_LOC");
- // V_BEF_PROG_CD = rs2.getString("BEF_PROG_CD");
- }
- rs2.close();
- pSta1.close();
-
- String sqlMove = "insert into c_tbk08_coil_move T(T.ROLL_SEQ,T.CUR_LOAD_LOC_F,T.CUR_LOAD_LOC_T,T.COIL_NO,T.REG_ID,T.REG_SHIFT,T.REG_GROUP,T.REG_DTIME,T.REG_USE_ID,T.REG_USE_DTIME,T.MOVE_TYPE)"
- + "VALUES((SELECT MAX(ROLL_SEQ)+1 ROLL_SEQ FROM C_TBK08_COIL_MOVE),?,?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),'11')";
- pSta1 = conn.prepareStatement(sqlMove);
- pSta1.setString(1, curLoadLoc);
- pSta1.setString(2, "");
- pSta1.setString(3, coilNo);
- pSta1.setString(4, trnfReg);
- pSta1.setString(5, trnfShift);
- pSta1.setString(6, trnfGroup);
- pSta1.setString(7, trnfDTime);
- pSta1.setString(8, trnfReg);
- pSta1.executeUpdate();
- pSta1.close();
- sqlBuffer = new StringBuffer();
- // sqlBuffer.append("update c_tbk02_coil_comm set coil_stat =
- // '3',cur_prog_cd = 'PCC'\n");
- sqlBuffer
- .append("update c_tbk02_coil_comm set coil_stat='3', cur_prog_cd = 'PCB'\n");// 取消状态位 20121214coil_stat修改
- // modified
- // by
- // 张正
- // time:2011-01-18
- // 9:35
- sqlBuffer
- .append(" ,cur_prog_cd_dtime = to_char(sysdate,'YYYYMMDDHH24MISS')\n");
- sqlBuffer.append(" ,cur_prog_cd_pgm = 'UIK020010'\n");
- sqlBuffer.append(" ,bef_prog_cd = ?\n");
- sqlBuffer.append(" ,bef_prog_cd_dtime = ?\n");
- sqlBuffer.append(" ,bef_prog_cd_pgm = ?\n");
- sqlBuffer.append(" ,cur_load_loc = ''\n");
- sqlBuffer.append(" ,trnf_reg = ?\n");
- sqlBuffer.append(" ,trnf_shift=?\n");
- sqlBuffer.append(" ,trnf_group=?\n");
- sqlBuffer.append(" ,OUT_YARD_KIND = '1'\n");
- sqlBuffer
- .append(" ,trnf_use_time=to_char(sysdate,'YYYYMMDDHH24MISS')\n");
- sqlBuffer.append(" ,trnf_dtime=?\n");
- sqlBuffer.append(" where coil_no = ?\n");
- pSta1 = conn.prepareStatement(sqlBuffer.toString());
- pSta1.setString(1, befProgCd);
- pSta1.setString(2, befProgCdTime);
- pSta1.setString(3, befProgCdPgm);
- pSta1.setString(4, trnfReg);
- pSta1.setString(5, trnfShift);
- pSta1.setString(6, trnfGroup);
- pSta1.setString(7, trnfDTime);
- pSta1.setString(8, coilNo);
- pSta1.executeUpdate();
- pSta1.close();
- // 修改轧制计划表轧制状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append("update c_tbf03_spec_mill \n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" STATUS_CD = 'B' \n");
- sqlBuffer.append(" where \n");
- sqlBuffer.append(" coil_no = ?\n");
- sqlBuffer.append(" and STATUS_CD = 'A'\n");
- pSta1 = conn.prepareStatement(sqlBuffer.toString());
- pSta1.setString(1, coilNo);
- pSta1.executeUpdate();
- pSta1.close();
- // 清除垛位表钢卷
- String sql1 = "select clf_name,clf_col,clf_row,clf_fl from c_tbk08_coil_yard where coil_no = '"
- + coilNo + "'\n";
- System.out.print(sql1);
- pSta1 = conn.prepareStatement(sql1);
- ResultSet rs3 = pSta1.executeQuery();
- if (rs3.next()) {
- String clf_name = rs3.getString("CLF_NAME");
- String clf_col = rs3.getString("CLF_COL");
- String clf_row = rs3.getString("CLF_ROW");
- String clf_fl = rs3.getString("CLF_FL");
- sqlBuffer = new StringBuffer();
- sqlBuffer.append("update c_tbk08_coil_yard \n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" coil_no = ''\n");
- sqlBuffer.append(" where \n");
- sqlBuffer.append(" clf_name = '");
- sqlBuffer.append(clf_name);
- sqlBuffer.append("'\n");
- sqlBuffer.append("and\n");
- sqlBuffer.append(" clf_col = '");
- sqlBuffer.append(clf_col);
- sqlBuffer.append("'\n");
- sqlBuffer.append("and\n");
- sqlBuffer.append("clf_row = '");
- sqlBuffer.append(clf_row);
- sqlBuffer.append("'\n");
- sqlBuffer.append("and\n");
- sqlBuffer.append(" clf_fl = '");
- sqlBuffer.append(clf_fl);
- sqlBuffer.append("'\n");
- PreparedStatement pSta3 = conn.prepareStatement(sqlBuffer
- .toString());
- pSta3.executeUpdate();
- pSta3.close();
- }
- rs3.close();
- pSta1.close();
- // 冷轧卷信息 插入酸扎C_TBL02_COIL_COMM
- String ssql = "SELECT A.C_COIL_NO FROM C_TBF03_SPEC_MILL A WHERE A.COIL_NO ='"
- + coilNo + "' and C_COIL_NO = '" + c_coilNo + "'";
- pSta1 = conn.prepareStatement(ssql);
- ResultSet rrs1 = pSta1.executeQuery();
- if (rrs1.next()) {
- // 修改钢卷公共表钢卷状态,清除垛位,生成出库记录
- String V_ORD_NO = "";
- String V_ORD_SEQ = "";
- String V_PRODNM_CD = "";
- String V_C_SPEC_ABBSYM = "";
- String V_SPEC_STL_GRD = "";
- String V_C_ORD_USEAGE_CD = "";
- String V_ORD_THK = "";
- String V_ORD_WTH = "";
- String V_SLAB_NO = "";
- String V_SMP_NO = "";
- String V_SMP_CUT_LOC = "";
- String V_SMP_DIR_PIC_YN = "";
- String V_INGR_ONLY_TP = "";
- String V_MATLQLTY_DEC_GRD = "";
- String V_BEF_PROG_CD = "";
- String V_CUR_PROG_CD = "";
- String V_COIL_CUT_SEQ1 = ""; // C_TBF03_SPEC_MILL_D.COIL_CUT_SEQ%TYPE;
- String V_ORD_THK1 = ""; // C_TBF03_SPEC_MILL_D.ORD_THK%TYPE;
- String V_ORD_WTH1 = ""; // C_TBF03_SPEC_MILL_D.ORD_WTH%TYPE;
- String V_ORD_LEN1 = ""; // C_TBF03_SPEC_MILL_D.ORD_LEN%TYPE;
- String V_ORD_WGT1 = ""; // C_TBF03_SPEC_MILL_D.ORD_WGT%TYPE;
- String V_ORD_WGT_MIN1 = ""; // C_TBF03_SPEC_MILL_D.ORD_WGT_MIN%TYPE;
- String V_ORD_WGT_MAX1 = ""; // C_TBF03_SPEC_MILL_D.ORD_WGT_MAX%TYPE;
- String V_ORD_INDIA1 = ""; // C_TBF03_SPEC_MILL_D.ORD_INDIA%TYPE;
- String V_ORD_OUTDIA1 = ""; // C_TBF03_SPEC_MILL_D.ORD_OUTDIA%TYPE;
- String V_ORD_FL1 = ""; // C_TBF03_SPEC_MILL_D.ORD_FL%TYPE;
- String qs = "select SLAB_NO FROM TBH02_COIL_COMM where OLD_SAMPL_NO = '"
- + coilNo + "'\n";
- PreparedStatement pSta2 = conn.prepareStatement(qs);
- ResultSet rx = pSta2.executeQuery();
- if (rx.next()) {
- V_SLAB_NO = rx.getString("SLAB_NO");
- }
- rx.close();
- pSta2.close();
- String qqSql = "select ORD_NO,ORD_SEQ,PRODNM_CD,C_SPEC_ABBSYM,SPEC_STL_GRD,C_ORD_USEAGE_CD,ORD_THK,ORD_WTH,SMP_NO,SMP_CUT_LOC,SMP_DIR_PIC_YN,INGR_ONLY_TP,MATLQLTY_DEC_GRD FROM c_tbf03_spec_mill where coil_no = '"
- + coilNo + "'";
- pSta2 = conn.prepareStatement(qqSql);
- ResultSet rrs2 = pSta2.executeQuery();
- if (rrs2.next()) {
- V_ORD_NO = rrs2.getString("ORD_NO");
- V_ORD_SEQ = rrs2.getString("ORD_SEQ");
- V_PRODNM_CD = rrs2.getString("PRODNM_CD");
- V_C_SPEC_ABBSYM = rrs2.getString("C_SPEC_ABBSYM");
- V_SPEC_STL_GRD = rrs2.getString("SPEC_STL_GRD");
- V_C_ORD_USEAGE_CD = rrs2.getString("C_ORD_USEAGE_CD");
- V_ORD_THK = rrs2.getString("ORD_THK");
- V_ORD_WTH = rrs2.getString("ORD_WTH");
- V_SMP_NO = rrs2.getString("SMP_NO");
- V_SMP_CUT_LOC = rrs2.getString("SMP_CUT_LOC");
- V_SMP_DIR_PIC_YN = rrs2.getString("SMP_DIR_PIC_YN");
- V_INGR_ONLY_TP = rrs2.getString("INGR_ONLY_TP");
- V_MATLQLTY_DEC_GRD = rrs2.getString("MATLQLTY_DEC_GRD");
- }
- rrs2.close();
- pSta2.close();
- System.out.print(V_C_ORD_USEAGE_CD);
- String qqSqll = "select H_COIL_NO1 FROM C_TBL02_COIL_COMM where H_COIL_NO1 = '"
- + coilNo + "'";
- pSta2 = conn.prepareStatement(qqSqll);
- ResultSet rrs22 = pSta2.executeQuery();
- if (rrs22.next()) {
- // sqlBuffer = new StringBuffer();
- // sqlBuffer.append("update C_TBL02_COIL_COMM set
- // ORD_SEQ =?\n");
- // sqlBuffer.append(" ,ORD_NO = ?\n");
- // sqlBuffer.append(" ,PRODNM_CD = ?\n");
- // sqlBuffer.append(" ,SPEC_ABBSYM = ?\n");
- // sqlBuffer.append(" ,SPEC_STL_GRD = ?\n");
- // sqlBuffer.append(" ,ORD_USE_CD = ?\n");
- // sqlBuffer.append(" ,INSTR_COIL_THK = ?\n");
- // sqlBuffer.append(" ,INSTR_COIL_WTH = ?\n");
- // sqlBuffer.append(" ,SLAB_NO = ?\n");
- // sqlBuffer.append(" ,COIL_NO = ?\n");
- // sqlBuffer.append(" ,COIL_STAT = ?\n");
- // sqlBuffer.append(" ,SMP_NO = ?\n");
- // sqlBuffer.append(" ,SMP_CUT_LOC = ?\n");
- // sqlBuffer.append(" ,SMP_DIR_PIC_YN = ?\n");
- // sqlBuffer.append(" ,INGR_ONLY_TP = ?\n");
- // sqlBuffer.append(" ,MATLQLTY_DEC_GRD = ?\n");
- // sqlBuffer.append(" where H_COIL_NO1 = ?\n");
- // PreparedStatement pSta4 =
- // conn.prepareStatement(sqlBuffer.toString());
- // pSta4.setString(1, V_ORD_SEQ);
- // pSta4.setString(2, V_ORD_NO);
- // pSta4.setString(3, V_PRODNM_CD);
- // pSta4.setString(4, V_C_SPEC_ABBSYM);
- // pSta4.setString(5, V_SPEC_STL_GRD);
- // pSta4.setString(6, V_C_ORD_USEAGE_CD);
- // pSta4.setString(7, V_ORD_THK);
- // pSta4.setString(8, V_ORD_WTH);
- // pSta4.setString(9, V_SLAB_NO);
- // pSta4.setString(10, c_coilNo);
- // pSta4.setString(11, "1");
- //
- // pSta4.setString(12, V_SMP_NO);
- // pSta4.setString(13, V_SMP_CUT_LOC);
- // pSta4.setString(14, V_SMP_DIR_PIC_YN);
- // pSta4.setString(15, V_INGR_ONLY_TP);
- // pSta4.setString(16, V_MATLQLTY_DEC_GRD);
- //
- // pSta4.setString(17, coilNo);
- // pSta4.executeUpdate();
- // pSta4.close();
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("INSERT INTO C_TBL02_COIL_COMM(ORD_SEQ ,ORD_NO,PRODNM_CD,SPEC_ABBSYM,SPEC_STL_GRD,ORD_USE_CD,INSTR_COIL_THK,INSTR_COIL_WTH,SLAB_NO,H_COIL_NO1,COIL_STAT,COIL_NO,SMP_NO,SMP_CUT_LOC,SMP_DIR_PIC_YN,INGR_ONLY_TP,MATLQLTY_DEC_GRD,BEF_STL_GRD) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)\n");
- PreparedStatement pSta4 = conn
- .prepareStatement(sqlBuffer.toString());
- pSta4.setString(1, V_ORD_SEQ);
- pSta4.setString(2, V_ORD_NO);
- pSta4.setString(3, V_PRODNM_CD);
- pSta4.setString(4, V_C_SPEC_ABBSYM);
- pSta4.setString(5, V_SPEC_STL_GRD);
- pSta4.setString(6, V_C_ORD_USEAGE_CD);
- pSta4.setString(7, V_ORD_THK);
- pSta4.setString(8, V_ORD_WTH);
- pSta4.setString(9, V_SLAB_NO);
- pSta4.setString(10, coilNo);
- pSta4.setString(11, "1");
- pSta4.setString(12, c_coilNo);
- pSta4.setString(13, V_SMP_NO);
- pSta4.setString(14, V_SMP_CUT_LOC);
- pSta4.setString(15, V_SMP_DIR_PIC_YN);
- pSta4.setString(16, V_INGR_ONLY_TP);
- pSta4.setString(17, V_MATLQLTY_DEC_GRD);
- pSta4.setString(18, V_SPEC_STL_GRD);
- pSta4.executeUpdate();
- pSta4.close();
- } else {
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("INSERT INTO C_TBL02_COIL_COMM(ORD_SEQ ,ORD_NO,PRODNM_CD,SPEC_ABBSYM,SPEC_STL_GRD,ORD_USE_CD,INSTR_COIL_THK,INSTR_COIL_WTH,SLAB_NO,H_COIL_NO1,COIL_STAT,COIL_NO,SMP_NO,SMP_CUT_LOC,SMP_DIR_PIC_YN,INGR_ONLY_TP,MATLQLTY_DEC_GRD,BEF_STL_GRD) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)\n");
- PreparedStatement pSta4 = conn
- .prepareStatement(sqlBuffer.toString());
- pSta4.setString(1, V_ORD_SEQ);
- pSta4.setString(2, V_ORD_NO);
- pSta4.setString(3, V_PRODNM_CD);
- pSta4.setString(4, V_C_SPEC_ABBSYM);
- pSta4.setString(5, V_SPEC_STL_GRD);
- pSta4.setString(6, V_C_ORD_USEAGE_CD);
- pSta4.setString(7, V_ORD_THK);
- pSta4.setString(8, V_ORD_WTH);
- pSta4.setString(9, V_SLAB_NO);
- pSta4.setString(10, coilNo);
- pSta4.setString(11, "1");
- pSta4.setString(12, c_coilNo);
- pSta4.setString(13, V_SMP_NO);
- pSta4.setString(14, V_SMP_CUT_LOC);
- pSta4.setString(15, V_SMP_DIR_PIC_YN);
- pSta4.setString(16, V_INGR_ONLY_TP);
- pSta4.setString(17, V_MATLQLTY_DEC_GRD);
- pSta4.setString(18, V_SPEC_STL_GRD);
- pSta4.executeUpdate();
- pSta4.close();
- }
- rrs22.close();
- pSta2.close();
- // 修改c_tbl02_coil_comm_d
- String tbl02d = " SELECT COIL_CUT_SEQ,ORD_THK,ORD_WTH,ORD_LEN,ORD_WGT,ORD_WGT_MIN,ORD_WGT_MAX,ORD_INDIA,ORD_OUTDIA,ORD_FL from C_TBF03_SPEC_MILL_D WHERE ORD_NO = '"
- + V_ORD_NO + "' AND ORD_SEQ = '" + V_ORD_SEQ + "'";
- pSta2 = conn.prepareStatement(tbl02d);
- ResultSet rtbl02d = pSta2.executeQuery();
- System.out.print(tbl02d);
- if (rtbl02d.next()) {
- V_COIL_CUT_SEQ1 = rtbl02d.getString("COIL_CUT_SEQ");
- V_ORD_THK1 = rtbl02d.getString("ORD_THK");
- V_ORD_WTH1 = rtbl02d.getString("ORD_WTH");
- V_ORD_LEN1 = rtbl02d.getString("ORD_LEN");
- V_ORD_WGT1 = rtbl02d.getString("ORD_WGT");
- V_ORD_WGT_MIN1 = rtbl02d.getString("ORD_WGT_MIN");
- V_ORD_WGT_MAX1 = rtbl02d.getString("ORD_WGT_MAX");
- V_ORD_INDIA1 = rtbl02d.getString("ORD_INDIA");
- V_ORD_OUTDIA1 = rtbl02d.getString("ORD_OUTDIA");
- V_ORD_FL1 = rtbl02d.getString("ORD_FL");
- }
- rtbl02d.close();
- pSta2.close();
- String tbl02ds = "SELECT L_COIL_NO FROM C_TBL02_COIL_COMM_D WHERE L_COIL_NO ='"
- + c_coilNo + "'";
- pSta2 = conn.prepareStatement(tbl02ds);
- ResultSet rtbl02ds = pSta2.executeQuery();
- if (rtbl02ds.next()) {
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("UPDATE C_TBL02_COIL_COMM_D SET CUT_SEQ = ?\n");
- sqlBuffer.append(" ,ORD_THK = ?\n");
- sqlBuffer.append(" ,ORD_WTH = ?\n");
- sqlBuffer.append(" ,ORD_LEN = ?\n");
- sqlBuffer.append(" ,ORD_WGT = ?\n");
- sqlBuffer.append(" ,ORD_WGT_MIN = ?\n");
- sqlBuffer.append(" ,ORD_WGT_MAX = ?\n");
- sqlBuffer.append(" ,ORD_INDIA = ?\n");
- sqlBuffer.append(" ,ORD_OUTDIA = ?\n");
- sqlBuffer.append(" ,ORD_NO = ?\n");
- sqlBuffer.append(" ,ORD_SEQ = ?\n");
- sqlBuffer.append(" ,ORD_FL = ?\n");
- sqlBuffer.append(" where L_COIL_NO = ?\n");
- PreparedStatement pSta7 = conn
- .prepareStatement(sqlBuffer.toString());
- pSta7.setString(1, V_COIL_CUT_SEQ1);
- pSta7.setString(2, V_ORD_THK1);
- pSta7.setString(3, V_ORD_WTH1);
- pSta7.setString(4, V_ORD_LEN1);
- pSta7.setString(5, V_ORD_WGT1);
- pSta7.setString(6, V_ORD_WGT_MIN1);
- pSta7.setString(7, V_ORD_WGT_MAX1);
- pSta7.setString(8, V_ORD_INDIA1);
- pSta7.setString(9, V_ORD_OUTDIA1);
- pSta7.setString(10, V_ORD_NO);
- pSta7.setString(11, V_ORD_SEQ);
- pSta7.setString(12, V_ORD_FL1);
- pSta7.setString(13, c_coilNo);
- pSta7.executeUpdate();
- pSta7.close();
- } else {
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("INSERT INTO C_TBL02_COIL_COMM_D(L_COIL_NO,CUT_SEQ,ORD_THK,ORD_WTH,ORD_LEN,ORD_WGT,ORD_WGT_MIN,ORD_WGT_MAX,ORD_INDIA,ORD_OUTDIA,ORD_NO,ORD_SEQ,ORD_FL) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)\n");
- System.out.print(sqlBuffer.toString());
- PreparedStatement pSta5 = conn
- .prepareStatement(sqlBuffer.toString());
- pSta5.setString(1, c_coilNo);
- pSta5.setString(2, V_COIL_CUT_SEQ1);
- pSta5.setString(3, V_ORD_THK1);
- pSta5.setString(4, V_ORD_WTH1);
- pSta5.setString(5, V_ORD_LEN1);
- pSta5.setString(6, V_ORD_WGT1);
- pSta5.setString(7, V_ORD_WGT_MIN1);
- pSta5.setString(8, V_ORD_WGT_MAX1);
- pSta5.setString(9, V_ORD_INDIA1);
- pSta5.setString(10, V_ORD_OUTDIA1);
- pSta5.setString(11, V_ORD_NO);
- pSta5.setString(12, V_ORD_SEQ);
- pSta5.setString(13, V_ORD_FL1);
- pSta5.executeUpdate();
- pSta5.close();
- }
- rtbl02ds.close();
- pSta2.close();
- // 订单标记
- this.SAVE_ORD_STS("", "", V_ORD_NO, V_ORD_SEQ, befProgCd,
- "PCC", "CR", coilNo, V_ACT_WGT, "UIK020010",
- trnfReg);
- // 订单整理
- this.ORD_STS_MAIN("UIK020010", trnfReg);
- }
- rs.close();
- pSta.close();
- // 调用取样存储过程
- // String strx = createCretNo(conn,c_coilNo, millSeqCd);
- // System.out.println("=====================================>>>"+strx);
- // if("YY".equals(strx) )
- // {
- // conn.commit();
- // }
- // else
- // {
- // conn.rollback();
- // cro.setV_errCode(-1);
- // cro.setV_errMsg("上料失败!");
- // }
- conn.commit();
- } else {
- cro.setV_errCode(-1);
- cro.setV_errMsg("输入的钢卷号不在轧制计划中,请重新查询后再进行上料操作!");
- }
- } catch (Exception ex) {
- System.out.print(ex);
- if (conn != null) {
- conn.rollback();
- }
- cro.setV_errCode(-1);
- cro.setV_errMsg("上料失败!");
- } finally {
- if (conn != null && !conn.isClosed()) {
- conn.close();
- }
- }
- return cro;
- }
- /*
- * 上料调用存储过程
- */
- // private String createCretNo(Connection conn,String c_coilNo,String
- // millSeqCd) throws SQLException
- // {
- // String rtMsg = "";
- // String sql = XmlSqlParsersFactory.getSql("UIK050010_01.CALL");
- // CallableStatement cstm = conn.prepareCall(sql);
- // cstm.setString(1, c_coilNo);
- // cstm.setString(2, millSeqCd);
- // cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
- // cstm.execute();
- // rtMsg = cstm.getString(3);
- // cstm.close();
- // return rtMsg;
- // }
- /*
- * 查询钢卷是否已经上料了
- */
- public CoreReturnObject SelectSTATUS_CD(String coilNo) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sqlQuery = "select COIL_EDT_SEQ from C_TBF03_SPEC_MILL where STATUS_CD ='B' AND COIL_NO = ?";
- // cro = this.getDao("KgDao").ExcuteQuery(sqlQuery);
- cro = this.getDao("KgDao").ExcuteQuery(sqlQuery,
- new Object[] { coilNo });
- return cro;
- }
- /*
- * 电文修改后,插入操作人,操作时间,操作班组
- */
- public CoreReturnObject InsertInformation(String trnfRegId,
- String trnfShift, String trnfGroup, String trnfDTime, String coilNo)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sqlQuery = "update c_tbk02_coil_comm set TRNF_REG =?, TRNF_SHIFT=?, TRNF_GROUP=?, TRNF_DTIME=? where OLD_SAMPL_NO = ? ";
- Object[] obj = new Object[] { trnfRegId, trnfShift, trnfGroup,
- trnfDTime, coilNo };
- cro = this.getDao("KgDao").ExcuteNonQuery(sqlQuery, obj);
- return cro;
- }
- /**
- * 钢卷吊销入库
- *
- * @param coilNo
- * @param yardAddr
- * @param millSeqCd
- * @param trnfReg
- * @param trnfShift
- * @param trnfGroup
- * @param trnfDTime
- * @return
- * @throws SQLException
- */
- public CoreReturnObject SelectCoilYard(String yardAddr) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sqlQuery = "select coil_no from c_tbk02_coil_comm where CUR_LOAD_LOC =? ";
- // cro = this.getDao("KgDao").ExcuteQuery(sqlQuery);
- cro = this.getDao("KgDao").ExcuteQuery(sqlQuery,
- new Object[] { yardAddr });
- return cro;
- }
- public CoreReturnObject saveCoilYard(String coilNo, String yardAddr,
- String entryShift, String entryGroup, String entryDtime,
- String reg_id, String millSeqCd) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Connection conn = null;
- PreparedStatement pSta1 = null;
- StringBuffer sqlBuff = new StringBuffer();
- try {
- conn = this.getDao("KgDao").getConnection();
- conn.setAutoCommit(false);
- // 钢卷是否已上料
- boolean flag = false;
- sqlBuff = new StringBuffer();
- sqlBuff.append("select 1 from c_tbf03_spec_mill t \n");
- sqlBuff.append("where t.COIL_NO = ? \n");
- sqlBuff
- .append("and t.ROLL_MANA_NO = (select max(roll_mana_no) from c_tbf03_spec_mill where coil_no = ?)\n");
- sqlBuff.append("and t.STATUS_CD = 'A'\n");
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setString(1, coilNo);
- pSta1.setString(2, coilNo);
- ResultSet rs1 = pSta1.executeQuery();
- if (rs1.next()) {
- flag = true;
- }
- rs1.close();
- pSta1.close();
- if (flag) {
- conn.rollback();
- cro.setV_errCode(-2);
- cro.setV_errMsg("请先将钢卷上料出库后再进行吊销操作!");
- return cro;
- }
- // 修改公共表信息
- sqlBuff = new StringBuffer();
- sqlBuff.append("update c_tbk02_coil_comm set COIL_STAT = ?\n");
- sqlBuff.append(",CUR_PROG_CD = ?\n");
- sqlBuff.append(",CUR_LOAD_LOC = ? ,ORD_FL='2',ORD_NO='',ORD_SEQ='' \n");
- sqlBuff.append(",FL = ?\n");
- sqlBuff.append(",IN_YARD_KIND = ?\n");
- sqlBuff
- .append(",CUR_LOAD_LOC_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n");
- sqlBuff.append(",YARD_ENTRY_SHIFT = ?\n");
- sqlBuff.append(",YARD_ENTRY_GROUP = ?\n");
- sqlBuff.append(",YARD_ENTRY_REG = ?\n");
- sqlBuff.append(",bef_prog_cd = ?\n");
- sqlBuff.append(",YARD_ENTRY_DTIME = ?\n");
- sqlBuff
- .append(",YARD_ENTRY_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n");
- sqlBuff.append("WHERE OLD_SAMPL_NO = ?\n");
- System.out.print(sqlBuff.toString());
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setString(1, "2");
- pSta1.setString(2, "PRC");
- pSta1.setString(3, yardAddr);
- pSta1.setString(4, "0");
- pSta1.setString(5, "2");
- pSta1.setString(6, entryShift);
- pSta1.setString(7, entryGroup);
- pSta1.setString(8, reg_id);
- pSta1.setString(9, "");
- pSta1.setString(10, entryDtime);
- pSta1.setString(11, coilNo);
- pSta1.executeUpdate();
- pSta1.close();
- // 修改酸扎计划状态
- sqlBuff = new StringBuffer();
- sqlBuff.append("update c_tbf03_spec_mill set STATUS_CD = ?\n");
- sqlBuff.append("where coil_no = ?\n");
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setString(1, "E");
- pSta1.setString(2, coilNo);
- pSta1.executeUpdate();
- pSta1.close();
- // 将钢卷号重新绑定到剁位上
- sqlBuff = new StringBuffer();
- sqlBuff.append("update c_tbk08_coil_yard set COIL_NO = ?\n");
- sqlBuff.append(",COIL_SOURCE = ?\n");
- sqlBuff.append(",MOD_ID = ?\n");
- sqlBuff.append(",MOD_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n");
- sqlBuff.append("where CLF_NAME = substr(?,0,1)\n");
- sqlBuff.append("AND CLF_COL = substr(?,3,2)\n");
- // sqlBuff.append("AND CLF_NAME = substr(?,0,1)\n");
- sqlBuff.append("AND CLF_ROW = substr(?,7,2)\n");
- sqlBuff
- .append("AND CLF_FL = DECODE(substr(?,5,1),'A','1','B','2','C','3','1')\n");
- System.out.print(sqlBuff.toString());
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setString(1, coilNo);
- pSta1.setString(2, "2");
- pSta1.setString(3, reg_id);
- pSta1.setString(4, yardAddr);
- pSta1.setString(5, yardAddr);
- pSta1.setString(6, yardAddr);
- pSta1.setString(7, yardAddr);
- // pSta1.setString(8,yardAddr);
- pSta1.executeUpdate();
- pSta1.close();
- // 将信息插入移剁表
- long seq = 0;
- String sqlqmaxseq = "select max(ROLL_SEQ) ROLL_SEQ from c_tbk08_coil_move\n";
- pSta1 = conn.prepareStatement(sqlqmaxseq);
- ResultSet rs = pSta1.executeQuery();
- if (rs.next()) {
- seq = rs.getLong("ROLL_SEQ");
- }
- rs.close();
- pSta1.close();
- sqlBuff = new StringBuffer();
- sqlBuff
- .append("insert into c_tbk08_coil_move T(T.ROLL_SEQ,T.CUR_LOAD_LOC_F,T.CUR_LOAD_LOC_T,T.COIL_NO,T.REG_ID,T.REG_SHIFT,T.REG_GROUP,T.REG_DTIME,T.REG_USE_ID,T.REG_USE_DTIME,MOVE_TYPE) " +
- "VALUES(?,?,?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),'05')\n");
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setLong(1, seq + 1);
- pSta1.setString(2, "");
- pSta1.setString(3, yardAddr);
- pSta1.setString(4, coilNo);
- pSta1.setString(5, reg_id);
- pSta1.setString(6, entryShift);
- pSta1.setString(7, entryGroup);
- pSta1.setString(8, entryDtime);
- pSta1.setString(9, reg_id);
- pSta1.executeUpdate();
- pSta1.close();
- // 分析c_tbf03_spec_roll
- String tbfrollno = "";
- String sqlTBFSM = "select max(ROLL_NO) ROLL_NO from c_tbf03_spec_mill where coil_no ='"
- + coilNo + "'";
- pSta1 = conn.prepareStatement(sqlTBFSM);
- ResultSet rsTBF = pSta1.executeQuery();
- if (rsTBF.next()) {
- tbfrollno = rsTBF.getString("ROLL_NO");
- }
- rsTBF.close();
- pSta1.close();
- sqlBuff = new StringBuffer();
- sqlBuff.append("update c_tbf03_spec_roll set STATUS_CD = ?\n");
- sqlBuff.append(" where roll_no = ?\n");
- sqlBuff
- .append(" AND STATUS_CD <> 'D' and (select count(c_coil_no) from c_tbf03_spec_mill where roll_no = ?\n");
- sqlBuff
- .append(" ) =(select count(c_coil_no) from c_tbf03_spec_mill where roll_no = ?\n");
- sqlBuff.append(" and (STATUS_CD = 'D' OR STATUS_CD = 'E'))\n");
- pSta1 = conn.prepareStatement(sqlBuff.toString());
- pSta1.setString(1, "D");
- pSta1.setString(2, tbfrollno);
- pSta1.setString(3, tbfrollno);
- pSta1.setString(4, tbfrollno);
- pSta1.executeUpdate();
- pSta1.close();
- // 吊销钢卷后重新下发计划
- String strx = rePlan(conn);
- System.out.println("=====================================>>>"
- + strx);
- if ("1".equals(strx)) {
- conn.commit();
- } else {
- conn.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("吊销失败!");
- }
- } catch (Exception ex) {
- System.out.print(ex.toString());
- if (conn != null) {
- conn.rollback();
- }
- cro.setV_errCode(-1);
- cro.setV_errMsg("吊销失败!");
- } finally {
- try {
- //添加了出现异常时关闭pSta1
- if (pSta1 != null) {
- pSta1.close();
- }
- if (conn != null && !conn.isClosed()) {
- conn.close();
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- }
- return cro;
- }
- // 调用计划重新下发函数
- private String rePlan(Connection conn) throws SQLException {
- String rtMsg = "";
- String sql = XmlSqlParsersFactory.getSql("UIK050010_01.CALL");
- CallableStatement cstm = conn.prepareCall(sql);
- cstm.registerOutParameter(1, java.sql.Types.VARCHAR);
- cstm.execute();
- rtMsg = cstm.getString(1);
- cstm.close();
- return rtMsg;
- }
- /**
- * 订单进程标记
- *
- * @param P_BEF_ORD_NO
- * 前合同号
- * @param P_BEF_ORD_SEQ
- * 前订单号
- * @param P_ORD_NO
- * 合同号
- * @param P_ORD_SEQ
- * 订单号
- * @param P_BEF_PROG_CD
- * 前进程状态
- * @param P_PROG_CD
- * 进程状态
- * @param P_MAT_TYPE
- * 物料类型
- * @param P_MAT_NO
- * 物料号
- * @param P_WGT
- * 物料重量
- * @param P_REG_PRGM
- * 程序名
- * @param P_REG_ID
- * 操作人
- * @return
- */
- private void SAVE_ORD_STS(String P_BEF_ORD_NO, String P_BEF_ORD_SEQ,
- String P_ORD_NO, String P_ORD_SEQ, String P_BEF_PROG_CD,
- String P_PROG_CD, String P_MAT_TYPE, String P_MAT_NO, String P_WGT,
- String P_REG_PRGM, String P_REG_ID) throws SQLException {
- this.getDao("KgDao").ExcuteProcedure(
- XmlSqlParsersFactory.getSql("UIJ030020_03.CALL"),
- new String[] { P_BEF_ORD_NO, P_BEF_ORD_SEQ, P_ORD_NO,
- P_ORD_SEQ, P_BEF_PROG_CD, P_PROG_CD, P_MAT_TYPE,
- P_MAT_NO, P_WGT, P_REG_PRGM, P_REG_ID }, new String[0]);
- }
- /**
- * 订单进程整理 regId 操作人
- *
- * @return
- */
- private boolean ORD_STS_MAIN(String pgmId, String regId)
- throws SQLException {
- boolean flag = true;
- String retMsg = "";
- this.getDao("KgDao").ExcuteProcedure(
- XmlSqlParsersFactory.getSql("UIJ030020_02.CALL"),
- new String[] { pgmId, regId }, new String[] { retMsg });
- if (retMsg != null && !retMsg.equals("")) {
- flag = false;
- }
- return flag;
- }
- }
|