using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using System.Runtime.InteropServices; 
 | 
using gregn6Lib; 
 | 
using DBUtility; 
 | 
  
 | 
namespace APSM 
 | 
{ 
 | 
    public partial class Sc_ICMOSortBillList_Pay : Form 
 | 
    { 
 | 
        public Sc_ICMOSortBillList_Pay() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public frmBillQueryCondition_New frmCondition; 
 | 
        public string ViewName = "h_v_Sc_ICMOSortBillList_Pay"; 
 | 
        public string ModName = "Sc_ICMOSortBillList_Pay"; 
 | 
        public string ModCaption = "生产计划排程查询(工资)"; 
 | 
        public const string ModRightName = "Sc_ICMOSortBill"; 
 | 
        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.ClsSc_ICMOSortBill oBill = new DAL.ClsSc_ICMOSortBill(); 
 | 
        //public Sc_ICMOSortBill oFrm; 
 | 
        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); 
 | 
        // 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name); 
 | 
        } 
 | 
        // 
 | 
  
 | 
        private void Display() 
 | 
        { 
 | 
            SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            string sWhere = ""; 
 | 
            //过滤条件 
 | 
            if (frmCondition.SqlStr.Trim().Length == 0) 
 | 
                return; 
 | 
            sSql = frmCondition.SqlStr + sWhere + " order by   部门代码,资源代码,优先级,日期 "; 
 | 
            // 
 | 
            DSet = SubCn.RunProcReturn(sSql, "h_v_Sc_ICMOSortBillList_Pay", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            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(); 
 | 
             
 | 
            //  
 | 
        } 
 | 
  
 | 
        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 Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
  
 | 
        private void Sc_ICMOSortBillList_Pay_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            frmCondition = new frmBillQueryCondition_New(); 
 | 
            this.Text = ModCaption; 
 | 
            lblCaption.Text = ModCaption; 
 | 
            oSumGrid.ogrdMain = grdMain;  //初始化 new 
 | 
            oSumGrid.oGridsum = grdSum; 
 | 
            initGrid(); 
 | 
        } 
 | 
  
 | 
  
 | 
        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 xz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            // 
 | 
            //oFrm = new Sc_ICMOSortBill(); 
 | 
            //oFrm.ShowDialog(); 
 | 
        } 
 | 
  
 | 
       
 | 
        private void timer2_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer2.Enabled = false; 
 | 
            frmCondition = new frmBillQueryCondition_New(); 
 | 
            SetCondition(frmCondition, ViewName, this.Name); 
 | 
            frmCondition.ShowDialog(); 
 | 
            if (frmCondition.Tag.ToString() == "OK") 
 | 
            { 
 | 
                timer1.Enabled = true; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name) 
 | 
        { 
 | 
            frmCondition.Tag = ""; 
 | 
            frmCondition.ViewName = ViewName; 
 | 
            frmCondition.ModName = Name; 
 | 
        } 
 | 
  
 | 
        #region  //打印设置 
 | 
  
 | 
        GridppReport Report; 
 | 
        int BRow = 0; 
 | 
        int ERow = 0; 
 | 
        bool b = false; 
 | 
        //预览 
 | 
        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) 
 | 
            { 
 | 
                // 
 | 
                if (oFrm.sOpenTmp == "生产计划单") 
 | 
                { 
 | 
                    if (grdMain.SelectedRows == null) 
 | 
                    { 
 | 
                        MessageBox.Show("请选择要打印的行!"); 
 | 
                        return; 
 | 
                    } 
 | 
                    for (int i = 0; i < grdMain.SelectedRows.Count; i++) 
 | 
                    { 
 | 
                        if (b) 
 | 
                        { 
 | 
                            ERow = grdMain.SelectedRows[i].Index; 
 | 
                            Sub_SetReport(oFrm.sOpenTmp); 
 | 
                            Report.PrintPreview(true); 
 | 
                            b = false; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            BRow = grdMain.SelectedRows[i].Index; 
 | 
                            b = true; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    Sub_SetReport(oFrm.sOpenTmp); 
 | 
                    Report.PrintPreview(true); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void Sub_SetReport(string sOpenTmp) 
 | 
        { 
 | 
            //判断行数 
 | 
            // 
 | 
            Report = new GridppReport(); 
 | 
            Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf");  //here . 
 | 
            if (sOpenTmp == "生产计划单") 
 | 
            { 
 | 
                Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); 
 | 
            } 
 | 
            Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); 
 | 
        } 
 | 
  
 | 
        private void ReportFetchRecordByDataTable() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, 0); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("打印失败!表体:" + e.Message); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void ReportBeforePostRecord()//  
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //根据行号得到信息 
 | 
                int HMainIDCol = Fun_GetCol("HMainID");  
 | 
                Int64 HMainID = DBUtility.ClsPub.isLong(grdMain.Rows[BRow].Cells[HMainIDCol].Value); 
 | 
                Int64 HMainID2 = DBUtility.ClsPub.isLong(grdMain.Rows[ERow].Cells[HMainIDCol].Value);  
 | 
                DataSet ds; 
 | 
                ds = oBill.Sub_GetScInfoByMainID(HMainID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                if (ds != null) 
 | 
                { 
 | 
                    Report.FieldByName("任务单号").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["生产任务单号"]); 
 | 
                    Report.FieldByName("生产车间").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["部门名称"]); 
 | 
                    Report.FieldByName("任务单数量").AsInteger = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["总计划数"]); 
 | 
                    Report.FieldByName("今日计划").AsInteger = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["本日计划"]); 
 | 
                    Report.FieldByName("产品代码").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品代码"]); 
 | 
                    Report.FieldByName("生产线").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["资源名称"]); 
 | 
                    Report.FieldByName("产品名称").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品名称"]); 
 | 
                    Report.FieldByName("装配日期").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["日期"]); 
 | 
                    Report.FieldByName("产品型号").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品规格"]); 
 | 
                    Report.FieldByName("销售订单号").AsString =""; 
 | 
                    Report.FieldByName("下单日期").AsString = DBUtility.ClsPub.GetServerDate(0); 
 | 
                    Report.FieldByName("制单").AsString =DBUtility.ClsPub.CurUserName; 
 | 
                } 
 | 
                ds = null; 
 | 
                ds = oBill.Sub_GetScInfoByMainID(HMainID2, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                if (ds != null) 
 | 
                { 
 | 
                    Report.FieldByName("任务单号2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["生产任务单号"]); 
 | 
                    Report.FieldByName("生产车间2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["部门名称"]); 
 | 
                    Report.FieldByName("任务单数量2").AsInteger = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["总计划数"]); 
 | 
                    Report.FieldByName("今日计划2").AsInteger = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["本日计划"]); 
 | 
                    Report.FieldByName("产品代码2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品代码"]); 
 | 
                    Report.FieldByName("生产线2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["资源名称"]); 
 | 
                    Report.FieldByName("产品名称2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品名称"]); 
 | 
                    Report.FieldByName("装配日期2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["日期"]); 
 | 
                    Report.FieldByName("产品型号2").AsString = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品规格"]); 
 | 
                    Report.FieldByName("销售订单号2").AsString = ""; 
 | 
                    Report.FieldByName("下单日期2").AsString = DBUtility.ClsPub.GetServerDate(0); 
 | 
                    Report.FieldByName("制单2").AsString = DBUtility.ClsPub.CurUserName; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("打印失败!表头:" + e.Message); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            //保存列宽 
 | 
            Pub_Class.ClsPub.SaveGridView(grdMain, this.Name,Pub_Class.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        private void mrlk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); 
 | 
        } 
 | 
        //划线 
 | 
        private void GraphLine() 
 | 
        { 
 | 
            int MainIDCol = Fun_GetCol("hsourceid"); 
 | 
            int SubIDCol = Fun_GetCol("hsubid"); 
 | 
            string s = "否"; 
 | 
            long n = 0; 
 | 
            DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s, ref n); 
 | 
            //显示 
 | 
            lbldj.Text = "查询出 " + n.ToString() + " 张单据"; 
 | 
            lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录"; 
 | 
        } 
 | 
           
 | 
  
 | 
        private void GraphicsGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); 
 | 
        } 
 | 
  
 | 
        #region 数据导出 
 | 
  
 | 
         
 | 
        #endregion 
 | 
  
 | 
        //合计 new 
 | 
        private void Total() 
 | 
        { 
 | 
            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) 
 | 
            { 
 | 
                oSumGrid.SetGridsum(); 
 | 
                oSumGrid.Total(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void grdMain_Paint_1(object sender, PaintEventArgs e) 
 | 
        { 
 | 
            GraphicsGrid(); 
 | 
        } 
 | 
  
 | 
        private void yc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); 
 | 
        } 
 | 
  
 | 
        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) 
 | 
        { 
 | 
            Total(); 
 | 
        } 
 | 
  
 | 
        private void toolStripButton1_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) 
 | 
            { 
 | 
                // 
 | 
                if (oFrm.sOpenTmp == "生产计划单") 
 | 
                { 
 | 
                    if (grdMain.SelectedRows == null) 
 | 
                    { 
 | 
                        MessageBox.Show("请选择要打印的行!"); 
 | 
                        return; 
 | 
                    } 
 | 
                    for (int i = 0; i < grdMain.SelectedRows.Count; i++) 
 | 
                    { 
 | 
                        if (b) 
 | 
                        { 
 | 
                            ERow = grdMain.SelectedRows[i].Index; 
 | 
                            Sub_SetReport(oFrm.sOpenTmp); 
 | 
                            Report.Print(false); 
 | 
                            b = false; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            BRow = grdMain.SelectedRows[i].Index; 
 | 
                            b = true; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    Sub_SetReport(oFrm.sOpenTmp); 
 | 
                    Report.Print(false); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
} 
 |