分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-05-31 53d6a24cb335b0c9b4449e1211ce8ea644d68d67
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs
@@ -45,7 +45,6 @@
                Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
                Idt_mes_detailRepository mes_DetailRepository = new dt_mes_detailRepository(Context);
                Idt_mes_headRepository mes_HeadRepository = new dt_mes_headRepository(Context);
                Idt_geometry_data_detectionlineRepository detectionlineRepository = new dt_geometry_data_detectionlineRepository(Context);
                var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName);
                List<string> names = new List<string>() { "1单元辊道下料查询车轮", "2单元辊道下料查询车轮", "3单元辊道下料查询车轮", "辊道上料查询车轮" };
                foreach (string name in names)
@@ -69,145 +68,51 @@
                            client.WriteByOrder("W_i_status", (byte)2, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            //WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单信息", "PCS");
                            WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单信息");
                            #endregion
                            continue;
                        }
                        #region MyRegion
                        //var mes_Detail = mes_DetailRepository.FindFirst(x => x.SN == wp_id);
                        //if (mes_Detail == null)
                        //{
                        //    client.WriteByOrder("W_i_status", (byte)2, name);
                        //    client.WriteByOrder("R_oi_on", (byte)0, name);
                        //    #region æ—¥å¿—记录
                        //    WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单详情", "PCS");
                        //    #endregion
                        //    continue;
                        //}
                        //var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == mes_Detail.jobID);
                        //if (mes_Head == null)
                        //{
                        //    client.WriteByOrder("W_i_status", (byte)2, name);
                        //    client.WriteByOrder("R_oi_on", (byte)0, name);
                        //    #region æ—¥å¿—记录
                        //    WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单头表", "PCS");
                        //    #endregion
                        //    continue;
                        //}
                        #endregion
                        if (name != "辊道上料查询车轮")
                        var geometry = Pipeline.QueryMateriel(Mes_Work.drawingNo);
                        if (geometry == null)
                        {
                            //var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
                            var geometry = dataRepository.Find(x => x.Description == Mes_Work.drawingNo).FirstOrDefault();
                            var geometry1 = detectionlineRepository.Find(x => x.Description == Mes_Work.drawingNo).FirstOrDefault();
                            if (geometry == null && geometry1 == null)
                            {
                                //DBExtension.Write(details.Where(x => x.plcdetail_name == "W_i_status").First(), client, (Int16)2);
                                //1-找到数据,2-未找到工件类型数据
                                client.WriteByOrder("W_i_status", (byte)2, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Error(name, $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息", "PCS");
                                WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息");
                                #endregion
                            }
                            else
                            {
                                //1-找到数据,2-未找到工件类型数据
                                client.WriteByOrder("W_i_status", (byte)1, name);
                                client.WriteByOrder("W_i_parameter_a", geometry == null ? (float)geometry1.a : (float)geometry.a, name);
                                client.WriteByOrder("W_i_parameter_b", geometry == null ? (float)geometry1.b : (float)geometry.b, name);
                                client.WriteByOrder("W_i_parameter_c", geometry == null ? (float)geometry1.c : (float)geometry.c, name);
                                client.WriteByOrder("W_i_parameter_d", geometry == null ? (float)geometry1.d : (float)geometry.d, name);
                                client.WriteByOrder("W_i_parameter_e", geometry == null ? (float)geometry1.e : (float)geometry.e, name);
                                client.WriteByOrder("W_i_parameter_f", geometry == null ? (float)geometry1.f : (float)geometry.f, name);
                                client.WriteByOrder("W_i_parameter_g", geometry == null ? (float)geometry1.g : (float)geometry.g, name);
                                client.WriteByOrder("W_i_parameter_h", geometry == null ? (float)geometry1.h : (float)geometry.h, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Success(name, $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\n" +
                                //    $"a:{(geometry == null ? (float)geometry1.a : (float)geometry.a)}\n" +
                                //    $"b:{(geometry == null ? (float)geometry1.b : (float)geometry.b)}\n" +
                                //    $"c:{(geometry == null ? (float)geometry1.c : (float)geometry.c)}\n" +
                                //    $"d:{(geometry == null ? (float)geometry1.d : (float)geometry.d)}\n" +
                                //    $"e:{(geometry == null ? (float)geometry1.e : (float)geometry.e)}\n" +
                                //    $"f:{(geometry == null ? (float)geometry1.f : (float)geometry.f)}\n" +
                                //    $"g:{(geometry == null ? (float)geometry1.g : (float)geometry.g)}\n" +
                                //    $"h:{(geometry == null ? (float)geometry1.h : (float)geometry.h)}\n" +
                                //    $"R_oi_on:0", "PCS");
                                WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\n" +
                                    $"a:{(geometry == null ? (float)geometry1.a : (float)geometry.a)}\n" +
                                    $"b:{(geometry == null ? (float)geometry1.b : (float)geometry.b)}\n" +
                                    $"c:{(geometry == null ? (float)geometry1.c : (float)geometry.c)}\n" +
                                    $"d:{(geometry == null ? (float)geometry1.d : (float)geometry.d)}\n" +
                                    $"e:{(geometry == null ? (float)geometry1.e : (float)geometry.e)}\n" +
                                    $"f:{(geometry == null ? (float)geometry1.f : (float)geometry.f)}\n" +
                                    $"g:{(geometry == null ? (float)geometry1.g : (float)geometry.g)}\n" +
                                    $"h:{(geometry == null ? (float)geometry1.h : (float)geometry.h)}\n" +
                                    $"R_oi_on:0");
                                #endregion
                            }
                            //1-找到数据,2-未找到工件类型数据
                            client.WriteByOrder("W_i_status", (byte)2, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息");
                            #endregion
                        }
                        else
                        {
                            var geometry = detectionlineRepository.Find(x => x.Description == Mes_Work.drawingNo).FirstOrDefault();
                            var geometry1 = dataRepository.Find(x => x.Description == Mes_Work.drawingNo).FirstOrDefault();
                            if (geometry == null && geometry1 == null)
                            {
                                client.WriteByOrder("W_i_status", (byte)2, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Error(name, $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到检测线车轮信息", "PCS");
                                WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到检测线车轮信息");
                                #endregion
                            }
                            else
                            {
                                client.WriteByOrder("W_i_status", (byte)1, name);
                                client.WriteByOrder("W_i_parameter_a", geometry == null ? (float)geometry1.a : (float)geometry.a, name);
                                client.WriteByOrder("W_i_parameter_b", geometry == null ? (float)geometry1.b : (float)geometry.b, name);
                                client.WriteByOrder("W_i_parameter_c", geometry == null ? (float)geometry1.c : (float)geometry.c, name);
                                client.WriteByOrder("W_i_parameter_d", geometry == null ? (float)geometry1.d : (float)geometry.d, name);
                                client.WriteByOrder("W_i_parameter_e", geometry == null ? (float)geometry1.e : (float)geometry.e, name);
                                client.WriteByOrder("W_i_parameter_f", geometry == null ? (float)geometry1.f : (float)geometry.f, name);
                                client.WriteByOrder("W_i_parameter_g", geometry == null ? (float)geometry1.g : (float)geometry.g, name);
                                client.WriteByOrder("W_i_parameter_h", geometry == null ? (float)geometry1.h : (float)geometry.h, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Success(name, $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\n" +
                                //    $"a:{(geometry == null ? (float)geometry1.a : (float)geometry.a)}\n" +
                                //    $"b:{(geometry == null ? (float)geometry1.b : (float)geometry.b)}\n" +
                                //    $"c:{(geometry == null ? (float)geometry1.c : (float)geometry.c)}\n" +
                                //    $"d:{(geometry == null ? (float)geometry1.d : (float)geometry.d)}\n" +
                                //    $"e:{(geometry == null ? (float)geometry1.e : (float)geometry.e)}\n" +
                                //    $"f:{(geometry == null ? (float)geometry1.f : (float)geometry.f)}\n" +
                                //    $"g:{(geometry == null ? (float)geometry1.g : (float)geometry.g)}\n" +
                                //    $"h:{(geometry == null ? (float)geometry1.h : (float)geometry.h)}\n" +
                                //    $"R_oi_on:0", "PCS");
                                WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\n" +
                                    $"a:{(geometry == null ? (float)geometry1.a : (float)geometry.a)}\n" +
                                    $"b:{(geometry == null ? (float)geometry1.b : (float)geometry.b)}\n" +
                                    $"c:{(geometry == null ? (float)geometry1.c : (float)geometry.c)}\n" +
                                    $"d:{(geometry == null ? (float)geometry1.d : (float)geometry.d)}\n" +
                                    $"e:{(geometry == null ? (float)geometry1.e : (float)geometry.e)}\n" +
                                    $"f:{(geometry == null ? (float)geometry1.f : (float)geometry.f)}\n" +
                                    $"g:{(geometry == null ? (float)geometry1.g : (float)geometry.g)}\n" +
                                    $"h:{(geometry == null ? (float)geometry1.h : (float)geometry.h)}\n" +
                                    $"R_oi_on:0");
                                #endregion
                            }
                            //1-找到数据,2-未找到工件类型数据
                            client.WriteByOrder("W_i_status", (byte)1, name);
                            client.WriteByOrder("W_i_parameter_a", (float)geometry.a, name);
                            client.WriteByOrder("W_i_parameter_b", (float)geometry.b, name);
                            client.WriteByOrder("W_i_parameter_c", (float)geometry.c, name);
                            client.WriteByOrder("W_i_parameter_d", (float)geometry.d, name);
                            client.WriteByOrder("W_i_parameter_e", (float)geometry.e, name);
                            client.WriteByOrder("W_i_parameter_f", (float)geometry.f, name);
                            client.WriteByOrder("W_i_parameter_g", (float)geometry.g, name);
                            client.WriteByOrder("W_i_parameter_h", (float)geometry.h, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\n" +
                                $"a:{(float)geometry.a}\n" +
                                $"b:{(float)geometry.b}\n" +
                                $"c:{(float)geometry.c}\n" +
                                $"d:{(float)geometry.d}\n" +
                                $"e:{(float)geometry.e}\n" +
                                $"f:{(float)geometry.f}\n" +
                                $"g:{(float)geometry.g}\n" +
                                $"h:{(float)geometry.h}\n" +
                                $"R_oi_on:0");
                            #endregion
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //WriteDBLog.Error("查询车轮数据", $"错误信息:{ex.Message}", "PCS");
                WriteLog.Write_Log("报错日志", namea, "错误信息!", $"错误信息:{ex.Message}");
            }
        }
@@ -227,7 +132,6 @@
                Idt_plcinfoheadRepository repository = new dt_plcinfoheadRepository(Context);
                Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context);
                Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
                Idt_geometry_data_detectionlineRepository detectionlineRepository = new dt_geometry_data_detectionlineRepository(Context);
                Idt_mes_detailRepository mes_DetailRepository = new dt_mes_detailRepository(Context);
                IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(Context);
                Idt_mes_headRepository mes_HeadRepository = new dt_mes_headRepository(Context);
@@ -262,126 +166,59 @@
                            client.WriteByOrder("W_i_status", (byte)2, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            //WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单详情", "PCS");
                            WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单详情");
                            #endregion
                            continue;
                        }
                        #region MyRegion
                        //var mes_Detail = mes_DetailRepository.FindFirst(x => x.SN == wp_id);
                        //if (mes_Detail == null)
                        //{
                        //    client.WriteByOrder("W_i_status", (byte)2, name);
                        //    client.WriteByOrder("R_oi_on", (byte)0, name);
                        //    #region æ—¥å¿—记录
                        //    WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单详情", "PCS");
                        //    #endregion
                        //    continue;
                        //}
                        //var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == mes_Detail.jobID);
                        //if (mes_Head == null)
                        //{
                        //    client.WriteByOrder("W_i_status", (byte)2, name);
                        //    client.WriteByOrder("R_oi_on", (byte)0, name);
                        //    #region æ—¥å¿—记录
                        //    WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到工单头表", "PCS");
                        //    #endregion
                        //    continue;
                        //}
                        #endregion
                        var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == Mes_Work.jobID);
                        if (name != "辊道上料查询订单")
                        //需添加查询车轮SN号订单逻辑   éœ€æ·»åŠ å…¥åº“æ¨¡å¼åˆ¤æ–­ï¼Œæ‰‹åŠ¨å…¥åº“æ¨¡å¼éœ€äººå·¥æ·»åŠ å…¥åº“åº“åŒºï¼Œå¦åˆ™æŠ¥è­¦
                        var pattern = patternRepository.FindFirst(x => x.pattern_name == "入库模式").pattern_state;
                        if (pattern != 1 && string.IsNullOrEmpty(mes_Head.area))
                        {
                            //需添加查询车轮SN号订单逻辑   éœ€æ·»åŠ å…¥åº“æ¨¡å¼åˆ¤æ–­ï¼Œæ‰‹åŠ¨å…¥åº“æ¨¡å¼éœ€äººå·¥æ·»åŠ å…¥åº“åº“åŒºï¼Œå¦åˆ™æŠ¥è­¦
                            var pattern = patternRepository.FindFirst(x => x.pattern_name == "入库模式").pattern_state;
                            if (pattern != 1 && string.IsNullOrEmpty(mes_Head.area))
                            {
                                client.WriteByOrder("W_i_status", (byte)4, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:4\nR_oi_on:0\n\n手动入库模式未选择库区", "PCS");
                                WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:4\nR_oi_on:0\n\n手动入库模式未选择库区");
                                #endregion
                                continue;
                            }
                            //var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
                            var geometry = dataRepository.Find(x => x.Description == mes_Head.drawingNo /*&& x.TypeId == (Int32)wp_type*/).FirstOrDefault();
                            var geometry1 = detectionlineRepository.Find(x => x.Description == mes_Head.drawingNo).FirstOrDefault();
                            if (geometry == null && geometry1 == null)
                            {
                                //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                                client.WriteByOrder("W_i_status", (byte)2, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息", "PCS");
                                WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息");
                                #endregion
                                continue;
                            }
                            else
                            {
                                //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                                client.WriteByOrder("W_i_status", (byte)1, name);
                                client.WriteByOrder("W_i_job_id", Mes_Work.jobID, name);
                                client.WriteByOrder("W_i_drawing_id", Mes_Work.drawingNo, name);
                                client.WriteByOrder("W_i_heat_id", Mes_Work.heatID, name);
                                //client.WriteByOrder("W_i_sourceheat", "", name);
                                client.WriteByOrder("W_i_batch_id", Mes_Work.heatBatchID, name);
                                //屏蔽工艺(屏蔽视觉检测/屏蔽涂油)
                                //if (name != "辊道上料查询车轮")
                                //{
                                client.WriteByOrder("W_i_skip_op_SJ1", name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_1, name);//屏蔽视觉检测设备1
                                client.WriteByOrder("W_i_skip_op_SJ2", name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_2, name);//屏蔽视觉检测设备2
                                client.WriteByOrder("W_i_skip_op_LT", mes_Head.skip_op_3, name);//屏蔽链条机
                                //}
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" +
                                    $"\nW_i_job_id:{Mes_Work.jobID}\nW_i_drawing_id:{Mes_Work.drawingNo}\nW_i_heat_id:{Mes_Work.heatID}\nW_i_batch_id:{Mes_Work.heatBatchID}" +
                                    $"\nW_i_skip_op_SJ1:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_1)}\nW_i_skip_op_SJ2:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_2)}" +
                                    $"\nW_i_skip_op_LT:{mes_Head.skip_op_3}\nR_oi_on:0");
                                //WriteDBLog.Success(name, $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" +
                                //    $"\nW_i_job_id:{Mes_Work.jobID}\nW_i_drawing_id:{Mes_Work.drawingNo}\nW_i_heat_id:{Mes_Work.heatID}\nW_i_batch_id:{Mes_Work.heatBatchID}" +
                                //    $"\nW_i_skip_op_SJ1:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_1)}\nW_i_skip_op_SJ2:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_2)}" +
                                //    $"\nW_i_skip_op_LT:{mes_Head.skip_op_3}\nR_oi_on:0", "PCS");
                                #endregion
                            }
                            client.WriteByOrder("W_i_status", (byte)4, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n\n写入桁架信息:\nW_i_status:4\nR_oi_on:0\n\n手动入库模式未选择库区");
                            #endregion
                            continue;
                        }
                        var geometry = Pipeline.QueryMateriel(Mes_Work.drawingNo);
                        if (geometry == null)
                        {
                            //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                            client.WriteByOrder("W_i_status", (byte)2, name);
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到机加工车轮信息");
                            #endregion
                            continue;
                        }
                        else
                        {
                            var geometry = detectionlineRepository.Find(x => x.Description == mes_Head.drawingNo /*&& x.TypeId == (Int32)wp_type*/).FirstOrDefault();
                            var geometry1 = dataRepository.Find(x => x.Description == mes_Head.drawingNo).FirstOrDefault();
                            if (geometry == null && geometry1 == null)
                            {
                                //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                                client.WriteByOrder("W_i_status", (byte)2, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                //WriteDBLog.Error(name, $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到检测线车轮信息", "PCS");
                                WriteLog.Write_Log(name, wp_id, "错误信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:2\nR_oi_on:0\n\n未查询到检测线车轮信息");
                                #endregion
                                continue;
                            }
                            else
                            {
                                //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                                client.WriteByOrder("W_i_status", (byte)1, name);
                                client.WriteByOrder("W_i_job_id", Mes_Work.jobID, name);
                                client.WriteByOrder("W_i_drawing_id", Mes_Work.drawingNo, name);
                                client.WriteByOrder("W_i_heat_id", Mes_Work.heatID, name);
                                //client.WriteByOrder("W_i_sourceheat", "", name);
                                client.WriteByOrder("W_i_batch_id", Mes_Work.heatBatchID, name);
                                client.WriteByOrder("R_oi_on", (byte)0, name);
                                #region æ—¥å¿—记录
                                WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\nW_i_job_id:{Mes_Work.jobID}" +
                                    $"\nW_i_drawing_id:{mes_Head.drawingNo}\nW_i_heat_id:{Mes_Work.heatID}\nW_i_batch_id:{Mes_Work.heatBatchID}\nR_oi_on:0");
                                //WriteDBLog.Success(name, $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" + $"\nW_i_job_id:{Mes_Work.jobID}" +
                                //    $"\nW_i_drawing_id:{mes_Head.drawingNo}\nW_i_heat_id:{Mes_Work.heatID}\nW_i_batch_id:{Mes_Work.heatBatchID}\nR_oi_on:0", "PCS");
                                #endregion
                            }
                            //1-好,允许加工,2-不在列表中,3-不加工车轮类型,4-手动入库模式人工未选择库区
                            client.WriteByOrder("W_i_status", (byte)1, name);
                            client.WriteByOrder("W_i_job_id", Mes_Work.jobID, name);
                            client.WriteByOrder("W_i_drawing_id", Mes_Work.drawingNo, name);
                            client.WriteByOrder("W_i_heat_id", Mes_Work.heatID, name);
                            //client.WriteByOrder("W_i_sourceheat", "", name);
                            client.WriteByOrder("W_i_batch_id", Mes_Work.heatBatchID, name);
                            //屏蔽工艺(屏蔽视觉检测/屏蔽涂油)
                            //if (name != "辊道上料查询车轮")
                            //{
                            client.WriteByOrder("W_i_skip_op_SJ1", name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_1, name);//屏蔽视觉检测设备1
                            client.WriteByOrder("W_i_skip_op_SJ2", name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_2, name);//屏蔽视觉检测设备2
                            client.WriteByOrder("W_i_skip_op_LT", mes_Head.skip_op_3, name);//屏蔽链条机
                                                                                            //}
                            client.WriteByOrder("R_oi_on", (byte)0, name);
                            #region æ—¥å¿—记录
                            WriteLog.Write_Log(name, wp_id, "写入信息!", $"读取桁架信息:\n车轮SN:{wp_id}\n轮型ID:{wp_type}\n\n写入桁架信息:\nW_i_status:1" +
                                $"\nW_i_job_id:{Mes_Work.jobID}\nW_i_drawing_id:{Mes_Work.drawingNo}\nW_i_heat_id:{Mes_Work.heatID}\nW_i_batch_id:{Mes_Work.heatBatchID}" +
                                $"\nW_i_skip_op_SJ1:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_1)}\nW_i_skip_op_SJ2:{(name == "3单元辊道下料查询订单" ? true : mes_Head.skip_op_2)}" +
                                $"\nW_i_skip_op_LT:{mes_Head.skip_op_3}\nR_oi_on:0");
                            #endregion
                        }
                    }
                }
@@ -408,7 +245,6 @@
                Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context);
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
                Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
                Idt_geometry_data_detectionlineRepository detectionlineRepository = new dt_geometry_data_detectionlineRepository(Context);
                Idt_mes_detailRepository mes_DetailRepository = new dt_mes_detailRepository(Context);
                Idt_mes_headRepository mes_HeadRepository = new dt_mes_headRepository(Context);
                IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(Context);
@@ -470,7 +306,7 @@
                                #endregion
                                continue;
                            }
                            var geometry = Pipeline.QueryMateriel(Mes_Work.drawingNo);
                            #endregion
                            var AreaNr = (Int16)DBExtension.Read(details.Where(x => x.plcdetail_name == "W_AreaNr").First(), client);
@@ -496,8 +332,8 @@
                            var station = stationinfoRepository.Find(x => x.area == areaCode && x.stationCode.Substring(x.stationCode.Length - 1, 1) == AreaNr.ToString()).FirstOrDefault();
                            if (station != null)
                            {
                                if (station.quantity >= Mes_Work.stackNoRange)
                                    //if (station.quantity >= 5)
                                if (station.quantity >= geometry.stackNoRange)
                                //if (station.quantity >= 5)
                                {
                                    Pipeline_client.WriteByOrder("W_AlarmSignal", (Int16)2, name);//报警
                                    WriteLog.Write_Log(name + "放料完成出错", Wheel_SN, "车轮数量已满!", $"区域号:{AreaNr};\n车轮数:{station.quantity}\n错误信息:区域号车轮数量已满!");
@@ -602,8 +438,8 @@
                        #endregion
                        var wheel = Pipeline.QueryMateriel(Work.drawingNo);
                        var wheel1 = Pipeline.QueryMateriel1(Work.drawingNo);
                        if (wheel == null && wheel1 == null)
                        //var wheel1 = Pipeline.QueryMateriel1(Work.drawingNo);
                        if (wheel == null /*&& wheel1 == null*/)
                        {
                            #region æ—¥å¿—记录
                            client.WriteByOrder("W_Enabl_Load", false, name);//信号为false桁架停止进入
@@ -627,7 +463,7 @@
                        #region æ‰˜ç›˜ç±»åž‹ä¸ä¸€è‡´éœ€æ›´æ¢æ‰˜ç›˜
                        foreach (var Stationinfo in Stations)
                        {
                            if (Stationinfo.tray_type != "LargeTray" && (wheel == null ? wheel1.e : wheel.e) > 1100)
                            if (Stationinfo.tray_type != "LargeTray" && /*(wheel == null ? wheel1.e :)*/ wheel.e > 1100)
                            {
                                client.WriteByOrder("W_Enabl_Load", false, name);//信号为false桁架停止进入
                                Stationinfo.location_state = LocationStateEnum.Trayswitching.ToString();
@@ -658,7 +494,7 @@
                           .Where(x => x.enable
                           && x.stationCode != NGStation
                           && x.location_state == LocationStateEnum.Stroge.ToString()
                           && x.quantity < Work.stackNoRange
                           && x.quantity < wheel.stackNoRange
                           //&& x.quantity < 5
                           && x.stationType == Work.drawingNo
                           && x.Number == Work.workOrder
@@ -672,7 +508,7 @@
                           .Where(x => x.enable
                           && x.stationCode != NGStation
                           && x.location_state == LocationStateEnum.Stroge.ToString()
                           && x.quantity < Work.stackNoRange
                           && x.quantity < wheel.stackNoRange
                           //&& x.quantity < 5
                           && x.stationType == Work.drawingNo
                           && x.Number == Work.workOrder)
@@ -703,7 +539,7 @@
                                #region æ‰˜ç›˜è½¦è½®å †åž›ç¬¬å››ä¸ªæ—¶ä¸‹å‘另外一个炉号的入库任务
                                //if (Stationinfo.quantity + 1 >= 4)
                                if (Stationinfo.quantity + 1 >= Work.stackNoRange - 1)
                                if (Stationinfo.quantity + 1 >= wheel.stackNoRange - 1)
                                {
                                    var stationinfo = Stations.Where(x => x.enable && x.stationCode != NGStation && x.stationCode != Stationinfo.stationCode && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).FirstOrDefault();
                                    if (stationinfo != null)
@@ -802,7 +638,7 @@
                            dt_stationinfo Stationinfo = Stations.Where(x => x.enable
                            && x.stationCode == NGStation
                            && x.location_state == LocationStateEnum.Stroge.ToString()
                            && x.quantity < Work.stackNoRange
                            && x.quantity < wheel.stackNoRange
                            //&& x.quantity < 5
                            && x.stationType == Work.drawingNo).FirstOrDefault();