Exemplo n.º 1
0
 protected void btnCapNhat_Click(object sender, DirectEventArgs e)
 {
     try
     {
         ThietLapCaTheoBoPhanController controller = new ThietLapCaTheoBoPhanController();
         foreach (var item in RowSelectionModel1.SelectedRows)
         {
             DAL.ThietLapCaTheoBoPhan obj = new DAL.ThietLapCaTheoBoPhan()
             {
                 CreatedBy       = CurrentUser.ID,
                 CreatedDate     = DateTime.Now,
                 MaCaThu7        = cbCaThu7.SelectedItem.Value,
                 MaCaChuNhat     = cbCaChuNhat.SelectedItem.Value,
                 MaCa            = cbCaLamViec.SelectedItem.Value,
                 MaDonVi         = item.RecordID,
                 SoNgayCongChuan = double.Parse(txtSoNgayCongChuan.Text.Replace('.', ','))
             };
             controller.UpdateCa(obj);
         }
         grpDanhSachDonVi.Reload();
         wdChinhSuaCaLamViec.Hide();
     }
     catch (Exception ex)
     {
         X.MessageBox.Alert("Có lỗi xảy ra", ex.Message).Show();
     }
 }
Exemplo n.º 2
0
    protected void cbCanBo_Selected(object sender, DirectEventArgs e)
    {
        try
        {
            DataTable table = DataController.DataHandler.GetInstance().ExecuteDataTable("TienLuong_LuongKhoan_GetInfoEmployeeByMaCB", "@MaCB", cbCanBo.SelectedItem.Value);
            if (table.Rows.Count > 0)
            {
                hdfQDLuong.SetValue(table.Rows[0]["LuongCung"].ToString());
                hdfMaBoPhan.Text = table.Rows[0]["MA_DONVI"].ToString();

                // lấy lương cơ bản (lương đóng BH)
                int    thang   = int.Parse(cbxMonth.SelectedItem.Value);
                int    nam     = int.Parse("0" + spnYear.Text);
                double luongcb = new TinhLuongKhoanController().GetLuongDongBH(decimal.Parse(table.Rows[0]["PR_KEY"].ToString()), new DateTime(nam, thang, 1));
                // lấy công chuẩn
                double congchuan = new ThietLapCaTheoBoPhanController().GetCongChuan(table.Rows[0]["MA_DONVI"].ToString());
                txtLuongCongNhat.SetValue(Math.Round(luongcb / congchuan, 0, MidpointRounding.AwayFromZero));
            }
            else
            {
            }
        }
        catch (Exception)
        {
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// Quy trình tính lương khoán
    /// Input:  Tổng khối lượng sản phẩm (sản phẩm chính) /
    ///         Số giờ đăng ký làm
    ///     => Khối lượng sản phẩm / 1 giờ      So sánh với sản lượng quy định
    ///     => Trọng số (số tiền cho 1 tấn sản lượng) * Tổng khối lượng sản phẩm
    ///     => Tổng số tiền cả tổ được nhận / Số giờ cả tổ làm trong ngày
    ///     => Số tiền trung bình / 1 giờ làm việc
    ///     Số tiền trung bình * số giờ làm việc của từng công nhân
    ///     => Số tiền lương khoán
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ThayDoi(object sender, DirectEventArgs e)
    {
        try
        {
            decimal luong          = decimal.Parse("0" + hdfQDLuong.Text.Replace(".", ""));
            string  maBoPhan       = hdfMaBoPhan.Text;
            string  congthucstring = "";
            // sản lượng của sản phẩm chính
            double spchinh = double.Parse("0" + txtSanPhamChinh.Text.Replace(".", ","));
            // sản lượng của sản phẩm phụ
            double spphu = double.Parse("0" + txtSanPhamPhu.Text.Replace(".", ","));
            // Số giờ tổ đăng ký làm việc
            double giodangky = double.Parse("0" + txtSoGioDangKy.Text.Replace(".", ","));
            if (giodangky == 0)
            {
                giodangky = 1;
            }
            // Số giờ thực tế công nhân làm việc
            double giothucte = double.Parse("0" + txtSoGioLamViec.Text.Replace(".", ","));
            // Số giờ cả tổ làm trong 1 ngày (tổng số giờ làm việc của công nhân trong tổ)
            double giocato = double.Parse("0" + txtSoGioCaTo.Text.Replace(".", ","));
            if (giothucte < 0)
            {
                return;
            }
            decimal sanLuong = (decimal)(spchinh / giodangky);

            //var congthuc = CongThucKhoanList.FirstOrDefault(p => p.MaDonVi == maBoPhan && p.DKSanLuongTu <= (spchinh / giodangky) && p.DKSanLuongDen >= (spchinh / giodangky));
            DAL.CongThucKhoanSanXuat congthuc = new CongThucKhoanSanXuatControler().GetByMaBoPhanVaSanLuong(maBoPhan, sanLuong);
            if (congthuc == null)
            {
                Dialog.ShowError("Không tìm thấy công thức tính lương cho mã bộ phận: " + maBoPhan);
                return;
            }
            congthucstring = congthuc.CongThuc;
            // lấy công chuẩn
            double congchuan = new ThietLapCaTheoBoPhanController().GetCongChuan(maBoPhan);
            congthucstring = congthucstring.Replace("Luong", luong.ToString())
                             .Replace("CongChuan", congchuan.ToString())
                             .Replace("SanPhamChinh", txtSanPhamChinh.Text)
                             .Replace("SanPhamPhu", txtSanPhamPhu.Text)
                             .Replace("SoGioDangKy", txtSoGioDangKy.Text)
                             .Replace("SoGioLamViec", txtSoGioLamViec.Text)
                             .Replace("TongGio", txtSoGioCaTo.Text)
                             .Replace("TrongSo", congthuc.TrongSo.ToString())
                             .Replace(",", ".")
                             .Replace("/0", "/1");
            //RM.RegisterClientScriptBlock("abdc", "  alert('"+congthucstring+"'); ");

            RM.RegisterClientScriptBlock("abc", " txtLuongSanPham.setValue(Math.round( eval('" + congthucstring + "')));if (!txtLuongSanPham.getValue()) {txtLuongSanPham.setValue(0);}");
            //Dialog.ShowNotification("Công thức: <b>" + congthuc.CongThuc + " </b> <br/>    Trọng số: <b>"
            //    + congthuc.TrongSo.ToString() + " </b> <br/> Giá trị : <b>" + congthucstring);
        }
        catch (Exception ex)
        {
        }
    }
Exemplo n.º 4
0
    protected void mnuAddOne_Click(object sender, DirectEventArgs e)
    {
        try
        {
            CellSelectionModel sm    = this.GridPanel1.SelectionModel.Primary as CellSelectionModel;
            DataTable          table = DataController.DataHandler.GetInstance().ExecuteDataTable("TienLuong_LuongKhoan_GetInfoEmployeeByMaCB", "@MaCB", sm.SelectedCell.RecordID);
            if (table.Rows.Count > 0)
            {
                DataRow item = table.Rows[0];
                hdfCanBo.SetValue(item["MA_CB"]);
                cbCanBo.Text = item["HO_TEN"].ToString();
                hdfMaBoPhan.SetValue(item["MA_DONVI"].ToString());
                cbxNgay.SetValue(int.Parse(sm.SelectedCell.Name.Replace("Ngay", "")));
                hdfNgay.SetValue(int.Parse(sm.SelectedCell.Name.Replace("Ngay", "")));
                hdfQDLuong.SetValue(item["LuongCung"]);//LuongDongBH

                // lấy lương cơ bản (lương đóng BH)
                int    thang   = int.Parse(cbxMonth.SelectedItem.Value);
                int    nam     = int.Parse("0" + spnYear.Text);
                double luongcb = new TinhLuongKhoanController().GetLuongDongBH(decimal.Parse(item["PR_KEY"].ToString()), new DateTime(nam, thang, 1));
                if (luongcb == 0)
                {
                    Dialog.ShowNotification("Cán bộ " + item["HO_TEN"].ToString() + " chưa có lương cơ bản");
                }
                // lấy công chuẩn
                double congchuan = new ThietLapCaTheoBoPhanController().GetCongChuan(item["MA_DONVI"].ToString());
                txtLuongCongNhat.SetValue(Math.Round(luongcb / congchuan, 0, MidpointRounding.AwayFromZero));
            }
        }
        catch (Exception ex)
        { }
        finally
        {
            wdLuongKhoanSanXuat.Show();
        }
    }
        public DAL.DanhSachCa GetByMaChamCong(string maChamCong, DateTime day, string maDonVi)
        {
            string type = string.Empty;

            DAL.DieuKienChamCong dkcc = new DieuKienChamCongController().GetByParamName(DieuKienChamCongController.CHAMCONG_PHANCA_TYPE, maDonVi);
            if (dkcc != null)
            {
                type = dkcc.Value;
            }
            List <string> listMaCa = new List <string>();

            if (type == DieuKienChamCongController.PHANCA_TYPE_THANG)
            {
                // lấy dữ liệu bảng phân ca tháng theo mã chấm công và ngày chấm công
                DataTable table = DataController.DataHandler.GetInstance().ExecuteDataTable("ChamCong_GetBangCaThangByMaChamCong", "@MaChamCong", "@Ngay", maChamCong, day);
                if (table.Rows.Count == 0)
                {
                    return(null);
                }
                string columnName = "Ngay";
                if (day.Day < 10)
                {
                    columnName += "0" + day.Day;
                }
                else
                {
                    columnName += "" + day.Day;
                }
                // lấy các mã ca mà cán bộ đã đăng ký trong ngày
                foreach (DataRow item in table.Rows)
                {
                    if (!string.IsNullOrEmpty(item[columnName].ToString()))
                    {
                        listMaCa.Add(item[columnName].ToString());
                    }
                }
            }
            else if (type == DieuKienChamCongController.PHANCA_TYPE_BOPHAN)
            {
                DAL.ThietLapCaTheoBoPhan thietLap = new ThietLapCaTheoBoPhanController().GetThietLapByMaChamCong(maChamCong);
                DayOfWeek dayOfWeek = day.DayOfWeek;
                switch (dayOfWeek)
                {
                // ngày thường
                case DayOfWeek.Monday:
                case DayOfWeek.Tuesday:
                case DayOfWeek.Wednesday:
                case DayOfWeek.Thursday:
                case DayOfWeek.Friday:
                    listMaCa.Add(thietLap.MaCa);
                    break;

                // ngày thứ 7
                case DayOfWeek.Saturday:
                    listMaCa.Add(thietLap.MaCaThu7);
                    break;

                // ngày chủ nhật
                case DayOfWeek.Sunday:
                    listMaCa.Add(thietLap.MaCaChuNhat);
                    break;
                }
            }

            var rs = from t in dataContext.DanhSachCas
                     where listMaCa.Contains(t.MaCa)
                     select t;

            return(rs.FirstOrDefault());
        }
    public void BinData(ReportFilter filter)
    {
        try
        {
            ReportController rp = new ReportController();
            DataTable        dt = DataHandler.GetInstance().ExecuteDataTable("rp_austfeed_BaoCaoTongHopLuongKhoan", "@Thang", "@Nam", "@MaDonVi",
                                                                             filter.StartMonth, filter.Year, filter.SelectedDepartment);

            foreach (DataRow item in dt.Rows)
            {
                try
                {
                    double congchuan = 0;
                    try { congchuan = new ThietLapCaTheoBoPhanController().GetCongChuan(filter.SessionDepartment); }
                    catch (Exception) { }
                    int soNgayLe = int.Parse(DataController.DataHandler.GetInstance().ExecuteScalar("f_Khoan_GetNgayLeKhongDiLam",
                                                                                                    "@MaCanBo", "@Thang", "@Nam", item["MA_CB"].ToString(), filter.StartMonth, filter.Year).ToString());
                    decimal tienLe  = 0;
                    double  luongQD = 0;
                    try { luongQD = double.Parse("0" + item["LuongDongBH"].ToString()); }
                    catch (Exception) { }
                    try { tienLe = Math.Round((decimal)(soNgayLe * luongQD / congchuan), 0); }
                    catch (Exception) { }
                    item["TienLe"] = tienLe;
                    decimal tong = 0;
                    try { tong = decimal.Parse("0" + item["TongCong"].ToString()); }
                    catch (Exception) { }
                    tong             = tong + tienLe;
                    item["TongCong"] = tong;
                }
                catch (Exception)
                {
                }
            }

            if (dt.Rows.Count > 0)
            {
                DataSource = dt;
                xrTableCell72.DataBindings.Add("Text", DataSource, "MA_CB");
                xrTableCell73.DataBindings.Add("Text", DataSource, "HO_TEN");
                xrTableCell74.DataBindings.Add("Text", DataSource, "Ngay1", "{0:n0}");
                xrTableCell75.DataBindings.Add("Text", DataSource, "Ngay2", "{0:n0}");
                xrTableCell76.DataBindings.Add("Text", DataSource, "Ngay3", "{0:n0}");
                xrTableCell77.DataBindings.Add("Text", DataSource, "Ngay4", "{0:n0}");
                xrTableCell78.DataBindings.Add("Text", DataSource, "Ngay5", "{0:n0}");
                xrTableCell79.DataBindings.Add("Text", DataSource, "Ngay6", "{0:n0}");
                xrTableCell80.DataBindings.Add("Text", DataSource, "Ngay7", "{0:n0}");
                xrTableCell81.DataBindings.Add("Text", DataSource, "Ngay8", "{0:n0}");
                xrTableCell82.DataBindings.Add("Text", DataSource, "Ngay9", "{0:n0}");
                xrTableCell83.DataBindings.Add("Text", DataSource, "Ngay10", "{0:n0}");
                xrTableCell84.DataBindings.Add("Text", DataSource, "Ngay11", "{0:n0}");
                xrTableCell85.DataBindings.Add("Text", DataSource, "Ngay12", "{0:n0}");
                xrTableCell86.DataBindings.Add("Text", DataSource, "Ngay13", "{0:n0}");
                xrTableCell87.DataBindings.Add("Text", DataSource, "Ngay14", "{0:n0}");
                xrTableCell88.DataBindings.Add("Text", DataSource, "Ngay15", "{0:n0}");
                xrTableCell89.DataBindings.Add("Text", DataSource, "Ngay16", "{0:n0}");
                xrTableCell90.DataBindings.Add("Text", DataSource, "Ngay17", "{0:n0}");
                xrTableCell91.DataBindings.Add("Text", DataSource, "Ngay18", "{0:n0}");
                xrTableCell92.DataBindings.Add("Text", DataSource, "Ngay19", "{0:n0}");
                xrTableCell93.DataBindings.Add("Text", DataSource, "Ngay20", "{0:n0}");
                xrTableCell94.DataBindings.Add("Text", DataSource, "Ngay21", "{0:n0}");
                xrTableCell95.DataBindings.Add("Text", DataSource, "Ngay22", "{0:n0}");
                xrTableCell96.DataBindings.Add("Text", DataSource, "Ngay23", "{0:n0}");
                xrTableCell97.DataBindings.Add("Text", DataSource, "Ngay24", "{0:n0}");
                xrTableCell98.DataBindings.Add("Text", DataSource, "Ngay25", "{0:n0}");
                xrTableCell99.DataBindings.Add("Text", DataSource, "Ngay26", "{0:n0}");
                xrTableCell100.DataBindings.Add("Text", DataSource, "Ngay27", "{0:n0}");
                xrTableCell101.DataBindings.Add("Text", DataSource, "Ngay28", "{0:n0}");
                xrTableCell102.DataBindings.Add("Text", DataSource, "Ngay29", "{0:n0}");
                xrTableCell103.DataBindings.Add("Text", DataSource, "Ngay30", "{0:n0}");
                xrTableCell104.DataBindings.Add("Text", DataSource, "Ngay31", "{0:n0}");
                xrTableCell39.DataBindings.Add("Text", DataSource, "TienLe", "{0:n0}");
                xrTableCell105.DataBindings.Add("Text", DataSource, "TongCong", "{0:n0}");
                //Group header
                this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
                    new DevExpress.XtraReports.UI.GroupField("MA_DONVI", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)
                });
                xrTableCell38.DataBindings.Add("Text", DataSource, "TEN_DONVI");
                //Title
                xrLabel1.Text = string.Format(xrLabel1.Text, filter.StartMonth, filter.Year);
            }
        }
        catch (Exception e)
        {
            X.Msg.Alert("Thông báo", "Có lỗi: " + e).Show();
        }
    }
