forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос разработчикам. RegisterTask(). http://forum.bitel.ru/viewtopic.php?f=19&t=1836 |
Страница 2 из 3 |
Автор: | skandinav [ 28 янв 2009, 20:03 ] |
Заголовок сообщения: | |
dimOn писал(а): skandinav писал(а): проблемы только от надменности некоторых товарищей. за почти два десятилетия работы в IT индустрии я привык идти путем "документация -> форумы (фидошное время эхи соотв направления) -> поисковик -> вопросы". данный тред создан уже после того, как все возможные пути были исчерпаны. Ну, хорошо, Вы уже почти убедили меня, что я (в том числе) живу за печкой, и ни о каких таких системах-контроля-версий знать не знаю, итд; но Вы поймите, что форум - это не техподдержка, это всё добровольное.а по поводу документации... давно уже не считается хорошим тоном после написания функции/объекта набросать пару строк о том, что именно он делает, какие параметры принимает, и как взаимодействует с другими объектами. не смотря на то, что разработана неимоверная куча разного уровня удобства RADов... что есть печально... А по поводу неправильной разработки - ну тут сказать нечего. Всегда находятся люди которые работают на чём-то и всем довольны (хотя всеми аспектами чего-либо быть довольным в этой области нельзя, Вы это как человек с двумя десятилетиями в IT-индустрии должны прекрасно понимать) или недовольства свои решают доступными средствами. И с другой стороны, я покажу кучу людей, которые расскажут Вам, что Микрософт неправильно всё разрабатывает, не так документирует и вообще там все ламеры. Это всё склоки и благоприятная почва для холиваров, не более. $sudo echo 0 > /proc/sys/kernel/holywar_mode я не могу уверенно утверждать знакомы ли лично вы с subvertion, git или любой другой, из великой кучи, систем контроля версий в разработке... но судя по вашему опубликованному описанию интерфейса прикладного программирования под BGBilling, лидирующее, с большим отрывом, большинство вашей команды, ни о чем подобном и слыхом не слыхивало. как, собственно, и о красивом стиле программирования. IMHO, предварять обучение C подобным языкам просто необходимо обучением программированию на паскале. приучает к аккуратности, знаете ли. З.Ы. связка nt = new RegisterTask(); rtm = new registertaskManager(); nt.setExecutors(some_executors_list); rtm.updateExecutorsList(nt,""); нифига не работает |
Автор: | skn [ 28 янв 2009, 21:31 ] |
Заголовок сообщения: | |
skandinav писал(а): З.Ы. связка
nt = new RegisterTask(); rtm = new registertaskManager(); nt.setExecutors(some_executors_list); rtm.updateExecutorsList(nt,""); нифига не работает и не должна... так как кроме списка нужен еще и код задачи (id) Код: nt = new RegisterTask();
rtm = new registertaskManager(); nt.setExecutors(some_executors_list); rtm.updateTask(nt); rtm.updateExecutorsList(nt,""); |
Автор: | skandinav [ 29 янв 2009, 04:49 ] |
Заголовок сообщения: | |
skn писал(а): skandinav писал(а): З.Ы. связка nt = new RegisterTask(); rtm = new registertaskManager(); nt.setExecutors(some_executors_list); rtm.updateExecutorsList(nt,""); нифига не работает и не должна... так как кроме списка нужен еще и код задачи (id) Код: nt = new RegisterTask(); rtm = new registertaskManager(); nt.setExecutors(some_executors_list); rtm.updateTask(nt); rtm.updateExecutorsList(nt,""); дак код задачи (integer) или ссылка на объект задачи? может быть Код: rtm.updateExecutorsList(nt.getID(),"");
ну или как то так. |
Автор: | Victor [ 29 янв 2009, 06:19 ] |
Заголовок сообщения: | |
skandinav писал(а): $sudo echo 0 > /proc/sys/kernel/holywar_mode
я не могу уверенно утверждать знакомы ли лично вы с subvertion, git или любой другой, из великой кучи, систем контроля версий в разработке... но судя по вашему опубликованному описанию интерфейса прикладного программирования под BGBilling, лидирующее, с большим отрывом, большинство вашей команды, ни о чем подобном и слыхом не слыхивало. как, собственно, и о красивом стиле программирования. IMHO, предварять обучение C подобным языкам просто необходимо обучением программированию на паскале. приучает к аккуратности, знаете ли. Выключает свой холивор, а меж тем продолжает вы..ываться про свои системы контроля версий. Г...о вы, а не IT-ик с 20-летним стажем. |
Автор: | skandinav [ 29 янв 2009, 08:26 ] |
Заголовок сообщения: | |
Victor писал(а): skandinav писал(а): $sudo echo 0 > /proc/sys/kernel/holywar_mode я не могу уверенно утверждать знакомы ли лично вы с subvertion, git или любой другой, из великой кучи, систем контроля версий в разработке... но судя по вашему опубликованному описанию интерфейса прикладного программирования под BGBilling, лидирующее, с большим отрывом, большинство вашей команды, ни о чем подобном и слыхом не слыхивало. как, собственно, и о красивом стиле программирования. IMHO, предварять обучение C подобным языкам просто необходимо обучением программированию на паскале. приучает к аккуратности, знаете ли. Выключает свой холивор, а меж тем продолжает вы..ываться про свои системы контроля версий. Г...о вы, а не IT-ик с 20-летним стажем. а вы, собственно, кто? я не узнаю вас в гриме. странный выпад в сторону компании Подряд.. личный выпад в мою сторону.. в любом случае, мои диалоги с разработчиками вас ни коим образом не касаются и какой бы то ни было тон, принятый в этих диалогах, не дает вам права делать личные выпады в мою сторону. тем более, что выпады эти совершенно безосновательные. за сим, настоятельно рекомендую вам, милейший, засунуть ваш длинный язык натурально в двенадцатиперстную кишку и не флудить оффтопик. |
Автор: | Ce$$ [ 29 янв 2009, 11:23 ] |
Заголовок сообщения: | |
skandinav, у Подряда куча филиалов от Сахалина до Урала. Таких как деревенька Victora с несколько десятков будет. Своих не трогаем пусть растут, а они видишь как к нам ... пригрели ... запазухой. Вы, Victor, с кодировкой CTI разобрались, то за 2 года? Модуль управления CTI вместе будем писать или нам всё самим? |
Автор: | Akhmat [ 29 янв 2009, 11:24 ] |
Заголовок сообщения: | |
Говорят тут посмеяться можно |
Автор: | skn [ 29 янв 2009, 13:39 ] |
Заголовок сообщения: | |
попробуйте для задачи еще задать Код: task.setGroupID(int) и посмотрите какие записи в БД добавляются Код: public void updateTask( String id, RegisterTask task ) { try { String query = null; PreparedStatement ps = null; if( id.equals( "new" ) ) { query = "INSERT INTO register_task " + "(cid, type, open_dt, open_uid, accept_dt, accept_uid, " + "close_dt, close_uid, status, target_dt, comment, gr, resolution, prid, execute_dt, apid, processed," + "lm_dt, lm_uid, aobject_id ) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; ps = con.prepareStatement( query ); } else { query = "UPDATE register_task SET cid=?, type=?, open_dt=?, open_uid=?, accept_dt=?, accept_uid=?, " + "close_dt=?, close_uid=?, status=?, target_dt=?, comment=?, gr=?, resolution=?, prid=?, execute_dt=?, apid=?, processed=?, lm_dt=?, lm_uid=?, aobject_id=? WHERE id=?"; ps = con.prepareStatement( query ); ps.setInt( 21, CommonUtils.parseIntString( id, 0 ) ); } ps.setInt( 1, task.getContractID() ); ps.setInt( 2, task.getTypeID() ); ps.setTimestamp( 3, TimeUtils.convertDateToTimestamp( task.getOpenTime() ) ); ps.setInt( 4, task.getOpenUserID() ); ps.setTimestamp( 5, TimeUtils.convertDateToTimestamp( task.getAcceptTime() ) ); ps.setInt( 6, task.getAcceptUserID() ); ps.setTimestamp( 7, TimeUtils.convertDateToTimestamp( task.getCloseTime() ) ); ps.setInt( 8, task.getCloseUserID() ); ps.setInt( 9, task.getStatus() ); ps.setDate( 10, TimeUtils.convertDateToSqlDate( task.getTargetDate() ) ); ps.setString( 11, task.getComment() ); ps.setInt( 12, task.getGroupID() ); ps.setString( 13, task.getResolution() ); ps.setInt( 14, task.getProblemID() ); ps.setDate( 15, TimeUtils.convertDateToSqlDate( task.getExecuteDate() ) ); ps.setInt( 16, task.getAddressParamID() ); ps.setBoolean( 17, task.isProcessed() ); ps.setTimestamp( 18, TimeUtils.convertDateToTimestamp( task.getLastmodTime() ) ); ps.setInt( 19, task.getLastmodUserID() ); ps.setInt( 20, task.getAddressObjectId() ); ps.executeUpdate(); if( id.equals( "new" ) ) { task.setID( Utils.lastInsertId( ps ) ); } else { task.setID( CommonUtils.parseIntString( id, 0 ) ); } ps.close(); } catch ( Exception ex ) { ex.printStackTrace(); } } Код: public void updateExecutorList( RegisterTask task, String groupExecutors )
{ String query = null; PreparedStatement ps = null; try { if ( CommonUtils.notEmptyString( groupExecutors ) ) { // удаляем только исполнителей из текущей группы query = "DELETE FROM register_task_executor WHERE tid=? "; query += " AND eid IN ( " + groupExecutors + ")"; ps = con.prepareStatement( query ); ps.setInt( 1, task.getID() ); ps.executeUpdate(); ps.close(); } query = "INSERT INTO register_task_executor (tid, eid) VALUES (?, ?)"; ps = con.prepareStatement( query ); ps.setInt( 1, task.getID() ); for( Integer executor : task.getExecutors() ) { ps.setInt( 2, executor ); ps.executeUpdate(); } ps.close(); } catch ( Exception ex ) { ex.printStackTrace(); } } |
Автор: | skandinav [ 29 янв 2009, 13:58 ] |
Заголовок сообщения: | |
skn подскажите, а вот список привязанных исполнителей к задаче случаем не выбирается конструкцией типа Код: query="SELECT * FROM register_task_executor WHERE tid=?";
ps.PrepareStatement(query); ps.setString(1,some-task-object.getId()); может быть вообще не стоило закапываться в API BGBS а тупо выделать необходимое мне сиквел запросами?...хоть сие и "не айс"... |
Автор: | skn [ 29 янв 2009, 14:51 ] |
Заголовок сообщения: | |
Код: public void loadExecutorList( RegisterTask task )
{ try { List<Integer> executors = new ArrayList<Integer>(); String query = "SELECT eid FROM register_task_executor WHERE tid=?"; PreparedStatement ps = con.prepareStatement( query ); ps.setInt( 1, task.getID() ); ResultSet rs = ps.executeQuery(); while( rs.next() ) { executors.add( new Integer( rs.getInt( 1 ) ) ); } ps.close(); task.setExecutors( executors ); } catch ( Exception ex ) { ex.printStackTrace(); } } |
Автор: | skandinav [ 29 янв 2009, 15:45 ] |
Заголовок сообщения: | |
из какой, чьорт побьери, таблицы берется инфа для: это в закладке CRM договора. |
Автор: | dimOn [ 29 янв 2009, 15:46 ] |
Заголовок сообщения: | |
skandinav писал(а): dimOn писал(а): skandinav писал(а): проблемы только от надменности некоторых товарищей. за почти два десятилетия работы в IT индустрии я привык идти путем "документация -> форумы (фидошное время эхи соотв направления) -> поисковик -> вопросы". данный тред создан уже после того, как все возможные пути были исчерпаны. Ну, хорошо, Вы уже почти убедили меня, что я (в том числе) живу за печкой, и ни о каких таких системах-контроля-версий знать не знаю, итд; но Вы поймите, что форум - это не техподдержка, это всё добровольное.а по поводу документации... давно уже не считается хорошим тоном после написания функции/объекта набросать пару строк о том, что именно он делает, какие параметры принимает, и как взаимодействует с другими объектами. не смотря на то, что разработана неимоверная куча разного уровня удобства RADов... что есть печально... А по поводу неправильной разработки - ну тут сказать нечего. Всегда находятся люди которые работают на чём-то и всем довольны (хотя всеми аспектами чего-либо быть довольным в этой области нельзя, Вы это как человек с двумя десятилетиями в IT-индустрии должны прекрасно понимать) или недовольства свои решают доступными средствами. И с другой стороны, я покажу кучу людей, которые расскажут Вам, что Микрософт неправильно всё разрабатывает, не так документирует и вообще там все ламеры. Это всё склоки и благоприятная почва для холиваров, не более. $sudo echo 0 > /proc/sys/kernel/holywar_mode я не могу уверенно утверждать знакомы ли лично вы с subvertion, git или любой другой, из великой кучи, систем контроля версий в разработке... но судя по вашему опубликованному описанию интерфейса прикладного программирования под BGBilling, лидирующее, с большим отрывом, большинство вашей команды, ни о чем подобном и слыхом не слыхивало. как, собственно, и о красивом стиле программирования. IMHO, предварять обучение C подобным языкам просто необходимо обучением программированию на паскале. приучает к аккуратности, знаете ли. Но если интересно - у нас, конечно же, используется svn; уж не знаю как там было 20-лет-назад у программистов на паскале, но опять же непонятно, как по-Вашему выглядит в наше время коллективная разработка без подобной системы. Ну а уж о стиле программирования я снова замечание проигнорирую, ибо это смешно как бы, подобное обсуждать... Но если у Вас есть в личном IT-опыте разработка, которая ведётся десяток лет немалой командой программистов, и с более красивой программной структурой - не знаю, как остальная часть команды, но я бы с удовольствием ознакомился Да и вообще, подобная полная открытость интерфейса - это благо, которому надо радоваться, а не ворчать на какие-то там возможные косяки, которые лично Вам кажутся нелогичными) |
Автор: | Victor [ 29 янв 2009, 16:01 ] |
Заголовок сообщения: | |
Цитата: а вы, собственно, кто? я не узнаю вас в гриме. странный выпад в сторону компании Подряд.. личный выпад в мою сторону.. Ничего странного, знаю не по наслышке о том, что и как делается в этой компании. Личный выпад всего-лишь был ответом на то высокомерие и то пренебрежение знаниями разработчиков данного продукта. Вы практически вывалили свой толстый длинный член на стол (20 лет IT, CVS, subversion, фидо и еще куча разных умных слов) и сказали: "смотрите", а другие просто в силу природной скромности промолчали. А я в силу своей природной нескромности ответил, куда запихать это добро. Неужели вы надеетесь на помощь с вашими проблемами, после того, как вы прилюдно обвинили разработчиков в некомпетентности? Цитата: за сим, настоятельно рекомендую вам, милейший, засунуть ваш длинный язык натурально в двенадцатиперстную кишку и не флудить оффтопик. А вот куда кому и что засунуть пусть решают админы этого форума. Ce$$ писал(а): skandinav, у Подряда куча филиалов от Сахалина до Урала. Таких как деревенька Victora с несколько десятков будет. Своих не трогаем пусть растут, а они видишь как к нам ... пригрели ... запазухой. Вы, Victor, с кодировкой CTI разобрались, то за 2 года? Модуль управления CTI вместе будем писать или нам всё самим?
Странно, что в этой деревеньке (один из крупнейших городов края) вы в полной ж. или забыли, как вы свинтили свою КТВ-шную магистраль аж на полгорода, только потому, что абоненты не хотели к с вами иметь дело? "Своих не трогаем" - ну троньте. Только абонентам вы даром не нужны, от вас даже монтажники к нам бегут. Насчет кодировки, все прекрасно работает, а когда нам ее "включить" это уже наше дело. И модуль я с вами разрабатывать не собираюсь, я на эту тему общался и буду продолжать общаться непосредственно с разработчиками. |
Автор: | skandinav [ 29 янв 2009, 16:08 ] |
Заголовок сообщения: | |
dimOn писал(а): Не очень понятно, конечно, как система контроля версий зависима с описанием програмного интерфейса, но Вам лучше знать...
Но если интересно - у нас, конечно же, используется svn; уж не знаю как там было 20-лет-назад у программистов на паскале, но опять же непонятно, как по-Вашему выглядит в наше время коллективная разработка без подобной системы. Ну а уж о стиле программирования я снова замечание проигнорирую, ибо это смешно как бы, подобное обсуждать... Но если у Вас есть в личном IT-опыте разработка, которая ведётся десяток лет немалой командой программистов, и с более красивой программной структурой - не знаю, как остальная часть команды, но я бы с удовольствием ознакомился Да и вообще, подобная полная открытость интерфейса - это благо, которому надо радоваться, а не ворчать на какие-то там возможные косяки, которые лично Вам кажутся нелогичными) блин... не нужно передергивать. сабвершн облегчает совместную разработку, РАДы ускоряют разработку. освобождая время на документирование и анализ. я лишь это имел ввиду. почему, в те далекие времена, когда РАДов как таковых не было... если конечно не считать РАДом multieditor... исходники товарищей по оружию читались легко и приятно благодаря обилию коментариев. за счет которых документировать АПИ можно было простым копипастом комментов из кода. хотя продукты писались по сложности кода не уступающие настоящим... З.Ы. #echo "kernel.holywar_mode = 0" >> /etc/sysctl.conf && sysctl -p /etc/sysctl.conf P.P.S. На предыдущий пост ответите? P.P.P.S. 2 Victor вы неадекватны. |
Автор: | Ce$$ [ 29 янв 2009, 17:24 ] |
Заголовок сообщения: | |
Victor, хорошо, что ваша деревенька не крупнейшая на планете земля. И полагаю ваши монтажники ездят на ролсах на работу. Не знаю, что будет если шеф решит строится в Артёме. Но когда когда кончится кризис, и откроются кредиты, вымпелком прихлопнет вас да и нас наверно тоже как мух. На мой взгляд, вам уместнее митинговать на 14 км трассы Владивосток - Артём, у памятника неизвестного защитника оптических кабельных сетей. Засим раскланиваюсь, прекращаю флудить и удаляюсь из этого топика. |
Автор: | dimOn [ 29 янв 2009, 18:10 ] |
Заголовок сообщения: | |
skandinav писал(а): блин... не нужно передергивать. сабвершн облегчает совместную разработку, РАДы ускоряют разработку. освобождая время на документирование и анализ. я лишь это имел ввиду. блин... я и не передёргивал, а ответил на Цитата: я не могу уверенно утверждать знакомы ли лично вы с subvertion, git или любой другой, из великой кучи, систем контроля версий в разработке... но судя по ... описанию интерфейса прикладного программирования .... большинство вашей команды ни о чем подобном и слыхом не слыхивало.
з.ы. $killall -9 firefox && perl -e 'for( ; ; ){ print "Я никогда не кормил троллей\n" }' |
Автор: | skn [ 29 янв 2009, 18:51 ] |
Заголовок сообщения: | |
skandinav писал(а): из какой, чьорт побьери, таблицы берется инфа для:
это в закладке CRM договора. Код: register_task_executor
1) вы код группы добавили, это может влиять на вывод в редакторе 2) после отработки скрипта, посмотрите в БД добвились ли записи, возможно проблема не в записи, а в отображении задачи в редакторе |
Автор: | stark [ 29 янв 2009, 20:09 ] |
Заголовок сообщения: | |
skandinav писал(а): dimOn писал(а): Не очень понятно, конечно, как система контроля версий зависима с описанием програмного интерфейса, но Вам лучше знать... Но если интересно - у нас, конечно же, используется svn; уж не знаю как там было 20-лет-назад у программистов на паскале, но опять же непонятно, как по-Вашему выглядит в наше время коллективная разработка без подобной системы. Ну а уж о стиле программирования я снова замечание проигнорирую, ибо это смешно как бы, подобное обсуждать... Но если у Вас есть в личном IT-опыте разработка, которая ведётся десяток лет немалой командой программистов, и с более красивой программной структурой - не знаю, как остальная часть команды, но я бы с удовольствием ознакомился Да и вообще, подобная полная открытость интерфейса - это благо, которому надо радоваться, а не ворчать на какие-то там возможные косяки, которые лично Вам кажутся нелогичными) блин... не нужно передергивать. сабвершн облегчает совместную разработку, РАДы ускоряют разработку. освобождая время на документирование и анализ. я лишь это имел ввиду. почему, в те далекие времена, когда РАДов как таковых не было... если конечно не считать РАДом multieditor... исходники товарищей по оружию читались легко и приятно благодаря обилию коментариев. за счет которых документировать АПИ можно было простым копипастом комментов из кода. хотя продукты писались по сложности кода не уступающие настоящим... Мда. Своеобразная логика ..Если в у вас есть инструмент , то значит он работает сам и у вас больше времени на документирование , а если инструмента нет, то времени не хватает. И поскольку документация у нас плохая , значит и инструмента у нас нет . Просто железная логика и если если лопату сменить на трактор, то пахать больше не надо , надо оставшееся время потратить на документацию ..Хорошо , закроем тогда форум и перестанем выпускать релизы , займемся документацией более вплотную .. или как вариант просто убрать апи биллинга , это проще, и шуму меньше. всем : займитесь выяснениям отношений в другом месте. Почитайте правила форума. Иначе будем банить. Подряду(или тому кто пишет от его имени): нам абсолютно без разницы что вы из подряда , здесь на форуме одинаковое отношение ко всем, хотите гарантии результата - используйте платную поддержку . P.S А докуменатция - да описана плохо местатми , но мы работаем над этим . Она не успевает за стремительным циклом разработки. Мы уже говрили об этом на этом форуме. |
Автор: | skandinav [ 29 янв 2009, 22:19 ] |
Заголовок сообщения: | |
skn писал(а): skandinav писал(а): из какой, чьорт побьери, таблицы берется инфа для: это в закладке CRM договора. Код: register_task_executor 1) вы код группы добавили, это может влиять на вывод в редакторе 2) после отработки скрипта, посмотрите в БД добвились ли записи, возможно проблема не в записи, а в отображении задачи в редакторе гррр... начинаю сверкать глазами и биться головой об разработчиков... ребят... ну несерьезно уже! в CRM закладке, в добавленной только что задаче, имея ее ID, одновременно смотря на выборку SQL, ставлю галку в списке исполнителей и вижу что по "SELECT * FROM register_task_executor WHERE tid=<имеющийся у меня после RegisterTaskManager().updateTask() ну и там далее getID>" ни чего не меняется... так же как если я делаю "INSERT INTO register_task_executor SET tid=<ну тот самый ID задачи>, eid= <полученный ID исполнителя>" ни чего не меняется в списке привязанных исполнителей в закладке CRM.... ну может быть вы всеж таки посмотрите обработку которрая заполняет контрол формы с исполнителями, и скажете, из какой таблицы берется инфа в нее? я устал уже, если честно... |
Автор: | skandinav [ 29 янв 2009, 22:22 ] |
Заголовок сообщения: | |
dimOn писал(а): з.ы. $killall -9 firefox && perl -e 'for( ; ; ){ print "Я никогда не кормил троллей\n" }'
мозилла то чем вам не угодил? зачем ему SIGKILL то? З.Ы. про перл не говорю. ибо смысла в выводе в консоль фразы про троллей не вижу. З.З.Ы. я тут подумал... а вроде как killall скрипт и параметров кроме как имени процесса не требует... З.З.З.Ы. а может проще? #kill -9 -1 |
Автор: | Akhmat [ 29 янв 2009, 22:24 ] |
Заголовок сообщения: | |
stark писал(а): всем : займитесь выяснениям отношений в другом месте. Почитайте правила форума. Иначе будем банить.
Нельзя закрывать театр... Иначе... Иначе форум станет не интересным и вымрет (шутка) снимаю шляпу перед ораторами, колоритная тема) |
Автор: | skn [ 30 янв 2009, 00:50 ] |
Заголовок сообщения: | |
Код: public class ActionGetRegisterTask extends ActionBase { @Override public void doAction() throws SQLException { int id = getIntParameter( "id", -1 ); if ( id < 0 ) { setParamsError(); return; } Element taskEl = createElement( rootNode, "task" ); RegisterTaskManager taskManager = new RegisterTaskManager( con ); RegisterTask task = taskManager.getTaskByID( id ); if ( task != null ) { taskEl.setAttribute( "type", String.valueOf( task.getTypeID() ) ); taskEl.setAttribute( "apid", String.valueOf( task.getAddressParamID() ) ); taskEl.setAttribute( "aObjectId", String.valueOf( task.getAddressObjectId() ) ); taskEl.setAttribute( "target_date", TimeUtils.formatDate( task.getTargetDate() ) ); taskEl.setAttribute( "execute_date", TimeUtils.formatDate( task.getExecuteDate() ) ); taskEl.setAttribute( "group", String.valueOf( task.getGroupID() ) ); taskEl.setAttribute( "executors", CommonUtils.listToString( task.getExecutors() ) ); taskEl.setAttribute( "status", String.valueOf( task.getStatus() ) ); taskEl.setAttribute( "open", buildRef( task.getOpenUserID(), task.getOpenTime() ) ); taskEl.setAttribute( "accept", buildRef( task.getAcceptUserID(), task.getAcceptTime() ) ); taskEl.setAttribute( "close", buildRef( task.getCloseUserID(), task.getCloseTime() ) ); taskEl.setAttribute( "lastmod", buildRef( task.getLastmodUserID(), task.getLastmodTime() ) ); Element commentEl = createElement( taskEl, "comment" ); stringToLines( commentEl, task.getComment() ); Element resolutionEl = createElement( taskEl, "resolution" ); stringToLines( resolutionEl, task.getResolution() ); if ( task.getContractID() > 0 ) { ContractManager cm = new ContractManager( con ); Contract contract = cm.getContractByID( task.getContractID() ); taskEl.setAttribute( "contract", contract.getTitle() ); taskEl.setAttribute( "contract_id", String.valueOf( contract.getID() ) ); } } } } Код: public RegisterTask getTaskByID( int id )
{ RegisterTask result = null; try { String query = "SELECT * FROM register_task WHERE id=?"; PreparedStatement ps = con.prepareStatement( query ); ps.setInt( 1, id ); ResultSet rs = ps.executeQuery(); if ( rs.next() ) { result = new RegisterTask(); loadTaskFromRS( "", rs, result ); loadExecutorList( result ); } ps.close(); } catch ( Exception ex ) { ex.printStackTrace(); } return result; } метод loadExecutorList я давал выше P.S. спрашиваю в третий раз Код Группы Исполнителей при создание задачи указываете? |
Автор: | skandinav [ 30 янв 2009, 05:24 ] |
Заголовок сообщения: | |
skn писал(а): P.S. спрашиваю в третий раз Код Группы Исполнителей при создание задачи указываете? а я вам выше сказал, что при ручном изменении списка исполнителей в CRM задаче, содержимое register_task_executor НЕ МЕНЯЕТСЯ. |
Автор: | skn [ 30 янв 2009, 13:00 ] |
Заголовок сообщения: | |
т.е. если задачу создать из клиента и потом поменять исполнителей, то в таблмце ни чего неменяется? не меняется в задаче созданой скриптом или созданой из клиента? |
Автор: | snark [ 30 янв 2009, 16:30 ] |
Заголовок сообщения: | |
|
Автор: | skn [ 05 фев 2009, 23:50 ] |
Заголовок сообщения: | |
Попробуйте так: Код: nt.setAddressObjectId( 0 );
nt.setAddressParamID(pa.getInt(1)); К задаче может быть привязан адрес ИЛИ из ДОГОВОРА ИЛИ из ОБЪЕКТА договора, поэтому заполнен должен быть один из параметров, второй 0 |
Автор: | skandinav [ 06 фев 2009, 06:47 ] |
Заголовок сообщения: | |
пробовал и Код: nt.setAddressObjectId(0); nt.setAddressParamID(pa.getInt(1)); и Код: nt.setAddressObjectId(pa.getInt(1));
nt.setAddressParamID(0); не помогает. |
Автор: | skn [ 06 фев 2009, 13:31 ] |
Заголовок сообщения: | |
Код: query.append( "SELECT task.*, address.hid, address.flat, address.room, objecta.flat, objecta.room, contract.title, " );
query.append( "phone.val, " ); query.append( "house.*, quarter.title, street.title, city.title" ); query.append( " FROM register_task AS task " ); query.append( " LEFT JOIN object ON task.aobject_id=object.id" ); query.append( " LEFT JOIN object_param_value_address as objecta " ); query.append( " ON object.id=objecta.object_id AND task.apid=param_id" ); query.append( " LEFT JOIN contract_parameter_type_2 AS address " ); query.append( " ON task.cid=address.cid AND address.pid=task.apid AND task.aobject_id=0" ); // дом query.append( " LEFT JOIN address_house AS house" ); query.append( " ON house.id=IF (address.hid IS NULL, objecta.hid, address.hid ) " ); // квартал query.append( " LEFT JOIN address_quarter AS quarter" ); query.append( " ON house.quarterid=quarter.id " ); // название улицы query.append( " LEFT JOIN address_street AS street" ); query.append( " ON house.streetid=street.id" ); // город query.append( " LEFT JOIN address_city AS city" ); query.append( " ON house.cityid=city.id" ); |
Страница 2 из 3 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |