public void InsertBanGhiLuongNhanVien(DTO_BANG_LUONG_V2 ip_dto_bang_luong) { ip_dto_bang_luong.ID_NHAN_VIEN = ExecuteFuntion.LayNhanVienID(ip_dto_bang_luong.MA_NV); US_RPT_LUONG_V2 v_us_rpt_luong_v2 = transfer_dto_2_us_object(ip_dto_bang_luong); DataRow v_dr_thong_tin_tong_hop_nv = get_thong_tin_tong_hop_1_nhan_vien_v2(ip_dto_bang_luong.MA_NV, ip_dto_bang_luong.THANG, ip_dto_bang_luong.NAM); US_RPT_THONG_TIN_TONG_HOP_V2 v_us_rpt_tong_hop_v2 = DataRow2USThongTinTongHopV2(v_dr_thong_tin_tong_hop_nv); v_us_rpt_luong_v2.BeginTransaction(); v_us_rpt_luong_v2.Insert(); v_us_rpt_tong_hop_v2.UseTransOfUSObject(v_us_rpt_luong_v2); v_us_rpt_tong_hop_v2.XoaDuLieuTongHopNhanVien(ip_dto_bang_luong.ID_NHAN_VIEN, ip_dto_bang_luong.THANG, ip_dto_bang_luong.NAM); v_us_rpt_tong_hop_v2.Insert(); v_us_rpt_luong_v2.CommitTransaction(); }
public bool KiemTraNhanVienCoTrongBangLuongChua(DTO_BANG_LUONG_V2 ip_dto_bang_luong) { return ExecuteFuntion.KiemTraNhanVienCoTrongBangLuongChua(ip_dto_bang_luong.MA_NV, ip_dto_bang_luong.THANG, ip_dto_bang_luong.NAM); }
private DTO_BANG_LUONG_V2 transfer_data_row_db_luong_2_object(DataRow ip_dr_luong, decimal ip_dc_thang, decimal ip_dc_nam) { DTO_BANG_LUONG_V2 v_dto_luong = new DTO_BANG_LUONG_V2(); v_dto_luong.ID_NHAN_VIEN = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.ID_NHAN_VIEN]); v_dto_luong.THANG = ip_dc_thang; v_dto_luong.NAM = ip_dc_nam; v_dto_luong.MA_NV = ip_dr_luong[RPT_LUONG_V2.MA_NV].ToString(); v_dto_luong.HO_TEN = ip_dr_luong[RPT_LUONG_V2.HO_TEN].ToString(); v_dto_luong.TEN_CHUC_VU = ip_dr_luong[RPT_LUONG_V2.TEN_CHUC_VU].ToString(); v_dto_luong.THU_TU_CHUC_VU = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THU_TU_CHUC_VU]); v_dto_luong.TEN_DON_VI = ip_dr_luong[RPT_LUONG_V2.TEN_DON_VI].ToString(); v_dto_luong.THU_TU_DON_VI = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THU_TU_DON_VI]); v_dto_luong.LUONG_NS = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.LUONG_NS]); v_dto_luong.LUONG_CD = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.LUONG_CD]); v_dto_luong.PHU_CAP_TN = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.PHU_CAP_TN]); v_dto_luong.AN_CA = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.AN_CA]); v_dto_luong.LAM_THEM = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.LAM_THEM]); v_dto_luong.LAM_THEM_200 = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.LAM_THEM_200]); v_dto_luong.LAM_THEM_300 = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.LAM_THEM_300]); v_dto_luong.THU_NHAP_KHAC_TRONG_LUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THU_NHAP_KHAC_TRONG_LUONG]); v_dto_luong.TONG_THU_NHAP_TRONG_LUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.TONG_THU_NHAP_TRONG_LUONG]); v_dto_luong.THUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THUONG]); v_dto_luong.THUONG_ATHK = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THUONG_ATHK]); v_dto_luong.BO_SUNG_LUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.BO_SUNG_LUONG]); v_dto_luong.THUONG_LE_TET = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THUONG_LE_TET]); v_dto_luong.THU_NHAP_KHAC_NGOAI_LUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THU_NHAP_KHAC_NGOAI_LUONG]); v_dto_luong.TONG_THU_NHAP_NGOAI_LUONG = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.TONG_THU_NHAP_NGOAI_LUONG]); v_dto_luong.TONG_THU_NHAP = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.TONG_THU_NHAP]); v_dto_luong.TONG_THU_NHAP_CHIU_THUE = v_dto_luong.TONG_THU_NHAP - v_dto_luong.AN_CA; v_dto_luong.BHXH = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.BHXH]); v_dto_luong.BHYT = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.BHYT]); v_dto_luong.BHTN = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.BHTN]); v_dto_luong.GIAM_TRU_LAM_THEM_150 = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_LAM_THEM_150]); v_dto_luong.GIAM_TRU_LAM_THEM_200 = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_LAM_THEM_200]); v_dto_luong.GIAM_TRU_LAM_THEM_300 = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_LAM_THEM_300]); v_dto_luong.GIAM_TRU_GIA_CANH = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_GIA_CANH]); v_dto_luong.GIAM_TRU_PHU_THUOC = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_PHU_THUOC]); v_dto_luong.GIAM_TRU_KHAC = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.GIAM_TRU_KHAC]); v_dto_luong.TONG_GIAM_TRU = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.TONG_GIAM_TRU]); v_dto_luong.TONG_GIAM_TRU_THUE = v_dto_luong.TONG_GIAM_TRU - v_dto_luong.AN_CA; v_dto_luong.THU_NHAP_TINH_THUE = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THU_NHAP_CHIU_THUE]); v_dto_luong.DOAN_PHI_CD = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.DOAN_PHI_CD]); v_dto_luong.THUE = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THUE]); v_dto_luong.PHAI_NOP_KHAC = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.PHAI_NOP_KHAC]); v_dto_luong.TONG_PHAI_NOP = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.TONG_PHAI_NOP]); v_dto_luong.THUC_LINH = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.THUC_LINH]); v_dto_luong.SO_TIEN_DA_NOP_THUE = Convert.ToDecimal(ip_dr_luong[RPT_LUONG_V2.SO_TIEN_DA_NOP_THUE]); return v_dto_luong; }
private US_RPT_LUONG_V2 transfer_dto_2_us_object(DTO_BANG_LUONG_V2 ip_dto_luong) { US_RPT_LUONG_V2 v_us_luong_v2 = new US_RPT_LUONG_V2(); v_us_luong_v2.dcID_NHAN_VIEN = ExecuteFuntion.LayNhanVienID(ip_dto_luong.MA_NV); v_us_luong_v2.dcTHANG = ip_dto_luong.THANG; v_us_luong_v2.dcNAM = ip_dto_luong.NAM; v_us_luong_v2.strMA_NV = ip_dto_luong.MA_NV; v_us_luong_v2.dcLUONG_NS = ip_dto_luong.LUONG_NS; v_us_luong_v2.dcLUONG_CD = ip_dto_luong.LUONG_CD; v_us_luong_v2.dcPHU_CAP_TN = ip_dto_luong.PHU_CAP_TN; v_us_luong_v2.dcAN_CA = ip_dto_luong.AN_CA; v_us_luong_v2.dcLAM_THEM = ip_dto_luong.LAM_THEM; v_us_luong_v2.dcGIAM_TRU_LAM_THEM_200 = ip_dto_luong.LAM_THEM_200; v_us_luong_v2.dcGIAM_TRU_LAM_THEM_300 = ip_dto_luong.LAM_THEM_300; v_us_luong_v2.dcTHU_NHAP_KHAC_TRONG_LUONG = ip_dto_luong.THU_NHAP_KHAC_TRONG_LUONG; v_us_luong_v2.dcTONG_THU_NHAP_TRONG_LUONG = ip_dto_luong.TONG_THU_NHAP_TRONG_LUONG; v_us_luong_v2.dcTHUONG = ip_dto_luong.THUONG; v_us_luong_v2.dcTHUONG_ATHK = ip_dto_luong.THUONG_ATHK; v_us_luong_v2.dcBO_SUNG_LUONG = ip_dto_luong.BO_SUNG_LUONG; v_us_luong_v2.dcTHUONG_LE_TET = ip_dto_luong.THUONG_LE_TET; v_us_luong_v2.dcTHU_NHAP_KHAC_NGOAI_LUONG = ip_dto_luong.THU_NHAP_KHAC_NGOAI_LUONG; v_us_luong_v2.dcTONG_THU_NHAP_NGOAI_LUONG = ip_dto_luong.TONG_THU_NHAP_NGOAI_LUONG; v_us_luong_v2.dcTONG_THU_NHAP = ip_dto_luong.TONG_THU_NHAP; v_us_luong_v2.dcBHXH = ip_dto_luong.BHXH; v_us_luong_v2.dcBHYT = ip_dto_luong.BHYT; v_us_luong_v2.dcBHTN = ip_dto_luong.BHTN; v_us_luong_v2.dcGIAM_TRU_LAM_THEM_150 = ip_dto_luong.GIAM_TRU_LAM_THEM_150; v_us_luong_v2.dcGIAM_TRU_LAM_THEM_200 = ip_dto_luong.GIAM_TRU_LAM_THEM_200; v_us_luong_v2.dcGIAM_TRU_LAM_THEM_300 = ip_dto_luong.GIAM_TRU_LAM_THEM_300; v_us_luong_v2.dcGIAM_TRU_GIA_CANH = ip_dto_luong.GIAM_TRU_GIA_CANH; v_us_luong_v2.dcGIAM_TRU_PHU_THUOC = ip_dto_luong.GIAM_TRU_PHU_THUOC; v_us_luong_v2.dcGIAM_TRU_KHAC = ip_dto_luong.GIAM_TRU_KHAC; v_us_luong_v2.dcTONG_GIAM_TRU = ip_dto_luong.TONG_GIAM_TRU; v_us_luong_v2.dcTHU_NHAP_CHIU_THUE = ip_dto_luong.THU_NHAP_TINH_THUE; v_us_luong_v2.dcDOAN_PHI_CD = ip_dto_luong.DOAN_PHI_CD; v_us_luong_v2.dcTHUE = ip_dto_luong.THUE; v_us_luong_v2.dcPHAI_NOP_KHAC = ip_dto_luong.PHAI_NOP_KHAC; v_us_luong_v2.dcTONG_PHAI_NOP = ip_dto_luong.TONG_PHAI_NOP; v_us_luong_v2.dcTHUC_LINH = ip_dto_luong.THUC_LINH; v_us_luong_v2.dcSO_TIEN_DA_NOP_THUE = ip_dto_luong.SO_TIEN_DA_NOP_THUE; return v_us_luong_v2; }
private void save_data(ENUM_CONFIRM_LUU_BANG_LUONG ip_confirm_save) { SplashScreenManager.ShowForm(this, typeof(SplashScreen1), true, true, false); string v_str_msg = ""; try { if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.NONE) { XtraMessageBox.Show("Bạn đã hủy thao tác!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if(!kiem_tra_du_lieu_nhan_vien_truoc_khi_luu()) { var v_dc_so_nv_khong_co_trong_csdl = m_lst_nhan_vien_khong_ton_tai.Count; XtraMessageBox.Show("Có " + v_dc_so_nv_khong_co_trong_csdl + " mã nhân viên không có trong phần mềm. Bạn lưu danh sách vào nhé!"); xuat_excel_nhan_vien_chua_co_trong_csdl(); return; } //US_RPT_LUONG_V2 v_us_rpt_luong_v2 = new US_RPT_LUONG_V2(); DTO_BANG_LUONG_V2 v_dto_bang_luong_v2 = new DTO_BANG_LUONG_V2(); var v_i_row_count = m_grv_main.RowCount; if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.NONE) { XtraMessageBox.Show("Bảng lương chưa được lưu!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.TINH_LAI_TOAN_BO) { TinhLuongQL.Instance.XoaToanBoBangLuong(lay_thang(), lay_nam()); } int v_i_so_luong_ghi_moi = 0; int v_i_so_luong_ghi_de = 0; for(int v_i_row = 0; v_i_row < v_i_row_count; v_i_row++) { v_dto_bang_luong_v2 = (DTO_BANG_LUONG_V2)m_grv_main.GetRow(v_i_row); //v_us_rpt_luong_v2 = transfer_dto_2_us_object(v_dto_bang_luong_v2); var v_bol_nv_co_trong_bang_luong_chua = TinhLuongQL.Instance.KiemTraNhanVienCoTrongBangLuongChua(v_dto_bang_luong_v2); switch(ip_confirm_save) { case ENUM_CONFIRM_LUU_BANG_LUONG.TINH_LAI_TOAN_BO: TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2); v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1; break; case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_GHI_MOI_DA_CO_THI_KHONG_LAM_GI: if(!v_bol_nv_co_trong_bang_luong_chua) { TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2); v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1; } break; case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_GHI_MOI_DA_CO_THI_GHI_DE: if(!v_bol_nv_co_trong_bang_luong_chua) { TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2); v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1; } else { TinhLuongQL.Instance.ReplaceBanGhiLuongNhanVien(v_dto_bang_luong_v2); v_i_so_luong_ghi_de = v_i_so_luong_ghi_de + 1; } break; case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_KHONG_LAM_GI_DA_CO_THI_GHI_DE: if(v_bol_nv_co_trong_bang_luong_chua) { TinhLuongQL.Instance.ReplaceBanGhiLuongNhanVien(v_dto_bang_luong_v2); v_i_so_luong_ghi_de = v_i_so_luong_ghi_de + 1; } break; default: throw new Exception("Chưa gán giá trị cho ENUM_CONFIRM_LUU_BANG_LUONG!"); } //m_prb.EditValue = (int)((decimal)v_i_row / (decimal)v_i_row_count * 100); SplashScreenManager.Default.SendCommand(SplashScreen1.SplashScreenCommand.SetProgress, (int)((decimal)v_i_row / (decimal)v_i_row_count * 100)); //progressBarControl1.EditValue = (int)((decimal)v_i_row / (decimal)v_i_row_count * 100); } v_str_msg = "Lưu dữ liệu lương thành công. Có " + v_i_so_luong_ghi_moi + " bản ghi lương nhân viên mới, có " + v_i_so_luong_ghi_de + " bản ghi lương nhân viên ghi đè!"; } catch(Exception) { throw; } finally { SplashScreenManager.CloseForm(false); } XtraMessageBox.Show(v_str_msg, "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Information); hien_thi_thong_tin_bang_luong(); }