分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-05-31 53d6a24cb335b0c9b4449e1211ce8ea644d68d67
可根据图号更改下料口车轮数量入库条件
已修改13个文件
466 ■■■■■ 文件已修改
代码管理/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs 330 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue
@@ -27,9 +27,9 @@
                cnName: '机加工车轮信息',
                name: 'baseinfo/dt_geometry_data',
                url: "/dt_geometry_data/",
                sortName: "ID"
                sortName: "TypeId"
            });
            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":"","stackNoRange":"","weight":""});
            const editFormOptions = ref([[{"title":"TypeId","required":true,"field":"TypeId","type":"text"},
                               {"title":"图号","required":true,"field":"Description","type":"text"}],
                              [{"title":"a","required":true,"field":"a","type":"text"},
@@ -39,7 +39,9 @@
                              [{"title":"e","required":true,"field":"e","type":"text"},
                               {"title":"f","required":true,"field":"f","type":"text"}],
                              [{"title":"g","required":true,"field":"g","type":"text"},
                               {"title":"h","required":true,"field":"h","type":"text"}]]);
                               {"title":"h","required":true,"field":"h","type":"text"}],
                               [{"title":"打包数量","required":true,"field":"stackNoRange","type":"text"},
                               {"title":"重量","required":true,"field":"weight","type":"float"}]]);
            const searchFormFields = ref({"TypeId":"","Description":""});
            const searchFormOptions = ref([[{"title":"图号","field":"Description","type":"like"},{"title":"TypeId","field":"TypeId","type":"int"}]]);
            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
@@ -52,6 +54,8 @@
                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
                       {field:'stackNoRange',title:'打包数量',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'weight',title:'重量',type:'float',width:110,require:true,align:'left'},
                       {field:'ID',title:'ID',type:'int',sort:true,width:80,hidden:true,readonly:true,require:true,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs
@@ -116,6 +116,22 @@
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
        /// <summary>
        /// æ‰“包数量
        /// </summary>
        [Display(Name = "stackNoRange")]
        [Column(TypeName = "int")]
        //[Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        public int stackNoRange { get; set; }
        /// <summary>
        ///重量
        /// </summary>
        [Display(Name = "weight")]
        [Column(TypeName = "float")]
        //[Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        public float? weight { get; set; }
    }
}
´úÂë¹ÜÀí/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();
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs
@@ -164,10 +164,10 @@
                        {
                            Station.location_state = LocationStateEnum.Abnormal.ToString();
                            Station.remark = "车轮数量与SN号数量不一致";
                            stationinfoRepository.Update(Station, true);
                            stationinfoRepository.Update(Station, x => new { x.location_state, x.remark }, true);
                            Gantry_client.WriteByOrder("W_RequestUnload", false, number);//信号为false桁架停止进入
                            #region æ—¥å¿—记录
                            WriteDBLog.Error("上料区", $"写入桁架信息:\nW_RequestUnload:false\n\n{Station.stationCode}车轮数量与SN号数量不一致", "PCS");
                            //WriteDBLog.Error("上料区", $"写入桁架信息:\nW_RequestUnload:false\n\n{Station.stationCode}车轮数量与SN号数量不一致", "PCS");
                            #endregion
                            return;
                        }
