43211

Разработка автоматизированной системы анализа финансового состояния предприятия в условиях неопределенности

Курсовая

Информатика, кибернетика и программирование

Основной целью проведения анализа финансового состояния организаций является получение объективной оценки их платежеспособности, финансовой устойчивости, деловой и инвестиционной активности, эффективности деятельности. Для проведения анализа финансового состояния используются следующие группы показателей, характеризующих различные аспекты деятельности организации...

Русский

2013-11-04

1.47 MB

43 чел.

ВВЕДЕНИЕ

В современных экономических условиях деятельность каждого хозяйственного субъекта является предметом внимания обширного круга участников рыночных отношений, заинтересованных в результатах его функционирования.

Для того, чтобы обеспечивать выживаемость предприятия в современных условиях, управленческому персоналу необходимо прежде всего, уметь реально оценивать финансовые состояния как своего предприятия так и существующих потенциальных конкурентов.

Основываясь на данных о прошлой деятельности предприятия, финансовый анализ направлен на снижение неопределенности относительно его будущего состояния.

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

Для внутренних пользователей, к которым в первую очередь относятся руководители предприятия, результаты финансового анализа необходимы для оценки деятельности предприятия и подготовки решений о корректировке финансовой политики предприятия.

Для внешних пользователей - партнеров, инвесторов и кредиторов - информация о предприятии необходима для принятия решений о реализации конкретных планов в отношении данного предприятия (приобретение, инвестирование, заключение длительных контрактов).

Целью данного курсового проекта является разработка автоматизированной системы анализа финансового состояния предприятия в условиях неопределенности.


1 ОСОБЕННОСТИ ПРОЦЕССА АНАЛИЗА ФИНАНСОВОГО СОСТОЯНИЯ ПРЕДПРИЯТИЯ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ

Основной целью проведения анализа финансового состояния организаций является получение объективной оценки их платежеспособности, финансовой устойчивости, деловой и инвестиционной активности, эффективности деятельности. Для проведения анализа финансового состояния используются следующие группы показателей, характеризующих различные аспекты деятельности организации:

Общие показатели:

• среднемесячная выручка (К1);

Показатели платежеспособности и финансовой

устойчивости:

• степень платежеспособности общая (К2);

• коэффициент задолженности по кредитам банков и займам (К3);

• коэффициент задолженности другим организациям (К4);

• коэффициент задолженности фискальной системе (К5);

• коэффициент внутреннего долга (К6);

• степень платежеспособности по текущим обязательствам (К7);

• коэффициент покрытия текущих обязательств оборотными активами (К8);

• собственный капитал в обороте (К9);

• доля собственного капитала в оборотных средствах (коэффициент обеспеченности собственными средствами) (К10);

• коэффициент автономии (финансовой независимости) (К11).

Показатели эффективности использования оборотного капитала (деловой активности), доходности и финансового результата (рентабельности):

• коэффициент обеспеченности оборотными средствами (К12);

• эффективность внеоборотного капитала (фондоотдача) (К13);

Порядок расчета и анализа показателей финансового состояния организаций

Среднемесячная выручка (К1) рассчитывается как отношение выручки, полученной организацией за отчетный период, к  количеству месяцев в отчетном периоде:

K1=B/T

Где В – валовая выручка организации по оплате,

Т – количество месяцев в рассматриваемом отчетном периоде.

Данный показатель вычисляется по валовой выручке, включающей выручку от реализации за отчетный период (по оплате), НДС, акцизы и другие обязательные платежи. Она характеризует объем доходов организации за рассматриваемый период и определяет основной финансовый ресурс организации, который используется для осуществления хозяйственной деятельности, в том числе для исполнения обязательств перед фискальной системой государства, другими организациями, своими работниками. Среднемесячная выручка, рассматриваемая в сравнении с аналогичными показателями других организаций, характеризует масштаб бизнеса организации.

Степень платежеспособности общая (К2) определяется как

частное от деления суммы заемных средств (обязательств) организации

на среднемесячную выручку:

K2=заемные средства/выручка

Данный показатель характеризует общую ситуацию с платежеспособностью организации, объемами ее заемных средств и сроками возможного погашения задолженности организации перед ее

кредиторами.

Структура долгов и способы кредитования организации характеризуются распределением показателя «степень платежеспособности общая» на коэффициенты задолженности по кредитам банков и займам, другим организациям, фискальной системе, внутреннему долгу. Перекос структуры долгов в сторону товарных кредитов от других организаций, скрытого кредитования за счет неплатежей фискальной системе государства и задолженности по внутренним выплатам отрицательно характеризует хозяйственную деятельность организации.

Коэффициент задолженности по кредитам банков и займам

(К3) вычисляется как частное от деления суммы долгосрочных пассивов

и краткосрочных кредитов банков и займов на среднемесячную выручку:

К3=(долгосрочные пассивы+краткосрочные кредиты)/К1

Коэффициент задолженности другим организациям (К4) вычисляется как частное от деления суммы обязательств по строкам «поставщики и подрядчики», «векселя к уплате», «задолженность перед дочерними и зависимыми обществами», «авансы полученные» и «прочие кредиторы» на среднемесячную выручку. Все эти строки пассива баланса функционально относятся к обязательствам организации перед прямыми кредиторами или ее контрагентами:

К4=(поставщики и подрядчики+векселя к уплате+задолженность переддочерними зависимыми обществами+авансы полученные)/К1

Коэффициент задолженности фискальной системе (К5) вычисляется как частное от деления суммы обязательств по строкам «задолженность перед государственными внебюджетными фондами» и «задолженность перед бюджетом» на среднемесячную выручку:

К5=(задолженность перед государственными внебюджетными фондами+ задолженность перед бюджетом)/К1

