| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- package UIM.UIM06;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Types;
- import java.util.ArrayList;
- import java.util.Map;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- public class UIM060020 extends CoreIComponent {
- /**
- * 外购卷入库
- *
- * @param coilNo
- * @param entryInfo
- * @param coilInfo
- * @param qltyList
- * @param chemList
- * @return
- * @throws SQLException
- */
- public CoreReturnObject saveCoilYard(String coilNo, String[] entryInfo,
- String[] coilInfo, ArrayList<String[]> qltyList,
- ArrayList<String[]> chemList) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- // 将入库操作信息和垛位信息加入冷轧原料公共表
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm
- .append("insert into c_tbk02_coil_comm (coil_no,coil_stat,cur_prog_cd,cur_prog_cd_dtime\n");
- sqlucomm
- .append(" ,cur_prog_cd_pgm,coil_len,coil_india,coil_outdia,coil_thk,coil_wth,act_wgt\n");
- sqlucomm
- .append(" ,ord_fl,prodnm_cd,spec_abbsym,ord_use_cd,stl_grd,cur_load_loc,cur_load_loc_dtime\n");
- sqlucomm
- .append(" ,yard_entry_reg,yard_entry_shift,yard_entry_group,yard_entry_dtime,yard_entry_use_time\n");
- sqlucomm
- .append(" ,old_sampl_no) values(?,2,'PRC',TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),'UIM060020'\n");
- sqlucomm
- .append(" ,?,?,?,?,?,?,'2',?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),?)\n");
- this.getDao("KgDao").ExcuteNonQuery(
- sqlucomm.toString(),
- new Object[] { coilNo, coilInfo[6], coilInfo[9],
- coilInfo[8], coilInfo[4], coilInfo[5], coilInfo[7],
- coilInfo[3], coilInfo[8], coilInfo[2], coilInfo[1],
- entryInfo[0], entryInfo[4], entryInfo[1],
- entryInfo[2], entryInfo[3], coilNo });
- // 将钢卷信息加入垛位表
- String sqluyard = "update c_tbk08_coil_yard set COIL_NO = ?,COIL_SOURCE = 1, "
- + "MOD_ID = ?, MOD_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')"
- + " where CLF_NAME = substr(?,1,1) and CLF_COL = substr(?,3,2)"
- + " and CLF_ROW = substr(?,7,2) and CLF_FL = DECODE(substr(?,5,1),'A','1','B','2','C','3','1')";
- this.getDao("KgDao").ExcuteNonQuery(
- sqluyard,
- new Object[] { coilNo, entryInfo[4], entryInfo[0],
- entryInfo[0], entryInfo[0], entryInfo[0] });
- // 入库完成后将入库记录加入移垛记录,便于跟踪钢卷移动记录
- long seq = 0;// 移垛记录表主键
- String sqlqmaxseq = "select max(ROLL_SEQ) ROLL_SEQ from c_tbk08_coil_move";
- PreparedStatement pSta = this.getDao("KgDao").getPreparedStatement(
- sqlqmaxseq);
- ResultSet rs = pSta.executeQuery();
- if (rs.next()) {
- seq = rs.getLong("ROLL_SEQ");
- }
- try{
- rs.close();
- Connection con = pSta.getConnection(); //目前未发现有什么作用,暂时屏蔽
- pSta.close();
- con.close();
- } catch (Exception e) {
- }
- String sqlimove = "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)VALUES(?,?,?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))";
- this.getDao("KgDao").ExcuteNonQuery(
- sqlimove,
- new Object[] { seq + 1, "", entryInfo[0], coilNo,
- entryInfo[4], entryInfo[1], entryInfo[2],
- entryInfo[3], entryInfo[4] });
- // 成份信息
- String chargeNo = coilInfo[10];// 炉号
- String procCd = "JJ";// 工序
- String chemSeq = "01";// 次数
- String chemValTp = "L";// 实绩编码
- String chemL2ProcCd = "CP";
- int chemSize = chemList.size();
- for (int i = 0; i < chemSize; i++) {
- String[] param = chemList.get(i);
- String chemCd = param[0];// 元素名
- String chemVal = param[1];// 实际值
- String remark = param[2];// 备注
- StringBuffer chemBuffer = new StringBuffer();
- chemBuffer
- .append(" insert into tbb02_work_ingr(charge_no,proc_cd,chem_seq,chem_cd\n");
- chemBuffer
- .append(" ,chem_val_tp,chem_val,reg_id,reg_dtime,reg_pgm_id,chem_l2_proc_cd,chem_l2_val,ingr_rmk)\n");
- chemBuffer
- .append(" values(?,?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),?,?,?,?)\n");
- this.getDao("KgDao").ExcuteNonQuery(
- chemBuffer.toString(),
- new Object[] { chargeNo, procCd, chemSeq, chemCd,
- chemValTp, chemVal, entryInfo[4],
- "UIM060020", chemL2ProcCd, chemVal, remark });
- }
- // 性能信息
- String proName = "{call ACID_QLTY_DCS.ACID_OUT_SOURCING(?,?,?,?,?,?,?)}";
- Connection proConn = null;
- CallableStatement cs = null;
- try{
- proConn = this.getDao("KgDao").getConnection();
- int qltySize = qltyList.size();
- for (int i = 0; i < qltySize; i++) {
- String[] param = qltyList.get(i);
-
- cs = proConn.prepareCall(proName);
- cs.setString(1, coilNo);
- cs.setString(2, param[0]);
- cs.setString(3, param[1]);
- cs.setString(4, param[2]);
- cs.setString(5, param[3]);
- cs.setString(6, param[4]);
- cs.registerOutParameter(7,Types.VARCHAR);
- cs.execute();
-
- String rtMsg = cs.getString(7);
- cs.close();
-
- if(!rtMsg.equals("YY")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成冷轧外购卷试样号及性能失败!");
- proConn.close();
- this.getDao("KgDao").CoreRollBack(result);// 回滚
- return cro;
- }
- }
- proConn.close();
- }catch(Exception exp){
- exp.printStackTrace();
- if(cs != null){
- cs.close();
- }
- if(proConn != null){
- proConn.close();
- }
- this.getDao("KgDao").CoreRollBack(result);// 回滚
- return cro;
- }
- this.getDao("KgDao").CoreCommit(result);// 提交
- } catch (Exception ex) {
- ex.printStackTrace();
- this.getDao("KgDao").CoreRollBack(result);// 回滚
- }
- return cro;
- }
- /**
- * 查询所有标准号
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject querySpecAbbsymList() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = "SELECT DISTINCT T.SPEC_ABBSYM FROM TBB01_KEY_PROD T";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- /**
- * 查询所有牌号
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject querySpecStlGrdList() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = "SELECT DISTINCT T.SPEC_STL_GRD FROM TBB01_KEY_PROD T";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- /**
- * 查询所有交货状态
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryProdNmList() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = "SELECT DISTINCT T.PRDNM_CD FROM TBB01_KEY_PROD T";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- /**
- * 查询所有订单用途
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryOrdUseTyList() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = "SELECT T.SM_CD , T.SM_CFNM FROM TBZ00_COMMCD T WHERE T.LG_CD = 'A01007' AND UPPER(USED_YN) = 'Y' ORDER BY SM_CFNM";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- return cro;
- }
- /**
- * 查询所有成份信息
- *
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryChemList() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = new StringBuffer();
- sqlBuffer.append(" SELECT \n");
- sqlBuffer.append(" T1.CHEM_CD \n");
- sqlBuffer
- .append(" ,( CASE WHEN T1.COMP_YN = 'Y' THEN (CASE WHEN T1.COMP_DETAIL='复合元素' THEN T1.COMP_CAL ELSE T1.COMP_DETAIL END ) ELSE T1.CHEM_CD END ) CHEM_DIS \n");
- sqlBuffer
- .append(" FROM TBB01_SEQ_INGR T1 ORDER BY T1.COMP_YN,T1.DISPLAY_SEQ \n");
- cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString());
- return cro;
- }
- /**
- * 查询材质信息
- *
- * @param prdNmCd
- * @param specAbbsym
- * @param specStlGrd
- * @param ordUseTp
- * @param thk
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryQltyList(String prdNmCd, String specAbbsym,
- String specStlGrd, String ordUseTp, Double thk) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("SELECT t1.QLTY_CD_CFNM , T2.QLTY_MIN , T2.QLTY_MAX FROM TBB01_SEQ_QLTY T1 , TBB01_SPEC_QLTY T2\n");
- sqlBuffer
- .append(" WHERE T1.QLTY_CD = T2.QLTY_CD(+)\n");
- sqlBuffer.append(" AND T2.PRDNM_CD(+) = ? --交货状态\n");
- sqlBuffer.append(" AND T2.SPEC_ABBSYM(+) = ? --标准号\n");
- sqlBuffer.append(" AND T2.SPEC_STL_GRD(+) = ? --标准牌号\n");
- sqlBuffer.append(" AND T2.ORD_USE_TP(+) = ? --订单用途\n");
- sqlBuffer.append(" AND T2.THK_MIN(+) <= ? --厚度\n");
- sqlBuffer.append(" AND T2.THK_MAX(+) >= ? --厚度\n");
- cro = this.getDao("KgDao").ExcuteQuery(
- sqlBuffer.toString(),
- new Object[] { prdNmCd, specAbbsym, specAbbsym, ordUseTp, thk,
- thk });
- return cro;
- }
- public CoreReturnObject queryColdCoilNo(String coilNo) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- int haveCoil = 0;
- String sql = "select count(coil_no) count from c_tbk02_coil_comm where coil_no = '"
- + coilNo + "'";
- PreparedStatement pretStat = this.getDao("KgDao").getPreparedStatement(sql);
- ResultSet rs = pretStat.executeQuery();
- if (rs.next()) {
- haveCoil = rs.getInt("COUNT");
- }
- cro.setResult(haveCoil);
- try{
- rs.close();
- Connection con = pretStat.getConnection(); //关闭连接
- pretStat.close();
- con.close();
- } catch (Exception e) {
- }
- return cro;
- }
- }
|