public ActionResult SuaCanBo_Submit(String iID_MaBangLuongChiTiet, String ParentID) { Boolean CoCapNhapDuLieu = true; String MaND = User.Identity.Name; String IPSua = Request.UserHostAddress; DataTable dtChiTiet = LuongModels.Get_ChiTietBangLuongChiTiet(iID_MaBangLuongChiTiet); DataTable dtPhuCap = BangLuongChiTietModels.Get_DataTable_PhuCap("", "", "", iID_MaBangLuongChiTiet); int iNamBangLuong = Convert.ToInt32(dtChiTiet.Rows[0]["iNamBangLuong"]); int iThangBangLuong = Convert.ToInt32(dtChiTiet.Rows[0]["iThangBangLuong"]); string iID_MaCanBo = Convert.ToString(dtChiTiet.Rows[0]["iID_MaCanBo"]); //<-- Cập nhập bảng lương chi tiết Bang bangChiTiet = new Bang("L_BangLuongChiTiet"); bangChiTiet.MaNguoiDungSua = User.Identity.Name; bangChiTiet.IPSua = Request.UserHostAddress; NameValueCollection arrLoi = bangChiTiet.TruyenGiaTri(ParentID, Request.Form); bangChiTiet.GiaTriKhoa = iID_MaBangLuongChiTiet; bangChiTiet.DuLieuMoi = false; BangLuongChiTietModels.DieuChinhLaiBangTruocKhiGhi(bangChiTiet, iNamBangLuong, iThangBangLuong); if (CanBo_HoSoNhanSuModels.KiemTraDuocPhepSuaNhanhCanBo(ParentID, iID_MaCanBo, Request.Form, ref arrLoi)==false) { //Nếu tham số sửa sai thì sẽ báo lỗi for (int i = 0; i <= arrLoi.Count - 1; i++) { ModelState.AddModelError(ParentID + "_" + arrLoi.GetKey(i), arrLoi[i]); } NameValueCollection dataLoi = new NameValueCollection(); dataLoi.Add(Request.Form); ViewData["data"] = dataLoi; return View(sViewPath + "Dialogs/Luong_ThemSuaCanBo_Dialog.aspx"); } //<--Điền thông tin từ bảng Bậc lương String iID_MaNgachLuong = Convert.ToString(bangChiTiet.CmdParams.Parameters["@iID_MaNgachLuong_CanBo"].Value); String iID_MaBacLuong = Convert.ToString(bangChiTiet.CmdParams.Parameters["@iID_MaBacLuong_CanBo"].Value); DataTable dtBacLuong = LuongModels.Get_ChiTietDanhMucBacLuong(iID_MaNgachLuong, iID_MaBacLuong); Double rHeSoLuong = Convert.ToDouble(dtBacLuong.Rows[0]["rHeSoLuong"]); Double rHeSo_ANQP = Convert.ToDouble(dtBacLuong.Rows[0]["rHeSo_ANQP"]); Object rLuongCoBan_HeSo_CanBo_Cu = 0; if (rHeSoLuong > 0) { rLuongCoBan_HeSo_CanBo_Cu = CommonFunction.ThemGiaTriVaoThamSo(bangChiTiet.CmdParams.Parameters, "@rLuongCoBan_HeSo_CanBo", rHeSoLuong); } Object rPhuCap_AnNinhQuocPhong_HeSo_Cu = CommonFunction.ThemGiaTriVaoThamSo(bangChiTiet.CmdParams.Parameters, "@rPhuCap_AnNinhQuocPhong_HeSo", rHeSo_ANQP); dtBacLuong.Dispose(); //-->Điền thông tin từ bảng Bậc lương bangChiTiet.Save(); // END: Cập nhập bảng lương chi tiết --> //Thay đổi các hệ số phụ cấp của các phụ cấp ẩn: Chức vụ, thâm niên... BangCSDL bangCSDL = new BangCSDL("L_BangLuongChiTiet"); List<String> arrDSMaCot = bangCSDL.DanhSachTruong(); for (int i = 0; i < arrDSMaCot.Count; i++) { String TenTruong = arrDSMaCot[i]; if (TenTruong.StartsWith("rPhuCap_") && TenTruong.EndsWith("_HeSo")==false) { String sGiaTri = ""; if (TenTruong == "rPhuCap_AnNinhQuocPhong") { sGiaTri = Convert.ToString(rHeSo_ANQP); } else if (Request.Form[ParentID + "_" + TenTruong + "_HeSo"] != null) { sGiaTri = Request.Form[ParentID + "_" + TenTruong + "_HeSo"]; } if (CommonFunction.IsNumeric(sGiaTri)) { //Phải có giá trị mới thay đổi hệ số phụ cấp double rGiaTri = Convert.ToDouble(sGiaTri); SqlCommand cmd = new SqlCommand("UPDATE L_BangLuongChiTiet_PhuCap SET rHeSo=@rHeSo WHERE iID_MaBangLuongChiTiet=@iID_MaBangLuongChiTiet AND sMaTruongHeSo_BangLuong=@sMaTruongHeSo_BangLuong"); cmd.Parameters.AddWithValue("@rHeSo", rGiaTri); cmd.Parameters.AddWithValue("@iID_MaBangLuongChiTiet", iID_MaBangLuongChiTiet); cmd.Parameters.AddWithValue("@sMaTruongHeSo_BangLuong", TenTruong + "_HeSo"); Connection.UpdateDatabase(cmd, MaND, IPSua); } } } //Cập nhập bảng phụ cấp NameValueCollection data = LuongModels.LayThongTinBangLuongChiTiet(iID_MaBangLuongChiTiet); String iID_MaBangLuong = data["iID_MaBangLuong"]; String TenBangChiTiet = "L_BangLuongChiTiet_PhuCap"; string idXauMaCacHang = Request.Form["idXauMaCacHang"]; string idXauMaCacCot = Request.Form["idXauMaCacCot"]; string idXauGiaTriChiTiet = Request.Form["idXauGiaTriChiTiet"]; string idXauCacHangDaXoa = Request.Form["idXauCacHangDaXoa"]; string idXauDuLieuThayDoi = Request.Form["idXauDuLieuThayDoi"]; String[] arrMaHang = idXauMaCacHang.Split(','); String[] arrHangDaXoa = idXauCacHangDaXoa.Split(','); String[] arrMaCot = idXauMaCacCot.Split(','); String[] arrHangGiaTri = idXauGiaTriChiTiet.Split(new string[] { BangDuLieu.DauCachHang }, StringSplitOptions.None); String iID_MaBangLuongChiTiet_PhuCap; //Luu cac hang sua String[] arrHangThayDoi = idXauDuLieuThayDoi.Split(new string[] { BangDuLieu.DauCachHang }, StringSplitOptions.None); for (int i = 0; i < arrMaHang.Length; i++) { iID_MaBangLuongChiTiet_PhuCap = arrMaHang[i]; if (arrHangDaXoa[i] == "1") { //Lưu các hàng đã xóa if (iID_MaBangLuongChiTiet_PhuCap != "") { //Dữ liệu đã có Bang bang_PhuCap = new Bang(TenBangChiTiet); bang_PhuCap.DuLieuMoi = false; bang_PhuCap.GiaTriKhoa = iID_MaBangLuongChiTiet_PhuCap; bang_PhuCap.CmdParams.Parameters.AddWithValue("@iTrangThai", 0); bang_PhuCap.MaNguoiDungSua = User.Identity.Name; bang_PhuCap.IPSua = Request.UserHostAddress; bang_PhuCap.Save(); CoCapNhapDuLieu = true; } } else { String[] arrGiaTri = arrHangGiaTri[i].Split(new string[] { BangDuLieu.DauCachO }, StringSplitOptions.None); String[] arrThayDoi = arrHangThayDoi[i].Split(new string[] { BangDuLieu.DauCachO }, StringSplitOptions.None); Boolean okCoThayDoi = false; for (int j = 0; j < arrMaCot.Length; j++) { if (arrThayDoi[j] == "1") { okCoThayDoi = true; break; } } if (okCoThayDoi) { Bang bang_PhuCap = new Bang(TenBangChiTiet); if (iID_MaBangLuongChiTiet_PhuCap == "") { //Du Lieu Moi bang_PhuCap.DuLieuMoi = true; bang_PhuCap.CmdParams.Parameters.AddWithValue("@iID_MaBangLuong", iID_MaBangLuong); bang_PhuCap.CmdParams.Parameters.AddWithValue("@iID_MaBangLuongChiTiet", iID_MaBangLuongChiTiet); bang_PhuCap.CmdParams.Parameters.AddWithValue("@bLuonCo", false); //Them cac tham so tu bang L_BangLuongChiTiet bang_PhuCap.CmdParams.Parameters.AddWithValue("@iNamBangLuong", data["iNamBangLuong"]); bang_PhuCap.CmdParams.Parameters.AddWithValue("@iThangBangLuong", data["iThangBangLuong"]); bang_PhuCap.CmdParams.Parameters.AddWithValue("@iID_MaDonVi", data["iID_MaDonVi"]); } else { //Du Lieu Da Co bang_PhuCap.GiaTriKhoa = iID_MaBangLuongChiTiet_PhuCap; bang_PhuCap.DuLieuMoi = false; } bang_PhuCap.MaNguoiDungSua = User.Identity.Name; bang_PhuCap.IPSua = Request.UserHostAddress; //Them tham so for (int j = 0; j < arrMaCot.Length; j++) { if (arrThayDoi[j] == "1") { if (arrMaCot[j].EndsWith("_ConLai") == false) { String Truong = "@" + arrMaCot[j]; if (arrMaCot[j].StartsWith("b")) { //Nhap Kieu checkbox if (arrGiaTri[j] == "1") { bang_PhuCap.CmdParams.Parameters.AddWithValue(Truong, true); } else { bang_PhuCap.CmdParams.Parameters.AddWithValue(Truong, false); } } else if (arrMaCot[j].StartsWith("r") || (arrMaCot[j].StartsWith("i") && arrMaCot[j].StartsWith("iID") == false)) { //Nhap Kieu so if (CommonFunction.IsNumeric(arrGiaTri[j])) { bang_PhuCap.CmdParams.Parameters.AddWithValue(Truong, Convert.ToDouble(arrGiaTri[j])); } else { bang_PhuCap.CmdParams.Parameters.AddWithValue(Truong, 0); } } else { //Nhap kieu xau bang_PhuCap.CmdParams.Parameters.AddWithValue(Truong, arrGiaTri[j]); } } } } bang_PhuCap.Save(); CoCapNhapDuLieu = true; } } } if (CoCapNhapDuLieu) { BangLuongChiTiet_CaNhanModels.CapNhapBangLuongChiTiet(iID_MaBangLuongChiTiet, User.Identity.Name, Request.UserHostAddress, dtChiTiet.Rows[0], dtPhuCap); } string idAction = Request.Form["idAction"]; if (idAction == "3") { String iID_MaBangLuongChiTiet_Tiep = BangLuongChiTietModels.Lay_iID_MaBangLuongChiTiet_Tiep(iID_MaBangLuong, iID_MaBangLuongChiTiet); if (iID_MaBangLuongChiTiet_Tiep != "") { return RedirectToAction("ThemCanBo", new { iID_MaBangLuong = iID_MaBangLuong, iID_MaBangLuongChiTiet = iID_MaBangLuongChiTiet_Tiep }); } } return RedirectToAction("ThemCanBo", new { iID_MaBangLuong = iID_MaBangLuong, iID_MaBangLuongChiTiet = iID_MaBangLuongChiTiet, Saved = 1 }); }
/// <summary> /// Hàm thêm các cột thêm của bảng /// </summary> protected void CapNhapDanhSachMaCot_Them() { BangCSDL bangCSDL = new BangCSDL("L_BangLuongChiTiet"); List<String> arrDSTruong_Full = bangCSDL.DanhSachTruong(); //int csMin = arrDSTruong_Full.IndexOf("iThangLamViec"); int csMax = arrDSTruong_Full.IndexOf("iSTT"); for (int j = 0; j < csMax; j++) { Boolean okThem = true; for (int i = 0; okThem && i < _arrDSTruong_Fixed.Length; i++) { if (_arrDSTruong_Fixed[i] == arrDSTruong_Full[j]) { okThem = false; break; } } for (int i = 0; okThem && i < _arrDSTruong_Slide.Length; i++) { if (_arrDSTruong_Slide[i] == arrDSTruong_Full[j]) { okThem = false; break; } } if (okThem) { _arrDSMaCot.Add(arrDSTruong_Full[j]); _arrTieuDe.Add(arrDSTruong_Full[j]); _arrWidth.Add(0); _arrHienThiCot.Add(false); _arrSoCotCungNhom.Add(1); _arrTieuDeNhomCot.Add(""); } } }