Автоматизация ежедневной банковской отчетности

Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 01:10, курсовая работа

Краткое описание

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

Содержание работы

Введение 4
1 Теоретическая часть 5
1.1 Банковская отчетность и ее значение 5
1.2 Состав, содержание и периодичность отчетности 11
1.4 Виды отчетности 15
2. Описание проектных решений 17
2.1 Обоснование разработки 17
2.2 Концептуальное описание задачи 17
2.3 Разработка проектных решений по созданию информационной базы 17
2.4 Разработка проектных решений по программному обеспечению 19
2.4.1 Разработка алгоритма работы программы 19
2.4.2 Описание контрольного примера 20
Заключение 25
Библиографический список 26
Приложение А Листинг кода приложения на языке С# 27
Приложение Б Диаграмма классов 3

Содержимое работы - 1 файл

Пояснительная (2).doc

— 1.14 Мб (Скачать файл)

                        if(p)

                        {

                            activ[n]-=s;

                        }

                        else

                        {

                            pasiv[n]+=s;

                        }

                    }

                }

            } 

            for(int i=0;i<activ.Count;i++)

            {

                Int32 k=activ.Keys.ElementAt(i);

                xlWorkSheet.Cells[i+2, 1] = k;

                xlWorkSheet.Cells[i+2, 3] = activ[k];

            } 

            for (int i = 0; i < pasiv.Count; i++)

            {

                Int32 k=pasiv.Keys.ElementAt(i);

                xlWorkSheet.Cells[i+2, 5] = k;

                xlWorkSheet.Cells[i+2, 7] = pasiv[k];

            } 

            int m=(activ.Count>pasiv.Count?activ.Count:pasiv.Count) + 3;

            xlWorkSheet.Cells[m, 2] = "ИТОГО";

            xlWorkSheet.Cells[m, 6] = "ИТОГО"; 

            xlWorkSheet.Cells[m, 3].Formula =

                xlApp.WorksheetFunction.Sum(xlWorkSheet.Range[xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[m - 1, 3]]); 

            xlWorkSheet.Cells[m, 7].Formula =

               xlApp.WorksheetFunction.Sum(xlWorkSheet.Range[xlWorkSheet.Cells[2, 7], xlWorkSheet.Cells[m - 1, 7]]); 
 

            //xlWorkBook.SaveAs("csharp-Excel.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

           // xlWorkBook.Close(true, misValue, misValue);

           

            xlApp.Visible = true;

            //xlApp.Quit();

            xlApp.UserControl = true;

        } 

        private void операционныйДеньToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Excel.Application xlApp;

            Excel.Workbook xlWorkBook;

            Excel.Worksheet xlWorkSheet;

            object misValue = System.Reflection.Missing.Value; 

            xlApp = new Excel.Application();

            xlWorkBook = xlApp.Workbooks.Add(misValue); 

            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[2, 1]].Merge();

            xlWorkSheet.Cells[1, 1] = "СЧЕТ"; 

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 2], xlWorkSheet.Cells[1, 3]].Merge();

            xlWorkSheet.Cells[1, 2] = "ВХОДЯЩЕЕ САЛЬДО";

            xlWorkSheet.Cells[2, 2] = "ДЕБЕТ";

            xlWorkSheet.Cells[2, 3] = "КРЕДИТ"; 

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 4], xlWorkSheet.Cells[1, 5]].Merge();

            xlWorkSheet.Cells[1, 4] = "ОБОРОТЫ";

            xlWorkSheet.Cells[2, 4] = "ДЕБЕТ";

           xlWorkSheet.Cells[2, 5] = "КРЕДИТ"; 

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 6], xlWorkSheet.Cells[1, 7]].Merge();

            xlWorkSheet.Cells[1, 6] = "ИСХОДЯЩЕЕ САЛЬДО";

            xlWorkSheet.Cells[2, 6] = "ДЕБЕТ";

            xlWorkSheet.Cells[2, 7] = "КРЕДИТ"; 

            Dictionary<Int32, Dictionary<String,Double>> vhost =

                new Dictionary<Int32, Dictionary<String,Double>>(); 

            счетаTableAdapter.Fill(bankOtchetnostDataSet1.Счета);

            операцииTableAdapter.Fill(bankOtchetnostDataSet1.Операции); 

            foreach (DataRow srow in bankOtchetnostDataSet1.Счета.Rows)

            {

                Int32 n = Convert.ToInt32(srow[0]); // Номер счета

                Boolean p = Convert.ToBoolean(srow[2]); // Признак счета 

                vhost[n] = new Dictionary<string, double>();

                vhost[n].Add ("d", 0.0);

                vhost[n].Add("c", 0.0); 

                foreach (DataRow row in bankOtchetnostDataSet1.Операции.Rows)

               {

                    DateTime dt = DateTime.Parse(Convert.ToString(row[1]));

                    DateTime yesterday =

                        dateTime.Value.AddDays (-1);

                    if (dt.Date > yesterday)

                        continue; 

                    Int32 d = Convert.ToInt32(row[3]); // Дебетируемы счет

                    Int32 k = Convert.ToInt32(row[4]); // Кредитируемый счет

                    Double s = Convert.ToDouble(row[5]); // Сумма

                    if (n == d)

                    {

                        vhost[n]["d"] += s;

                    }

                    if (n == k)

                    {

                        vhost[n]["c"] += s;

                    }

                }

            } 

            for (int i = 0; i < vhost.Count; i++)

            {

                Int32 k = vhost.Keys.ElementAt(i);

                xlWorkSheet.Cells[i + 3, 1] = k; 

                Double d=vhost[k]["d"];

                Double c=vhost[k]["c"]; 

                if (d>c)

                {

                    xlWorkSheet.Cells[i + 3, 2] = d-c;

                }

                else

                {

                    xlWorkSheet.Cells[i + 3, 3] = c - d;

                }

            }

            ////////////////////////////////////////////////////////////////////////// 

            Dictionary<Int32, Dictionary<String, Double>> oborot =

                new Dictionary<Int32, Dictionary<String, Double>>(); 

            счетаTableAdapter.Fill(bankOtchetnostDataSet1.Счета);

           операцииTableAdapter.Fill(bankOtchetnostDataSet1.Операции); 

            foreach (DataRow srow in bankOtchetnostDataSet1.Счета.Rows)

            {

                Int32 n = Convert.ToInt32(srow[0]); // Номер счета

                Boolean p = Convert.ToBoolean(srow[2]); // Признак счета 

                oborot[n] = new Dictionary<string, double>();

                oborot[n].Add("d", 0.0);

                oborot[n].Add("c", 0.0); 

                foreach (DataRow row in bankOtchetnostDataSet1.Операции.Rows)

                {

                    DateTime dt = DateTime.Parse(Convert.ToString(row[1])); 

                    if (dt.Date != dateTime.Value.Date)

                        continue; 

                    Int32 d = Convert.ToInt32(row[3]); // Дебетируемы счет

                    Int32 k = Convert.ToInt32(row[4]); // Кредитируемый счет

                    Double s = Convert.ToDouble(row[5]); // Сумма

                    if (n == d)

                    {

                        oborot[n]["d"] += s;

                    }

                    if (n == k)

                    {

                        oborot[n]["c"] += s;

                    }

                }

            } 

            for (int i = 0; i < oborot.Count; i++)

            {

                Int32 k = oborot.Keys.ElementAt(i);

                xlWorkSheet.Cells[i + 3, 1] = k; 

                Double d = oborot[k]["d"];

                Double c = oborot[k]["c"]; 

                xlWorkSheet.Cells[i + 3, 4] = d ; 

                xlWorkSheet.Cells[i + 3, 5] = c ;

            }

            ////////////////////////////////////////////////////////////////////////// 

            for (int i = 0; i < oborot.Count; i++)

            {

                Int32 k = oborot.Keys.ElementAt(i);

                xlWorkSheet.Cells[i + 3, 1] = k; 

                Double d = vhost[k]["d"] + oborot[k]["d"];

                Double c = vhost[k]["c"] + oborot[k]["c"]; 

                if (d > c)

                {

                    xlWorkSheet.Cells[i + 3, 6] = d - c;

                }

                else

                {

                    xlWorkSheet.Cells[i + 3, 7] = c - d;

                }

            } 

            //xlWorkBook.SaveAs("csharp-Excel.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

            // xlWorkBook.Close(true, misValue, misValue); 

            xlApp.Visible = true;

            //xlApp.Quit();

            xlApp.UserControl = true;

        }

    }

} 
 

Файл: Счета.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms; 

namespace BankOtchetnost

{

    public partial class Счета : Form

    {

        public Счета()

        {

            InitializeComponent();

        } 

        private void Счета_Load(object sender, EventArgs e)

        {

            // TODO: данная строка кода позволяет загрузить данные в таблицу "bankOtchetnostDataSet.Счета". При необходимости она может быть перемещена или удалена.

            this.счетаTableAdapter.Fill(this.bankOtchetnostDataSet.Счета); 

        } 

        private void Save_Click(object sender, EventArgs e)

        {

            счетаTableAdapter.Update(bankOtchetnostDataSet.Счета);

        }

    }

} 
 
 

Файл: Операции.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms; 

namespace BankOtchetnost

{

    public partial class Операции : Form

    {

        public Операции()

        {

            InitializeComponent();

        } 

        private void Операции_Load(object sender, EventArgs e)

        {

            // TODO: данная строка кода позволяет  загрузить данные в таблицу  "bankOtchetnostDataSet.Операции". При необходимости  она может быть перемещена  или удалена.

Информация о работе Автоматизация ежедневной банковской отчетности