Esempio n. 1
0
        /// <summary>
        /// 异步事务工作事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            backgroundWorker1.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "SearchData":
                    using (SRQZData.QZDataServiceClient client = new SRQZData.QZDataServiceClient())
                    {
                        e.Result = client.GetCraftsTable(context.SessionID);
                    }
                    break;

                default:
                    break;
                }
            }
            catch (System.ServiceModel.FaultException <SRQZData.CustomFaultMessage> fex)
            {
                Utils.Logger.Error(fex.ToString());
                backgroundWorker1.ReportProgress(PubConstant.WaitMessageStatus.ERROR, fex.Message);
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                backgroundWorker1.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }
            backgroundWorker1.ReportProgress(PubConstant.WaitMessageStatus.END);
        }
Esempio n. 2
0
        private void BgWaitStockArea_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                switch (e.Argument.ToString())
                {
                case "GetInitRFIDData":

                    using (var Client = new SRQZData.QZDataServiceClient())
                    {
                        DataTable MYFunColor = Client.GetQZFunColor(context.SessionID);        //获取勤哲基础颜色设置
                        RFIDData         = Client.GetRFIDData(context.SessionID);
                        TestRfidData     = RFIDData.DefaultView;
                        TestRfidDistinct = TestRfidData.ToTable(true, "颜色代码", "配方名称");

                        for (int i = 0; i < MYFunColor.Rows.Count; i++)
                        {
                            imageList2.Images.Add(ImageProcess.GetFillrectangleBitmap(28, 28, System.Drawing.ColorTranslator.FromHtml(MYFunColor.Rows[i]["颜色代码"].ToString()), "", Color.Black));
                        }
                    }

                    e.Result = "GetInitRFIDData";

                    break;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
            }
        }
Esempio n. 3
0
        private void frmPullDetectionReg_Load(object sender, EventArgs e)
        {
            try
            {
                ProcessTypeSpinEdit.Properties.DataSource = TProcessType;
                AddFun();

                this.BeginInvoke((MethodInvoker) delegate()
                {
                    using (SRQZData.QZDataServiceClient client = new SRQZData.QZDataServiceClient())
                    {
                        var data = client.GetQualityInspector(context.SessionID);
                        this.Invoke((MethodInvoker) delegate()
                        {
                            QualityInspectorTextEdit.Properties.DataSource = data;
                        });
                        dtPullRule = client.GetPullCompute(context.SessionID);
                    }
                });
            }
            catch (Exception ex)
            {
                ClsMsg.ShowErrMsg(ex.Message);
                Utils.Logger.Error(ex.ToString());
            }
        }
Esempio n. 4
0
        private object TestQueryWeight(SRQZData.QZDataServiceClient QZclient, DataTable Newret, int StartLocation)
        {
            decimal queryWeight;
            var     retWeight = QZclient.GetQZWeight(context.SessionID, Convert.ToDateTime(Newret.Rows[StartLocation]["生产周期开始"].ToString()), Convert.ToDateTime(Newret.Rows[StartLocation]["生产周期结束"].ToString()), Newret.Rows[StartLocation]["品种"].ToString(), Newret.Rows[StartLocation]["品种类型"].ToString());

            // var queryWeight = retWeight.Compute("sum(weightA)", "");
            if (retWeight.Rows.Count > 0 && retWeight != null)
            {
                queryWeight = Math.Round(Convert.ToDecimal(retWeight.Compute("sum(weightA)", "")), MidpointRounding.AwayFromZero) / 1000;
            }
            else
            {
                queryWeight = 0;
            }

            return(queryWeight);
        }
Esempio n. 5
0
        /// <summary>
        /// 左上角跟右上角思路处理定时器更新时统一去除viewlist控件的数据同时统一add该控件的数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BgWaitDrumDry_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                switch (e.Argument.ToString())
                {
                case "GetInitDrumDryData":

                    using (var Client = new SRQZData.QZDataServiceClient())
                    {
                        QZFunColor = Client.GetQZFunColor(context.SessionID);        //获取勤哲基础颜色设置

                        for (int i = 0; i < QZFunColor.Rows.Count; i++)
                        {
                            imageList1.Images.Add(ImageProcess.GetFillEllipseBitmap(28, 28, System.Drawing.ColorTranslator.FromHtml(QZFunColor.Rows[i]["颜色代码"].ToString()), "", Color.Black));
                            ColorDataArray[i] = QZFunColor.Rows[i]["颜色代码"].ToString();
                        }
                        //转鼓号,转鼓状态,转鼓颜色
                        DrumDryData    = Client.GetZGStatus(context.SessionID);   //获取转鼓状态
                        TestZGData     = DrumDryData.DefaultView;
                        TestZGDistinct = TestZGData.ToTable(true, "FormulaCode"); //获取唯一性配方名称


                        e.Result = "GetInitDrumDryData";
                    }
                    break;


                case "GetDrumDryData":

                    using (var Client = new SRQZData.QZDataServiceClient())
                    {
                        DrumDryData = Client.GetZGStatus(context.SessionID);
                        e.Result    = "GetDrumDryData";
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
            }
        }
