Exemplo n.º 1
0
        private void btnTinhLuongVaXuatBB_Click(object sender, EventArgs e)
        {
            DateTime thang  = new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, 1);
            DateTime ngayBD = new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, 1);
            DateTime ngayKT = new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, DateTime.DaysInMonth(dtpThang.Value.Year, dtpThang.Value.Month));

            ngayBD = ngayBD.AddDays(-1d);
            ngayKT = ngayKT.AddDays(2d).Subtract(new TimeSpan(0, 0, 1));
            DataTable        tableAllDSNV = DAL.LayDSTatCaNV();
            List <cUserInfo> dsnv         = new List <cUserInfo>();

            int[] arrUserEnrollNumber = (from DataRow row in tableAllDSNV.Rows select(int) row["UserEnrollNumber"]).ToArray();

            // lấy thông tin mức đóng bảo hiểm
            //int sMucdong = int.Parse(string.IsNullOrWhiteSpace(tbMucDongBH.Text) ? "0" : tbMucDongBH.Text);
            // nếu <100 thì 3 con số nếu > 100 thì 3 con số, nếu > 1000 thì 4 con số

            Double dMucdong = Double.Parse((string.IsNullOrWhiteSpace(tbMucDongBH.Text) ? "0" : tbMucDongBH.Text));

            dsnv = XL.XemCong2(tableAllDSNV, arrUserEnrollNumber, ngayBD, ngayKT);
            var    dsanluong      = (double)(numSanLuong.Value);
            double ddongia        = (double)numDonGia.Value;
            double dluongtoithieu = (double)numLuongTT.Value;
            double dcongnhat      = (double)numLuongCongNhat.Value;
            double dboiduongca3   = (double)numBoiDuongCa3.Value;

            XL.DocLuongDieuChinh(thang, dsnv);
            XL.DocHSBHCongThem(dsnv);
            #region đọc file tạm ứng lương
            frm_DocFileTamUngLuong frm = new frm_DocFileTamUngLuong {
                m_dsnv = dsnv, temp = false
            };
            frm.ShowDialog();
            if (frm.temp == false)             // xảy ra lỗi trong quá trình đọc file tạm ứng lương thì 1.(không cần báo lỗi vì form bên kia đã báo) 2.thoát ko làm nửa
            {
                return;
            }
            #endregion
            // tính khấu trừ bảo hiểm
            XL.TinhKhauTruBHChoNV(dsnv, dluongtoithieu, dMucdong);

            XL.TinhLuong2(thang, dsnv, ddongia, dsanluong, dluongtoithieu, dcongnhat, dboiduongca3);

            saveFileDialog.Filter = "Excel File|*.xlsx";
            saveFileDialog.ShowDialog();
            if (saveFileDialog.FileName == string.Empty)
            {
                return;
            }
            XL.XuatBBTinhLuong(dsnv, saveFileDialog.FileName, ngayBD, ngayKT);
        }