Esempio n. 1
0
  /** 扩展基类的preDelete方法,对实际业务做删除前的检验 */
  public int preDelete(
      SessionContext ctx,
      DatabaseConnection conn,
      FormInstance instance,
      ErrorMessages msgs,
      EventManager manager,
      SqlAssistor assistor) {

    String cltNo = ctx.getParameter("CLIENTNO");

    String bmStr = "select * from bmtable where clientno='" + cltNo + "'";
    RecordSet bmRs = conn.executeQuery(bmStr);
    if (bmRs.next()) {
      msgs.add("还有业务没有删除");
      return -1;
    }

    RecordSet rs = conn.executeQuery("select id from CMINDVCLIENT where clientno='" + cltNo + "'");

    if (!rs.next()) {
      msgs.add("取得id失败!");
      return -1;
    } else {
      String id = rs.getString("ID");
      String tempStr = "select * from bmguarantor where id='" + id + "'";
      // System.out.println(tempStr);
      RecordSet tempRs = conn.executeQuery(tempStr);
      if (tempRs.next()) {
        msgs.add("还有担保的贷款,不能删除!");
        return -1;
      }
    }

    String sql1[] = new String[4];
    sql1[0] = "delete from CMINDVRELA where clientno='" + cltNo + "'";
    sql1[1] = "delete from CMINDVASSET where clientno='" + cltNo + "'"; //
    sql1[2] = "delete from CMINDVDEBT where clientno='" + cltNo + "'"; //
    sql1[3] = "delete from CMINDVDEBTPAYMENT where clientno='" + cltNo + "'"; //
    String sql2 = "";
    for (int i = 0; i < sql1.length; i++) {
      sql2 += sql1[i] + ";";
    }
    sql2 = sql2.substring(0, sql2.length() - 1);
    // System.out.println(sql2);
    int ret = conn.executeUpdate(sql2);
    return ret;
  }
Esempio n. 2
0
  public int buttonEvent(
      SessionContext ctx,
      DatabaseConnection conn,
      FormInstance instance,
      String button,
      ErrorMessages msgs,
      EventManager manager) {
    // String CLIENTNO = instance.getStringValue("CLIENTNO");
    String CLIENTNO = strClientNo;
    // String CLIENTNO = ctx.getParameter("CLIENTNO");
    if (CLIENTNO == null || CLIENTNO.length() < 1 || CLIENTNO.equals("自动生成")) {
      System.out.println(CLIENTNO);
      msgs.add("请确定个人客户资料信息已经存在!");
      return -1;
    }
    // setRequestAtrribute
    ctx.setRequestAtrribute("flag", flag);
    ctx.setRequestAtrribute("CLIENTNO", CLIENTNO);

    if (button.equals("CMINDVRELA")) {
      trigger(manager, "100012", null);
    } else if (button.equals("BMRQL")) {
      trigger(manager, "BMRQL1", null);
    } else if (button.equals("BMCREDITLMAINTPAGE")) {
      trigger(manager, "BMCREDITLMAINTPAGE", null);
    } else if (button.equals("PHOTO")) {
      // ctx.setRequestAtrribute("PHOTONO",ctx.getParameter("PHOTONO"));
      ctx.setRequestAtrribute("TABLENAME", "CMINDVCLIENT");
      ctx.setRequestAtrribute("WHERECONDITION", "clientno='" + CLIENTNO + "'");
      ctx.setRequestAtrribute("title", "个人客户图片");
      ctx.setRequestAtrribute("flag", this.flag);
      ctx.setTarget("/photo/photo.jsp");
    } else if (button.equals("CREDIT")) {
      RecordSet rs =
          conn.executeQuery("select id from CMINDVCLIENT where clientno='" + CLIENTNO + "'");
      if (!rs.next()) {
        msgs.add("取得id失败!");
        return -1;
      }
      String id = rs.getString("ID");
      ctx.setRequestAtrribute("ID", id);
      trigger(manager, "GUARANTORCREDITLIST", null);
      return 0;
    }

    /**
     * else if (button.equals("CMINDVASSET")) { trigger(manager, "100013", null); } else if
     * (button.equals("CMINDVDEBT")) { trigger(manager, "100014", null); } else if
     * (button.equals("CMINDVDEBTPAYMENT")) { trigger(manager, "100015", null); }
     */
    return 0;
  }
