Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 20
OVRudneva Сообщение 15/11/2010 07:53 Копия темы
очень нужна срочная консультация!!!!!!!!!!!пожалуй ста  
Язык программирования С#  
СУБД SQL Server 2005 
Платформа DotNet  
Пожалуйста, подскажите решение... 
У нас система по обороту заявок на госпитализацию должна быть разработана вовремя,чтобы сократить время ожидания пациентов на получение койко-места. 

Возникла проблема... Наш разработчик утвержжает,что сделать так,как просят врач, с этими заявками работающие, не удастся. 

Вся система напоминает mail.ru. Заявки(как письма) сортируются по папкам Входящие, Отправленные и т.д в зависимости от статуса заявки(новая, в обработке, на доработке и т.д.). Мы хотм,чтобы как на мэиле рядом с названием папок писалось сколько заявок(писем) новых, а сколько в каждой папке всего писем(заявок). Однако, разработчик утверждает,что так системе придётся по каждой заявке проходиться и считать, выставляя кол-во новых и всего писем в каждой папке. А если их 300, скажем,всё будет виснуть и будет очень долго открываться.но ведь любая почта так работает и не виснет. подскажите какое-то решение,где и как это можно прописать,чтобы не виснула система, и считала письма(заявки)по папкам. очень нужно...
taurus_f Сообщение 15/11/2010 07:56 Копия темы
Увольте своего разработчика.
OVRudneva Сообщение 15/11/2010 07:58 Копия темы
не можем уже(((( а очень нужно запустить ситему, чтобы госпитализировать людей не в течении месяца,а максимум за неделю
abbat Сообщение 15/11/2010 08:01 Копия темы
В базе должен храниться флаг состояния заявки и флаг принадлежности к той или иной папке. По этим полям должен быть индекс – это ускорит выборки. Однако, если предполагается, что непрочитанных заявок всегда сильно меньше чем прочитанных и общее количество заявок велико, то, возможно, придется нарушить нормализацию и хранить это количество в отдельной таблице с возможностью пересчета агрегатов (через хранимую процедуру например). Другими словами, это вполне реализуемо без тормозов.
OVRudneva Сообщение 15/11/2010 08:03 Копия темы
Anton Batenev, спасибо за ответ!!!!!!!!)))))и совет)
taurus_f Сообщение 15/11/2010 08:04 Копия темы
Не думаю, что система будет тормозить даже если там будет пара тысяч писем. Если я чего-то не понял, то можно добавить дополнительные ячейки в которых будет указано количество нужных писаем и например, при приходе нового письма +1 в это поле, при прочтении или удалении -1, при отображении списка папок, количество непрочитанных писем берется их этого поля и ничего не считается в этот момент.
gigas Сообщение 15/11/2010 08:28 Копия темы
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))
I_love_music Сообщение 15/11/2010 08:33 Копия темы
Ну рад человек, очень рад, что тут плохого)
mayakrd Сообщение 15/11/2010 08:35 Копия темы
Роман за человека радуется
a-n-k Сообщение 15/11/2010 08:38 Копия темы
сразу сортируете по папкам и считаете общее количество в папке,
затем в каждой папке выбираете заявки со статусом новая и считаете их количество.
 
Всё.

если код написан правильно, ничего виснуть не будет, ибо с таким количеством, справлялись даже первобытные компьютеры )).  
mayakrd Сообщение 15/11/2010 08:41 Копия темы
разраб ленивый
taurus_f Сообщение 15/11/2010 08:45 Копия темы
ага, ляпнул что будет тормозить, теперь место того, что бы написать один модуль, ему придется дописывать кучу )))
OVRudneva Сообщение 15/11/2010 08:57 Копия темы
просто там папки следующие:"нерассмотренные заявки" у них статусы новая и после доработки.
"для согласования со внешними организациями" со статусами "одобрена" и т.д.
получается,что в паку заявка попадает как только у неё меняется статус. и почти для всех статусов свои папки для сортировки. учитывать в кажой папке приходится не просто заявки со статусом "новая заявка", а те заявки, статус которых поменялся именно на соответствующий данной папке  и относить данную заявку к новой, если сотрудник её ещё не открыл(не прочитал).

вы извините,если я как-то не так изъясняюсь))))просто я от программирования далека... в мою задачу входит объяснить программисту,что надо длля врачей. и никак у меня не получается его убедить,что посчитать их можна)

пасиба вам))правда.
a-n-k Сообщение 15/11/2010 09:08 Копия темы
каждая заявка должна иметь еще один статус(флаг) – прочитана или нет.
после того как заявка поступает в папку к количеству непрочитанных нужно добавить 1.
smartsoft Сообщение 15/11/2010 10:36 Копия темы
...а у вас не сильно искушенный разработчик

