コード例 #1
0
        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);
        }
コード例 #2
0
        private void zTestForm_Load(object sender, EventArgs e)
        {
            //DataTable tableCheck = SqlDataAccessHelper.ExecuteQueryString("select * from CheckInOut ");
            //gridControl1.DataSource = tableCheck;

            BUS.BUS_ChamCong busChamCong = new BUS_ChamCong();
            busChamCong.XemCong(m_DSNV, KhoangTG);
            var result = (from cNgayCong ngayCong in m_DSNV[0].DSNgayDaCC
                          select new
            {
                m_DSNV[0].MaCC,
                ngayCong.Ngay,
                ngayCong.Tre,
                ngayCong.Som,
                ngayCong.VaoSauCa,
                ngayCong.RaTruocCa,
                LamViec = ngayCong.LamViec.ToString(@"hh\:mm"),
                LamDem = ngayCong.LamDem.ToString(@"hh\:mm"),
                ngayCong.PhuCapDem,
                DinhMuc = ngayCong.DinhMucCong,
                Tong = ngayCong.TongCong,
                ngayCong.TongPhuCap
            }).ToList();

            gridControl2.DataSource = result;
            DataTable tableCIO = SqlDataAccessHelper.ExecuteQueryString("Select * from CIO");

            gridControl1.DataSource = tableCIO;
        }
コード例 #3
0
        public static DataTable DocNgayLe(DateTime ngayBD, DateTime ngayKT)
        {
            const string query = @"	select * from Holiday where HDate >= @NgayBD and  HDate <= @NgayKT";
            var          table = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@NgayBD", "@NgayKT" }, new object[] { ngayBD, ngayKT });

            return(table);
        }
コード例 #4
0
        private void frm_KhaiBaoVang_Load(object sender, EventArgs e)
        {
            // 1. khởi tạo các biến cục bộ
            m_listIDPhongBan = new List <int>();
            DataTable tablePhong = DAL.LayDSPhong(ThamSo.currUserID);

            if (tablePhong.Rows.Count == 0)
            {
                AutoClosingMessageBox.Show("Bạn chưa được phân quyền thao tác.", "Thông báo", 2000);
                return;
            }
            //2. lấy dữ liệu phòng ban được phép thao tác  và load treePhongBan : xoá dữ liệu trước và load
            treePhongBan.Nodes.Clear();
            loadTreePhgBan(treePhongBan, tablePhong);

            // đăng ký sự kiện cho tree và chọn topNode
            treePhongBan.AfterSelect += treePhongBan_AfterSelect;
            treePhongBan.SelectedNode = treePhongBan.TopNode;


            // lấy tháng hiện tại cho dtpThang
            dtpThang.Value = currMonth;

            DataTable tableLV = SqlDataAccessHelper.ExecuteQueryString("Select * from LoaiVang");

            LoadComboLoaiVang(tableLV);
        }
