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 Xs_SeOrderBillMulLevBOMQuery  : Form 
 | 
    { 
 | 
        public Xs_SeOrderBillMulLevBOMQuery () 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public DBUtility.frmBillQueryCondition_New frmCondition; 
 | 
        const string ViewName = "h_v_Xs_SeOrderBillMulLevBOMQuery "; 
 | 
        public string ModCaption = "订单多级展开"; 
 | 
        public const string ModName = "3772"; 
 | 
        public const string ModRightName = "Xs_SeOrderBillMulLevBOMQuery"; 
 | 
        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(); 
 | 
        Pub_Class.ClsGridListSum oSumGrid2 = new Pub_Class.ClsGridListSum(); 
 | 
        public Int32 iTopRow = 0;//画横线 
 | 
        int _ScrollValue = 0;//刷新 回位 
 | 
  
 | 
  
 | 
        int HQtyCol = 10;    //数量列 
 | 
        int HCheckCol = 11;  //选中列 
 | 
  
 | 
        int HSelectCol = 0;//原选中行 
 | 
  
 | 
        #region  固定代码 
 | 
        //初始化网格 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name); 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name); 
 | 
        } 
 | 
        // 
 | 
        //显示 
 | 
        private void Display() 
 | 
        { 
 | 
  
 | 
            grdSub.DataSource = null; 
 | 
            grdSub.Columns.Clear(); 
 | 
  
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            string sWhere = "";  //特殊条件(日期限制,部门限制) 
 | 
            DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere); 
 | 
            if (sDlgWhere == "") 
 | 
            { 
 | 
                //过滤条件 
 | 
                if (frmCondition.SqlStr.Trim().Length == 0) 
 | 
                    return; 
 | 
                sSql = frmCondition.SqlStr + sWhere + " order by 单据号 desc "; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                sSql = frmCondition.SqlStr + sWhere + sDlgWhere + " order by 单据号 desc "; 
 | 
                //sSql = "Select * from " + ViewName + " Where 1=1 " + sWhere + sDlgWhere + " order by 销售订单号 desc "; 
 | 
            } 
 | 
            // 
 | 
            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[0].Selected = false; 
 | 
                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() 
 | 
        { 
 | 
            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; 
 | 
            DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); 
 | 
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            { 
 | 
                oFrm = new Sc_ProcessExchangeBill(); 
 | 
                oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; 
 | 
                oFrm.BillOld = oBill; 
 | 
                oFrm.ShowDialog(); 
 | 
                if (oFrm.BillChange) 
 | 
                { 
 | 
                    //if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) 
 | 
                    //{ 
 | 
                        timer1.Enabled = true; 
 | 
                    //} 
 | 
                } 
 | 
            } 
 | 
            else  
 | 
            { 
 | 
                MessageBox.Show("单据未找到", "提示"); 
 | 
            } 
 | 
            oBill = null; 
 | 
        } 
 | 
        // 
 | 
        private Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
  
 | 
        private Int32 Fun_GetColSub(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdSub); 
 | 
        } 
 | 
        // 
 | 
        private void Xs_SeOrderBillMulLevBOMQuery_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            frmCondition = new DBUtility.frmBillQueryCondition_New(); 
 | 
            this.Text = ModCaption; 
 | 
            lblCaption.Text = ModCaption; 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            oSumGrid.oGridsum = grdSum; 
 | 
  
 | 
            oSumGrid2.ogrdMain = grdSub;  //初始化 new 
 | 
            oSumGrid2.oGridsum = grdSum2; 
 | 
  
 | 
            initGrid(); 
 | 
            //初始化快速过滤 
 | 
            dtpHBDate.Value = DateTime.Today.AddDays(-30); 
 | 
            dtpHEDate.Value = DateTime.Today; 
 | 
            dtpHBDate.Checked = false; 
 | 
            dtpHEDate.Checked = false; 
 | 
            cmbHStatus.Text = "全部"; 
 | 
            // 
 | 
        } 
 | 
        //双击查看 
 | 
        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); 
 | 
            DBUtility.Xt_BaseBillFun.SaveGrid(grdSub, this.Name); 
 | 
        } 
 | 
  
 | 
        private void mrlk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); 
 | 
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdSub, 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 sh_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_CheckBill(); 
 | 
        } 
 | 
  
 | 
        //审核单据 
 | 
        private void Sub_CheckBill() 
 | 
        { 
 | 
            //审核权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true,DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsSc_ProcessExchangeBill  oBill = new DAL.ClsSc_ProcessExchangeBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            { 
 | 
                if (oBill.omodel.HChecker.Trim() != "") 
 | 
                { 
 | 
                    MessageBox.Show("单据已审核!不能再次审核", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
                if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
                { 
 | 
                    MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
                if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
                { 
 | 
                    MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
            //审核 
 | 
            if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("审核成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        //反审单据 
 | 
        private void Sub_AbandonCheck() 
 | 
        { 
 | 
            //审核权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true,DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsSc_ProcessExchangeBill  oBill = new DAL.ClsSc_ProcessExchangeBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            { 
 | 
                if (oBill.omodel.HChecker.Trim() == "") 
 | 
                { 
 | 
                    MessageBox.Show("单据未审核!不需要反审核!", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
                if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
                { 
 | 
                    MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
                if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
                { 
 | 
                    MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
            //反审核 
 | 
            if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("反审核成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        //反审核 
 | 
        private void qsh_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_AbandonCheck(); 
 | 
        } 
 | 
  
 | 
        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(); 
 | 
        } 
 | 
  
 | 
        //合计 new 
 | 
        private void Total2() 
 | 
        { 
 | 
            if (grdSub.Rows.Count > 0 && grdSub.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid2.SetGridsum(); 
 | 
                oSumGrid2.Total(); 
 | 
            } 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdSub_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total2(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdSub_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total2(); 
 | 
        } 
 | 
  
 | 
        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) 
 | 
        { 
 | 
            ////选择打印模板 
 | 
            //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.PrintPreview(true); 
 | 
            //} 
 | 
  
 | 
            //int Qty = grdMain.SelectedRows.Count; 
 | 
            //int DYQty = DBUtility.ClsPub.isInt(Math.Ceiling(Qty / 2.0)); 
 | 
            //selectRow1 = -2; 
 | 
            //selectRow2 = -1; 
 | 
            //for (int i = 0; i < DYQty; i++) 
 | 
            //{ 
 | 
            //    if (i < DYQty - 1) 
 | 
            //    { 
 | 
            //        selectRow1 = selectRow1 + 2; 
 | 
            //        selectRow2 = selectRow2 + 2; 
 | 
            //        Sub_SetReport("LOT卡二维码"); 
 | 
            //        Report.PrintPreview(false); 
 | 
            //    } 
 | 
            //    else 
 | 
            //    { 
 | 
            //        selectRow1 = selectRow1 + 2; 
 | 
            //        selectRow2 = -1; 
 | 
            //        Sub_SetReport("LOT卡二维码"); 
 | 
            //        Report.PrintPreview(false); 
 | 
            //    } 
 | 
            //} 
 | 
        } 
 | 
  
 | 
        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); 
 | 
        } 
 | 
  
 | 
        //关闭单据 
 | 
        private void Sub_CloseBill() 
 | 
        { 
 | 
            //关闭权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            //{ 
 | 
            //    if (oBill.omodel.HChecker.Trim() == "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据未审核!不需要反审核!", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
  
 | 
            //} 
 | 
            //else 
 | 
            //{ 
 | 
            //    MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
            //    return; 
 | 
            //} 
 | 
            //关闭 
 | 
            if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("关闭成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        //反关闭单据         
 | 
        private void Sub_Cancel() 
 | 
        { 
 | 
            //反关闭权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            //{ 
 | 
            //    if (oBill.omodel.HChecker.Trim() == "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据未审核!不需要反审核!", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
  
 | 
            //} 
 | 
            //else 
 | 
            //{ 
 | 
            //    MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
            //    return; 
 | 
            //} 
 | 
            //反关闭 
 | 
            if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("反关闭成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        //作废单据         
 | 
        private void Sub_Cancelltion() 
 | 
        { 
 | 
            //作废权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            //{ 
 | 
            //    if (oBill.omodel.HChecker.Trim() == "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据未审核!不需要反审核!", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
  
 | 
            //} 
 | 
            //else 
 | 
            //{ 
 | 
            //    MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
            //    return; 
 | 
            //} 
 | 
            //作废 
 | 
            if (oBill.Cancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("作废成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        //反作废         
 | 
        private void Sub_AbandonCancelltion() 
 | 
        { 
 | 
            //反作废权限 
 | 
            if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName)) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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; 
 | 
            DAL.ClsKf_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
            //{ 
 | 
            //    if (oBill.omodel.HChecker.Trim() == "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据未审核!不需要反审核!", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已关闭!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
            //    if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
            //    { 
 | 
            //        MessageBox.Show("单据已作废!不能再次审核", "提示"); 
 | 
            //        return; 
 | 
            //    } 
 | 
  
 | 
            //} 
 | 
            //else 
 | 
            //{ 
 | 
            //    MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
            //    return; 
 | 
            //} 
 | 
            //反作废 
 | 
            if (oBill.AbandonCancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) 
 | 
            { 
 | 
                MessageBox.Show("反作废成功!", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
        #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 关闭ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_CloseBill(); 
 | 
        } 
 | 
        private void 反关闭ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_Cancel(); 
 | 
        } 
 | 
        private void 审核ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_CheckBill(); 
 | 
        } 
 | 
        private void 反审核ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_AbandonCheck(); 
 | 
        } 
 | 
        private void 作废ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_Cancelltion(); 
 | 
        } 
 | 
  
 | 
        private void 撤销作废ToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Sub_AbandonCancelltion(); 
 | 
        } 
 | 
  
 | 
        private void grdMain_Scroll(object sender, ScrollEventArgs e) 
 | 
        { 
 | 
            if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) 
 | 
            { 
 | 
                this.iTopRow = e.NewValue; 
 | 
                _ScrollValue = e.NewValue; 
 | 
            } 
 | 
        } 
 | 
          
 | 
        //清除快速过滤 
 | 
        private void btnOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            dtpHBDate.Value = DateTime.Today.AddDays(-30); 
 | 
            dtpHEDate.Value = DateTime.Today; 
 | 
            dtpHBDate.Checked = false; 
 | 
            dtpHEDate.Checked = false; 
 | 
            cmbHStatus.Text = "全部"; 
 | 
            txtHBillNo.Text = ""; 
 | 
            txtHMaterName.Text = ""; 
 | 
            txtHMaterNumber.Text = ""; 
 | 
            txtHModel.Text = "";  
 | 
        } 
 | 
  
 | 
        //快速过滤 
 | 
        private void Sub_FastQuery() 
 | 
        { 
 | 
            string sFastSQL = ""; 
 | 
            //判断状态 
 | 
            if (cmbHStatus.Text != "全部" && cmbHStatus.Text != "") 
 | 
            { 
 | 
                //if (cmbHStatus.Text == "未审核") 
 | 
                //{ 
 | 
                //    sFastSQL = sFastSQL + " and 审核人='' "; 
 | 
                //} 
 | 
                //if (cmbHStatus.Text == "已审核") 
 | 
                //{ 
 | 
                //    sFastSQL = sFastSQL + " and 审核人<>'' "; 
 | 
                //} 
 | 
                //if (cmbHStatus.Text == "未关闭") 
 | 
                //{ 
 | 
                //    sFastSQL = sFastSQL + " and 关闭人='' "; 
 | 
                //} 
 | 
                //if (cmbHStatus.Text == "已关闭") 
 | 
                //{ 
 | 
                //    sFastSQL = sFastSQL + " and 关闭人<>'' "; 
 | 
                //} 
 | 
            } 
 | 
            //判断开始日期 
 | 
            if (dtpHBDate.Checked) 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 交货日期>='" + dtpHBDate.Value.ToShortDateString() + "'"; 
 | 
            } 
 | 
            //判断结束日期 
 | 
            if (dtpHEDate.Checked) 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 交货日期<='" + dtpHEDate.Value.ToShortDateString() + "'"; 
 | 
            } 
 | 
            //销售订单号 
 | 
            if (txtHBillNo.Text.Trim() != "") 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 单据号 like '%" + txtHBillNo.Text + "%'"; 
 | 
            } 
 | 
            //产品名称 
 | 
            if (txtHMaterName.Text.Trim() != "") 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 产品名称 like '%" + txtHMaterName.Text + "%'"; 
 | 
            } 
 | 
            //产品代码 
 | 
            if (txtHMaterNumber.Text.Trim() != "") 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 产品代码 like '%" + txtHMaterNumber.Text + "%'"; 
 | 
            } 
 | 
            //规格型号 
 | 
            if (txtHModel.Text.Trim() != "") 
 | 
            { 
 | 
                sFastSQL = sFastSQL + " and 规格型号 like '%" + txtHModel.Text + "%'"; 
 | 
            } 
 | 
            //if (sFastSQL.Trim() == "") 
 | 
            //{ 
 | 
            //    MessageBox.Show("没有输入条件!"); 
 | 
            //    return; 
 | 
            //} 
 | 
            sDlgWhere = sFastSQL; 
 | 
            Display(); 
 | 
            sDlgWhere = ""; 
 | 
        } 
 | 
  
 | 
  
 | 
        private void grdMain_CellClick(object sender, DataGridViewCellEventArgs e) 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
                return; 
 | 
  
 | 
            //判断有没有选中行 
 | 
            bool isCheck = false; 
 | 
            for (int i = 0; i < grdSub.Rows.Count; i++) 
 | 
            { 
 | 
                if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true) 
 | 
                {  
 | 
                    isCheck = true; 
 | 
                } 
 | 
            } 
 | 
            if (isCheck == true && HSelectCol != grdMain.CurrentRow.Index) 
 | 
            { 
 | 
                if (MessageBox.Show("存在未保存记录,是否放弃保存?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) 
 | 
                { 
 | 
                    grdSub_Show(); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    grdMain.Rows[grdMain.CurrentRow.Index].Selected = false; 
 | 
                    grdMain.Rows[HSelectCol].Selected = true; 
 | 
                    grdMain.CurrentCell = grdMain.Rows[HSelectCol].Cells[Fun_GetCol("单据号")]; 
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                if (HSelectCol != grdMain.CurrentRow.Index) 
 | 
                { 
 | 
                    grdSub_Show(); 
 | 
                } 
 | 
            } 
 | 
            
 | 
        } 
 | 
        private void grdSub_Show() 
 | 
        { 
 | 
            grdSub.DataSource = null; 
 | 
            grdSub.Columns.Clear(); 
 | 
            ClsCN oCn = new ClsCN(); 
 | 
            DataSet Ds1; 
 | 
            long sHMaterID; 
 | 
            double sHQty; 
 | 
            long sHInterID; 
 | 
            long sHEntryID; 
 | 
            sHMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmaterid")].Value); 
 | 
            sHQty = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("数量")].Value); 
 | 
            sHInterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); 
 | 
            sHEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hsubid")].Value); 
 | 
            Ds1 = oCn.RunProcReturn("exec h_p_Xs_SeOrderBillMulLevBOMQuery " + sHMaterID + "," + sHQty + "," + sHInterID + "," + sHEntryID, "h_p_Xs_SeOrderBillMulLevBOMQuery"); 
 | 
            grdSub.DataSource = Ds1.Tables[0].DefaultView; 
 | 
  
 | 
            DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn(); 
 | 
            columncb.HeaderText = "选择"; 
 | 
            columncb.Name = "cb_check"; 
 | 
            columncb.TrueValue = true; 
 | 
            columncb.FalseValue = false; 
 | 
            //column9.DataPropertyName = "IsScienceNature"; 
 | 
            columncb.DataPropertyName = "IsChecked"; 
 | 
            grdSub.Columns.Add(columncb); 
 | 
  
 | 
            // 
 | 
            HQtyCol = Fun_GetColSub("申请数量"); 
 | 
            HCheckCol = grdSub.ColumnCount-1; 
 | 
            // 
 | 
            //设置合计列 
 | 
            string sTotalCol = ""; 
 | 
            sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(Ds1); 
 | 
            string[] sT; 
 | 
            sT = sTotalCol.Split(Convert.ToChar(",")); 
 | 
            oSumGrid2.BuildTotalCols(sT); 
 | 
            //冻结 
 | 
            int FrCol = 0; 
 | 
            string s = ""; 
 | 
            DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name, s, FrCol); 
 | 
            grdSub.ReadOnly = false; 
 | 
        } 
 | 
        private void grdSub_CellClick(object sender, DataGridViewCellEventArgs e) 
 | 
        { 
 | 
            if (grdSub.CurrentRow == null) 
 | 
                return; 
 | 
            if (e.ColumnIndex == HCheckCol && DBUtility.ClsPub.isInt(grdSub.Rows[grdSub.CurrentRow.Index].Cells[Fun_GetColSub("herpclsid")].Value)==1) 
 | 
            { 
 | 
                if (DBUtility.ClsPub.isBool(grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value) == false) 
 | 
                { 
 | 
                    grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = true; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = false; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void grdSub_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) 
 | 
        { 
 | 
            if (e.ColumnIndex != HQtyCol) 
 | 
            { 
 | 
                e.Cancel = true; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void cg_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            string HBillNo; 
 | 
            //判断有没有选中行 
 | 
            bool isCheck = false; 
 | 
            for (int i = 0; i < grdSub.Rows.Count; i++) 
 | 
            { 
 | 
                if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true) 
 | 
                { 
 | 
                    if (DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("申请数量")].Value) > DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("未申请数量")].Value)) 
 | 
                    { 
 | 
                        MessageBox.Show("物料代码:" + DBUtility.ClsPub.isStrNull(grdSub.Rows[i].Cells[Fun_GetColSub("物料代码")].Value) + "申请数量不能大于未申请数量!","提示"); 
 | 
                        return; 
 | 
                    } 
 | 
                    isCheck = true; 
 | 
                } 
 | 
            } 
 | 
            if (isCheck == false) 
 | 
            { 
 | 
                MessageBox.Show("没有选择需要采购的物料!","提示"); 
 | 
                return; 
 | 
            } 
 | 
  
 | 
            long HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HEmpID")].Value); 
 | 
            long HDeptID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HDeptID")].Value); 
 | 
            long HSourceInterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); 
 | 
            long HSourceEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hsubid")].Value);  
 | 
            string HSourceBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("单据号")].Value); 
 | 
            string HSourceTranType = "81"; 
 | 
            ClsCNK3 oCnK3 = new ClsCNK3(); 
 | 
            try 
 | 
            { 
 | 
                HBillNo = DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3("70", oCnK3); 
 | 
  
 | 
                //得到用户ID 
 | 
                long HBillerID; 
 | 
                DataSet DsBiller; 
 | 
                string HSourceBillType = ""; 
 | 
                DsBiller = oCnK3.RunProcReturn("select top 1 fuserid from t_User where fname='" + DBUtility.ClsPub.CurUserName + "'", "t_User"); 
 | 
                if (DsBiller.Tables[0].Rows.Count != 0) 
 | 
                { 
 | 
                    HBillerID = DBUtility.ClsPub.isLong(DsBiller.Tables[0].Rows[0][0]); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    HBillerID = 16394; 
 | 
                } 
 | 
                // 
 | 
                DataSet Ds1; 
 | 
                //得到mainid 
 | 
                long HInterID=0; 
 | 
                Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNum 'POrequest', @InterID output, 1, " + HBillerID.ToString() + " select ltrim(@InterID)", "GetICMaxNum"); 
 | 
                //Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNumOld  'ICStockBill',@InterID output select ltrim(@InterID)", "xt_xtgnb"); 
 | 
                if (Ds1.Tables[0].Rows.Count != 0) 
 | 
                { 
 | 
                    HInterID = DBUtility.ClsPub.isLong(Ds1.Tables[0].Rows[0][0]); 
 | 
                } 
 | 
                if (HInterID == 0) 
 | 
                { 
 | 
                    MessageBox.Show("生成HInterID失败!"); 
 | 
                    return; 
 | 
                } 
 | 
  
 | 
                oCnK3.BeginTran(); 
 | 
                int j = 0; 
 | 
                long HMaterID; 
 | 
                long HUnitID; 
 | 
                double HQty; 
 | 
                for (int i = 0; i < grdSub.Rows.Count; i++) 
 | 
                { 
 | 
                    if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true) 
 | 
                    { 
 | 
                        j = j + 1; 
 | 
                        HMaterID = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("hmaterid")].Value); 
 | 
                        HUnitID = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("HUnitID")].Value); 
 | 
                        HQty = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("申请数量")].Value); 
 | 
  
 | 
                        ////华裕 
 | 
                        //oCnK3.RunProc("INSERT INTO POrequestEntry " + 
 | 
                        //                "(FInterID,FEntryID,FBrNo,FItemID,FAuxPropID,FQty,FUnitID,Fauxqty" + 
 | 
                        //                ",FSecCoefficient,FSecQty,FAPurchTime,FBOMCategory,FBomInterID,Fuse" + 
 | 
                        //                ",FSupplyID,FFetchTime,FPlanOrderInterID,FSourceBillNo,FSourceTranType" + 
 | 
                        //                ",FSourceInterId,FSourceEntryID,FMrpLockFlag,FPlanMode,FIsInquiry,FMTONo)  " + 
 | 
                        //                "Values (" + HInterID + "," + j + ",'0'," + HMaterID + ",0," + HQty + "," + HUnitID + "," + HQty + 
 | 
                        //                ",0,0,CONVERT(CHAR(10),GETDATE(),120),0,0,''" + 
 | 
                        //                ",0,CONVERT(CHAR(10),GETDATE(),120),0,'" + HSourceBillNo + "'," + HSourceTranType + 
 | 
                        //                "," + HSourceInterID + "," + HSourceEntryID + ",0,14036,0,'' )"); 
 | 
  
 | 
                        //本地 
 | 
                        oCnK3.RunProc("INSERT INTO POrequestEntry " + 
 | 
                                      "(FInterID,FEntryID,FBrNo,FItemID,FAuxPropID,FQty,FUnitID,Fauxqty" + 
 | 
                                      ",FSecCoefficient,FSecQty,FAPurchTime,FBomInterID,Fuse" + 
 | 
                                      ",FSupplyID,FFetchTime,FPlanOrderInterID,FSourceBillNo,FSourceTranType" + 
 | 
                                      ",FSourceInterId,FSourceEntryID,FMrpLockFlag,FPlanMode,FMTONo)  " + 
 | 
                                      "Values (" + HInterID + "," + j + ",'0'," + HMaterID + ",0," + HQty + "," + HUnitID + "," + HQty + 
 | 
                                      ",0,0,CONVERT(CHAR(10),GETDATE(),120),0,''" + 
 | 
                                      ",0,CONVERT(CHAR(10),GETDATE(),120),0,'" + HSourceBillNo + "'," + HSourceTranType + 
 | 
                                      "," + HSourceInterID + "," + HSourceEntryID + ",0,14036,'' )"); 
 | 
                    } 
 | 
                } 
 | 
                //    ////华裕 
 | 
                //oCnK3.RunProc("INSERT INTO POrequest" + 
 | 
                //                "(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus,Fdate" + 
 | 
                //                ",FDeptID,FBizType,Fnote,FRequesterID,FCheckTime,FBillerID,FMRP" + 
 | 
                //                ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" + 
 | 
                //                ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" + 
 | 
                //                ",FSelTranType,FPrintCount,FPlanConfirmed,FPlanCategory" + 
 | 
                //                ",FGeneratePurBudQty,FHeadSelfP0131,FHeadSelfP0133,FHeadSelfP0132) " + 
 | 
                //                "Values (" + HInterID + ",'" + HBillNo + "','0',70,0,0,CONVERT(CHAR(10),GETDATE(),120) " + 
 | 
                //                "," + HDeptID + ",12510,''," + HEmpID + ",Null," + HBillerID + ",0" + 
 | 
                //                ",Null,Null,Null,Null,Null,Null" + 
 | 
                //                ",81,0,0,'1'" + 
 | 
                //                ",0,40274,'','')"); 
 | 
  
 | 
                //本地   
 | 
                oCnK3.RunProc("INSERT INTO POrequest" + 
 | 
                                    "(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus,Fdate" + 
 | 
                                    ",FDeptID,FBizType,Fnote,FRequesterID,FCheckTime,FBillerID,FMRP" + 
 | 
                                    ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" + 
 | 
                                    ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" + 
 | 
                                    ",FSelTranType,FPlanConfirmed" + 
 | 
                                    ",FGeneratePurBudQty) " + 
 | 
                                    "Values (" + HInterID + ",'" + HBillNo + "','0',70,0,0,CONVERT(CHAR(10),GETDATE(),120) " + 
 | 
                                    "," + HDeptID + ",12510,''," + HBillerID + ",Null," + HBillerID + ",0" + 
 | 
                                    ",Null,Null,Null,Null,Null,Null" + 
 | 
                                    ",81,0" + 
 | 
                                    ",0)"); 
 | 
  
 | 
                oCnK3.Commit(); 
 | 
            } 
 | 
            catch (Exception ex) 
 | 
            { 
 | 
                oCnK3.RollBack(); 
 | 
                throw (ex); 
 | 
            } 
 | 
  
 | 
            MessageBox.Show("单据号:" + HBillNo + ",保存完毕!"); 
 | 
  
 | 
            grdSub_Show(); 
 | 
  
 | 
        } 
 | 
  
 | 
        private void grdMain_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
                return; 
 | 
            HSelectCol = grdMain.CurrentRow.Index; 
 | 
        } 
 | 
  
 | 
        private void zqlfx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
                return; 
 | 
            long HInterID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hmainid")].Value); 
 | 
            long HEntryID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hsubid")].Value); 
 | 
            long HMaterID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hmaterid")].Value); 
 | 
            double HQty = DBUtility.ClsPub.isDoule(grdMain.CurrentRow.Cells[Fun_GetCol("数量")].Value); 
 | 
            if (HInterID == 0 || HEntryID == 0 || HMaterID == 0 || HQty == 0) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            Sc_OrderLackMaterialAnalyse oZQLFX = new Sc_OrderLackMaterialAnalyse(); 
 | 
            oZQLFX.HInterID = HInterID; 
 | 
            oZQLFX.HEntryID = HEntryID; 
 | 
            oZQLFX.HMaterID = HMaterID; 
 | 
            oZQLFX.HQty = HQty; 
 | 
            oZQLFX.ShowDialog(); 
 | 
        }  
 | 
  
 | 
         
 | 
    } 
 | 
} 
 |