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 SQLHelper; namespace APSM { public partial class KF_LackMaterialAnalyse : Form // { public KF_LackMaterialAnalyse() { InitializeComponent(); } public KF_LackMaterialAnalyseDetail oDetailDlg = new KF_LackMaterialAnalyseDetail(); public const Int16 FixCols = 7; DAL.ClsSc_ICMOSortBill oMain=new DAL.ClsSc_ICMOSortBill(); public string ModName = ""; public string ModCaption = "车间缺料分析"; public const int HNumberCol = 0; public const int HNameCol = 1; public const int HModelCol = 2; public const int HKCQtyCol = 3; public const int HZTQtyCol = 4; public const int HWFQtyCol = 5; public const int HTotalCol = 6; #region 固定代码 private void initGrid() { grdMain.Cols =7; grdMain.Rows =2; grdMain.FixedCols = 0; grdMain.FixedRows = 2; grdMain.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSort; grdMain.AllowBigSelection = false; grdMain.AllowSelection = false; grdMain.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; grdMain.ScrollTrack = true; grdMain.WordWrap = true; grdMain.set_ColWidth(-1, 1500); grdMain.set_RowHeight(-1, 400); grdMain.set_RowHeight(0, 500); //隐藏列 grdMain.set_RowHidden(1, true); grdMain.RowHeightMin = 250; grdMain.Editable = VSFlex7.EditableSettings.flexEDNone; grdMain.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; grdMain.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; grdMain.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); grdMain.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; grdMain.set_TextMatrix(0, HNumberCol, "物料代码"); grdMain.set_TextMatrix(0, HNameCol, "物料名称"); grdMain.set_TextMatrix(0, HModelCol, "物料型号"); grdMain.set_TextMatrix(0, HKCQtyCol, "即时库存"); grdMain.set_TextMatrix(0, HZTQtyCol, "在途采购"); grdMain.set_TextMatrix(0, HWFQtyCol, "未发数"); grdMain.set_TextMatrix(0, HTotalCol, "合计"); grdMain.FrozenCols = 7; // LoadDateCol(28); Sc_ICMOSortBillFun.GetGrid(grdMain, this.Name); } //得到对应列 private int Fun_GetCol(string sColName) { return Sc_ICMOSortBillFun.Fun_GetCol(sColName, grdMain); } private void tc_Click(object sender, EventArgs e) { this.Close(); } KF_LackMaterialAnalyseDlg oDlg = new KF_LackMaterialAnalyseDlg(); private void cx_Click(object sender, EventArgs e) { oDlg.ShowDialog(); if (oDlg.IsOk == 1) { timer1.Enabled = true; } } //设置报表名称 private void SetFormCaption() { this.Text = ModCaption; lblCaption.Text = this.Text; initGrid();//网格标题初始化 initHeadCaption();//表头初始化 } private void Frm_EasyReport_Load(object sender, EventArgs e) { SetFormCaption(); } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; if (Fun_AllowQuery()) { System.Windows.Forms.Application.DoEvents(); Query(); System.Windows.Forms.Application.DoEvents(); } } private void Xs_SellOutPriceReport_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == 13) timer1.Enabled = true; } private void mrlk_Click(object sender, EventArgs e) { Sc_ICMOSortBillFun.DefaultGrid(grdMain, this.Name); } private void bclk_Click(object sender, EventArgs e) { //保存列宽 Sc_ICMOSortBillFun.SaveGrid(grdMain, this.Name); } //打印 private void dy_Click(object sender, EventArgs e) { //Sub_SetReport(); //Report.Print(true); } //预览 private void view_Click(object sender, EventArgs e) { //Sub_SetReport(); //Report.PrintPreview(true); } #endregion #region 界面处理 //初始化表头显示 private void initHeadCaption() { } private bool Fun_AllowQuery()//审核查询条件 { //if (txtHBDeptID.Text.Trim().Length == 0) //{ // MessageBox.Show(this, "请选择开始部门!", "提示"); // return false; //} return true; } private void Query() { string sSQL = ""; long lngCount =0; int i =0; int r =0; int c =0; Single cSumAmount=0; Single ctmpAmount=0; string sNewDate=""; int m =0; grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; initGrid(); oDetailDlg.initGrid(); // sNewDate = oMain.GetNewSetup(DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag)).ToShortDateString(); //得到最新排程 //加载投料记录 oMain.FillData(DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag)); // System.Windows.Forms.Application.DoEvents(); sSQL = "exec h_p_Sc_GetICMOSortBillList "+DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag).ToString()+",'"+sNewDate+"'"; SQLHelper.ClsCN oCn=new ClsCN(); DataSet DS=oCn.RunProcReturn(sSQL,"gy_Material"); pb1.Maximum = DS.Tables[0].Rows.Count; pb1.Visible = true; for(i=0;i 0 ) { //库存不足显示红色 grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpForeColor, i, 3, i , 3 ,DBUtility.ClsPub.Enum_Color.hx_Red); } } // for( i=grdMain.FixedRows;i cSumAmount) { grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpForeColor, i, m, i, m, DBUtility.ClsPub.Enum_Color.hx_Red); } } //=================== } grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; System.Windows.Forms.Application.DoEvents(); } private void InputTLD(string sItemNumber ,string sJT ,string sSCRWDH ,string sPGDH ,string sDate ,string sQuantity ) { int c; int r; int w; Single bl=0; long i; long SUM ; List oColl; if( sQuantity.Trim() != "" ) { oColl=oMain.GetTLColl(sSCRWDH); if(oColl==null || oColl.Count==0) { return ; } foreach(DAL.Cls_ICTLDetail oTLDetail in oColl) { r = FindRow( oTLDetail.WLDM ); if(r==-1) { grdMain.Rows=grdMain.Rows+1; r = grdMain.Rows - 1; } grdMain.set_TextMatrix(r,0,oTLDetail.WLDM); grdMain.set_TextMatrix(r, 1,oTLDetail.WLMC); grdMain.set_TextMatrix(r, 2,oTLDetail.GGXH); grdMain.set_TextMatrix(r, 3,oTLDetail.StockAmount.ToString()); // 'GetSumStockAmount(otldetail.wldm) grdMain.set_TextMatrix(r, 4,oTLDetail.OrderAmount.ToString()); //'GetSumOrderAmount(otldetail.wldm) grdMain.set_TextMatrix(r, 5,""); c = FindCol(sDate); if( c != -1 ) { if( oTLDetail.FAuxQty != 0) { bl = oTLDetail.JHTLS / oTLDetail.FAuxQty; } if( DBUtility.ClsPub.isSingle(sQuantity) * bl != 0) { grdMain.set_TextMatrix(r, c,Convert.ToString( DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(r,c))+ DBUtility.ClsPub.isSingle(sQuantity)*bl)); grdMain.set_TextMatrix(r, 6,Convert.ToString( DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(r,6))+ DBUtility.ClsPub.isSingle(sQuantity)*bl)); } } //''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' r = FindDetailRow(oTLDetail.WLDM, oTLDetail.MainWLDM, sSCRWDH); if( r == -1 ) { oDetailDlg.grdMain.Rows = oDetailDlg.grdMain.Rows + 1; r = oDetailDlg.grdMain.Rows - 1; } oDetailDlg.grdMain.set_TextMatrix(r, 0, oTLDetail.WLDM); oDetailDlg.grdMain.set_TextMatrix(r, 1, oTLDetail.WLMC); oDetailDlg.grdMain.set_TextMatrix(r, 2, oTLDetail.GGXH); oDetailDlg.grdMain.set_TextMatrix(r, 3, sSCRWDH); oDetailDlg.grdMain.set_TextMatrix(r, 4, oTLDetail.YFSL.ToString()); oDetailDlg.grdMain.set_TextMatrix(r, 5, oTLDetail.LLS.ToString()); oDetailDlg.grdMain.set_TextMatrix(r, 6, oTLDetail.BLS.ToString()); oDetailDlg.grdMain.set_TextMatrix(r, 7, sPGDH); oDetailDlg.grdMain.set_TextMatrix(r, 8, oTLDetail.MainWLDM); oDetailDlg.grdMain.set_TextMatrix(r, 9, oTLDetail.MainWLMC); oDetailDlg.grdMain.set_TextMatrix(r, 10, sJT); // c = FindDetailCol(sDate); if( c != -1 ) { if( oTLDetail.FAuxQty != 0) { bl = oTLDetail.JHTLS / oTLDetail.FAuxQty; } if( DBUtility.ClsPub.isSingle(sQuantity) * bl != 0) { oDetailDlg.grdMain.set_TextMatrix(r, c ,Convert.ToString( DBUtility.ClsPub.isSingle(sQuantity) * bl)); oDetailDlg.grdMain.set_TextMatrix(r, 11,Convert.ToString( DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(r, 11)) + DBUtility.ClsPub.isSingle(sQuantity) * bl)); } } } } } // public int FindRow(string sItemCode) { // '通过物料编码查找数据所在的行 for(int r=grdMain.FixedRows;r= grdMain.FixedRows && grdMain.Row < grdMain.Rows) { string sSQL; oDetailDlg.sWLDM =DBUtility.ClsPub.isStrNull( grdMain.get_TextMatrix(grdMain.Row, HNumberCol)); oDetailDlg.LoadData(); oDetailDlg.ShowDialog(); } } } }