Beispiel #1
0
        private void 引用toolStripButton_Click(object sender, EventArgs e)
        {
            int num = dataGridView1.Rows.Count;

            FormOldWorkSchedule frm = new FormOldWorkSchedule();

            frm.ShowDialog();

            if (frm.Flag)
            {
                m_billNo               = Convert.ToInt32(frm.BillNo);
                m_workSchedulingInfo   = m_workSchedulingServer.GetWorkSchedulingByBillNo(m_billNo);
                m_workSchedulingDetail = m_workSchedulingServer.GetWorkSchedulingDetail(m_billNo, out m_numberOfPeople);
                InitDataGridView(m_workSchedulingInfo.排班起始时间, m_workSchedulingInfo.排班结束时间);

                int newNum = dataGridView1.Rows.Count;

                if (num == newNum)
                {
                    MessageDialog.ShowPromptMessage("点击【新建】后,若需要引用原有排班,请先【引用旧排班】!");
                }
            }
        }
        /// <summary>
        /// 通过单据号删除单据信息
        /// </summary>
        /// <param name="billID">单据号</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True失败返回False</returns>
        public bool DeleteWorkScheduling(int billID, out string error)
        {
            error = "";

            try
            {
                View_HR_WorkScheduling workTemp = GetWorkSchedulingByBillNo(billID);

                if (workTemp.单据状态 == "已完成" || workTemp.单据状态 == "等待下次排班")
                {
                    throw new Exception("单据无法删除");
                }

                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var resultPersonnel = from a in dataContxt.HR_WorkSchedulingDetail
                                      where a.ParentID == billID
                                      select a;

                dataContxt.HR_WorkSchedulingDetail.DeleteAllOnSubmit(resultPersonnel);

                var result = from c in dataContxt.HR_WorkScheduling
                             where c.ID == billID
                             select c;

                dataContxt.HR_WorkScheduling.DeleteAllOnSubmit(result);
                dataContxt.SubmitChanges();

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="authorityFlag">权限标志</param>
        /// <param name="billNo">排班单据号,如果为0,则表示为新建方式</param>
        public FormWorkSchedule(AuthorityFlag authorityFlag, int billNo)
        {
            InitializeComponent();

            m_billMessageServer.BillType = "排班管理";

            m_billNo   = billNo;
            m_authFlag = authorityFlag;

            this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

            toolStrip1.Visible = true;

            if (m_billNo == 0)
            {
                DateTime time = ServerTime.Time;

                dtpBegin.Value = time;
                dtpEnd.Value   = time;
                numYear.Value  = time.Year;
                numMonth.Value = time.Month;

                ClearControl();
            }
            else
            {
                m_workSchedulingInfo = m_workSchedulingServer.GetWorkSchedulingByBillNo(m_billNo);

                m_workSchedulingDetail = m_workSchedulingServer.GetWorkSchedulingDetail(m_billNo, out m_numberOfPeople);

                InitDataGridView(m_workSchedulingInfo.排班起始时间, m_workSchedulingInfo.排班结束时间);

                txtBillNo.Text        = m_billNo.ToString();
                txtCreaterWorkID.Text = m_workSchedulingInfo.排班人;
                txtCreaterWorkID.Tag  = m_workSchedulingInfo.员工编号;
                txtDeptDirector.Text  = m_workSchedulingInfo.部门主管;
                txtDeptPrincipal.Text = m_workSchedulingInfo.部门负责人;
                txtRemark.Text        = m_workSchedulingInfo.备注;
                txtStatus.Text        = m_workSchedulingInfo.单据状态;

                dtpBegin.Value = m_workSchedulingInfo.排班起始时间;
                dtpEnd.Value   = m_workSchedulingInfo.排班结束时间;

                if (m_workSchedulingInfo.已审核日期.ToString() != "")
                {
                    dtpCompletion.Value = Convert.ToDateTime(m_workSchedulingInfo.已审核日期);
                }

                if (m_workSchedulingInfo.主管签定时间.ToString() != "")
                {
                    dtpDeptDirectorDate.Value = Convert.ToDateTime(m_workSchedulingInfo.主管签定时间);
                }

                if (m_workSchedulingInfo.负责人签定时间.ToString() != "")
                {
                    dtpDeptPrincipalDate.Value = Convert.ToDateTime(m_workSchedulingInfo.负责人签定时间);
                }

                dtpCreateDate.Value       = m_workSchedulingInfo.排班时间;
                dtpEnd.Value              = m_workSchedulingInfo.排班结束时间;
                dateTimePendingDate.Value = m_workSchedulingInfo.待审核日期;
                txtScheduleName.Text      = m_workSchedulingInfo.排班名称;

                numYear.Value  = m_workSchedulingInfo.排班年份;
                numMonth.Value = m_workSchedulingInfo.排班月份;

                if (dateTimePendingDate.Value > dtpCompletion.Value)
                {
                    dateTimePendingDate.Enabled = false;
                }
            }

            DataTable dt = m_personnerServer.GetHighestDept(txtCreaterWorkID.Tag.ToString());

            if (dt != null && dt.Rows.Count > 0)
            {
                m_highDept = dt.Rows[0]["deptCode"].ToString();
            }
        }