Esempio n. 3
0
 public static List<WikiMessage> upgrade070(List<WikiMessage> messages) throws WikiException {
   TransactionStatus status = null;
   try {
     status = DatabaseConnection.startTransaction(getTransactionDefinition());
     Connection conn = DatabaseConnection.getConnection();
     // add characters_changed column to jam_topic_version
     WikiBase.getDataHandler()
         .executeUpgradeUpdate("UPGRADE_070_ADD_TOPIC_VERSION_CHARACTERS_CHANGED", conn);
     messages.add(
         new WikiMessage(
             "upgrade.message.db.column.added", "characters_changed", "jam_topic_version"));
     // add characters_changed column to jam_recent_change
     WikiBase.getDataHandler()
         .executeUpgradeUpdate("UPGRADE_070_ADD_RECENT_CHANGE_CHARACTERS_CHANGED", conn);
     messages.add(
         new WikiMessage(
             "upgrade.message.db.column.added", "characters_changed", "jam_recent_change"));
     // copy columns from jam_wiki_user_info into jam_wiki_user
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_ADD_USER_EMAIL", conn);
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_UPDATE_USER_EMAIL", conn);
     messages.add(new WikiMessage("upgrade.message.db.column.added", "email", "jam_wiki_user"));
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_ADD_USER_EDITOR", conn);
     messages.add(new WikiMessage("upgrade.message.db.column.added", "editor", "jam_wiki_user"));
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_ADD_USER_SIGNATURE", conn);
     messages.add(
         new WikiMessage("upgrade.message.db.column.added", "signature", "jam_wiki_user"));
     WikiBase.getDataHandler().executeUpgradeUpdate("STATEMENT_CREATE_USERS_TABLE", conn);
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_INSERT_USERS", conn);
     messages.add(new WikiMessage("upgrade.message.db.table.added", "jam_users"));
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_DROP_USER_REMEMBER_KEY", conn);
     messages.add(
         new WikiMessage("upgrade.message.db.column.dropped", "remember_key", "jam_wiki_user"));
     WikiBase.getDataHandler().executeUpgradeUpdate("STATEMENT_CREATE_AUTHORITIES_TABLE", conn);
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_INSERT_AUTHORITIES", conn);
     messages.add(new WikiMessage("upgrade.message.db.table.added", "jam_authorities"));
     WikiBase.getDataHandler()
         .executeUpgradeUpdate("STATEMENT_CREATE_GROUP_AUTHORITIES_TABLE", conn);
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_INSERT_GROUP_AUTHORITIES", conn);
     messages.add(new WikiMessage("upgrade.message.db.table.added", "jam_group_authorities"));
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_DROP_ROLE_MAP", conn);
     messages.add(new WikiMessage("upgrade.message.db.table.dropped", "jam_role_map"));
     WikiBase.getDataHandler().executeUpgradeUpdate("STATEMENT_CREATE_GROUP_MEMBERS_TABLE", conn);
     // FIXME - avoid hard coding
     String sql =
         "select group_id from jam_group where group_name = '"
             + WikiGroup.GROUP_REGISTERED_USER
             + "'";
     WikiResultSet rs = DatabaseConnection.executeQuery(sql, conn);
     int groupId = rs.getInt("group_id");
     // FIXME - avoid hard coding
     sql = "select username from jam_users ";
     rs = DatabaseConnection.executeQuery(sql, conn);
     int id = 1;
     while (rs.next()) {
       // FIXME - avoid hard coding
       sql =
           "insert into jam_group_members ( "
               + "id, username, group_id "
               + ") values ( "
               + id
               + ", '"
               + StringEscapeUtils.escapeSql(rs.getString("username"))
               + "', "
               + groupId
               + ") ";
       DatabaseConnection.executeUpdate(sql, conn);
       id++;
     }
     messages.add(new WikiMessage("upgrade.message.db.table.added", "jam_group_members"));
     WikiBase.getDataHandler().executeUpgradeUpdate("UPGRADE_070_DROP_USER_INFO", conn);
     messages.add(new WikiMessage("upgrade.message.db.table.dropped", "jam_wiki_user_info"));
   } catch (SQLException e) {
     DatabaseConnection.rollbackOnException(status, e);
     try {
       DatabaseConnection.executeUpdate(AnsiQueryHandler.STATEMENT_DROP_GROUP_MEMBERS_TABLE);
     } catch (Exception ex) {
     }
     try {
       DatabaseConnection.executeUpdate(AnsiQueryHandler.STATEMENT_DROP_GROUP_AUTHORITIES_TABLE);
     } catch (Exception ex) {
     }
     try {
       DatabaseConnection.executeUpdate(AnsiQueryHandler.STATEMENT_DROP_AUTHORITIES_TABLE);
     } catch (Exception ex) {
     }
     try {
       DatabaseConnection.executeUpdate(AnsiQueryHandler.STATEMENT_DROP_USERS_TABLE);
     } catch (Exception ex) {
     }
     logger.severe("Database failure during upgrade", e);
     throw new WikiException(new WikiMessage("upgrade.error.fatal", e.getMessage()));
   }
   DatabaseConnection.commit(status);
   // for some reason HSQL hangs when populating the characters_changed column.  since this step is
   // optional just skip it for HSQL.
   String dbType = Environment.getValue(Environment.PROP_DB_TYPE);
   if (!StringUtils.equals(dbType, DataHandler.DATA_HANDLER_HSQL)) {
     try {
       // perform a second transaction to populate the new columns.  this code is in its own
       // transaction since if it fails the upgrade can still be considered successful.
       status = DatabaseConnection.startTransaction(getTransactionDefinition());
       Connection conn = DatabaseConnection.getConnection();
       WikiBase.getDataHandler()
           .executeUpgradeUpdate("UPGRADE_070_UPDATE_TOPIC_VERSION_CHARACTERS_CHANGED", conn);
       messages.add(
           new WikiMessage(
               "upgrade.message.db.column.populated", "characters_changed", "jam_topic_version"));
     } catch (SQLException e) {
       messages.add(new WikiMessage("upgrade.error.nonfatal", e.getMessage()));
       // do not throw this error and halt the upgrade process - populating the field
       // is not required for existing systems.
       logger.warning(
           "Failure while populating characters_changed colum in jam_topic_version.  See UPGRADE.txt for instructions on how to manually complete this optional step.",
           e);
       try {
         DatabaseConnection.rollbackOnException(status, e);
       } catch (Exception ex) {
         // ignore
       }
       status = null; // so we do not try to commit
     }
     if (status != null) {
       DatabaseConnection.commit(status);
     }
   }
   return messages;
 }
