| 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); | 
|                 } | 
|             } | 
|         } | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|     } | 
| } |