public static void XacNhanCa(int maCc, DateTime timevao, int machineNoInn, string sourceInn, DateTime timeraa, int machineNoOut, string sourceOut, int ShiftID, string shiftCode, bool bDuyetCpTre, bool bDuyetCpSom, int soPhutLamThem, string lydo, string ghichu, out int idXacNhan, bool vaoTreLaCV, bool raaSomLaCV) { // insert vào bảng xác nhận trước để lấy id var queryInsXNCa = @" INSERT INTO XNCa_LamThem(ShiftID,ShiftCode,DuyetChoPhepVaoTre, DuyetChoPhepRaSom, OTMin, Explain, Note, VaoTreLaCV, RaSomLaCV) VALUES (@ShiftID,@ShiftCode,@DuyetChoPhepVaoTre,@DuyetChoPhepRaSom,@OTMin,@Explain,@Note,@VaoTreLaCV, @RaSomLaCV) select ID = @@Identity" ;//ver 4.0.0.4 VaoTreLaCV, RaSomLaCV DataTable tableKQ1 = SqlDataAccessHelper.ExecuteQueryString( queryInsXNCa, new string[] { "@ShiftID", "@ShiftCode", "@DuyetChoPhepVaoTre", "@DuyetChoPhepRaSom", "@OTMin", "@Explain", "@Note", "@VaoTreLaCV", "@RaSomLaCV" }, //ver 4.0.0.4 new object[] { ShiftID, shiftCode, bDuyetCpTre, bDuyetCpSom, soPhutLamThem, lydo, ghichu, vaoTreLaCV, raaSomLaCV }); //ver 4.0.0.4 idXacNhan = Int32.Parse(tableKQ1.Rows[0][0].ToString()); var queryUpd_CheckInOut = @" UPDATE CheckInOut SET IDXNCa_LamThem = @IDXNCa_LamThem WHERE UserEnrollNumber = @UserEnrollNumber and ( (TimeStr = @TimeStrInn and Source = @SourceInn and MachineNo = @MachineNoInn) or (TimeStr = @TimeStrOut and Source = @SourceOut and MachineNo = @MachineNoOut) )" ; int kq = SqlDataAccessHelper.ExecNoneQueryString( queryUpd_CheckInOut, new string[] { "@IDXNCa_LamThem", "@UserEnrollNumber", "@TimeStrInn", "@SourceInn", "@MachineNoInn", "@TimeStrOut", "@SourceOut", "@MachineNoOut" }, new object[] { idXacNhan, maCc, timevao, sourceInn, machineNoInn, timeraa, sourceOut, machineNoOut }); //string noidung = @"Xác nhận ca [{0}] cho NV có mã chấm công [{1}], giờ vào [{2}], giờ ra [{3}], [{4}] cho phép vào trễ, [{5}] cho phép ra sớm, làm thêm [{6}] phút, [{9}] tính vào trễ, [{10}] tính ra sớm là chờ việc(nếu có), lý do: [{7}], ghi chú: [{8}]";//ver 4.0.0.4 string noidung = @"Xác nhận ca [{0}] cho NV có mã chấm công [{1}], giờ vào [{2}], giờ ra [{3}], [{4}] cho phép vào trễ, [{5}] cho phép ra sớm, làm thêm [{6}] phút, [{7}] tính vào trễ, [{8}] tính ra sớm là chờ việc(nếu có), lý do: [{9}], ghi chú: [{10}]"; //ver 4.0.0.4 noidung = string.Format(noidung, shiftCode, maCc, timevao.ToString("H:mm:ss dd/MM/yyyy"), timeraa.ToString("H:mm:ss dd/MM/yyyy"), bDuyetCpTre ? "CÓ" : "KHÔNG", bDuyetCpSom ? "CÓ" : "KHÔNG", soPhutLamThem, vaoTreLaCV ? "CÓ" : "KHÔNG", raaSomLaCV ? "CÓ" : "KHÔNG", lydo, ghichu); //ver 4.0.0.4 VaoTreLaCV, RaSomLaCV DAO5.GhiNhatKyThaotac("Xác nhận ca", noidung, maCC: maCc); }
public static bool ThemNgayVang(int MaCC, DateTime ngayVang, float workingDay, float workingTime, string absentCode) { #region query var queryIns = @" IF EXISTS ( SELECT ID FROM Absent WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate and WorkingTime = 4 and WorkingTime = @WorkingTime ) UPDATE Absent SET Workingday = @NewWorkingday, WorkingTime = @NewWorkingTime WHERE UserEnrollNumber = @UserEnrollNumber and AbsentCode=@AbsentCode and TimeDate=@TimeDate and WorkingTime = 4 and WorkingTime = @WorkingTime ELSE INSERT INTO Absent (UserEnrollNumber, TimeDate, AbsentCode, Thang, Nam, Workingday, WorkingTime) VALUES (@UserEnrollNumber, @TimeDate, @AbsentCode,@Thang,@Nam,@Workingday,@WorkingTime) "; #endregion //info ghép 2 cái nửa thành 1 int kq = SqlDataAccessHelper.ExecNoneQueryString( queryIns, new string[] { "@UserEnrollNumber", "@TimeDate", "@AbsentCode", "@Thang", "@Nam", "@Workingday", "@WorkingTime", "@NewWorkingday", "@NewWorkingTime", }, new object[] { MaCC, ngayVang, absentCode, ngayVang.Month, ngayVang.Year, workingDay, workingTime, 1f, 8f }); string noidung = "Thêm xin phép vắng [{0}] [{1}] ngày [{2}] cho NV có mã chấm công [{3}]"; DAO5.GhiNhatKyThaotac("Thêm xin phép vắng", string.Format(noidung, absentCode, workingDay.ToString("0.0"), (ngayVang).ToString("dd/MM/yyyy"), MaCC), maCC: MaCC); return(true); }
public static int DeleteTinhPCDB(int macc, DateTime ngay) { var query = @" delete from XacNhanPC where Ngay = @Ngay and UserEnrollNumber = @UserEnrollNumber"; var n = SqlDataAccessHelper.ExecNoneQueryString(query, new string[] { "@Ngay", "@UserEnrollNumber" }, new object[] { ngay, macc }); string noidung = "Xác nhận [{0}] tính phụ cấp làm việc ngày nghỉ, trực lễ, tết ngày [{1}] cho NV có mã chấm công [{2}]"; noidung = string.Format(noidung, "HUỶ", ngay.ToString("dd/MM/yyyy"), macc.ToString()); DAO5.GhiNhatKyThaotac("Xác nhận phụ cấp làm việc ngày nghỉ, trực lễ, tết", noidung, maCC: macc); return(n); }
public static bool SuaGioChoNV(int UserEnrollNumber, DateTime GioCuu, DateTime GioMoi, string SourceOld, string SourceNew, int MachineNoOld, int MachineNoNew, int idgiogoc, string Lydo, string Ghichu) { var kq = 0; var query = String.Empty; if (idgiogoc != -1) { query = @" update CheckInOut set TimeStr = @TimeStrNew, TimeDate = @TimeDateNew, Source = @SourceNew, MachineNo = @MachineNoNew where UserEnrollNumber = @UserEnrollNumber and TimeStr = @TimeStrOld and (MachineNo % 2 = @MachineNoOld % 2) " ; } else { query = @" declare @ID int insert into GioGoc (TimeStr, MachineNo, Source) values (@TimeStrOld, @MachineNoOld, @SourceOld) select @ID = @@Identity update CheckInOut set TimeStr = @TimeStrNew, TimeDate = @TimeDateNew, Source = @SourceNew, MachineNo = @MachineNoNew, IDGioGoc = @ID where UserEnrollNumber = @UserEnrollNumber and TimeStr = @TimeStrOld and (MachineNo % 2 = @MachineNoOld % 2) " ; } kq = SqlDataAccessHelper.ExecNoneQueryString(query , new string[] { "@UserEnrollNumber", "@TimeStrOld", "@TimeStrNew", "@TimeDateNew" , "@SourceOld", "@SourceNew", "@MachineNoOld", "@MachineNoNew" , "@Explain", "@Note", "@CommandType" } , new object[] { UserEnrollNumber, GioCuu, GioMoi, GioMoi.Date , SourceOld, SourceNew, MachineNoOld, MachineNoNew , Lydo, Ghichu, 0 }); string kieugiogoc = MachineNoOld % 2 == 1 ? "VÀO" : "RA"; string kieugiomoi = MachineNoNew % 2 == 1 ? "VÀO" : "RA"; string noidung = @"Sửa giờ [{0}] [{2}] sang giờ [{10}] [{3}] của NV có mã chấm công [{1}], nguồn gốc [{4}], nguồn mới [{5}], máy gốc [{6}], máy mới [{7}], lý do [{8}], ghi chú [{9}]"; noidung = string.Format(noidung, kieugiogoc, UserEnrollNumber, GioCuu.ToString("H:mm:ss dd/MM/yyyy"), GioMoi.ToString("H:mm:ss dd/MM/yyyy"), SourceOld, SourceNew, MachineNoOld, MachineNoNew, Lydo, Ghichu, kieugiomoi); DAO5.GhiNhatKyThaotac("Sửa giờ chấm công", noidung, maCC: UserEnrollNumber); if (kq == 0) { return(false); } return(true); }
public static int CheckTinhPC50(int macc, DateTime ngay, bool giatri) { var query = @" update XacNhanPC50 set TinhPC50 = @giatri where Ngay = @Ngay and UserEnrollNumber = @UserEnrollNumber if @@ROWCOUNT=0 insert into XacNhanPC50 (UserEnrollNumber, Ngay,TinhPC50) values (@UserEnrollNumber, @Ngay,@giatri)" ; var n = SqlDataAccessHelper.ExecNoneQueryString(query, new string[] { "@giatri", "@Ngay", "@UserEnrollNumber" }, new object[] { giatri, ngay, macc }); string noidung = "Xác nhận [{0}] tính phụ cấp tăng cường ngày [{1}] cho NV có mã chấm công [{2}]"; noidung = string.Format(noidung, giatri ? "CÓ" : "KHÔNG", ngay.ToString("dd/MM/yyyy"), macc); DAO5.GhiNhatKyThaotac("Xác nhận phụ cấp tăng cường", noidung, maCC: macc); return(n); }
public static int UpdIns_TinhPCDB(int macc, DateTime ngay, int loai, int pcngay, int pcdem, string noidungLog) { var query = @" update XacNhanPC set LoaiPC = @loai, Duyet = 1 where Ngay = @Ngay and UserEnrollNumber = @UserEnrollNumber if @@ROWCOUNT=0 insert into XacNhanPC (UserEnrollNumber, Ngay,LoaiPC,PCNgay, PCDem,Duyet) values (@UserEnrollNumber, @Ngay,@loai,@PCNgay, @PCDem,1)"; var n = SqlDataAccessHelper.ExecNoneQueryString(query, new string[] { "@loai", "@Ngay", "@UserEnrollNumber", "@PCNgay", "@PCDem" }, new object[] { loai, ngay, macc, pcngay, pcdem }); string noidung = "Xác nhận [{0}] tính phụ cấp {1} ngày [{2}] cho NV có mã chấm công [{3}]"; noidung = string.Format(noidung, "CÓ", noidungLog, ngay.ToString("dd/MM/yyyy"), macc); DAO5.GhiNhatKyThaotac("Xác nhận phụ cấp làm việc ngày nghỉ, trực lễ, tết", noidung, maCC: macc); return(n); }
public static bool XoaNgayVangNV(List <DataRowView> arrRecord) { var query = @"DELETE FROM Absent WHERE ID = {0}"; var formatStr2 = "Xóa khai báo vắng [{0}] [{1}] ngày ngày [{2}] của NV có mã chấm công [{3}]"; //query = String.Format(query, String.Join(" or ID = ", arrRecord)); foreach (var rowView in arrRecord) { var id = (int)rowView["ID"]; var absentCode = rowView["AbsentCode"].ToString(); var wkday = (float)rowView["Workingday"]; var ngay = (DateTime)rowView["TimeDate"]; var macc = (int)rowView["UserEnrollNumber"]; SqlDataAccessHelper.ExecNoneQueryString(string.Format(query, id), null, null); DAO5.GhiNhatKyThaotac("Xóa khai báo vắng", noidung: string.Format(formatStr2, absentCode, wkday.ToString("0.0"), ngay.ToString("H:mm:ss dd/MM/yyyy"), macc), maCC: macc); } return(true); }
public static int UpdIns_ThuChiNVCongNhat(DateTime thang, int userEnrollNumber, int idPhong, string tenPhong, DateTime ngayBd, DateTime ngayKt, int donGiaLuong, double tamUng, bool LaNVChinhThuc) { string noidung = "Lưu ngày làm việc công nhật của NV có mã chấm công [{0}] bắt đầu làm từ ngày [{1}] đến hết ngày [{2}], loại NV [{3}]"; noidung = string.Format(noidung, userEnrollNumber, ngayBd.ToString("dd/MM/yyyy"), ngayKt.ToString("dd/MM/yyyy"), LaNVChinhThuc ? "vừa tính lương chính thức vừa tính lương công nhật" : "làm việc công nhật"); DAO5.GhiNhatKyThaotac("Lưu thông tin làm việc công nhật", noidung, maCC: userEnrollNumber); var query = @" update DSNVChiCongNhatThang set IDPhong=@IDPhong, TenPhong=@TenPhong, NgayBatDau=@NgayBatDau, NgayKetThuc=@NgayKetThuc,DonGiaLuong= @DonGiaLuong, TamUng = @TamUng, NVChinhThuc = @NVChinhThuc where UserEnrollNumber = @UserEnrollNumber and Thang=@Thang if @@RowCount = 0 insert into DSNVChiCongNhatThang(Thang, UserEnrollNumber, IDPhong, TenPhong, NgayBatDau, NgayKetThuc, SoNgayCong, DonGiaLuong, TamUng, NVChinhThuc) values (@Thang, @UserEnrollNumber, @IDPhong, @TenPhong, @NgayBatDau, @NgayKetThuc, @SoNgayCong, @DonGiaLuong, @TamUng, @NVChinhThuc) "; return(SqlDataAccessHelper.ExecNoneQueryString(query, new string[] { "@Thang", "@UserEnrollNumber", "@IDPhong", "@TenPhong", "@NgayBatDau", "@NgayKetThuc", "@SoNgayCong", "@DonGiaLuong", "@TamUng", "@NVChinhThuc" }, new object[] { thang, userEnrollNumber, idPhong, tenPhong, ngayBd, ngayKt, 0, donGiaLuong, tamUng, LaNVChinhThuc })); }
public static bool ThemGioChoNV(int UserEnrollNumber, DateTime GioMoi, string pKieuGioMoi, int MachineNoNew, string pLydo, string pGhichu) { var OriginTypeNew = pKieuGioMoi; const string query = @" INSERT INTO CheckInOut (UserEnrollNumber, TimeStr, TimeDate, Source, MachineNo, OriginType, WorkCode, Them) VALUES (@UserEnrollNumber, @TimeStrNew, @TimeDateNew, @SourceNew, @MachineNoNew, @OriginTypeNew, 0, 1) " ; int kq = SqlDataAccessHelper.ExecNoneQueryString(query , new string[] { "@UserEnrollNumber", "@TimeStrNew", "@TimeDateNew", "@SourceNew", "@MachineNoNew", "@OriginTypeNew" , "@Explain", "@Note", "@CommandType" } , new object[] { UserEnrollNumber, GioMoi, GioMoi.Date, "PC", MachineNoNew, OriginTypeNew , pLydo, pGhichu, 1 }); string noidung = "Thêm giờ [{0}] cho NV có mã chấm công [{1}] : giờ [{2}], lý do [{3}], ghi chú [{4}]"; noidung = string.Format(noidung, ((pKieuGioMoi == "I") ? "VÀO" : "RA"), UserEnrollNumber, GioMoi.ToString("H:mm:ss dd/MM/yyyy"), pLydo, pGhichu); DAO5.GhiNhatKyThaotac("Thêm giờ chấm công", noidung, maCC: UserEnrollNumber); if (kq == 0) { return(false); } return(true); }
public static bool XoaGioChoNV(int pUserEnrollNumber, DateTime pGioCu, string pSourceOld, int pMachineNoOld, string pLydo, string pGhichu) { const string query = @" UPDATE CheckInOut SET Xoa = 1 WHERE UserEnrollNumber = @UserEnrollNumber and TimeStr = @TimeStrOld and (MachineNo % 2 = @MachineNoOld % 2) " ; int kq = SqlDataAccessHelper.ExecNoneQueryString(query , new string[] { "@UserEnrollNumber", "@TimeStrOld", "@SourceOld", "@MachineNoOld", "@Explain", "@Note", "@CommandType" } , new object[] { pUserEnrollNumber, pGioCu, pSourceOld, pMachineNoOld, pLydo, pGhichu, -1 }); string noidung = "Xóa giờ [{0}] của NV có mã chấm công [{1}] : giờ [{2}], máy số [{3}], nguồn [{4}], lý do [{5}], ghi chú [{6}]"; noidung = string.Format(noidung, ((pMachineNoOld % 2 == 1) ? "VÀO" : "RA"), pUserEnrollNumber, pGioCu.ToString("H:mm:ss dd/MM/yyyy"), pMachineNoOld, pSourceOld, pLydo, pGhichu); DAO5.GhiNhatKyThaotac("Xóa giờ chấm công", noidung, maCC: pUserEnrollNumber); if (kq == 0) { return(false); } return(true); }