Коэффициент внутреннего долга (К6) вычисляется как частное от деления суммы обязательств по строкам «задолженность перед персоналом организации», «доходы будущих периодов», «резервы предстоящих расходов», «прочие краткосрочные обязательства» на среднемесячную выручку:

К6=(задолженность перед персоналом организации+ доходы будущих периодов+ резервы предстоящих расходов+ прочие краткосрочные обязательства)/К1

Степень платежеспособности общая и распределение показателя по виду задолженности представляют собой значения обязательств, отнесенные к среднемесячной выручке организации, и являются показателями оборачиваемости по соответствующей группе обязательств организации. Кроме того, эти показатели определяют, в какие средние сроки организация может рассчитаться со своими кредиторами при условии сохранения среднемесячной выручки, полученной в данном отчетном периоде, если не осуществлять никаких текущих расходов, а всю выручку направлять на расчеты с кредиторами.

Степень платежеспособности по текущим обязательствам (К7) определяется как отношение текущих заемных средств (краткосрочных обязательств) организации к среднемесячной выручке:

К7=(заемные средства)/К1

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

Коэффициент покрытия текущих обязательств оборотными активами (К8) вычисляется как отношение стоимости всех оборотных средств в виде запасов, дебиторской задолженности, краткосрочных финансовых вложений, денежных средств и прочих оборотных активов

к текущим обязательствам организации:

К8=(запасы+дебиторская задолженность+краткосрочные финансовые вложения+денежные средства+прочие оборотные активы)/текущие обязательства

Данный коэффициент показывает, насколько текущие обязательства покрываются оборотными активами организации. Кроме того, показатель характеризует платежные возможности организации при условии погашения всей дебиторской задолженности (в том числе «невозвратной») и реализации имеющихся запасов (в том числе неликвидов). Снижение данного показателя за анализируемый период свидетельствует о снижении уровня ликвидности активов или о росте убытков организации.

Собственный капитал в обороте (К9) вычисляется как разность между собственным капиталом организации и ее внеоборотными активами:

К9= собственный капитал организации- внеоборотные активы

Наличие собственного капитала в обороте (собственных оборотных средств) является одним из важных показателей финансовой устойчивости организации. Отсутствие собственного капитала в обороте организации свидетельствует о том, что все оборотные средства организации, а также, возможно, часть внеоборотных активов (в случае отрицательного значения показателя) сформированы за счет заемных средств (источников).

Доля собственного капитала в оборотных средствах (коэффициент обеспеченности собственными средствами) (К10) рассчитывается как отношение собственных средств в обороте ко всей величине оборотных средств:

К10=собственные средства/оборотные средства

Показатель характеризует соотношение собственных и заемных оборотных средств и определяет степень обеспеченности хозяйственной деятельности организации собственными оборотными средствами, необходимыми для ее финансовой устойчивости.

Коэффициент автономии (финансовой независимости) (К11) вычисляется как частное от деления собственного капитала на сумму активов организации:

К11=собственный капитал/сумма активов организации

Коэффициент автономии, или финансовой независимости, (К11) определяется отношением стоимости капитала и резервов организации,

очищенных от убытков, к сумме средств организации в виде внеоборотных и оборотных активов. Данный показатель определяет долю активов организации, которые покрываются за счет собственного капитала (обеспечиваются собственными источниками формирования). Оставшаяся доля активов покрывается за счет заемных средств. Показатель характеризует соотношение собственного и заемного капитала организации.

Коэффициент обеспеченности оборотными средствами (К12) вычисляется путем деления оборотных активов организации на среднемесячную выручку и характеризует объем оборотных активов, выраженный в среднемесячных доходах организации, а также их оборачиваемость:

К12=оборотные активы/К1

Данный показатель оценивает скорость обращения средств, вложенных в оборотные активы. Показатель дополняется коэффициентами оборотных средств в производстве и в расчетах, значения которых характеризуют структуру оборотных активов организации.

Эффективность внеоборотного капитала (фондоотдача) (К13) определяется как отношение среднемесячной выручки к стоимости внеоборотного капитала:

К13=К1/внеоборотный капитал

Показатель характеризует эффективность использования основных средств организации, определяя, насколько соответствует общий объем имеющихся основных средств (машин и оборудования, зданий, сооружений, транспортных средств, ресурсов, вкладываемых в усовершенствование собственности, и т.п.) масштабу бизнеса организации.

Значение показателя эффективности внеоборотного капитала, меньшее, чем значение аналогичного среднеотраслевого показателя, может характеризовать недостаточную загруженность имеющегося оборудования, в том случае если в рассматриваемый период организация не приобретала новых дорогостоящих основных средств. В то же время чрезмерно высокие значения показателя эффективности внеоборотного капитала могут свидетельствовать как о полной загрузке оборудования и отсутствии резервов, так и о значительной степени физического и морального износа устаревшего производственного оборудования.


2 ПОСТАНОВКА ЗАДАЧИ И ОБЗОР МЕТОДОВ ЕЕ РЕШЕНИЯ

Автоматизированная система анализа финансового состояния организации должна:

а) содержать список организаций, для которых проводится анализ.

б) хранить исходные данные (в интервальном виде) и результаты анализа по каждой организации

в) хранить нормативные значения по каждому коэффициенту

г) пользователь должен обладать возможностью добавлять новую организацию, изменять информацию о существующей, удалять организации

д) проводить анализ для организаций

Для решения поставленной задачи можно использовать следующие готовые решения:

1. Программа для финансового анализа предприятия - FinAnalysGold - позволяет на основе данных бухгалтерской отчетности (форма 1, 2, 3, 4, 5) получить текст финансового анализа предприятия, оценки кредитоспособности по методике Сбербанка РФ, оценки стоимости бизнеса (предприятия), графики - в сравнении 2, 3, 4-х периодов и за каждый период.

2. ФинЭк Анализ 2009. С помощью программы проводится анализ финансового состояния предприятий и анализ хозяйственной деятельности.

На основании бухгалтерской отчетности программа Финансовый анализ формирует аналитические текстовые отчеты вместе с наглядными графиками и рекомендациями для улучшения финансового состояния.

Используя систему ФинЭк Анализ 2009 можно:

− Быстро провести финансовый анализ состояния предприятия

− Эффективно управлять капиталом, дебиторской задолженностью и оборотными средствами

− Построить финансовые модели предприятия

− Повысить ликвидность баланса и рентабельность

− Улучшить финансовое состояние предприятия

− Сэкономить финансовые средства организации

3. Audit Expert .Экспресс-анализ с применением системы Audit Expert дает возможность на основании формы 1 (Баланса) и формы 2 (Отчета о прибылях и убытках) быстро получить заключение с оценкой финансового состояния предприятия. Экспресс-анализ в Audit Expert включает следующие этапы:

−Создание файла проекта для анализа предприятия

−Ввод финансовой информации — вручную или импорт отчетности из текстовых файлов, формируемых всеми бухгалтерскими программами

−Получение на их основе аналитических Баланса и Отчета о прибылях и убытках

−Оценку финансового состояния предприятия на основе данных аналитических таблиц с использованием горизонтального, вертикального, трендового и коэффициентного анализа отчетности

−Формирование автоматического экспертного заключения, а также подготовку отчета по результатам анализа.

 


3 МОДЕЛИ ПРЕДСТАВЛЕНИЯ СИСТЕМЫ

3.1 Разработка  и описание функциональной модели IDEF0

Анализ финансового состояния предприятия производится под контролем руководства предприятия, согласно методике проведения анализа и законодательству РБ. Для проведения анализа необходимы данные баланса предприятия. В результате проведения анализа руководство получает анализ финансового состояния предприятия.

Контекстная диаграмма модели  представлена на рисунке 3.1.

Рисунок 3.1 – Контекстная диаграмма модели анализа финансового состояния предприятия в условиях неопределенности

Процесс анализа состоит из следующих этапов:

а) отбор данных для анализа;

б) проведения анализа.

в) сравнения рассчитанных коэффициентов с нормативными значениями

Данные подпроцессы представлены на рисунке 3.2.

Рисунок 3.2 – Декомпозиция блока “ анализ финансового состояния предприятия в условиях неопределенности

 

В рамках каждого подпроцесса выделяют определенные виды деятельности. В рамках подпроцесса «проведение анализа» выделим следующие этапы:

а) выбор коэффициентов для анализа:

б)расчет коэффициентов;

в) сохранение результатов расчета.

Декомпозиция блока “ проведение анализа ” представлена на рисунке 3.3

Рисунок 3.3 – Декомпозиция блока “ проведение анализа ”

 

 3.2 UML-модели системы и их описание

Диаграмма вариантов использования. С данной системой может работать любой сотрудник предприятия (экономист или бухгалтер). Диаграмма вариантов использования представлена на рисунке 3.4

Рисунок 3.4 – Диаграмма вариантов использования

Диаграмма состояний. Диаграмма состояний отражает последовательность перехода системы из одного состояния в другое: запуск приложения, выбор организации и т.д.

Рисунок 3.5 – Диаграмма состояний системы

 Диаграмма классов. На диаграмме классов изображены основные классы системы (классы для работы с БД, сервлет, принимающий запросы от браузера)

Рисунок 3.6– Диаграмма классов автоматизированной системы анализа финансового состояния предприятия в условиях неопределенности

Диаграмма последовательностей.

Диаграмма последовательностей отображает основные объекты системы и взаимодействие между ними.

Рисунок 3.7– Диаграмма последовательностей системы

Диаграмма развертывания. Диаграмма развертывания системы изображена на рисунке 3.8.

Рисунок 3.8 – Диаграмма развертывания системы


4 ИНФОРМАЦИОННАЯ МОДЕЛЬ СИСТЕМЫ И ЕЕ

ОПИСАНИЕ

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

Логический  и физический уровни итоговой информационной модели приведены на рисунках 4.1 и 4.2 соответственно.

Рисунок 4.2– Логический уровень информационной модели

приведенной к третьей нормальной форме

Рисунок 4.3– Физический уровень информационной модели

приведенной к третьей нормальной форме


5 ОПИСАНИЕ АЛГОРИТМОВ РАБОТЫ ПРОГРАММЫ

 

Алгоритм работы программы можно получить, если проанализировать блок-схему обобщенного алгоритма программы:

  1.  При запуске приложения отображается список организаций
  2.  Пользователь может добавить новую организацию, удалить или изменить существующую
  3.  Для просмотра проведенных анализов нужно выбрать организацию.
  4.  Если пользователь выберет добавление нового анализа, ему необходимо ввести исходные данные для анализа.

5) По введенным данным система посчитает коэффициенты и проанализирует финансовое состояние предприятия.

Рассмотрим алгоритм программного модуля удаление информации о организации:

1) Для удаления информации пользователь выбирает нужную строку и нажимает на ссылку “удалить”.

2) Логика приложения определяет выбранную строку и передает классу для работы с базой данных номер данной строки с требованием удаления.

3) БД ищет товар с таким номером и удаляет.

4) Сервлет запрашивает у БД обновленный список организаций.

5)Обновленный список организаций приходит из БД и отображается на JSP странице .


6 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

При запуске приложения отображается информация об организациях (рис. 7.1). Для редактирования организации необходимо нажать на ссылку “редактирование”.

 