считать не обязательно в момент запроса данных. можно считать и в момент изменения их количества

то есть хранить счетчики по каждой папке. пришло новое письмо, изменился счетчик. 

но вообще говоря, и в вашем случае можно сделать без тормозов – при грамотном написании запросов :)

msobolev Сообщение 15/11/2010 17:32 Копия темы
не будет ничего виснуть... допустим, у вас каждая заявка имеет поле status и поле unread – для новых заявок – т.е. как только создали – поле становится равным  1. Тогда количество заявок по категориям можно получить одним запросом – SELECT status, count(id) GROUP BY status ORDER BY status, а количество новых заявок практически аналогично –  SELECT status, count(id) GROUP BY status WHERE unread=1 ORDER BY status. Останется лишь в цикле от 1 до количества статусов (а их немного как я понимаю) пробежать оба запроса и вывести значения на экран. 

Разработчику вашему пинка хорошего надо дать... Задача то из элементарных.

Оффтоп: посмотрите – Бюро госпитализации  – если надо, пришлю для ознакомления – система делает то же самое что вам нужно – только, увы не сетевая. А сетевую версию можете посмотреть здесь – bg.eisz.kz – если тоже ну очень надо – могу предоставить скриншоты системы изнутри или прислать руководство пользователя.
OVRudneva Сообщение 16/11/2010 11:53 Копия темы
Собрала воедино вчера все предложенные комментарии....отправила ему как вварианты,чтоб он подумал со своей командой.получила гневный ответ....
. "В базе должен храниться флаг состояния заявки" – нет флага. У заявки
есть ссылка на ее текущий статус, который храниться в другой таблице.
2. "флаг принадлежности к той или иной папке" – даже при самом поверхностном
знакомстве с системой легко понять, что такого флага нет и быть не может:
"папки" – есть набор условий которые хранятся в БД: роли, которым видна
данная папка, фильтры для данной папке, сортировка записей в данной папке и
т.д. При открытии папки – по ее фильтрам динамически строится запрос к БД,
который отбирает список заявок, которые необходимо отобразить в данной
папке.
Таким образом, если даже ввести избыточные вспомогательные таблицы, в
которых хранить принадлежность заявки той или иной папке, то:
- сильно увеличится время любого сохранения заявки, поскольку при ее
изменении нужно для каждой имеющейся в системе папке сформировать sql-запрос
для определения принадлежности заявок данной папке, выполнить данный запрос
и определить, стала ли принадлежать данная заявка данной папке и переписать
соотв. Значения.
3. "каждая заявка должна иметь еще один статус(флаг) – прочитана или нет" -
Тоже в корне неверно, поскольку "прочитанность" заявки определяется для
каждой роли или даже для каждого пользователя системы по отдельности. Это
означает, что соответствующие флаги, это как минимум отдельная таблица, но
уж точно не "еще один флаг у заявки"! 
4. "после того как заявка поступает в папку" – как уже было сказано раньше в
п.2 – проверка принадлежности заявки той или иной папке – это и есть самая
трудоемкая работа из всех, и решения по ее оптимизации пока нет. Никакого
автоматического перехода заявки "из папки в папку" нет, потому что папки -
это произвольная настраиваемая сущность (любая заявка может одновременно
отображаться в любом количестве папок).
taurus_f Сообщение 16/11/2010 12:13 Копия темы
"нет флага. У заявки есть ссылка на ее текущий статус, который храниться в другой таблице. "
Какая разница в какой таблице, это и есть флаг. Не подходит из другой, пусть сделают в этой.
...
хотел еще че-то написать, но прочитал до конца.. короче они не хотят работать ))

"Таким образом, если даже ввести избыточные вспомогательные таблицы, в
которых хранить принадлежность заявки той или иной папке, то:
- сильно увеличится время любого сохранения заявки, поскольку при ее
изменении нужно для каждой имеющейся в системе папке сформировать sql-запрос
для определения принадлежности заявок данной папке, выполнить данный запрос
и определить, стала ли принадлежать данная заявка данной папке и переписать
соотв. Значения. "
Пусть делают так, авось у вас не мильен пользователей работающих SQL и сервак не калькулятор, а там посмотрите.
OVRudneva Сообщение 16/11/2010 12:22 Копия темы
такой меня клаааассный раработчик))))не зря его зовут Рома Букин))))))))
taurus_f Сообщение 16/11/2010 12:56 Копия темы
=))))
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"