コード例 #1
0
ファイル: Weight_BC.cs プロジェクト: Strongc/sencond
        /// <summary>
        /// 手工录入
        /// </summary>
        private void SaveWeightDataByHand()
        {
            try
            {
                if (_measApp == null)
                {
                    MessageBox.Show("请先接管计量点!");
                    return;
                }

                string p_FS_BATCHNO = txtZZBH.Text.Trim();//批次号
                m_szCurBatchNo = p_FS_BATCHNO;
                string p_FS_SPEC = cbGG.Text.Trim();//规格
                string p_FS_STEELTYPE = cbGZ.Text.Trim();//钢种
                WeightNo = Guid.NewGuid().ToString();//计量作业编号
                string p_FS_WEIGHTNO = WeightNo;
                double p_FN_WEIGHT = Convert.ToDouble(string.Format("{0:F3}", Single.Parse(this.tbx_hWeight.Text.Trim())));//重量
                string p_FS_PRODUCTNO = txtDDH.Text.Trim();//订单号
                string p_FS_POINT = _measApp.Params.FS_POINTCODE;//计量点编号
                string p_FS_RELL = txtReel.Text.Trim();
                string p_FS_STOVENO = txtStoveNo.Text.Trim();
                string p_FS_PERSON = UserInfo.GetUserName();//计量员
                string p_FS_SHIFT = UserInfo.GetUserOrder();//班次
                string p_FS_TERM = UserInfo.GetUserGroup();//班别

                Hashtable param = new Hashtable();
                param.Add("I1", p_FS_BATCHNO);
                param.Add("I2", p_FS_SPEC);
                param.Add("I3", p_FS_STEELTYPE);
                param.Add("I4", WeightNo);
                param.Add("I5", p_FN_WEIGHT);
                param.Add("I6", p_FS_PRODUCTNO);
                param.Add("I7", p_FS_POINT);
                param.Add("I8", p_FS_RELL);
                param.Add("I9", p_FS_STOVENO);
                param.Add("I10", p_FS_PERSON);
                param.Add("I11", p_FS_SHIFT);
                param.Add("I12", p_FS_TERM);
                CoreClientParam ccp = this.excuteProcedure2("{call KG_MCMS_ZKDINFO.SAVEZKDDATA(?,?,?,?,?,?,?,?,?,?,?,?)}", param);

                if (ccp.ReturnCode != 0)
                {
                    MessageBox.Show("数据保存失败!");
                    return;
                }
                else
                {
                    messageForm.SetMessage("保存成功!");
                    QueryWeightDataByBatchNo();
                    bCompleteStove = false;
                }
                QueryPlanData();

                //存储图片
                this._strBatchNo = p_FS_BATCHNO;
                //this._strBandNo = GetMaxBandNoOfBatchNo(_strBatchNo);

                #region 自动播放语音
                if (bCompleteStove)
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\计量完成 请离开秤台.wav";
                }
                else
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";
                }

                if (chkAutoSave.Checked)
                {
                    m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                    Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                }
                else
                {
                    AutoAlarmVoice();
                }

                #endregion




                //    //上传垛帐系统
                //    DepotObject depotObj = new DepotObject();
                //    depotObj.BatchNo = p_FS_BATCHNO;
                //    depotObj.BatchIndex = _strBandNo;
                //    depotObj.Weight = p_FN_WEIGHT.ToString();
                //    depotObj.TheoryWeight = (double.Parse(_theoryWeight.Trim())).ToString();
                //    depotObj.Barcode = GetBarCode(p_FS_LABELID, _strBandNo);
                //    _depotManage.UploadDepot(depotObj);
                //}
                //catch (System.Exception exp)
                //{
                //    MessageBox.Show(exp.Message);
                //}

            }
            catch(Exception ex)
            {

            }
        }
