WarM/ÌõÂë¹ÜÀí/Gy_BarCodeBillList.cs
@@ -9,6 +9,8 @@
using SQLHelper;
using DBUtility;
using System.Threading;
using System.IO;
using Pub_Class;
namespace WarM
{
@@ -19,197 +21,43 @@
            InitializeComponent();
        }
        public frmBillQueryCondition_New frmCondition;
        public string ViewName = "h_v_Gy_BarCodeBillList";
        public string ViewName = "h_v_IF_BarCodeBillList";
        public string ModCaption = "条码档案列表";
        public const string ModName = "3302";
        public const string ModRightName = "Gy_BarCodeBillList";
        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.ClsGy_ICBomBill oBill = new DAL.ClsGy_ICBomBill();
        //public  Gy_ICBomBill oFrm;
        public const string ModRightNameEdit = ModRightName + "_Edit";      //删除
        public const string ModRightNameDelete = ModRightName + "_Delete";  //作废
        public const string ModRightNamePrint = ModRightName + "_Print";    //打印
        DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public int selectRow = 0;
        public int selectRow2 = 0;
        //
        private void initGrid()
        {
            DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name);
        }
        //
        public long PrintQty = 0;               //允许条码打印次数
        public string PrintQtyCtl = "";         //条码打印次数控制
        public string UpdatePrintQtyCtl = "";   //条码打印次数更新
        public string SourceQtyCtl = "";        //超源单数量控制
        private void Display()
        {
            ClsCN SubCn = new ClsCN();
            DataSet DSet;
            string sSql = "";
            string sWhere = "";
            //过滤条件
            if (frmCondition.SqlStr.Trim().Length == 0)
                return;
            sSql = frmCondition.SqlStr + sWhere + " order by æ¡ç ç¼–号  ";
            //
            DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
            //生成首行标题
            if (DSet == null)
            {
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
                return;
            }
            //
            grdMain.DataSource = DSet.Tables[0].DefaultView;
            //冻结
            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();
        }
        #region  å›ºå®šä»£ç 
        private void tc_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void sx_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }
        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.ClsGy_ICBomBill oBill = new DAL.ClsGy_ICBomBill();
            //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            //{
            //    oFrm = new Gy_ICBomBill();
            //    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 void Gy_BarCodeBillList_Load(object sender, EventArgs e)
        {
            //
            frmCondition = new frmBillQueryCondition_New();
            this.Text = ModCaption;
            lblCaption.Text = ModCaption;
            initGrid();
        }
        private void grdMain_DblClick(object sender, EventArgs e)
        private void initGrid()
        {
            Sub_ShowBill();
            DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
        }
        private void cx_Click(object sender, EventArgs e)
        private void timer1_Tick(object sender, EventArgs e)
        {
            frmCondition = new frmBillQueryCondition_New();
            SetCondition(frmCondition, ViewName, this.Name);
            frmCondition.ShowDialog();
            if (frmCondition.Tag.ToString() == "OK")
            {
                Display();
            }
        }
        public void SetCondition(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 Gy_ICBomBill();
            //oFrm.ShowDialog();
        }
        private void sc_Click(object sender, EventArgs e)
        {
            Sub_DeleteBill();
        }
        //删除
        private void Sub_DeleteBill()
        {
        //    //编辑权限
        //    if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 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.ClsGy_ICBomBill  oBill = new DAL.ClsGy_ICBomBill();
        //    if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
        //    {
        //        if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel)==DialogResult.OK)
        //        {
        //            if (oBill.omodel.HChecker != "")
        //            {
        //                MessageBox.Show("单据已经审核,不能删除!", "提示");
        //                return;
        //            }
        //            if (!oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
        //            {
        //                MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
        //                return;
        //            }
        //            else
        //            {
        //                Display();
        //            }
        //        }
        //    }
        //    else
        //    {
        //        MessageBox.Show("单据未找到", "提示");
        //    }
            timer1.Enabled = false;
            initGrid();
            Display();
        }
        private void timer2_Tick(object sender, EventArgs e)