Рисунок 6.1– Запуск приложения

После нажатия на ссылку редактирование, система переходит на страницу редактирование информации об организации. После нажатия на кнопку “сохранить”, происходит возврат на главную страницу приложения(рис. 6.2).

Рисунок 6.2– Редактирование организации

Для просмотра проведенных анализов по каждому предприятию необходимо нажать на ссылку “анализ”  (6.3). На странице проведенных анализов можно просмотреть исходные данные по каждому из них и отчет о проведенном анализе.

Рисунок 6.3– Страница анализов

Исходные данные вносятся в виде интервалов (минимальное и максимальное значение) для учета фактора неопределенности.

Рисунок 6.4– Исходные данные

После ввода исходных данных система рассчитывает значения коэффициентов и сохраняте их в базе, пользователь может просмотреть результат анализа нажав на ссылку “отчет” (рис. 6.5).

Рисунок 6.5– Результат анализа

 


7 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ РАЗРАБОТАННОЙ

СИСТЕМЫ  И ОЦЕНКА ВЫПОЛНЕНИЯ ЗАДАЧ

При тестировании разработанной системы анализа финансового состояния предприятия в условиях неопределенности не было найдено каких-либо недостатков программы: система быстро реагирует на пользовательские запросы, не было обнаружено случаев некорректной работы системы

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

Данная система проводит анализ финансового состояния предприятия по 13 параметрам, при желании количество параметров и их состав могут быть изменены. Для этого потребуются незначительные изменения в системе.

Система разработана в веб архитектуре, что обеспечивает доступ к ней пользователям через сеть Интернет.

Можно сделать вывод о том, что поставленная цель достигнута.

Сервер Apache Tomcat обеспечивает надежную и бесперебойную работу программы, а СУБД Sybase − быстродействие.


ЗАКЛЮЧЕНИЕ

Во время выполнения курсового проекта на тему “Анализ финансового состояния предприятия в условиях неопределенности” был проанализировано, что условие неопределенности подразумевает ввод исходных данных в интервальном виде и расчет показателей с учетом данного условия. Был изучен процесс анализа финансового состояния предприятия, выделены коэффциенты, рассчитанные значения которых сравниваются с нормативными для составления заключения об анализе.

В результате анализа предметной области было принято решение разработать автоматизированную систему анализ финансового состояния предприятия в условиях неопределенности используя технологию J2EE(JSP и сервлеты). Данная технология была использована для того, чтобы реализовать систему как веб-приложение, к которому любой пользователь может получить доступ с помощью сети Интернет.

Данная система проводит анализ финансового состояния предприятия по 13 параметрам, при желании количество параметров и их состав могут быть изменены. Для этого потребуются незначительные изменения в системе.

Система разработана в веб архитектуре, что обеспечивает доступ к ней пользователям через сеть Интернет.

Можно сделать вывод о том, что поставленная цель достигнута.

Сервер Apache Tomcat обеспечивает надежную и бесперебойную работу программы, а СУБД Sybase − быстродействие.

При небольшом изменении системы ее можно настроить под любое предприятие, изменив коэффициенты можно настроить систему на другой тип анализа финансового состояния предприятия.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1) Астахова И.Ф. SQL в примерах и задачах. М.: «Новое знание».-2002.

2) Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е издание. − СПб.:Птер, 2006.− 575с.

3) Верников Г. Методологии организационного проектирования, стандарт IDEF0.

4) Новашина Т.С. Финансовый анализ. / Под ред. Т.С. Новашиной. – М.: Московская финансово-промышленная академия, 2005.

5) http://www.cfin.ru/finanalysis/invest/fuzzy_analysis.shtml


ПРИЛОЖЕНИЕ А

Блок-схема обобщенного алгоритма


ПРИЛОЖЕНИЕ Б

БЛОК-СХЕМА ПРОГРАММНОГО МОДУЛЯ

(удаление организации)


SQL-скрипт

GRANT CONNECT TO anna IDENTIFIED BY anna;

 

CREATE TABLE anna.Information  (  

id INTEGER DEFAULT AUTOINCREMENT,

valVirychka NUMERIC(15,2),

tekObyaz NUMERIC(15,2),

dolgPassiv NUMERIC(15,2),

kratkKred  NUMERIC(15,2),

zadPost NUMERIC(15,2),

veks NUMERIC(15,2),

zadDoch NUMERIC(15,2),

avansPol NUMERIC(15,2),

zadVneBudzh NUMERIC(15,2),

zadBudzh NUMERIC(15,2),

zadPers NUMERIC(15,2),

dohBydPer  NUMERIC(15,2),

rezRash NUMERIC(15,2),

prochieKratkOb NUMERIC(15,2),

zapas NUMERIC(15,2),

debZad NUMERIC(15,2),

kratkFinVl NUMERIC(15,2),

denSrva NUMERIC(15,2),

prochieObAkt NUMERIC(15,2),

sobKap  NUMERIC(15,2),

vneobAkt NUMERIC(15,2),

valVirychka1 NUMERIC(15,2),

tekObyaz1 NUMERIC(15,2),

dolgPassiv1 NUMERIC(15,2),

kratkKred1  NUMERIC(15,2),

zadPost1 NUMERIC(15,2),

veks1 NUMERIC(15,2),

zadDoch1 NUMERIC(15,2),

avansPol1 NUMERIC(15,2),

zadVneBudzh1 NUMERIC(15,2),

zadBudzh1 NUMERIC(15,2),

zadPers1 NUMERIC(15,2),

dohBydPer1  NUMERIC(15,2),

rezRash1 NUMERIC(15,2),

prochieKratkOb1 NUMERIC(15,2),

zapas1 NUMERIC(15,2),

debZad1 NUMERIC(15,2),

kratkFinVl1 NUMERIC(15,2),

denSrva1 NUMERIC(15,2),

prochieObAkt1 NUMERIC(15,2),

sobKap1  NUMERIC(15,2),

vneobAkt1 NUMERIC(15,2),

PRIMARY KEY (id)   

);   

COMMIT;     

CREATE TABLE anna.Analiz(  
id INTEGER
DEFAULT AUTOINCREMENT,  

dateAnaliz CHAR(30),  

koef1 NUMERIC(15,2),

koef2 NUMERIC(15,2),

koef3 NUMERIC(15,2),

koef4 NUMERIC(15,2),

koef5 NUMERIC(15,2),

koef6 NUMERIC(15,2),

koef7 NUMERIC(15,2),

koef8 NUMERIC(15,2),

koef9 NUMERIC(15,2),

koef10 NUMERIC(15,2),

koef11 NUMERIC(15,2),

koef12 NUMERIC(15,2),

koef13 NUMERIC(15,2),

result CHAR(500),  

PRIMARY KEY (id)  

);  

CREATE TABLE anna.Organization(  
id INTEGER
DEFAULT AUTOINCREMENT,  

name CHAR(130),  

director CHAR(130),  

address CHAR(300),  

phone CHAR(30),  

email CHAR(30),  

PRIMARY KEY (id)  

);  

CREATE TABLE anna.Koefficient(  
id INTEGER
DEFAULT AUTOINCREMENT,  

name CHAR(300),  

abbr CHAR(10),  

zn CHAR(20),

PRIMARY KEY (id)  

);  

ALTER TABLE anna.Information  ADD FK_A_A

FOREIGN KEY (analizId) REFERENCES anna.Analiz(id)   

ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE anna.Analiz  ADD FK_A_Pr

FOREIGN KEY (organizationId) REFERENCES anna.Organization(id)   

ON UPDATE CASCADE ON DELETE CASCADE;

Insert into anna.Koefficient(name,abbr,zn) values('среднемесячная выручка','K1','-');

Insert into anna.Koefficient(name,abbr,zn) values('коэффициент задолженности по кредитам банков и займам','K2','0,75');

Insert into anna.Koefficient(name,abbr,zn) values('степень платежеспособности общая','K3','0,81');

Insert into anna.Koefficient(name,abbr,zn) values('коэффициент задолженности другим организациям','K4','0,87');

Insert into anna.Koefficient(name,abbr,zn) values('коэффициент задолженности фискальной системе','K5','0,3');

Insert into anna.Koefficient(name,abbr,zn) values('коэффициент внутреннего долга','K6','1,05');

Insert into anna.Koefficient(name,abbr,zn) values('степень платежеспособности по текущим обязательствам','K7','1,75');

Insert into anna.Koefficient(name,abbr,zn) values(' коэффициент покрытия текущих обязательств оборотными активами ','K8','1,47');

Insert into anna.Koefficient(name,abbr,zn) values('собственный капитал в обороте','K9','-');

Insert into anna.Koefficient(name,abbr,zn) values('доля собственного капитала в оборотных средствах','K10','0,83');

Insert into anna.Koefficient(name,abbr,zn) values(' коэффициент автономии ','K11','0,7');

Insert into anna.Koefficient(name,abbr,zn) values('коэффициент обеспеченности оборотными средствами','K12','1,7');

Insert into anna.Koefficient(name,abbr,zn) values('эффективность внеоборотного капитала','K13','1,2');

Фрагмент программного кода

package analiz;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import db.AnalizDAO;

import db.Information;

import db.InformationDAO;

import db.Koefficient;

import db.KoefficientDAO;

import db.Organization;

import db.OrganizationDAO;

public class Analiz extends HttpServlet {

HttpSession session;

/**

 * Constructor of the object.

 */

private int flag;

public Analiz() {

 super();

}

/**

 * Destruction of the servlet. <br>

 */

public void destroy() {

 super.destroy(); // Just puts "destroy" string in log

 // Put your code here

}

/**

 * The doGet method of the servlet. <br>

 *

 * This method is called when a form has its tag value method equals to get.

 *

 * @param request the request send by the client to the server

 * @param response the response send by the server to the client

 * @throws ServletException if an error occurred

 * @throws IOException if an error occurred

 */

public void doGet(HttpServletRequest request, HttpServletResponse response)

  throws ServletException, IOException {

 response.setContentType("text/html;charset=UTF-8");

 PrintWriter out = response.getWriter();

  String method = request.getParameter("method");

        if (method != null) {

            if (method.compareTo("organization") == 0) {

                organization(request, response);

            } else if (method.compareTo("addOrganization") == 0) {

                addOrganization(request, response);

            } else if (method.compareTo("editOrganization") == 0) {

                editOrganization(request, response);

            }

             else if (method.compareTo("deleteOrganization") == 0) {

                deleteOrganization(request, response);

            } else if (method.compareTo("information") == 0) {

                information(request, response);

            }

             else if (method.compareTo("addInformation") == 0) {

               addInformation(request, response);

            }  else if (method.compareTo("analiz") == 0) {

                analiz(request, response);

            } else if (method.compareTo("otchet") == 0) {

               otchet(request, response);

            } else if (method.compareTo("deleteAnaliz") == 0) {

                deleteAnaliz(request, response);

            }

        }

}

/**

 * The doPost method of the servlet. <br>

 *

 * This method is called when a form has its tag value method equals to post.

 *

 * @param request the request send by the client to the server

 * @param response the response send by the server to the client

 * @throws ServletException if an error occurred

 * @throws IOException if an error occurred

 */

public void doPost(HttpServletRequest request, HttpServletResponse response)

  throws ServletException, IOException {

 response.setContentType("text/html;charset=UTF-8");

 PrintWriter out = response.getWriter();

  

        if (flag==1 ) {

           

             saveOrganization(request, response);

            } else if (flag==2) {

             saveInformation(request, response);

            }

            

        

}

 

   public void organization(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

    flag=1;

    PrintWriter out = response.getWriter();

    OrganizationDAO od=new OrganizationDAO();

    List<Organization> clients=od.findAll();

    session=request.getSession();

    session.removeAttribute("oid");

    HttpSession userSession = request.getSession(true);

    request.setAttribute("organization", clients);

    RequestDispatcher rd =

     getServletContext().getRequestDispatcher("/pages/organizationList.jsp");

   if (rd != null)

      {

   rd.forward(request,response);

      }

}

   

   

   public void analiz(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

    flag=2;

    PrintWriter out = response.getWriter();

    OrganizationDAO od=new OrganizationDAO();

    List<Organization> clients=od.findAll();

    session=request.getSession();

    int id;

    if(session.getAttribute("oid")!=null&&!"".equals(session.getAttribute("oid"))){

     System.out.println("session");

     id=(Integer)session.getAttribute("oid");

    }else{

     System.out.println("request");

    id=Integer.valueOf(request.getParameter("oid"));

    session.setAttribute("oid",id);

    }

    System.out.println("id="+id);

   AnalizDAO dao=new AnalizDAO();

   List<db.Analiz> analiz=dao.findAnalizByOrg(id);

    request.setAttribute("analiz", analiz);

    RequestDispatcher rd =

     getServletContext().getRequestDispatcher("/pages/analizList.jsp");

   if (rd != null)

      {

   rd.forward(request,response);

      }

}

   

   

   public void information(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

   

    PrintWriter out = response.getWriter();

    OrganizationDAO od=new OrganizationDAO();

    List<Organization> clients=od.findAll();

    session=request.getSession();

    int id;

   

    id=Integer.valueOf(request.getParameter("id"));

   

 InformationDAO dao=new InformationDAO();

   Information info=dao.findInformationByAnaliz(id);

    request.setAttribute("info", info);

    RequestDispatcher rd =

     getServletContext().getRequestDispatcher("/pages/information.jsp");

   if (rd != null)

      {

   rd.forward(request,response);

      }

}

   

   public void otchet(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

   

    PrintWriter out = response.getWriter();

    

    int id=Integer.valueOf(request.getParameter("id"));

   

 AnalizDAO dao=new AnalizDAO();

   db.Analiz an=dao.findById(id);

   KoefficientDAO kd=new KoefficientDAO();

   List<Koefficient> klist=kd.findAll();

 

    request.setAttribute("analiz", an);

    request.setAttribute("klist", klist);

    RequestDispatcher rd =

     getServletContext().getRequestDispatcher("/pages/otchet.jsp");

   if (rd != null)

      {

   rd.forward(request,response);

      }

}

   

   public void addInformation(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

    flag=2;

    PrintWriter out = response.getWriter();

    Information i=new Information();

    request.setAttribute("info", i);

    RequestDispatcher rd =

     getServletContext().getRequestDispatcher("/pages/addInformation.jsp");

   if (rd != null)

      {

   rd.forward(request,response);

      }

}

   

   public void addOrganization(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter out = response.getWriter();

  session=request.getSession();

  session.removeAttribute("id");

   RequestDispatcher rd =

getServletContext().getRequestDispatcher("/pages/addOrganization.jsp");

if (rd != null)

   {

rd.forward(request,response);

   }

}

 

   public void editOrganization(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

   

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter out = response.getWriter();

  int id=Integer.valueOf(request.getParameter("id"));

  session=request.getSession();

  session.setAttribute("id", id);

  System.out.println("id"+id);

  OrganizationDAO dao=new OrganizationDAO();

  Organization o=dao.findById(id);

  request.setAttribute("organization", o);

   RequestDispatcher rd =

getServletContext().getRequestDispatcher("/pages/editOrganization.jsp");

if (rd != null)

   {

rd.forward(request,response);

   }

}

 

   

   public void deleteOrganization(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

      System.out.println("id=");

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter out = response.getWriter();

 int id=Integer.valueOf(request.getParameter("id"));

 System.out.println("id="+id);

 

 OrganizationDAO dao=new OrganizationDAO();

 dao.remove(id);

        organization(request,response);

 

 }

   

