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