using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using gregn6Lib; 
 | 
using SQLHelper; 
 | 
  
 | 
namespace WorkM 
 | 
{ 
 | 
    public partial class Sc_OrderLackMaterialAnalyse  : Form 
 | 
    { 
 | 
        public Sc_OrderLackMaterialAnalyse () 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public DBUtility.frmBillQueryCondition_New frmCondition; 
 | 
        const string ViewName = "h_v_Sc_OrderLackMaterialAnalyse "; 
 | 
        public string ModCaption = "订单足缺料分析"; 
 | 
        public const string ModName = "3772"; 
 | 
        public const string ModRightName = "Sc_OrderLackMaterialAnalyse"; 
 | 
        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 const string ModRightNameMoney = ModRightName + "_Money"; 
 | 
        public const string ModRightNameQty = ModRightName + "_Qty"; 
 | 
        DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); 
 | 
        public Sc_ProcessExchangeBill oFrm; 
 | 
        public string sDlgWhere = "";  //外窗体递入 
 | 
        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); 
 | 
        public Int32 iTopRow = 0;//画横线 
 | 
        int _ScrollValue = 0;//刷新 回位 
 | 
  
 | 
        public long HInterID; //销售订单主ID 
 | 
        public long HEntryID; //销售订单子ID 
 | 
        public long HMaterID; //物料ID 
 | 
        public double HQty;     //数量 
 | 
  
 | 
        #region  固定代码 
 | 
        //初始化网格 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); 
 | 
        } 
 | 
        // 
 | 
        //显示 
 | 
        private void Display() 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            string sWhere = "";  //特殊条件(日期限制,部门限制) 
 | 
            DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere); 
 | 
  
 | 
            sSql = "exec h_p_Sc_OrderLackMaterialAnalyse " + HMaterID + "," + HQty + "," + HInterID + "," + HEntryID; 
 | 
            // 
 | 
            DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            //释放冻结 
 | 
            DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain); 
 | 
            //刷新后,回滚到原位置 
 | 
            int selectRows = 0; 
 | 
            if (grdMain.CurrentRow != null) 
 | 
            { 
 | 
                selectRows = DBUtility.ClsPub.isInt(grdMain.CurrentRow.Index); 
 | 
            } 
 | 
            //绑定 
 | 
            grdMain.DataSource = DSet.Tables[0].DefaultView; 
 | 
            //刷新后,回滚到原位置 
 | 
            if (grdMain.Rows.Count > _ScrollValue) 
 | 
            { 
 | 
                grdMain.FirstDisplayedScrollingRowIndex = _ScrollValue; 
 | 
                //iTopRow = _ScrollValue; 
 | 
            } 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.Rows.Count > selectRows) 
 | 
            { 
 | 
                grdMain.Rows[selectRows].Selected = true; 
 | 
            } 
 | 
            //设置合计列 
 | 
            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(); 
 | 
            // 
 | 
            Total(); 
 | 
             
 | 
            //  
 | 
        } 
 | 
        //时间控件 
 | 
        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; 
 | 
            Sub_FastQuery(); 
 | 
        } 
 | 
        //显示单据 
 | 
        private void dj_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_ShowBill(); 
 | 
        } 
 | 
        //显示单据 
 | 
        private void Sub_ShowBill() 
 | 
        {  
 | 
        } 
 | 
        // 
 | 
        private Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
        // 
 | 
        private void Sc_OrderLackMaterialAnalyse_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
            this.Text = ModCaption; 
 | 
            lblCaption.Text = ModCaption; 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            oSumGrid.oGridsum = grdSum; 
 | 
            initGrid();  
 | 
            // 
 | 
        } 
 | 
        //双击查看 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            //Sub_ShowBill(); 
 | 
        } 
 | 
        //查询 
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
            SetCondition(frmCondition, ViewName, this.Name); 
 | 
            frmCondition.ShowDialog(); 
 | 
            if (frmCondition.Tag.ToString() == "OK") 
 | 
            { 
 | 
                Display(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        public void SetCondition(DBUtility.frmBillQueryCondition_New frmCondition, string ViewName, string Name) 
 | 
        { 
 | 
            frmCondition.Tag = ""; 
 | 
            frmCondition.ViewName = ViewName; 
 | 
            frmCondition.ModName = Name; 
 | 
        } 
 | 
  
 | 
        private void xz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            oFrm = new Sc_ProcessExchangeBill(); 
 | 
            oFrm.ShowDialog(); 
 | 
        } 
 | 
  
 | 
        private void sc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_DeleteBill(); 
 | 
        } 
 | 
        //删除 
 | 
        private void Sub_DeleteBill() 
 | 
        { 
 | 
            
 | 
  
 | 
        } 
 | 
  
 | 
        private void timer2_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer2.Enabled = false; 
 | 
            if (sDlgWhere == "") 
 | 
            { 
 | 
                frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
                SetCondition(frmCondition, ViewName, this.Name); 
 | 
                frmCondition.ShowDialog(); 
 | 
                if (frmCondition.Tag.ToString() == "OK") 
 | 
                { 
 | 
                    timer1.Enabled = true; 
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                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); 
 | 
        } 
 | 
        //  
 | 
        private void GraphLine() 
 | 
        { 
 | 
            int MainIDCol = Fun_GetCol("hmainid"); 
 | 
            int SubIDCol = Fun_GetCol("hsubid"); 
 | 
            string s = frmCondition.cmbHComplete.Text; 
 | 
            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); 
 | 
            //画横线 
 | 
            DBUtility.Xt_BaseBillFun.GraphicsRowGrid(grdMain, iTopRow, iTopRow + 50, Fun_GetCol("hmainid")); 
 | 
        } 
 | 
  
 | 
        // 
 | 
        private void grdMain_Paint(object sender, PaintEventArgs e) 
 | 
        { 
 | 
            GraphicsGrid(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void Total() 
 | 
        { 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid.SetGridsum(); 
 | 
                oSumGrid.Total(); 
 | 
            } 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void dc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); 
 | 
        } 
 | 
  
 | 
  
 | 
        #endregion 
 | 
  
 | 
        #region  //打印设置 
 | 
  
 | 
        GridppReport Report; 
 | 
  
 | 
        private void set_Click(object sender, EventArgs e) 
 | 
        { 
 | 
             //选择打印模板 
 | 
            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); 
 | 
            oFrm.sBillName = ModName; 
 | 
            oFrm.sBillModel = ModCaption; 
 | 
            oFrm.ShowDialog();  
 | 
        } 
 | 
  
 | 
        private void dy_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) 
 | 
            { 
 | 
                // 
 | 
                Sub_SetReport(oFrm.sOpenTmp); 
 | 
                Report.Print(true); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //预览 
 | 
        private void yl_Click(object sender, EventArgs e) 
 | 
        {  
 | 
        } 
 | 
  
 | 
        private void Sub_SetReport(string sOpenTmp) 
 | 
        { 
 | 
            //判断行数 
 | 
            // 
 | 
            Report = new GridppReport(); 
 | 
            Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf");  //here . 
 | 
            Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); 
 | 
            Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); 
 | 
        } 
 | 
        private void ReportBeforePostRecord()//  
 | 
        { 
 | 
            //Report.FieldByName("条码编号1").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow1].Cells[Fun_GetCol("单据号")].Value); 
 | 
            //if (selectRow2 != -1) 
 | 
            //{ 
 | 
            //    Report.FieldByName("条码编号2").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow2].Cells[Fun_GetCol("单据号")].Value); 
 | 
            //} 
 | 
        } 
 | 
        private void ReportFetchRecordByDataTable() 
 | 
        { 
 | 
            BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, 0); 
 | 
        } 
 | 
          
 | 
        #endregion 
 | 
         
 | 
  
 | 
        #region 额外方法 
 | 
  
 | 
        //上查 
 | 
        private void shc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
           // 
 | 
        } 
 | 
  
 | 
        private void xc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        private void yc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            BLL.Gy_GridView_Hide oHide = new BLL.Gy_GridView_Hide(); 
 | 
            oHide.KeyItem = this.Name; 
 | 
            oHide.oGrd = grdMain; 
 | 
            oHide.ShowDialog(); 
 | 
            // 
 | 
            DBUtility.ClsPub.HideGridView(grdMain, Name, DBUtility.ClsPub.AppPath);//设置隐藏列 
 | 
        } 
 | 
          
 | 
  
 | 
        private void grdMain_Scroll(object sender, ScrollEventArgs e) 
 | 
        { 
 | 
            if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) 
 | 
            { 
 | 
                this.iTopRow = e.NewValue; 
 | 
                _ScrollValue = e.NewValue; 
 | 
            } 
 | 
        } 
 | 
           
 | 
  
 | 
        //快速过滤 
 | 
        private void Sub_FastQuery() 
 | 
        { 
 | 
            Display(); 
 | 
        }  
 | 
         
 | 
    } 
 | 
} 
 |