Esempio n. 6
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            backgroundWorker1.ReportProgress(0);
            try
            {
                switch (e.Argument.ToString())
                {
                case "SearchData":
                    int CurrPage = (int)page.CurrentPage;
                    int PageSize = (int)page.PageSize;


                    //Tuple<string, object[]> tWhere = null;
                    //if (ChecktextEdit.Text.IsNullOrEmpty() == false)
                    //{a
                    //    string strWhere = "1=1 and (  明细ID.Contains(@0) ) ";
                    //    tWhere = Tuple.Create<string, object[]>(strWhere, new object[] { ChecktextEdit.Text });ref int iTotalNum
                    //}

                    var dtWhere = FilterProcess.CreateFilterTable();
                    FilterProcess.MergeFilterCondition("明细ID", ChecktextEdit.Text, ref dtWhere, strCompare: "like");

                    using (SRQZData.QZDataServiceClient client = new SRQZData.QZDataServiceClient())
                    {
                        int TotalNum = 0;
                        var ret      = client.GetOrderSchData(context.SessionID, dtWhere, PageSize, CurrPage, ref TotalNum);

                        page.CurrentPage = CurrPage;
                        page.RowCount    = TotalNum;
                        e.Result         = ret;
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                backgroundWorker1.ReportProgress(102, ex.Message);
            }
            backgroundWorker1.ReportProgress(100);
        }
Esempio n. 7
0
        private void CylinderBgWait_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                switch (e.Argument.ToString())
                {
                case "GetZKLData":

                    using (var Client = new SRQZData.QZDataServiceClient())
                    {
                        TestData4 = Client.GetL4Data1(context.SessionID);
                        TestData5 = Client.GetL5Data1(context.SessionID);
                    }
                    e.Result = "GetZKLData";

                    break;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
            }
        }