Esempio n. 4
0
  public int load(
      SessionContext ctx,
      DatabaseConnection conn,
      FormInstance instance,
      ErrorMessages msgs,
      EventManager manager,
      String parameter) {

    int userNo = SessionInfo.getLoginUserNo(ctx);
    String roleStr = "select * from scuserrole where userno=" + userNo + " and roleno=1";
    RecordSet roleRs = conn.executeQuery(roleStr);
    if (roleRs.next()) {
      instance.useCloneFormBean();
      instance.getFormBean().setUseDelete(true);
    }

    // flag
    flag = (String) ctx.getRequestAttribute("flag");
    if (flag == null) {
      flag = "read";
    }
    flag = flag.toLowerCase();
    if (flag.equals("write")) {
      instance.setReadonly(false);
    } else {
      instance.setReadonly(true);
    }
    // CLIENTNO
    String CLIENTNO = ctx.getParameter("CLIENTNO");
    if (CLIENTNO == null) {
      CLIENTNO = (String) ctx.getRequestAttribute("CLIENTNO");
    }
    initClientNo = (String) ctx.getRequestAttribute("INITCLIENTNO");
    guarantorID = (String) ctx.getRequestAttribute("GID");
    String sql = "select * from cmindvclient where ";
    if (CLIENTNO != null && CLIENTNO.length() > 0) {
      strClientNo = CLIENTNO;
      sql += "clientno='" + CLIENTNO + "'";
    } else if (guarantorID != null && guarantorID.trim().length() > 0) {
      sql += "id='" + guarantorID + "'";
    }
    if (sql.endsWith("where ")) {
      return 0;
    }

    RecordSet rs = conn.executeQuery(sql);
    if (rs.next()) {
      // lj del in 20090316
      //      UserManager um = (UserManager) ctx.getAttribute(SystemAttributeNames.USER_INFO_NAME);
      //      String BRHID = SCUser.getBrhId(um.getUserName()); //登录用户所在网点
      //      String APPBRHID = rs.getString("APPBRHID").trim(); //客户资料的登记网点
      //      if ( strClientNo!=null && ! (SCBranch.checkSub(APPBRHID, BRHID) ||
      // APPBRHID.equals(BRHID))) {
      //        flag = "read";
      //        msgs.add("该客户不在本网点维护范围内!");
      //        instance.setReadonly(true);
      //      }
      //      else
      if (guarantorID != null && guarantorID.trim().length() > 0) {
        flag = "read";
        msgs.add("客户信息已经存在,不需要再做转移,请删除原来的保证人信息即可!");
        instance.setReadonly(true);
        strClientNo = rs.getString("clientno");
      }
      // trigger
      instance.setValue("CLIENTNO", strClientNo);
      trigger(manager, instance, EventType.EDIT_VIEW_EVENT_TYPE, Event.BRANCH_CONTINUE_TYPE);
    }
    return 0;
  }