   public void deleteAnaliz(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

      System.out.println("id=");

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter out = response.getWriter();

 int id=Integer.valueOf(request.getParameter("id"));

 System.out.println("id="+id);

 

 AnalizDAO dao=new AnalizDAO();

 dao.remove(id);

       analiz(request,response);

 

 }

public void saveOrganization(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

  response.setContentType("text/html;charset=UTF-8");

  PrintWriter out = response.getWriter();

  String name=(String)request.getParameter("name");

  String surname=(String)request.getParameter("director");

  String address=(String)request.getParameter("address");

  String phone=(String)request.getParameter("phone");

  String email=(String)request.getParameter("email");

  session=request.getSession();

  Organization org=new Organization();

if(session.getAttribute("id")!=null){

 int id=(Integer)session.getAttribute("id");

 org.setId(id);

}

  org.setName(name);

  org.setDirector(surname);

  org.setAddress(address);

  org.setPhone(phone);

  org.setEmail(email);

  OrganizationDAO dao=new OrganizationDAO();

  dao.save(org);

  organization(request,response);

}

   

public void saveInformation(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

double valVirychka=Double.valueOf(request.getParameter("valVirychka"));

double tekObyaz =Double.valueOf(request.getParameter("tekObyaz"));

double dolgPassiv =Double.valueOf(request.getParameter("dolgPassiv"));

double kratkKred =Double.valueOf(request.getParameter("kratkKred"));

double zadPost=Double.valueOf(request.getParameter("zadPost"));

double veks =Double.valueOf(request.getParameter("veks"));

double zadDoch =Double.valueOf(request.getParameter("zadDoch"));

double avansPol =Double.valueOf(request.getParameter("avansPol"));

double zadVneBudzh =Double.valueOf(request.getParameter("zadVneBudzh"));

double zadBudzh =Double.valueOf(request.getParameter("zadBudzh"));

double zadPers =Double.valueOf(request.getParameter("zadPers"));

double dohBydPer  =Double.valueOf(request.getParameter("dohBydPer"));

double rezRash =Double.valueOf(request.getParameter("rezRash"));

double prochieKratkOb =Double.valueOf(request.getParameter("prochieKratkOb"));

double zapas =Double.valueOf(request.getParameter("zapas"));

double debZad =Double.valueOf(request.getParameter("debZad"));

double kratkFinVl =Double.valueOf(request.getParameter("kratkFinVl"));

double denSrva =Double.valueOf(request.getParameter("denSrva"));

double prochieObAkt =Double.valueOf(request.getParameter("prochieObAkt"));

double sobKap  =Double.valueOf(request.getParameter("sobKap"));

double vneobAkt =Double.valueOf(request.getParameter("vneobAkt"));

double valVirychka1 =Double.valueOf(request.getParameter("valVirychka1"));

double tekObyaz1 =Double.valueOf(request.getParameter("tekObyaz1"));

double dolgPassiv1 =Double.valueOf(request.getParameter("dolgPassiv1"));

double kratkKred1  =Double.valueOf(request.getParameter("kratkKred1"));

double zadPost1 =Double.valueOf(request.getParameter("zadPost1"));

double veks1 =Double.valueOf(request.getParameter("veks1"));

double zadDoch1 =Double.valueOf(request.getParameter("zadDoch1"));

double avansPol1 =Double.valueOf(request.getParameter("avansPol1"));

double zadVneBudzh1 =Double.valueOf(request.getParameter("zadVneBudzh1"));

double zadBudzh1=Double.valueOf(request.getParameter("zadBudzh1"));

double zadPers1 =Double.valueOf(request.getParameter("zadPers1"));

double dohBydPer1  =Double.valueOf(request.getParameter("dohBydPer1"));

double rezRash1 =Double.valueOf(request.getParameter("rezRash1"));

double prochieKratkOb1 =Double.valueOf(request.getParameter("prochieKratkOb1"));

double zapas1 =Double.valueOf(request.getParameter("zapas1"));

double debZad1 =Double.valueOf(request.getParameter("debZad1"));

double kratkFinVl1 =Double.valueOf(request.getParameter("kratkFinVl1"));

double denSrva1=Double.valueOf(request.getParameter("denSrva1"));

double prochieObAkt1=Double.valueOf(request.getParameter("prochieObAkt1"));

double sobKap1  =Double.valueOf(request.getParameter("sobKap1"));

double vneobAkt1 =Double.valueOf(request.getParameter("vneobAkt1"));

Information i=new Information();

i.setAvansPol(avansPol);

i.setAvansPol1(avansPol1);

i.setDebZad(debZad);

i.setDebZad1(debZad1);

i.setDenSrva(denSrva);

i.setDenSrva1(denSrva1);

i.setDohBydPer(dohBydPer);

i.setDohBydPer1(dohBydPer1);

i.setDolgPassiv(dolgPassiv);

i.setDolgPassiv1(dolgPassiv1);

i.setKratkFinVl(kratkFinVl);

i.setKratkFinVl1(kratkFinVl1);

i.setKratkKred(kratkKred);

i.setKratkKred1(kratkKred1);

i.setProchieKratkOb(prochieKratkOb);

i.setProchieKratkOb1(prochieKratkOb1);

i.setProchieObAkt(prochieObAkt);

i.setProchieObAkt1(prochieObAkt1);

i.setRezRash(rezRash);

i.setRezRash1(rezRash1);

i.setSobKap(sobKap);

i.setSobKap1(sobKap1);

i.setTekObyaz(tekObyaz);

i.setTekObyaz1(tekObyaz1);

i.setValVirychka(valVirychka);

i.setValVirychka1(valVirychka1);

i.setVeks(veks);

i.setVeks1(veks1);

i.setVneobAkt(vneobAkt);

i.setVneobAkt1(vneobAkt1);

i.setZadBudzh(zadBudzh);

i.setZadBudzh1(zadBudzh1);

i.setZadDoch(zadDoch);

i.setZadDoch1(zadDoch1);

i.setZadPers(zadPers);

i.setZadPers1(zadPers1);

i.setZadPost(zadPost);

i.setZadPost1(zadPost1);

i.setZadVneBudzh(zadVneBudzh);

i.setZadVneBudzh1(zadVneBudzh1);

i.setZapas(zapas);

i.setZapas1(zapas1);

db.Analiz a=new db.Analiz();

a.setKoef1((valVirychka/12+valVirychka1/12)/2);

//a.setKoef2(koef2)

a.setKoef2((dolgPassiv+dolgPassiv1+kratkKred+kratkKred1)/2/a.getKoef1());

a.setKoef3((tekObyaz+tekObyaz1)/2/a.getKoef1());

a.setKoef4((zadPost+zadPost1+veks+veks1+zadDoch+zadDoch1+avansPol+avansPol1)/2/a.getKoef1());

a.setKoef5((zadVneBudzh+zadVneBudzh1+zadBudzh+zadBudzh1)/2/a.getKoef1());

a.setKoef6((zadPers+zadPers1+dohBydPer+dohBydPer1+rezRash+rezRash1+prochieKratkOb+prochieKratkOb1)/2/a.getKoef1());

a.setKoef7(tekObyaz/a.getKoef1());

double k81;

k81=(zapas+debZad+kratkFinVl+denSrva+prochieObAkt)/tekObyaz1;

double k82;

k82=(zapas1+debZad1+kratkFinVl1+denSrva1+prochieObAkt1)/tekObyaz;

a.setKoef8((k81+k82)/2);

a.setKoef9(sobKap-vneobAkt+sobKap1-vneobAkt1);

double k10,k11_2,k11;

k10=a.getKoef9()/(zapas+debZad+kratkFinVl+denSrva+prochieObAkt);

a.setKoef10(k10);

k11=sobKap/(vneobAkt1+zapas1+debZad1+kratkFinVl1+denSrva1+prochieObAkt1);

k11_2=sobKap1/(vneobAkt+zapas+debZad+kratkFinVl+denSrva+prochieObAkt);

a.setKoef11((k11+k11_2)/2);

a.setKoef12((zapas+debZad+kratkFinVl+denSrva+prochieObAkt+zapas1+debZad1+kratkFinVl1+denSrva1+prochieObAkt1)/2/a.getKoef1());

a.setKoef13(a.getKoef1()/((vneobAkt+vneobAkt1)/2));

AnalizDAO d=new AnalizDAO();

session=request.getSession();

int oid=(Integer)session.getAttribute("oid");

Organization o=new Organization();

o.setId(oid);

a.setOrganization(o);

String dt=new java.text.SimpleDateFormat("dd/MM/yyyy").format(java.util.Calendar.getInstance ().getTime());

a.setDateAnaliz(dt);

int id=d.save(a);

db.Analiz aa=d.findById(id);

i.setAnaliz(aa);

InformationDAO dao=new InformationDAO();

dao.save(i);

analiz(request,response);

}

/**

 * Initialization of the servlet. <br>

 *

 * @throws ServletException if an error occurs

 */

public void init() throws ServletException {

 // Put your code here

}

}

