コード例 #1
0
    /// <summary>
    /// Gán Editor để chọn tình trạng làm việc
    /// </summary>
    private void SetEditor()
    {
        List <DAL.DM_TT_LAMVIEC> data = new KyHieuChamCongController().GetAll();

        this.Store2.DataSource = data;
        this.Store2.DataBind();

        foreach (var col in GridPanel1.ColumnModel.Columns)
        {
            //   Ext.Net.MultiCombo cbWorkingStatus = new MultiCombo();
            Ext.Net.ComboBox cbWorkingStatus = new ComboBox();
            cbWorkingStatus.StoreID        = "Store2";
            cbWorkingStatus.Width          = 60;
            cbWorkingStatus.ListWidth      = 300;
            cbWorkingStatus.ID             = "cb" + col.ColumnID;
            cbWorkingStatus.TypeAhead      = true;
            cbWorkingStatus.ForceSelection = true;
            //   cbWorkingStatus.SelectionMode = MultiSelectMode.Selection;
            cbWorkingStatus.DisplayField = "TEN_TT_LAMVIEC";
            cbWorkingStatus.ValueField   = "KYHIEU_TT_LAMVIEC";
            cbWorkingStatus.Editable     = false;
            cbWorkingStatus.Mode         = DataLoadMode.Local;
            cbWorkingStatus.ItemSelector = "tr.list-item";

            cbWorkingStatus.Template.Html = @"
                                            <tpl for=""."">
						                        <tpl if=""[xindex] == 1"">
							                        <table class=""cbStates-list"">
								                        <tr>
									                        <th>Kí hiệu</th>
									                        <th>Tình trạng làm việc</th>
								                        </tr>
						                        </tpl>
						                        <tr class=""list-item"">
							                        <td style=""padding:3px 0px;"">{KYHIEU_TT_LAMVIEC}</td>
							                        <td>{TEN_TT_LAMVIEC}</td>
						                        </tr>
						                        <tpl if=""[xcount-xindex]==0"">
							                        </table>
						                        </tpl>
					                        </tpl>
                                            ";

            if (col.ColumnID.StartsWith("Ngay"))
            {
                col.Editor.Add(cbWorkingStatus);
                if (col.ColumnID.Equals("NgayHomNay"))
                {
                    if (DateTime.Today.Day < 10)
                    {
                        col.DataIndex = "NGAY0" + DateTime.Today.Day;
                    }
                    else
                    {
                        col.DataIndex = "NGAY" + DateTime.Today.Day;
                    }
                }
            }
        }
    }
コード例 #2
0
    //protected void btnDongY_Click(object sender, DirectEventArgs e)
    //{
    //    try
    //    {
    //        if (hdfPrkeyCa.Text == "")
    //        {
    //            X.Msg.Alert("Thông báo từ hệ thống", "Không tìm thấy ca làm việc").Show();
    //            return;
    //        }
    //        int prkeyCa = int.Parse(hdfPrkeyCa.Text);
    //        switch (hdfAction.Text)
    //        {
    //            case "Edit":
    //                EditCaLamViec(prkeyCa);
    //                break;
    //            case "Delete":
    //                DeleteCaLamViec(prkeyCa);
    //                break;
    //            case "Duplicate":
    //                DuplicateCaLamViec(prkeyCa);
    //                break;
    //            default:
    //                break;
    //        }
    //        wdChonCaLamViec.Hide();
    //    }
    //    catch (Exception ex)
    //    {
    //        X.Msg.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message).Show();
    //    }
    //}

    /// <summary>
    /// Kiểm tra mã ca có bị trùng với các mã ngày nghỉ lễ, chế độ, nghỉ bù không
    /// </summary>
    /// <param name="maCa">Mã ca cần kiểm tra</param>
    /// <param name="lyDo">Lý do trùng nếu mã ca đã bị trùng</param>
    /// <returns><b>true</b> nếu mã ca đã bị trùng, <b>false</b> nếu mã ca chưa bị trùng</returns>
    private bool KiemTraTrungNgayNghiLe(string maCa, ref string lyDo)
    {
        KyHieuChamCongController kyHieu = new KyHieuChamCongController();

        if (maCa == kyHieu.NghiBu)
        {
            lyDo = "Mã ca trùng với mã nghỉ bù.";
            return(true);
        }
        else if (maCa == kyHieu.NghiKhongLuong)
        {
            lyDo = "Mã ca trùng với mã nghỉ không lương.";
            return(true);
        }
        else if (maCa == kyHieu.NghiLe)
        {
            lyDo = "Mã ca trùng với mã nghỉ lễ.";
            return(true);
        }
        else if (maCa == kyHieu.NghiPhep)
        {
            lyDo = "Mã ca trùng với mã nghỉ phép.";
            return(true);
        }
        else if (maCa == kyHieu.CheDo)
        {
            lyDo = "Mã ca trùng với mã nghỉ chế độ.";
            return(true);
        }
        return(false);
    }