Esempio n. 5
0
  public int preEdit(
      SessionContext ctx,
      DatabaseConnection conn,
      FormInstance instance,
      ErrorMessages msgs,
      EventManager manager,
      SqlAssistor assistor) {
    String CLIENTNO = ctx.getParameter("CLIENTNO").trim();
    String ID = ctx.getParameter("ID").trim();
    String CLIENTMGR = ctx.getParameter("CLIENTMGR").trim();
    //    String UNIONNO = ctx.getParameter("UNIONNO").trim();
    //    String RGNCODE = ctx.getParameter("RGNCODE").trim();
    String MNTBRHID = ctx.getParameter("MNTBRHID").trim();
    String APPBRHID = ctx.getParameter("APPBRHID").trim();
    String LASTMODIFIED = SystemDate.getSystemDate2();
    UserManager um = (UserManager) ctx.getAttribute(SystemAttributeNames.USER_INFO_NAME);
    String BrhId = SCUser.getBrhId(um.getUserName());
    String OPERATOR = null;
    try {
      OPERATOR = um.getUserName();
    } catch (Exception ex) {
      return -1;
    }
    // ID唯一检测
    String ID2 = "";
    if (ID.length() == 18) {
      ID2 = ID.substring(0, 6) + ID.substring(8, 17);
    } else if (ID.length() == 15) {
      ID2 = ID.substring(0, 6) + "19" + ID.substring(6, 15);
    } else {
      msgs.add("个人证件号码长度不正确,请仔细检查您输入的号码!");
      return -1;
    }
    String tmp = "";
    if (ID.length() == 18) {
      tmp = ID2;
      ID2 = ID;
      ID = tmp;
    }
    String str1 =
        "select * from CMINDVCLIENT where ID='"
            + ID
            + "' and clientno<>'"
            + ctx.getParameter("CLIENTNO")
            + "'";
    String str2 =
        "select * from CMINDVCLIENT where ID like '"
            + ID2
            + "%' and clientno<>'"
            + ctx.getParameter("CLIENTNO")
            + "'";
    RecordSet rs1 = conn.executeQuery(str1);
    RecordSet rs2 = conn.executeQuery(str2);
    if (rs1.next() || rs2.next()) {
      msgs.add("个人证件号码已经存在,请仔细检查您输入的号码!");
      return -1;
    }

    // CLIENTMGR存在检测
    if (DBUtil.getCellValue(
            conn, "SCUSER", "LOGINNAME", "LOGINNAME='" + CLIENTMGR + "' and USERTYPE<>'3'")
        == null) {
      msgs.add("客户经理不存在,请仔细检查后再提交!");
      return -1;
    }
    // UNIONNO存在检测
    //    if (DBUtil.getCellValue(conn, "CMFAMILYUNION", "UNIONNO", "UNIONNO=" + UNIONNO) == null) {
    //      msgs.add("联户联保小组代码不存在,请仔细检查后再提交!");
    //      return -1;
    //    }
    // UNIONNO在开户网点内
    // RGNCODE存在检测
    //    if (RGNCODE.length() > 0 &&
    //        DBUtil.getCellValue(conn, "CMREGION", "RGNCODE", "RGNCODE='" + RGNCODE + "'") == null)
    // {
    //      msgs.add("行政机构代码不存在,请仔细检查后再提交!");
    //      return -1;
    //    }
    // 网点检测
    //    if (! (SCBranch.checkSub(APPBRHID, MNTBRHID) || MNTBRHID.equals(APPBRHID))) {
    //      msgs.add("登记网点不在维护网点范围内!");
    //      return -1;
    //    }
    assistor.setSqlFieldValue(assistor.getDefaultTbl(), "MNTBRHID", BrhId);
    assistor.setSqlFieldValue(assistor.getDefaultTbl(), "LASTMODIFIED", LASTMODIFIED);
    assistor.setSqlFieldValue(assistor.getDefaultTbl(), "OPERATOR", OPERATOR);
    return 0;
  }