コード例 #5
0
        /// <summary>
        /// Danh sách tất cả nhân viên các phòng ban mà user được phép thao tác
        /// </summary>
        /// <param name="pUserID"></param>
        /// <returns></returns>
        private DataTable GetDataDSNV(int pUserID)
        {
            DataTable kq = null;
            string    selectQueryString = "";

            try {
                kq = SqlDataAccessHelper.ExecuteQueryString(selectQueryString, new[] { "@UserID", "@IsYes" }, new object[] { pUserID, true });
            } catch (Exception ex) {
                if (ex is InvalidOperationException)
                {
                    MessageBox.Show(
                        @"Có lỗi xảy ra trong quá trình load Danh sách nhân viên.\nVui lòng liên hệ phòng Kỹ thuật để được trợ giúp!",
                        "Lỗi", MessageBoxButtons.OK);
                }
                else if (ex is System.Data.SqlClient.SqlException)
                {
                    MessageBox.Show(
                        @"Có lỗi xảy ra trong quá trình kết nối với CSDL.\nVui lòng liên hệ phòng Kỹ thuật để được trợ giúp!",
                        "Lỗi", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show(@"Lỗi: \n" + ex.ToString(), "Lỗi", MessageBoxButtons.OK);
                }
            }
            return(kq);
        }
コード例 #6
0
        void test13()
        {
            table = SqlDataAccessHelper.ExecuteQueryString("select top 100 * from CheckInOut", null, null);

            dataGridView2.DataSource          = table;
            dataGridView2.AutoGenerateColumns = false;
        }
コード例 #7
0
        public static DataTable LayBang_PH_GioGoc(int[] arrMaCC, DateTime ngayBD, DateTime ngayKT, DataTable m_Bang_PH_GioGoc)
        {
            var query = @"  SELECT		CheckInOut.UserEnrollNumber,UserFullCode,UserFullName,
										case when CheckInOut.MachineNo%2 = 1 then N'Vào'
										else N'Ra' end as CurrType,
										CheckInOut.TimeStr as CurrTimeStr,CheckInOut.MachineNo as CurrMachineNo,CheckInOut.Source as CurrSource,
										case when GioGoc.MachineNo%2 = 1 then N'Vào'
										else N'Ra' end as OrinType,
										GioGoc.TimeStr as OrinTimeStr, GioGoc.MachineNo as OrinMachineNo, GioGoc.Source as OrinSource,
										Them, GioGoc.IDGioGoc
			
							FROM	    CheckInOut, UserInfo, GioGoc
							WHERE		(CheckInOut.TimeStr between @NgayBD and @NgayKT)
										and (Xoa is null or Xoa = 0) and (IDXNCa_LamThem is null)
										and (CheckInOut.IDGioGoc = GioGoc.IDGioGoc)
										and CheckInOut.UserEnrollNumber = UserInfo.UserEnrollNumber                                        
										and ( CheckInOut.UserEnrollNumber = {0} )
							order by	IDGioGoc "                                ;


            var temp = String.Join(" or CheckInOut.UserEnrollNumber = ", arrMaCC);

            query = String.Format(query, temp);

            var kq = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@NgayBD", "@NgayKT" },
                                                            new object[] { ngayBD, ngayKT });

            return(kq);
        }
コード例 #8
0
        public static DataTable LayTableCongNhat(DateTime ngayDauThang, int[] DSNV = null)
        {
            var query = @"	select	cn.*,
									nv.UserEnrollNumber, nv.UserFullName, nv.UserFullCode,
									case when (nv.UserIDD is null or nv.UserIDD = 0) then N'--' else d.Description end as TenPhong, 
 
									nv.UserIDTitle as IDChucVu, case when (nv.UserIDTitle is null or nv.UserIDTitle = 0)  then N'Chưa SX' else TitleName end as ChucVu
									
							FROM	DSNVChiCongNhatThang cn,
									UserInfo nv left join Title t on nv.UserIDTitle = t.IDT
									left join RelationDept d on nv.UserIDD = d.ID

							where	nv.UserEnrollNumber = cn.UserEnrollNumber 
								and Thang = @Thang 
								{0}  "                                ;

            if (DSNV != null)
            {
                string joinString = string.Join(",", DSNV);
                query = string.Format(query, " AND cn.UserEnrollNumber in (" + joinString + ")");
            }
            else
            {
                query = string.Format(query, string.Empty);
            }

            return(SqlDataAccessHelper.ExecuteQueryString(query, new[] { "@Thang" }, new object[] { ngayDauThang }));
        }
コード例 #9
0
        //------------------- hàm xử lý chính -----------------------------

        /// <summary>
        /// [TBD] ok có dùng
        /// </summary>
        /// <param name="pUserID"></param>
        /// <param name="pIsYes"></param>
        /// <returns></returns>
        private DataTable GetDataDSPhongBan(int pUserID, bool pIsYes)
        {
            DataTable kq = null;
            string    selectQueryString = SelStr_GetPhongBanThaoTac();

            kq = SqlDataAccessHelper.ExecuteQueryString(selectQueryString, new string[] { "@UserID", "@IsYes" }, new object[] { pUserID, pIsYes });
            return(kq);
        }
