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 SQLHelper; using DBUtility; namespace PlanM { public partial class Sc_ProductionLineList : Form { public Sc_ProductionLineList() { InitializeComponent(); } public DBUtility.frmBillQueryCondition_New frmCondition; public string ViewName = "h_v_Sc_ProductionLineList"; public string ModCaption = "产线MES系统"; public const string ModName = "生产资源"; const string BillName = "Gy_Source"; public const string ModRightName = "Sc_ProductionLine"; 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_WorkStopBill oBill = new DAL.ClsSc_WorkStopBill(); //public Sc_WorkStopBill oFrm; Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); TreeNode CurNode = new TreeNode(); public string sCondition; //过滤条件 public string HStatus = ""; // private void initGrid() { DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); } // private void Display() { ClsCN SubCn = new ClsCN(); DataSet DSet; string sSql = ""; string sWhere = ""; //过滤条件 if (ClsPub.isLong(txtHWorkShopID.Tag) != 0) { sWhere = " and 日期<'" + dtpHDate.Text + "' and HDeptID=" + ClsPub.isLong(txtHWorkShopID.Tag); } else { sWhere = " and 日期<'" + dtpHDate.Text + "' "; } // //过滤条件 //if (DBUtility.ClsPub.isStrNull(sCondition) == "" && frmCondition.SqlStr.Trim().Length != 0) //{ // sSql = frmCondition.SqlStr + sWhere + HStatus + " order by 任务单号 desc "; //} //else if (DBUtility.ClsPub.isStrNull(sCondition) != "") { sSql = "Select * from " + ViewName + sCondition + sWhere + HStatus + " order by 日期 "; } else { sSql = "Select * from " + ViewName + " where 1=1 " + sWhere + HStatus + " order by 日期 "; } // DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); //生成首行标题 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(); // } // 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) { 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; ClsCN oCn = new ClsCN(); string HType = ""; HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value); if (HType == "生产中") { oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HEndDate=GETDATE(),HICMOStatus=3 where HInterID= " + lngBillKey); grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "已完工"; } else if (HType == "已完工") { MessageBox.Show("此任务已完工,不允许重复完工!"); } else if (HType == "待开工") { MessageBox.Show("此任务未开工,不允许完工!"); } else if (HType == "挂起中") { MessageBox.Show("此任务挂起中,不允许完工!"); } } //显示单据 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; //Kanban.Sc_ProductionLineKB oKB = new Kanban.Sc_ProductionLineKB(); //oKB.lblJHH.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("任务单号")].Value); //oKB.lblGGXH.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("规格型号")].Value); //oKB.lblMBS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("当日计划")].Value); //oKB.lblZJHS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("计划数量")].Value); //oKB.lblZBLS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("不良数量")].Value); //oKB.lblBZ.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("备注")].Value); //oKB.lblCP.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("物料名称")].Value); //oKB.lblSJS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("当日完工")].Value); //oKB.lblLJS.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("汇报数量")].Value); //oKB.lblZBLL.Text =DBUtility.ClsPub.isStrNull( DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("不良数量")].Value) / DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("汇报数量")].Value)); //oKB.ShowDialog(); } // private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); } // private void Sc_ProductionLineList_Load(object sender, EventArgs e) { // frmCondition = new frmBillQueryCondition_New(); LoadTree(); this.Text = ModCaption; lblCaption.Text = ModCaption; oSumGrid.ogrdMain = grdMain; //初始化 new oSumGrid.oGridsum = grdSum; initGrid(); } private void grdMain_DblClick(object sender, EventArgs e) { Sub_ShowBill(); } 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(); } } 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) { 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; ClsCN oCn = new ClsCN(); string HType = ""; HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value); if (HType == "生产中") { MessageBox.Show("此任务已经处于生产中,不允许重复开工!"); } else if (HType == "已完工") { MessageBox.Show("此任务已完工,不允许开工!"); } else if (HType == "待开工") { oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HBeginDate=GETDATE(),HICMOStatus=1 where HInterID= " + lngBillKey); grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "生产中"; } else if (HType == "挂起中") { oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HBeginDate=GETDATE(),HICMOStatus=1 where HInterID= " + lngBillKey); oCn.RunProc("update a set a.HEndDate=getdate() from (select top 1 * from Sc_ICMOPauseBillMain a where HSourceInterID=" + lngBillKey + " order by HInterID desc) as a"); grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "生产中"; } } private void sc_Click(object sender, EventArgs e) { 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; string HType = ""; HType = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value); if (HType == "生产中") { Sc_MESHang oSc_MESHang = new Sc_MESHang(); oSc_MESHang.txtHICMOBillNo.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("任务单号")].Value); oSc_MESHang.HSourceInterID = lngBillKey; oSc_MESHang.txtHSplitNO.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("拆分号")].Value); oSc_MESHang.ShowDialog(); grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("状态")].Value = "挂起中"; } else if (HType == "已完工") { MessageBox.Show("此任务已完工,不允许挂起!"); } else if (HType == "待开工") { MessageBox.Show("此任务未开工,不允许挂起!"); } else if (HType == "挂起中") { MessageBox.Show("此任务挂起中,不允许重复挂起!"); } } 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; //} } 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) { } //反审核 private void qsh_Click(object sender, EventArgs e) { } private void GraphicsGrid() { DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); } #region //打印设置 GridppReport Report; //预览 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) { // Sub_SetReport(oFrm.sOpenTmp); Report.PrintPreview(true); } } private void Sub_SetReport(string sOpenTmp) { //判断行数 // Report = new GridppReport(); Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here . Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); } private void ReportFetchRecordByDataTable() { try { BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("HMaterID")); } catch (Exception e) { MessageBox.Show("打印失败!:" + e.Message); } } #endregion // 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(); } //引出EXCEL private void dc_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); } private void cmdHWorkShopID_Click(object sender, EventArgs e) { DAL.ClsGy_Department_View oDept = new DAL.ClsGy_Department_View(); if (oDept.RefreshView()) { this.txtHWorkShopID.Text = oDept.oModel.HName; this.txtHWorkShopID.Tag = oDept.oModel.HItemID.ToString(); } else { this.txtHWorkShopID.Text = ""; } } private void txtHWorkShopID_TextChanged(object sender, EventArgs e) { if (txtHWorkShopID.Text.Trim() == "") { txtHWorkShopID.Tag = "0"; } } private void LoadAllNodes(TreeNode sNode) //Lock { DBUtility.Gy_BaseFun.LoadAllNodes(sNode, BillName); } private void LoadTree()//Lock { DBUtility.Gy_BaseFun.LoadTree(tv, imageList1, ModName, BillName); } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { if (CurNode.Nodes.Count == 0) LoadAllNodes(CurNode); //找到选中结点 FindRow(CurNode.Text); } } //过滤资料 private void FindRow(string sCode)//Lock { DBUtility.Gy_BaseFun.FindRow(sCode, ModName, ref sCondition); Display(); } private void button1_Click(object sender, EventArgs e) { HStatus = " and 状态='待开工' "; Display(); } private void button2_Click(object sender, EventArgs e) { HStatus = " and 状态='生产中' "; Display(); } private void button3_Click(object sender, EventArgs e) { HStatus = " and 状态='已完工' "; Display(); } private void button4_Click(object sender, EventArgs e) { HStatus = " and 状态='挂起中' "; Display(); } private void button5_Click(object sender, EventArgs e) { HStatus = ""; Display(); } } }