コード例 #2
0
ファイル: Weight_BC.cs プロジェクト: Strongc/sencond
        /// <summary>
        /// 保存计量信息
        /// </summary>
        private void SaveWeightData()
        {
            //输入内容验证
            if (CheckInput() == false)
            {
                return;
            }
            int i = m_iSelectedPound;

            
            //复磅
            if (this.cbx_fb.CheckState == CheckState.Checked)
            {
                if (this.tb_zzbh_fb.Text.Trim() == "" || this.tb_bandno_fb.Text.Trim() == "")
                {
                    MessageBox.Show("复磅信息不全!");
                    return;
                }

                if ((IsUpLoadForDetail(tb_zzbh_fb.Text.Trim(), this.tb_bandno_fb.Text.Trim())) == true)
                {
                    MessageBox.Show("该数据已经上传,不允许复磅!");
                    return;
                }

                DoReWeightForBC(this.tb_zzbh_fb.Text.Trim(), this.tb_bandno_fb.Text.Trim(), this.txtXSZL.Text.Trim());
                QueryPlanData();
                #region 自动播放语音
                m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";

                AutoAlarmVoice();

                #endregion

                return;
            }

            //手工录入
            if (this.cbx_Hand.CheckState == CheckState.Checked)
            {
                if (CheckIsNumber(this.tbx_hWeight.Text.Trim()))
                {
                    SaveWeightDataByHand();                    
                }
                else
                {
                    MessageBox.Show("手工录入的重量不是有效的数字!");
                }
                return;
            }

            if (_saved)//是否已经保存
            {
                MessageBox.Show("数据已经保存过了,不允许再次保存!", "提示", MessageBoxButtons.OK);
                return;
            }
            if(txtXSZL.Text == "0.000")
            {
                MessageBox.Show("仪表数据为零,请联系管理员!");
                return;
            }
            try
            {
                string p_FS_BATCHNO = txtZZBH.Text.Trim();//批次号
                m_szCurBatchNo = p_FS_BATCHNO;
                string p_FS_SPEC = cbGG.Text.Trim();//规格
                string p_FS_STEELTYPE = cbGZ.Text.Trim();//钢种
                WeightNo = Guid.NewGuid().ToString();//计量作业编号
                string p_FS_WEIGHTNO = WeightNo;
                double p_FN_WEIGHT = Convert.ToDouble(string.Format("{0:F3}", Single.Parse(this.txtZL.Text.Trim())));//重量
                string p_FS_PRODUCTNO = txtDDH.Text.Trim();//订单号
                string p_FS_POINT = _measApp.Params.FS_POINTCODE;//计量点编号
                string p_FS_RELL = txtReel.Text.Trim();
                string p_FS_STOVENO = txtStoveNo.Text.Trim();
                string p_FS_PERSON = UserInfo.GetUserName();//计量员
                string p_FS_SHIFT = UserInfo.GetUserOrder();//班次
                string p_FS_TERM = UserInfo.GetUserGroup();//班别

                Hashtable param = new Hashtable();
                param.Add("I1", p_FS_BATCHNO);
                param.Add("I2", p_FS_SPEC);
                param.Add("I3", p_FS_STEELTYPE);
                param.Add("I4", WeightNo);
                param.Add("I5", p_FN_WEIGHT);
                param.Add("I6", p_FS_PRODUCTNO);
                param.Add("I7", p_FS_POINT);
                param.Add("I8", p_FS_RELL);
                param.Add("I9", p_FS_STOVENO);
                param.Add("I10", p_FS_PERSON);
                param.Add("I11", p_FS_SHIFT);
                param.Add("I12", p_FS_TERM);
                CoreClientParam ccp = this.excuteProcedure2("{call KG_MCMS_ZKDINFO.SAVEZKDDATA(?,?,?,?,?,?,?,?,?,?,?,?)}", param);

                if (ccp.ReturnCode != 0)
               {
                   MessageBox.Show("数据保存失败!");
                   return;
               }
               else
               {
                   //返回为空表示没有下一预报
                 
                   messageForm.SetMessage("保存成功!");
                   QueryWeightDataByBatchNo();
                   bCompleteStove = false;
                   
               }
                //保存成功后保存和完炉按钮不可操作,直到下一吊上称后
                //btnBC.Enabled = false;

                _saved = true;
                QueryPlanData();

                //存储图片
                this._strBatchNo = p_FS_BATCHNO;
                //this._strBandNo = GetMaxBandNoOfBatchNo(_strBatchNo);
               
               // GraspAndSaveImage();

               

                #endregion

                #region 自动播放语音
                if (bCompleteStove) //完炉
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\计量完成 请离开秤台.wav";
                }
                else
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";
                }

                if (chkAutoSave.Checked)
                {
                    m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                    Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                }
                else
                {
                    AutoAlarmVoice();
                }

                #endregion
                ////上传垛帐系统
                //DepotObject depotObj = new DepotObject();
                //depotObj.BatchNo = p_FS_BATCHNO;
                //depotObj.BatchIndex = _strBandNo;
                //depotObj.Weight = p_FN_WEIGHT.ToString();
                //depotObj.TheoryWeight = (double.Parse(_theoryWeight.Trim())).ToString();
                //depotObj.Barcode = GetBarCode(p_FS_LABELID, _strBandNo);
                //_depotManage.UploadDepot(depotObj);
                //#endregion
                #region 自动下载新的订单信息
                if (this.txtDDH.Text.Trim() != p_FS_PRODUCTNO)
                {
                    //messageForm.SetMessage("已使用新的订单号,系统将自动下载新的订单信息!");
                    //Thread.Sleep(2000);
                    //GetOrderInfo(this.txtDDH.Text.Trim());
                }
                #endregion


            }
            catch (System.Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
コード例 #3
0
ファイル: Weight_BC.cs プロジェクト: Strongc/sencond
        //public void ClearWeightFun()
        //{
        //    Thread.Sleep(3000);
        //    m_MainThreadCloseLight = new CloseLight(CloseLight);
        //    Invoke(m_MainThreadCloseLight); //用委托播放声音
        //}
        //private void CloseLight()
        //{
        //    if (_measApp.IoLogik.ReadDO[0])
        //    {
        //        _measApp.IoLogik.DO[0] = false;
        //        _measApp.IoLogik.WriteDO();
        //    }
        //}
        /// <summary>
        /// 手工录入
        /// </summary>
        private void SaveWeightDataByHand()
        {
            try
            {
                //DataRow dr = QueryPlanDataByBatchNo(txtZZBH.Text.Trim());//从预报内存表中查询某一批次的相关信息
                //if (dr == null)
                //{
                //    MessageBox.Show("没有该批次的预报信息!", "提示", MessageBoxButtons.OK);
                //}
                string strMaterialCode = "";

                if (cbWLMC.SelectedIndex > 0)
                {
                    strMaterialCode = cbWLMC.SelectedValue.ToString();
                }

                float p_FN_LENGTH = 0;
                string p_FS_BATCHNO = txtZZBH.Text.Trim();//批次号
                m_szCurBatchNo = p_FS_BATCHNO;

                string p_FS_PRODUCTNO = txtDDH.Text.Trim();//订单号
                if (p_FS_PRODUCTNO.Length == 9)
                {
                    p_FS_PRODUCTNO = "000" + p_FS_PRODUCTNO;
                }
                string p_FS_ITEMNO = txtDDXMH.Text.Trim();//定单项目号
                string p_FS_MATERIALNO = strMaterialCode;//物料代码
                string p_FS_MATERIALNAME = cbWLMC.Text.Trim();//物料名称

                string p_FS_MRP = "";
                if (cbFHDW.SelectedIndex >= 0)
                {
                    p_FS_MRP = cbFHDW.SelectedValue.ToString();//发货单位(车间名称)
                }
                string p_FS_STORE = "";
                if (cbSHDW.SelectedIndex >= 0)
                {
                    p_FS_STORE = cbSHDW.SelectedValue.ToString();//收货单位(库存点)
                }
                string p_FS_STEELTYPE = cbGZ.Text.Trim();//钢种
                string p_FS_SPEC = cbGG.Text.Trim();//规格
                WeightNo = Guid.NewGuid().ToString();//计量作业编号
                string p_FS_WEIGHTNO = WeightNo;
                int p_FN_BANDBILLETCOUNT = 0;//支数
                if (txtZS.Text.Trim().Length > 0)
                {
                    p_FN_BANDBILLETCOUNT = Convert.ToInt32(txtZS.Text.Trim());
                }
                string p_FS_TYPE = cbLXIN.Text.Trim();//类型

                //if (cbDCCD.Text != "0")
                //p_FN_LENGTH = Convert.ToSingle(cbDCCD.Text.Trim());
                if (!float.TryParse(cbDCCD.Text.Trim(), out p_FN_LENGTH))
                {
                    p_FN_LENGTH = 0;
                }

                //if (p_FS_TYPE == "非定尺" || p_FS_TYPE == "非定尺(3-6m)")
                //{
                //    p_FN_LENGTH = 0;
                //    p_FN_BANDBILLETCOUNT = 0;
                //}

                double p_FN_WEIGHT = Convert.ToDouble(string.Format("{0:F3}", Single.Parse(this.tbx_hWeight.Text.Trim())));//重量
                string p_FS_PERSON = m_szCurUser;//计量员
                string p_FS_POINT = _measApp.Params.FS_POINTCODE;//计量点编号
                string p_FS_SHIFT = m_szCurBC;//班次
                string p_FS_TERM = m_szCurBZ;
                //string p_FS_LABELID = "00000000";//条码号
                string p_FS_LABELID = p_FS_BATCHNO;
                string p_FS_FLOW = "";//流向
                if (cbLX.SelectedIndex > 0)
                {
                    p_FS_FLOW = cbLX.SelectedValue.ToString();
                }
                float p_FN_DECWEIGHT = 0;
                if (txtYKL.Text.Trim().Length > 0)
                {
                    p_FN_DECWEIGHT = Convert.ToSingle(string.Format("{0:F3}", Single.Parse(txtYKL.Text.Trim())));//应扣重量
                }

                //判断重量是否超限
                if (_weightStdManage != null)
                {
                    try
                    {
                        _produtionWeightStd = _weightStdManage.GetStandard(p_FS_SPEC, p_FN_LENGTH.ToString());
                        if (_produtionWeightStd != null && (p_FN_WEIGHT * 1000 > _produtionWeightStd.MaxWeight || p_FN_WEIGHT * 1000 < _produtionWeightStd.MinWeight))
                        {
                            messageForm.SetMessage("重量超出范围!");
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }

                CoreClientParam ccp = new CoreClientParam();
                ccp.ServerName = "ygjzjl.bar.StoreageWeight_BC";
                ccp.MethodName = "addBatchNo";
                ccp.ServerParams = new object[] { p_FS_BATCHNO,
                                                p_FS_PRODUCTNO,
                                                p_FS_ITEMNO,
                                                p_FS_MATERIALNO,
                                                p_FS_MRP,
                                                p_FS_STORE,
                                                p_FS_STEELTYPE,
                                                p_FS_SPEC,
                                                p_FS_WEIGHTNO,
                                                p_FN_BANDBILLETCOUNT,
                                                p_FS_TYPE,
                                                p_FN_LENGTH,
                                                p_FN_WEIGHT,
                                                p_FS_PERSON,
                                                p_FS_POINT,
                                                p_FS_SHIFT,
                                                p_FS_TERM,
                                                p_FS_LABELID,
                                                p_FS_MATERIALNAME,
                                                p_FS_FLOW,
                                                p_FN_DECWEIGHT};
                CoreClientParam ret = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
                string reVal = "";
                if (ret.ReturnCode != 0)
                {
                    MessageBox.Show("数据保存失败!");
                    return;
                }
                else
                {
                    reVal = "";
                    if (ccp.ReturnObject != null)
                    {
                        reVal = ccp.ReturnObject.ToString();
                    }
                    //返回为空表示没有下一预报
                    if (reVal == "" || reVal != this.m_szCurBatchNo)
                    {
                        messageForm.SetMessage("批次" + txtZZBH.Text.Trim() + "  已完炉!");
                        this.bCompleteStove = true;
                        ClearControl();
                        QueryWeightDataByBatchNo();
                        //自动跳到下一个预报,而不是第一条
                        for (int iNext = 0; iNext < ultraGrid1.Rows.Count; iNext++)
                        {
                            if (ultraGrid1.Rows[iNext].Cells["FS_BATCHNO"].Text.ToString() == m_szCurBatchNo)
                            {
                                if (iNext + 1 < ultraGrid1.Rows.Count)
                                {
                                    m_szCurBatchNo = ultraGrid1.Rows[iNext+1].Cells["FS_BATCHNO"].Text.ToString();

                                }
                                else
                                {
                                    m_szCurBatchNo = "";
                                }

                                break;
                            }
                        }
                        m_WeightDataTable.Rows.Clear();
                        QueryLastStoveNo();
                    }
                    else
                    {
                        messageForm.SetMessage("保存成功!");
                        QueryWeightDataByBatchNo();
                        bCompleteStove = false;
                    }
                }
                QueryPlanData();

                //存储图片
                this._strBatchNo = p_FS_BATCHNO;
                this._strBandNo = GetMaxBandNoOfBatchNo(_strBatchNo);

                #region 自动播放语音
                if (bCompleteStove)
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\计量完成 请离开秤台.wav";
                }
                else
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";
                }

                if (CustomInfo.Equals("BC01"))    //只有棒材1#秤才播报计量结束
                {
                    if (chkAutoSave.Checked)
                    {
                        m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                        Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                    }
                    else
                    {
                        AutoAlarmVoice();
                    }
                }

                #endregion

                #region 控制灯
                if (_measApp.IoLogik != null && !_measApp.IoLogik.ReadDO()[0])
                {
                    _measApp.IoLogik.DO[0] = true;
                    _measApp.IoLogik.WriteDO();
                }
                #endregion

                #region 条码打印

                DataRow dRow = QueryTheoryWeightByBatchNo(p_FS_WEIGHTNO);
                if (cbx_print.Checked)
                {
                    if (_measApp.Printer != null)
                    {
                        _measApp.Printer.Data = new HgLable();
                        _measApp.Printer.PrinterName = new PrintDocument().PrinterSettings.PrinterName;
                        _measApp.Printer.Data.BatchNo = p_FS_BATCHNO; //批次号

                        _measApp.Printer.Data.Spec = p_FS_SPEC;//规格
                        //_measApp.Printer.Data.Weight = (int)Math.Round((double.Parse(p_FN_WEIGHT.ToString().Trim()) * 1000));  //重量
                        _measApp.Printer.Data.Date = DateTime.Now;
                        string strTerm = string.Empty;
                        switch (UserInfo.GetUserGroup())
                        {
                            case "1": strTerm = "A"; break;
                            case "2": strTerm = "B"; break;
                            case "3": strTerm = "C"; break;
                            case "4": strTerm = "D"; break;
                            default: strTerm = "A"; break;
                        }

                        _measApp.Printer.Data.Term = strTerm; //班别
                        _measApp.Printer.Data.PrintAddress = true; //地址

                        //查询标准
                        string sql = "select fs_Standard from BT_PRINTCARDSTANDARD t where t.fs_steeltype='" + p_FS_STEELTYPE.ToUpper() + "'";

                        CoreClientParam ccp9 = new CoreClientParam();
                        ccp9.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                        ccp9.MethodName = "ExcuteQuery";
                        ccp9.ServerParams = new object[] { sql };
                        DataTable db = new DataTable();
                        ccp9.SourceDataTable = db;
                        this.ExecuteQueryToDataTable(ccp9, CoreInvokeType.Internal);

                        if (db.Rows.Count > 0)
                        {

                            _measApp.Printer.Data.Standard = db.Rows[0][0].ToString();
                        }

                        else
                        {
                            _measApp.Printer.Data.Standard = "";
                        }

                        _measApp.Printer.Data.SteelType = p_FS_STEELTYPE; //牌号
                        _measApp.Printer.Data.Length = p_FN_LENGTH.ToString();
                        _measApp.Printer.Data.Count = p_FN_BANDBILLETCOUNT.ToString(); //支数
                        if (p_FS_TYPE == "非定尺" || p_FS_TYPE == "非定尺(3-6m)")
                        {
                            _measApp.Printer.Data.Count = "非";
                        }
                        _measApp.Printer.Data.Type = LableType.BIG;

                        string theoryWeight = "0";
                        //根据界面支数和规格 查询单捆重量

                        if (dRow != null)
                        {
                            _measApp.Printer.Data.BandNo = dRow["FN_BANDNO"].ToString();
                            theoryWeight = dRow["FN_THEORYWEIGHT"].ToString();
                        }
                        else
                        {
                            _measApp.Printer.Data.BandNo = "1";
                        }

                        _measApp.Printer.Data.BarCode = GetBarCode(p_FS_LABELID, _measApp.Printer.Data.BandNo); ; //条码号

                        //理重
                        if (checkBox1.Checked)
                        {
                            _measApp.Printer.Data.Weight = (double.Parse(theoryWeight.Trim()) * 1000).ToString();
                            _measApp.Printer.Copies = 2;
                            _measApp.Printer.Print();
                        }
                        if (checkBox2.Checked)
                        {
                            _measApp.Printer.Data.Weight = (p_FN_WEIGHT * 1000).ToString();
                            _measApp.Printer.Copies = 2;
                            _measApp.Printer.Print();
                        }
                    }
                }
                #endregion

                //上传垛帐系统

                string strSql = "select e.fs_material  from dt_productweightmain a,  IT_PRODUCTDETAIL e where  a.FS_PRODUCTNO = e.FS_PRODUCTNO(+) and a.fs_batchno='" + p_FS_BATCHNO + "'";
                CoreClientParam ccp2 = new CoreClientParam();
                ccp2.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                ccp2.MethodName = "ExcuteQuery";
                ccp2.ServerParams = new object[] { strSql };
                DataTable dt_materialno = new DataTable();
                ccp2.SourceDataTable = dt_materialno;
                this.ExecuteQueryToDataTable(ccp2, CoreInvokeType.Internal);

                strMaterialno = dt_materialno.Rows[0][0].ToString();

                DepotObject depotObj = new DepotObject();
                depotObj.BatchNo = p_FS_BATCHNO;
                depotObj.BatchIndex = _strBandNo;
                depotObj.Weight = p_FN_WEIGHT.ToString();
                depotObj.TheoryWeight = dRow["FN_THEORYWEIGHT"].ToString();
                depotObj.Barcode = GetBarCode(p_FS_LABELID, _strBandNo);
                depotObj.Material = strMaterialno;
                _depotManage.UploadDepot(depotObj);
            }
            catch (System.Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
コード例 #4
0
ファイル: Weight_BC.cs プロジェクト: Strongc/sencond
        /// <summary>
        /// 保存计量信息
        /// </summary>
        private void SaveWeightData()
        {
            //输入内容验证
            if (CheckInput() == false)
            {
                return;
            }
            int i = m_iSelectedPound;

            try
            {
                double dbContent = 0;
                if (Convert.ToDouble(textMinWeight.Text) < Convert.ToDouble(txtXSZL.Text))
                {

                    dbContent = Convert.ToDouble(textMinWeight.Text) - Convert.ToDouble(txtXSZL.Text);
                    dbContent = dbContent * 1000;

                    if (DialogResult.No == MessageBox.Show("重量低于下限值" + dbContent.ToString() + "公斤,是否继续保存重量?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information))
                    {
                        return;
                    }
                }
            }
            catch
            {

            }

            //复磅
            if (this.cbx_fb.CheckState == CheckState.Checked)
            {
                if (this.tb_zzbh_fb.Text.Trim() == "" || this.tb_bandno_fb.Text.Trim() == "")
                {
                    MessageBox.Show("复磅信息不全!");
                    return;
                }

                if ((IsUpLoadForDetail(tb_zzbh_fb.Text.Trim(), this.tb_bandno_fb.Text.Trim())) == true)
                {
                    MessageBox.Show("该数据已经上传,不允许复磅!");
                    return;
                }

                DoReWeightForBC(this.tb_zzbh_fb.Text.Trim(), this.tb_bandno_fb.Text.Trim(), this.txtXSZL.Text.Trim());
                QueryPlanData();
                #region 自动播放语音
                m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";

                AutoAlarmVoice();

                #endregion

                return;
            }

            //手工录入
            if (this.cbx_Hand.CheckState == CheckState.Checked)
            {
                if (CheckIsNumber(this.tbx_hWeight.Text.Trim()))
                {
                    SaveWeightDataByHand();
                }
                else
                {
                    MessageBox.Show("手工录入的重量不是有效的数字!");
                }
                return;
            }

            if (_saved)//是否已经保存
            {
                MessageBox.Show("数据已经保存过了,不允许再次保存!", "提示", MessageBoxButtons.OK);
                return;
            }
            if(txtXSZL.Text == "0.000")
            {
                MessageBox.Show("仪表数据为零,请联系管理员!");
                return;
            }
            try
            {
                //DataRow dr = QueryPlanDataByBatchNo(txtZZBH.Text.Trim());//从预报内存表中查询某一批次的相关信息
                //if (dr == null)
                //{
                //    MessageBox.Show("没有该批次的预报信息!", "提示", MessageBoxButtons.OK);
                //}
                string strMaterialCode = "";

                if (cbWLMC.SelectedIndex > 0)
                {
                    strMaterialCode = cbWLMC.SelectedValue.ToString();
                }

                float p_FN_LENGTH = 0;
                string p_FS_BATCHNO = txtZZBH.Text.Trim();//批次号

                m_szCurBatchNo = p_FS_BATCHNO;

                string p_FS_PRODUCTNO = txtDDH.Text.Trim();//订单号
                if (p_FS_PRODUCTNO.Length == 9)
                {
                    p_FS_PRODUCTNO = "000" + p_FS_PRODUCTNO;
                }
                string p_FS_ITEMNO = txtDDXMH.Text.Trim();//定单项目号
                string p_FS_MATERIALNO = strMaterialCode;//物料代码
                string p_FS_MATERIALNAME = cbWLMC.Text.Trim();//物料名称

                string p_FS_MRP = "";
                if (cbFHDW.SelectedIndex >= 0)
                {
                    p_FS_MRP = cbFHDW.SelectedValue.ToString();//发货单位(车间名称)
                }
                string p_FS_STORE = "";
                if (cbSHDW.SelectedIndex >= 0)
                {
                    p_FS_STORE = cbSHDW.SelectedValue.ToString();//收货单位(库存点)
                }
                string p_FS_STEELTYPE = cbGZ.Text.Trim();//钢种
                string p_FS_SPEC = cbGG.Text.Trim();//规格
                WeightNo = Guid.NewGuid().ToString();//计量作业编号
                string p_FS_WEIGHTNO = WeightNo;
                int p_FN_BANDBILLETCOUNT = 0;//支数
                if (txtZS.Text.Trim().Length > 0)
                {
                    p_FN_BANDBILLETCOUNT = Convert.ToInt32(txtZS.Text.Trim());
                }
                string p_FS_TYPE = cbLXIN.Text.Trim();//类型

                //if (cbDCCD.Text != "0")
                    //p_FN_LENGTH = Convert.ToSingle(cbDCCD.Text.Trim());
                if (!float.TryParse(cbDCCD.Text.Trim(), out p_FN_LENGTH))
                {
                    p_FN_LENGTH = 0;
                }
                    //if (p_FS_TYPE == "非定尺" || p_FS_TYPE == "非定尺(3-6m)")
                    //{
                    //    p_FN_LENGTH = 0;
                    //    p_FN_BANDBILLETCOUNT = 0;
                    //}

                double p_FN_WEIGHT = Convert.ToDouble(string.Format("{0:F3}", Single.Parse(this.txtZL.Text.Trim())));//重量
                string p_FS_PERSON = UserInfo.GetUserName();//计量员
                string p_FS_POINT = _measApp.Params.FS_POINTCODE;//计量点编号
                string p_FS_SHIFT = UserInfo.GetUserOrder();//班次
                string p_FS_TERM = UserInfo.GetUserGroup();//班别
                //string p_FS_LABELID = "00000000";//条码号
                string p_FS_LABELID = p_FS_BATCHNO;
                string strBarCode = GetBarCode(p_FS_BATCHNO,txtZS.Text);
                string p_FS_FLOW = "";//流向
                if (cbLX.SelectedIndex > 0)
                {
                    p_FS_FLOW = cbLX.SelectedValue.ToString();
                }
                float p_FN_DECWEIGHT = 0;
                if (txtYKL.Text.Trim().Length > 0)
                {
                    p_FN_DECWEIGHT = Convert.ToSingle(string.Format("{0:F3}", Single.Parse(txtYKL.Text.Trim())));//应扣重量
                }

                //判断重量是否超限
                if(_weightStdManage != null)
                {
                    try
                    {
                        _produtionWeightStd = _weightStdManage.GetStandard(p_FS_SPEC, p_FN_LENGTH.ToString());
                        if (_produtionWeightStd != null && (p_FN_WEIGHT * 1000 > _produtionWeightStd.MaxWeight || p_FN_WEIGHT * 1000 < _produtionWeightStd.MinWeight))
                        {
                            messageForm.SetMessage("重量超出范围!");
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }

                CoreClientParam ccp = new CoreClientParam();
                ccp.ServerName = "ygjzjl.bar.StoreageWeight_BC";
                ccp.MethodName = "addBatchNo";
                ccp.ServerParams = new object[] { p_FS_BATCHNO,
                                                p_FS_PRODUCTNO,
                                                p_FS_ITEMNO,
                                                p_FS_MATERIALNO,
                                                p_FS_MRP,
                                                p_FS_STORE,
                                                p_FS_STEELTYPE,
                                                p_FS_SPEC,
                                                p_FS_WEIGHTNO,
                                                p_FN_BANDBILLETCOUNT,
                                                p_FS_TYPE,
                                                p_FN_LENGTH,
                                                p_FN_WEIGHT,
                                                p_FS_PERSON,
                                                p_FS_POINT,
                                                p_FS_SHIFT,
                                                p_FS_TERM,
                                                strBarCode,
                                                p_FS_MATERIALNAME,
                                                p_FS_FLOW,
                                                p_FN_DECWEIGHT};
               CoreClientParam ret = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
               string reVal = "";
               if (ret.ReturnCode != 0)
               {
                   MessageBox.Show("数据保存失败!");
                   return;
               }
               else
               {
                   reVal = "";
                   if (ccp.ReturnObject != null)
                   {
                       reVal = ccp.ReturnObject.ToString();
                   }
                   //返回为空表示没有下一预报
                   if (reVal == "" || reVal != this.m_szCurBatchNo)
                   {
                       messageForm.SetMessage("批次" + txtZZBH.Text.Trim() + "  已完炉!");
                       bCompleteStove = true;
                       ClearControl();
                       QueryWeightDataByBatchNo();
                       for (int iNext = 0; iNext < ultraGrid1.Rows.Count; iNext++)
                       {
                           if (ultraGrid1.Rows[iNext].Cells["FS_BATCHNO"].Text.ToString() == m_szCurBatchNo)
                           {
                               if (iNext + 1 < ultraGrid1.Rows.Count)
                               {
                                   m_szCurBatchNo = ultraGrid1.Rows[iNext+1].Cells["FS_BATCHNO"].Text.ToString();
                               }
                               else
                               {
                                   m_szCurBatchNo = "";
                               }

                               break;
                           }
                       }
                       m_WeightDataTable.Rows.Clear();
                       //重新绑定新预报到界面
                       QueryLastStoveNo();
                   }
                   else
                   {
                       messageForm.SetMessage("保存成功!");
                       QueryWeightDataByBatchNo();
                       bCompleteStove = false;
                   }

               }
                //保存成功后保存和完炉按钮不可操作,直到下一吊上称后
                //btnBC.Enabled = false;

                _saved = true;
                QueryPlanData();

                //存储图片
                this._strBatchNo = p_FS_BATCHNO;
                this._strBandNo = GetMaxBandNoOfBatchNo(_strBatchNo);

                GraspAndSaveImage();

                #region RTU控制
                try
                {
                    //if (m_iSelectedPound >= 0 && _measApp.Rtu != null)
                    //{
                    //    _measApp.Rtu.SendRtuCommand((byte)1, (byte)5, (byte)0x50, (byte)(0xDF - 1), (byte)0x00, (byte)0);
                    //    _measApp.Rtu.SendRtuCommand((byte)1, (byte)5, (byte)0x50, (byte)(0xDD - 1), (byte)0xFF, (byte)0);
                    //    _measApp.Rtu.SendRtuCommand((byte)1, (byte)5, (byte)0x50, (byte)(0xE0 - 1), (byte)0x00, (byte)0);
                    //    _measApp.Rtu.SendRtuCommand((byte)1, (byte)5, (byte)0x50, (byte)(0xE0 - 1), (byte)0xFF, (byte)0);
                    //}
                }
                catch (Exception e)
                {
                    WriteLog("SaveWeightData  RTU控制命令发送失败");
                }

                #endregion

                #region 自动播放语音
                if (bCompleteStove) //完炉
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\计量完成 请离开秤台.wav";
                }
                else
                {
                    m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";
                }
                if (CustomInfo.Equals("BC01"))    //只有棒材1#秤才播报计量结束
                {
                    if (chkAutoSave.Checked)
                    {
                        m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                        Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                    }
                    else
                    {
                        AutoAlarmVoice();
                    }
                }

                #endregion
                #region 条码打印
                DataRow dRow = QueryTheoryWeightByBatchNo(p_FS_WEIGHTNO);
                if (cbx_print.Checked)
                {
                    if (_measApp.Printer != null)
                    {

                        _measApp.Printer.Data = new HgLable();
                        _measApp.Printer.Data.BatchNo = p_FS_BATCHNO; //批次号
                        _measApp.Printer.PrinterName = new PrintDocument().PrinterSettings.PrinterName;
                        _measApp.Printer.Data.Spec = p_FS_SPEC;//规格
                        //_measApp.Printer.Data.Weight = (int)Math.Round((double.Parse(p_FN_WEIGHT.ToString().Trim()) * 1000));  //重量
                        _measApp.Printer.Data.Date = DateTime.Now;
                        string strTerm = string.Empty;
                        switch (UserInfo.GetUserGroup())
                        {
                            case "1": strTerm = "A"; break;
                            case "2": strTerm = "B"; break;
                            case "3": strTerm = "C"; break;
                            case "4": strTerm = "D"; break;
                            default: strTerm = "A"; break;
                        }
                        _measApp.Printer.Data.Term = strTerm; //班别

                        _measApp.Printer.Data.PrintAddress = true; //地址

                        string sql = "select fs_Standard from BT_PRINTCARDSTANDARD t where t.fs_steeltype='" + p_FS_STEELTYPE.ToUpper() + "'";

                        CoreClientParam ccp9 = new CoreClientParam();
                        ccp9.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                        ccp9.MethodName = "ExcuteQuery";
                        ccp9.ServerParams = new object[] { sql };
                        DataTable db = new DataTable();
                        ccp9.SourceDataTable = db;
                        this.ExecuteQueryToDataTable(ccp9, CoreInvokeType.Internal);

                        if (db.Rows.Count > 0)
                        {

                            _measApp.Printer.Data.Standard = db.Rows[0][0].ToString();
                        }

                        else
                        {
                            _measApp.Printer.Data.Standard = "";
                        }

                        //if (p_FS_STEELTYPE.ToUpper() == "22MNB")
                        //{
                        //    _measApp.Printer.Data.Standard = "KGB.4 3001";
                        //}
                        //else if (p_FS_STEELTYPE.ToUpper() == "18B")
                        //{
                        //    _measApp.Printer.Data.Standard = "KGB.3 3001";
                        //}
                        //else
                        //{
                        //    _measApp.Printer.Data.Standard = ""; //标准
                        //}
                        _measApp.Printer.Data.SteelType = p_FS_STEELTYPE; //牌号
                        _measApp.Printer.Data.Length = p_FN_LENGTH.ToString();
                        _measApp.Printer.Data.Count = p_FN_BANDBILLETCOUNT.ToString(); //支数
                        if (p_FS_TYPE == "非定尺" || p_FS_TYPE == "非定尺(3-6m)")
                        {
                            _measApp.Printer.Data.Count = "非";
                        }
                        _measApp.Printer.Data.Type = LableType.BIG;

                        string theoryWeight = "0";
                        //根据界面支数和规格 查询单捆重量

                        if (dRow != null)
                        {
                            _measApp.Printer.Data.BandNo = dRow["FN_BANDNO"].ToString();
                            theoryWeight = dRow["FN_THEORYWEIGHT"].ToString();
                        }
                        else
                        {
                            _measApp.Printer.Data.BandNo = "1";
                        }

                        _measApp.Printer.Data.BarCode = GetBarCode(p_FS_LABELID, _measApp.Printer.Data.BandNo); //条码号

                        //理重
                        if (checkBox1.Checked)
                        {
                            _measApp.Printer.Data.Weight = (double.Parse(theoryWeight.Trim()) * 1000).ToString();
                            _measApp.Printer.Copies = 2;
                            _measApp.Printer.Print();

                        }
                        if (checkBox2.Checked)
                        {
                            _measApp.Printer.Data.Weight = (p_FN_WEIGHT * 1000).ToString();
                            _measApp.Printer.Copies = 2;
                            _measApp.Printer.Print();
                        }
                    }
                }

                //上传垛帐系统

                string strSql = "select e.fs_material  from dt_productweightmain a,  IT_PRODUCTDETAIL e where  a.FS_PRODUCTNO = e.FS_PRODUCTNO(+) and a.fs_batchno='" + p_FS_BATCHNO + "'";
                CoreClientParam ccp2 = new CoreClientParam();
                ccp2.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                ccp2.MethodName = "ExcuteQuery";
                ccp2.ServerParams = new object[] { strSql };
                DataTable dt_materialno = new DataTable();
                ccp2.SourceDataTable = dt_materialno;
                this.ExecuteQueryToDataTable(ccp2, CoreInvokeType.Internal);

                strMaterialno = dt_materialno.Rows[0][0].ToString();

                DepotObject depotObj = new DepotObject();
                depotObj.BatchNo = p_FS_BATCHNO;
                depotObj.BatchIndex = _strBandNo;
                depotObj.Weight = p_FN_WEIGHT.ToString();
                depotObj.TheoryWeight = dRow["FN_THEORYWEIGHT"].ToString();
                depotObj.Barcode = GetBarCode(p_FS_LABELID, _strBandNo);
                depotObj.Material = strMaterialno;
                _depotManage.UploadDepot(depotObj);
                #endregion
                #region 自动下载新的订单信息
                if (this.txtDDH.Text.Trim() != p_FS_PRODUCTNO)
                {
                    //messageForm.SetMessage("已使用新的订单号,系统将自动下载新的订单信息!");
                    //Thread.Sleep(2000);
                    //GetOrderInfo(this.txtDDH.Text.Trim());
                }
                #endregion

            }
            catch (System.Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
コード例 #5
0
ファイル: BoardBilletWeight.cs プロジェクト: Strongc/sencond
        //保存控件数据到计量主表和从表
        private void SaveJLCZData()
        {
            try
            {
                //从表数据

                strZYBH = Guid.NewGuid().ToString().Trim(); //作业编号
                if (txtDDH.Text != "" && txtDDXMH.Text == "")
                {
                    this.txtDDXMH.Text = "0001";

                }

                string strJLY = UserInfo.GetUserName();//计量员
                string strBC = UserInfo.GetUserOrder();  //班次
                string strBB = UserInfo.GetUserGroup();//班别
                //主表参数
                string strDDH = this.txtDDH.Text.Trim(); //订单号
                string strDDXMH = this.txtDDXMH.Text.Trim();//订单项目号

                if (this.cbWLMC.Text.Trim() != "")
                    strWLMC = this.cbWLMC.Text.Trim(); //物料名称
                else
                    strWLMC = "板坯";

                if (cbWLMC.SelectedIndex > 0)
                {
                    strWLBH = cbWLMC.SelectedValue.ToString().Trim();//物料代码
                }
                else
                {
                    if (valueWL != "")
                        strWLBH = valueWL;
                    else
                        strWLBH = "WL000371";//二作方坯 Q235A 150*150*(3000-3150)
                }

                if (cbFHDW.SelectedIndex > 0)
                {
                    strFHDW = cbFHDW.SelectedValue.ToString().Trim();//发货单位代码
                }
                else
                {
                    if (valueFH != "")
                        strFHDW = valueFH;
                    else
                        strFHDW = "FH000126";//炼钢厂一作业区

                }

                if (cbSHDW.SelectedIndex > 0)
                {
                    strSHDW = cbSHDW.SelectedValue.ToString().Trim();//收货单位代码
                }
                //else
                //{
                //    if (valueFH != "")
                //        strSHDW = valueSH;
                //    else
                //        strSHDW = "SH000098";//棒线厂一作业区
                //}

                //if (cbSHDW.Text.Trim() == "棒线厂一作业区")
                //{
                //    strSHDW = "SH000098";
                //}
                //else if (cbSHDW.Text.Trim() == "棒线厂二作业区")
                //{
                //    strSHDW = "SH000099";
                //}
                //else
                //{
                //    strSHDW = "SH000098";
                //}

                if (cbLiuX.SelectedIndex > 0)
                {
                    strLiuX = cbLiuX.SelectedValue.ToString().Trim();//流向代码
                }
                else
                {
                    strLiuX = "003";//生产订单收货
                }

                string strGZ = this.cbGZ.Text.Trim();    //钢种
                string strGG = this.cbGG.Text.Trim();    //规格
                double strCD = Convert.ToDouble(this.txtCD.Text.Trim());//定尺长度

                //计量点代码 使用全局变量pointcode

                //主从共用参数
                string strLH = this.txtLH.Text.Trim(); //炉号
                double ZL;
                try
                {
                    //ZL = Convert.ToDouble(this.txtZL.Text.Trim());
                    ZL = Convert.ToDouble(string.Format("{0:F3}", Single.Parse(this.txtZL.Text.Trim())));
                }//重量
                catch (Exception ce)
                {
                    ZL = 0;
                }

                Hashtable ht = new Hashtable();
                ht.Add("i1", strZYBH);
                ht.Add("i2", strLH);
                ht.Add("i3", strDDH);
                ht.Add("i4", strWLBH);
                ht.Add("i5", strWLMC);
                ht.Add("i6", strGZ);
                ht.Add("i7", strGG);
                ht.Add("i8", strLiuX);
                ht.Add("i9", strFHDW);
                ht.Add("i10", strSHDW);
                ht.Add("i11", pointcode);
                ht.Add("i12", strJLY);
                ht.Add("i13", ZL);
                ht.Add("i14", strBC);
                ht.Add("i15", strBB);
                ht.Add("i16", strCD);

                CoreClientParam ccp = new CoreClientParam();
                ccp.ServerName = "com.dbComm.DBComm";
                ccp.MethodName = "executeProcedureBySql2";
                string strSql = "{call KG_MCMS_BoardBilletInfo.SaveJLData(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}";
                ccp.ServerParams = new object[] { strSql, ht  };
                ccp.IfShowErrMsg = false;
                this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
                if (ccp.ReturnCode == -1)
                {
                    MessageBox.Show("重量保存失败");
                    return;
                }

                string result = "";
                string completeLH = "";

                m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";

                    result = ccp.ReturnObject.ToString();
                    countZL += ZL;//保存成功则累计重量
                    countZS += 1;//保存成功累计支数
                    messForm.SetMessage("保存成功!");

                QueryAndBindJLCZData();
                //保存抓图信息
                //SavePictureData();
                QueryAndBindYBData();//UUUUUUUUUUUUUUUUUUUUUUU--7月18日---晚注销 后移动到此处

                _saved = true;
                ////LED屏显示
                //if (m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && _measApp.Led != null)
                //{
                //    string str = "";
                //    string strLedText = "";
                //    //if (dataTable6.Rows.Count > 0 && dataTable6.Rows[0]["FS_THWEITSINGLE"].ToString() == "理论")
                //    //    str = "理论计重";
                //    if (dataTable1.Rows.Count > 0 && dataTable3.Rows.Count > 0)
                //    {

                //        DataTable dt = new DataTable();
                //        string sql = " select to_char(FN_NetWeight,'FM999990.000') from dt_boardweightmain where fs_stoveno = '" + strLH + "' ";
                //        //sql += " and fn_billetindex = (select max(fn_billetindex) from dt_steelweightdetailroll where fs_stoveno = '" + strLH + "')";

                //        //CoreClientParam ccp = new CoreClientParam();
                //        ccp.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                //        ccp.MethodName = "ExcuteQuery";
                //        ccp.ServerParams = new object[] { sql };
                //        ccp.SourceDataTable = dt;

                //        this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);

                //        string strLastWeight = dt.Rows[0][0].ToString();

                //        _measApp.Led.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable3.Rows[0]["FN_COUNT"].ToString() + "支\n\n单块重量:" + strLastWeight + " 吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str, "宋体", 9, 1, 4, 0);

                //        //WriteLog(dataTable1.Rows[0]["FS_STOVENO"].ToString() + "-1");
                //    }
                //    else
                //    {
                //        if (completeLH != "")
                //        {
                //            dataTable1.Clear();
                //            CoreClientParam cop = new CoreClientParam();
                //            cop.ServerName = "core.mcms.billetTransfer.BilletInfo";
                //            cop.MethodName = "QueryJLCZData";
                //            cop.ServerParams = new object[] { completeLH };
                //            cop.SourceDataTable = dataTable1;
                //            this.ExecuteQueryToDataTable(cop, CoreInvokeType.Internal);
                //            strLedText = "炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "支\n\n单支重量:" + this.txtZL.Text.Trim() + "吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str;
                //            WriteLog(strLedText);

                //            _measApp.Led.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "支\n\n单支重量:" + this.txtZL.Text.Trim() + "吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str, "宋体", 9, 1, 4, 0);

                //            WriteLog(dataTable1.Rows[0]["FS_STOVENO"].ToString() + "-2");
                //        }
                //        else
                //        {
                //            strLedText = "当前暂无计量信息!";
                //            WriteLog(strLedText);
                //            _measApp.Led.SendText("当前暂无计量信息!", "宋体", 9, 1, 4, 0);

                //            WriteLog(completeLH + "无数据-3");
                //        }
                //    }
                //    System.Threading.Thread.Sleep(300);

                //}
                //液晶屏显示
               // WriteLog("1");
                if (m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && _measApp.Lcd != null && dataTable1.Rows.Count > 0)
                //m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && m_PoundRoomArray[m_iSelectedPound].UseLED
                {
                    WriteLog("2");
                    _measApp.Lcd.ClearScreen();//记得每次处理一组事务前先清屏
                    _measApp.Lcd.DrawPicture(1);
                    //WriteLog("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 240, Color.Yellow, "炉号:" + txtLH.Text.Trim());
                    //WriteLog("钢种:" + cbGZ.Text.Trim());
                    _measApp.Lcd.WriteText(480, 285, Color.Yellow, "钢种:" + cbGZ.Text.Trim());
                    WriteLog("规格:" + cbGG.Text.Trim());
                    _measApp.Lcd.WriteText(480, 334, Color.Yellow, "规格:" + cbGG.Text.Trim());

                    _measApp.Lcd.WriteText(480, 388, Color.Yellow, "长度:" + txtCD.Text.Trim());
                    //_measApp.Lcd.WriteText(480, 438, Color.Yellow, "当前支数:" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 438, Color.Yellow, "重量:" + this.txtZL.Text.ToString());

                    //WriteLog("总支数:" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString().Trim());
                    //_measApp.Lcd.WriteText(480, 534, Color.Yellow, "总支数:" + totalZS.ToString());
                    //WriteLog("总重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString().Trim());
                    //_measApp.Lcd.WriteText(480, 581, Color.Yellow, "总重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString().Trim());
                   // WriteLog("Over");
                }

                #region 自动播放语音

                    if (this.chkAutoSave.CheckState == CheckState.Unchecked) //手动保存模式下语音播放
                    {
                        AutoAlarmVoice();
                    }
                    else
                    {
                        m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                        Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                    }

                #endregion

                this.btnBC.Enabled = true;
                this.btnDS.Enabled = true;
                this.txtZL.Text = "";

            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
コード例 #6
0
ファイル: BilletInfo.cs プロジェクト: Strongc/sencond
        //保存控件数据到计量主表和从表
        private void SaveJLCZData()
        {
            try
            {
                //从表数据

                strZYBH = Guid.NewGuid().ToString().Trim(); //作业编号
                if (txtDDH.Text != "" && txtDDXMH.Text == "")
                {
                    this.txtDDXMH.Text = "0001";

                }

                string strJLY = UserInfo.GetUserName();//计量员
                string strBC = UserInfo.GetUserOrder();  //班次
                string strBB = UserInfo.GetUserGroup();//班别
                //主表参数
                string strDDH = this.txtDDH.Text.Trim(); //订单号
                string strDDXMH = this.txtDDXMH.Text.Trim();//订单项目号

                if (this.cbWLMC.Text.Trim() != "")
                    strWLMC = this.cbWLMC.Text.Trim(); //物料名称
                else
                    strWLMC = "二作方坯 Q235A 150*150*(3000-3150)";

                if (cbWLMC.SelectedIndex > 0)
                {
                    strWLBH = cbWLMC.SelectedValue.ToString().Trim();//物料代码
                }
                else
                {
                    if (valueWL != "")
                        strWLBH = valueWL;
                    else
                        strWLBH = "WL000509";//二作方坯 Q235A 150*150*(3000-3150)
                }

                if (cbFHDW.SelectedIndex > 0)
                {
                    strFHDW = cbFHDW.SelectedValue.ToString().Trim();//发货单位代码
                }
                else
                {
                    if (valueFH != "")
                        strFHDW = valueFH;
                    else
                        strFHDW = "FH000126";//炼钢厂一作业区

                }

                if (cbSHDW.SelectedIndex > 0)
                {
                    strSHDW = cbSHDW.SelectedValue.ToString().Trim();//收货单位代码
                }
                //else
                //{
                //    if (valueFH != "")
                //        strSHDW = valueSH;
                //    else
                //        strSHDW = "SH000098";//棒线厂一作业区
                //}

                //if (cbSHDW.Text.Trim() == "棒线厂一作业区")
                //{
                //    strSHDW = "SH000098";
                //}
                //else if (cbSHDW.Text.Trim() == "棒线厂二作业区")
                //{
                //    strSHDW = "SH000099";
                //}
                //else
                //{
                //    strSHDW = "SH000098";
                //}

                if (cbLiuX.SelectedIndex > 0)
                {
                    strLiuX = cbLiuX.SelectedValue.ToString().Trim();//流向代码
                }
                else
                {
                    strLiuX = "003";//生产订单收货
                }

                string strGZ = this.cbGZ.Text.Trim();    //钢种
                string strGG = this.cbGG.Text.Trim();    //规格
                double strCD = Convert.ToDouble(this.txtCD.Text.Trim());//定尺长度

                //计量点代码 使用全局变量pointcode

                //主从共用参数
                string strLH = this.txtLH.Text.Trim(); //炉号
                double ZL;
                try {
                    ZL = this.chkAutoSave.Checked ? Convert.ToDouble(this.txtZL.Text.Trim()) : Convert.ToDouble(this.textBox1.Text.Trim()); //是否手工保存
                }//重量
                catch (Exception ce)
                {
                    ZL = 0;
                }

                Hashtable ht = new Hashtable();
                ht.Add("i1", strZYBH);
                ht.Add("i2", strJLY);
                ht.Add("i3", strBC);
                ht.Add("i4", strBB);
                ht.Add("i5", strDDH);
                ht.Add("i6", strDDXMH);
                ht.Add("i7", strWLBH);
                ht.Add("i8", strWLMC);
                ht.Add("i9", totalZS);
                ht.Add("i10", strGZ);
                ht.Add("i11", strGG);
                ht.Add("i12", strLiuX);
                ht.Add("i13", strCD);
                ht.Add("i14", strFHDW);
                ht.Add("i15", strSHDW);
                ht.Add("i16", pointcode);
                ht.Add("i17", strLH);
                ht.Add("i18", ZL);
                ht.Add("i19", strLLJZ);
                ht.Add("i20", p_shiftdate);
                ht.Add("i21", _rollerNo);
                ht.Add("o22", "");

                CoreClientParam ccp = new CoreClientParam();
                ccp.ServerName = "com.dbComm.DBComm";
                ccp.MethodName = "executeProcedure";
                ccp.ServerParams = new object[] { "BILLETINFO_01.CALL", ht  };
                ccp.IfShowErrMsg = false;
                this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
                if (ccp.ReturnCode == -1)
                {
                    MessageBox.Show("保存失败" + ccp.ReturnInfo.ToString());
                    return;
                }

                string result = "";
                string completeLH = "";

                m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductComplete.wav";

                    result = ccp.ReturnObject.ToString();
                    countZL += ZL;//保存成功则累计重量
                    countZS += 1;//保存成功累计支数
                    if (result == "yes")
                    {
                        m_AlarmVoicePath = Constant.RunPath + "\\sound\\ProductOver.wav";
                        completeLH = this.txtLH.Text.Trim();
                        messForm.SetMessage("本炉计量完成!");
                        //ClearCompleteControler();
                        //ClearControler();
                        //QueryAndBindYBData();//UUUUUUUUUUUUUUUUUUUUUUU--7月18日---晚注销 后移动到下方注释
                        QueryLastStoveData();
                        this.txtLH.Focus();
                        try
                        {
                            //yes表示完炉,20110218彭海波增加
                            string m_Memo = "FS_GP_FLOW=SH000098,FS_GP_COMPLETEFLAG=1,FN_JJ_WEIGHT和FN_GP_TOTALCOUNT更新成了完炉时的重量和支数";
                            string strDate = System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                            string strIP = m_BaseInfo.getIPAddress();
                            string strMAC = m_BaseInfo.getMACAddress();
                            m_BaseInfo.insertLog(strDate, "修改", strJLY, strIP, strMAC, m_Memo, strLH, strLH, "", "", "", "IT_FP_TECHCARD", "钢坯管理/二钢辊道过磅计量/完炉后程序的回填操作");
                        }
                        catch (Exception ex1)
                        {
                            MessageBox.Show("卡片日志插入失败,不影响过磅,请与8604813联系!");
                        }
                    }
                    else if (result == "F")
                    {
                        messForm.SetMessage("数据库中没有记录,不允许理论计重!");
                    }
                    else
                    {
                        messForm.SetMessage("保存成功!");
                        //messForm.Close();
                    }
                QueryAndBindJLCZData();
                //保存抓图信息
                SavePictureData();
                QueryAndBindYBData();//UUUUUUUUUUUUUUUUUUUUUUU--7月18日---晚注销 后移动到此处

                _saved = true;
                //LED屏显示
                if (m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && _measApp.Led != null)
                {
                    string str = "";
                    string strLedText = "";
                    //if (dataTable6.Rows.Count > 0 && dataTable6.Rows[0]["FS_THWEITSINGLE"].ToString() == "理论")
                    //    str = "理论计重";
                    if (dataTable1.Rows.Count > 0 && dataTable3.Rows.Count > 0)
                    {

                        DataTable dt = new DataTable();
                        string sql = " select to_char(FN_NetWeight,'FM999990.000') from dt_steelweightdetailroll where fs_stoveno = '" + strLH + "' ";
                        sql += " and fn_billetindex = (select max(fn_billetindex) from dt_steelweightdetailroll where fs_stoveno = '" + strLH + "')";

                        //CoreClientParam ccp = new CoreClientParam();
                        ccp.ServerName = "ygjzjl.basedatamanage.OtherBaseInfo";
                        ccp.MethodName = "ExcuteQuery";
                        ccp.ServerParams = new object[] { sql };
                        ccp.SourceDataTable = dt;

                        this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);

                        string strLastWeight = dt.Rows[0][0].ToString();

                        _measApp.Led.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable3.Rows[0]["FN_COUNT"].ToString() + "支\n\n单支重量:" + strLastWeight + " 吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str, "宋体", 9, 1, 4, 0);
                        _ledScreen.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "\n重量:" + strLastWeight + " t" + " " + str, "宋体", 18, 1, 4, 0);
                        WriteLog(dataTable1.Rows[0]["FS_STOVENO"].ToString() + "-1");
                    }
                    else
                    {
                        if (completeLH != "")
                        {
                            dataTable1.Clear();
                            CoreClientParam cop = new CoreClientParam();
                            cop.ServerName = "core.mcms.billetTransfer.BilletInfo";
                            cop.MethodName = "QueryJLCZData";
                            cop.ServerParams = new object[] { completeLH };
                            cop.SourceDataTable = dataTable1;
                            this.ExecuteQueryToDataTable(cop, CoreInvokeType.Internal);
                            strLedText = "炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "支\n\n单支重量:" + this.txtZL.Text.Trim() + "吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str;
                            WriteLog(strLedText);

                            _measApp.Led.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "," + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "/" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString() + "支\n\n单支重量:" + this.txtZL.Text.Trim() + "吨\n\n" + "累计重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString() + " 吨" + " " + str, "宋体", 9, 1, 4, 0);
                            _ledScreen.SendText("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString() + "\n单支重量:" + this.txtZL.Text.Trim() + "吨"+ str, "宋体", 18, 1, 4, 0);
                            WriteLog(dataTable1.Rows[0]["FS_STOVENO"].ToString() + "-2");
                        }
                        else
                        {
                            strLedText = "当前暂无计量信息!";
                            WriteLog(strLedText);
                            _measApp.Led.SendText("当前暂无计量信息!", "宋体", 9, 1, 4, 0);
                            _ledScreen.SendText("当前暂无计量信息!", "宋体", 18, 1, 4, 0);
                            WriteLog(completeLH + "无数据-3");
                        }
                    }
                    System.Threading.Thread.Sleep(300);

                }

                //液晶屏显示
                WriteLog("1");
                if (m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && _measApp.Lcd != null && dataTable1.Rows.Count > 0)
                //m_iSelectedPound >= 0 && m_iSelectedPound < m_nPointCount && m_PoundRoomArray[m_iSelectedPound].UseLED
                {
                    WriteLog("2");
                    _measApp.Lcd.ClearScreen();//记得每次处理一组事务前先清屏
                    _measApp.Lcd.DrawPicture(1);
                    WriteLog("炉号:" + dataTable1.Rows[0]["FS_STOVENO"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 240, Color.Yellow, "炉号:" + txtLH.Text.Trim());
                    WriteLog("钢种:" + cbGZ.Text.Trim());
                    _measApp.Lcd.WriteText(480, 285, Color.Yellow, "钢种:" + cbGZ.Text.Trim());
                    WriteLog("规格:" + cbGG.Text.Trim());
                    _measApp.Lcd.WriteText(480, 334, Color.Yellow, "规格:" + cbGG.Text.Trim());

                    _measApp.Lcd.WriteText(480, 388, Color.Yellow, "长度:" + txtCD.Text.Trim());
                    _measApp.Lcd.WriteText(480, 438, Color.Yellow, "当前支数:" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 487, Color.Yellow, "单支重量:" + this.txtZL.Text.ToString());

                    WriteLog("总支数:" + dataTable1.Rows[0]["FN_BILLETCOUNT"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 534, Color.Yellow, "总支数:" + totalZS.ToString());
                    WriteLog("总重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString().Trim());
                    _measApp.Lcd.WriteText(480, 581, Color.Yellow, "总重量:" + dataTable1.Rows[0]["FN_TOTALWEIGHT"].ToString().Trim());
                    WriteLog("Over");
                }

                #region 自动播放语音

                    if (this.chkAutoSave.CheckState == CheckState.Unchecked) //手动保存模式下语音播放
                    {
                        AutoAlarmVoice();
                    }
                    else
                    {
                        m_MainThreadAlarmVoice = new AlarmVoice(AutoAlarmVoice);
                        Invoke(m_MainThreadAlarmVoice); //用委托播放声音
                    }

                #endregion

                this.btnBC.Enabled = true;
                this.btnDS.Enabled = true;
                this.txtZL.Text = "";

            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }