using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DBUtility; namespace OAM { public partial class OA_EmpMessageBill : Form { public OA_EmpMessageBill() { InitializeComponent(); } //定义 //public const Int16 HTagCol = 0; //public const Int16 HSnoCol = 1; //public const Int16 HSendStatusCol = 2; //public const Int16 HSendManCol = 3; //public const Int16 HDateCol = 4; //public const Int16 HDescriptionCol = 5; //表1 // public string ModName = "4510"; public string ModCaption = "个人消息"; public const string ModRightName = "OA_EmpMessageBill"; public const string ModRightNameEdit = ModRightName + "_Edit"; public const string ModRightNameCheck = ModRightName + "_Check"; public const string ModRightNameClose = ModRightName + "_Close"; public const string ModRightNameDelete = ModRightName + "_Delete"; public bool BillChange; // public long HMainID = 0; public string HBillType = ""; public DBUtility.ClsPub.Enum_BillStatus BillStatus; public Int64 KeyID; public bool grdStatus; public DAL.ClsOA_EmpMessageBill BillNew = new DAL.ClsOA_EmpMessageBill(); public DAL.ClsOA_EmpMessageBill BillOld = new DAL.ClsOA_EmpMessageBill(); //------------------------------------------------------------------------- #region 固定代码 //清空界面 public void Sub_ClearBill() { //清空界面控件 for 控件 foreach (Control ct in gbUp.Controls) { switch (ct.GetType().Name) { case "ListBox": ((ListBox)ct).Items.Clear(); break; case "CheckBox": ((CheckBox)ct).Checked = false; break; case "RadioButton": break; case "ComboBox": ((ComboBox)ct).SelectedIndex = 0; break; case "TextBox": ((TextBox)ct).Text = ""; break; case "DateTimePicker": ((DateTimePicker)ct).Value = DateTime.Today; break; default: break; } } // txtHMaker.Text = ClsPub.CurUserName; txtHMakeDate.Text = ""; txtHChecker.Text = ""; txtHCheckDate.Text = ""; txtHCloseMan.Text = ""; txtHCloseDate.Text = ""; txtHDeleteMan.Text = ""; txtHDeleteDate.Text = ""; txtHUpDater.Text = ""; txtHUpDateDate.Text = ""; initGrid(); } //编辑单据 private void Sub_EditBill() { if (BillOld.omodel.HChecker != "") { MessageBox.Show("此单据已经被审核,不允许修改", "提示"); return; } this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify; this.Sub_OperStatus(); txtHUpDater.Text = ClsPub.CurUserName; //txtHBillNo.Enabled = false; } //删除单据 private void Sub_DeleteBill() { if (BillOld.omodel.HChecker != "") { MessageBox.Show("此单据已经被审核,不允许审核", "提示"); return; } if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { if (BillOld.DeleteBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) != true) { BillChange = true; MessageBox.Show("删除失败,原因:" + ClsPub.sExeReturnInfo, "提示"); return; } MessageBox.Show("删除成功", "提示"); BillOld = new DAL.ClsOA_EmpMessageBill(); this.Sub_Next(); //显示下一张单据 if (BillOld.omodel.HInterID == 0)//若找不到下一张,则显示上一张 { this.Sub_Prev(); } if (BillOld.omodel.HInterID == 0)//若找不到上一张,清空 { this.Sub_ClearBill(); } BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; this.Sub_OperStatus(); } } private void bclk_Click(object sender, EventArgs e) { //保存列宽 //ClsPub.SaveGridView(grdMain, this.Name); } private void mrlk_Click(object sender, EventArgs e) { //ClsPub.DefaultGridView(grdMain); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 //ClsPub.SaveGridView(grdMain, this.Name); } //放弃 编辑 private void Sub_AbandonBill() { if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew || BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify) { if (MessageBox.Show("单据尚未保存,是否放弃?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { //显示第一张单据 this.Sub_First(); } } } private void OA_EmpMessageBill_Paint(object sender, PaintEventArgs e)//画线 { //Graphics g = this.panel2.CreateGraphics(); //Pen p = new Pen(Color.Gray); //p.Width = 1; //g.DrawLine(p, new Point(txtHMaker.Left, txtHMaker.Top + txtHMaker.Height), new Point(txtHMaker.Left + txtHMaker.Width, txtHMaker.Top + txtHMaker.Height)); //g.DrawLine(p, new Point(txtHMakeDate.Left, txtHMakeDate.Top + txtHMakeDate.Height), new Point(txtHMakeDate.Left + txtHMakeDate.Width, txtHMakeDate.Top + txtHMakeDate.Height)); //// //g.DrawLine(p, new Point(txtHChecker.Left, txtHChecker.Top + txtHChecker.Height), new Point(txtHChecker.Left + txtHChecker.Width, txtHChecker.Top + txtHChecker.Height)); //g.DrawLine(p, new Point(txtHCheckDate.Left, txtHCheckDate.Top + txtHCheckDate.Height), new Point(txtHCheckDate.Left + txtHCheckDate.Width, txtHCheckDate.Top + txtHCheckDate.Height)); //// //g.DrawLine(p, new Point(txtHCloseMan.Left, txtHCloseMan.Top + txtHCloseMan.Height), new Point(txtHCloseMan.Left + txtHCloseMan.Width, txtHCloseMan.Top + txtHCloseMan.Height)); //g.DrawLine(p, new Point(txtHCloseDate.Left, txtHCloseDate.Top + txtHCloseDate.Height), new Point(txtHCloseDate.Left + txtHCloseDate.Width, txtHCloseDate.Top + txtHCloseDate.Height)); //// //g.DrawLine(p, new Point(this.txtHDeleteMan.Left, txtHDeleteMan.Top + txtHDeleteMan.Height), new Point(txtHDeleteMan.Left + txtHDeleteMan.Width, txtHDeleteMan.Top + txtHDeleteMan.Height)); //g.DrawLine(p, new Point(txtHDeleteDate.Left, txtHDeleteDate.Top + txtHDeleteDate.Height), new Point(txtHDeleteDate.Left + txtHDeleteDate.Width, txtHDeleteDate.Top + txtHDeleteDate.Height)); //// //g.DrawLine(p, new Point(this.txtHUpDater.Left, txtHUpDater.Top + txtHUpDater.Height), new Point(txtHUpDater.Left + txtHUpDater.Width, txtHUpDater.Top + txtHUpDater.Height)); //g.DrawLine(p, new Point(txtHUpDateDate.Left, txtHUpDateDate.Top + txtHUpDateDate.Height), new Point(txtHUpDateDate.Left + txtHUpDateDate.Width, txtHUpDateDate.Top + txtHUpDateDate.Height)); ////控件位置设置 } //控件位置 private void Sub_ControlLocation() { //gbUp.Width = P1.Width - 20; //gbUp.Left = 10; //gbUp.Height = P1.Height - 35; //gbUp.Top = 30; } //窗体加载 private void OA_EmpMessageBill_Load(object sender, EventArgs e) { //打印初始化 dtpHDate.Value = DateTime.Today; this.Text = ModCaption; this.lblCaption.Text = ModCaption; } //首张 private void Sub_First() { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; BillOld = new DAL.ClsOA_EmpMessageBill(); //if (BillOld.GetFirstBill(ref ClsPub.sExeReturnInfo)) //{ // this.Sub_ShowBill(); //} //else //没有找到则 变为新增状态 //{ this.Sub_AddBill(); //} } //上张 private void Sub_Prev() { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; if (BillOld.GetPrevousBill(ref ClsPub.sExeReturnInfo, txtHBillNo.Text)) { this.Sub_ShowBill(); } } //下张 private void Sub_Next() { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; if (BillOld.GetNextBill(ref ClsPub.sExeReturnInfo, txtHBillNo.Text)) { this.Sub_ShowBill(); } } //末张 private void Sub_Last() { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; BillOld = new DAL.ClsOA_EmpMessageBill(); if (BillOld.GetLastBill(ref ClsPub.sExeReturnInfo)) { this.Sub_ShowBill(); } } //审核单据 private void Sub_CheckBill() { //判断权限 if (!ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.CheckBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; txtHChecker.Text = ClsPub.CurUserName; txtHCheckDate.Text = BillOld.omodel.HCheckDate; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("审核失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //反审单据 private void Sub_AbandonCheck() { //判断权限 if (!ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.AbandonCheck(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; txtHChecker.Text = ""; txtHCheckDate.Text = ""; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("反审核失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //关闭单据 private void Sub_CloseBill() { //判断权限 if (!ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.CloseBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; txtHCloseMan.Text = ClsPub.CurUserName; txtHCloseDate.Text = BillOld.omodel.HCloseDate; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("关闭失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //反关闭单据 private void Sub_Cancel() { //判断权限 if (!ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.CancelClose(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; txtHCloseMan.Text = ""; txtHCloseDate.Text = ""; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("恢复失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //作废单据 private void Sub_Cancelltion() { //判断权限 if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.Cancelltion(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; this.txtHDeleteMan.Text = ClsPub.CurUserName; this.txtHDeleteDate.Text = BillOld.omodel.HDeleteDate; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("作废失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //反作废 private void Sub_AbandonCancelltion() { //判断权限 if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName)) { return; } // if (BillOld.AbandonCancelltion(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true) { BillChange = true; this.txtHDeleteMan.Text = ""; this.txtHDeleteDate.Text = ""; this.Sub_OperStatus();//刷新TOOL按钮 } else { MessageBox.Show("作废失败!原因:" + ClsPub.sExeReturnInfo, "提示"); } } //新增按纽 private void xz_Click(object sender, EventArgs e) { this.Sub_AddBill(); } //修改按纽 private void xg_Click(object sender, EventArgs e) { this.Sub_EditBill(); } //删除按钮 private void sc_Click(object sender, EventArgs e) { this.Sub_DeleteBill(); } //保存按钮 private void bc_Click(object sender, EventArgs e) { this.Sub_SaveBill(); } //放弃按钮 private void fq_Click(object sender, EventArgs e) { this.Sub_AbandonBill(); } //审核按钮 private void sh_Click(object sender, EventArgs e) { this.Sub_CheckBill(); } //放弃审核按钮 private void qsh_Click(object sender, EventArgs e) { this.Sub_AbandonCheck(); } //关闭按钮 private void gb_Click(object sender, EventArgs e) { this.Sub_CloseBill(); } //恢复按钮 private void hf_Click(object sender, EventArgs e) { this.Sub_Cancel(); } //作废按钮 private void zf_Click(object sender, EventArgs e) { this.Sub_Cancelltion(); } //反作废按钮 private void zc_Click(object sender, EventArgs e) { this.Sub_AbandonCancelltion(); } //首张单据按钮 private void sz_Click(object sender, EventArgs e) { this.Sub_First(); } //上一张按钮 private void syz_Click(object sender, EventArgs e) { this.Sub_Prev(); } //下一张按钮 private void xyz_Click(object sender, EventArgs e) { this.Sub_Next(); } //末张按钮 private void mz_Click(object sender, EventArgs e) { this.Sub_Last(); } //退出按钮 private void tc_Click(object sender, EventArgs e) { this.Close(); } //窗体尺寸变化时 private void OA_EmpMessageBill_Resize(object sender, EventArgs e) { Sub_ControlLocation(); } //根据编辑状态 设置 控件是否允许录入 private void Sub_LrtextStatus(bool TextEnabled) { if (TextEnabled == true) { //控件全部有效 gbUp.Enabled = true; //grdMain.BackColor = ClsPub.EditColor; } else { //控件全部无效 gbUp.Enabled = false; //grdMain.BackColor = ClsPub.ViewColor; } } //复制单据 private void Sub_CopyBill() { this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; this.Sub_OperStatus();//设置TOOLBAR this.txtHBillNo.Text = ClsPub.CreateBillCode(BillNew.BillType, ref ClsPub.sExeReturnInfo, true);//得到新单号 this.txtHBillNo.Enabled = true; this.txtHBillNo.Focus(); this.txtHMaker.Text = ClsPub.CurUserName; this.txtHMakeDate.Text = ClsPub.GetServerDate(-1); this.txtHChecker.Text = ""; this.txtHCloseDate.Text = ""; this.txtHCloseMan.Text = ""; this.txtHCloseDate.Text = ""; this.txtHDeleteMan.Text = ""; this.txtHDeleteDate.Text = ""; this.txtHUpDater.Text = ""; this.txtHUpDateDate.Text = ""; } //复制按钮 private void fz_Click(object sender, EventArgs e) { Sub_CopyBill(); } //timer private void timer1_Tick(object sender, EventArgs e) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); timer1.Enabled = false; Sub_ControlLocation(); if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_View) { this.Sub_ShowBill(); } else { this.Sub_AddBill(); this.Sub_ShowBillByID(); } } //窗体卸载 private void OA_EmpMessageBill_FormClosing(object sender, FormClosingEventArgs e) { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; } //新增单据 private void Sub_AddBill() { this.BillNew = new DAL.ClsOA_EmpMessageBill(); this.BillOld = new DAL.ClsOA_EmpMessageBill(); this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; this.Sub_OperStatus();//设置TOOLBAR this.Sub_ClearBill();//清空界面 this.txtHBillNo.Text = ClsPub.CreateBillCode(BillNew.BillType, ref ClsPub.sExeReturnInfo, true);//得到新单号(缺少函数) 未完成 this.txtHBillNo.Enabled = true; this.txtHBillNo.Focus(); } //TOOLBAR状态 按钮是否灰度 public void Sub_OperStatus() { switch (BillStatus) { case DBUtility.ClsPub.Enum_BillStatus.BillStatus_View: //浏览状态 yl.Enabled = true; xz.Enabled = true; xg.Enabled = true; sc.Enabled = true; //AddRow.Enabled = false; //DelRow.Enabled = false; bc.Enabled = false; fq.Enabled = false; sz.Enabled = true; syz.Enabled = true; xyz.Enabled = true; mz.Enabled = true; tc.Enabled = true; fz.Enabled = true; //未审核 if (txtHChecker.Text.Trim() == "") { sh.Enabled = true; qsh.Enabled = false; gb.Enabled = false; hf.Enabled = false; xg.Enabled = true; sc.Enabled = true; //未审核 pic1.Visible = false; pic1.Image = null; // } else if (txtHCloseMan.Text.Trim() == "" && txtHChecker.Text.Trim() != "")//审核未关闭 { sh.Enabled = false; qsh.Enabled = true; gb.Enabled = true; hf.Enabled = false; xg.Enabled = false; sc.Enabled = false; // pic1.Visible = true; pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Checked.jpg"); // } else//已关闭 { sh.Enabled = false; qsh.Enabled = false; gb.Enabled = false; hf.Enabled = true; xg.Enabled = false; sc.Enabled = false; // pic1.Visible = true; pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Closed.jpg"); // } if (txtHDeleteMan.Text.Trim() == "") { zf.Enabled = true; zc.Enabled = false; } else //已作废 { zf.Enabled = false; zc.Enabled = true; xg.Enabled = false; sc.Enabled = false; //AddRow.Enabled = false; //DelRow.Enabled = false; bc.Enabled = false; fq.Enabled = false; sh.Enabled = false; qsh.Enabled = false; gb.Enabled = false; hf.Enabled = false; // pic1.Visible = true; pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Deleted.jpg"); // } Sub_LrtextStatus(false); grdStatus = false; break; case DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew: //新增状态 yl.Enabled = false; xz.Enabled = false; xg.Enabled = false; sc.Enabled = false; //AddRow.Enabled = true; //DelRow.Enabled = true; bc.Enabled = true; fq.Enabled = true; sh.Enabled = false; qsh.Enabled = false; gb.Enabled = false; hf.Enabled = false; zf.Enabled = false; zc.Enabled = false; sz.Enabled = false; syz.Enabled = false; xyz.Enabled = false; mz.Enabled = false; tc.Enabled = true; Sub_LrtextStatus(true); grdStatus = true; fz.Enabled = false; //未审核 pic1.Visible = false; pic1.Image = null; // break; case DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify: //修改状态 yl.Enabled = false; xz.Enabled = false; xg.Enabled = false; sc.Enabled = false; //AddRow.Enabled = true; //DelRow.Enabled = true; bc.Enabled = true; fq.Enabled = true; sh.Enabled = false; qsh.Enabled = false; gb.Enabled = false; hf.Enabled = false; zf.Enabled = false; zc.Enabled = false; sz.Enabled = false; syz.Enabled = false; xyz.Enabled = false; mz.Enabled = false; tc.Enabled = true; Sub_LrtextStatus(true); grdStatus = true; fz.Enabled = false; //未审核 pic1.Visible = false; pic1.Image = null; // break; } } #endregion #region 读写类 //显示单据 public void Sub_ShowBill() { //判断是否存在单据 if (BillOld.ShowBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == false) { MessageBox.Show(ClsPub.sExeReturnInfo, "提示"); return; } //清空 Sub_ClearBill(); //grid禁止刷新 //grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; //加载表头 // this.dtpHDate.Value = BillOld.omodel.HDate; this.txtHBillNo.Text = BillOld.omodel.HBillNo; this.txtHDescription.Text = BillOld.omodel.HDescription; // this.txtHSendMan.Text = BillOld.omodel.HSendMan; this.txtHReceiveMan.Text = BillOld.omodel.HReceiveMan; // this.txtHMaker.Text = BillOld.omodel.HMaker; this.txtHMakeDate.Text = BillOld.omodel.HMakeDate; this.txtHChecker.Text = BillOld.omodel.HChecker; this.txtHCheckDate.Text = BillOld.omodel.HCheckDate; this.txtHCloseMan.Text = BillOld.omodel.HCloseMan; this.txtHCloseDate.Text = BillOld.omodel.HCloseDate; this.txtHDeleteMan.Text = BillOld.omodel.HDeleteMan; this.txtHDeleteDate.Text = BillOld.omodel.HDeleteDate; this.txtHUpDater.Text = BillOld.omodel.HUpDater; this.txtHUpDateDate.Text = BillOld.omodel.HUpDateDate; //加载表体 //int i = 0; //foreach (ClsOA_EmpMessageBillSub oSub in BillOld.DetailColl) //{ // if (i >= grdMain.RowCount - 1) // grdMain.Rows.Add(); // // // grdMain.Rows[i].Cells[HSnoCol].Value = Convert.ToString(i+1); // grdMain.Rows[i].Cells[HSendStatusCol].Value = oSub.HSendStatus.ToString().Trim(); // grdMain.Rows[i].Cells[HSendManCol].Value = oSub.HSendMan.ToString().Trim(); // grdMain.Rows[i].Cells[HDateCol].Value = oSub.HDate.ToString().Trim(); // grdMain.Rows[i].Cells[HDescriptionCol].Value = oSub.HDescription.ToString().Trim(); // i = i + 1; //} //GRID允许刷新 //grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; // Sub_OperStatus(); } public void Sub_ShowBillByID() { //判断是否存在单据 if (HMainID == 0 || HBillType == "") { return; } string sText = ""; string sReceiveMan = ""; //判断是否存在单据 BLL.ClsPub_BLL.GetOA_SendMessage(HMainID, HBillType, ref sText); BLL.ClsPub_BLL.GetOA_ReceiveMan(HMainID, HBillType, ref sReceiveMan); //if (BillOld.GetICMOSortInfoByID(this.HMainID, ref ClsPub.sExeReturnInfo) == false) //{ // return; //} //清空 //Sub_ClearBill(); //grid禁止刷新 //grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; //加载表头 // this.txtHReceiveMan.Text = sReceiveMan; this.txtHDescription.Text = sText; //this.txtHDescription.Text = BillOld.omodel.HDescription; this.txtHSendMan.Text = DBUtility.ClsPub.CurUserName; // Sub_OperStatus(); } //单据完整性判断 未完成 private bool Sub_AllowSave() { //必输项目是否为空 //if (txtHDeptID.Tag.ToString().Trim() == "0") //{ // MessageBox.Show("部门没有选择!", "提示"); // return false; //} //单据号是否重复 if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, txtHBillNo.Text.Trim(), BillStatus, BillOld.omodel.HInterID)) { MessageBox.Show("单据号重复!", "提示"); return false; } //明细表是否为零行 return true; } //保存单据 private bool Sub_SaveBill() { //判断权限 //if (!ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName)) //{ // return false; //} // Model.ClsOA_EmpMessageBillSub oBillSub = new Model.ClsOA_EmpMessageBillSub(); Int32 i; bool bResult; //网格失去焦点 txtHBillNo.Focus(); // BillNew = new DAL.ClsOA_EmpMessageBill(); if (!Sub_AllowSave())//单据完整性判断 return false; ////是否是合理的会计期间 int sYear = 0; int sPeriod = 0; //if (ClsPub.Sub_GetPeriodByDate(ClsPub.isDate(dtpHDate.Value, 0), ref sYear, ref sPeriod)) //{ // if (!(sYear * 100 + sPeriod >= ClsPub.CurYear * 100 + ClsPub.CurPeriod)) // { // MessageBox.Show("您选择的日期的会计期间已结账!请与管理员联系", "提示"); // return false; // } //} //else //{ // MessageBox.Show("您选择的日期不属于合理的会计期间!请与管理员联系", "提示"); // return false; //} //赋值ID if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify) BillNew.omodel.HInterID = BillOld.omodel.HInterID; //主类赋值 BillNew.omodel.HYear = sYear; BillNew.omodel.HPeriod = sPeriod; BillNew.omodel.HBillNo = this.txtHBillNo.Text.Trim(); //在赋值类前就处理好字符串和数字 BillNew.omodel.HDate = this.dtpHDate.Value; // BillNew.omodel.HSendMan = this.txtHSendMan.Text.Trim().Replace("'", "''"); BillNew.omodel.HReceiveMan = this.txtHReceiveMan.Text.Trim().Replace("'", "''"); BillNew.omodel.HRemark = ""; BillNew.omodel.HDescription = this.txtHDescription.Text.Trim().Replace("'", "''"); //明细类赋值 BillNew.DetailColl = new List(); string[] s; char c = Convert.ToChar(","); s = txtHReceiveMan.Text.Split(c); for (i = 0; i < s.Length; i++) { Model.ClsOA_EmpMessageBillSub oSub = new Model.ClsOA_EmpMessageBillSub(); if (i == s.Length) { oSub.HEntryID = i + 1; // oSub.HReceiveMan = txtHReceiveMan.Text.Trim(); oSub.HReadFlag = false; // BillNew.DetailColl.Add(oSub); } else { if (s[i].Trim() != "") { oSub.HEntryID = i + 1; // oSub.HReceiveMan = s[i].Trim(); oSub.HReadFlag = false; // BillNew.DetailColl.Add(oSub); } } } //保存完毕后处理 if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew) { bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo); } else { bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo); //bResult = BillNew.ModifyBill(BillNew.HInterID, ref ClsPub.sExeReturnInfo); //bResult = false; } //提示 if (bResult == true) { BillChange = true; MessageBox.Show("单据存盘完毕!单据号:" + this.txtHBillNo.Text.Trim(), "提示"); if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew) { BillOld.omodel.HInterID = BillNew.omodel.HInterID; Sub_ShowBill(); BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; } else if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify) { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; } this.Sub_OperStatus(); return true; } else { MessageBox.Show("保存失败!原因:" + ClsPub.sExeReturnInfo, "提示"); return false; } } #endregion #region 窗体处理方法 //初始化GRID private void initGrid() { //表1 //grdMain.RowTemplate.Height = 18; //行高设置 //grdMain.RowTemplate.MinimumHeight = 18; //最小行高 //grdMain.ColumnHeadersHeight = 35; //标题行高 //grdMain.RowHeadersVisible = false; //固定列是否显示 //grdMain.ColumnHeadersVisible = true; //固定行是否显示 //grdMain.ColumnCount = 6; //总列数 //grdMain.RowCount = 0; //总行数 //grdMain.RowCount = 1; //总行数 ////设置 标题 //grdMain.Columns[HTagCol].HeaderText = ""; //grdMain.Columns[HSnoCol].HeaderText = "序号"; //grdMain.Columns[HSendManCol].HeaderText = "回复人"; //grdMain.Columns[HSendStatusCol].HeaderText = "类型"; //grdMain.Columns[HDateCol].HeaderText = "回复日期"; //grdMain.Columns[HDescriptionCol].HeaderText = "回复内容"; ////格式化 ////隐藏列 //grdMain.Columns[HTagCol].Visible = false; ////表格设置 //for (int i = 0; i < grdMain.ColumnCount; i++) //{ // grdMain.Columns[i].Width = 100; //设置 列宽 // grdMain.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; //列 排序模式 //} //// //grdMain.RowsDefaultCellStyle.SelectionForeColor = Color.Black; //行选中字体颜色 //grdMain.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; //内容布局(居中,靠右) //grdMain.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//标题行布局(居中,靠右) //grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选行模式 //grdMain.ReadOnly = true; //是否只读 //grdMain.EditMode = DataGridViewEditMode.EditOnEnter; //编辑模式 //grdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //标题行高 调整模式 //grdMain.EnableHeadersVisualStyles = true; //标题 显示样式 //grdMain.AllowUserToAddRows = false; //是否允许自增--否 //grdMain.AllowUserToDeleteRows = false; //是否允许删除--否 //grdMain.AllowUserToResizeColumns = true; //允许调整列宽--是 //grdMain.AllowUserToResizeRows = false; //允许调整行高--否 //grdMain.AllowUserToOrderColumns = false; //是否允许拖拽列 //grdMain.BackgroundColor = Color.White; //网格背景色 //grdMain.GridColor = Color.LightGray; //网格线颜色 //grdMain.DefaultCellStyle.SelectionBackColor = Color.AntiqueWhite; //选中时背景颜色 //grdMain.ShowCellToolTips = false; //鼠标停留 显示提示 //// //// //ClsPub.GetGridView(grdMain, this.Name);//设置列宽 //设置可编辑列和合计列 } private void label7_Click(object sender, EventArgs e) { if (label7.Text == "收起<<<<") { panel2.Visible = false; label7.Text = "展开>>>>"; } else { panel2.Visible = true; label7.Text = "收起<<<<"; } } #endregion private void cmdHSendMan_Click(object sender, EventArgs e) { Gy_UserSelect oUser = new Gy_UserSelect(); oUser.bSingle = true; oUser.ShowDialog(); if (oUser.IsOk == 1) { txtHSendMan.Text = oUser.sReturn; } else { txtHSendMan.Text = ""; } } private void cmdHReceiveMan_Click(object sender, EventArgs e) { Gy_UserSelect oUser = new Gy_UserSelect(); oUser.bSingle = true; oUser.ShowDialog(); if (oUser.IsOk == 1) { txtHReceiveMan.Text = oUser.sReturn; } else { txtHReceiveMan.Text = ""; } } //回复按钮 private void msg_Click(object sender, EventArgs e) { BackMessage(); } public void BackMessage() { return; } } }