Пример #1
0
        public MoveReport(int idRep1, int db1, int count1)
        {
            InitializeComponent();

            Sql sql1 = new Sql();
            DataTable dt1 = sql1.GetRecords("exec SelSubRegionByUserID @p1", globalData.UserID);

            globalData.load = false;
            cbSubReg.DataSource = dt1;
            cbSubReg.DisplayMember = "subreg_nameRus";
            cbSubReg.ValueMember = "subreg_id";
            globalData.load = true;

            tbCount.Text = count1.ToString();
            count = count1;
            idRep = idRep1;
            db = db1;

            if (globalData.Div == "HC")
            {
                tbTail.Visible = true;
                label3.Visible = true;
                tbTail.Text = sql1.GetRecordsOne("exec TailForRaspNew @p1, @p2, @p3", idRep, db, cbSubReg.SelectedValue);
            }
            else
            {
                tbTail.Visible = false;
                label3.Visible = false;
            }
        }
Пример #2
0
        /* Перенести с-ф в другой регион */
        private void button4_Click(object sender, EventArgs e)
        {
            if (globalData.UserAccess == 1)
            {
                try
                {
                    globalData.update = false;
                    Sql sql1 = new Sql();
                    string res = String.Empty;
                    int err1 = 0;

                    foreach (DataGridViewCell cell in _dgvRefDoc.SelectedCells)
                    {
                        if ((_dgvRefDoc.Rows[cell.RowIndex].Cells[0].Value == null && _dgvRefDoc.Rows[cell.RowIndex].Cells[1].Value == null) ||
                            (_dgvRefDoc.Rows[cell.RowIndex].Cells[0].Value.ToString() == "" && _dgvRefDoc.Rows[cell.RowIndex].Cells[1].Value.ToString() == ""))
                            res = sql1.GetRecordsOne("exec UpdReportRefDoc @p1, @p2, @p3, @p4, @p5, @p6", _dgvRefDoc.Rows[cell.RowIndex].Cells[2].Value.ToString(), _dgvRefDoc.Rows[cell.RowIndex].Cells[3].Value.ToString(), comboBox1.SelectedValue, globalData.UserID, dateTimePicker1.Value.Year.ToString() + "-" + dateTimePicker1.Value.Month.ToString() + "-01", cbSDiv.SelectedValue);

                        if (res == "1")
                            err1++;
                    }

                    if (err1 != 0)
                        MessageBox.Show("Кол-во ошибок " + err1.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

                }
                catch (Exception err)
                {
                    MessageBox.Show("Не удалось обновить продажу. Системная ошибка: " + err.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Close();
                }
            }
        }
Пример #3
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Sql sql1 = new Sql();

            string res = sql1.GetRecordsOne("exec InsTracker @p1, @p2, @p3", tracID, tbNumber.Text, cbUser.SelectedValue);

            if (res != "1")
                MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
            {
                globalData.update = true;
                Close();
            }
        }
Пример #4
0
        public fUser(String fio, String login, String role)
        {
            InitializeComponent();
            Sql sql1 = new Sql();

            DataTable dt1 = new DataTable();
            dt1 = sql1.GetRecords("exec GetUserReg @p1", fio);

            if (dt1.Rows.Count > 0)
            {
                _dgv1.DataSource = dt1;

                lbNameTable.Visible = true;
                _dgv1.Visible = true;
                lbRD.Visible = true;
                lbRDName.Visible = true;

                lbRD.Text = sql1.GetRecordsOne("exec GetRDbyUserName @p1", fio);

                _dgv1.Columns["reg_nameRus"].ReadOnly = true;
                _dgv1.Columns["reg_nameRus"].Width = 170;

                if ((role == "Региональный представитель") || (role == "Региональный менеджер"))
                    lbNameTable.Text = "Регионы продаж";
                else if (role == "Региональный директор")
                    lbNameTable.Text = "Cписок подведомственных регионов";
            }
            else
            {
                lbNameTable.Visible = false;
                lbRD.Visible = false;
                lbRDName.Visible = false;
                _dgv1.Visible = false;
            }

            lbFIO.Text = fio;
            lbLogin.Text = login;
            lbRole.Text = role;

            dt1 = sql1.GetRecords("exec GetDivByUserName @p1", fio);
            String temp = "";
            foreach (DataRow row in dt1.Rows)
            {
                if (temp != String.Empty)
                    temp += ", ";
                temp += row[0].ToString();
            }
            lbDiv.Text = temp;
        }
Пример #5
0
 private void cbSubReg_SelectedIndexChanged(object sender, EventArgs e)
 {
     if ((globalData.load) && (globalData.Div == "HC"))
     {
         Sql sql1 = new Sql();
         tbTail.Text = sql1.GetRecordsOne("exec TailForRaspNew @p1, @p2, @p3", idRep, db, cbSubReg.SelectedValue);
     }
 }
Пример #6
0
        /* Установка даты отчета */
        private void CheckDate()
        {
            Sql sql1 = new Sql();

            if (User2_rent.SelectedValue != null)
                dtpRent.Value = Convert.ToDateTime(sql1.GetRecordsOne("exec Rent_Select_UrtDate @p1", User2_rent.SelectedValue));
        }
Пример #7
0
        private string SaveRent()
        {
            try
            {
                Sql sql1 = new Sql();

                string ps, db, sba, lpu, user2;
                double rent, rentsum;
                DateTime dps;

                load = false;

                if (User2_rent.SelectedValue == null)
                    return "Необходимо выбрать пользователя!";
                if (globalData.role == 5)
                    user2 = globalData.UserID.ToString();
                else
                    user2 = User2_rent.SelectedValue.ToString();

                //if (sql1.GetRecordsOne("exec GetUserRentAccess @p1", User_rent.SelectedValue.ToString()) == "1")
                //    return "Нет доступа к сохранению! Обратитесь к своему рег.директору.";

                if (_dgvRent.Rows.Count > 0)
                {
                    foreach (DataGridViewRow row in _dgvRent.Rows)
                    {
                        if ((row.Cells["upd"].Value != null) && (row.Cells["upd"].Value.ToString() == "1") && (row.DefaultCellStyle.BackColor != bbgreen3) && (row.DefaultCellStyle.BackColor != bbgreen1))
                        {
                            if ((row.Cells["rent"].Value == null) || (row.Cells["rent"].Value.ToString() == ""))
                                row.Cells["rent"].Value = 0;

                            if (row.Cells["rentval"].Value.ToString() == "%")
                            {
                                rent = Convert.ToDouble(row.Cells["rent"].Value.ToString());
                                rentsum = Convert.ToDouble(row.Cells["cost3"].Value.ToString()) * rent / 100;
                            }
                            else
                            {
                                rentsum = Convert.ToDouble(row.Cells["rent"].Value.ToString());
                                rent = rentsum / Convert.ToDouble(row.Cells["cost3"].Value.ToString())*100;
                            }

                            if ((row.Cells["ps_id"].Value == null) || (row.Cells["ps_id"].Value.ToString() == ""))
                                ps = "0";
                            else
                                ps = row.Cells["ps_id"].Value.ToString();

                            if ((row.Cells["db_id_ps"].Value == null) || (row.Cells["db_id_ps"].Value.ToString() == ""))
                                db = "0";
                            else
                                db = row.Cells["db_id_ps"].Value.ToString();

                            if ((row.Cells["sba_name"].Value == null) || (row.Cells["sba_name"].Value.ToString() == ""))
                                sba = "";
                            else
                                sba = row.Cells["sba_name"].Value.ToString();

                            if ((row.Cells["rent_lpu"].Value == null) || (row.Cells["rent_lpu"].Value.ToString() == ""))
                                lpu = "";
                            else
                                lpu = row.Cells["rent_lpu"].Value.ToString();

                            load = true;

                            dps = Convert.ToDateTime(row.Cells["date"].Value.ToString());

                            string res = sql1.GetRecordsOne("exec Rent_Insert_Save @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11", rent, rentsum, ps, db, user2,
                                row.Cells["refDoc"].Value, sba, dps.Year.ToString() + "-" + dps.Month.ToString() + "-01", row.Cells["cust_name"].Value, lpu, globalData.UserID);

                            if (res != "1")
                                return res;
                        }
                    }
                }

                if (load)
                    SelectRent(globalData.tabFlagRD);

                load = true;
                return "Информация сохранена.";
            }
            catch (Exception err)
            {
                load = true;
                return "Не удалось сохранить информацию по планам, системная ошибка: " + err.Message;
            }
        }
Пример #8
0
        private void cbLPU_SelectedIndexChanged(object sender, EventArgs e)
        {
            Sql sql1 = new Sql();

            tbRegion.Text = sql1.GetRecordsOne("exec SelRegByLPUid @p1", cbLPU.SelectedValue);

            if (tbRegion.Text == String.Empty)
                tbRegion.Text = globalData.Region;
        }
Пример #9
0
        private void tbCount_TextChanged(object sender, EventArgs e)
        {
            try
            {
                if (((userchange == 0) || (userchange == 2)) && load)
                {
                    if (tbCount.Text != "")
                    {
                        Sql sql1 = new Sql();
                        String str = "";

                        if (cbNom.SelectedValue != null)
                            str = sql1.GetRecordsOne("exec GetPrice @p1, @p2", cbNom.SelectedValue, globalData.CurDate.Year);
                        else
                            str = sql1.GetRecordsOne("exec GetPrice @p1, @p2", cbGroup.SelectedValue, globalData.CurDate.Year);
                        if (str != "")
                        {
                            userchange = 2;
                            double temp = Convert.ToDouble(str) * Convert.ToInt32(tbCount.Text);
                            tbPriceEuro.Text = Math.Round(temp, 2).ToString();

                            if (tbRate.Text == "")
                                MessageBox.Show("Для данного месяца не введён курс евро по-этому не возможно расчитать стоимость в рублях, пожалуйста, обратитесь в отдел Контроллинга", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            else
                                tbPriceRub.Text = Math.Round((temp * Convert.ToDouble(tbRate.Text)), 2).ToString();
                        }
                        if (globalData.Div == "AE")
                        {
                            tbPriceEuro.ReadOnly = true;
                            tbPriceRub.ReadOnly = true;
                        }
                    }
                    else
                    {
                        userchange = 0;
                        tbPriceEuro.Text = "";
                        if (globalData.Div == "AE")
                        {
                            tbPriceEuro.ReadOnly = false;
                            tbPriceRub.ReadOnly = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #10
0
        private void editMarkAct(int RowIndex)
        {
            try
            {
                Sql sql1 = new Sql();

                if (_dgv8.Rows[_dgv8.SelectedCells[0].RowIndex].Cells["ma_id"].Value.ToString() == "0")
                {
                    MessageBox.Show("Для редактирования выделите маркетинговое мероприятие.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (cbUsersMA.Visible == true)
                    globalData.UserID2 = Convert.ToInt32(cbUsersMA.SelectedValue);
                else
                {
                    globalData.UserID2 = Convert.ToInt32(sql1.GetRecordsOne("exec SelUserByMA @p1, @p2", Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["ma_id"].Value), Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["db_id"].Value)));
                }
                if (globalData.Region == "")
                    globalData.Region = sql1.GetRecordsOne("exec SelRegByMA @p1, @p2", Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["ma_id"].Value), Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["db_id"].Value));

                AddEditMarkAct aema = new AddEditMarkAct(Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["ma_id"].Value), Convert.ToInt32(_dgv8.Rows[RowIndex].Cells["db_id"].Value));
                aema.ShowDialog();
            }
            catch
            {
                MessageBox.Show("Не удалось войти в режим редактирования.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #11
0
        String DelComparePlan()
        {
            Sql sql1 = new Sql();
            String res = "Не удалось удалить план! Проверьте, что Вы выделили целиком строку!";

            foreach (DataGridViewRow row in dgvCheckPlan.SelectedRows)
            {
                res = sql1.GetRecordsOne("exec DelCompareAccPlan @p1, @p2", cbYearPlan.SelectedItem, row.Cells["lpuID"].Value.ToString());
            }

            return res;
        }
Пример #12
0
        private void CreateTree()
        {
            try
            {
                TreeNode tn = new TreeNode();
                TreeNode tn2 = new TreeNode();
                TreeNode tn3 = new TreeNode();
                TreeNode tn4 = new TreeNode();

                if ((globalData.UserAccess == 1) || (globalData.UserAccess == 3) || (globalData.UserAccess == 9))
                {
                    treeView1.Nodes.Add("Все регионы");
                    treeView1.Nodes.Add("Отчёты по компаниям");
                    treeView1.Nodes.Add("Отчёты для руководства");
                    treeView1.Nodes.Add("Отчёты по региональным директорам");
                    treeView1.Nodes.Add("Отчёты дистрибьюторов");
                }

                if ((globalData.UserAccess == 2) || (globalData.UserAccess == 4))
                {
                    treeView1.Nodes.Add("Мои регионы");
                    treeView1.Nodes.Add("Все регионы");
                    treeView1.Nodes.Add("Отчёты для руководства");
                    treeView1.Nodes.Add("Отчёты по региональным директорам");
                    treeView1.Nodes.Add("Отчёты дистрибьюторов");
                }
                if ((globalData.UserAccess == 5) || (globalData.UserAccess == 6) || (globalData.UserAccess == 7))
                {
                    treeView1.Nodes.Add("Мои регионы");
                    treeView1.Nodes.Add("Все регионы");
                    treeView1.Nodes.Add("Отчёты дистрибьюторов");
                    treeView1.Nodes.Add("Выполнение плана");
                }
                if (globalData.UserAccess == 8)
                {
                    treeView1.Nodes.Add("Отчёты для руководства");
                }
                if (globalData.UserAccess == 1 || (globalData.UserAccess == 4) || (globalData.UserAccess == 6) || (globalData.UserAccess == 2) || (globalData.UserAccess == 5))
                {
                    if ((globalData.UserAccess == 4) || (globalData.UserAccess == 6) || (globalData.UserAccess == 2) || (globalData.UserAccess == 5))
                    {
                        treeView1.Nodes.Add("Проверка");
                        if (globalData.UserAccess == 4 || globalData.UserAccess == 2)
                            tn = treeView1.Nodes[5];
                        else
                            tn = treeView1.Nodes[4];
                        tn.Nodes.Add("Сравнение продаж");
                        tn.Nodes.Add("Проверка косвенных по регионам");
                        if (globalData.UserAccess != 5)
                            tn.Nodes.Add("Проверка косвенных по номенклатуре");

                        tn2 = tn.Nodes[0];
                        tn2.Nodes.Add("HC");
                        tn2.Nodes.Add("AE");
                    }
                    else
                    {
                        treeView1.Nodes.Add("Проверка");
                        tn = treeView1.Nodes[5];
                        tn.Nodes.Add("Ассортиментные планы");
                        tn.Nodes.Add("Косвенные продажи");
                        tn.Nodes.Add("Отчёт из SAP");
                        tn.Nodes.Add("Сравнение продаж");
                        tn.Nodes.Add("Проверка косвенных продаж");
                        tn.Nodes.Add("По отчётам дистрибьюторов");
                        tn.Nodes.Add("Проверка косвенных по регионам");
                        tn.Nodes.Add("Ассортиментные планы на год");

                        tn2 = tn.Nodes[0];
                        tn2.Nodes.Add("HC");
                        tn2.Nodes.Add("AE");

                        tn2 = tn.Nodes[1];
                        tn2.Nodes.Add("HC");
                        tn2.Nodes.Add("AE");
                        tn2.Nodes.Add("OM");

                        tn2 = tn.Nodes[3];
                        tn2.Nodes.Add("HC");
                        tn2.Nodes.Add("AE");
                    }
                }
                treeView1.Nodes.Add("Visits", "Визиты");
                tn = treeView1.Nodes["Visits"];
                tn.Nodes.Add("Планировщик");
                tn.Nodes.Add("Отчёт");

                Sql sql1 = new Sql();
                DataTable dt1 = new DataTable();
                DataTable dt2 = new DataTable();
                DataTable dt3 = new DataTable();
                string acs = string.Empty;

                if ((globalData.UserAccess == 5) || (globalData.UserAccess == 6) || (globalData.UserAccess == 2))
                    acs = sql1.GetRecordsOne("exec GetUserRentAccess @p1", globalData.UserID);

                if ((globalData.UserAccess == 1) || (globalData.UserID == 78) || (globalData.UserID == 7) || (globalData.UserAccess == 2 && acs == "1") || (globalData.UserAccess == 5 && acs == "1") || (globalData.UserAccess == 13) || (globalData.UserAccess == 6 && acs == "1") || (globalData.UserAccess == 4) || (globalData.UserAccess == 3) || (globalData.UserID == 423))
                {
                    treeView1.Nodes.Add("Rent", "Отчётность");
                    tn = treeView1.Nodes["Rent"];
                    if ((globalData.UserAccess != 3) && (globalData.UserID != 423))
                    {
                        tn.Nodes.Add("Маркетинг 1");
                        tn2 = tn.Nodes[0];
                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 5) || (globalData.UserAccess == 2) || (globalData.UserID == 7) || (globalData.UserAccess == 6) || (globalData.UserAccess == 4) || (globalData.UserID == 78) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Заполнение");
                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 4) || (globalData.UserID == 78) || (globalData.UserID == 7) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Отчёт для РД");
                        if ((globalData.UserAccess == 1) || (globalData.UserID == 78) || (globalData.UserID == 7) || (globalData.UserID == 6) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Итоговый отчёт");
                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Сводный отчёт");
                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Отчёт для контроллинга");
                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 4) || (globalData.UserID == 78) || (globalData.UserID == 7) || (globalData.UserID == 6) || (globalData.UserAccess == 13))
                            tn2.Nodes.Add("Сторно");
                    }
                    if ((globalData.UserAccess == 3) || (globalData.UserAccess == 1) || (globalData.UserAccess == 4) || (globalData.UserID == 423))
                        tn.Nodes.Add("Маркетинг 2");

                }

                //TODO: расскомментировать!!! Консигнации и ХТ
                //treeView1.Nodes.Add("Консигнации");
                if (globalData.UserAccess <= 6)
                    treeView1.Nodes.Add("Проект химиотерапия");
                treeView1.Nodes.Add("Справочник пользователей");

                tn = treeView1.Nodes[0];

                DataTable dtNY = new DataTable();
                dtNY = sql1.GetRecords("exec GetSettings");

                string year = dtNY.Rows[0].ItemArray[3].ToString();

                int i = 0;

                if ((globalData.UserAccess == 1) || (globalData.UserAccess == 3) || (globalData.UserAccess == 9))
                {
                    dt1 = sql1.GetRecords("exec Region_Select");

                    foreach (DataRow row in dt1.Rows)
                    {
                        tn.Nodes.Add(row[1].ToString());
                        tn2 = tn.Nodes[i];

                        tn2.Nodes.Add("Динамика продаж");
                        tn2.Nodes.Add("Ассортиментный план");
                        tn2.Nodes.Add("Косвенные продажи");
                        tn2.Nodes.Add("Маркетинговые мероприятия");
                        tn2.Nodes.Add("Ассортиментный план " + year);
                        tn3 = tn2.Nodes[0];
                        tn3.Nodes.Add("Анализ продаж");

                        int t = 1;

                        if (globalData.UserAccess != 9)
                        {
                            tn3.Nodes.Add("Динамика продаж");
                            t = 2;
                        }

                        for (int j = 0; j < t; j++)
                        {
                            tn4 = tn3.Nodes[j];
                            if ((globalData.UserAccess == 1) || (globalData.UserAccess == 2))
                            {
                                tn4.Nodes.Add("HC");
                                tn4.Nodes.Add("AE");
                                tn4.Nodes.Add("OM");
                            }
                            else if ((globalData.UserAccess == 3) || (globalData.UserAccess == 9))
                            {
                                dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                                foreach (DataRow row3 in dt3.Rows)
                                    tn4.Nodes.Add(row3[1].ToString());
                            }
                        }

                        t = 1;

                        if ((globalData.UserAccess == 1) || (globalData.UserAccess == 2))
                        {
                            tn3 = tn2.Nodes[t];
                            tn3.Nodes.Add("HC");
                            tn3.Nodes.Add("AE");

                            tn3 = tn2.Nodes[t + 1];
                            tn3.Nodes.Add("HC");
                            tn3.Nodes.Add("AE");
                            tn3.Nodes.Add("OM");

                            tn3 = tn2.Nodes[t + 2];
                            tn3.Nodes.Add("HC");
                            tn3.Nodes.Add("AE");

                            tn3 = tn2.Nodes[t + 3];
                            tn3.Nodes.Add("HC");
                            tn3.Nodes.Add("AE");
                        }
                        else
                        {
                            dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                            tn3 = tn2.Nodes[t];
                            tn4 = tn2.Nodes[t + 2];
                            foreach (DataRow row3 in dt3.Rows)
                            {
                                if ((row3[1].ToString() == "HC") || (row3[1].ToString() == "AE"))
                                {
                                    tn3.Nodes.Add(row3[1].ToString());
                                    tn4.Nodes.Add(row3[1].ToString());
                                }
                            }
                            tn3 = tn2.Nodes[t + 1];
                            tn4 = tn2.Nodes[t + 3];

                            foreach (DataRow row3 in dt3.Rows)
                            {
                                tn3.Nodes.Add(row3[1].ToString());
                                tn4.Nodes.Add(row3[1].ToString());
                            }
                        }

                        i++;
                    }
                }
                else if ((globalData.UserAccess == 2) || (globalData.UserAccess == 4) || (globalData.UserAccess == 5) || (globalData.UserAccess == 6) || (globalData.UserAccess == 7))
                {
                    dt1 = sql1.GetRecords("exec SelRegionByUserID @p1", globalData.UserID);

                    foreach (DataRow row in dt1.Rows)
                    {
                        tn.Nodes.Add(row[1].ToString());
                        tn2 = tn.Nodes[i];

                        tn2.Nodes.Add("Динамика продаж");
                        tn2.Nodes.Add("Ассортиментный план");
                        tn2.Nodes.Add("Косвенные продажи");
                        tn2.Nodes.Add("Маркетинговые мероприятия");
                        tn2.Nodes.Add("Ассортиментный план " + year);
                        //tn2.Nodes.Add("Асс. план " + year + " (c историей по ЛПУ)");
                        tn3 = tn2.Nodes[0];
                        tn3.Nodes.Add("Анализ продаж");

                        int t = 1;

                        tn3.Nodes.Add("Динамика продаж");
                        t = 2;

                        for (int j = 0; j < t; j++)
                        {
                            tn4 = tn3.Nodes[j];

                            dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, @p2", globalData.UserID, row[0]);
                            foreach (DataRow row3 in dt3.Rows)
                                tn4.Nodes.Add(row3[1].ToString());
                        }

                        t = 1;

                        dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                        tn3 = tn2.Nodes[t];
                        tn4 = tn2.Nodes[t + 2];
                        foreach (DataRow row3 in dt3.Rows)
                        {
                            if ((row3[1].ToString() == "HC") || (row3[1].ToString() == "AE"))
                            {
                                tn3.Nodes.Add(row3[1].ToString());
                                tn4.Nodes.Add(row3[1].ToString());
                            }
                        }
                        tn3 = tn2.Nodes[t + 1];
                        tn4 = tn2.Nodes[t + 3];
                        foreach (DataRow row3 in dt3.Rows)
                        {
                            tn3.Nodes.Add(row3[1].ToString());
                            tn4.Nodes.Add(row3[1].ToString());
                        }

                        i++;
                    }
                    tn.Nodes.Add("Российская федерация");
                    tn2 = tn.Nodes[i];

                    tn2.Nodes.Add("Динамика продаж");
                    tn3 = tn2.Nodes[0];
                    tn3.Nodes.Add("Анализ продаж");
                    tn4 = tn3.Nodes[0];
                    foreach (DataRow row3 in dt3.Rows)
                        tn4.Nodes.Add(row3[1].ToString());

                    i = 0;

                    dt1 = sql1.GetRecords("exec Region_Select");

                    foreach (DataRow row in dt1.Rows)
                    {
                        tn = treeView1.Nodes[1];
                        tn.Nodes.Add(row[1].ToString());
                        tn2 = tn.Nodes[i];

                        tn2.Nodes.Add("Динамика продаж");
                        tn2.Nodes.Add("Ассортиментный план");
                        tn2.Nodes.Add("Косвенные продажи");
                        tn2.Nodes.Add("Маркетинговые мероприятия");
                        tn2.Nodes.Add("Ассортиментный план " + year);
                        tn3 = tn2.Nodes[0];
                        tn3.Nodes.Add("Анализ продаж");

                        int t = 1;

                        tn3.Nodes.Add("Динамика продаж");
                        t = 2;

                        for (int j = 0; j < t; j++)
                        {
                            tn4 = tn3.Nodes[j];

                            foreach (DataRow row3 in dt3.Rows)
                                tn4.Nodes.Add(row3[1].ToString());
                        }

                        t = 1;

                        tn3 = tn2.Nodes[t];
                        tn4 = tn2.Nodes[t + 2];
                        foreach (DataRow row3 in dt3.Rows)
                        {
                            if ((row3[1].ToString() == "HC") || (row3[1].ToString() == "AE"))
                            {
                                tn3.Nodes.Add(row3[1].ToString());
                                tn4.Nodes.Add(row3[1].ToString());
                            }
                        }
                        tn3 = tn2.Nodes[t + 1];
                        tn4 = tn2.Nodes[t + 3];
                        foreach (DataRow row3 in dt3.Rows)
                        {
                            tn3.Nodes.Add(row3[1].ToString());
                            tn4.Nodes.Add(row3[1].ToString());
                        }

                        i++;
                    }
                }

                if ((globalData.UserAccess == 1) || (globalData.UserAccess == 2) || (globalData.UserAccess == 4))
                {
                    if (globalData.UserAccess == 1)
                    {
                        tn = treeView1.Nodes[1];
                        tn.Nodes.Add("Динамика продаж по Кардиологии");
                        tn.Nodes.Add("Динамика продаж по Шовным материалам");
                        tn = treeView1.Nodes[2];

                    }
                    else
                    {
                        tn = treeView1.Nodes[2];
                    }
                    tn.Nodes.Add("HC", "HC");
                    tn.Nodes.Add("AE", "AE");
                    tn.Nodes.Add("OM", "OM");

                    tn2 = tn.Nodes["HC"];
                    tn2.Nodes.Add("Общая динамика продаж");
                    tn2.Nodes.Add("Общая динамика продаж по рег.директорам");
                    tn2.Nodes.Add("Общий ассортиментный план");
                    tn2.Nodes.Add("Личные продажи (список)");
                    //TODO: личные продажи список HC
                    tn2.Nodes.Add("Личные продажи (все дивизионы)");
                    tn2.Nodes.Add("Общий маркетинговый план");
                    tn2.Nodes.Add("Общий ассортиментный план " + year);
                    tn2.Nodes.Add("Выполнение плана по России");
                    tn2.Nodes.Add("VisitsRegDir", "Визиты");
                    tn3 = tn2.Nodes["VisitsRegDir"];
                    tn3.Nodes.Add("Планировщик");
                    tn3.Nodes.Add("Отчёт");

                    tn2 = tn.Nodes["AE"];
                    tn2.Nodes.Add("Общая динамика продаж");
                    tn2.Nodes.Add("Общая динамика продаж по рег.директорам");
                    tn2.Nodes.Add("Общий ассортиментный план");
                    tn2.Nodes.Add("Личные продажи (список)");
                    //TODO: личные продажи список AE
                    tn2.Nodes.Add("Личные продажи (все дивизионы)");
                    tn2.Nodes.Add("Общий маркетинговый план");
                    tn2.Nodes.Add("Общий ассортиментный план " + year);
                    tn2.Nodes.Add("VisitsRegDir", "Визиты");
                    tn3 = tn2.Nodes["VisitsRegDir"];
                    tn3.Nodes.Add("Планировщик");
                    tn3.Nodes.Add("Отчёт");

                    tn2 = tn.Nodes["OM"];
                    tn2.Nodes.Add("Общая динамика продаж");
                    tn2.Nodes.Add("Личные продажи (список)");
                    //TODO: личные продажи список OM
                    tn2.Nodes.Add("Личные продажи (все дивизионы)");
                    tn2.Nodes.Add("VisitsRegDir", "Визиты");
                    tn3 = tn2.Nodes["VisitsRegDir"];
                    tn3.Nodes.Add("Планировщик");
                    tn3.Nodes.Add("Отчёт");

                    if (globalData.UserAccess == 1)
                    {
                        tn = treeView1.Nodes[3];
                    }
                    else
                    {
                        tn = treeView1.Nodes[3];
                    }

                    dt1 = sql1.GetRecords("exec SelRegDir");
                    foreach (DataRow row in dt1.Rows)
                    {
                        tn.Nodes.Add(row[1].ToString());
                    }
                    foreach (TreeNode node in tn.Nodes)
                    {
                        node.Nodes.Add("Общая динамика продаж");
                        tn2 = node.Nodes[0];
                        tn2.Nodes.Add("HC");
                        tn2.Nodes.Add("AE");
                        tn2.Nodes.Add("OM");

                        node.Nodes.Add("Общий ассортиментный план");
                        node.Nodes.Add("Выполнение плана");
                        node.Nodes.Add("Маркетинговые мероприятия");
                        node.Nodes.Add("Общий ассортиментный план " + year);
                        node.Nodes.Add("Общий асс. план " + year + "(с историей по ЛПУ)");
                        node.Nodes.Add("Visits", "Визиты");
                        tn = node.Nodes["Visits"];
                        tn.Nodes.Add("Планировщик");
                        tn.Nodes.Add("Отчёт");

                        for (int j = 1; j < 6; j++)
                        {
                            tn2 = node.Nodes[j];
                            tn2.Nodes.Add("HC");
                            tn2.Nodes.Add("AE");
                        }
                    }
                }
                else if ((globalData.UserAccess == 2) || (globalData.UserAccess == 4) || (globalData.UserAccess == 5) || (globalData.UserAccess == 6) || (globalData.UserAccess == 7))
                {
                    if (i == 1)
                    {
                        treeView1.Nodes[0].Expand();
                        tn = treeView1.Nodes[0];
                        tn.Nodes[0].Expand();
                    }
                    else
                        treeView1.Nodes[0].Expand();

                }
                else if (globalData.UserAccess == 3)
                {
                    tn = treeView1.Nodes[1];
                    tn.Nodes.Add("Динамика продаж по Кардиологии");
                    tn.Nodes.Add("Динамика продаж по Шовным материалам");
                    tn = treeView1.Nodes[2];

                    int temp = 0;
                    dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                    foreach (DataRow row in dt3.Rows)
                    {
                        tn.Nodes.Add(row[1].ToString());
                        tn2 = tn.Nodes[temp];
                        tn2.Nodes.Add("Общая динамика продаж");
                        if (row[1].ToString() != "OM")
                            tn2.Nodes.Add("Общий ассортиментный план");
                        tn2.Nodes.Add("Личные продажи (список)");
                        tn2.Nodes.Add("Общий ассортиментный план " + year);
                        tn2.Nodes.Add("VisitsRegDir", "Визиты");
                        tn3 = tn2.Nodes["VisitsRegDir"];
                        tn3.Nodes.Add("Планировщик");
                        tn3.Nodes.Add("Отчёт");
                        temp++;
                    }

                    tn = treeView1.Nodes[3];

                    foreach (DataRow row3 in dt3.Rows)
                    {
                        dt1 = sql1.GetRecords("exec SelRegDir @p1", row3[0]);
                        foreach (DataRow row in dt1.Rows)
                        {
                            tn.Nodes.Add(row[1].ToString());
                        }
                        foreach (TreeNode node in tn.Nodes)
                        {
                            node.Nodes.Add("Общая динамика продаж");
                            tn2 = node.Nodes[0];
                            tn2.Nodes.Add(row3[1].ToString());

                            node.Nodes.Add("Общий ассортиментный план");
                            node.Nodes.Add("Выполнение плана");
                            node.Nodes.Add("Маркетинговые мероприятия");
                            node.Nodes.Add("Общий ассортиментный план " + year);
                            node.Nodes.Add("Visits", "Визиты");
                            tn = node.Nodes["Visits"];
                            tn.Nodes.Add("Планировщик");
                            tn.Nodes.Add("Отчёт");

                            for (int j = 1; j < 5; j++)
                            {
                                tn2 = node.Nodes[j];
                                tn2.Nodes.Add(row3[1].ToString());
                            }
                        }
                    }
                }
                else if (globalData.UserAccess == 8)
                {
                    tn.Nodes.Add("HC");
                    tn.Nodes.Add("AE");

                    tn2 = tn.Nodes[0];
                    tn2.Nodes.Add("Общий ассортиментный план");

                    tn2 = tn.Nodes[1];
                    tn2.Nodes.Add("Общий ассортиментный план");
                }
                else if (globalData.UserAccess == 9)
                {
                    tn = treeView1.Nodes[1];
                    tn.Nodes.Add("Динамика продаж по Кардиологии");
                    tn.Nodes.Add("Динамика продаж по Шовным материалам");
                    tn = treeView1.Nodes[2];

                    dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                    foreach (DataRow row in dt3.Rows)
                    {
                        tn.Nodes.Add(row[1].ToString());
                        tn2 = tn.Nodes[0];
                        if (row[1].ToString() != "OM")
                            tn2.Nodes.Add("Общий ассортиментный план");
                    }

                    tn = treeView1.Nodes[3];

                    dt3 = sql1.GetRecords("exec SelSDivByUserID @p1, 0", globalData.UserID);
                    foreach (DataRow row3 in dt3.Rows)
                    {
                        dt1 = sql1.GetRecords("exec SelRegDir @p1", row3[0]);
                        foreach (DataRow row in dt1.Rows)
                        {
                            tn.Nodes.Add(row[1].ToString());
                        }
                        foreach (TreeNode node in tn.Nodes)
                        {
                            node.Nodes.Add("Общий ассортиментный план");
                            node.Nodes.Add("Выполнение плана");
                            node.Nodes.Add("Маркетинговые мероприятия");
                            node.Nodes.Add("Общий ассортиментный план " + year);

                            for (int j = 0; j < 3; j++)
                            {
                                tn2 = node.Nodes[j];
                                tn2.Nodes.Add(row3[1].ToString());
                            }
                        }
                    }
                }

                tn = treeView1.Nodes[treeView1.Nodes.Count - 1];
                dt1 = sql1.GetRecords("exec SelRegDir ''");
                int k = 0;
                foreach (DataRow row in dt1.Rows)
                {
                    tn.Nodes.Add(row[1].ToString());
                    dt2 = sql1.GetRecords("exec SelRegByRD @p1", row[0].ToString());
                    tn2 = tn.Nodes[k];
                    foreach (DataRow row2 in dt2.Rows)
                    {
                        tn2.Nodes.Add(row2[1].ToString());
                    }
                    k++;
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #13
0
        private int Connect()
        {
            Sql sql1 = new Sql();

            DataTable dt1 = new DataTable();
            String str = "Пользователь: " + globalData.UserName;

            if ((globalData.UserAccess == 1) && (globalData.UserID == 1))
            {
                str = "Рад видеть тебя, мой Создатель.";
            }

            str += "      Последний раз вы были в системе: " + sql1.GetRecordsOne("exec LastEvent @p1", globalData.UserID);

            lbUserName.Text = str;

            setVisibleElementMainMenu();

            CreateTree();
            ClearFilter();
            treeView1.Focus();

            if (globalData.fp == 1)
            {
                tabControl1.SelectedIndex = 10;
                tabControl1.Visible = true;
            }

            return 0;
        }
Пример #14
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime dttemp = globalData.CurDate;
                if ((globalData.CurDate != dateTimePicker1.Value) && (globalData.UserAccess == 1))
                    globalData.CurDate = dateTimePicker1.Value;

                if (!chbOnlyPS.Checked)
                {
                    if (cbUsers.SelectedValue.ToString() == "0")
                    {
                        MessageBox.Show("Для сохранения необходимо выбрать пользователя", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    Sql sql1 = new Sql();
                    DataTable dt1 = new DataTable();
                    bool b = false;
                    int i = 0;
                    foreach (DataGridViewRow row in _dgv1.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells["check"].Value) == true)
                        {
                            if ((Convert.ToBoolean(row.Cells["check"].Value) != false) && (row.Cells[0].Value.ToString() != ""))
                            {
                                sql1.GetRecords("exec checkout @p1, @p2, 1", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value);
                                b = true;
                            }
                        }
                        else if ((row.Cells[0].Value.ToString() != "") && (rb == 3))
                        {
                            sql1.GetRecords("exec checkout @p1, @p2, 0", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value);
                            b = true;
                        }
                        else
                        {
                            if (subsum == 0)
                            {
                                if ((row.Cells["fact"].Value != null) && (row.Cells["lpu"].Value != null))
                                {
                                    if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["lpu"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                    {
                                        string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value, globalData.db_id, row.Cells["lpu"].Value, cbUsers.SelectedValue.ToString(), row.Cells["fact"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                        if ((res != "1") && (globalData.UserAccess == 1))
                                            MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        b = true;
                                    }

                                    else if ((row.Cells["fact"].Value != null) && (globalData.Div == "OM"))
                                    {
                                        if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                        {
                                            string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, 'OM', @p4, @p5, @p6, @p7, @p8, @p9", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value, globalData.db_id, cbUsers.SelectedValue.ToString(), row.Cells["fact"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                            if ((res != "1") && (globalData.UserAccess == 1))
                                                MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            b = true;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if ((row.Cells["fact"].Value != null) && (row.Cells["lpu"].Value != null) && (row.Cells[0].Value.ToString() == ""))
                                {
                                    if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["lpu"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                    {
                                        int index = i;
                                        int count = Convert.ToInt32(row.Cells["fact"].Value.ToString());
                                        while (count > 0)
                                        {
                                            DataGridViewRow row2 = new DataGridViewRow();
                                            row2 = _dgv1.Rows[--index];

                                            if (row2.Cells["bum"].Value.ToString() == "0")
                                                continue;

                                            if (count > Convert.ToInt32(row2.Cells["bum"].Value))
                                            {
                                                string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10", row2.Cells["rep_id"].Value, row2.Cells["db_id_rep"].Value, globalData.db_id, row.Cells["lpu"].Value, cbUsers.SelectedValue.ToString(), row2.Cells["bum"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                                if ((res != "1") && (globalData.UserAccess == 1))
                                                    MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                count -= Convert.ToInt32(row2.Cells["bum"].Value);
                                            }
                                            else
                                            {
                                                string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10", row2.Cells["rep_id"].Value, row2.Cells["db_id_rep"].Value, globalData.db_id, row.Cells["lpu"].Value, cbUsers.SelectedValue.ToString(), count, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                                if ((res != "1") && (globalData.UserAccess == 1))
                                                    MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                count = 0;
                                            }
                                        }
                                        b = true;
                                    }
                                }
                                else if ((globalData.Div != "OM") && (row.Cells["fact"].Value != null) && (row.Cells["lpu"].Value != null))
                                {
                                    if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["lpu"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                    {
                                        string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value, globalData.db_id, row.Cells["lpu"].Value, cbUsers.SelectedValue.ToString(), row.Cells["fact"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                        if ((res != "1") && (globalData.UserAccess == 1))
                                            MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        b = true;
                                    }
                                }

                                else if ((globalData.Div == "OM") && (row.Cells["fact"].Value != null) && (row.Cells[0].Value.ToString() == ""))
                                {
                                    if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                    {
                                        int index = i;
                                        int count = Convert.ToInt32(row.Cells["fact"].Value.ToString());
                                        while (count > 0)
                                        {
                                            DataGridViewRow row2 = new DataGridViewRow();
                                            row2 = _dgv1.Rows[--index];

                                            if (row2.Cells["bum"].Value.ToString() == "0")
                                                continue;

                                            if (count > Convert.ToInt32(row2.Cells["bum"].Value))
                                            {
                                                string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, 'OM', @p4, @p5, @p6, @p7, @p8, @p9", row2.Cells["rep_id"].Value, row2.Cells["db_id_rep"].Value, globalData.db_id, cbUsers.SelectedValue.ToString(), row2.Cells["bum"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                                if ((res != "1") && (globalData.UserAccess == 1))
                                                    MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                count -= Convert.ToInt32(row2.Cells["bum"].Value);
                                            }
                                            else
                                            {
                                                string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, 'OM', @p4, @p5, @p6, @p7, @p8, @p9", row2.Cells["rep_id"].Value, row2.Cells["db_id_rep"].Value, globalData.db_id, cbUsers.SelectedValue.ToString(), count, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                                if ((res != "1") && (globalData.UserAccess == 1))
                                                    MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                count = 0;
                                            }
                                        }
                                        b = true;
                                    }
                                }
                                else if ((globalData.Div == "OM") && (row.Cells["fact"].Value != null))
                                {
                                    if ((row.Cells["fact"].Value.ToString() != "") && (row.Cells["fact"].Value.ToString() != "0"))
                                    {
                                        string res = sql1.GetRecordsOne("exec InsPersSales @p1, 0, @p2, @p3, 'OM', @p4, @p5, @p6, @p7, @p8, @p9", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value, globalData.db_id, cbUsers.SelectedValue.ToString(), row.Cells["fact"].Value, globalData.Region, globalData.UserID, globalData.CurDate, globalData.Div);
                                        if ((res != "1") && (globalData.UserAccess == 1))
                                            MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        b = true;
                                    }
                                }
                            }
                        }
                        i++;
                    }
                    if (b)
                    {
                        loadData();
                        int temp = subsum;
                        subsum = 0;
                        SubSum(temp);
                    }
                }
                else
                {
                    Sql sql1 = new Sql();
                    DataTable dt1 = new DataTable();
                    bool b = false;
                    int tsubsum = subsum;
                    SubSum(subsum);

                    foreach (DataGridViewRow row in _dgv1.Rows)
                    {
                        DateTime date;
                        if (globalData.UserAccess == 1)
                            date = Convert.ToDateTime(row.Cells["date"].Value);
                        else
                            date = globalData.CurDate;

                        if ((globalData.Div == "OM") && ((row.Cells["fact"].Value.ToString() == "") || (row.Cells["fact"].Value.ToString() == "0")))
                        {
                            sql1.GetRecords("exec DelPersSalesOM @p1, @p2, @p3, @p4, @p5, @p6", row.Cells["rep_id"].Value.ToString(), row.Cells["db_id_rep"].Value.ToString(), row.Cells["db_id_ps"].Value.ToString(), cbUsers.SelectedValue.ToString(), row.Cells["bum"].Value.ToString(), date);
                            b = true;
                        }
                        else if ((globalData.Div == "OM") && (row.Cells["fact"].Value.ToString() != "") && (Convert.ToInt32(row.Cells["fact"].Value.ToString()) < Convert.ToInt32(row.Cells["count"].Value.ToString())))
                        {
                            sql1.GetRecords("exec UpdPersSalesOM @p1, @p2, @p3, @p4, @p5, @p6, @p7", row.Cells["rep_id"].Value.ToString(), row.Cells["db_id_rep"].Value.ToString(), row.Cells["db_id_ps"].Value.ToString(), cbUsers.SelectedValue.ToString(), row.Cells["fact"].Value, globalData.UserID, date);
                            b = true;
                        }

                        if ((globalData.Div != "OM") && ((row.Cells["fact"].Value.ToString() == "") || (row.Cells["lpu"].Value == null) || (row.Cells["fact"].Value.ToString() == "0")))
                        {
                            sql1.GetRecords("exec DelPersSales @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9", row.Cells["rep_id"].Value.ToString(), row.Cells["db_id_rep"].Value.ToString(), row.Cells["db_id_ps"].Value.ToString(), row.Cells["lpu"].Value.ToString(), cbUsers.SelectedValue.ToString(), row.Cells["bum"].Value.ToString(), globalData.UserID, date, globalData.Region);
                            b = true;
                        }
                        else if ((globalData.Div != "OM") && (row.Cells["fact"].Value.ToString() != "") && (row.Cells["lpu"].Value.ToString() != "") && (Convert.ToInt32(row.Cells["fact"].Value.ToString()) <= Convert.ToInt32(row.Cells["count"].Value.ToString())) && (row.Cells["upd"].Value.ToString() == "1"))
                        {
                            sql1.GetRecords("exec UpdPersSales @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9", row.Cells["rep_id"].Value, row.Cells["db_id_rep"].Value, row.Cells["db_id_ps"].Value, row.Cells["lpu"].Value, cbUsers.SelectedValue, row.Cells["fact"].Value, globalData.UserID, date, row.Cells["ps_id"].Value);
                            b = true;
                        }
                    }
                    SubSum(tsubsum);
                    if (b)
                    {
                        loadData();
                        int temp = subsum;
                        subsum = 0;
                        SubSum(temp);
                    }
                }

                if ((globalData.CurDate != dateTimePicker1.Value) && (globalData.UserAccess == 1))
                    globalData.CurDate = dttemp;
            }
            catch (Exception err)
            {
                MessageBox.Show("Не удалось сохранить данные. Ошибка - " + err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #15
0
        private void сотрудниковToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = @"J:\Hospital Care\Kasyanova Tatyana\Отчёты\RR\Консигнации\Загрузка\";
            openFileDialog1.Filter = "Excel files (*.xls)|*.xls";
            openFileDialog1.FilterIndex = 0;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Multiselect = false;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Cursor = Cursors.WaitCursor;
                Excel.Application xlApp;
                Excel.Workbook xlWorkBook;
                Excel.Worksheet xlSh;
                xlApp = new Excel.Application();
                xlWorkBook = xlApp.Workbooks.Open(openFileDialog1.FileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

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

                object misValue = System.Reflection.Missing.Value;
                int err = 0;

                String header = String.Empty;

                int i = 2;

                try
                {
                    Sql sql1 = new Sql();

                    while (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 != null)
                    {
                        header = "A";
                        string s1 = "";
                        if (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 != null)
                            s1 = xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2.ToString();//user_code

                        header = "B";
                        string s2 = "";
                        if (xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2 != null)
                            s2 = xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString();//user_name

                        header = "C";
                        string s3 = "";
                        if (xlSh.get_Range("C" + i.ToString(), "C" + i.ToString()).Value2 != null)
                            s3 = xlSh.get_Range("C" + i.ToString(), "C" + i.ToString()).Value2.ToString();//reg_name

                        header = "D";
                        string s4 = "";
                        if (xlSh.get_Range("D" + i.ToString(), "D" + i.ToString()).Value2 != null)
                            s4 = xlSh.get_Range("D" + i.ToString(), "D" + i.ToString()).Value2.ToString();//post_name

                        header = "E";
                        string s5 = "";
                        if (xlSh.get_Range("E" + i.ToString(), "E" + i.ToString()).Value2 != null)
                            s5 = xlSh.get_Range("E" + i.ToString(), "E" + i.ToString()).Value2.ToString();//flag

                        header = "F";
                        string s6 = "";
                        if (xlSh.get_Range("F" + i.ToString(), "F" + i.ToString()).Value2 != null)
                            s6 = xlSh.get_Range("F" + i.ToString(), "F" + i.ToString()).Value2.ToString();//sdiv_name

                        string res = sql1.GetRecordsOne("exec Kons_Insert_User @p1, @p2, @p3, @p4, @p5, @p6", s1, s2, s4, s3, s6, s5);

                        if (res != "1")
                        {
                            xlSh.Cells[i, 7] = res;
                            err++;
                        }
                        i++;
                    }

                    i = 2;
                    xlSh = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
                    while (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 != null)
                    {
                        header = "A";
                        string s1 = "";
                        if (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 != null)
                            s1 = xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2.ToString();//lpu_code

                        header = "B";
                        string s2 = "";
                        if (xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2 != null)
                            s2 = xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString();//lpu_name

                        header = "D";
                        string s3 = "";
                        if (xlSh.get_Range("D" + i.ToString(), "D" + i.ToString()).Value2 != null)
                            s3 = xlSh.get_Range("D" + i.ToString(), "D" + i.ToString()).Value2.ToString();//reg_name

                        string res = sql1.GetRecordsOne("exec Kons_Insert_LPU @p1, @p2, @p3", s1, s2, s3);

                        if (res != "1")
                        {
                            xlSh.Cells[i, 5] = res;
                            err++;
                        }
                        i++;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка при чтении файла. Системная ошибка: " + ex.Message + " В ячейке " + header + i.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    err++;
                }
                finally
                {
                    if (err == 0)
                    {
                        MessageBox.Show("Загрузка завершена. Ошибок не найдено.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xlWorkBook.Close(true, misValue, misValue);
                        xlApp.Quit();

                        releaseObject(xlSh);
                        releaseObject(xlWorkBook);
                        releaseObject(xlApp);
                    }
                    else
                    {
                        MessageBox.Show("Загрузка завершена. Найдено " + err.ToString() + " ошибок.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xlApp.Visible = true;
                    }
                }
                Cursor = Cursors.Default;
            }
        }
Пример #16
0
        private void changeEnable()
        {
            if (load)
            {
                if (globalData.Div == "HC")
                {
                    Sql sql1 = new Sql();
                    String type;

                    if (cbNom.SelectedValue == null)
                        type = sql1.GetRecordsOne("exec SelNomType @p1", cbGroup.SelectedValue.ToString());
                    else
                        type = sql1.GetRecordsOne("exec SelNomType @p1", cbNom.SelectedValue.ToString());

                    if (type == null)
                    {
                        MessageBox.Show("Неудалось загрузить данные", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.Close();
                    }
                    if (type == "euro")
                    {
                        tbPriceEuro.ReadOnly = false;
                        tbPriceRub.ReadOnly = false;

                        tbCount.Text = String.Empty;
                        tbCount.ReadOnly = true;
                    }
                    else
                    {
                        tbPriceEuro.Text = String.Empty;
                        tbPriceRub.Text = String.Empty;

                        tbPriceEuro.ReadOnly = true;
                        tbPriceRub.ReadOnly = true;
                        tbCount.ReadOnly = false;
                    }
                }

                if ((globalData.Div == "OM") && (cbNom.SelectedValue != null))
                {
                    Sql sql1 = new Sql();

                    String type = sql1.GetRecordsOne("exec SelNomType @p1", cbNom.SelectedValue.ToString());

                    if (type == null)
                    {
                        MessageBox.Show("Неудалось загрузить данные", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.Close();
                    }
                    if (type == "euro")
                    {
                        tbPriceEuro.ReadOnly = false;
                        tbPriceRub.ReadOnly = false;

                        tbCount.Text = String.Empty;
                        tbCount.ReadOnly = true;
                    }
                    else
                    {
                        tbPriceEuro.Text = String.Empty;
                        tbPriceRub.Text = String.Empty;

                        tbPriceEuro.ReadOnly = true;
                        tbPriceRub.ReadOnly = true;
                        tbCount.ReadOnly = false;
                    }
                }

                if ((globalData.Div == "OM") && (cbNom.SelectedValue == null))
                {
                    tbPriceEuro.ReadOnly = false;
                    tbPriceRub.ReadOnly = false;
                    tbCount.ReadOnly = false;
                }
            }
        }
Пример #17
0
        private void loaddata()
        {
            Sql sql1 = new Sql();
            DataTable dt = sql1.GetRecords("exec SelUserByID @p1", globalData.UserID2);

            lbUserName.Text = dt.Rows[0].ItemArray[1].ToString();

            tbRate.Text = sql1.GetRecordsOne("exec GetRate @p1", dateTimePicker1.Value);

            cbCust.Items.Clear();
            cbRegCust.Items.Clear();
            cbSubReg.Items.Clear();
            cbLPU.Items.Clear();

            cbComp.DataSource = sql1.GetRecords("exec selComp");
            cbComp.DisplayMember = "comp_name";
            cbComp.ValueMember = "comp_id";

            dt = sql1.GetRecords("exec selKosCustByName @p1, @p2", globalData.Region, globalData.Div);

            cbCust.DataSource = dt;
            cbCust.DisplayMember = "cust_name";
            cbCust.ValueMember = "cust_id";
            if (cbCust.Items.Count > 0)
                cbCust.SelectedIndex = 0;

            cbRegCust.DataSource = dt;
            cbRegCust.DisplayMember = "reg_nameRus";
            cbRegCust.ValueMember = "reg_id";

            cbSubReg.DataSource = sql1.GetRecords("exec selSubRegion @p1", globalData.Region);
            cbSubReg.DisplayMember = "subreg_nameRus";
            cbSubReg.ValueMember = "subreg_id";

            cbLPU.DataSource = sql1.GetRecords("exec selLPUbySubReg @p1, @p2, @p3, @p4", globalData.UserID2, cbSubReg.SelectedValue, globalData.Div, globalData.CurDate.Year);
            cbLPU.DisplayMember = "lpu_sname";
            cbLPU.ValueMember = "ulpu_id";

            load = false;

            cbGroup.DataSource = sql1.GetRecords("exec SelGroupProd @p1", globalData.Div);
            cbGroup.DisplayMember = "nom_name";
            cbGroup.ValueMember = "nom_id";

            dt = sql1.GetRecords("exec SelNomProd @p1", cbGroup.SelectedValue);

            if (dt != null)
            {
                cbNom.DataSource = dt;
                cbNom.DisplayMember = "nom_name";
                cbNom.ValueMember = "nom_id";
            }

            if (dt.Rows.Count == 0)
            {
                cbNom.Visible = false;
                label22.Visible = false;
            }
            else
            {
                cbNom.Visible = true;
                label22.Visible = true;
            }

            load = true;

            if (globalData.Div == "AE")
            {
                label14.Visible = false;
                tbCount.Visible = false;
                tbCount.TabStop = false;
            }
            if (globalData.Div == "OM")
            {
                label14.Visible = true;
                tbCount.Visible = true;
                tbCount.TabStop = true;
                label22.Visible = false;
                label10.Visible = false;
                cbLPU.Visible = false;
            }
        }
Пример #18
0
        private void EditRow(DataGridView dgv, ComboBox cbU)
        {
            try
            {
                Sql sql1 = new Sql();

                DataGridViewCell cell = dgv.SelectedCells[0];

                if (cbU != null)
                    globalData.UserID2 = Convert.ToInt32(cbU.SelectedValue);
                else
                {
                    globalData.UserID2 = Convert.ToInt32(sql1.GetRecordsOne("exec GetUserID @p1", dgv.Rows[cell.RowIndex].Cells["user_name"].Value));
                    globalData.Region = sql1.GetRecordsOne("exec GetRegionName @p1", dgv.Rows[cell.RowIndex].Cells["subreg_nameRus"].Value);
                }

                AddRowReport arr = new AddRowReport(dgv.Rows[cell.RowIndex].Cells["rep_id"].Value.ToString(), dgv.Rows[cell.RowIndex].Cells["db_id"].Value.ToString(), cbUsers3.Visible);
                arr.ShowDialog();
            }
            catch (Exception err)
            {
                MessageBox.Show("Не удалось войти в режим редактирования. Системная ошибка - " + err.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #19
0
        private int Connect(string login)
        {
            globalData.UserID = 0;
            globalData.UserID2 = 0;

            Sql sql1 = new Sql();

            if (sql1 == null)
            {
                DialogResult dr = MessageBox.Show("Не удалось подключится к серверу. Проверьте наличие интеренет-соединения.", "Ошибка", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
                if (dr == System.Windows.Forms.DialogResult.Retry)
                    return 1;
                else
                    return 0;
            }

            if (login == null)
            {
                login = WindowsIdentity.GetCurrent().Name.Replace("\\", "-");
                String[] s2 = login.Split('-');
                login = s2[1];
            }

            //login = "******";

            //login = "******";

            //login = "******";

            DataTable dt1 = new DataTable();
            dt1 = sql1.GetRecords("exec UserLogin @p1", login);
            if (dt1.Rows.Count == 0)
            {
                //MessageBox.Show("Пользователь не найден в системе. Вход будет произведён под учётной записью гостя.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                login = "******";
            }

            if (login == "anonimus")
                dt1 = sql1.GetRecords("exec UserLogin @p1", login);
            if (dt1.Rows.Count == 0)
            {
                MessageBox.Show("Не удалось войти в систему.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
            else
            {
                String str = dt1.Rows[0].ItemArray[0].ToString();
                globalData.UserID = Convert.ToInt32(str);
                str = dt1.Rows[0].ItemArray[1].ToString();
                globalData.UserAccess = Convert.ToInt32(str);
                globalData.fp = Convert.ToInt32(dt1.Rows[0].ItemArray[4]);
                globalData.UserName = dt1.Rows[0].ItemArray[3].ToString();
                str = "Здравствуйте, " + globalData.UserName + ".";

                if ((globalData.UserAccess == 1) && (globalData.UserID == 1))
                {
                    str = "Рад видеть тебя, мой Создатель.";
                }

                str += "  Последний раз вы были в системе: " + sql1.GetRecordsOne("exec LastEvent @p1", globalData.UserID);

                lbUserName.Text = str;
                globalData.Login = login;
            }

            if (globalData.UserAccess == 1)
            {
                globalData.admin = true;
                btnFR.Enabled = true;
            }

            if (globalData.UserID == 0)
                this.Close();

            return 0;
        }
Пример #20
0
        private void ExportInExcelAccAE(DataGridView dgv, ComboBox cbLPUExcel, ComboBox cbUserExcel, int flag_all = 0)
        {
            object misValue = System.Reflection.Missing.Value;
            Excel.Application xlApp;
            Excel.Workbook xlWB;
            Excel.Worksheet xlSh;

            xlApp = new Excel.Application();
            xlWB = xlApp.Workbooks.Add(misValue);
            xlSh = (Excel.Worksheet)xlWB.Worksheets.get_Item(1);

            Sql sql1 = new Sql();

            //int curIndex = cbLPUAccNY.SelectedIndex;

            int ih = 1;

            for (int j = 1; j < dgv.ColumnCount; j++)
            {
                if (dgv.Columns[j].Visible)
                {
                    xlSh.Cells[1, ih] = dgv.Columns[j].HeaderText;
                    ih++;
                }
            }

            ((Excel.Range)xlSh.Columns[1]).ColumnWidth = 46;
            ((Excel.Range)xlSh.Columns[2]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[3]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[4]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[5]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[6]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[7]).ColumnWidth = 10;

            if (btnHideUsersAccNY.Text == "Скрыть пользователей" && flag_all == 0)
            {
                if (btnHideLPUAccNY.Text == "Скрыть ЛПУ")
                    btnHideLPUAccNY_Click(null, null);
            }

            int i = 2;

            foreach (DataGridViewRow row in dgv.Rows)
            {
                int k = 1;

                if (row.DefaultCellStyle.BackColor == bbgreen3)
                {
                    ((Excel.Range)xlSh.Rows[i]).Interior.Color = bbgreen3.ToArgb();
                    ((Excel.Range)xlSh.Rows[i]).Font.Bold = true;
                }
                if (row.DefaultCellStyle.BackColor == bbgreen1)
                {
                    ((Excel.Range)xlSh.Rows[i]).Interior.Color = bbgreen1.ToArgb();
                    ((Excel.Range)xlSh.Rows[i]).Font.Bold = true;
                }
                if (row.DefaultCellStyle.BackColor == bbgray5)
                {
                    ((Excel.Range)xlSh.Rows[i]).Interior.Color = bbgray5.ToArgb();
                }

                for (int j = 1; j < dgv.ColumnCount; j++)
                {
                    if (dgv.Columns[j].Visible)
                    {
                        if (row.Cells[j].Value != null)
                        {
                            if (digit(row.Cells[j].Value.ToString()))
                                xlSh.Cells[i, k] = Math.Round(float.Parse(row.Cells[j].Value.ToString()), 3);
                            else
                                xlSh.Cells[i, k] = row.Cells[j].Value.ToString();
                           // xlSh.Cells[i, k] = row.Cells[j].Value.ToString();
                        }
                        k++;
                    }
                }
                i++;
            }

            if (btnHideUsersAccNY.Text == "Скрыть пользователей" && flag_all == 0)
            {
                if (dgv.Name == "_dgv14")
                    btnHideLPUAccNY_Click(null, null);

                for (int ilpu = 0; ilpu < cbLPUExcel.Items.Count; ilpu++)
                {
                    cbLPUExcel.SelectedIndex = ilpu;

                    if(dgv.Name == "_dgv16")
                        selAllAccNY();

                    string lpu;

                    if (cbUserExcel.Visible)
                        lpu = sql1.GetRecordsOne("exec GetLPUName @p1", cbLPUExcel.SelectedValue);
                    else
                        lpu = sql1.GetRecordsOne("exec GetLPUName 0, @p1", cbLPUExcel.SelectedValue);

                    xlSh.Cells[1, ih] = lpu;
                    ((Excel.Range)xlSh.Columns[ih]).ColumnWidth = 10;

                    try
                    {
                        int k = 2;
                        foreach (DataGridViewRow row in dgv.Rows)
                        {
                            if (row.Cells["cyPlanEuro"].Value != null)
                            {
                                if (row.Cells["cyPlanEuro"].Value.ToString() != "")
                                    xlSh.Cells[k, ih] = Math.Round(float.Parse(row.Cells["cyPlanEuro"].Value.ToString()), 3);//row.Cells["cyPlanEuro"].Value.ToString();
                            }
                            k++;
                        }
                    }
                    catch (Exception err)
                    {
                        try
                        {
                            xlWB.Close(false, misValue, misValue);
                            xlApp.Quit();
                            releaseObject(xlSh);
                            releaseObject(xlWB);
                            releaseObject(xlApp);
                        }
                        catch (Exception err2)
                        {
                            MessageBox.Show("Ошибка при очистки объекта. Системная ошибка: " + err2.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        MessageBox.Show("Ошибка при выгрузке данных. Системная ошибка: " + err.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    ih++;
                }
            }
            if (globalData.db_id == 1)
            {
                String filename = "";

                DataTable dt1 = new DataTable();
                dt1 = sql1.GetRecords("exec GetUserByID @p1", globalData.UserID);

                DataTable dtNY = new DataTable();
                dtNY = sql1.GetRecords("exec GetSettings");
                string year = dtNY.Rows[0].ItemArray[3].ToString();

                filename = @"C:\Temp\Ассортиментный план на " + year + " год по региону " + globalData.Region.ToString() + " (" + dt1.Rows[0].ItemArray[0].ToString() + ").xls";

                xlApp.DisplayAlerts = false;
                xlWB.SaveAs(filename, Excel.XlFileFormat.xlWorkbookNormal);
                xlWB.Close(true, misValue, misValue);
                xlApp.Quit();

                releaseObject(xlSh);

                SendMail(filename);
                System.IO.File.Delete(filename);
            }
            else
            {
                xlApp.Visible = true;
            }
            //cbLPUAccNY.SelectedIndex = curIndex;
        }
Пример #21
0
        private void loadData()
        {
            globalData.update = false;

            Sql sql1 = new Sql();

            cbMAType.DataSource = sql1.GetRecords("exec MarkAct_Sel_Type");
            cbMAType.DisplayMember = "matype_name";
            cbMAType.ValueMember = "matype_id";

            DataTable dt1 = sql1.GetRecords("exec SelUserByID @p1", globalData.UserID2);

            lbUserName.Text = dt1.Rows[0].ItemArray[1].ToString();

            cbLPU.DataSource = sql1.GetRecords("exec SelLPU_MA @p1, @p2, @p3, @p4", globalData.UserID2, globalData.Region, globalData.Div, globalData.CurDate.Year);
            cbLPU.DisplayMember = "lpu_sname";
            cbLPU.ValueMember = "ulpu_id";

            tbPlan1.Text = String.Empty;
            tbPlan2.Text = String.Empty;
            tbPlan3.Text = String.Empty;
            tbPlan4.Text = String.Empty;
            tbFact1.Text = String.Empty;
            tbFact2.Text = String.Empty;
            tbFact3.Text = String.Empty;
            tbFact4.Text = String.Empty;

            if (index != 0)
            {
                dt1 = sql1.GetRecords("exec SelMarkActByID @p1, @p2", index, db);

                tbName.Text = dt1.Rows[0].ItemArray[1].ToString();
                globalData.maplan = Convert.ToInt32(dt1.Rows[0].ItemArray[19].ToString());

                if (Convert.ToInt32(dt1.Rows[0].ItemArray[18]) != 0)
                    cbMAType.SelectedValue = Convert.ToInt32(dt1.Rows[0].ItemArray[18]);

                cbLPU.SelectedValue = Convert.ToInt32(dt1.Rows[0].ItemArray[5]);

                int val = Convert.ToInt32(dt1.Rows[0].ItemArray[18]);

                if ((val > 1 && val <= 4) || (val >= 8 && val <= 11))
                {
                    loadConfName();

                    tbConf.Visible = true;
                    lNameConf.Visible = true;
                    button6.Visible = true;
                }

                if (dt1.Rows[0].ItemArray[15].ToString() == "1")
                {
                    tbPlan1.Enabled = true;
                    tbPlan2.Enabled = true;
                    tbPlan3.Enabled = true;
                    tbPlan4.Enabled = true;
                    cbLPU.Enabled = true;
                }
                else
                {
                    tbPlan1.Enabled = false;
                    tbPlan2.Enabled = false;
                    tbPlan3.Enabled = false;
                    tbPlan4.Enabled = false;
                    cbLPU.Enabled = false;
                }
                if (dt1.Rows[0].ItemArray[17].ToString() == "1")
                {
                    tbFact1.Enabled = true;
                    tbFact2.Enabled = true;
                    tbFact3.Enabled = true;
                    tbFact4.Enabled = true;
                    btnSave.Enabled = true;
                }
                else
                {
                    tbFact1.Enabled = false;
                    tbFact2.Enabled = false;
                    tbFact3.Enabled = false;
                    tbFact4.Enabled = false;
                    btnSave.Enabled = false;
                }

                if (dt1.Rows[0].ItemArray[7].ToString() != "0")
                    tbPlan1.Text = dt1.Rows[0].ItemArray[7].ToString();

                if (dt1.Rows[0].ItemArray[8].ToString() != "0")
                    tbPlan2.Text = dt1.Rows[0].ItemArray[8].ToString();

                if (dt1.Rows[0].ItemArray[9].ToString() != "0")
                    tbPlan3.Text = dt1.Rows[0].ItemArray[9].ToString();

                if (dt1.Rows[0].ItemArray[10].ToString() != "0")
                    tbPlan4.Text = dt1.Rows[0].ItemArray[10].ToString();

                if (dt1.Rows[0].ItemArray[11].ToString() != "0")
                    tbFact1.Text = dt1.Rows[0].ItemArray[11].ToString();

                if (dt1.Rows[0].ItemArray[12].ToString() != "0")
                    tbFact2.Text = dt1.Rows[0].ItemArray[12].ToString();

                if (dt1.Rows[0].ItemArray[13].ToString() != "0")
                    tbFact3.Text = dt1.Rows[0].ItemArray[13].ToString();

                if (dt1.Rows[0].ItemArray[14].ToString() != "0")
                    tbFact4.Text = dt1.Rows[0].ItemArray[14].ToString();

                tbRegion.Text = sql1.GetRecordsOne("exec SelRegByLPUid @p1", cbLPU.SelectedValue);
            }
            else
            {
                tbName.Text = String.Empty;

                tbRegion.Text = sql1.GetRecordsOne("exec SelRegByLPUid @p1", cbLPU.SelectedValue);

                cbLPU.Enabled = true;
            }
            globalData.update = true;
        }
Пример #22
0
        private void ExportInExcelEvo(DataGridView dgv)
        {
            object misValue = System.Reflection.Missing.Value;
            Excel.Application xlApp;
            Excel.Workbook xlWB;
            Excel.Worksheet xlSh;

            xlApp = new Excel.Application();
            xlWB = xlApp.Workbooks.Add(misValue);
            xlSh = (Excel.Worksheet)xlWB.Worksheets.get_Item(1);

            Sql sql1 = new Sql();

            //int curIndexReg = cbRegEvo.SelectedIndex;

            ((Excel.Range)xlSh.Columns[1]).ColumnWidth = 46;
            ((Excel.Range)xlSh.Columns[2]).ColumnWidth = 5;
            ((Excel.Range)xlSh.Columns[3]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[4]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[5]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[6]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[7]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[8]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[9]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[10]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[11]).ColumnWidth = 10;
            ((Excel.Range)xlSh.Columns[12]).ColumnWidth = 10;

            int j = 0;
            for (; j < dgv.ColumnCount; j++)
            {
                if (dgv.Columns[j].Visible)
                {
                    xlSh.Cells[1, j + 1] = dgv.Columns[j].HeaderText;
                    j++;
                }
            }

            int rowIndex = 2;
            xlSh.Cells[rowIndex, j] = "ФИО";
            xlSh.Cells[rowIndex, j + 1] = "Регион";

            for (int iReg = 0; iReg < cbRegEvo.Items.Count; iReg++)
            {
                cbRegEvo.SelectedIndex = iReg;

                for (int iUser = 0; iUser < cbUsersEvo.Items.Count; iUser++)
                {
                    cbUsersEvo.SelectedIndex = iUser;

                    selEvo(_dgv10, globalData.Div, dateTimePicker5.Value.Month.ToString(), cbYearEvo.SelectedItem.ToString(), cbRegEvo.SelectedValue.ToString(), globalData.RD, cbUsersEvo.SelectedValue.ToString());

                    string regName = sql1.GetRecordsOne("exec SelRegByID @p1", cbRegEvo.SelectedValue);

                    DataTable dt1 = new DataTable();
                    dt1 = sql1.GetRecords("exec SelUserByID @p1", cbUsersEvo.SelectedValue);
                    string userName = dt1.Rows[0].ItemArray[1].ToString();

                    if (rowIndex != 1)
                        rowIndex++;

                    try
                    {
                        foreach (DataGridViewRow row in dgv.Rows)
                        {
                            int k = 1;
                            for (j = 0; j < dgv.ColumnCount; j++)
                            {
                                if (dgv.Columns[j].Visible)
                                {
                                    if (row.Cells[j].Value != null)
                                    {
                                        xlSh.Cells[rowIndex, k] = row.Cells[j].Value.ToString();
                                    }
                                    k++;
                                }
                            }
                            xlSh.Cells[rowIndex, k] = userName;
                            xlSh.Cells[rowIndex, k + 1] = regName;
                            rowIndex++;
                        }
                    }
                    catch (Exception err)
                    {
                        try
                        {
                            xlWB.Close(false, misValue, misValue);
                            xlApp.Quit();
                            releaseObject(xlSh);
                            releaseObject(xlWB);
                            releaseObject(xlApp);
                        }
                        catch (Exception err2)
                        {
                            MessageBox.Show("Ошибка при очистки объекта. Системная ошибка: " + err2.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        MessageBox.Show("Ошибка при выгрузке данных. Системная ошибка: " + err.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            if (globalData.db_id == 1)
            {
                String filename = "";

                DataTable dt1 = new DataTable();
                dt1 = sql1.GetRecords("exec GetUserByID @p1", globalData.UserID);

                DataTable dtNY = new DataTable();
                dtNY = sql1.GetRecords("exec GetSettings");
                string year = dtNY.Rows[0].ItemArray[3].ToString();

                filename = @"C:\Temp\Ассортиментный план на " + year + " год по региону " + globalData.Region.ToString() + " (" + dt1.Rows[0].ItemArray[0].ToString() + ").xls";

                xlApp.DisplayAlerts = false;
                xlWB.SaveAs(filename, Excel.XlFileFormat.xlWorkbookNormal);
                xlWB.Close(true, misValue, misValue);
                xlApp.Quit();

                releaseObject(xlSh);

                SendMail(filename);
                System.IO.File.Delete(filename);
            }
            else
            {
                xlApp.Visible = true;
            }
        }
Пример #23
0
        private void User2_rent_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (globalData.tabFlagRD == false)
            {
                Sql sql1 = new Sql();

                if (User2_rent.SelectedValue != null && User2_rent.SelectedValue.ToString() != "System.Data.DataRowView")
                {
                    string res = sql1.GetRecordsOne("exec Rent_Select_UrtDate @p1", User2_rent.SelectedValue);
                    dtpRent.Value = Convert.ToDateTime(res);
                }
                if (globalData.update == true)
                    return;
            }
        }
Пример #24
0
        private void btnCompare_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = @"H:\Documents\";
            openFileDialog1.Filter = "Excel files (*.xls)|*.xls|All files (*.*)|*.*";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Multiselect = false;
            openFileDialog1.Title = "Сравнение цен";

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Excel.Application xlApp;
                Excel.Workbook xlWorkBook;
                Excel.Worksheet xlSh;
                xlApp = new Excel.Application();
                xlWorkBook = xlApp.Workbooks.Open(openFileDialog1.FileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                xlSh = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

                object misValue = System.Reflection.Missing.Value;
                int err = 0;
                tbResult.Clear();

                String curh = "";
                int i = 2;

                try
                {
                    Sql sql1 = new Sql();
                    while (xlSh.get_Range("M" + i.ToString(), "M" + i.ToString()).Value2 != null)
                    {
                        curh = "R";
                        if (xlSh.get_Range("R" + i.ToString(), "R" + i.ToString()).Value2.ToString() != "0")
                        {
                            curh = "M";
                            string matCode = xlSh.get_Range("M" + i.ToString(), "M" + i.ToString()).Value2.ToString();//mat_code
                            curh = "AT";
                            double priceFloat = Convert.ToDouble(xlSh.get_Range("AT" + i.ToString(), "AT" + i.ToString()).Value2);//price
                            curh = "AB";
                            double s3 = Convert.ToDouble(xlSh.get_Range("AB" + i.ToString(), "AB" + i.ToString()).Value2);//кол-во

                            if (s3 > 0)
                                priceFloat /= s3;

                            string scmPrice = sql1.GetRecordsOne("exec SCM_Compare @p1, @p2", matCode, priceFloat);
                            if ((scmPrice == null) || (scmPrice == string.Empty))
                            {
                                tbResult.Text += "Строка " + i.ToString() + ": товар с артикулом " + matCode + " не найден в справочнике.\r\n";
                            }
                            else if (scmPrice != "0")
                            {
                                double scmPriceFloat = 0;
                                double.TryParse(scmPrice, out scmPriceFloat);

                                if (scmPriceFloat > priceFloat)
                                    tbResult.Text += "Строка " + i.ToString() + ": товар с артикулом " + matCode + " цена " + priceFloat + " меньше цены в прайсе " + scmPrice + "\r\n";
                                else
                                    tbResult.Text += "Строка " + i.ToString() + ": товар с артикулом " + matCode + " цена " + priceFloat + " больше цены в прайсе " + scmPrice + ". Внимание!!!!!!!!!!\r\n";
                            }
                        }
                        i++;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка в ячейке " + curh + i.ToString() + ". Системная ошибка: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    err++;
                }
                finally
                {
                    if (err == 0)
                        MessageBox.Show("Сравнение завершено. Ошибок не найдено.", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    else
                        MessageBox.Show("Ошибка при сравнение.", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    xlWorkBook.Close(true, misValue, misValue);
                    xlApp.Quit();
                    releaseObject(xlSh);
                    releaseObject(xlWorkBook);
                    releaseObject(xlApp);
                }
            }
        }
Пример #25
0
        private void ConfirmRepRentRD(ComboBox cbRD, ComboBox cbRP, DateTimePicker _date)
        {
            if (cbRD.Enabled == false)
            {
                MessageBox.Show("Нужно выбрать директора!", "Ошибка!");
                return;
            }
            else if (cbRP.Enabled == false || cbRP.SelectedValue == null)
            {
                MessageBox.Show("Нужно выбрать рп, отчёт которого Вы подтверждаете!", "Ошибка!");
                return;
            }
            else
            {
                Sql sql1 = new Sql();

                string res = sql1.GetRecordsOne("exec Rent_Insert_RDAccess @p1, @p2, @p3", cbRD.SelectedValue, cbRP.SelectedValue, _date.Value.Year.ToString() + "-" + _date.Value.Month + "-01");
                MessageBox.Show(res, "Подтверждение");
            }
        }
Пример #26
0
        private void farmSKDToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            string folderName = "20437463_Фарм СКД";

            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = @"J:\Information Technology\Development\отчётность региональщиков\Доработки\загрузка данных от дистрибюторов\" + folderName;
            openFileDialog1.Filter = "Excel files (*.xls)|*.xls";
            openFileDialog1.FilterIndex = 0;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Multiselect = false;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Cursor = Cursors.WaitCursor;
                Excel.Application xlApp;
                Excel.Workbook xlWorkBook;
                Excel.Worksheet xlSh;
                xlApp = new Excel.Application();
                xlWorkBook = xlApp.Workbooks.Open(openFileDialog1.FileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

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

                object misValue = System.Reflection.Missing.Value;
                int err = 0;

                InputDialog ind = new InputDialog("Год", "Введите год", true);
                ind.ShowDialog();

                if (ind.DialogResult == DialogResult.Cancel)
                    return;

                String year = globalData.input;

                InputDialog id = new InputDialog("Введите месяц", "В формате 1, 2, 3...", true);
                id.ShowDialog();

                if (ind.DialogResult == DialogResult.Cancel)
                    return;

                string month = globalData.input;

                string s1 = year + "-" + month + "-01";

                String header = String.Empty;

                string s2 = folderName.Split('_')[0];

                int i = 2;
                //int i = 5;

                string s6 = "";

                try
                {
                    Sql sql1 = new Sql();

                    while (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 != null || xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString() != "Итого:")
                    {
                        header = "B";
                        string s4 = xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString().Replace("\"", "-").Replace("(", ":").Replace(" с. ", ":").Split(':')[0].Trim();//matName

                        i++;
                        while (xlSh.get_Range("A" + i.ToString(), "A" + i.ToString()).Value2 == null)
                        {
                            header = "B";
                            string s3 = xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString().Split(':')[0].Trim();//reg + lpu
                            //string s3 = xlSh.get_Range("B" + i.ToString(), "B" + i.ToString()).Value2.ToString().Trim();//reg + lpu
                            s6 = s3;
                            header = "C";
                            string s5 = xlSh.get_Range("C" + i.ToString(), "C" + i.ToString()).Value2.ToString().Replace(",", ".");//count

                            string res = sql1.GetRecordsOne("exec InsRepDist 0, @p1, @p2, @p3, @p4, @p5, @p6", s1, s2, s3, s4, s5, s6);
                            if (res != "1")
                            {
                                xlSh.Cells[i, 5] = res;
                                err++;
                            }
                            i++;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка при чтении файла. Системная ошибка: " + ex.Message + " В ячейке " + header + i.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    err++;
                }
                finally
                {
                    if (err == 0)
                    {
                        MessageBox.Show("Загрузка завершена. Ошибок не найдено.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xlWorkBook.Close(true, misValue, misValue);
                        xlApp.Quit();

                        releaseObject(xlSh);
                        releaseObject(xlWorkBook);
                        releaseObject(xlApp);
                    }
                    else
                    {
                        MessageBox.Show("Загрузка завершена. Найдено " + err.ToString() + " ошибок.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xlApp.Visible = true;
                    }
                }
                Cursor = Cursors.Default;
            }
        }
Пример #27
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (count < Convert.ToInt32(tbCount.Text))
            {
                MessageBox.Show("Количество не может быть больше, чем в продаже", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Convert.ToInt32(tbCount.Text) < 0)
            {
                MessageBox.Show("Количество не может быть отрицательным", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if ((globalData.Div == "HC") && (cbSubReg.SelectedValue.ToString() != "1"))
            {
                if (Convert.ToInt32(tbCount.Text) > Convert.ToInt32(tbTail.Text))
                {
                    MessageBox.Show("Количество не может быть больше остатка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            Sql sql1 = new Sql();
            string res = sql1.GetRecordsOne("exec MoveReport 0, @p1, @p2, @p3, @p4, @p5", idRep, db, cbSubReg.SelectedValue, globalData.UserID, tbCount.Text);

            if (res == "1")
            {
                globalData.update = true;
                Close();
            }
            else
                MessageBox.Show(res, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
Пример #28
0
        private void dgv1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.RowIndex != -1 && e.ColumnIndex != 3)
                {
                    Sql sql1 = new Sql();

                    string count = sql1.GetRecordsOne("exec MarkAct_Select_Plan @p1, @p2, @p3", dgv1[0, e.RowIndex].Value.ToString(), globalData.year, 0);

                    if (count == "0")
                    {
                        globalData.maplan = 0;
                        AddEditMAType am = new AddEditMAType(Convert.ToInt32(dgv1[0, e.RowIndex].Value), dgv1[1, e.RowIndex].Value.ToString(), dgv1[2, e.RowIndex].Value.ToString(), dgv1[3, e.RowIndex].Value.ToString(), dgv1[4, e.RowIndex].Value.ToString(), dgv1[5, e.RowIndex].Value.ToString());
                        am.ShowDialog();
                    }
                    else if (count == "1")
                    {
                        globalData.maplan = Convert.ToInt32(sql1.GetRecordsOne("exec MarkAct_Select_Plan @p1, @p2, @p3", dgv1[0, e.RowIndex].Value.ToString(), globalData.year, 1));
                    }
                    else
                    {
                        AddConf ac = new AddConf(Convert.ToInt32(dgv1[0, e.RowIndex].Value.ToString()), false);
                        ac.ShowDialog();

                    }
                }
            }
            catch
            {
            }
            finally
            {
                globalData.matype = dgv1[6, e.RowIndex].Value.ToString();
                this.Close();
            }
        }
Пример #29
0
 public string save(string code, string name, string nameRus)
 {
     Sql sql1 = new Sql();
     return sql1.GetRecordsOne("exec region_Insert @p1, @p2, @p3, @p4", id, code, name, nameRus);
 }
Пример #30
0
        void SavePlanConf()
        {
            Sql sql1 = new Sql();

            string res = sql1.GetRecordsOne("exec MarkAct_Insert_Conf @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10",
                dtpMA.Value.Year.ToString() + "-" + dtpMA.Value.Month.ToString() + "-01",
                cbTypeMA.SelectedValue,
                tbName.Text.Trim(),
                tbSname.Text.Trim(),
                tbComm.Text.Trim(),
                tbSite.Text.Trim(),
                cbTheme.SelectedValue,
                cbCity.SelectedValue,
                _conf,
                globalData.maplan);

            if (res != "0" && res != "")
            {
                globalData.maplan = Convert.ToInt32(res);
                MessageBox.Show("Успешно сохранено!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            else
                MessageBox.Show("Не сохранено!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }