void loadGrid()
        {
            DataTable dt = LibQLSX.Select("select top 1 * from vChucVu where Account = '" + Global.LoginName + "'");

            if (dt.Rows.Count == 0)
            {
                MessageBox.Show("Tài khoản trên QLSX và quản lý thiết kế của bạn đang khác nhau", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }

            string[] _paraName  = new string[6];
            object[] _paraValue = new object[6];
            _paraName[0] = "@StartDate"; _paraValue[0] = TextUtils.ToDate2(dtpStartDate.EditValue);
            _paraName[1] = "@EndDate"; _paraValue[1] = TextUtils.ToDate2(dtpEndDate.EditValue);
            _paraName[2] = "@UserId"; _paraValue[2] = TextUtils.ToString(dt.Rows[0]["UserId"]);
            _paraName[3] = "@DepartmentId"; _paraValue[3] = TextUtils.ToString(cboDepartment.EditValue);
            _paraName[4] = "@GroupUserId";
            _paraName[5] = "@LeaderId";
            if (TextUtils.HasPermission("frmWorkingDiariesManager_ViewAll"))
            {
                _paraValue[2] = "1";
                _paraValue[4] = "";
                _paraValue[5] = "";
            }
            else
            {
                string departmentCode = TextUtils.ToString(dt.Rows[0]["DCode"]);
                string groupCode      = TextUtils.ToString(dt.Rows[0]["GroupCode"]);
                if (departmentCode == "" && groupCode == "")
                {
                    _paraValue[4] = "0";
                    _paraValue[5] = "0";
                }
                else
                {
                    _paraValue[4] = groupCode != "" ? TextUtils.ToString(dt.Rows[0]["UserId"]) : "";
                    _paraValue[5] = departmentCode != "" ? TextUtils.ToString(dt.Rows[0]["UserId"]) : "";
                }
            }

            DataTable Source = LibQLSX.LoadDataFromSP("spGetWorkingDiaries", "Source", _paraName, _paraValue);

            grdData.DataSource = Source;
        }
示例#2
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            int id = TextUtils.ToInt(grvData.GetFocusedRowCellValue(colID));

            if (id == 0)
            {
                return;
            }
            WorkingDiariesModel model = (WorkingDiariesModel)WorkingDiariesBO.Instance.FindByPK(id);

            if (model.IsApproved)
            {
                MessageBox.Show("Nhật ký công việc đã được duyệt, bạn không thể sửa được.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }

            DataTable dt = LibQLSX.Select("select top 1 UserId from Users where Account = '" + Global.AppUserName + "'");

            if (dt.Rows.Count <= 0)
            {
                MessageBox.Show("Bạn chưa có tài khoản trên phần mềm quản lý sản xuất.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            else
            {
                if (!TextUtils.HasPermission("frmWorkingDiariesManager_AddAll"))
                {
                    string account = TextUtils.ToString(grvData.GetFocusedRowCellValue(colAccount1));
                    if (account.ToUpper() != Global.AppUserName.ToUpper())
                    {
                        MessageBox.Show("Bạn không có quyền sửa nhật ký công việc này.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        return;
                    }
                }
            }

            _rownIndex = grvData.FocusedRowHandle;
            frmWorkingDiaries frm = new frmWorkingDiaries();

            frm.WorkingDiaries  = model;
            frm.LoadDataChange += main_LoadDataChange;
            frm.Show();
        }
示例#3
0
        void save()
        {
            if (!TextUtils.HasPermission("frmProjectProblem_EditAll"))
            {
                if (Global.AppUserName != ProjectProblem.UpdatedBy && ProjectProblem.ID > 0)
                {
                    MessageBox.Show("Bạn không có quyền sửa vấn đề này!", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
            }

            ProcessTransaction pt = new ProcessTransaction();

            pt.OpenConnection();
            pt.BeginTransaction();
            try
            {
                if (!ValidateForm())
                {
                    return;
                }

                grvData.FocusedRowHandle = -1;

                ProjectProblem.Code      = "";
                ProjectProblem.ProjectId = TextUtils.ToString(cboProject.EditValue);

                ProjectProblem.ModuleCode   = TextUtils.ToString(cboModule.EditValue);
                ProjectProblem.Content      = txtContent.Text.Trim();
                ProjectProblem.DatePhatSinh = (DateTime?)dtpDatePhatSinh.EditValue;
                ProjectProblem.Reason       = txtReason.Text.Trim();
                ProjectProblem.Solution     = txtSolution.Text.Trim();
                ProjectProblem.Status       = cboStatus.SelectedIndex;
                ProjectProblem.IsTonDong    = chkTonDong.Checked;
                ProjectProblem.IsTinhTrang  = chkIsTinhTrang.Checked;

                ProjectProblem.Monitor = TextUtils.ToString(cboUser.EditValue);

                ProjectProblem.DepartmentId = TextUtils.ToString(cboPhongBan.EditValue);

                ProjectProblem.UpdatedDate = DateTime.Now;
                ProjectProblem.UpdatedBy   = Global.AppUserName;

                if (ProjectProblem.ID <= 0)
                {
                    ProjectProblem.CreatedDate = DateTime.Now;
                    ProjectProblem.CreatedBy   = Global.AppUserName;
                    ProjectProblem.ID          = (int)pt.Insert(ProjectProblem);
                }
                else
                {
                    pt.Update(ProjectProblem);
                }

                pt.CommitTransaction();

                _isSaved = true;

                MessageBox.Show("Lưu trữ thành công!", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lưu trữ không thành công!" + Environment.NewLine + ex.Message, TextUtils.Caption,
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                pt.CloseConnection();
            }

            if (_isSaved)
            {
                if (this.LoadDataChange != null)
                {
                    this.LoadDataChange(null, null);
                }
            }
        }
示例#4
0
        bool ValidateForm()
        {
            if (!TextUtils.HasPermission("frmWorkingDiariesManager_IsApproved") && cboStatus.SelectedIndex > 1)
            {
                MessageBox.Show("Bạn chỉ có quyền nhập nhật ký công việc thời gian hành chính.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (WorkingDiaries.IsApproved)
            {
                MessageBox.Show("Nhật ký công việc đã được duyệt, bạn không thể sửa được nữa.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (cboPhongBan.EditValue == null)
            {
                MessageBox.Show("Xin hãy chọn một phòng ban.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (cboUser.EditValue == null)
            {
                MessageBox.Show("Xin hãy chọn một nhân viên.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (txtUserCode.Text.Trim() == "")
            {
                MessageBox.Show("Nhân viên chưa có mã.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (txtProjectCode.Text.Trim() == "" && cboStatus.SelectedIndex != 8)
            {
                MessageBox.Show("Dự án chưa có mã.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (cboProject.EditValue == null && cboStatus.SelectedIndex != 8)
            {
                MessageBox.Show("Xin hãy chọn một dự án.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (cboStatus.SelectedIndex <= 0)
            {
                MessageBox.Show("Xin hãy chọn một trạng thái.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (dtpWorkingDate.EditValue == null)
            {
                MessageBox.Show("Bạn chưa điền ngày làm việc.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (dtpStartTime.EditValue == null)
            {
                MessageBox.Show("Bạn chưa điền thời gian bắt đầu.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (dtpEndTime.EditValue == null)
            {
                MessageBox.Show("Bạn chưa điền thời gian kết thúc.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (TextUtils.ToDecimal(txtWorkTime.EditValue) == 0)
            {
                MessageBox.Show("Bạn chưa điền tổng thời gian.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (txtWorkingContent.Text.Trim() == "")
            {
                MessageBox.Show("Bạn chưa điền nội dung công việc.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (TextUtils.ToDecimal(txtWorkTime.EditValue) <= 0)
            {
                MessageBox.Show("Thời gian làm việc phải lớn hơn 0.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            //1.Thời gian hành chính (8:00 - 17:00)
            //2.Tăng ca tối, thường (17:30 - 22:00, 6:00 - 8:00)
            //3.Tăng ca đêm ngày thường (22:00 - 6:00)
            //4.Tăng ca ngày nghỉ (6:00 - 22:00)
            //5.Tăng ca ngày lễ  (6:00 - 22:00)
            //6.Tăng ca đêm ngày nghỉ (22:00 - 6:00)
            //7.Tăng ca đêm ngày lễ (22:00 - 6:00)
            //8.Nghỉ phép (8:00 - 17:00)
            //9.Nghỉ không lương (8:00 - 17:00)
            //10.Nghỉ chế độ (8:00 - 17:00)

            //List<int> listHour = new List<int>(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 });

            DateTime cDate     = (DateTime)dtpWorkingDate.EditValue;
            DateTime startDate = new DateTime(cDate.Year, cDate.Month, cDate.Day, TextUtils.ToDate3(dtpStartTime.EditValue).Hour, TextUtils.ToDate3(dtpStartTime.EditValue).Minute, 0);
            DateTime endDate   = new DateTime(cDate.Year, cDate.Month, cDate.Day, TextUtils.ToDate3(dtpEndTime.EditValue).Hour, TextUtils.ToDate3(dtpEndTime.EditValue).Minute, 0);
            string   sql       = "";

            if (WorkingDiaries.ID > 0)
            {
                sql = "select top 1 ID from WorkingDiaries where ((StartTime <= '" + startDate.ToString("yyyy-MM-dd HH:mm") + "' and EndTime > '" + startDate.ToString("yyyy-MM-dd HH:mm") + "') or "
                      + "(StartTime < '" + endDate.ToString("yyyy-MM-dd HH:mm") + "' and EndTime >= '" + endDate.ToString("yyyy-MM-dd HH:mm") + "')) "
                      //+ "and (DATEDIFF(day, '" + cDate.ToString("yyyy-MM-dd") + "', WorkingDate) = 0 "
                      + "and UserId = '" + TextUtils.ToString(cboUser.EditValue) + "' and ID <> " + WorkingDiaries.ID;
            }
            else
            {
                sql = "select top 1 ID from WorkingDiaries where ((StartTime <= '" + startDate.ToString("yyyy-MM-dd HH:mm") + "' and EndTime > '" + startDate.ToString("yyyy-MM-dd HH:mm") + "') or "
                      + "(StartTime < '" + endDate.ToString("yyyy-MM-dd HH:mm") + "' and EndTime >= '" + endDate.ToString("yyyy-MM-dd HH:mm") + "')) "
                      //+ "and (DATEDIFF(day, '" + cDate.ToString("yyyy-MM-dd") + "', WorkingDate) = 0 "
                      + "and UserId = '" + TextUtils.ToString(cboUser.EditValue) + "'";
            }

            DataTable dt = LibQLSX.Select(sql);

            if (dt.Rows.Count > 0)
            {
                MessageBox.Show("Khung thời gian đang bị trùng lặp.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            if (cboStatus.SelectedIndex == 1 || cboStatus.SelectedIndex == 8 || cboStatus.SelectedIndex == 9 || cboStatus.SelectedIndex == 10)
            {
                List <int> listHour = new List <int>(new int[] { 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 });
                if (!listHour.Contains(startDate.Hour) || !listHour.Contains(endDate.Hour) || startDate.Hour > endDate.Hour ||
                    (endDate.Hour == 17 && endDate.Minute > 0) ||
                    (startDate.Hour == 11 && startDate.Minute > 30) ||
                    (startDate.Hour == 12 && startDate.Minute < 30) ||
                    (endDate.Hour == 11 && endDate.Minute > 30) ||
                    (endDate.Hour == 12 && endDate.Minute < 30)
                    )
                {
                    MessageBox.Show("Thời gian bắt đầu hoặc thời gian kết thúc không hợp lệ.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return(false);
                }
            }

            if (cboStatus.SelectedIndex == 2)
            {
                List <int> listHour = new List <int>(new int[] { 6, 7, 8, 17, 18, 19, 20, 21, 22 });
                if (!listHour.Contains(startDate.Hour) || !listHour.Contains(endDate.Hour) || startDate.Hour > endDate.Hour || (startDate.Hour == 17 && startDate.Minute < 30))
                {
                    MessageBox.Show("Thời gian bắt đầu hoặc thời gian kết thúc không hợp lệ.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return(false);
                }
            }

            if (cboStatus.SelectedIndex == 4 || cboStatus.SelectedIndex == 5)
            {
                List <int> listHour = new List <int>(new int[] { 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 });
                if (!listHour.Contains(startDate.Hour) || !listHour.Contains(endDate.Hour) || startDate.Hour > endDate.Hour ||
                    (endDate.Hour == 22 && endDate.Minute > 0) ||
                    (startDate.Hour == 11 && startDate.Minute > 30) ||
                    (startDate.Hour == 12 && startDate.Minute < 30) ||
                    (endDate.Hour == 11 && endDate.Minute > 30) ||
                    (endDate.Hour == 12 && endDate.Minute < 30)
                    )
                {
                    MessageBox.Show("Thời gian bắt đầu hoặc thời gian kết thúc không hợp lệ.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return(false);
                }
            }

            if (cboStatus.SelectedIndex == 3 || cboStatus.SelectedIndex == 6 || cboStatus.SelectedIndex == 7)
            {
                List <int> listHour = new List <int>(new int[] { 0, 1, 2, 3, 4, 5, 6, 22, 23 });
                if (!listHour.Contains(startDate.Hour) || !listHour.Contains(endDate.Hour) || (endDate.Hour == 6 && endDate.Minute > 0))
                {
                    MessageBox.Show("Thời gian bắt đầu hoặc thời gian kết thúc không hợp lệ.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return(false);
                }
            }

            if (cboStatus.SelectedIndex == 7 || cboStatus.SelectedIndex == 6)
            {
                if (endDate.Hour - startDate.Hour < 0)
                {
                    MessageBox.Show("Thời gian bắt đầu hoặc thời gian kết thúc không hợp lệ.", TextUtils.Caption, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return(false);
                }
            }

            return(true);
        }