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(); } }
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) { } }
/// <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) { } }
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(); } }
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); } }