| 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 DBUtility; | 
| using SQLHelper; | 
|   | 
| namespace WorkM | 
| { | 
|     public partial class MES_StockBillDiffReport : Form   //简单报表-直接有一个存储过程+简单过滤,返回生成报表 | 
|     { | 
|         public MES_StockBillDiffReport() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|         public string ModName = ""; | 
|         public string ModCaption = "出入库单异常报表"; | 
|         Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); | 
|         public Int32 iTopRow = 0;//画横线 | 
|         int _ScrollValue = 0;//刷新 回位 | 
|   | 
|   | 
|         #region 固定代码  | 
|   | 
|         private void initGrid() | 
|         { | 
|             DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name); | 
|         } | 
|   | 
|         //得到对应列 | 
|         private Int32 Fun_GetCol(string sCol) | 
|         { | 
|             return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); | 
|         } | 
|   | 
|         private void tc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Close(); | 
|         } | 
|   | 
|         //Sc_ICMOProcFlowExecReportDlg oDlg = new Sc_ICMOProcFlowExecReportDlg(); | 
|         private void cx_Click(object sender, EventArgs e) | 
|         { | 
|             //oDlg.ShowDialog(); | 
|             //if (oDlg.IsOk == 1) | 
|             //{ | 
|                 timer1.Enabled = true; | 
|             //} | 
|         } | 
|         //设置报表名称 | 
|         private void SetFormCaption() | 
|         { | 
|             this.Text = ModCaption; | 
|             lblCaption.Text = this.Text; | 
|             initGrid();//网格标题初始化 | 
|             initHeadCaption();//表头初始化 | 
|         } | 
|   | 
|   | 
|         private void Frm_EasyReport_Load(object sender, EventArgs e) | 
|         { | 
|             SetFormCaption(); | 
|             oSumGrid.ogrdMain = grdMain;  //初始化 new | 
|             oSumGrid.oGridsum = grdSum; | 
|         } | 
|   | 
|   | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             if (Fun_AllowQuery()) | 
|             { | 
|                 initGrid(); | 
|                 Xt_Wait oFrm = new Xt_Wait(); | 
|                 oFrm.Show(); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 Display(); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 oFrm.Close(); | 
|                 oFrm.Dispose(); | 
|             } | 
|         } | 
|   | 
|         private void Sc_ICMOProcFlowExecReport_KeyUp(object sender, KeyEventArgs e) | 
|         { | 
|             if (e.KeyValue == 13) | 
|                 timer1.Enabled = true; | 
|         } | 
|   | 
|         private void mrlk_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); | 
|         } | 
|   | 
|         private void bclk_Click(object sender, EventArgs e) | 
|         { | 
|             //保存列宽 | 
|             DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); | 
|         } | 
|   | 
|         //打印 | 
|         private void dy_Click(object sender, EventArgs e) | 
|         { | 
|             Sub_SetReport(); | 
|             Report.Print(true); | 
|         } | 
|         //预览 | 
|         private void view_Click(object sender, EventArgs e) | 
|         { | 
|             Sub_SetReport(); | 
|             Report.PrintPreview(true); | 
|         } | 
|         | 
|         #endregion | 
|   | 
|         #region 界面处理 | 
|         //初始化表头显示 | 
|         private void initHeadCaption() | 
|         { | 
|             | 
|         } | 
|   | 
|         private bool Fun_AllowQuery()//审核查询条件 | 
|         { | 
|             //if (txtHBDeptID.Text.Trim().Length == 0) | 
|             //{ | 
|             //    MessageBox.Show(this, "请选择开始部门!", "提示"); | 
|             //    return false; | 
|             //} | 
|             return true; | 
|         } | 
|   | 
|         private void Display() | 
|         { | 
|             ClsCN SubCn = new ClsCN(); | 
|             DataSet DSet; | 
|             DataSet DsQty; | 
|             int BCol = 7; | 
|             long HDeptID = 0; | 
|             long HMaterID = 0; | 
|             long HEmpID = 0; | 
|             long HProcID = 0; | 
|             //显示报表头 标题 | 
|              | 
|             //停止GRID刷新 加快速度 | 
|   | 
|             //过滤条件Dlg  加入产品,与工序 | 
|              | 
|             StringBuilder sDlgWhere = new StringBuilder("'"); | 
|             sDlgWhere.Append(txtProBillNo.Text.Trim() + "','"); | 
|             sDlgWhere.Append(txtHMaterNumber.Text.Trim() + "','"); | 
|             sDlgWhere.Append(txtHBillNo.Text.Trim() + "'"); | 
|   | 
|   | 
|             //if(sDlgWhere.ToString() == "'','',''") | 
|             //{ | 
|             //    return; | 
|             //} | 
|   | 
|             //if (sDlgWhere.Trim().Length > 0) | 
|             //{ | 
|             //    sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); | 
|             //} | 
|             //---暂时未加时间过滤 | 
|             DSet = SubCn.RunProcReturn("exec h_p_MES_StockBillDiffReport " + sDlgWhere.ToString(), "Gy_Czygl"); | 
|             //生成首行标题 | 
|             if (DSet == null) | 
|             { | 
|                 MessageBox.Show("没有返回任何结果,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); | 
|                 return; | 
|             } | 
|             // | 
|             grdMain.DataSource = DSet.Tables[0].DefaultView; | 
|             //获取动态列 (物料信息) | 
|   | 
|             //DsHead = SubCn.RunProcReturn("exec h_p_Sc_ICMOProcFlowExecReport " + sDlgWhere, "Gy_Czygl"); | 
|   | 
|             //for (int a = 0; a < DsHead.Tables[0].Rows.Count; a++) | 
|             //{ | 
|             //    if (ClsPub.isLong(DsHead.Tables[0].Rows[a]["HMaterID"]) != 0) | 
|             //    { | 
|             //        grdMain.Columns.Add(ClsPub.isStrNull(DsHead.Tables[0].Rows[a]["HMaterID"]), ClsPub.isStrNull(DsHead.Tables[0].Rows[a]["HName"])); | 
|             //        grdMain.Columns[BCol].Tag = ClsPub.isLong(DsHead.Tables[0].Rows[a]["HMaterID"]); | 
|             //        BCol = BCol + 1; | 
|             //    } | 
|             //} | 
|             //BCol = 7; | 
|             ////获取动态内容  (数量信息) | 
|             //for (int row = 0; row <= grdMain.RowCount - 1; row++) | 
|             //{ | 
|             //    for (int col = BCol; col <= grdMain.ColumnCount - 1; col++) | 
|             //    { | 
|             //        HDeptID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HDeptID")].Value); | 
|             //        HMaterID = DBUtility.ClsPub.isLong(grdMain.Columns[col].Tag); | 
|             //        HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HEmpID")].Value); | 
|             //        HProcID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HProcID")].Value); | 
|             //        DsQty = SubCn.RunProcReturn("exec h_p_Sc_ICMOProcFlowExecReport " + sDlgWhere, "Gy_Czygl"); | 
|             //        if (DsQty != null && DsQty.Tables[0].Rows.Count > 0) | 
|             //        { | 
|             //            grdMain.Rows[row].Cells[col].Value = DBUtility.ClsPub.isDoule(DsQty.Tables[0].Rows[0]["HQty"], 2); | 
|             //        } | 
|             //    } | 
|             //} | 
|   | 
|             //设置合计列 | 
|             string sTotalCol = ""; | 
|             sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); | 
|             string[] sT; | 
|             sT = sTotalCol.Split(Convert.ToChar(",")); | 
|             oSumGrid.BuildTotalCols(sT); | 
|             //   | 
|             DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "是", 0); | 
|             // | 
|             DBUtility.Xt_BaseBillFun.GetGrid(grdMain, this.Name); | 
|             Total(); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 打印设置 | 
|   | 
|         //打印设置 | 
|         GridppReport Report; | 
|         //设置打印模版路径 | 
|         private void Sub_SetReport() | 
|         { | 
|             Report = new GridppReport(); | 
|             Report.LoadFromFile(ClsPub.AppPath + @"\Report\应收款明细表.grf");  //here . | 
|             Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); | 
|             Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); | 
|         } | 
|         //填入单据表头信息 | 
|         private void ReportBeforePostRecord()//your report?kao | 
|         { | 
|             //Report.FieldByName("HDateItemID").AsString = lblHDateItemID.Text; | 
|             //Report.FieldByName("CusNumber").AsString = lblHCusNumber.Text; | 
|             //Report.FieldByName("CusName").AsString = lblHCusName.Text; | 
|             //Report.FieldByName("BeginBalance").AsString = lblHBeginBalance.Text; | 
|         } | 
|         //填入单据明细信息 | 
|         private void ReportFetchRecordByDataTable() | 
|         { | 
|             //Utility.FillRecordToReport(Report, grdMain, false); | 
|         } | 
|         #endregion | 
|   | 
|         #region 数据导出 | 
|   | 
|         private void yc_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); | 
|         } | 
|         #endregion | 
|   | 
|         private void timer2_Tick(object sender, EventArgs e) | 
|         { | 
|             timer2.Enabled = false; | 
|             //oDlg.ShowDialog(); | 
|             //if (oDlg.IsOk == 1) | 
|             //{ | 
|                 timer1.Enabled = true; | 
|             //} | 
|         } | 
|   | 
|   | 
|         private void Total() | 
|         { | 
|             if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) | 
|             { | 
|                 oSumGrid.SetGridsum(); | 
|                 oSumGrid.TotalAll(); | 
|             } | 
|         } | 
|   | 
|         private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) | 
|         { | 
|             oSumGrid.SetGridsum_NoData(); | 
|         } | 
|   | 
|         private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) | 
|         { | 
|             oSumGrid.SetGridsum_NoData(); | 
|         } | 
|   | 
|         private void grdMain_Paint(object sender, PaintEventArgs e) | 
|         { | 
|             DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); | 
|         } | 
|   | 
|         private void MES_StockBillDiffReport_KeyDown(object sender, KeyEventArgs e) | 
|         { | 
|             if (e.KeyCode == Keys.F7) | 
|             { | 
|                 TotalAll(); | 
|             } | 
|         } | 
|         private void TotalAll() | 
|         { | 
|             if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) | 
|             { | 
|                 oSumGrid.SetGridsum(); | 
|                 oSumGrid.TotalAll(); | 
|             } | 
|         } | 
|   | 
|         private void cmdfind_Click(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = true; | 
|         } | 
|   | 
|         private void grdMain_Scroll(object sender, ScrollEventArgs e) | 
|         { | 
|             if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) | 
|             { | 
|                 this.iTopRow = e.NewValue; | 
|                 _ScrollValue = e.NewValue; | 
|             } | 
|   | 
|             if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll) | 
|             { | 
|                 oSumGrid.SetGridsum_NoData(); | 
|             } | 
|         } | 
|   | 
|         private void eXCELToolStripMenuItem_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Gy_BaseFun.Data2Excel(this.Text, grdMain, this.Name); | 
|         } | 
|   | 
|         private void cSVToolStripMenuItem_Click(object sender, EventArgs e) | 
|         { | 
|             DBUtility.Gy_BaseFun.DataGridViewToExcel2(grdMain, this.Text, this.Text); | 
|         } | 
|   | 
|   | 
|     } | 
| } |