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