コード例 #10
0
        public static DataTable LayKhoangThoigianCongnhat(DateTime ngaydauthang, int mUserEnrollNumber)
        {
            var ngaycuoithang = new DateTime(ngaydauthang.Year, ngaydauthang.Month, DateTime.DaysInMonth(ngaydauthang.Year, ngaydauthang.Month));
            var query         = @"	select * from DSNVChiCongNhatThang 
							where	Thang=@Thang and UserEnrollNumber = @UserEnrollNumber "                            ;

            return(SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@Thang", "@UserEnrollNumber" }, new object[] { ngaydauthang, mUserEnrollNumber }));
        }
コード例 #11
0
        public static DataTable LayKetLuongThang(DateTime m_Thang)
        {
            var query = @"select KetLuongThang.*, UserInfo.UserFullName, UserInfo.UserFullCode
from KetLuongThang, UserInfo 
where Thang=@Thang and UserInfo.UserEnrollNumber = KetLuongThang.UserEnrollNumber";

            return(SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@Thang" }, new object[] { m_Thang }));
        }
コード例 #12
0
        public static bool KiemtraTonTaiLoaiVang(string absentCode, DateTime ngay, int MaCC)
        {
            var       querySel = @"	select ID from Absent where AbsentCode = @AbsentCode and TimeDate = @TimeDate and UserEnrollNumber = @UserEnrollNumber";
            DataTable table    = SqlDataAccessHelper.ExecuteQueryString(querySel,
                                                                        new string[] { "@AbsentCode", "@TimeDate", "@UserEnrollNumber" },
                                                                        new object[] { absentCode, ngay, MaCC });

            return(table.Rows.Count > 0);
        }
コード例 #13
0
 private void Load_dataGridNewUserAccount()
 {
     try {
         DataTable dataTable = SqlDataAccessHelper.ExecuteQueryString("Select UserID, UserAccount from NewUserAccount", null, null);
         dataGridTK.DataSource = dataTable;
     } catch (Exception exception) {
         throw exception;
     }
 }
コード例 #14
0
        public static DataTable LogIn(string tempUsername, string passEncrypt)
        {
            const string query = @"	select	UserAccount, UserID from NewUserAccount 
								where	UserAccount = @UserAccount and Password = @Password "                                ;
            DataTable    dt    = SqlDataAccessHelper.ExecuteQueryString(query
                                                                        , new[] { "@UserAccount", "@Password" }, new object[] { tempUsername, passEncrypt }, CanLog: false);

            return(dt);
        }
コード例 #15
0
        public static DataTable KiemtraTinhtrangKetcongThang(DateTime ngaydauthang, int UserEnrollNumber)
        {
            var ngaycuoithang = new DateTime(ngaydauthang.Year, ngaydauthang.Month, DateTime.DaysInMonth(ngaydauthang.Year, ngaydauthang.Month));
            var query         = @"	select * from KetCongNgay where 
							Ngay >= @NgayBD and Ngay <= @NgayKT and UserEnrollNumber = @UserEnrollNumber"                            ;

            return(SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@NgayBD", "@NgayKT", "@UserEnrollNumber" },
                                                          new object[] { ngaydauthang, ngaycuoithang, UserEnrollNumber }));
        }
コード例 #16
0
 private void Load_dataGridNewUserAccount()
 {
     try {
         DataTable dataTable = SqlDataAccessHelper.ExecuteQueryString("Select UserID, UserAccount from NewUserAccount", null, null);
         dataGridTK.DataSource = dataTable;
     } catch (Exception exception) {
         lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), exception);
         throw exception;
     }
 }
コード例 #17
0
        public static DataTable PhanQuyenMenu(int userid)
        {
            #region query
            const string query = @" select * from MenuPrivilege where MenuPrivilege.UserID = @UserID

							order by MenuID ASC, IsYes ASC"                            ;
            #endregion
            var table = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@UserID" }, new object[] { userid });
            return(table);
        }
