package UIM.UIM02; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.CallableStatement; import java.sql.Connection; import UIB.COM.ProduceFactory; import UIB.COM.XmlSqlParsersFactory; import CoreFS.SA01.CoreIComponent; import CoreFS.SA06.CoreReturnObject; /** * 连退上料管理 * * @author siy * @date 2011-8-2 */ public class UIM020030 extends CoreIComponent { /** * 查询连退作业计划 * * @return * @throws SQLException */ public CoreReturnObject queryCalPlan() throws SQLException { String sql = XmlSqlParsersFactory.getSql("UIM020030_01.SELECT"); return this.getDao("KgDao").ExcuteQuery(sql); } public CoreReturnObject queryCalPlan2() throws SQLException { String sql = XmlSqlParsersFactory.getSql("UIM020030_05.SELECT"); return this.getDao("KgDao").ExcuteQuery(sql); } public CoreReturnObject queryAddClassInf() throws SQLException { String sql = XmlSqlParsersFactory.getSql("UIM020030_02.SELECT"); return this.getDao("KgDao").ExcuteQuery(sql); } public CoreReturnObject queryAddClassInf2() throws SQLException { String sql = XmlSqlParsersFactory.getSql("UIM020030_06.SELECT"); return this.getDao("KgDao").ExcuteQuery(sql); } /** * 当前垛位上层是否存在钢卷 * * @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 clfRow = yardAddrs.substring(2, 4); String clfCol = 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_ROW = "); sqlBuffer.append(Integer.parseInt(clfRow, 10)); sqlBuffer.append("\n"); sqlBuffer.append(" and clf_fl = "); sqlBuffer.append(Integer.parseInt(clfFl, 10) + 1); sqlBuffer.append("\n"); sqlBuffer.append(" and clf_COL in ("); sqlBuffer.append(Integer.parseInt(clfCol, 10) - 1); sqlBuffer.append(","); sqlBuffer.append(Integer.parseInt(clfCol, 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 l_coilNo * @param millSeqCd * @param trnfReg * @param trnfShift * @param trnfGroup * @param trnfDTime * @return * @throws SQLException * @throws SQLException */ public CoreReturnObject outStockByCal(String calNo, String coilNo, String l_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 L_TBF03_SPEC_MILL A WHERE A.CAL_NO = '" + calNo + "' AND A.C_COIL_NO = '" + coilNo + "' AND A.STATUS_CD = 'A'\n"; PreparedStatement pSta = conn.prepareStatement(sql); ResultSet rs = pSta.executeQuery(); if (rs.next()) { ProduceFactory PD= new ProduceFactory(); PD.ErpDataCover("CCOIL",coilNo,"41A","0","O",trnfReg,"连退轧制"); //人工上料发送异动点 // 修改钢卷公共表钢卷状态,清除垛位,生成出库记录 String befProgCd = ""; String befProgCdTime = ""; String befProgCdPgm = ""; String V_ACT_WGT = ""; String ordNo = "", ordSeq = ""; String curLoadLoc = ""; String qSql = "select cur_prog_cd,cur_prog_cd_dtime,cur_prog_cd_pgm,ACT_WGT,ord_no,ord_seq,cur_load_loc from c_tbl02_coil_comm where COIL_NO = '" + coilNo + "'\n"; 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"); ordNo = rs2.getString("ORD_NO"); ordSeq = rs2.getString("ORD_SEQ"); curLoadLoc = rs2.getString("CUR_LOAD_LOC"); } 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(); try{ pSta1.close(); //添加了关闭pSta1 } catch (Exception e) { } sqlBuffer = new StringBuffer(); sqlBuffer .append("update c_tbl02_coil_comm set coil_stat = '3',cur_prog_cd = 'CCC'\n");// 取消状态位 sqlBuffer .append(" ,cur_prog_cd_dtime = to_char(sysdate,'YYYYMMDDHH24MISS')\n"); sqlBuffer.append(" ,cur_prog_cd_pgm = 'UIM020030'\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(" ,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 l_tbf03_spec_mill \n"); sqlBuffer.append(" set \n"); sqlBuffer.append(" STATUS_CD = 'B' \n"); sqlBuffer.append(" where \n"); sqlBuffer.append(" cal_no = ?\n"); sqlBuffer.append(" and c_coil_no = ?\n"); sqlBuffer.append(" and STATUS_CD = 'A'\n"); pSta1 = conn.prepareStatement(sqlBuffer.toString()); pSta1.setString(1, calNo); pSta1.setString(2, coilNo); pSta1.executeUpdate(); pSta1.close(); // 清除垛位表钢卷 String sql1 = "select CLF_NO from c_tbk08_coil_yard where coil_no = '" + coilNo + "'\n"; pSta1 = conn.prepareStatement(sql1); ResultSet rs3 = pSta1.executeQuery(); if (rs3.next()) { String clfNo = rs3.getString("CLF_NO"); sqlBuffer = new StringBuffer(); sqlBuffer .append("update c_tbk08_coil_yard set coil_no = '' where CLF_NO = ?"); PreparedStatement pSta3 = conn.prepareStatement(sqlBuffer .toString()); pSta3.setString(1, clfNo); pSta3.executeUpdate(); pSta3.close(); } rs3.close(); pSta1.close(); // 冷轧卷信息 插入成品库C_TBC02_COIL_COMM String ssql = "SELECT A.L_COIL_NO FROM L_TBF03_SPEC_MILL A WHERE A.C_COIL_NO ='" + coilNo + "' and L_COIL_NO = '" + l_coilNo + "'"; pSta1 = conn.prepareStatement(ssql); ResultSet rrs1 = pSta1.executeQuery(); if (rrs1.next()) { // 删除成品公共表 String sqlD = XmlSqlParsersFactory .getSql("UIM020030_03.DELETE"); PreparedStatement pStaD = conn.prepareStatement(sqlD); pStaD.setString(1, coilNo); pStaD.executeUpdate(); pStaD.close(); // 插入钢卷成品表 String sqlI = XmlSqlParsersFactory .getSql("UIM020030_01.INSERT"); PreparedStatement pStaI = conn.prepareStatement(sqlI); pStaI.setString(1, coilNo); pStaI.executeUpdate(); pStaI.close(); // 删除钢卷成品_D表 sqlD = XmlSqlParsersFactory .getSql("UIM020030_01.DELETE"); pStaD = conn.prepareStatement(sqlD); pStaD.setString(1, coilNo); pStaD.executeUpdate(); pStaD.close(); // 插入钢卷成品_D表 sqlI = XmlSqlParsersFactory.getSql("UIM020030_02.INSERT"); pStaI = conn.prepareStatement(sqlI); pStaI.setString(1, coilNo); pStaI.executeUpdate(); pStaI.close(); // 订单标记 this.SAVE_ORD_STS("", "", ordNo, ordSeq, befProgCd, "CCC", "CR", coilNo, V_ACT_WGT, "UIM020030", trnfReg); // 订单整理 this.ORD_STS_MAIN("UIM020030", trnfReg); } rrs1.close(); pSta1.close(); conn.commit(); } else { cro.setV_errCode(-1); cro.setV_errMsg("输入的钢卷号不在连退计划中,请重新查询后再进行上料操作!"); } rs.close(); pSta.close(); } catch (SQLException ex) { if (conn != null) { conn.rollback(); //ex.printStackTrace(); } cro.setV_errCode(-1); cro.setV_errMsg("上料失败!"); } finally { if (conn != null && !conn.isClosed()) { conn.close(); } } return cro; } /** * 查询钢卷是否已经上料了 */ public CoreReturnObject isReceivedL2(String calNo, String coilNo) throws SQLException { String sqlQuery = "select L.COIL_EDT_SEQ from L_TBF03_SPEC_MILL L where L.STATUS_CD in('B','C','D') AND L.CAL_NO = ? AND L.C_COIL_NO = ?"; return this.getDao("KgDao").ExcuteQuery(sqlQuery, new Object[] { calNo, coilNo }); } /* * 电文修改后,插入操作人,操作时间,操作班组 */ public CoreReturnObject insertInformation(String trnfRegId, String trnfShift, String trnfGroup, String trnfDTime, String coilNo) throws SQLException { String sqlQuery = "update c_tbl02_coil_comm set TRNF_REG =?, TRNF_SHIFT=?, TRNF_GROUP=?, TRNF_DTIME=?,trnf_use_time=to_char(sysdate,'YYYYMMDDHH24MISS') where OLD_SAMPL_NO = ? "; Object[] obj = new Object[] { trnfRegId, trnfShift, trnfGroup, trnfDTime, coilNo }; return this.getDao("KgDao").ExcuteNonQuery(sqlQuery, obj); } /** * 钢卷吊销入库 * * @param coilNo * @param yardAddr * @param millSeqCd * @param trnfReg * @param trnfShift * @param trnfGroup * @param trnfDTime * @return * @throws SQLException */ public CoreReturnObject selectCoilYard(String yardAddr) throws SQLException { String sqlQuery = "select coil_no from c_tbk08_coil_yard where clf_no = C_PKG_UIM.GET_MIDDLEYARDNO_BYYARDFLAG(?)"; // cro = this.getDao("KgDao").ExcuteQuery(sqlQuery); return this.getDao("KgDao").ExcuteQuery(sqlQuery, new Object[] { yardAddr }); } public CoreReturnObject saveCoilYard(String calNo, 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); // 判断垛位是否存在 String sqlYard = "select t.clf_no from c_tbk08_coil_yard t where t.clf_no = C_PKG_UIM.GET_MIDDLEYARDNO_BYYARDFLAG(?)"; PreparedStatement pStaYard = conn.prepareStatement(sqlYard); pStaYard.setString(1, yardAddr); ResultSet rsYard = pStaYard.executeQuery(); if (rsYard.next()) { String clfNo = rsYard.getString("CLF_NO"); // 修改公共表信息 sqlBuff = new StringBuffer(); sqlBuff.append("update c_tbl02_coil_comm T set T.COIL_STAT = ?\n"); sqlBuff.append(",T.CUR_PROG_CD = ?\n"); sqlBuff.append(",T.ORG_ORD_NO =T.ORD_NO \n"); //吊销后变余材 20121205 sqlBuff.append(",T.ORG_ORD_SEQ =T.ORD_SEQ \n"); //吊销后变余材 20121205 sqlBuff.append(",T.ORD_SEQ=''\n"); //吊销后变余材 20121205 sqlBuff.append(",T.ORD_NO=''\n"); //吊销后变余材 20121205 sqlBuff.append(",T.ORD_FL ='2'\n"); //吊销后变余材 20121205 sqlBuff.append(",T.CUR_LOAD_LOC = ?\n"); sqlBuff.append(",T.FL = ?\n"); sqlBuff.append(",T.IN_YARD_KIND = ?\n"); sqlBuff.append(",T.CUR_LOAD_LOC_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n"); sqlBuff.append(",T.YARD_ENTRY_SHIFT = ?\n"); sqlBuff.append(",T.YARD_ENTRY_GROUP = ?\n"); sqlBuff.append(",T.YARD_ENTRY_REG = ?\n"); sqlBuff.append(",T.bef_prog_cd = ?\n"); sqlBuff.append(",T.YARD_ENTRY_DTIME = ?\n"); sqlBuff.append(",T.YARD_ENTRY_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')\n"); sqlBuff.append(",T.TRNF_REG = '',T.TRNF_SHIFT = '',T.TRNF_GROUP='',T.TRNF_USE_TIME='',T.TRNF_DTIME=''\n"); sqlBuff.append("WHERE T.OLD_SAMPL_NO = ?\n"); System.out.print(sqlBuff.toString()); pSta1 = conn.prepareStatement(sqlBuff.toString()); pSta1.setString(1, "2"); pSta1.setString(2, "CRC");//吊销后改成酸轧成品充当待机20121205 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(); //修改-D表数据 sqlBuff = new StringBuffer("UPDATE C_TBL02_COIL_COMM_D T SET T.ORD_FL='2' ,T.ORD_NO='',T.ORD_SEQ='' WHERE T.L_COIL_NO= ? "); pSta1 = conn.prepareStatement(sqlBuff.toString()); pSta1.setString(1, coilNo); pSta1.executeUpdate(); pSta1.close(); //清空原垛位 sqlBuff = new StringBuffer("update c_tbk08_coil_yard t set t.COIL_NO = '' where t.COIL_NO = ?"); pSta1 = conn.prepareStatement(sqlBuff.toString()); pSta1.setString(1, coilNo); pSta1.executeUpdate(); pSta1.close(); //加入新垛位 sqlBuff = new StringBuffer("update c_tbk08_coil_yard t set t.COIL_NO = ? where t.CLF_NO = ?"); pSta1 = conn.prepareStatement(sqlBuff.toString()); pSta1.setString(1, coilNo); pSta1.setString(2, clfNo); pSta1.executeUpdate(); pSta1.close(); // 修改酸轧计划状态 sqlBuff = new StringBuffer(); sqlBuff.append("update l_tbf03_spec_mill set STATUS_CD = ?\n"); sqlBuff.append("where c_coil_no = ?\n"); pSta1 = conn.prepareStatement(sqlBuff.toString()); pSta1.setString(1, "E"); pSta1.setString(2, coilNo); 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(); sqlBuff = new StringBuffer(); sqlBuff.append("update l_tbf03_spec_cal set STATUS_CD = ?\n"); sqlBuff.append(" where cal_no = ?\n"); sqlBuff .append(" AND STATUS_CD <> 'D' and (select count(l_coil_no) from l_tbf03_spec_mill where cal_no = ?\n"); sqlBuff .append(" ) =(select count(l_coil_no) from l_tbf03_spec_mill where cal_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, calNo); pSta1.setString(3, calNo); pSta1.setString(4, calNo); pSta1.executeUpdate(); pSta1.close(); String lCoilNo = ""; String sqlQ = XmlSqlParsersFactory .getSql("UIM020030_04.SELECT"); PreparedStatement pStaQ = conn.prepareStatement(sqlQ); pStaQ.setString(1, calNo); pStaQ.setString(2, coilNo); ResultSet rsQ = pStaQ.executeQuery(); if (rsQ.next()) { lCoilNo = rsQ.getString("L_COIL_NO"); } try{ rsQ.close(); //添加了关闭rsQ; pStaQ.close(); //添加了关闭pStaQ; } catch (Exception e) { } if (lCoilNo != null && !lCoilNo.equals("")) { // 取消取样标识 deleteLot(conn, lCoilNo); // 吊销后删除成品表数据 String sql = XmlSqlParsersFactory .getSql("UIM020030_02.DELETE"); pSta1 = conn.prepareStatement(sql); pSta1.setString(1, lCoilNo); pSta1.executeUpdate(); pSta1.close(); } } else { cro.setV_errCode(new Integer(3)); cro.setV_errMsg("垛位不存在!"); } rsYard.close(); pStaYard.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("吊销失败!"); // } conn.commit(); } catch (Exception ex) { System.out.print(ex.toString()); if (conn != null) { conn.rollback(); } cro.setV_errCode(-1); cro.setV_errMsg("吊销失败!"); } finally { if (conn != null && !conn.isClosed()) { conn.close(); } } return cro; } /** * 取消取样标识 * * @param conn * @param lCoilNo * @return * @throws SQLException */ private boolean deleteLot(Connection conn, String lCoilNo) throws SQLException { boolean flag = false; String rtMsg = ""; String sql = XmlSqlParsersFactory.getSql("UIM020030_01.CALL"); CallableStatement cstm = conn.prepareCall(sql); cstm.setString(1, lCoilNo); cstm.registerOutParameter(2, java.sql.Types.VARCHAR); cstm.execute(); rtMsg = cstm.getString(2); cstm.close(); if (rtMsg.equals("YY")) { flag = true; } return flag; } // 调用计划重新下发函数 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; } }