Exemplo n.º 7
0
    protected void ImportDataFromExcel(object sender, DirectEventArgs e)
    {
        try
        {
            int    manv = 0, ngayindex = 3, sogiodk = 4, sogiolv = 5, giocato = 6, sospc = 7, sospp = 8, luongcn = 9, luongk = 10, luonght = 11;
            string extension = System.IO.Path.GetExtension(FileUploadField1.PostedFile.FileName).ToLower();
            TinhLuongKhoanController controller = new TinhLuongKhoanController();
            if (!extension.Equals(".xls") && !extension.Equals(".xlsx"))
            {
                X.Msg.Alert("Thông báo", "File bạn chọn không phải excel").Show();
                return;
            }
            string     fn           = System.IO.Path.GetFileName(FileUploadField1.PostedFile.FileName);
            string     saveLocation = Server.MapPath("File") + "\\" + fn;
            List <Row> dataExcel    = ExcelEngine.GetInstance().GetDataFromExcel(saveLocation, cbSheetName.SelectedItem.Value, 0);
            int        count        = 0;
            int        thang        = int.Parse(cbxMonth.SelectedItem.Value);
            int        nam          = int.Parse("0" + spnYear.Text);
            FileInfo   file;
            foreach (Row item in dataExcel)
            {
                try
                {
                    if (count > 20)
                    {
                        break;
                    }
                    if (string.IsNullOrEmpty(item[manv]))
                    {
                        count++;
                    }
                    else
                    {
                        count = 0;
                        DAL.ChamCongKhoanAustfeed chamCong = new DAL.ChamCongKhoanAustfeed();
                        chamCong.MaCB = item[manv].ToString();
                        string a = "";
                        if (chamCong.MaCB == "10699")
                        {
                            a = "";
                        }
                        float  luong    = 0;
                        string maBoPhan = string.Empty;
                        // lấy lương
                        DataTable table = DataController.DataHandler.GetInstance().ExecuteDataTable("TienLuong_LuongKhoan_GetInfoEmployeeByMaCB", "@MaCB", chamCong.MaCB);
                        if (table.Rows.Count > 0)
                        {
                            try { maBoPhan = table.Rows[0]["MA_DONVI"].ToString(); }
                            catch (Exception) { }
                            try { luong = float.Parse(table.Rows[0]["LuongCung"].ToString()); }
                            catch (Exception) { }
                        }
                        int ngay = int.Parse("0" + item[ngayindex].ToString());
                        chamCong.MonthYear = new DateTime(nam, thang, ngay);
                        try
                        {
                            chamCong.SoGioDangKy = double.Parse(item[sogiodk].ToString().Replace(".", ","));
                        }
                        catch (Exception) { }
                        try
                        {
                            chamCong.SoGioLamViec = double.Parse(item[sogiolv].ToString().Replace(".", ","));
                        }
                        catch (Exception) { }
                        try
                        {
                            chamCong.SoGioCaTo = double.Parse(item[giocato].ToString().Replace(".", ","));
                        }
                        catch (Exception) { }
                        try
                        {
                            chamCong.SanPhamChinh = decimal.Parse("0" + item[sospc].ToString().Replace(".", ","));
                        }
                        catch (Exception) { }
                        try
                        {
                            chamCong.SanPhamPhu = decimal.Parse("0" + item[sospp].ToString().Replace(".", ","));
                        }
                        catch (Exception) { }
                        chamCong.LuongCongNhat = decimal.Parse("0" + item[luongcn].ToString());
                        chamCong.LuongKhac     = decimal.Parse("0" + item[luongk].ToString());
                        chamCong.LuongHoTro    = double.Parse("0" + item[luonght].ToString());

                        if (chamCong.SoGioDangKy == 0)
                        {
                            chamCong.SoGioDangKy = 1;
                        }
                        if (chamCong.SoGioLamViec < 0)
                        {
                            continue;
                        }
                        decimal sanLuong                  = (decimal)((double)chamCong.SanPhamChinh / chamCong.SoGioDangKy);
                        string  congthucstring            = "";
                        DAL.CongThucKhoanSanXuat congthuc = new CongThucKhoanSanXuatControler().GetByMaBoPhanVaSanLuong(maBoPhan, sanLuong);
                        if (congthuc != null)
                        {
                            congthucstring = congthuc.CongThuc;
                        }
                        try
                        {
                            // lấy công chuẩn
                            double congchuan = new ThietLapCaTheoBoPhanController().GetCongChuan(maBoPhan);
                            congthucstring = congthucstring.Replace("Luong", luong.ToString())
                                             .Replace("CongChuan", congchuan.ToString())
                                             .Replace("SanPhamChinh", chamCong.SanPhamChinh.ToString())
                                             .Replace("SanPhamPhu", chamCong.SanPhamPhu.ToString())
                                             .Replace("TongGio", chamCong.SoGioCaTo.ToString())
                                             .Replace("SoGioDangKy", chamCong.SoGioDangKy.ToString())
                                             .Replace("SoGioLamViec", chamCong.SoGioLamViec.ToString())
                                             .Replace("TrongSo", congthuc.TrongSo.ToString())
                                             .Replace(",", ".")
                                             .Replace("/0", "/1");
                            string value = new DataTable().Compute(congthucstring, null).ToString();
                            chamCong.LuongSanPham = Math.Round(decimal.Parse(value), 0);
                        }
                        catch (Exception)
                        {
                            chamCong.LuongSanPham = 0;
                        }
                        DAL.ChamCongKhoanAustfeed temp = controller.GetByMaCanBoAndDay(chamCong.MaCB, ngay, thang, nam);
                        if (temp == null)
                        {
                            controller.Insert(chamCong);
                        }
                        else
                        {
                            controller.Update(chamCong);
                        }
                    }
                }
                catch (Exception ex)
                {
                    file = new FileInfo(saveLocation);
                    if (file.Exists)
                    {
                        file.Delete();
                    }
                }
            }
            file = new FileInfo(saveLocation);
            if (file.Exists)
            {
                file.Delete();
            }
            Dialog.ShowNotification("Nhập dữ liệu thành công");
            GridPanel1.Reload();
            wdNhapTuExcel.Hide();
        }
        catch (Exception ex)
        {
            Dialog.ShowError(ex.Message);
        }
    }