コード例 #18
0
        public static DataTable LayDSLichTrinh()
        {
            const string query = @"	SELECT		Schedule.SchID, Schedule.SchName, ShiftSch.T1, ShiftSch.T2, ShiftSch.T3, ShiftSch.T4, ShiftSch.T5, ShiftSch.T6, ShiftSch.T7
								FROM		Schedule, ShiftSch
								where		Schedule.SchID = ShiftSch.SchID 
								group by    Schedule.SchID, Schedule.SchName, ShiftSch.T1, ShiftSch.T2, ShiftSch.T3, ShiftSch.T4, ShiftSch.T5, ShiftSch.T6, ShiftSch.T7"                                ;
            var          kq    = SqlDataAccessHelper.ExecuteQueryString(query, null, null);

            return(kq);
        }
コード例 #19
0
        public static DataTable LayDSCa_FillCaTruocCaSau()
        {
            // điều kiện 1. đang sử dụng 2. ko phải ca mở rộng 3. công < 2
            const string query = @"	SELECT	ShiftID,ShiftCode
								FROM	Shifts 
								where IsEnabled = 1 and (IsExtended is null OR IsExtended = 0) and Workingday < 2"                                ;
            var          kq    = SqlDataAccessHelper.ExecuteQueryString(query, null, null);

            return(kq);
        }
コード例 #20
0
        public static bool KiemtraKetluongThang45(DateTime ngayDauThang)
        {
            var query = " select Thang from ThongSoKetLuongThang where Thang >= @NgayDauThang ";
            var table = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@NgayDauThang" }, new object[] { ngayDauThang });

            if (table.Rows.Count == 0)
            {
                return(false);
            }
            return(true);
        }
コード例 #21
0
 private void XuatReport_Load(object sender, EventArgs e)
 {
     try {
         SqlDataAccessHelper.ConnectionString = SqlDataAccessHelper.ReadEncryptConnectionString1(@"C:\PathDataPage.txt");
         DataTable dataTable = SqlDataAccessHelper.ExecuteQueryString("select * from UserInfo");
         Export(dataTable);
     } catch (Exception) {
         Application.Exit();
         throw;
     }
 }
コード例 #22
0
        public static DataTable LayDSPhongDaKetcong(DateTime ngaydauthang)
        {
            var query = @"
select KetCongBoPhan.IDPhong , RelationDept.ID, Description, ViTri, RelationID
from KetCongBoPhan, RelationDept
where Thang = @Thang and KetCongBoPhan.IDPhong = RelationDept.ID
order by ViTri desc
";

            return(SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@Thang" }, new object[] { ngaydauthang }));
        }
コード例 #23
0
        /// <summary>
        /// áp dụng cho trường hợp tài khoản root , ko thể kết 2 bảng DeptPrivilege vì root ko có trong danh sách tài khoản
        /// nên chỉ cần lấy danh sách tất cả các phòng ban, khỏi kết 2 bảng
        /// </summary>
        /// <returns></returns>
        private DataTable LayDSTatCaPhongban()
        {
            string query = string.Empty;

            query += @"select RelationDept.ID, RelationDept.Description, RelationDept.RelationID, cast (1 as bit) as IsYes
						from RelationDept"                        ;
            DataTable kq;

            kq = SqlDataAccessHelper.ExecuteQueryString(query, null, null);
            return(kq);
        }
コード例 #24
0
        private void frm_KhaiBaoVang_Load(object sender, EventArgs e)
        {
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                AutoClosingMessageBox.Show("Mất kết nối với CSDL. Vui lòng thử lại sau.", "Lỗi", 4000);
                this.Close();
                return;
            }

            // 1. khởi tạo các biến cục bộ
            var tablePhong = DAL.LayDSPhong(XL2.currUserID);

            if (tablePhong.Rows.Count == 0)
            {
                AutoClosingMessageBox.Show("Bạn chưa được phân quyền thao tác.", "Thông báo", 2000);
                return;
            }
            //2. lấy dữ liệu phòng ban được phép thao tác  và load treePhongBan : xoá dữ liệu trước và load
            treePhongBan.Nodes.Clear();
            loadTreePhgBan(treePhongBan, tablePhong);

            // đăng ký sự kiện cho tree và chọn topNode
            treePhongBan.AfterSelect += treePhongBan_AfterSelect;
            treePhongBan.SelectedNode = treePhongBan.TopNode;


            // lấy tháng hiện tại cho dtpThang
            dtpThang.Value = currMonth;

            var tableLV = SqlDataAccessHelper.ExecuteQueryString("Select * from LoaiVang");

            cbLoaiVang.ValueMember   = "AbsentCode";
            cbLoaiVang.DisplayMember = "AbsentDescription";
            cbLoaiVang.DataSource    = tableLV;
            cbLoaiVang.SelectedIndex = 0;

            List <Working> list = new List <Working>
            {
                new Working {
                    cong = 0.5f, hour = 4f
                },
                new Working {
                    cong = 1f, hour = 8f
                },
                new Working {
                    cong = 2f, hour = 16f
                }
            };

            cbSoBuoi.DataSource    = list;
            cbSoBuoi.ValueMember   = "Hour";
            cbSoBuoi.DisplayMember = "Cong";
            cbSoBuoi.SelectedIndex = 1; // mặc định cho số buổi là 1
        }
 private void dwf_raiseEventForm_Load(object sender, EventArgs e)
 {
     try {
         listBox1.DataSource = SqlDataAccessHelper.ExecuteQueryString("select * from UserAccount");
     } catch (Exception ex) {
         XuLyException(ex);
         return;
     }
     listBox1.DisplayMember = "UserAccount";
     listBox1.ValueMember   = "UserID";
 }
