Example #1
0
  public String insertData(
      String resultsetname,
      String resultdesc,
      String resultPermission,
      String reportids,
      String repFlag,
      String queryID,
      SimpleJdbcTemplate template,
      Timestamp dstamp)
      throws Exception {
    log.info("insert----> ");
    PreparedStatement ps1 = null;
    PreparedStatement ps2 = null;
    ApplicationContext ctx = AppContext.getApplicationContext();
    com.nrg.lau.dao.SharedConnectionDAO shConnection =
        (com.nrg.lau.dao.SharedConnectionDAO) ctx.getBean("getSharedConnection");
    Connection con = shConnection.getConVerify();
    String success = "";
    // queryID = "";
    try {
      long queryRsltID = CommonDAO.getUniqueId(template);

      log.info("Generated Primary Key for save resultset  -> " + queryRsltID);

      log.info("queryRsltID------------" + queryRsltID);
      log.info("queryID----------------" + queryID);
      log.info("resultsetname----------" + resultsetname);
      log.info("resultdesc-------------" + resultdesc);
      log.info("resultPermission-------------" + resultPermission);
      log.info("userId-----------------" + userId);
      log.info("dt---------------------" + dstamp);
      log.info("queryRsltID------------" + queryRsltID);

      ps1 = con.prepareStatement(sqlParent);
      ps1.setLong(1, queryRsltID);
      ps1.setString(2, "");
      ps1.setString(3, resultsetname);
      ps1.setString(4, resultdesc);
      ps1.setString(5, userId);
      ps1.setObject(6, dstamp);
      ps1.setString(7, userId);
      ps1.setObject(8, dstamp);
      ps1.setString(9, resultPermission);
      ps1.addBatch();

      ps2 = con.prepareStatement(sqlChild);

      String strReportIds = reportids;
      String[] reportIdArray = strReportIds.split(",");

      for (int i = 0; i < reportIdArray.length; i++) {
        String rprtId = reportIdArray[i];
        Long rptId = Long.valueOf(rprtId);
        // log.info(" rptId-----------"+rptId);
        ps2.setLong(1, queryRsltID);
        ps2.setLong(2, rptId);
        ps2.setString(3, repFlag);
        ps2.setString(4, userId);
        ps2.setObject(5, dstamp);
        ps2.addBatch();
      }

      log.info(" Start Batch execute------------------------------------------------");
      int[] rtn1 = ps1.executeBatch();
      log.info(" rtn1---------" + rtn1);
      ps1.close();
      log.info(" END executeBatch 1------------------------------------------------:");

      int[] rtn2 = ps2.executeBatch();

      log.info(" rtn2 length---------" + rtn2.length);
      log.info(" rtn2 data##### " + rtn2[0]);
      success = Integer.toString(rtn2[0]);

      ps2.close();
      log.info(" END executeBatch 2------------------------------------------------:");
      con.commit();
    } catch (Exception e) {
      log.error("IN --" + e);
      con.rollback();
      log.error("IN -- Rollback---");
      throw new Exception(e);
    } finally {
      try {
        try {
          if (ps1 != null) ps1.close();
        } catch (Exception e) {
          log.error(e, e);
        }

        try {
          if (ps2 != null) ps2.close();
        } catch (Exception e) {
          log.error(e, e);
        }

        if (con != null) con.close();
      } catch (Exception e) {
        log.error("Error -- " + e);
      }
    }
    return success;
  }