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; 
 | 
using System.IO; 
 | 
  
 | 
namespace WorkM 
 | 
{ 
 | 
    public partial class Sc_ProcExchangeNoInReport : Form   //简单报表-直接有一个存储过程+简单过滤,返回生成报表 
 | 
    { 
 | 
        public Sc_ProcExchangeNoInReport() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public string ModName = ""; 
 | 
        public string ModCaption = "流转卡末入库报表"; 
 | 
  
 | 
        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); 
 | 
  
 | 
        #region  固定代码 
 | 
  
 | 
        private void Sc_ProcExchangeNoInReport_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            SetFormCaption(); 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            //oSumGrid.oGridsum = grdSum; 
 | 
            dtpHBDate.Value = DateTime.Today.AddMonths(-1); 
 | 
            dtpHEDate.Value = DateTime.Today; 
 | 
        } 
 | 
  
 | 
  
 | 
        //设置报表名称 
 | 
        private void SetFormCaption() 
 | 
        { 
 | 
            this.Text = ModCaption; 
 | 
            lblCaption.Text = this.Text; 
 | 
            initGrid();//网格标题初始化 
 | 
            initHeadCaption();//表头初始化 
 | 
        } 
 | 
  
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name); 
 | 
        } 
 | 
  
 | 
        //初始化表头显示 
 | 
        private void initHeadCaption() 
 | 
        { 
 | 
  
 | 
        } 
 | 
  
 | 
        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 timer2_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer2.Enabled = false; 
 | 
            timer1.Enabled = true; 
 | 
        } 
 | 
  
 | 
        private bool Fun_AllowQuery()//审核查询条件 
 | 
        { 
 | 
            //if (txtHBDeptID.Text.Trim().Length == 0) 
 | 
            //{ 
 | 
            //    MessageBox.Show(this, "请选择开始部门!", "提示"); 
 | 
            //    return false; 
 | 
            //} 
 | 
            return true; 
 | 
        } 
 | 
  
 | 
        private void grdMain_Paint(object sender, PaintEventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); 
 | 
        } 
 | 
  
 | 
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void Total() 
 | 
        { 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid.SetGridsum(); 
 | 
                oSumGrid.Total(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //得到对应列 
 | 
        private Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
  
 | 
        private void Xs_SellOutPriceReport_KeyUp(object sender, KeyEventArgs e) 
 | 
        { 
 | 
            if (e.KeyValue == 13) 
 | 
                timer1.Enabled = true; 
 | 
        } 
 | 
  
 | 
        //保存列宽 
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); 
 | 
        } 
 | 
  
 | 
        //默认列宽 
 | 
        private void mrlk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        #region  查询功能 
 | 
  
 | 
        private void btnClear_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            dtpHBDate.Value = DateTime.Today.AddMonths(-1); 
 | 
            dtpHEDate.Value = DateTime.Today; 
 | 
            txtHICMOBillNo.Text = ""; 
 | 
            txtHProcessExchangeBillNo.Text = ""; 
 | 
            txtHMaterNumber.Text = ""; 
 | 
            txtHMaterName.Text = ""; 
 | 
            txtHMaterModel.Text = ""; 
 | 
        } 
 | 
  
 | 
        private void cmdcx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = true; 
 | 
        } 
 | 
  
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = true; 
 | 
        } 
 | 
  
 | 
        private void Display() 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet = new DataSet(); 
 | 
  
 | 
            //过滤条件Dlg 
 | 
            DateTime HBDate = dtpHBDate.Value; 
 | 
            DateTime HEDate = dtpHEDate.Value; 
 | 
            string HICMOBillNo = txtHICMOBillNo.Text;                           //生产订单号 
 | 
            string HProcessExchangeBillNo = txtHProcessExchangeBillNo.Text;     //流转卡号 
 | 
            string HMaterNumber = txtHMaterNumber.Text;                         //物料代码 
 | 
            string HMaterName = txtHMaterName.Text;                             //物料名称 
 | 
            string HMaterModel = txtHMaterModel.Text;                           //规格型号 
 | 
            string sWhere = " and 日期 between ''" + HBDate.ToShortDateString() + "'' and ''" + HEDate.ToShortDateString() + "''"; 
 | 
  
 | 
            if(HICMOBillNo !="") 
 | 
            { 
 | 
                sWhere += " and 生产订单号 like ''%" + HICMOBillNo + "%''"; 
 | 
            } 
 | 
            if (HProcessExchangeBillNo != "") 
 | 
            { 
 | 
                sWhere += " and 工序流转卡号 like ''%" + HProcessExchangeBillNo + "%''"; 
 | 
            } 
 | 
            if (HMaterNumber != "") 
 | 
            { 
 | 
                sWhere += " and 物料代码 like ''%" + HMaterNumber + "%''"; 
 | 
            } 
 | 
            if (HMaterName != "") 
 | 
            { 
 | 
                sWhere += " and 物料名称 like ''%" + HMaterName + "%''"; 
 | 
            } 
 | 
            if (HMaterModel != "") 
 | 
            { 
 | 
                sWhere += " and 规格型号 like ''%" + HMaterModel + "%''"; 
 | 
            } 
 | 
  
 | 
            //根据用户获取用户关联客户的过滤条件 
 | 
            //权限判断:是否可以查看所有客户 
 | 
            string sHCusID = ""; 
 | 
            if (DBUtility.ClsPub.Security_Log_second("Gy_UserLookAllCus", 1, false, DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                sHCusID = ""; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                DataSet ds = SubCn.RunProcReturn("select * from Gy_UserCustomerRelation where HUserID = '" + DBUtility.ClsPub.CurUserID + "'", "Gy_UserCustomerRelation"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sHCusID = " and 1 = 0"; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    sHCusID = " and HCusID in ("; 
 | 
                    for (var i = 0; i < ds.Tables[0].Rows.Count; i++) 
 | 
                    { 
 | 
                        if (i < ds.Tables[0].Rows.Count - 1) 
 | 
                        { 
 | 
                            sHCusID += ds.Tables[0].Rows[i]["HCusID"].ToString() + ","; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            sHCusID += ds.Tables[0].Rows[i]["HCusID"].ToString() + ")"; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
  
 | 
            sWhere += sHCusID; 
 | 
  
 | 
            DSet = SubCn.RunProcReturn("exec h_p_Sc_ProcExchangeNoInReport '" + sWhere + "','" + HBDate.ToShortDateString() + "','" + HEDate.ToShortDateString() + "'", "h_p_Sc_ProcExchangeNoInReport"); 
 | 
            //生成首行标题 
 | 
            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); 
 | 
            //   
 | 
            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "是", 0); 
 | 
            // 
 | 
            DBUtility.Xt_BaseBillFun.GetGrid(grdMain, this.Name); 
 | 
            //Total(); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        #region  导出功能 
 | 
  
 | 
        //引出 
 | 
        private void yc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            //BLL.ClsPub_BLL.DataGridViewToExcel2(grdMain, this.Text); 
 | 
            DataGridViewToExcel2(grdMain, this.Text, this.Text); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 网格 导出EXCEL   网格,文件名,标题名 
 | 
        /// </summary> 
 | 
        public static void DataGridViewToExcel2(DataGridView grdMain, string sText, string sBTText) 
 | 
        { 
 | 
            SaveFileDialog saveFileDialog = new SaveFileDialog(); 
 | 
            saveFileDialog.Filter = "Execl文件(*.xls)|*.xls"; 
 | 
            saveFileDialog.FilterIndex = 0; 
 | 
            saveFileDialog.RestoreDirectory = true; 
 | 
            saveFileDialog.CreatePrompt = true; 
 | 
            saveFileDialog.Title = "数据视图导出EXCEL文件"; 
 | 
            saveFileDialog.FileName = sText; 
 | 
            //saveFileDialog.ShowDialog(); 
 | 
            if (saveFileDialog.ShowDialog() == DialogResult.OK) 
 | 
            { 
 | 
                Stream myStream; 
 | 
                myStream = saveFileDialog.OpenFile(); 
 | 
                StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312")); 
 | 
                string str = ""; 
 | 
                DateTime start = DateTime.Now; 
 | 
                try 
 | 
                { 
 | 
                    if (sBTText != "") 
 | 
                    { 
 | 
                        sw.WriteLine(sBTText); 
 | 
                    } 
 | 
                    //写标题 
 | 
                    bool sFirstCol = true; 
 | 
                    for (int i = 0; i < grdMain.ColumnCount; i++) 
 | 
                    { 
 | 
                        if (i > 0 && grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H" && sFirstCol != true) 
 | 
                        { 
 | 
                            str += "\t"; 
 | 
                        } 
 | 
                        if (grdMain.Columns[i].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[i].HeaderText.Substring(0, 1) != "H") 
 | 
                        { 
 | 
                            sFirstCol = false; 
 | 
                            str += grdMain.Columns[i].HeaderText; 
 | 
                        } 
 | 
                    } 
 | 
                    str = str.Replace("\n", ""); 
 | 
                    sw.WriteLine(str); 
 | 
  
 | 
                    //写内容 
 | 
                    for (int j = 0; j < grdMain.Rows.Count; j++) 
 | 
                    { 
 | 
                        string tempStr = ""; 
 | 
                        sFirstCol = true; 
 | 
                        for (int k = 0; k < grdMain.Columns.Count; k++) 
 | 
                        { 
 | 
                            if (k > 0 && grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H" && sFirstCol != true) 
 | 
                            { 
 | 
                                tempStr += "\t"; 
 | 
                            } 
 | 
                            if (grdMain.Columns[k].HeaderText.Substring(0, 1) != "h" && grdMain.Columns[k].HeaderText.Substring(0, 1) != "H") 
 | 
                            { 
 | 
                                sFirstCol = false; 
 | 
                                if (grdMain.Rows[j].Cells[k].Value == null) 
 | 
                                { 
 | 
                                    tempStr += string.Empty; 
 | 
                                } 
 | 
                                else 
 | 
                                { 
 | 
                                    tempStr += grdMain.Rows[j].Cells[k].Value.ToString(); 
 | 
                                } 
 | 
                            } 
 | 
                        } 
 | 
                        tempStr = tempStr.Replace("\n", ""); 
 | 
                        sw.WriteLine(tempStr); 
 | 
                    } 
 | 
                    sw.Close(); 
 | 
                    myStream.Close(); 
 | 
                } 
 | 
                catch (Exception ex) 
 | 
                { 
 | 
                    MessageBox.Show(ex.Message); 
 | 
                } 
 | 
                finally 
 | 
                { 
 | 
                    sw.Close(); 
 | 
                    myStream.Close(); 
 | 
                } 
 | 
                MessageBox.Show("将此工作表导出为excel共耗时:" + DateTime.Now.Subtract(start).TotalMilliseconds.ToString() + "毫秒"); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //导出 
 | 
        private void dc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        #region  退出功能 
 | 
  
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        #region  打印功能 
 | 
  
 | 
        //打印设置 
 | 
        GridppReport Report; 
 | 
  
 | 
        //预览 
 | 
        private void view_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_SetReport(); 
 | 
            Report.PrintPreview(true); 
 | 
        } 
 | 
  
 | 
        //打印 
 | 
        private void dy_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_SetReport(); 
 | 
            Report.Print(true); 
 | 
        } 
 | 
  
 | 
        //设置打印模版路径 
 | 
        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() 
 | 
        { 
 | 
            //BLL.Utility.FillRecordToReport(Report, grdMain, false); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
    } 
 | 
} 
 |