/// <summary> /// xử lý trừ tạm ứng với bảng lương đã khóa hoặc mở khóa /// trangthai=true: chuyển từ chưa khóa sang đã khóa. /// trạng thái = false: chuyển từ đã khóa sang chưa khóa. /// </summary> /// <param name="id"></param> /// <param name="trangthai"></param> public void XuLyTruTamUng(int id, bool trangthai) { var hsc = new HoSoController(); foreach (var item in dataContext.BangThanhToanLuongs.Where(p => p.IdBangLuong == id && p.TamUng > 0).ToList()) { decimal prkeyhoso = hsc.TraVePRKEYbyMaCB(item.MaCB); string tencanbo = hsc.TraVeTenByMaCB(item.MaCB); decimal sotien = (decimal)item.TamUng; if (trangthai) { foreach (var itemtamung in dataContext.BangTamUngs.Where(p => p.PrKeyHoSo == prkeyhoso && (p.SoTien - p.SoTienDaTra > 0)).OrderBy(p => p.NgayTamUng).ToList()) { if (sotien > 0) { if (sotien >= (itemtamung.SoTien - itemtamung.SoTienDaTra)) { sotien -= (itemtamung.SoTien - itemtamung.SoTienDaTra); itemtamung.SoTienDaTra = itemtamung.SoTien; } else { itemtamung.SoTienDaTra += sotien; sotien = 0; } } } } else { foreach (var itemtamung in dataContext.BangTamUngs.Where(p => p.PrKeyHoSo == prkeyhoso && p.SoTienDaTra > 0).OrderBy(p => p.NgayTamUng).ToList()) { if (sotien > 0) { if (sotien >= itemtamung.SoTienDaTra) { sotien -= itemtamung.SoTienDaTra; itemtamung.SoTienDaTra = 0; } else { itemtamung.SoTienDaTra -= sotien; sotien = 0; } } } } } Save(); }
public string CheckKhoaSoDuTamUng(int id) { string loi = ""; var hsc = new HoSoController(); foreach (var item in dataContext.BangThanhToanLuongs.Where(p => p.IdBangLuong == id && p.TamUng > 0).ToList()) { decimal prkeyhoso = hsc.TraVePRKEYbyMaCB(item.MaCB); string tencanbo = hsc.TraVeTenByMaCB(item.MaCB); decimal sotien = (decimal)item.TamUng; decimal sotiencanhoanung = dataContext.BangTamUngs.Where(p => p.PrKeyHoSo == prkeyhoso && (p.SoTien - p.SoTienDaTra > 0)).ToList().Count > 0 ? dataContext.BangTamUngs.Where(p => p.PrKeyHoSo == prkeyhoso && (p.SoTien - p.SoTienDaTra > 0)).Sum(p => p.SoTien - p.SoTienDaTra) : 0; if (sotien > sotiencanhoanung) { loi += "Cán bộ: " + tencanbo + " Số tiền trên cột tạm ứng: " + sotien.ToString() + " Tổng tiền cần hoàn ứng: " + sotiencanhoanung.ToString() + "<br/>"; } } return(loi); }