@@ -178,7 +178,15 @@
                        if (PalletSignal == 1 && MaterialSignal == 1)
                        {
                            Gantry_client.WriteByOrder("W_Wheel_Type", (Int16)Convert.ToInt16(QueryMateriel(Station.stationType) == null ? QueryMateriel1(Station.stationType).TypeId : QueryMateriel(Station.stationType).TypeId), number);//车轮类型
                            var geometry = QueryMateriel(Station.stationType);
                            if (geometry == null)
                            {
                                Station.remark = "未找到车轮信息";
                                stationinfoRepository.Update(Station, x => new { x.remark }, true);
                                Gantry_client.WriteByOrder("W_RequestUnload", false, number);//信号为false桁架停止进入
                                return;
                            }
                            Gantry_client.WriteByOrder("W_Wheel_Type", (Int16)Convert.ToInt16(geometry.TypeId), number);//车轮类型
                            var area = Convert.ToInt16(Station.stationCode.Substring(Station.stationCode.Length - 1, 1));
                            Gantry_client.WriteByOrder("W_AreaNr", (Int16)area, number);//区域货位号
                            Gantry_client.WriteByOrder("W_IndexNr", (Int16)SNS.Length, number);//托盘上的第几个车轮
@@ -187,7 +195,7 @@
                            Gantry_client.WriteByOrder("W_RequestUnload", true, number);
                            #region æ—¥å¿—记录
                            WriteDBLog.Success("上料区申请", $"读取托盘光电信号:{PalletSignal}\n读取第一个车轮光电信号:{MaterialSignal}\n\n" +
                                $"写入桁架信息:\n区域货位号:{area}\n托盘上的第几个车轮:{SNS.Length}\n托盘类型:{1}\n车轮类型:{(QueryMateriel(Station.stationType) == null ? QueryMateriel1(Station.stationType).TypeId : QueryMateriel(Station.stationType).TypeId)}" +
                                $"写入桁架信息:\n区域货位号:{area}\n托盘上的第几个车轮:{SNS.Length}\n托盘类型:{1}\n车轮类型:{geometry.TypeId}" +
                                $"\n车轮SN号:{SNS[SNS.Length - 1]}\nW_RequestUnload:true", "PCS");
                            #endregion
                        }
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs
@@ -32,7 +32,6 @@
        {
            StationTask.CreateTask();//入库
            OutboundTask.CreateOutboundTask();//出库
            //ReplaceTray.ReplaceTrayTask();//更换托盘
            RestockHCJ.HCJGetBarcode();//更新队列
            EmptyTrayTask.CreateEmptyTrayTask();//创建补空托
            AutoUpdateWork.FinishMesWork();//处理工单
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs
@@ -59,7 +59,15 @@
                    {
                        item.remark = "触发入库任务,但未找到工单信息!";
                        item.location_state = LocationStateEnum.Abnormal.ToString();
                        stationinfoRepository.Update(item, true);
                        stationinfoRepository.Update(item, x => new { x.remark, x.location_state }, true);
                        continue;
                    }
                    var geometry = Pipeline.QueryMateriel(work.drawingNo);
                    if (geometry == null)
                    {
                        item.remark = "未找到车轮信息!";
                        item.location_state = LocationStateEnum.Abnormal.ToString();
                        stationinfoRepository.Update(item, x => new { x.remark, x.location_state }, true);
                        continue;
                    }
@@ -67,7 +75,7 @@
                    string tasktype = "";
                    //if (item.quantity == 5)
                    if (item.quantity == work.stackNoRange)
                    if (item.quantity == geometry.stackNoRange)
                    {
                        if (!string.IsNullOrEmpty(work.area) || item.stationCode.Contains("3"))
                            tasktype = "TaskType_OutsourceInbound";
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs
@@ -116,8 +116,8 @@
                #region æŸ¥è¯¢å½“前工单的图号信息是否存在
                var dt_Geometry_Data = Pipeline.QueryMateriel(workInfo.drawingNo);
                var dt_Geometry_Data1 = Pipeline.QueryMateriel1(workInfo.drawingNo);
                if (dt_Geometry_Data == null && dt_Geometry_Data1 == null)
                //var dt_Geometry_Data1 = Pipeline.QueryMateriel1(workInfo.drawingNo);
                if (dt_Geometry_Data == null /*&& dt_Geometry_Data1 == null*/)
                {
                    throw new Exception($"未找到图号:{workInfo.drawingNo}的车轮信息!工单编号:{workInfo.jobID}");
                }
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue
@@ -22,16 +22,15 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'TypeId',
                key: 'ID',
                footer: "Foots",
                cnName: '车轮信息',
                name: 'baseinfo/dt_geometry_data',
                url: "/dt_geometry_data/",
                sortName: "TypeId"
            });
            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
            const editFormOptions = ref([
                              [{"title":"TypeId","required":true,"field":"TypeId","type":"text"},
            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":"","stackNoRange":"","weight":""});
            const editFormOptions = ref([[{"title":"TypeId","required":true,"field":"TypeId","type":"text"},
                               {"title":"图号","required":true,"field":"Description","type":"text"}],
                              [{"title":"a","required":true,"field":"a","type":"text"},
                               {"title":"b","required":true,"field":"b","type":"text"}],
@@ -40,11 +39,13 @@
                              [{"title":"e","required":true,"field":"e","type":"text"},
                               {"title":"f","required":true,"field":"f","type":"text"}],
                              [{"title":"g","required":true,"field":"g","type":"text"},
                               {"title":"h","required":true,"field":"h","type":"decimal"}]]);
            const searchFormFields = ref({"Description":""});
            const searchFormOptions = ref([[{"title":"图号","field":"Description","type":"like"}]]);
            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,readonly:true,require:true,align:'left'},
                       {field:'Description',title:'图号',type:'string',width:120,require:true,align:'left',sort:true},
                               {"title":"h","required":true,"field":"h","type":"text"}],
                               [{"title":"打包数量","required":true,"field":"stackNoRange","type":"text"},
                               {"title":"重量","required":true,"field":"weight","type":"float"}]]);
            const searchFormFields = ref({"TypeId":"","Description":""});
            const searchFormOptions = ref([[{"title":"图号","field":"Description","type":"like"},{"title":"TypeId","field":"TypeId","type":"int"}]]);
            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'Description',title:'图号',type:'string',width:120,require:true,align:'left'},
                       {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
                       {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
                       {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
@@ -52,7 +53,10 @@
                       {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'}]);
                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
                       {field:'stackNoRange',title:'打包数量',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'weight',title:'重量',type:'float',width:110,require:true,align:'left'},
                       {field:'ID',title:'ID',type:'int',sort:true,width:80,hidden:true,readonly:true,require:true,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs
@@ -19,7 +19,6 @@
        /// <summary>
       ///
       /// </summary>
       [Key]
       [Display(Name ="TypeId")]
       [Column(TypeName="int")]
       [Editable(true)]
@@ -37,7 +36,7 @@
       public string Description { get; set; }
       /// <summary>
       ///
       ///a
       /// </summary>
       [Display(Name ="a")]
       [Column(TypeName="float")]
@@ -46,7 +45,7 @@
       public float a { get; set; }
       /// <summary>
       ///
       ///b
       /// </summary>
       [Display(Name ="b")]
       [Column(TypeName="float")]
@@ -55,7 +54,7 @@
       public float b { get; set; }
       /// <summary>
       ///
       ///c
       /// </summary>
       [Display(Name ="c")]
       [Column(TypeName="float")]
@@ -64,7 +63,7 @@
       public float c { get; set; }
       /// <summary>
       ///
       ///d
       /// </summary>
       [Display(Name ="d")]
       [Column(TypeName="float")]
@@ -73,7 +72,7 @@
       public float d { get; set; }
       /// <summary>
       ///
       ///e
       /// </summary>
       [Display(Name ="e")]
       [Column(TypeName="float")]
@@ -82,7 +81,7 @@
       public float e { get; set; }
       /// <summary>
       ///
       ///f
       /// </summary>
       [Display(Name ="f")]
       [Column(TypeName="float")]
@@ -91,7 +90,7 @@
       public float f { get; set; }
       /// <summary>
       ///
       ///g
       /// </summary>
       [Display(Name ="g")]
       [Column(TypeName="float")]
@@ -100,7 +99,7 @@
       public float g { get; set; }
       /// <summary>
       ///
       ///h
       /// </summary>
       [Display(Name ="h")]
       [Column(TypeName="float")]
@@ -108,6 +107,31 @@
       [Required(AllowEmptyStrings=false)]
       public float h { get; set; }
       /// <summary>
       ///
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Required(AllowEmptyStrings=false)]
       public int ID { get; set; }
        /// <summary>
        /// æ‰“包数量
        /// </summary>
        [Display(Name = "stackNoRange")]
        [Column(TypeName = "int")]
        //[Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        public int stackNoRange { get; set; }
        /// <summary>
        ///重量
        /// </summary>
        [Display(Name = "weight")]
        [Column(TypeName = "float")]
        //[Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        public float? weight { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs
@@ -94,6 +94,7 @@
                            agv_task.agv_toaddress = EmptyStation.stationCode;
                            agvtaskRepository.Update(agv_task, true);
                            EmptyStation.location_state = LocationStateEnum.Busy.ToString();
                            EmptyStation.tray_status = TrayStateEnum.EmptyTray.ToString();
                            stationinfoRepository.Update(EmptyStation, true);
                            WriteDBLog.Success("更新自动取空托队列任务", $"任务编号:{agv_task.agv_tasknum}", "WMS");
                        }
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs
@@ -206,7 +206,9 @@
                    station1.quantity = station1.quantity - task.agv_qty;
                    station1.location_state = LocationStateEnum.Stroge.ToString();
                }
                else if (station1.area == "10" || station1.area == "11" || (station1.stationCode.Contains("C") && task.agv_tasktype == "TaskType_EmptyPallet")) //出库空托任务
                else if (station1.area == "10" || station1.area == "11"
                    || ((station1.stationCode.Contains("C") || station1.stationCode.Contains("B"))
                    && task.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())) //出库空托任务
                {
                    station1.location_state = LocationStateEnum.Stroge.ToString();
                    station1.quantity = station1.quantity - 1;
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendToaddress.cs
@@ -89,6 +89,7 @@
                                agv_task.agv_toaddress = EmptyStation.stationCode;
                                agvtaskRepository.Update(agv_task, true);
                                EmptyStation.location_state = LocationStateEnum.Busy.ToString();
                                EmptyStation.tray_status = TrayStateEnum.EmptyTray.ToString();
                                stationinfoRepository.Update(EmptyStation, true);
                            }
                            else
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs
@@ -103,6 +103,7 @@
                    EmptyStation.location_state = LocationStateEnum.Busy.ToString();
                    stationinfoRepository.Update(EmptyStation, true);
                    toEmptyStation.location_state = LocationStateEnum.Busy.ToString();
                    toEmptyStation.tray_status = TrayStateEnum.EmptyTray.ToString();
                    stationinfoRepository.Update(toEmptyStation, true);
                    WriteDBLog.Success("创建叠盘位空托入库任务", $"任务编号:{agvtask.agv_tasknum}", "PCS");
                }