コード例 #26
0
        public static DataTable LayDSThuchiThang(DateTime mThang)
        {
            var query = @"
select	Thang, UserFullCode, UserFullName, UserInfo.UserEnrollNumber,
		TamUng, LuongDieuChinh, MucDongBHXH, ThuChiKhac
from	UserInfo, DSThuChiThang
where	UserInfo.UserEnrollNumber = DSThuChiThang.UserEnrollNumber
		and Thang = @Thang"        ;

            return(SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@Thang" }, new object[] { mThang }));
        }
コード例 #27
0
        /// <summary>
        /// trường hợp root lấy hết danh sách tát cả các tài khoản
        /// </summary>
        /// <returns></returns>
        private DataTable LayDSTatCaTaikhoan()
        {
            string query = string.Empty;

            #region query
            query += @"		SELECT	NewUserAccount.UserAccount, NewUserAccount.UserID
							FROM	NewUserAccount"                            ;
            #endregion
            DataTable kq;
            kq = SqlDataAccessHelper.ExecuteQueryString(query, null, null);
            return(kq);
        }
コード例 #28
0
        internal static DataTable LayBang_GioDaXN3(int[] arrMaCC, DataTable m_Bang_GioDaXN)
        {
            var query = @"	select CheckInOut.UserEnrollNumber, TimeStr, IDXNCa_LamThem ,ShiftID, ShiftCode, OTMin ,DuyetChoPhepVaoTre, DuyetChoPhepRaSom
							from CheckInOut	, XNCa_LamThem
							where MachineNo %2 = 0 and IDXNCa_LamThem = ID and (IDXNCa_LamThem = {0})
							"                            ;

            query = string.Format(query, string.Join(" or IDXNCa_LamThem = ", arrMaCC));
            var table1 = SqlDataAccessHelper.ExecuteQueryString(query, null, null);

            return(table1);
        }
コード例 #29
0
        private DataTable LayDSTatCaTaikhoan()
        {
            string query = string.Empty;

            //logic trường hợp root lấy hết danh sách tát cả các tài khoản
            #region query
            query += @"		SELECT	NewUserAccount.UserAccount, NewUserAccount.UserID
							FROM	NewUserAccount"                            ;
            #endregion
            DataTable kq = SqlDataAccessHelper.ExecuteQueryString(query, null, null);
            return(kq);
        }
コード例 #30
0
        //ok ver 8
        public static DataTable LayDSTatCaPhongBan()
        {
            #region query
            const string query = @"   SELECT  ID,RelationID,Description,ViTri                                        
									  FROM    RelationDept  
									  order by	ViTri asc"                                        ;
            #endregion

            var kq = SqlDataAccessHelper.ExecuteQueryString(query, null, null);

            return(kq);
        }