forum.bitel.ru http://forum.bitel.ru/ |
|
ProcessTypeDAO http://forum.bitel.ru/viewtopic.php?f=51&t=9886 |
Страница 1 из 1 |
Автор: | Dog [ 30 окт 2014, 04:26 ] |
Заголовок сообщения: | ProcessTypeDAO |
пытаюсь сделать парсер из старой CRM в Новую: Код: conbgcrm = Setup.getSetup().getDBConnectionFromPool(); ProcessTypeDAO ptDAO = new ProcessTypeDAO(conbgcrm); DBConnector bd = new DBConnector("user", "password", "ipi", "ip", "port"); try { con = bd.getConnection(); String dbRequest = "SELECT * " + "FROM divisions_topic " + "ORDER BY parent_id ASC"; PreparedStatement preparedStatement = con.prepareStatement(dbRequest ); ResultSet resultSet = preparedStatement.executeQuery(); while (resultSet.next()){ ProcessType processType = new ProcessType(); int parent_id = resultSet.getInt("parent_id"); System.out.println("ipiParentId: " + parent_id); if (parent_id == 0){ processType.setParentId(31); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); ptDAO.updateProcessType(processType, 2); conbgcrm.commit(); }else{ processType.setParentId(getParent(resultSet.getInt("parent_id"))); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); ptDAO.updateProcessType(processType, 2); conbgcrm.commit(); } } resultSet.close(); preparedStatement.close(); идея создать дерево разделов начиная 31, и привязывать туда всех, кто в старой ЦРМ без родительского раздела, а остальным искать родителей через метод getParent. в итоге все вроде как отрабатывает, ошибок не выдает, но и новые типы процессов не создаёт. |
Автор: | Администратор [ 30 окт 2014, 13:33 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
Как вы оцениваете, что не создаёт? В справочнике не видно? Если дерево типов где-нибудь в очереди процессов, то оно получается из кэша, который нужно сбросить ProcessTypeCache.flush( Connection ) после правки. |
Автор: | Dog [ 30 окт 2014, 14:22 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
я это смотрю в БД и в "Администрирование - Процессы - Типы процессов". Код: if (parent_id == 0){ processType.setParentId(31); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); ptDAO.updateProcessType(processType, 2); conbgcrm.commit(); ProcessTypeCache.flush(conbgcrm); }else{ processType.setParentId(getParent(resultSet.getInt("parent_id"))); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); ptDAO.updateProcessType(processType, 2); conbgcrm.commit(); ProcessTypeCache.flush(conbgcrm); } и все равно нет эфекта. |
Автор: | Администратор [ 30 окт 2014, 14:46 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
Вот этот метод точно выполняется? Рядом отладку попробуйте поставить. Код: ptDAO.updateProcessType(processType, 2);
|
Автор: | Dog [ 30 окт 2014, 15:04 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
Код: if (parent_id == 0){ processType.setParentId(31); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); System.out.println("BEFORE action. TYPE: " + processType.toString()); ptDAO.updateProcessType(processType, 2); System.out.println("AFTER action"); conbgcrm.commit(); ProcessTypeCache.flush(conbgcrm); System.out.println("LIST: " + ptDAO.getFullProcessTypeList().contains(processType)); }else{ processType.setParentId(getParent(resultSet.getInt("parent_id"))); processType.setArchive(false); processType.setUseParentProperties(true); String title = resultSet.getString("title"); processType.setTitle(title); System.out.println("BEFORE action. TYPE: " + processType.toString()); ptDAO.updateProcessType(processType, 2); System.out.println("AFTER action"); conbgcrm.commit(); ProcessTypeCache.flush(conbgcrm); System.out.println("LIST: " + ptDAO.getFullProcessTypeList().contains(processType)); Код: ipiParentId: 0
BEFORE action. TYPE: Технические заявки AFTER action LIST: false |
Автор: | Администратор [ 30 окт 2014, 15:09 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
Так попробуйте: Код: if (parent_id == 0){
processType = new ProcessType(); processType.setParentId(31); .... }else{ processType = new ProcessType(); processType.setParentId(getParent(resultSet.getInt("parent_id"))); |
Автор: | Dog [ 30 окт 2014, 16:06 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
и так тоже не работает |
Автор: | Администратор [ 30 окт 2014, 18:11 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
А в таблице в БД записи добавляются? В process_type? |
Автор: | Dog [ 30 окт 2014, 19:15 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
нет |
Автор: | Администратор [ 31 окт 2014, 11:32 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
Обновление выложено. При id=0 updateProcessType пытался обновить существующую запись, добавлял только при id<0 |
Автор: | Dog [ 31 окт 2014, 15:39 ] |
Заголовок сообщения: | Re: ProcessTypeDAO |
заработало, спасибо |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |