пишу парсер со своей старой CRM. Дело дошло до переноса лога изменений по задачам.
кусок кода:
Код:
private void getHistoryFromRS(ResultSet rs2, int PID) throws SQLException, BGException {
User user = null;
int userId = 0;
UserGroup group = new UserGroup();
group.setDateFrom(new Date());
group.setGroupId(2);
if (rs2.getString(5).contains("task") && rs2.getString(8).contains("status")){
user = userDAO.getUserByLogin(rs2.getString("login"));
if (user == null){
user = new User();
user.setLogin(rs2.getString("login"));
user.setPassword(rs2.getString("login"));
user.setTitle(rs2.getString("fullname"));
user.setEmail(rs2.getString("email"));
user.setStatus(0);
userDAO.updateUser(user);
conbgcrm.commit();
userId = userDAO.getUserByLogin(rs2.getString("login")).getId();
userDAO.addUserGroup(userId, group);
conbgcrm.commit();
}
String query = "INSERT INTO process_log (id, dt, user_id, data) VALUES (?,?,?,?)";
PreparedStatement ps = conbgcrm.prepareStatement(query);
ps.setInt(1, PID);
ps.setTimestamp(2, rs2.getTimestamp("date_added"));
ps.setInt(3, userId);
ps.setString(4, "Статус: " + statusDAO.getStatus( statusMap.get( Integer.valueOf(rs2.getString("newvalue")) ) ).getTitle() + ";");
ps.executeUpdate();
conbgcrm.commit();
ps.close();
}
}
во входящем RS есть логин пользователя, если такого же нет в BGCRM -> то создаем нового и привязываем его к определенной группе, а только потом создаем запись в логе.
В итоге, пользователь создаётся, но при этом в CRM пишет
https://yadi.sk/i/fraLil_ahbTkRпредполагаю, что надо где то сделать flush(con)? только не знаю где.