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

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

Описание работы

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

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

Файлы: 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.Операции". При необходимости  она может быть перемещена  или удалена.

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