コード例 #3
0
    protected void btnEdit_Click(object sender, DirectEventArgs e)
    {
        DAL.DM_TT_LAMVIEC record = new KyHieuChamCongController().GetbyPrKey(int.Parse(hdfRecordID.Text));
        txtKYHIEU_TT_LAMVIEC.Text = record.KYHIEU_TT_LAMVIEC;
        txtTEN_TT_LAMVIEC.Text    = record.TEN_TT_LAMVIEC;
        txtDIEN_GIAI.Text         = record.DIEN_GIAI;
        txtSTT.Text             = record.STT.Value.ToString();
        chkIsIS_IN_USED.Checked = record.IS_IN_USED;
        txtQUI_UOC_CHAM_CONG.SetValue(record.QUI_UOC_CHAM_CONG);

        hdfCommand.Text   = "Update";
        wdAddWindow.Icon  = Icon.Pencil;
        wdAddWindow.Title = "Sửa kí hiệu chấm công";
        wdAddWindow.Show();
    }
コード例 #4
0
 /// <summary>
 /// sự kiện click của menu tình trạng làm việc, dành cho chấm công ngày hôm nay
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void Click_Event(object sender, DirectEventArgs e)
 {
     try
     {
         if (!string.IsNullOrEmpty(hdfIdBangChamCong.Text))
         {
             Ext.Net.MenuItem mnuItem = sender as Ext.Net.MenuItem;
             DM_TT_LAMVIEC    ws      = new KyHieuChamCongController().GetByName(mnuItem.Text);
             string           sql     = "update ChamCong.BangChamCongExcelTheoThang set NGAY";
             if (DateTime.Now.Day > 9)
             {
                 sql += DateTime.Now.Day + " = N'" + ws.KYHIEU_TT_LAMVIEC + "' where PR_KEY = ";
             }
             else
             {
                 sql += "0" + DateTime.Now.Day + " = N'" + ws.KYHIEU_TT_LAMVIEC + "' where PR_KEY = ";
             }
             int start = 0;
             int limit = 50;
             List <BangChamCongExcelTheoThang> bangLuong;
             do
             {
                 bangLuong = new ChamCongThangController().GetByIdBangChamCong(int.Parse(hdfIdBangChamCong.Text), start, limit);
                 foreach (var item in bangLuong)
                 {
                     DataController.DataHandler.GetInstance().ExecuteNonQuery(sql + item.PR_KEY);
                 }
                 start += limit;
             } while (bangLuong.Count() != 0);
             RM.RegisterClientScriptBlock("a", "#{Store1}.reload();");
         }
         else
         {
             X.MessageBox.Alert("Cảnh báo", "Bạn chưa chọn bảng lương").Show();
         }
     }
     catch (Exception ex)
     {
         X.MessageBox.Alert("Cảnh báo", ex.Message).Show();
     }
 }
コード例 #5
0
    /// <summary>
    /// daibx 28/06/2013
    /// Kiểm tra dữ liệu trong file excel có phù hợp với ký hiệu chấm công trong phần mềm hay không
    ///
    /// - Các kí hiệu chấm công được lấy trong bảng DM_TT_LAMVIEC với ràng buộc IS_IN_USED = true (các kí hiệu vẫn đang sử dụng)
    /// - So sánh các kí hiệu này với các kí hiệu trong excel, nếu có một kí hiệu không phù hợp thì đưa ra thông báo và yêu cầu
    /// sửa lại cho đúng (không cho nhập dữ liệu sai). nếu không có lỗi nào xảy ra thì đưa ra thông báo và cho người dùng import
    /// dữ liệu vào
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnTestDuLieu_Click(object sender, DirectEventArgs e)
    {
        // kiểm tra đường dẫn và loại file
        string extension = System.IO.Path.GetExtension(FileUploadField1.PostedFile.FileName).ToLower();

        if (!extension.Equals(".xls") && !extension.Equals(".xlsx"))
        {
            X.Msg.Alert("Thông báo", "Hãy chọn file excel").Show();
            return;
        }
        string fn           = System.IO.Path.GetFileName(FileUploadField1.PostedFile.FileName);
        string saveLocation = Server.MapPath("Files") + "\\" + fn;

        // đọc quy ước chấm công trong bảng DM_TT_LAMVIEC
        HashSet <string>         ds    = new HashSet <string>();
        List <DAL.DM_TT_LAMVIEC> lists = new KyHieuChamCongController().GetAll();

        foreach (var item in lists)
        {
            ds.Add(item.KYHIEU_TT_LAMVIEC.ToLower());
        }

        var excel = new ExcelQueryFactory();

        excel.FileName = saveLocation;

        // get config
        string startCell = "";
        string endCell   = "";

        getConfig(out startCell, out endCell);

        // đọc file excel
        var datas = from x in excel.WorksheetRangeNoHeader(startCell, endCell, cbSheetName.Value.ToString())
                    select x;

        string invalidSymbol = "";

        foreach (var item in datas)
        {
            if (item[0] == "")
            {
                break;
            }
            for (int i = 0; i < item.Count; i++)
            {
                if (i >= 2 && !string.IsNullOrEmpty(item[i]) && !ds.Contains(item[i].ToString().ToLower()))
                {
                    invalidSymbol += item[i] + ", ";
                }
            }
        }

        if (AfterClickTestData != null)
        {
            AfterClickTestData(invalidSymbol, null);
        }

        if (invalidSymbol == "")
        {
            btnTestDuLieu.Hide();
            btnImport.Show();
        }
    }
