| using System; | 
| using System.Collections.Generic; | 
| using System.ComponentModel; | 
| using System.Data; | 
| using System.Drawing; | 
| using System.Text; | 
| using System.Windows.Forms; | 
| using System.Runtime.InteropServices; | 
| using gregn6Lib; | 
| using WarM; | 
| using DBUtility; | 
| using OAM; | 
|   | 
| namespace APSM | 
| { | 
|     public partial class Sc_ICMOSortBillList : Form | 
|     { | 
|         public Sc_ICMOSortBillList() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|         public frmBillQueryCondition_New frmCondition; | 
|         public string ViewName = "h_v_Sc_ICMOSortBillList"; | 
|         public string ModName = "Sc_ICMOSortBillList"; | 
|         public string ModCaption = "生产计划排程查询"; | 
|         public const string ModRightName = "Sc_ICMOSortBill"; | 
|         public const string ModRightNameEdit = ModRightName + "_Edit"; | 
|         public const string ModRightNameCheck = ModRightName + "_Check"; | 
|         public const string ModRightNameClose = ModRightName + "_Close"; | 
|         public const string ModRightNameDelete = ModRightName + "_Delete"; | 
|         DAL.ClsSc_ICMOSortBill oBill = new DAL.ClsSc_ICMOSortBill(); | 
|         //public Sc_ICMOSortBill oFrm; | 
|         public DataTable oDataTable; | 
|         Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); | 
|         // | 
|         private void initGrid() | 
|         { | 
|             DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name); | 
|         } | 
|         // | 
|   | 
|         private void Display() | 
|         { | 
|             SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); | 
|             DataSet DSet; | 
|             string sSql = ""; | 
|             string sWhere = ""; | 
|             //过滤条件 | 
|             if (frmCondition.SqlStr.Trim().Length == 0) | 
|                 return; | 
|             sSql = frmCondition.SqlStr + sWhere + " order by   部门代码,资源代码,优先级,日期 "; | 
|             // | 
|             DSet = SubCn.RunProcReturn(sSql, "h_v_Sc_ICMOSortBillList", ref DBUtility.ClsPub.sExeReturnInfo); | 
|             //生成首行标题 | 
|             if (DSet == null) | 
|             { | 
|                 MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); | 
|                 return; | 
|             } | 
|             // | 
|             grdMain.DataSource = DSet.Tables[0].DefaultView; | 
|             //设置合计列 | 
|             string sTotalCol = ""; | 
|             sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); | 
|             string[] sT; | 
|             sT = sTotalCol.Split(Convert.ToChar(",")); | 
|             oSumGrid.BuildTotalCols(sT); | 
|             //   | 
|             //冻结 | 
|             int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text); | 
|             string s = frmCondition.cmbHComplete.Text; | 
|             DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol); | 
|             //画线 | 
|             GraphLine(); | 
|              | 
|             //  | 
|         } | 
|   | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             //initGrid(); | 
|             Display(); | 
|         } | 
|   | 
|         private void tc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Close(); | 
|         } | 
|   | 
|         private void sx_Click(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = true; | 
|         } | 
|   | 
|          | 
|   | 
|         private Int32 Fun_GetCol(string sCol) | 
|         { | 
|             return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); | 
|         } | 
|   | 
|         private void Sc_ICMOSortBillList_Load(object sender, EventArgs e) | 
|         { | 
|             // | 
|             frmCondition = new frmBillQueryCondition_New(); | 
|             this.Text = ModCaption; | 
|             lblCaption.Text = ModCaption; | 
|             oSumGrid.ogrdMain = grdMain;  //初始化 new | 
|             oSumGrid.oGridsum = grdSum; | 
|             lblWorkTime.Text = ""; | 
|             initGrid(); | 
|         } | 
|   | 
|   | 
|         private void cx_Click(object sender, EventArgs e) | 
|         { | 
|             frmCondition = new frmBillQueryCondition_New(); | 
|             SetCondition(frmCondition, ViewName, this.Name); | 
|             frmCondition.ShowDialog(); | 
|             if (frmCondition.Tag.ToString() == "OK") | 
|             { | 
|                 Display(); | 
|             } | 
|         } | 
|   | 
|         private void xz_Click(object sender, EventArgs e) | 
|         { | 
|             // | 
|             //oFrm = new Sc_ICMOSortBill(); | 
|             //oFrm.ShowDialog(); | 
|         } | 
|   | 
|        | 
|         private void timer2_Tick(object sender, EventArgs e) | 
|         { | 
|             timer2.Enabled = false; | 
|             frmCondition = new frmBillQueryCondition_New(); | 
|             SetCondition(frmCondition, ViewName, this.Name); | 
|             frmCondition.ShowDialog(); | 
|             if (frmCondition.Tag.ToString() == "OK") | 
|             { | 
|                 timer1.Enabled = true; | 
|             } | 
|         } | 
|   | 
|         public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name) | 
|         { | 
|             frmCondition.Tag = ""; | 
|             frmCondition.ViewName = ViewName; | 
|             frmCondition.ModName = Name; | 
|         } | 
|   | 
|         #region  //打印设置 | 
|   | 
|         GridppReport Report; | 
|         int BRow = 0; | 
|         int ERow = 0; | 
|         bool b = false; | 
|         //预览 | 
|         private void yl_Click(object sender, EventArgs e) | 
|         { | 
|             //选择打印模板 | 
|             BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); | 
|             oFrm.sBillName = ModName; | 
|             oFrm.sBillModel = ModCaption; | 
|             oFrm.ShowDialog(); | 
|             if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) | 
|             { | 
|                 // | 
|                 if (oFrm.sOpenTmp == "生产计划单" || oFrm.sOpenTmp == "生产计划单横向") | 
|                 { | 
|                     if (grdMain.SelectedRows == null) | 
|                     { | 
|                         MessageBox.Show("请选择要打印的行!"); | 
|                         return; | 
|                     } | 
|                     for (int i = 0; i < grdMain.SelectedRows.Count; i++) | 
|                     { | 
|                         for (int j = i + 1; j < grdMain.SelectedRows.Count; j++) | 
|                         { | 
|                             if (ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("HSourceID")].Value) != ClsPub.isStrNull(grdMain.SelectedRows[j].Cells[Fun_GetCol("HSourceID")].Value)) | 
|                             { | 
|                                 //MessageBox.Show("请选择相同的生产资源!"); | 
|                                 //return; | 
|                             } | 
|                         } | 
|                     } | 
|                     //从选中记录 插入datatable | 
|                     SetDataTable(); | 
|                 } | 
|                 Sub_SetReport(oFrm.sOpenTmp); | 
|                 Report.PrintPreview(true); | 
|                 //Report.Print(false); | 
|             } | 
|         } | 
|   | 
|         private void Sub_SetReport(string sOpenTmp) | 
|         { | 
|             Report = new GridppReport(); | 
|             Report.LoadFromFile(ClsPub.AppPath + @"\" + sOpenTmp + ".grf");  //here . | 
|             Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); | 
|             Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); | 
|         } | 
|   | 
|         private void ReportFetchRecordByDataTable() | 
|         { | 
|             try | 
|             { | 
|                 DataTable oDt = new DataTable(); | 
|                 BLL.Utility.FillRecordToReport(Report, oDataTable, oDt, 0); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 MessageBox.Show("打印失败!表体:" + e.Message); | 
|             } | 
|         } | 
|   | 
|         private void ReportBeforePostRecord()//  | 
|         { | 
|             try | 
|             { | 
|                 //根据行号得到信息 | 
|                 Report.FieldByName("表头资源").AsString = ClsPub.isStrNull(grdMain.SelectedRows[0].Cells[Fun_GetCol("资源名称")].Value); | 
|                 Report.FieldByName("表头部门").AsString = ClsPub.isStrNull(grdMain.SelectedRows[0].Cells[Fun_GetCol("部门名称")].Value); | 
|                 Report.FieldByName("制单日期").AsString = DBUtility.ClsPub.GetServerDate(0); | 
|                 Report.FieldByName("制单人").AsString =DBUtility.ClsPub.CurUserName; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 MessageBox.Show("打印失败!表头:" + e.Message); | 
|             } | 
|         } | 
|   | 
|   | 
|         #endregion | 
|   | 
|   | 
|         private void bclk_Click(object sender, EventArgs e) | 
|         { | 
|             //保存列宽 | 
|             Pub_Class.ClsPub.SaveGridView(grdMain, this.Name, Pub_Class.ClsPub.AppPath); | 
|         } | 
|   | 
|         private void mrlk_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); | 
|         } | 
|         //划线 | 
|         private void GraphLine() | 
|         { | 
|             int MainIDCol = Fun_GetCol("hsourceid"); | 
|             int SubIDCol = Fun_GetCol("hsubid"); | 
|             string s = "是"; | 
|             long n = 0; | 
|             DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s, ref n); | 
|             //显示 | 
|             lbldj.Text = "查询出 " + n.ToString() + " 张单据"; | 
|             lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录"; | 
|         } | 
|            | 
|   | 
|         private void GraphicsGrid() | 
|         { | 
|             DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); | 
|         } | 
|   | 
|         #region 数据导出 | 
|   | 
|          | 
|         #endregion | 
|   | 
|         //合计 new | 
|         private void Total() | 
|         { | 
|             if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) | 
|             { | 
|                 //oSumGrid.SetGridsum(); | 
|                 //oSumGrid.Total(); | 
|             } | 
|         } | 
|   | 
|         private void grdMain_Paint_1(object sender, PaintEventArgs e) | 
|         { | 
|             GraphicsGrid(); | 
|         } | 
|   | 
|         private void yc_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); | 
|         } | 
|   | 
|         private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) | 
|         { | 
|             //Total(); | 
|         } | 
|   | 
|         private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) | 
|         { | 
|             //Total(); | 
|             //GetWorkTime(); | 
|         } | 
|   | 
|         private void toolStripButton1_Click(object sender, EventArgs e) | 
|         { | 
|             //选择打印模板 | 
|             BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); | 
|             oFrm.sBillName = ModName; | 
|             oFrm.sBillModel = ModCaption; | 
|             oFrm.ShowDialog(); | 
|             if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) | 
|             { | 
|                 // | 
|                 if (oFrm.sOpenTmp == "生产计划单") | 
|                 { | 
|                     if (grdMain.SelectedRows == null) | 
|                     { | 
|                         MessageBox.Show("请选择要打印的行!"); | 
|                         return; | 
|                     } | 
|                     for (int i = 0; i < grdMain.SelectedRows.Count; i++) | 
|                     { | 
|                         for (int j = i + 1; j < grdMain.SelectedRows.Count; j++) | 
|                         { | 
|                             if (ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("HSourceID")].Value) != ClsPub.isStrNull(grdMain.SelectedRows[j].Cells[Fun_GetCol("HSourceID")].Value)) | 
|                             { | 
|                                 MessageBox.Show("请选择相同的生产资源!"); | 
|                                 return; | 
|                             } | 
|                         } | 
|                     } | 
|                     //从选中记录 插入datatable | 
|                     SetDataTable(); | 
|                 } | 
|                 Sub_SetReport(oFrm.sOpenTmp); | 
|                 //Report.PrintPreview(true); | 
|                 Report.Print(false); | 
|             } | 
|         } | 
|   | 
|         private void SetDataTable() | 
|         { | 
|             DataRow sRow; | 
|             DataColumn sCol; | 
|             int FixCols = 0; | 
|             int iCol = 0; | 
|             oDataTable = new DataTable(); | 
|             for (int j = 0; j < grdMain.SelectedRows.Count; j++) | 
|             { | 
|                 iCol = 0; | 
|                 sRow = oDataTable.NewRow(); | 
|                 for (int i = FixCols; i < grdMain.Columns.Count; ++i) | 
|                 { | 
|                     iCol = iCol + 1; | 
|                     if (j == 0) | 
|                     { | 
|                         sCol = new DataColumn(); | 
|                         sCol.ColumnName = grdMain.Columns[i].HeaderText; | 
|                         oDataTable.Columns.Add(sCol); | 
|                     } | 
|                     if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[j].Cells[i + FixCols].Value) != "") | 
|                     { | 
|                         sRow[iCol - 1] = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[j].Cells[i + FixCols].Value); | 
|                     } | 
|                 } | 
|                 //增加序号咧 | 
|                 if (j == 0) | 
|                 { | 
|                     sCol = new DataColumn(); | 
|                     sCol.ColumnName = "ino"; | 
|                     oDataTable.Columns.Add(sCol); | 
|                 } | 
|                 sRow[iCol] = j + 1; | 
|                 oDataTable.Rows.Add(sRow); | 
|             } | 
|         } | 
|   | 
|         private void GetWorkTime() | 
|         { | 
|             int HWorkQtyCol = Fun_GetCol("HWorkQty"); | 
|             int HQtyCol = Fun_GetCol("本日计划"); | 
|             double HQty = 0; | 
|             double HWorkQty = 0; | 
|             double HWorkTime = 0; | 
|             for (int i = this.grdMain.SelectedRows.Count; i > 0; i--) | 
|             { | 
|                 HQty = DBUtility.ClsPub.isDoule(grdMain.SelectedRows[i - 1].Cells[HQtyCol].Value); | 
|                 HWorkQty = DBUtility.ClsPub.isDoule(grdMain.SelectedRows[i - 1].Cells[HWorkQtyCol].Value); | 
|                 if (HWorkQty != 0) | 
|                 { | 
|                     HWorkTime = HWorkTime + (HQty / HWorkQty); | 
|                 } | 
|             } | 
|             lblWorkTime.Text = DBUtility.ClsPub.isDoule(HWorkTime, 2).ToString(); | 
|         } | 
|   | 
|         private void grdMain_DoubleClick(object sender, EventArgs e) | 
|         { | 
|             Int64 lngBillKey = 0; | 
|             if (grdMain.CurrentRow == null) | 
|                 return; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             if (lngBillKey == 0) | 
|                 return; | 
|             Sc_ICMOSortBillListDlg oDlg = new Sc_ICMOSortBillListDlg(); | 
|             oDlg.HInterID = lngBillKey; | 
|             oDlg.ShowDialog(); | 
|         } | 
|   | 
|         //齐料确认 | 
|         private void ql_Click(object sender, EventArgs e) | 
|         { | 
|             if (grdMain.CurrentRow == null) | 
|             { | 
|                 MessageBox.Show("请至少选择一行!"); | 
|                 return; | 
|             } | 
|             SetStatus(1); | 
|         } | 
|   | 
|         //缺料确认 | 
|         private void quel_Click(object sender, EventArgs e) | 
|         { | 
|             if (grdMain.CurrentRow == null) | 
|             { | 
|                 MessageBox.Show("请至少选择一行!"); | 
|                 return; | 
|             } | 
|             SetStatus(2); | 
|         } | 
|   | 
|         //变更齐料状态 | 
|         private void SetStatus(Int64 HStatus) | 
|         { | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             DateTime dDate; | 
|             Int64 lSourceID; | 
|             Int64 lSourceInterID; | 
|             if (lngBillKey == 0) | 
|             { | 
|                 return; | 
|             } | 
|             else | 
|             { | 
|                 if (MessageBox.Show("确定要设置当前记录?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel) | 
|                 { | 
|                     return; | 
|                 } | 
|             } | 
|             DAL.ClsSc_ICMOBillStatus_Tmp oICMOBill=new DAL.ClsSc_ICMOBillStatus_Tmp(); | 
|             if (oICMOBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|             { | 
|                 lSourceID = oICMOBill.omodel.HSourceID; | 
|                 lSourceInterID = oICMOBill.omodel.HICMOInterID; | 
|                 dDate = oICMOBill.omodel.HDate; | 
|                 if (oBill.Sub_SetStatusByInfo(lSourceID, lSourceInterID, dDate, HStatus, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     Display(); | 
|                     return; | 
|                 } | 
|             } | 
|         } | 
|   | 
|         //下推生成领料单 | 
|         private void 领料单ToolStripMenuItem_Click(object sender, EventArgs e) | 
|         { | 
|             //Kf_MateOutBill oMater = new Kf_MateOutBill(); | 
|             //oMater.HPPBomID =DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             //oMater.HQty =DBUtility.ClsPub.isInt(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("本日计划数")].Value); | 
|             //oMater.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; | 
|             //oMater.ShowDialog(); | 
|         } | 
|   | 
|         //变更 | 
|         private void bg_Click(object sender, EventArgs e) | 
|         { | 
|             // | 
|             Sc_ICMOSortChangeBill oChangeBill; | 
|             if (grdMain.CurrentRow == null) | 
|             { | 
|                 MessageBox.Show("请至少选择一行!"); | 
|                 return; | 
|             } | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             if (lngBillKey == 0) | 
|                 return; | 
|             oChangeBill = new Sc_ICMOSortChangeBill(); | 
|             oChangeBill.HInterID = lngBillKey; | 
|             oChangeBill.Show(); | 
|   | 
|         } | 
|         //执行 | 
|         private void zx_Click(object sender, EventArgs e) | 
|         { | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             DateTime dDate; | 
|             Int64 lSourceID; | 
|             Int64 lSourceInterID; | 
|             Int64 HStatus = 0; | 
|             if (lngBillKey == 0) | 
|             { | 
|                 return; | 
|             } | 
|             else | 
|             { | 
|                 if (!oBill.Sub_GetICMOSortClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     if (MessageBox.Show("所选计划未结案,是否继续执行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) | 
|                     { | 
|                         return; | 
|                     } | 
|                 } | 
|             } | 
|             DAL.ClsSc_ICMOBillStatus_Tmp oICMOBill = new DAL.ClsSc_ICMOBillStatus_Tmp(); | 
|             if (oICMOBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|             { | 
|   | 
|                 lSourceID = oICMOBill.omodel.HSourceID; | 
|                 lSourceInterID = oICMOBill.omodel.HICMOInterID; | 
|                 dDate = oICMOBill.omodel.HDate; | 
|                 if (oBill.Sub_SetStartByInfo(lSourceID, lSourceInterID, dDate, HStatus, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     Display(); | 
|                     return; | 
|                 } | 
|             } | 
|   | 
|         } | 
|         //撤销执行 | 
|         private void cxzx_Click(object sender, EventArgs e) | 
|         { | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             DateTime dDate; | 
|             Int64 lSourceID; | 
|             Int64 lSourceInterID; | 
|             Int64 HStatus = 1; | 
|             if (lngBillKey == 0) | 
|             { | 
|                 return; | 
|             } | 
|             else | 
|             { | 
|                 if (MessageBox.Show("确定要执行当前记录?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel) | 
|                 { | 
|                     return; | 
|                 } | 
|             } | 
|             DAL.ClsSc_ICMOBillStatus_Tmp oICMOBill = new DAL.ClsSc_ICMOBillStatus_Tmp(); | 
|             if (oICMOBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|             { | 
|                 lSourceID = oICMOBill.omodel.HSourceID; | 
|                 lSourceInterID = oICMOBill.omodel.HICMOInterID; | 
|                 dDate = oICMOBill.omodel.HDate; | 
|                 if (oBill.Sub_SetStartByInfo(lSourceID, lSourceInterID, dDate,HStatus, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     Display(); | 
|                     return; | 
|                 } | 
|             } | 
|         } | 
|   | 
|         private void chexiao_Click(object sender, EventArgs e) | 
|         { | 
|             if (grdMain.CurrentRow == null) | 
|             { | 
|                 MessageBox.Show("请至少选择一行!"); | 
|                 return; | 
|             } | 
|             SetStatus(0); | 
|         } | 
|   | 
|         private void xx_Click(object sender, EventArgs e) | 
|         { | 
|             BLL.OA_EmpMessageBill oEmpMessageBill; | 
|             if (grdMain.CurrentRow == null) | 
|             { | 
|                 MessageBox.Show("请至少选择一行!"); | 
|                 return; | 
|             } | 
|             Int64 lngBillKey = 0; | 
|             lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); | 
|             if (lngBillKey == 0) | 
|                 return; | 
|             oEmpMessageBill = new BLL.OA_EmpMessageBill(); | 
|             oEmpMessageBill.HRelationInterID = lngBillKey; | 
|             oEmpMessageBill.HRelationEntryID = lngBillKey; | 
|             oEmpMessageBill.HRelationBillType = ModName; | 
|             oEmpMessageBill.HRelationBillNo = ""; | 
|             oEmpMessageBill.Show(); | 
|   | 
|         } | 
|   | 
|         | 
|     } | 
| } |