YL
2022-01-19 681c617b48ddbc556fdbe6a251161a3b9584adab
WarM/±¨±í·ÖÎö/Kf_ICInventory_BarCode.cs
@@ -23,25 +23,140 @@
        public string ViewName = "h_v_KF_ICInventoryList_WMS";
        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";
        public const string ModRightNamePrint = ModRightName + "_Print";
        //DAL.ClsGy_ICBomBill oBill = new DAL.ClsGy_ICBomBill();
        //public  Gy_ICBomBill oFrm;
        public string sDlgWhere = "";  //外窗体递入
        public int selectRow = 0;
        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
        //
        #region  å›ºå®šä»£ç 
        private void Kf_ICInventory_BarCode_Load(object sender, EventArgs e)
        {
            frmCondition = new frmBillQueryCondition_New();
            this.Text = ModCaption;
            oSumGrid.ogrdMain = grdMain;  //初始化 new
            oSumGrid.oGridsum = grdSum;
            lblCaption.Text = ModCaption;
            initGrid();
        }
        private void initGrid()
        {
            DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name);
            DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
            grdMain.ReadOnly = false;
        }
        //
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            initGrid();
        }
        private void timer2_Tick(object sender, EventArgs e)
        {
            timer2.Enabled = false;
            if (sDlgWhere == "")
            {
            }
            else
            {
                timer1.Enabled = true;
            }
        }
        private void grdMain_Paint(object sender, PaintEventArgs e)
        {
            GraphicsGrid();
        }
        private void GraphicsGrid()
        {
            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
        }
        //合计 new
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
        {
            Total();
        }
        //合计 new
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
        {
            Total();
        }
        //合计 new
        private void Total()
        {
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
            {
                oSumGrid.SetGridsum();
                oSumGrid.Total();
            }
        }
        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 Int32 Fun_GetCol(string sCol)
        {
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
        }
        private void grdMain_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            int sHQtyCol = Fun_GetCol("数量");
            int i = grdMain.CurrentCell.ColumnIndex;
            if (i != sHQtyCol)
            {
                e.Cancel = true;
            }
        }
        //保存列宽
        private void bclk_Click(object sender, EventArgs e)
        {
            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
        }
        //默认列宽
        private void mrlk_Click(object sender, EventArgs e)
        {
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
        }
        #endregion
        #region  æŸ¥è¯¢åŠŸèƒ½
        //查询
        private void cx_Click(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 Display()
        {
@@ -79,551 +194,26 @@
            //冻结
            int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
            string s = frmCondition.cmbHComplete.Text;
            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s,FrCol);
            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol);
            //画线
            GraphLine();
            Total();
            //
        }
        //
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            initGrid();
            //Sub_FastQuery();
        }
        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 Kf_ICInventory_BarCode_Load(object sender, EventArgs e)
        {
            //
            frmCondition = new frmBillQueryCondition_New();
            this.Text = ModCaption;
            oSumGrid.ogrdMain = grdMain;  //初始化 new
            oSumGrid.oGridsum = grdSum;
            lblCaption.Text = ModCaption;
            initGrid();
            //初始化快速过滤
            //dtpHBDate.Checked = false;
            //dtpHEDate.Checked = false;
            cmbHStatus.SelectedIndex = 0;
        }
        private void grdMain_DblClick(object sender, EventArgs e)
        {
            Sub_ShowBill();
        }
        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();
                //Sub_FastQuery();
            }
        }
        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("单据未找到", "提示");
        //    }
        }
        private void timer2_Tick(object sender, EventArgs e)
        {
            timer2.Enabled = false;
            if (sDlgWhere == "")
            {
                //frmCondition = new frmBillQueryCondition_New();
                //SetCondition(frmCondition, ViewName, this.Name);
                //frmCondition.ShowDialog();
                //if (frmCondition.Tag.ToString() == "OK")
                //{
                //    timer1.Enabled = true;
                //}
                //Sub_FastQuery();
            }
            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 sh_Click(object sender, EventArgs e)
        {
            ////this.Sub_CheckBill();
            //if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            //{
            //    return;
            //}
            //if (grdMain.CurrentRow == null)
            //    return;
            //DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            //if (MessageBox.Show("确定要反作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            //{
            //    return;
            //}
            //for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            //{
            //    if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("HMaterID")].Value) != 0)
            //    {
            //        if (!oBar.UnCancelltion(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value)))
            //        {
            //            MessageBox.Show("反作废失败!", "提示");
            //            return;
            //        }
            //    }
            //}
            //MessageBox.Show("反作废成功!", "提示");
            //Sub_FastQuery();
        }
        //审核单据
        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();
            //if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            //{
            //    return;
            //}
            //if (grdMain.CurrentRow == null)
            //    return;
            //DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            //if (MessageBox.Show("确定要作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            //{
            //    return;
            //}
            //for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            //{
            //    if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("HMaterID")].Value) != 0)
            //    {
            //        if (!oBar.Cancelltion(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value)))
            //        {
            //            MessageBox.Show("作废失败!", "提示");
            //            return;
            //        }
            //    }
            //}
            //MessageBox.Show("作废成功!", "提示");
            //Sub_FastQuery();
        }
        private void GraphicsGrid()
        {
            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
        }
        #region  //打印设置
        GridppReport Report;
        //预览
        private void yl_Click(object sender, EventArgs e)
        {
            for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            {
                if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("打印次数")].Value) > 0)
                {
                    //判断权限
                    if (!ClsPub.Security_Log(ModRightNamePrint, 1, false, DBUtility.ClsPub.CurUserName))
                    {
                        MessageBox.Show("所选条码已经打印,您没有权限,不能重复打印!");
                        return;
                    }
                }
            }
            //选择打印模板
            string sErr = "";
            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)
            {
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.PrintPreview(false);
                    //oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                    //
                }
            }
        }
        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()//your report?kao
        {
            Report.FieldByName("条码编号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("条码编号")].Value);
            Report.FieldByName("数量").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("数量")].Value);
            Report.FieldByName("单位").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("计量单位")].Value);
            Report.FieldByName("入库日期").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("日期")].Value);
            //成品
            Report.FieldByName("客户名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("往来单位")].Value);
            Report.FieldByName("产品代码").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("物料代码")].Value);
            Report.FieldByName("产品图号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("规格型号")].Value);
            Report.FieldByName("产品名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("物料名称")].Value);
            Report.FieldByName("包装方式").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("包装方式")].Value);
            Report.FieldByName("生产计划").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("源单单号")].Value);
            Report.FieldByName("成品批次").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("批号")].Value);
            Report.FieldByName("生产车间").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("生产车间")].Value);
            Report.FieldByName("生产周期").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("生产周期")].Value);
            //原料
            Report.FieldByName("供应商名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("往来单位")].Value);
            Report.FieldByName("物料代码").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("物料代码")].Value);
            Report.FieldByName("牌号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("物料名称")].Value);
            Report.FieldByName("型号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("规格型号")].Value);
            Report.FieldByName("炉号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("炉号")].Value);
            Report.FieldByName("物料批次").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("批号")].Value);
            if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("尾数")].Value) == "尾数")
            {
                Report.FieldByName("尾数").AsString = "/////////////////////////";
            }
            else
            {
                Report.FieldByName("尾数").AsString = "";
            }
        }
        private void ReportFetchRecordByDataTable()
        {
            BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("条码编号"));
        }
        #endregion
        //
        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 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;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(false);
                    oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                }
            }
        }
        private void dy2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            {
                if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("打印次数")].Value) > 0)
                {
                    //判断权限
                    if (!ClsPub.Security_Log(ModRightNamePrint, 1, false, DBUtility.ClsPub.CurUserName))
                    {
                        MessageBox.Show("所选条码已经打印,您没有权限,不能重复打印!");
                        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;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(false);
                    oBar.Set_PrintQty(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value));
                    //
                    //Thread.Sleep(300);
                }
            }
        }
        private void grdMain_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            int sHQtyCol = Fun_GetCol("数量");
            int i = grdMain.CurrentCell.ColumnIndex;
            if (i != sHQtyCol)
            {
                e.Cancel = true;
            }
        }
        #region  å¿«é€ŸæŸ¥è¯¢
        //快速过滤
        private void btnOK_Click(object sender, EventArgs e)
        {
            Sub_FastQuery();
        }
        private void Sub_FastQuery()
        {
            string sFastSQL = "";
            //物料
            //if (cmbHStatus.Text.Trim() == "正常")
            //{
            //    sFastSQL = sFastSQL + " and hstopflag=0 ";
            //}
            //else
            //{
            //    sFastSQL = sFastSQL + " and hstopflag=1 ";
            //}
            //物料
            if (txtHMater.Text.Trim() != "")
            {
@@ -659,11 +249,11 @@
            sDlgWhere = "";
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            Sub_FastQuery();
        }
        #endregion
        #region  å¯¼å‡ºåŠŸèƒ½
        //引出
        private void yc_Click(object sender, EventArgs e)
        {
            //BLL.ClsPub_BLL.DataGridViewToExcel2(grdMain, this.Text);
@@ -756,6 +346,88 @@
            }
        }
        //导出
        private void dc_Click(object sender, EventArgs e)
        {
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
        }
        #endregion
        #region  é€€å‡ºåŠŸèƒ½
        //退出功能
        private void tc_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        #endregion
        #region  æ‰“印功能
        GridppReport Report;
        //预览
        private void 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)
            {
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.PrintPreview(false);
                }
            }
        }
        //打印
        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)
            {
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    selectRow = i;
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(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("条码编号").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow].Cells[Fun_GetCol("条码编号")].Value);
        }
        private void ReportFetchRecordByDataTable()
        {
            BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("条码编号"));
        }
        #endregion