package UIK.UIK02; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.util.Map; import UIB.COM.ProduceFactory; import UIB.COM.XmlSqlParsersFactory; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; /** * 酸轧作业管理 * * @author siy * @date 2010-9-17 */ public class UIK020020 extends CoreIComponent { /** * 查询酸轧作业实绩 * * @return * @throws SQLException */ public CoreReturnObject queryAcidRollingResult(String cCoilNo,String hCoilNo) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); StringBuffer sqlBuffer = new StringBuffer(); sqlBuffer.append(XmlSqlParsersFactory.getSql("UIK020020_01.SELECT")); // if(null == cCoilNo || "".equals(cCoilNo)){ // sqlBuffer.append(" and r.mill_dtime = (select max(mill_dtime) from // c_tbl02_pltcm_result)"); // } // else{ // sqlBuffer.append(" and r.l_coil_no = '" + cCoilNo + "'"); // } cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(), new Object[] { cCoilNo,hCoilNo }); return cro; } public CoreReturnObject queryOriCoil(String cCoilNo ) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); StringBuffer sqlBuffer = new StringBuffer(); sqlBuffer.append(XmlSqlParsersFactory.getSql("UIK020020_11.SELECT")); cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(), new Object[] { cCoilNo }); return cro; } /** * 查询冷轧卷是否存在 * * @param coilNo * @return * @throws SQLException */ public CoreReturnObject queryCoilExist(String coilNo) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); // 查询钢卷是否存在于实绩表 String sql = XmlSqlParsersFactory.getSql("UIK020020_03.SELECT"); List list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { coilNo }); Iterator it = list.iterator(); int count = 0; try { while (it.hasNext()) { Map map = (Map) it.next(); count = Integer.parseInt(map.get("COUNT").toString()); } } catch (Exception ex) { } if (count == 0 && !coilNo.endsWith("0")) { String pCoilNo = coilNo.substring(0, coilNo.length() - 2) + "0"; CoreReturnObject cro1 = this.queryCoilExist(pCoilNo); count = Integer.parseInt(cro1.getResult().toString()); } cro.setResult(count); return cro; } /** * 新增酸轧实绩 * * @param listParam * @param regID * @return * @throws SQLException */ public CoreReturnObject addAcidRollingResult(ArrayList listParam,String regID) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); String[] lCoilInfo = (String[]) listParam.get(0); ArrayList hCoilInfo = (ArrayList) listParam.get(1); ArrayList defectInfo = (ArrayList) listParam.get(2); String sqlEntry = "select t.OLD_SAMPL_NO from c_tbl02_coil_comm t where (t.DLIV_DIRNO is not null or t.FL = '1') and t.OLD_SAMPL_NO = ?"; List listEntry = this.getDao("KgDao").ExcuteQueryReturnList(sqlEntry, new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); if (listEntry.size() > 0) { cro.setV_errCode(new Integer(1)); cro.setV_errMsg("物料对应的母卷"+lCoilInfo[0].substring(0, 11)+"0"+"已发货或已连退,禁止分卷!"); return cro; } // 查询钢卷是否存在于钢卷公共表 String sql = XmlSqlParsersFactory.getSql("UIK020020_02.SELECT"); List list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0] }); Iterator it = list.iterator(); int count = 0; try { while (it.hasNext()) { Map map = (Map) it.next(); count = Integer.parseInt(map.get("COUNT").toString()); } } catch (Exception ex) { } //根据真实钢卷号判断是否存在此卷 String sqln = XmlSqlParsersFactory.getSql("UIK020020_10.SELECT"); List listN = this.getDao("KgDao").ExcuteQueryReturnList(sqln, new Object[] { lCoilInfo[0] }); Iterator itn = listN.iterator(); int countn = 0; try { while (itn.hasNext()) { Map mapn = (Map) itn.next(); countn = Integer.parseInt(mapn.get("COUNT").toString()); } } catch (Exception ex) { } //判断母卷-10是否存在 List listMU = this.getDao("KgDao").ExcuteQueryReturnList(sqln, new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); Iterator itMU = listMU.iterator(); int countMU = 0; try { while (itMU.hasNext()) { Map mapMU = (Map) itMU.next(); countMU = Integer.parseInt(mapMU.get("COUNT").toString()); } } catch (Exception ex) { } Map result = this.getDao("KgDao").CoreBeginTranscation(); try { List param = new ArrayList(); param.add(lCoilInfo[0]); param.add(lCoilInfo[0]); param.add(lCoilInfo[1]); param.add(lCoilInfo[3]); param.add(lCoilInfo[6]); param.add(lCoilInfo[7]); param.add(lCoilInfo[2]); param.add(lCoilInfo[8]); param.add("");// lock_coil param.add(lCoilInfo[9]); for (int i = 0; i < hCoilInfo.size(); i++) { String[] hCoil = (String[]) hCoilInfo.get(i); for (int j = 0; j < hCoil.length - 1; j++) { param.add(hCoil[j]); } } param.add(lCoilInfo[10]); for (int i = 0; i < defectInfo.size(); i++) { String[] defect = (String[]) defectInfo.get(i); for (int j = 0; j < defect.length; j++) { param.add(defect[j]); } } // 新增实绩 sql = XmlSqlParsersFactory.getSql("UIK020020_01.INSERT"); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); // 查询订单信息 sql = XmlSqlParsersFactory.getSql("UIK020020_04.SELECT"); list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0] }); it = list.iterator(); Map ordMap = new HashMap(); if (it.hasNext()) { ordMap = (Map) it.next(); } param = new ArrayList(); param.add(lCoilInfo[0]); String coilLen = lCoilInfo[3]; try { if (coilLen == null || coilLen.equals("") || Integer.parseInt(coilLen) == 0) { coilLen = String.valueOf(Math.round(Double .parseDouble(lCoilInfo[2]) * 1000 / (Double.parseDouble(lCoilInfo[4]) * Double.parseDouble(lCoilInfo[5]) * 7.85) * 1000)); } } catch (Exception ex) { } param.add(coilLen); param.add(lCoilInfo[6]); param.add(lCoilInfo[7]); param.add(lCoilInfo[5]); param.add(lCoilInfo[4]); param.add(""); //param.add(lCoilInfo[2]);重量屏蔽 param.add(ordMap.get("STL_GRD") != null ? ordMap.get("STL_GRD") .toString() : "");// stl_grd param.add(lCoilInfo[1]); param.add(lCoilInfo[0]); if (((String[]) hCoilInfo.get(0))[0].length() > 3) { param.add(((String[]) hCoilInfo.get(0))[0].substring(0, ((String[]) hCoilInfo.get(0))[0].length() - 3));// ord_no param .add(((String[]) hCoilInfo.get(0))[0] .substring(((String[]) hCoilInfo.get(0))[0] .length() - 3));// ord_seq param.add(1); } else { String ordNo = ordMap.get("ORD_NO") != null ? ordMap.get( "ORD_NO").toString() : ""; String ordSeq = ordMap.get("ORD_SEQ") != null ? ordMap.get( "ORD_SEQ").toString() : ""; String ordFl = ordNo.equals("") ? "2" : "1"; param.add(ordNo);// ord_no param.add(ordSeq);// ord_seq param.add(ordFl); } // for (int i = 0; i < 5; i++) { // param.add(((String[]) defectInfo.get(i))[1]);// defect_type // } String slabNo = ""; sql = "select k.slab_no from c_tbk02_coil_comm k where k.coil_no = ?"; list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { ((String[]) hCoilInfo.get(0))[29] });// h_coil_no1 it = list.iterator(); if (it.hasNext()) { Map map = (Map) it.next(); slabNo = map.get("SLAB_NO").toString(); } param.add(slabNo);// slab_no String []hCoils = new String[3]; for (int i = 0; i < 3; i++) { hCoils[i] = ((String[]) hCoilInfo.get(i))[29]; param.add(((String[]) hCoilInfo.get(i))[29]);// h_coil_no param.add(((String[]) hCoilInfo.get(i))[2]);// h_coil_len } param.add(ordMap.get("ORD_THK") != null ? ordMap.get("ORD_THK") .toString() : ""); param.add(ordMap.get("ORD_WTH") != null ? ordMap.get("ORD_WTH") .toString() : ""); param.add(ordMap.get("ORD_LEN") != null ? ordMap.get("ORD_LEN") .toString() : ""); param.add(ordMap.get("ORD_WGT") != null ? ordMap.get("ORD_WGT") .toString() : ""); param.add(ordMap.get("ORD_INDIA") != null ? ordMap.get("ORD_INDIA") .toString() : ""); param.add(ordMap.get("ORD_OUTDIA") != null ? ordMap.get( "ORD_OUTDIA").toString() : ""); param.add(ordMap.get("DEL_TO_DATE") != null ? ordMap.get( "DEL_TO_DATE").toString() : ""); param.add(ordMap.get("DEST_CD") != null ? ordMap.get("DEST_CD") .toString() : ""); param.add(ordMap.get("ORDCUST_CD") != null ? ordMap.get("ORDCUST_CD") .toString() : ""); //param.add("");// cust_cd param.add(ordMap.get("CUST_CD") != null ? ordMap.get("CUST_CD") .toString() : ""); param.add(ordMap.get("SPEC_STL_GRD") != null ? ordMap.get( "SPEC_STL_GRD").toString() : ""); // param.add(ordMap.get("STL_GRD") != null ? ordMap.get("STL_GRD") // .toString() : ""); param.add(ordMap.get("PRODNM_CD") != null ? ordMap.get("PRODNM_CD") .toString() : ""); param.add(ordMap.get("C_ORD_USEAGE_CD") != null ? ordMap.get( "C_ORD_USEAGE_CD").toString() : ""); param.add(ordMap.get("C_SPEC_ABBSYM") != null ? ordMap.get( "C_SPEC_ABBSYM").toString() : ""); param.add(regID); param.add(ordMap.get("SPEC_STL_GRD") != null ? ordMap.get( "SPEC_STL_GRD").toString() : ""); if (count <= 0) {// 新增钢卷 sql = XmlSqlParsersFactory.getSql("UIK020020_02.INSERT"); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); if(countMU>0) { //调用存货异动点存储过程 ProduceFactory PD= new ProduceFactory(); PD.ErpDataCover("CCOIL",lCoilInfo[0].substring(0, 11)+"0","11AD","0","O",regID,"酸轧分卷母卷"); PD.ErpDataCoverFJ("CCOIL",lCoilInfo[0],"11AD","0","N","N","",lCoilInfo[0].substring(0, 11)+"0",regID,"酸轧分卷子卷"); } else{ ProduceFactory PD= new ProduceFactory(); PD.ErpDataCover("CORICOIL",((String[]) hCoilInfo.get(0))[29],"41A","0","O",regID,"酸轧轧制"); //((String[]) hCoilInfo.get(i))[29] PD.ErpDataCoverFJ("CCOIL",lCoilInfo[0],"11A","0","N","N","",((String[]) hCoilInfo.get(0))[29],regID,"酸轧分卷子卷"); } // 修改母卷 sql = XmlSqlParsersFactory.getSql("UIK020020_07.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql,new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); sql = XmlSqlParsersFactory.getSql("UIK020020_08.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql,new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); } else {// 修改钢卷 sql = XmlSqlParsersFactory.getSql("UIK020020_02.UPDATE"); param.remove(0); param.add(lCoilInfo[0]); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); if(countn<=0)//人工补录实绩时抛送异动点 { ProduceFactory PD= new ProduceFactory(); PD.ErpDataCover("CCOIL",lCoilInfo[0],"11A","0","O",regID,"酸轧补录产出"); // PD.ErpDataCover("CORICOIL",((String[]) hCoilInfo.get(0))[29],"41A","0","O",regID,"酸轧轧制"); //((String[]) hCoilInfo.get(i))[29] } } //更改原料卷状态 sql = XmlSqlParsersFactory.getSql("UIK020020_06.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, hCoils); // 写入钢卷公共表_D if (!(ordMap.get("ORD_NO") != null ? ordMap.get("ORD_NO") .toString() : "").equals("")) { sql = XmlSqlParsersFactory.getSql("UIK020020_06.SELECT"); list = this.getDao("KgDao") .ExcuteQueryReturnList( sql, new Object[] { lCoilInfo[0], lCoilInfo[0], lCoilInfo[0] }); it = list.iterator(); Map ordMapD = new HashMap(); if (it.hasNext()) { ordMapD = (Map) it.next(); } String cutSeq = ordMapD.get("CUT_SEQ") != null ? ordMapD.get( "CUT_SEQ").toString() : ""; String ordThk = ordMapD.get("ORD_THK") != null ? ordMapD.get( "ORD_THK").toString() : ""; String ordWth = ordMapD.get("ORD_WTH") != null ? ordMapD.get( "ORD_WTH").toString() : ""; String ordLen = ordMapD.get("ORD_LEN") != null ? ordMapD.get( "ORD_LEN").toString() : ""; String ordWgt = ordMapD.get("ORD_WGT") != null ? ordMapD.get( "ORD_WGT").toString() : ""; String ordWgtMin = ordMapD.get("ORD_WGT_MIN") != null ? ordMapD .get("ORD_WGT_MIN").toString() : ""; String ordWgtMax = ordMapD.get("ORD_WGT_MAX") != null ? ordMapD .get("ORD_WGT_MAX").toString() : ""; String ordIndia = ordMapD.get("ORD_INDIA") != null ? ordMapD .get("ORD_INDIA").toString() : ""; String ordOutdia = ordMapD.get("ORD_OUTDIA") != null ? ordMapD .get("ORD_OUTDIA").toString() : ""; String ordNo = ordMapD.get("ORD_NO") != null ? ordMapD.get( "ORD_NO").toString() : ""; String ordSeq = ordMapD.get("ORD_SEQ") != null ? ordMapD.get( "ORD_SEQ").toString() : ""; String ordFl = ordMapD.get("ORD_FL") != null ? ordMapD.get( "ORD_FL").toString() : ""; sql = XmlSqlParsersFactory.getSql("UIK020020_07.SELECT"); list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0], cutSeq }); it = list.iterator(); Map ordMapCount = new HashMap(); if (it.hasNext()) { ordMapCount = (Map) it.next(); } int ordCount = Integer .parseInt(ordMapCount.get("COUNT") != null ? ordMapCount .get("COUNT").toString().trim() : "0"); if (ordCount > 0) { sql = XmlSqlParsersFactory.getSql("UIK020020_05.UPDATE"); this.getDao("KgDao") .ExcuteNonQuery( sql, new Object[] { ordThk, ordWth, ordLen, ordWgt, ordWgtMin, ordWgtMax, ordIndia, ordOutdia, ordNo, ordSeq, ordFl, lCoilInfo[0], cutSeq }); } else { sql = XmlSqlParsersFactory.getSql("UIK020020_03.INSERT"); this.getDao("KgDao").ExcuteNonQuery( sql, new Object[] { lCoilInfo[0], cutSeq, ordThk, ordWth, ordLen, ordWgt, ordWgtMin, ordWgtMax, ordIndia, ordOutdia, ordNo, ordSeq, ordFl }); } } // 修改钢卷轧制状态 sql = XmlSqlParsersFactory.getSql("UIK020020_03.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, new Object[] { lCoilInfo[0] }); // 修改轧辊单元轧制状态 sql = XmlSqlParsersFactory.getSql("UIK020020_04.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, new Object[] { lCoilInfo[0], lCoilInfo[0], lCoilInfo[0] }); this.getDao("KgDao").CoreCommit(result); Connection conn = this.getDao("KgDao").getConnection(); try { conn.setAutoCommit(false); // this.takeOverPltcmCoilLable(conn, lCoilInfo[0], Double // .parseDouble(lCoilInfo[2]), Double // .parseDouble(lCoilInfo[5]), lCoilInfo[1]); // 酸轧实绩补录成功后进行尺寸及重量判定 this.dscCoilWgtSize(conn, lCoilInfo[0]); //添加操作记录 this.CallHistory(conn, lCoilInfo[0] , regID); // 分卷后重新取样 if ("123456789".contains(lCoilInfo[0].substring(lCoilInfo[0] .length() - 1))) { this.cutCoilLost(conn, lCoilInfo[0]); } conn.commit(); } catch (Exception e) { e.printStackTrace(); conn.rollback(); } finally { if (conn != null && !conn.isClosed()) { conn.close(); } } } catch (Exception ex) { ex.printStackTrace(); this.getDao("KgDao").CoreRollBack(result); cro.setV_errCode(-1); cro.setV_errMsg("实绩新增失败!"); } return cro; } /** * 新增酸轧实绩 * * @param listParam * @param regID * @return * @throws SQLException */ public CoreReturnObject addAcidResultSaunXi(ArrayList listParam,String regID) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); String[] lCoilInfo = (String[]) listParam.get(0); ArrayList hCoilInfo = (ArrayList) listParam.get(1); ArrayList defectInfo = (ArrayList) listParam.get(2); // 查询钢卷是否存在于钢卷公共表 String sql = XmlSqlParsersFactory.getSql("UIK020020_02.SELECT"); List list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0] }); Iterator it = list.iterator(); int count = 0; try { while (it.hasNext()) { Map map = (Map) it.next(); count = Integer.parseInt(map.get("COUNT").toString()); } } catch (Exception ex) { } Map result = this.getDao("KgDao").CoreBeginTranscation(); try { List param = new ArrayList(); param.add(lCoilInfo[0]); param.add(lCoilInfo[0]); param.add(lCoilInfo[1]); param.add(lCoilInfo[3]); param.add(lCoilInfo[6]); param.add(lCoilInfo[7]); param.add(lCoilInfo[2]); param.add(lCoilInfo[8]); param.add("");// lock_coil param.add(lCoilInfo[9]); for (int i = 0; i < hCoilInfo.size(); i++) { String[] hCoil = (String[]) hCoilInfo.get(i); for (int j = 0; j < hCoil.length - 1; j++) { param.add(hCoil[j]); } } param.add(lCoilInfo[10]); for (int i = 0; i < defectInfo.size(); i++) { String[] defect = (String[]) defectInfo.get(i); for (int j = 0; j < defect.length; j++) { param.add(defect[j]); } } // 新增实绩 sql = XmlSqlParsersFactory.getSql("UIK020020_01.INSERT"); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); // 查询订单信息 sql = XmlSqlParsersFactory.getSql("UIK020020_08.SELECT"); list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0] }); it = list.iterator(); Map ordMap = new HashMap(); if (it.hasNext()) { ordMap = (Map) it.next(); } param = new ArrayList(); param.add(lCoilInfo[0]); String coilLen = lCoilInfo[3]; try { if (coilLen == null || coilLen.equals("") || Integer.parseInt(coilLen) == 0) { coilLen = String.valueOf(Math.round(Double .parseDouble(lCoilInfo[2]) * 1000 / (Double.parseDouble(lCoilInfo[4]) * Double.parseDouble(lCoilInfo[5]) * 7.85) * 1000)); } } catch (Exception ex) { } param.add(coilLen); param.add(lCoilInfo[6]); param.add(lCoilInfo[7]); param.add(lCoilInfo[5]); param.add(lCoilInfo[4]); param.add("");//param.add(lCoilInfo[2]); param.add(ordMap.get("STL_GRD") != null ? ordMap.get("STL_GRD") .toString() : "");// stl_grd param.add(lCoilInfo[1]); param.add(lCoilInfo[0]); if (((String[]) hCoilInfo.get(0))[0].length() > 3) { param.add(((String[]) hCoilInfo.get(0))[0].substring(0, ((String[]) hCoilInfo.get(0))[0].length() - 3));// ord_no param .add(((String[]) hCoilInfo.get(0))[0] .substring(((String[]) hCoilInfo.get(0))[0] .length() - 3));// ord_seq param.add(1); } else { String ordNo = ordMap.get("ORD_NO") != null ? ordMap.get( "ORD_NO").toString() : ""; String ordSeq = ordMap.get("ORD_SEQ") != null ? ordMap.get( "ORD_SEQ").toString() : ""; String ordFl = ordNo.equals("") ? "2" : "1"; param.add(ordNo);// ord_no param.add(ordSeq);// ord_seq param.add(ordFl); } // for (int i = 0; i < 5; i++) { // param.add(((String[]) defectInfo.get(i))[1]);// defect_type // } String slabNo = ""; String smp_no = ""; String smp_cut_loc = ""; String matlqlty_dec_grd = "0"; sql = "select k.SMP_NO, k.SMP_CUT_LOC,k.MATLQLTY_DEC_GRD,k.slab_no from c_tbk02_coil_comm k where k.coil_no = ?"; list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { ((String[]) hCoilInfo.get(0))[29] });// h_coil_no1 it = list.iterator(); if (it.hasNext()) { Map map = (Map) it.next(); slabNo = map.get("SLAB_NO").toString(); // smp_no = map.get("SMP_NO").toString(); smp_no = map.get("SMP_NO") != null ? map.get( "SMP_NO").toString() : ""; smp_cut_loc = map.get("SMP_CUT_LOC") != null ? map.get( "SMP_CUT_LOC").toString() : ""; //smp_cut_loc = map.get("SMP_CUT_LOC").toString(); matlqlty_dec_grd = map.get("MATLQLTY_DEC_GRD").toString(); } param.add(slabNo);// slab_no param.add(smp_no); param.add(smp_cut_loc); param.add(matlqlty_dec_grd); /* param.add("188888"); param.add("k"); param.add("1"); */ String []hCoils = new String[3]; for (int i = 0; i < 3; i++) { hCoils[i] = ((String[]) hCoilInfo.get(i))[29]; param.add(((String[]) hCoilInfo.get(i))[29]);// h_coil_no param.add(((String[]) hCoilInfo.get(i))[2]);// h_coil_len } param.add(ordMap.get("ORD_THK") != null ? ordMap.get("ORD_THK") .toString() : ""); param.add(ordMap.get("ORD_WTH") != null ? ordMap.get("ORD_WTH") .toString() : ""); param.add(ordMap.get("ORD_LEN") != null ? ordMap.get("ORD_LEN") .toString() : ""); param.add(ordMap.get("ORD_WGT") != null ? ordMap.get("ORD_WGT") .toString() : ""); param.add(ordMap.get("ORD_INDIA") != null ? ordMap.get("ORD_INDIA") .toString() : ""); param.add(ordMap.get("ORD_OUTDIA") != null ? ordMap.get( "ORD_OUTDIA").toString() : ""); param.add(ordMap.get("DEL_TO_DATE") != null ? ordMap.get( "DEL_TO_DATE").toString() : ""); param.add(ordMap.get("DEST_CD") != null ? ordMap.get("DEST_CD") .toString() : ""); param.add(ordMap.get("ORDCUST_CD") != null ? ordMap.get("ORDCUST_CD") .toString() : ""); //param.add("");// cust_cd param.add(ordMap.get("CUST_CD") != null ? ordMap.get("CUST_CD") .toString() : ""); param.add(ordMap.get("SPEC_STL_GRD") != null ? ordMap.get( "SPEC_STL_GRD").toString() : ""); // param.add(ordMap.get("STL_GRD") != null ? ordMap.get("STL_GRD") // .toString() : ""); param.add(ordMap.get("PRODNM_CD") != null ? ordMap.get("PRODNM_CD") .toString() : ""); param.add(ordMap.get("C_ORD_USEAGE_CD") != null ? ordMap.get( "C_ORD_USEAGE_CD").toString() : ""); param.add(ordMap.get("C_SPEC_ABBSYM") != null ? ordMap.get( "C_SPEC_ABBSYM").toString() : ""); param.add(regID); param.add(ordMap.get("SPEC_STL_GRD") != null ? ordMap.get( "SPEC_STL_GRD").toString() : ""); if (count <= 0) {// 新增钢卷 sql = XmlSqlParsersFactory.getSql("UIK020020_04.INSERT"); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); // 修改母卷 sql = XmlSqlParsersFactory.getSql("UIK020020_07.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql,new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); sql = XmlSqlParsersFactory.getSql("UIK020020_08.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql,new Object[] { lCoilInfo[0].substring(0, 11)+"0" }); } else {// 修改钢卷 sql = XmlSqlParsersFactory.getSql("UIK020020_02.UPDATE"); param.remove(0); param.add(lCoilInfo[0]); this.getDao("KgDao").ExcuteNonQuery(sql, param.toArray()); } //更改原料卷状态 sql = XmlSqlParsersFactory.getSql("UIK020020_06.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, hCoils); // 写入钢卷公共表_D if (!(ordMap.get("ORD_NO") != null ? ordMap.get("ORD_NO") .toString() : "").equals("")) { sql = XmlSqlParsersFactory.getSql("UIK020020_09.SELECT"); list = this.getDao("KgDao") .ExcuteQueryReturnList( sql, new Object[] { lCoilInfo[0], lCoilInfo[0], lCoilInfo[0] }); it = list.iterator(); Map ordMapD = new HashMap(); if (it.hasNext()) { ordMapD = (Map) it.next(); } String cutSeq = ordMapD.get("CUT_SEQ") != null ? ordMapD.get( "CUT_SEQ").toString() : ""; String ordThk = ordMapD.get("ORD_THK") != null ? ordMapD.get( "ORD_THK").toString() : ""; String ordWth = ordMapD.get("ORD_WTH") != null ? ordMapD.get( "ORD_WTH").toString() : ""; String ordLen = ordMapD.get("ORD_LEN") != null ? ordMapD.get( "ORD_LEN").toString() : ""; String ordWgt = ordMapD.get("ORD_WGT") != null ? ordMapD.get( "ORD_WGT").toString() : ""; String ordWgtMin = ordMapD.get("ORD_WGT_MIN") != null ? ordMapD .get("ORD_WGT_MIN").toString() : ""; String ordWgtMax = ordMapD.get("ORD_WGT_MAX") != null ? ordMapD .get("ORD_WGT_MAX").toString() : ""; String ordIndia = ordMapD.get("ORD_INDIA") != null ? ordMapD .get("ORD_INDIA").toString() : ""; String ordOutdia = ordMapD.get("ORD_OUTDIA") != null ? ordMapD .get("ORD_OUTDIA").toString() : ""; String ordNo = ordMapD.get("ORD_NO") != null ? ordMapD.get( "ORD_NO").toString() : ""; String ordSeq = ordMapD.get("ORD_SEQ") != null ? ordMapD.get( "ORD_SEQ").toString() : ""; String ordFl = ordMapD.get("ORD_FL") != null ? ordMapD.get( "ORD_FL").toString() : ""; sql = XmlSqlParsersFactory.getSql("UIK020020_07.SELECT"); list = this.getDao("KgDao").ExcuteQueryReturnList(sql, new Object[] { lCoilInfo[0], cutSeq }); it = list.iterator(); Map ordMapCount = new HashMap(); if (it.hasNext()) { ordMapCount = (Map) it.next(); } int ordCount = Integer .parseInt(ordMapCount.get("COUNT") != null ? ordMapCount .get("COUNT").toString().trim() : "0"); if (ordCount > 0) { sql = XmlSqlParsersFactory.getSql("UIK020020_05.UPDATE"); this.getDao("KgDao") .ExcuteNonQuery( sql, new Object[] { ordThk, ordWth, ordLen, ordWgt, ordWgtMin, ordWgtMax, ordIndia, ordOutdia, ordNo, ordSeq, ordFl, lCoilInfo[0], cutSeq }); } else { sql = XmlSqlParsersFactory.getSql("UIK020020_03.INSERT"); this.getDao("KgDao").ExcuteNonQuery( sql, new Object[] { lCoilInfo[0], cutSeq, ordThk, ordWth, ordLen, ordWgt, ordWgtMin, ordWgtMax, ordIndia, ordOutdia, ordNo, ordSeq, ordFl }); } } // 修改钢卷轧制状态 sql = XmlSqlParsersFactory.getSql("UIK020020_11.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, new Object[] { lCoilInfo[0] }); // 修改轧辊单元轧制状态 sql = XmlSqlParsersFactory.getSql("UIK020020_12.UPDATE"); this.getDao("KgDao").ExcuteNonQuery(sql, new Object[] { lCoilInfo[0], lCoilInfo[0], lCoilInfo[0] }); this.getDao("KgDao").CoreCommit(result); Connection conn = this.getDao("KgDao").getConnection(); try { conn.setAutoCommit(false); // this.takeOverPltcmCoilLable(conn, lCoilInfo[0], Double // .parseDouble(lCoilInfo[2]), Double // .parseDouble(lCoilInfo[5]), lCoilInfo[1]); // 酸轧实绩补录成功后进行尺寸及重量判定 this.dscCoilWgtSize(conn, lCoilInfo[0]); //添加操作记录 this.CallHistory(conn, lCoilInfo[0] , regID); // 分卷后重新取样 20190409 注释 /* if ("123456789".contains(lCoilInfo[0].substring(lCoilInfo[0] .length() - 1))) { this.cutCoilLost(conn, lCoilInfo[0]); } */ conn.commit(); } catch (Exception e) { e.printStackTrace(); conn.rollback(); } finally { if (conn != null && !conn.isClosed()) { conn.close(); } } } catch (Exception ex) { ex.printStackTrace(); this.getDao("KgDao").CoreRollBack(result); cro.setV_errCode(-1); cro.setV_errMsg("实绩新增失败!"); } return cro; } /** * 修改酸轧实绩 * * @param coilNo * @param coilWgt * @param coilLen * @param coilWth * @param CoilThk * @param coilInida * @param coilOutdia * @return * @throws SQLException */ public CoreReturnObject updateAcidRollingResult(String coilNo, String coilWgt, String coilLen, String coilWth, String coilThk, String coilIndia, String coilOutdia, String regId) throws SQLException { CoreReturnObject cro = new CoreReturnObject(); String sql = XmlSqlParsersFactory.getSql("UIK020020_01.UPDATE"); this.getDao("KgDao").ExcuteNonQuery( sql, new Object[] { coilLen, coilWth, coilThk, coilIndia, coilOutdia, regId, coilNo }); String sql0 = XmlSqlParsersFactory.getSql("UIK020020_10.UPDATE"); this.getDao("KgDao").ExcuteNonQuery( sql0, new Object[] { coilNo, coilLen, coilIndia, coilOutdia,coilThk, coilWth, coilWgt,regId }); return cro; } /** * 查询酸轧轧制最后20卷 * * @return * @throws SQLException */ public CoreReturnObject queryLastCoilNos() throws SQLException { CoreReturnObject cro = new CoreReturnObject(); String sql = XmlSqlParsersFactory.getSql("UIK020020_05.SELECT"); PreparedStatement pSta = this.getDao("KgDao").getPreparedStatement(sql); ResultSet rs = pSta.executeQuery(); ArrayList list = new ArrayList(); String param = ""; while (rs.next()) { param = rs.getString("COIL_NO"); list.add(param); } cro.setResult(list); rs.close(); Connection con = pSta.getConnection(); pSta.close(); con.close(); return cro; } /** * 酸轧重量及尺寸判定 * * @param conn * @param coilNo * @return * @throws SQLException */ private String dscCoilWgtSize(Connection conn, String coilNo) throws SQLException { // ZL_SUAN_DCS01.DCS_COIL_WGTSIZE(v_rec.EXIT_COIL_ID,P_RETURN_MSG); String retMsg = ""; String sql = XmlSqlParsersFactory.getSql("UIK020020_01.CALL"); CallableStatement cstm = conn.prepareCall(sql); cstm.setString(1, coilNo); cstm.registerOutParameter(2, java.sql.Types.VARCHAR); cstm.execute(); retMsg = cstm.getString(2); cstm.close(); return retMsg; } /** * 分卷后重新生成取样信息 * * @param conn * @param coilNo * @return * @throws SQLException */ private String cutCoilLost(Connection conn, String coilNo) throws SQLException { String retMsg = ""; String sql = XmlSqlParsersFactory.getSql("UIK020020_02.CALL"); CallableStatement cstm = conn.prepareCall(sql); cstm.setString(1, coilNo); cstm.registerOutParameter(2, java.sql.Types.VARCHAR); cstm.execute(); retMsg = cstm.getString(2); cstm.close(); return retMsg; } /** * 补录实绩后调用标签打印 * * @param conn * @param coilNo * @return * @throws SQLException */ private void takeOverPltcmCoilLable(Connection conn, String coilNo, double coilWgt, double coilThk, String millDtime) throws SQLException { String sql = XmlSqlParsersFactory.getSql("UIK020020_03.CALL"); CallableStatement cstm = conn.prepareCall(sql); cstm.setString(1, coilNo); cstm.setDouble(2, coilWgt); cstm.setDouble(3, coilThk); cstm.setString(4, millDtime); cstm.execute(); cstm.close(); } public void CallHistory(Connection conn,String coilNo,String regid){ try{ String sql = XmlSqlParsersFactory.getSql("UIL010020_02_CALL.CALL"); CallableStatement cstm = conn.prepareCall(sql); cstm.setString(1,"S"); cstm.setString(2,coilNo); cstm.setString(3,regid); cstm.setString(4,"酸轧实绩修改"); cstm.setString(5,"UIK020020"); cstm.setString(6,"修改后"); cstm.registerOutParameter(7,Types.VARCHAR); cstm.execute(); cstm.close(); }catch(Exception j){ j.getMessage(); } } }