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 Pub_Class; 
 | 
using SQLHelper; 
 | 
using DBUtility; 
 | 
using WorkM; 
 | 
  
 | 
namespace WorkM 
 | 
{ 
 | 
    public partial class SC_KCTZBillQuery : Form 
 | 
    { 
 | 
        public SC_KCTZBillQuery() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public frmBillQueryCondition_New frmCondition; 
 | 
        public string ViewName = "h_v_SC_KCTZBillQuery"; 
 | 
        public string ModCaption = "库存台账单查询"; 
 | 
        public const string ModName = "9999"; 
 | 
        public const string ModRightName = "SC_KCTZBill"; 
 | 
        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_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); 
 | 
        //public Sc_ICMOReportBill oFrm; 
 | 
        public string sDlgWhere = "";  //外窗体递入 
 | 
        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); 
 | 
  
 | 
        #region  固定代码 
 | 
        //初始化网格 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); 
 | 
        } 
 | 
        // 
 | 
  
 | 
  
 | 
  
 | 
        //显示 
 | 
        private void Display() 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            //string sWhere = "";  //特殊条件(日期限制,部门限制) 
 | 
            string sDlgWhere = ""; 
 | 
            sDlgWhere = sDlgWhere + ",'" + txtMaterNumber.Text.ToString() + "'"; 
 | 
            sDlgWhere = sDlgWhere + ",'" + dtpHBDate.Value.ToShortDateString() + "'"; 
 | 
            sDlgWhere = sDlgWhere + ",'" + dtpHEDate.Value.ToShortDateString() + "'"; 
 | 
            if (sDlgWhere.Trim().Length > 0) 
 | 
            { 
 | 
                sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); 
 | 
            } 
 | 
            //DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere); 
 | 
            //if (sDlgWhere == "") 
 | 
            //{ 
 | 
            //    //过滤条件 
 | 
            //    if (frmCondition.SqlStr.Trim().Length == 0) 
 | 
            //        return; 
 | 
            //    sSql = frmCondition.SqlStr + sWhere + " order by 单据号 desc,hsubid "; 
 | 
            //} 
 | 
            //else 
 | 
            //{ 
 | 
            //    sSql = "Select * from " + ViewName + " Where 1=1 " + sWhere + sDlgWhere + " order by 单据号 desc,hsubid "; 
 | 
            //} 
 | 
            //// 
 | 
            //DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            DSet = SubCn.RunProcReturn("exec h_p_SC_KCTZBillQuery " + sDlgWhere, "Gy_Czygl"); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("没有返回任何结果,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            //释放冻结 
 | 
            DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain); 
 | 
            //绑定 
 | 
            grdMain.DataSource = DSet.Tables[0].DefaultView; 
 | 
            //设置合计列 
 | 
            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(); 
 | 
            txtStartNum.Text = GetStartNum().ToString(); 
 | 
            txtEndNum.Text = GetEndNum().ToString(); 
 | 
             
 | 
            //  
 | 
        } 
 | 
        //获取期初数量 
 | 
        private Double GetStartNum() { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sDlgWhere = ""; 
 | 
            sDlgWhere = sDlgWhere + ",'" + txtMaterNumber.Text.ToString() + "'"; 
 | 
            DateTime dt = new DateTime(); 
 | 
            dt = dtpHBDate.Value.AddMonths(-1);   
 | 
            //dt.AddDays(-2); 
 | 
            sDlgWhere = sDlgWhere + ",'" + dt.ToShortDateString() + "'"; 
 | 
            sDlgWhere = sDlgWhere + ",'" + dtpHBDate.Value.ToShortDateString() + "'"; 
 | 
  
 | 
             if (sDlgWhere.Trim().Length > 0) 
 | 
            { 
 | 
                sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); 
 | 
            } 
 | 
  
 | 
            DSet = SubCn.RunProcReturn("exec h_p_SC_KCTZBillQuery " + sDlgWhere, "Gy_Czygl"); 
 | 
  
 | 
            if (DSet == null) 
 | 
            {              
 | 
                return 0; 
 | 
            } 
 | 
            DataGridView ogrd = new DataGridView(); 
 | 
            ogrd.DataSource = DSet.Tables[0].DefaultView; 
 | 
  
 | 
            return GetTotal(ogrd); 
 | 
  
 | 
        } 
 | 
        private Double GetEndNum()  
 | 
        { 
 | 
            return GetTotal(grdMain); 
 | 
        } 
 | 
  
 | 
        //获取数量合计 
 | 
        private Double GetTotal(DataGridView ogrd)  
 | 
        { 
 | 
            double d = 0; 
 | 
  
 | 
            for (int j = 0; j < ogrd.ColumnCount; j++) 
 | 
            { 
 | 
                if (ogrd.Columns[j].HeaderText.Equals("数量")) 
 | 
                { 
 | 
                    for (int i = 0; i < ogrd.Rows.Count; i++) 
 | 
                    { 
 | 
                        d = d + DBUtility.ClsPub.isDoule(ogrd.Rows[i].Cells[j].Value); 
 | 
                    } 
 | 
                } 
 | 
  
 | 
            } 
 | 
            return d; 
 | 
        } 
 | 
        //时间控件 
 | 
        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; 
 | 
        } 
 | 
        ////显示单据 
 | 
        //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_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); 
 | 
        //    if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
        //    { 
 | 
        //        oFrm = new Sc_ICMOReportBill(); 
 | 
        //        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 SC_KCTZBillQuery_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            frmCondition = new frmBillQueryCondition_New(); 
 | 
            this.Text = ModCaption; 
 | 
            lblCaption.Text = ModCaption; 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            oSumGrid.oGridsum = grdSum; 
 | 
            //dtpHBDate.Value = DateTime.Today; 
 | 
            //dtpHEDate.Value = DateTime.Today; 
 | 
  
 | 
            initGrid(); 
 | 
            Sub_FastQuery(); 
 | 
        } 
 | 
        //双击查看 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            //Sub_ShowBill(); 
 | 
        } 
 | 
        //查询 
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_FastQuery(); 
 | 
            //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 Sc_ICMOReportBill(); 
 | 
            //oFrm.ShowDialog(); 
 | 
        } 
 | 
  
 | 
        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; 
 | 
                //} 
 | 
            } 
 | 
            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(); 
 | 
        } 
 | 
  
 | 
        //审核单据 
 | 
        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_ICMOReportBill  oBill = new DAL.ClsSc_ICMOReportBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            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_ICMOReportBill  oBill = new DAL.ClsSc_ICMOReportBill(); 
 | 
            //查看是否已审核,关闭,作废 
 | 
            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); 
 | 
        } 
 | 
  
 | 
        // 
 | 
        private void grdMain_Paint(object sender, PaintEventArgs e) 
 | 
        { 
 | 
            GraphicsGrid(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void Total() 
 | 
        { 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid.SetGridsum(); 
 | 
                oSumGrid.Total(); 
 | 
            } 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
        //合计 new 
 | 
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void dc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
        
 | 
        private void sh_Click_1(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_CheckBill(); 
 | 
            Sub_FastQuery(); 
 | 
        } 
 | 
  
 | 
        private void fsh_Click_1(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_AbandonCheck(); 
 | 
            Sub_FastQuery(); 
 | 
        } 
 | 
  
 | 
        private void btnOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_FastQuery(); 
 | 
        } 
 | 
        //快速过滤 
 | 
        public void Sub_FastQuery() 
 | 
        { 
 | 
            string sFastSQL = ""; 
 | 
            sDlgWhere = sFastSQL; 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        private void txtHBillNo_KeyDown(object sender, KeyEventArgs e) 
 | 
        { 
 | 
            if (e.KeyCode == Keys.Enter) 
 | 
            { 
 | 
                Sub_FastQuery(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void eXCELToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); 
 | 
        } 
 | 
  
 | 
        private void cSVToolStripMenuItem_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataGridViewToExcel2(grdMain, this.Text, this.Text); 
 | 
        } 
 | 
         
 | 
  
 | 
         
 | 
  
 | 
    } 
 | 
} 
 |