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); } }
/// <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(); } }