PAGE  29


 

А также другие работы, которые могут Вас заинтересовать

18849. Схема с общим коллектором (эмиттерный повторитель) 111.14 KB
  Схема с общим коллектором эмиттерный повторитель. Принципиальная схема приведена на Рис. 3.14. Рис. 3.14 Принципиальная схема усилителя на биполярном транзисторе включенного по схеме с общим коллектором....
18850. Древняя Греция. Скульптура. Становление классического идеала (от архаики до эллинизма) 32.76 KB
  Древняя Греция. Скульптура. Становление классического идеала от архаики до эллинизма. Предшествующий период Эгейское искусство КритоМикенское искусство или Минойско – Архейское. История Древней Греции делится на 4 периода: Гомеровский период или тёмные в...
18851. Ганс Голлейн. К архитектуре через дизайн 25.46 KB
  Ганс Голлейн. К архитектуре через дизайн. Годы жизни: родился в 1934 году. Основная информация:один из самых значительных архитекторов современности. Выдающийся представитель венской архитектурной школы подарившей миру венский Сецессион. Его стиль можно отнести к суп...
18852. Особенности скульптуры и живописи Древнего Египта 36.62 KB
  Особенности скульптуры и живописи Древнего Египта. Древний Египет: СевероВосточная часть Африки в долине Нила. 43 тыс. до н.э. История Древнего Египта: Раннее царство: 3е тыс. до н.э. 3028 вв.до н.э. 12 дин. Объединение Египта в единое государство со столице...
18853. Постмодернизм – игра в историзм. Новая эклектика. Чарльз Мур. Роб Криер. Боффил. Джеймс Стирлинг 24.94 KB
  Постмодернизм – игра в историзм. Новая эклектика. Чарльз Мур. Роб Криер. Боффил. Джеймс Стирлинг. В архитектуре постмодернизм сформировался в США теоретически во второй половине 60х гг. а в практике строительства к концу 70х объединив различных по творческим принципам и
18854. Древний Рим. Скульптурный портрет (характерные черты, основные принципы и этапы развития) 27.06 KB
  Древний Рим. Скульптурный портрет характерные черты основные принципы и этапы развития. Очень рано появляется портрет. Развит жанр исторического рельефа. 753г. до н.э. 8в. – Основание Рима. История Древнего Рима: 1 период 41 вв. до н.э. Эпоха Римской Республи
18855. Постмодернизм – истоки. Сложность и противоречие вмето ясности и простоты. Уроки Лас-Вегаса. Роберт Вентури 24.02 KB
  Постмодернизм – истоки. Сложность и противоречие вмето ясности и простоты. Уроки ЛасВегаса. Роберт Вентури. В архитектуре постмодернизм сформировался в США теоретически во второй половине 60х гг. а в практике строительства к концу 70х объединив различных по творческим ...
18856. Восточнохристианская архитектурная традиция. София Константинопольская. Тип крестово-купольного храма 27.78 KB
  Восточнохристианская архитектурная традиция. София Константинопольская. Тип крестовокупольного храма. Софи́я Константино́польская храм Св. Софии Премудрости Божией в Константинополе ныне Стамбул Турция выдающийся памятник византийской архитетктуры. Возведён...
18857. Победы и поражения Модернизма. 60-70гг. От интернационального стиля, до структурализма 23.16 KB
  Победы и поражения Модернизма. 6070гг. От интернационального стиля до структурализма. От интернационального стиля до структурализма. Развитие в Америке и Европе. Творчество Мис Ван дер Роэ. Последовательное применение принципа универсального пространства независимо ...