Esempio n. 8
0
        private void BgWait_DoWork(object sender, DoWorkEventArgs e)
        {
            BgWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "SearchRFID":

                    using (var QZclient = new SRQZData.QZDataServiceClient())
                    {
                        var ret    = QZclient.GetQZRFIDCodeData(context.SessionID, RFIDCodeTextEdit.Text);
                        var Newret = QZclient.GetNewQZRFIDCodeData(context.SessionID, RFIDCodeTextEdit.Text);
                        if (Newret != null && Newret.Rows.Count > 0)
                        {
                            //该位置应存储过磅单号,RFID卡号,配方编号,配方名称,合计重量

                            //vw_DurmsUpFeedingModel.RFIDCode = ret.Rows[0][0].ToString();
                            //vw_DurmsUpFeedingModel.FormulaName = ret.Rows[0][9].ToString();
                            //vw_DurmsUpFeedingModel.MaterialVouchCode = ret.Rows[0][10].ToString();

                            //vw_DurmsUpFeedingModel.InputWeight = Decimal.Parse(ret.Rows[0][2].ToString());


                            NewCraftsName.Text = "上料";
                            vw_DurmsUpFeedingModel.RFIDCode    = Newret.Rows[0]["RFID卡号"].ToString();
                            vw_DurmsUpFeedingModel.FormulaName = Newret.Rows[0]["配方名称"].ToString();

                            vw_DurmsUpFeedingModel.ProPlanNum = Newret.Rows[0]["参数表编码"].ToString();

                            vw_DurmsUpFeedingModel.MaterialVouchCode = Newret.Rows[0]["过磅单号"].ToString();
                            vw_DurmsUpFeedingModel.FormulaCode       = Newret.Rows[0]["配方单号"].ToString();

                            vw_DurmsUpFeedingModel.InputWeight = Decimal.Parse(Newret.Rows[0]["每鼓合计重量"].ToString());
                        }
                        else
                        {
                            ClsMsg.ShowErrMsg("没有该卡号信息,请重新刷卡");
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.END);
                            return;
                        }
                    }


                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        //    GetCfPExecuteByArrangedVouchCode        WorkbrachName
                        var ArrRet = MESclient.GetCfPExecuteByArrangedVouchCode(context.SessionID, vw_DurmsUpFeedingModel.ArrangedVouchCode);

                        vw_DurmsUpFeedingModel.WorkbrachCode     = ArrRet.Data.WorkbrachCode;
                        vw_DurmsUpFeedingModel.ExecuteOrder      = ArrRet.Data.ExecuteOrder;
                        vw_DurmsUpFeedingModel.ExecuteStatus     = ArrRet.Data.ExecuteStatus;//暂定用于判断保存时数据是否被后台或同一时间进行了修正
                        vw_DurmsUpFeedingModel.CraftsName        = ArrRet.Data.CraftsName;
                        vw_DurmsUpFeedingModel.CraftsCode        = ArrRet.Data.CraftsCode;
                        vw_DurmsUpFeedingModel.ArrangedVouchCode = ArrRet.Data.ArrangedVouchCode;

                        if (vw_DurmsUpFeedingModel.CraftsName != "上料" && vw_DurmsUpFeedingModel.CraftsName != "空鼓")
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                        else if (vw_DurmsUpFeedingModel.CraftsName == "空鼓")
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = "";
                            OperatDescEdit.Text = "上料开始";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }

                        else if (vw_DurmsUpFeedingModel.CraftsName == "上料" && ArrRet.Data.ExecuteStatus != 2)
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = ArrRet.Data.ArrangedVouchCode;
                            OperatDescEdit.Text = "原料扫卡绑定";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                        }

                        else
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                    }

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                        if (ret.Data != null)
                        {
                            e.Result = ret.Data;
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                case "SearchDevStatus":
                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetDurmsUpFeedingByDevCode(context.SessionID, WorkbrachNameTextEdit.Text);
                        if (ret.Data != null)
                        {
                            DeveUseStatusSpinEdit.EditValue = ret.Data[0].DeveUseStatus.ToString();
                            vw_DurmsUpFeedingModel.DevName  = ret.Data[0].DevName;

                            vw_DurmsUpFeedingModel.WorkbrachName = ret.Data[0].DevName;

                            vw_DurmsUpFeedingModel.WorkbrachCode = ret.Data[0].DevCode;
                        }
                        else
                        {
                            ClsMsg.ShowErrMsg("无该设备状态数据,请跟管理员沟通");
                        }

                        //vw_DurmsUpFeedingModel.WorkbrachName = ret.Data[0].DevCode;


                        var Proret = MESclient.GeCraftsProcessdByWorkbrachName(context.SessionID, WorkbrachNameTextEdit.Text);
                        //  vw_DurmsUpFeedingModel.WorkbrachName = Proret.Data.WorkbrachName;
                        vw_DurmsUpFeedingModel.ExecuteOrder = Proret.Data.ExecuteOrder;

                        vw_DurmsUpFeedingModel.ExecuteStatus = Proret.Data.ExecuteStatus;     //暂定用于判断保存时数据是否被后台或同一时间进行了修正

                        vw_DurmsUpFeedingModel.CraftsName  = Proret.Data.CraftsName;
                        vw_DurmsUpFeedingModel.RFIDCode    = "";
                        vw_DurmsUpFeedingModel.FormulaName = "";
                        vw_DurmsUpFeedingModel.InputWeight = null;


                        if (vw_DurmsUpFeedingModel.CraftsName != "上料" && vw_DurmsUpFeedingModel.CraftsName != "空鼓")
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                        else if (vw_DurmsUpFeedingModel.CraftsName == "空鼓")
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = "";
                            OperatDescEdit.Text = "上料开始";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }

                        else if (vw_DurmsUpFeedingModel.CraftsName == "上料" && Proret.Data.ExecuteStatus != 2)
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = Proret.Data.ArrangedVouchCode;
                            //   OperatDescEdit.Text = "原料扫卡绑定";
                            NewCraftsName.Text = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                        }

                        else
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }



                        using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                        {
                            var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);

                            if (retLog.Data != null)
                            {
                                e.Result = retLog.Data;
                            }
                            else
                            {
                                BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                            }
                        }
                    }
                    vw_DurmsUpFeedingModel.CreateTime = DateTime.Now;
                    break;

                case "SearchArrangedVouchLogCode":

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                        if (ret.Data != null)
                        {
                            e.Result = ret.Data;
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                case "InsterArrangedVouchCode":


                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.InsterArrVouchByVw(context.SessionID, vw_DurmsUpFeedingModel);     //保存排配单数据
                        if (ret.IsSuccess)
                        {
                            var logModel = new SRCfPExecute.ArrangedVouchLog()
                            {
                                ArrangedVouchCode = ret.Data.ArrangedVouchCode,
                                OperatingTime     = vw_DurmsUpFeedingModel.CreateTime,
                                OperatDesc        = OperatDescEdit.Text,
                                Operator          = OperatorEdit.Text,
                                Frequency         = FrequencyEdit.Text,
                                CraftsName        = CraftsNameTextEdit.Text,
                            };

                            vw_DurmsUpFeedingModel.ArrangedVouchCode = ret.Data.ArrangedVouchCode;

                            MESclient.InsterArrVouchLog(context.SessionID, logModel);      //保存操作日志数据
                            BgWait.ReportProgress(99, "保存成功!");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            OperatDescEdit.Text = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                            vw_DurmsUpFeedingModel.CreateTime    = DateTime.Now;
                            vw_DurmsUpFeedingModel.Creator       = context.UserName;

                            using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                            {
                                var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                                if (retLog.Data != null)
                                {
                                    e.Result = retLog.Data;
                                }
                                else
                                {
                                    BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                                }
                            }
                        }
                    }
                    break;

                case "InsterCraProDataById":

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.UpdateCraftsProcessData(context.SessionID, "CSGH17011", vw_DurmsUpFeedingModel);     //保存排配单数据
                        if (ret.IsSuccess)
                        {
                            BgWait.ReportProgress(99, "保存成功!");
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;


                case "UpdateArrangedVouchCode":
                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.UpdateArrangedVouchCode(context.SessionID, vw_DurmsUpFeedingModel);     //保存排配单数据



                        var retTail = MESclient.UpdateCraftsProcessData(context.SessionID, vw_DurmsUpFeedingModel.ProPlanNum, vw_DurmsUpFeedingModel);     //修改执行子表跟主表数据


                        var TestRet = MESclient.UpdateCraftsProcessExecute(context.SessionID, vw_DurmsUpFeedingModel.ArrangedVouchCode, 1, 2);


                        if (ret.IsSuccess)
                        {
                            var logModel = new SRCfPExecute.ArrangedVouchLog()
                            {
                                ArrangedVouchCode = ret.Data.ArrangedVouchCode,
                                OperatingTime     = vw_DurmsUpFeedingModel.CreateTime,
                                OperatDesc        = OperatDescEdit.Text,
                                Operator          = OperatorEdit.Text,
                                Frequency         = FrequencyEdit.Text,
                                CraftsName        = CraftsNameTextEdit.Text,
                            };

                            MESclient.InsterArrVouchLog(context.SessionID, logModel);      //保存操作日志数据
                            BgWait.ReportProgress(99, "保存成功!");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            OperatDescEdit.Text = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                            vw_DurmsUpFeedingModel.CreateTime    = DateTime.Now;
                            vw_DurmsUpFeedingModel.Creator       = context.UserName;
                            using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                            {
                                var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);

                                if (retLog.Data != null)
                                {
                                    e.Result = retLog.Data;
                                }
                                else
                                {
                                    BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                                }
                            }
                        }
                    }
                    break;


                default:
                    break;
                }
            }


            catch (Exception ex)
            {
                BgWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }

            BgWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }
Esempio n. 9
0
        private void BgWaitDrumDry_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Result == "GetDrumDryData")
            {
                using (var Client = new SRQZData.QZDataServiceClient())
                {
                    for (int i = 0; i < DrumDryData.Rows.Count; i++)
                    {
                        if (DrumDryData.Rows[i]["FormulaCode"].ToString() == null || DrumDryData.Rows[i]["FormulaCode"].ToString() == "")
                        {
                            DataTable NullZGStatus = Client.GetNullZGColor(context.SessionID);
                            for (int j = 0; j < QZFunColor.Rows.Count; j++)
                            {
                                if (ColorDataArray[j].ToString() == NullZGStatus.Rows[0]["颜色代码"].ToString())
                                {
                                    listView1.Items[i].ImageIndex = j;
                                    //  listView1.Items[i].ImageIndex = 0;
                                    break;
                                }
                            }
                        }
                        else
                        {
                            DrumColor = Client.GetColorData(context.SessionID, DrumDryData.Rows[i]["FormulaCode"].ToString()); //根据转鼓状态中的配方单号获取该转鼓的颜色代码
                            for (int j = 0; j < QZFunColor.Rows.Count; j++)
                            {
                                if (ColorDataArray[j].ToString() == DrumColor.Rows[0]["颜色代码"].ToString())
                                {
                                    listView1.Items[i].ImageIndex = j;
                                    break;
                                }
                                else if (ColorDataArray[j].ToString() != DrumColor.Rows[0]["颜色代码"].ToString() && j == QZFunColor.Rows.Count - 1)
                                {
                                    imageList1.Images.Add(ImageProcess.GetFillEllipseBitmap(28, 28, System.Drawing.ColorTranslator.FromHtml(DrumColor.Rows[0]["颜色代码"].ToString()), "", Color.Black));

                                    ColorDataArray[imageList1.Images.Count] = DrumColor.Rows[0]["颜色代码"].ToString();
                                    //    listView1.Items.Add(string.Format("{0}#", Convert.ToInt32(DrumDryData.Rows[i][0].ToString().Substring(DrumDryData.Rows[i][0].ToString().Length - 2))), 0);
                                }
                            }
                        }
                    }
                }
            }

            else if (e.Result == "GetInitDrumDryData")
            {
                using (var Client = new SRQZData.QZDataServiceClient())
                {
                    DataTable NullZGFunStatus = Client.GetNullZGColor(context.SessionID);
                    for (int j = 0; j < QZFunColor.Rows.Count; j++)
                    {
                        if (ColorDataArray[j].ToString() == NullZGFunStatus.Rows[0]["颜色代码"].ToString())
                        {
                            ZGNullColor.Items.Add(NullZGFunStatus.Rows[0]["品种"].ToString(), j);
                            break;
                        }
                    }


                    for (int i = 0; i < TestZGDistinct.Rows.Count; i++)
                    {
                        if (TestZGDistinct.Rows[i]["FormulaCode"].ToString() == null || TestZGDistinct.Rows[i]["FormulaCode"].ToString() == "")
                        {
                        }
                        else
                        {
                            DataTable DrumFunColor = Client.GetColorData(context.SessionID, TestZGDistinct.Rows[i]["FormulaCode"].ToString());
                            if (DrumFunColor.Rows.Count > 0 && DrumFunColor != null)
                            {
                                for (int j = 0; j < QZFunColor.Rows.Count; j++)
                                {
                                    if (ColorDataArray[j].ToString() == DrumFunColor.Rows[0]["颜色代码"].ToString())
                                    {
                                        ZGFundaVW.Items.Add(DrumFunColor.Rows[0]["配方名称"].ToString(), j);
                                    }
                                    else
                                    {
                                    }
                                }
                            }
                        }
                    }



                    for (int i = 0; i < DrumDryData.Rows.Count; i++)
                    {
                        if (DrumDryData.Rows[i]["FormulaCode"].ToString() == null || DrumDryData.Rows[i]["FormulaCode"].ToString() == "")
                        {
                            DataTable NullZGStatus = Client.GetNullZGColor(context.SessionID);
                            for (int j = 0; j < QZFunColor.Rows.Count; j++)
                            {
                                if (ColorDataArray[j].ToString() == NullZGStatus.Rows[0]["颜色代码"].ToString())
                                {
                                    //    listView1.Items[i].ImageIndex = j;
                                    //  listView1.Items[i].ImageIndex = 0;

                                    listView1.Items.Add(string.Format("{0}#", Convert.ToInt32(DrumDryData.Rows[i]["DevCode"].ToString().Substring(DrumDryData.Rows[i]["DevCode"].ToString().Length - 2))), j);
                                    break;
                                }
                            }
                        }
                        else
                        {
                            DrumColor = Client.GetColorData(context.SessionID, DrumDryData.Rows[i]["FormulaCode"].ToString()); //根据转鼓状态中的配方单号获取该转鼓的颜色代码

                            if (DrumColor.Rows.Count > 0 && DrumColor != null)
                            {
                                for (int j = 0; j < QZFunColor.Rows.Count; j++)
                                {
                                    if (ColorDataArray[j].ToString() == DrumColor.Rows[0]["颜色代码"].ToString())
                                    {
                                        listView1.Items.Add(string.Format("{0}#", Convert.ToInt32(DrumDryData.Rows[i]["DevCode"].ToString().Substring(DrumDryData.Rows[i]["DevCode"].ToString().Length - 2))), j);
                                    }
                                    else
                                    {
                                        //    listView1.Items.Add(string.Format("{0}#", Convert.ToInt32(DrumDryData.Rows[i][0].ToString().Substring(DrumDryData.Rows[i][0].ToString().Length - 2))), 0);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        /// 获取更新左下角看板数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BgWait_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                switch (e.Argument.ToString())
                {
                case "GetWeight":

                    e.Result = "GetWeight";

                    break;

                case "GetCrafData":

                    e.Result = "GetCrafData";
                    using (var QZclient = new SRQZData.QZDataServiceClient())
                    {
                        //      var Newret = QZclient.GetQZZGData(context.SessionID, DateTime.Now);
                        Newret = QZclient.GetQZZGData(context.SessionID, DateTime.Now);
                        try
                        {
                            try
                            {
                                if (Newret != null && Newret.Rows.Count > 0)
                                {
                                    if (Newret.Rows[0] != null)
                                    {
                                        ArrInputWeight11 = 0;
                                        ArrInputWeight21 = 0;

                                        using (var Arrclient = new SRArrangedVouch.ArrangedVServiceClient())
                                        {
                                            var NewArr2 = Arrclient.GetArrangedVouchByMulaCode(context.SessionID, Newret.Rows[0]["配方单号"].ToString(), 100);
                                            if (NewArr2.Data != null)
                                            {
                                                ArrInputWeight21 = NewArr2.Data.Sum(t => t.InputWeight) / 1000;
                                            }

                                            var NewArr1 = Arrclient.GetArrangedVouchByMulaCode(context.SessionID, Newret.Rows[0]["配方单号"].ToString(), 1);
                                            if (NewArr1.Data != null)
                                            {
                                                ArrInputWeight11 = NewArr1.Data.Sum(t => t.InputWeight) / 1000;
                                            }
                                        }



                                        var RFIDWeight1 = QZclient.GetRFIDWeight(context.SessionID, Newret.Rows[0]["配方单号"].ToString());

                                        queryWeight1 = TestQueryWeight(QZclient, Newret, 0);

                                        query1 = RFIDWeight1.Compute("sum(每鼓合计重量)/1000", "1=1");

                                        if (query1.ToString() == "")
                                        {
                                            query1 = 0;
                                        }

                                        setGridKanbanCallbak(queryWeight1, ArrInputWeight11, ArrInputWeight21, query1, 0, 0);
                                    }
                                    if (Newret.Rows[1] != null)
                                    {
                                        ArrInputWeight12 = 0;
                                        ArrInputWeight22 = 0;
                                        using (var Arrclient = new SRArrangedVouch.ArrangedVServiceClient())
                                        {
                                            var NewArr2 = Arrclient.GetArrangedVouchByMulaCode(context.SessionID, Newret.Rows[1]["配方单号"].ToString(), 100);
                                            if (NewArr2.Data != null)
                                            {
                                                ArrInputWeight22 = NewArr2.Data.Sum(t => t.InputWeight) / 1000;
                                            }
                                            var NewArr1 = Arrclient.GetArrangedVouchByMulaCode(context.SessionID, Newret.Rows[1]["配方单号"].ToString(), 1);
                                            if (NewArr1.Data != null)
                                            {
                                                ArrInputWeight12 = NewArr1.Data.Sum(t => t.InputWeight) / 1000;
                                            }

                                            var RFIDWeight = QZclient.GetRFIDWeight(context.SessionID, Newret.Rows[1]["配方单号"].ToString());

                                            queryWeight2 = TestQueryWeight(QZclient, Newret, 1);

                                            query2 = RFIDWeight.Compute("sum(每鼓合计重量)/1000", "1=1");

                                            if (query2.ToString() == "")
                                            {
                                                query2 = 0;
                                            }
                                            //   DataTableAssign(Newret, queryWeight1, ArrInputWeight1, ArrInputWeight2, query1, 5, 1);
                                            setGridKanbanCallbak(queryWeight2, ArrInputWeight12, ArrInputWeight22, query2, 5, 1);
                                        }
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("没有该备料数据信息");
                                }
                            }
                            catch (Exception ex)
                            {
                                //   ClsMsg.ShowErrMsg(ex.Message);
                                Utils.Logger.Error(ex.ToString());
                            }
                            //    });
                            //}
                        }
                        catch (Exception ex)
                        {
                            //  ClsMsg.ShowErrMsg(ex.Message);
                            Utils.Logger.Error(ex.ToString());
                            //    Utils.Logger.Error(ex.ToString());
                        }
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                // Utils.Logger.Error(ex.ToString());
                Utils.Logger.Error(ex.ToString());
            }
        }