@@ -224,124 +72,16 @@
            }
        }
        private void bclk_Click(object sender, EventArgs e)
        public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name)
        {
            //保存列宽
            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
            frmCondition.Tag = "";
            frmCondition.ViewName = ViewName;
            frmCondition.ModName = Name;
        }
        private void mrlk_Click(object sender, EventArgs e)
        private void grdMain_Paint(object sender, PaintEventArgs 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 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.ClsGy_ICBomBill  oBill = new DAL.ClsGy_ICBomBill();
            //查看是否已审核,关闭,作废
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            {
                if (oBill.omodel.HChecker.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.ClsGy_ICBomBill  oBill = new DAL.ClsGy_ICBomBill();
            //查看是否已审核,关闭,作废
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            {
                if (oBill.omodel.HChecker.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();
            GraphicsGrid();
        }
        private void GraphicsGrid()
@@ -349,136 +89,434 @@
            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
        }
        #region  //打印设置
        private Int32 Fun_GetCol(string sCol)
        {
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
        }
        //保存列宽
        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 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 Display()
        {
            ClsCN SubCn = new ClsCN();
            DataSet DSet;
            string sSql = "";
            string sWhere = "";
            //过滤条件
            if (frmCondition.SqlStr.Trim().Length == 0)
                return;
            sSql = frmCondition.SqlStr + sWhere + " order by HItemID desc  ";
            //
            DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
            //生成首行标题
            if (DSet == null)
            {
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
                return;
            }
            //
            grdMain.DataSource = DSet.Tables[0].DefaultView;
            //冻结
            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 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() + " æ¡è®°å½•";
        }
        #endregion
        #region  åˆ·æ–°åŠŸèƒ½
        private void sx_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }
        #endregion
        #region  åˆ é™¤åŠŸèƒ½
        //单条删除
        private void sc_Click(object sender, EventArgs e)
        {
            Sub_DeleteBill();
        }
        private void Sub_DeleteBill()
        {
            //判断权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要删除的条码!", "提示");
                return;
            }
            if (grdMain.SelectedRows.Count != 1)
            {
                MessageBox.Show("不允许多行删除,请重新选择要删除的条码!");
                return;
            }
            else
            {
                if (MessageBox.Show("确定要删除所选条码?删除后不能恢复,请谨慎操作!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    Int64 HItemID = 0;
                    string HBarCode = "";
                    HItemID = DBUtility.ClsPub.isLong(grdMain.SelectedRows[0].Cells[Fun_GetCol("hmainid")].Value);
                    HBarCode = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[0].Cells[Fun_GetCol("条码编号")].Value);
                    if (!oBar.DeleteBill(HItemID, HBarCode, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
                        return;
                    }
                    else
                    {
                        MessageBox.Show("删除成功!", "提示");
                        Display();
                    }
                }
            }
        }
        //批量删除
        private void ps_Click(object sender, EventArgs e)
        {
            Sub_MulDeleteBill();
        }
        private void Sub_MulDeleteBill()
        {
            //判断权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要删除的条码!", "提示");
                return;
            }
            if (grdMain.SelectedRows.Count > 300)
            {
                MessageBox.Show("批量删除条码选中行数不能超过300行!", "提示");
                return;
            }
            else
            {
                if (MessageBox.Show("确定要批量删除所选条码?删除后不能恢复,请谨慎操作!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    string HItemID = "";
                    string HBarCode = "";
                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                    {
                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        if (i != 0 && i % 100 == 0)
                        {
                            HBarCode = HBarCode + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                        else
                        {
                            HBarCode = HBarCode + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                    }
                    HItemID = HItemID.Remove(0, 1);     //去掉字符串第一个字符
                    HBarCode = HBarCode.Remove(0, 1);
                    if (!oBar.MulDeleteBill(HItemID, HBarCode, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
                        return;
                    }
                    else
                    {
                        MessageBox.Show("批量删除成功!", "提示");
                        Display();
                    }
                }
            }
        }
        #endregion
        #region  ä½œåºŸåŠŸèƒ½
        private void zf_Click(object sender, EventArgs e)
        {
            //判断权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要作废的条码!", "提示");
                return;
            }
            else
            {
                if (MessageBox.Show("确定要作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                {
                    return;
                }
                else
                {
                    string HItemID = "";
                    string HBarCode = "";
                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                    {
                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        if (i != 0 && i % 100 == 0)
                        {
                            HBarCode = HBarCode + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                        else
                        {
                            HBarCode = HBarCode + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                    }
                    HItemID = HItemID.Remove(0, 1);     //去掉字符串第一个字符
                    HBarCode = HBarCode.Remove(0, 1);
                    if (!oBar.Cancelltion(HItemID, HBarCode, DBUtility.ClsPub.CurUserName))
                    {
                        MessageBox.Show("作废失败!", "提示");
                        return;
                    }
                    else
                    {
                        MessageBox.Show("作废成功!", "提示");
                        Display();
                    }
                }
            }
        }
        #endregion
        #region  åä½œåºŸåŠŸèƒ½
        private void fzf_Click(object sender, EventArgs e)
        {
            //判断权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要反作废的条码!", "提示");
                return;
            }
            if (grdMain.SelectedRows.Count>300)
            {
                MessageBox.Show("同时反作废条码选中行数不能超过300行!", "提示");
                return;
            }
            else
            {
                if (MessageBox.Show("确定要反作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                {
                    return;
                }
                else
                {
                    string HItemID = "";
                    string HBarCode = "";
                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                    {
                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        if (i != 0 && i % 100 == 0)
                        {
                            HBarCode = HBarCode + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                        else
                        {
                            HBarCode = HBarCode + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                    }
                    HItemID = HItemID.Remove(0, 1);     //去掉字符串第一个字符
                    HBarCode = HBarCode.Remove(0, 1);
                    if (!oBar.UnCancelltion(HItemID, HBarCode, SourceQtyCtl, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示");
                        return;
                    }
                    else
                    {
                        MessageBox.Show("反作废成功!", "提示");
                        Display();
                    }
                }
            }
        }
        #endregion
        #region  æ‰“印设置
        GridppReport Report;
        int CurRows = 0;
        string sBarCodeItemID = ""; //条码自增列
        //预览
        private void yl_Click(object sender, EventArgs e)
        {
            //打印预览权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNamePrint, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            //选择打印模板
            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
            DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            oFrm.sBillName = ModName;
            oFrm.sBillModel = ModCaption;
            oFrm.ShowDialog();
            if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
            {
                //
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    selectRow2 = i + 1;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.PrintPreview(false);
                    //oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                    //
                    if (selectRow2 > grdMain.SelectedRows.Count - 1)
                    {
                    }
                    else
                    {
                       //oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i + 1].Cells[Fun_GetCol("条码编号")].Value));
                    }
                    Thread.Sleep(1000);
                    i++;
                }
                Sub_SetReport(oFrm.sOpenTmp);
                Report.PrintPreview(false);
                Thread.Sleep(1000);
            }
        }
        //打印
        private void dy_Click(object sender, EventArgs e)
        {
            //打印预览权限
            if (!DBUtility.ClsPub.Security_Log(ModRightNamePrint, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            //选择打印模板
            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(false);
                Thread.Sleep(1000);
            }
        }
        private void Sub_SetReport(string sOpenTmp)
        {
            //判断行数
            for (int i = 0; i < grdMain.Rows.Count; i++)
            {
                grdMain.Rows[i].Cells[0].Value = "";
            }
            for (int i = 0; i < grdMain.SelectedRows.Count; i++)
            {
                grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[0].Value = "*";
            }
            //
            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()//your report?kao
        {
            Report.FieldByName("物料代码").AsString =DBUtility.ClsPub.isStrNull( grdMain.SelectedRows[selectRow].Cells["物料代码"].Value);
            Report.FieldByName("物料名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells["物料名称"].Value);
            Report.FieldByName("规格型号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells["规格型号"].Value);
            Report.FieldByName("数量").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells["数量"].Value);
            Report.FieldByName("条码编号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells["条码编号"].Value);
            Report.FieldByName("条码类型").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells["条码类型"].Value);
            if (selectRow2 > grdMain.SelectedRows.Count - 1)
            try
            {
                Report.FieldByName("条码编号2").AsString = "";
                Report.FieldByName("条码类型2").AsString = "";
                //Report.FieldByName("物料代码").AsString = grdMain.Rows[CurRows].Cells[Fun_GetCol("物料代码")].Value.ToString();
                //Report.FieldByName("物料名称").AsString = grdMain.Rows[CurRows].Cells[Fun_GetCol("物料名称")].Value.ToString();
                //Report.FieldByName("规格型号").AsString = grdMain.Rows[CurRows].Cells[Fun_GetCol("规格型号")].Value.ToString();
            }
            else
            catch (Exception e)
            {
                Report.FieldByName("条码编号2").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow2].Cells["条码编号"].Value);
                Report.FieldByName("条码类型2").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow2].Cells["条码类型"].Value);
                MessageBox.Show("打印失败!表头:" + e.Message);
            }
        }
        //填入单据表体信息
        private void ReportFetchRecordByDataTable()
        {
            BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("HMaterID"));
            try
            {
                DataTable ds = new DataTable();
                BLL.Utility.FillRecordToReport(Report, grdMain, ds, Fun_GetCol("选择"));
            }
            catch (Exception e)
            {
                MessageBox.Show("打印失败!表体:" + e.Message);
            }
        }
        #endregion
        //
        private void grdMain_Paint(object sender, PaintEventArgs e)
        #region  å¼•出功能
        private void eXCELToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GraphicsGrid();
            BLL.ClsPub_BLL.DataToExcel(this.Text, grdMain);
        }
        private void dy_Click(object sender, EventArgs e)
        {
            //选择打印模板
            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
            DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            oFrm.sBillName = ModName;
            oFrm.sBillModel = ModCaption;
            oFrm.ShowDialog();
            if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
            {
                //
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    selectRow2 = i;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(false);
                    oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                    Thread.Sleep(1000);
                }
            }
        }
        #endregion
        private void dy2_Click(object sender, EventArgs e)
        #region  é€€å‡ºåŠŸèƒ½
        private void tc_Click(object sender, EventArgs e)
        {
            //选择打印模板
            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
            DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            oFrm.sBillName = ModName;
            oFrm.sBillModel = ModCaption;
            oFrm.ShowDialog();
            if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
            {
                //
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    selectRow2 = i + 1;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(false);
                    oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                    //
                    if (selectRow2 > grdMain.SelectedRows.Count - 1)
                    {
                    }
                    else
                    {
                        oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i + 1].Cells[Fun_GetCol("条码编号")].Value));
                    }
                    Thread.Sleep(1000);
                    i++;
                }
            }
            this.Close();
        }
@@ -486,5 +524,11 @@
        #endregion
    }
}