コード例 #6
0
    protected void btnCapNhat_Click(object sender, DirectEventArgs e)
    {
        DAL.DM_TT_LAMVIEC        obj = new DAL.DM_TT_LAMVIEC();
        KyHieuChamCongController ctr = new KyHieuChamCongController();

        obj.KYHIEU_TT_LAMVIEC = txtKYHIEU_TT_LAMVIEC.Text;
        obj.TEN_TT_LAMVIEC    = txtTEN_TT_LAMVIEC.Text;
        obj.DIEN_GIAI         = txtDIEN_GIAI.Text;
        if (!string.IsNullOrEmpty(txtSTT.Text))
        {
            obj.STT = decimal.Parse(txtSTT.Text);
        }
        else
        {
            obj.STT = 0;
        }
        obj.CREATED_USER      = CurrentUser.DisplayName;
        obj.DATE_CREATE       = DateTime.Now;
        obj.IS_IN_USED        = chkIsIS_IN_USED.Checked;
        obj.QUI_UOC_CHAM_CONG = txtQUI_UOC_CHAM_CONG.SelectedItem.Value;
        obj.MA_DONVI          = Session["MaDonVi"].ToString();
        try
        {
            if (e.ExtraParams["Command"] == "Edit")
            {
                obj.PR_KEY = int.Parse(hdfRecordID.Text);
                ctr.Update(obj);
                Dialog.ShowNotification(CommonMessage.INSERT_SUCCESSFULLY);
                wdAddWindow.Hide();
                //RM.RegisterClientScriptBlock("fd", string.Format("addUpdatedRecord('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}')", txtKYHIEU_TT_LAMVIEC.Text, txtTEN_TT_LAMVIEC.Text, txtDIEN_GIAI.Text, txtSTT.Text, CurrentUser.DisplayName, DateTime.Now, chkIsIS_IN_USED.Checked, txtQUI_UOC_CHAM_CONG.SelectedItem.Value));
            }
            else
            {
                if (ctr.CheckDuplicateSignal(obj.KYHIEU_TT_LAMVIEC, Session["MaDonVi"].ToString()))
                {
                    X.MessageBox.Alert("Có lỗi xảy ra", "Kí hiệu chấm công bị trùng, bạn vui lòng chọn kí hiệu khác").Show();
                    return;
                }
                int prkey = ctr.Insert(obj);
                Dialog.ShowNotification(CommonMessage.INSERT_SUCCESSFULLY);
                if (e.ExtraParams["Close"] == "True")
                {
                    wdAddWindow.Hide();
                }
                else
                {
                    RM.RegisterClientScriptBlock("rs", "resetWindowHide();");
                }
                //RM.RegisterClientScriptBlock("fd", string.Format("addRecord('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}','{8}')", txtKYHIEU_TT_LAMVIEC.Text, txtTEN_TT_LAMVIEC.Text, txtDIEN_GIAI.Text, txtSTT.Text, CurrentUser.DisplayName, DateTime.Now, chkIsIS_IN_USED.Checked, txtQUI_UOC_CHAM_CONG.SelectedItem.Value, prkey));
            }
            GridPanel1.Reload();
        }
        catch (System.Data.SqlClient.SqlException ex)
        {
            if (ex.Number == 2627)
            {
                X.MessageBox.Alert("Có lỗi xảy ra", "Qui ước chấm công bị trùng, bạn hãy chọn quy ước chấm công khác").Show();
            }
        }
        catch (Exception ex)
        {
            X.MessageBox.Alert("Có lỗi xảy ra", ex.Message).Show();
        }
    }
コード例 #7
0
 public void BindData()
 {
     DataSource = new KyHieuChamCongController().GetAll();
     xrl_MA_TT_LAMVIEC.DataBindings.Add("Text", DataSource, "MA_TT_LAMVIEC");
     xrl_TEN_TT_LAMVIEC.DataBindings.Add("Text", DataSource, "GHI_CHU");
 }