⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temptabledispose.java

📁 SAP这个系统的一个转换器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   * @param vec1 --- SQL
   * @param ablename --- 临时表名
   * @param file ----idoc文件
   * @return boolean
   */

  public boolean dealData(Vector vec1, String tablename, File file,String type) {

    DBQueryBean dbquery = new DBQueryBean();
    query = new DBQueryBean();
    boolean flag = false;

    int sign = 0;
    if (vec1 == null) {
      return false;
    }
    try {
      // 把解析数据插入中间数据库表
      flag = query.doAffair(vec1);
      if (flag == false) {
        throw new Throwable("error");
      }
      // 写日志
    }
    catch (Throwable e) {
      System.out.println("中间数据库表" + e.toString());
      // flag = false;
      // 写日志
    }

    if (!flag) {
      for (int i = 0; i < vec1.size(); i++) {
// System.out.println("i = " + i + " --> " + (String) vec1.get(i));
        try {
          sign = dbquery.Update(vec1.get(i).toString());
          if (sign < 0) {
            throw new Throwable("error");
          }
        }
        catch (Throwable e1) {
          //System.out.println("中间数据库表一行"+e1.toString());
          // 写日志
        }
        if (sign < 0) {
          String ts = (String) vec1.get(i);
          ts = ts.replaceAll(tablename, "T_" + tablename);
          try {
            sign = dbquery.Update(ts);
  // System.out.println("i = " + i + " --> " + ts);
            if (sign >= 0) {
              flag = true;
            }
            if (sign < 0) {
              throw new Throwable("error");
            }
          }
          catch (Throwable e2) {
            System.out.println("临时数据库表一行" + e2.toString());
            //sign = -1;
            // 写日志
            flag = false;
          }
        }
      }
    }
    query.close();
    dbquery.close();
    return flag;
  }

  //对数据库表的访问控制查询
  /**
   * @param tablename --- 中间表名称
   * @return boolean  --- 如果此表可操作则true,否则false
   */
  public boolean queryTableAc(String tablename) {
    query = new DBQueryBean();
    RowSet rowset = null;
    boolean flag = false;
    String sql = null;
    sql = "Select tableid From interface_sy_ac Where tableid = '" + tablename +
        "' and("
        + "flag = 1 or flag = 3)";
    try {
      int num = 0;
      rowset = query.Query(sql);
      num = rowset.length();
      if (num > 0) {
        flag = true;
      }
      else {
        flag = false;
      }
    }
    catch (Exception e) {
      System.out.println("访问控制" + e.toString());
    }
    query.close();
    return flag;
  }

  //将数据库表的访问控制标志改为0即此表现正在操作,1表示操作完成
  /**
   * @param tablename --- 中间表名称
   * @return boolean  --- 如果操作成功则true,否则false
   */
  public boolean updateFlag(String tablename, int f) {
    query = new DBQueryBean();
    boolean flag = false;
    String sql = null;
    int sign = 0;
    sql = "Update interface_sy_ac Set flag = " + f + "  Where  tableid = '" +
        tablename + "'";
    try {
      sign = query.Update(sql);
      if (sign != -1) {
        flag = true;
      }
      if (sign < 0) {
        throw new Throwable("error");
      }
    }
    catch (Throwable e) {
      flag = false;
      //System.out.println();
    }
    query.close();
    return flag;
  }

  /**
   * 批量处理
   * @param vec
   * @param type
   * @return
   */
  //类目使用,DiscountParse(类目折扣)使用,ean,set都用的它,inventory,storeage,publish也用它
  public boolean disposeData(Vector vec,File file,String type) {
    if (vec==null) return false;
    boolean flag = false;
    DBQueryBean query = new DBQueryBean();
    RowSet rowSet = null;
    LogManager log = new LogManager();
    Vector l_vec = new Vector();
    try {
      rowSet = prepareCall(query,type);
    }catch(Exception ex) {
      ex.printStackTrace();
      l_vec.add(0,"");
      l_vec.add(1,"");
      l_vec.add(2,file.getName());
      l_vec.add(3,type);
      l_vec.add(4,"");
      l_vec.add(5,"out");
      l_vec.add(6,"第一次调用prepareCall失败!");
      l_vec.add(7,"getDate()");
      l_vec.add(8, String.valueOf(vec.size()));
      l_vec.add(9,"0");// 0:失败;1:成功
      l_vec.add(10,"0");
      log.WriteLog(l_vec);
      query.close();
      return false;
    }
    try {
      flag = query.doAffair(vec);
    }catch(Exception ex) {
      //
      l_vec.add(0,"");
      l_vec.add(1,"");
      l_vec.add(2,file.getName());
      l_vec.add(3,type);
      l_vec.add(4,"");
      l_vec.add(5,"out");
      l_vec.add(6,"批量写入数据库‘" + type + "’不成功!");
      l_vec.add(7,"getDate()");
      l_vec.add(8, String.valueOf(vec.size()));
      l_vec.add(9,"0");// 0:失败;1:成功
      l_vec.add(10,"0");
      log.WriteDisposeLog(query,l_vec);
      query.close();
      System.out.println("TempTableDispose's disposeData is Error!");
      ex.printStackTrace();
      return false;
    }
    try {

      rowSet = prepareCall(query,type);

    }catch(Exception ex) {
      System.out.println("TempTableDispose's disposeData getRowSet is Error!");
      ex.printStackTrace();
      query.close();
      return false;
    }
    if (rowSet==null || rowSet.length()<1) {
      l_vec.add(0,"");
      l_vec.add(1,"");
      l_vec.add(2,file.getName());
      l_vec.add(3,type);
      l_vec.add(4,"");
      l_vec.add(5,"out");
      l_vec.add(6,"批量写入数据库‘" + type + "’不成功!");
      l_vec.add(7,"getDate()");
      l_vec.add(8, String.valueOf(vec.size()));
      l_vec.add(9,"0");// 0:失败;1:成功
      l_vec.add(10,"0");
      log.WriteDisposeLog(query,l_vec);
      query.close();
      return false;
    } else {

      l_vec.add(0, "");
      l_vec.add(1, "");
      l_vec.add(2, file.getName());
      l_vec.add(3, type);
      l_vec.add(4, "");
      l_vec.add(5, "out");
      l_vec.add(6, "批量写入数据库‘" + type + "’成功!");
      l_vec.add(7, "getDate()");
      l_vec.add(8, String.valueOf(vec.size()));
      l_vec.add(9, "1");// 0:失败;1:成功
      l_vec.add(10, "0");// 1:管理员看;0:界面查询

      // 修改的数据
      log.WriteLog(l_vec);
    }

    query.close();
    return flag;
  }

  /**
   * 处理商品住数据的批量处理
   * @param vec1
   * @param vec2
   * @param type
   * @return
   */
  //主数据用它
  public boolean disposeData(Vector vec1,Vector vec2,File file,String type) {
    if (vec1==null || vec1.size()<1) return false;
    boolean flag = false;
    Vector vec = new Vector();
    // 把解析数据插入中间数据库表
    try {
      vec = Operate.uniteVector(vec, vec1);

      vec = Operate.uniteVector(vec, vec2);

      flag = disposeData(vec, file, type);
    }catch(Exception ex) {
      flag = false;
    }
    return flag;
  }

  /**
   * 调用储存过程
   * @param type
   * @return
   */
  public RowSet prepareCall(DBQueryBean query,String type) {
    Vector vec = new Vector();
    Object[] obj = new Object[2];
    String up_name = "DataSynch";
    if (type.equalsIgnoreCase("material")) {
      obj[0] = "T_SAPIN_SY_MASTER_Merch";
      obj[1] = "SAPIN_SY_MASTER_Merch";
    } else if (type.equalsIgnoreCase("price")) {
      obj[0] = "T_SAPIN_SY_MASTER_PRICE";
      obj[1] = "SAPIN_SY_MASTER_PRICE";
    } else if (type.equalsIgnoreCase("ean")) {
      obj[0] = "T_SAPIN_SY_MASTER_EAN";
      obj[1] = "SAPIN_SY_MASTER_EAN";
    } else if (type.equalsIgnoreCase("catalog")) {
      obj[0] = "T_SAPIN_SY_MASTER_Merch_CATE";
      obj[1] = "SAPIN_SY_MASTER_Merch_CATE";
    } else if (type.equalsIgnoreCase("storage")) {
      obj[0] = "T_SAPIN_SY_Storage_Info";
      obj[1] = "SAPIN_SY_Storage_Info";
    } else if (type.equalsIgnoreCase("set")) {
      obj[0] = "T_SAPIN_SY_MASTER_SUIT";
      obj[1] = "SAPIN_SY_MASTER_SUIT";
    } else if (type.equalsIgnoreCase("publish")) {
      obj[0] = "T_SAPIN_SY_publishing_List";
      obj[1] = "SAPIN_SY_publishing_List";
    } else if (type.equalsIgnoreCase("inventory")) {
      obj[0] = "T_SAPIN_SY_CheckList_Down";
      obj[1] = "SAPIN_SY_CheckList_Down";
    } else if (type.equalsIgnoreCase("discount")) {
      obj[0] = "T_SAPIN_SY_MASTER_CATE_DISCOUNT";
      obj[1] = "SAPIN_SY_MASTER_CATE_DISCOUNT";
    }

    try {
      vec = query.QueryBySP("DataSynch", obj);
    }catch(Exception ex) {
      System.out.println("TempTableDispose's prepareCall is Error!");
      ex.printStackTrace();
      return null;
    }
    RowSet rowSet = null;
    try {
      if (vec != null && vec.size() > 0)
        rowSet = (RowSet) vec.get(0);
      //Row row = rowSet.get(0);
    }catch(Exception ex) {
      System.out.println("discount");
      ex.printStackTrace();
      rowSet = new RowSet();
    }
//System.out.println("row = " + row.get(0) + " -  > " + rowSet.length());
   // query.close();
    return rowSet;
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -