lss
2025-06-24 3e870a218efe18db4eeb099632aac12a947a9e92
优化
3个文件已修改
81 ■■■■ 已修改文件
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/.vs/HH.WCS.JiaTong/v17/DocumentLayout.backup.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/.vs/HH.WCS.JiaTong/v17/DocumentLayout.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/.vs/HH.WCS.JiaTong/v17/DocumentLayout.backup.json
@@ -3,7 +3,7 @@
  "WorkspaceRootPath": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\apihelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|d:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\hh-0035_hefeiliaotongagv\\hh.wcs.mobox3\\hh.wcs.mobox3.jiatong\\api\\apihelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|solutionrelative:api\\apihelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -19,7 +19,7 @@
      "RelativeMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|solutionrelative:process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|d:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\hh-0035_hefeiliaotongagv\\hh.wcs.mobox3\\hh.wcs.mobox3.jiatong\\device\\modbushelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\device\\modbushelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{EBE15A59-A43A-43BE-8B4B-A6EC42E11111}|HH.WCS.JiaTong.csproj|solutionrelative:device\\modbushelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -234,8 +234,7 @@
              "RelativeToolTip": "process\\TaskProcess.cs",
              "ViewState": "AgIAADsCAAAAAAAAAAAAAE4CAAAsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T02:47:02.633Z",
              "EditorCaption": ""
              "WhenOpened": "2025-05-16T02:47:02.633Z"
            },
            {
              "$type": "Document",
@@ -247,8 +246,7 @@
              "RelativeToolTip": "config\\config.json",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAH4AAAAXAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-05-20T03:38:30.131Z",
              "EditorCaption": ""
              "WhenOpened": "2025-05-20T03:38:30.131Z"
            },
            {
              "$type": "Document",
@@ -268,9 +266,9 @@
              "Title": "ApiHelper.cs",
              "DocumentMoniker": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs",
              "RelativeDocumentMoniker": "api\\ApiHelper.cs",
              "ToolTip": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs",
              "RelativeToolTip": "api\\ApiHelper.cs",
              "ViewState": "AgIAAFoGAAAAAAAAAAD4v4sGAABHAAAAAAAAAA==",
              "ToolTip": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs*",
              "RelativeToolTip": "api\\ApiHelper.cs*",
              "ViewState": "AgIAANgKAAAAAAAAAIAzwAoLAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T00:57:25.72Z",
              "EditorCaption": ""
@@ -309,8 +307,7 @@
              "RelativeToolTip": "device\\ModbusHelper.cs",
              "ViewState": "AgIAAMMAAAAAAAAAAAASwJsAAAAlAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-03T02:53:27.594Z",
              "EditorCaption": ""
              "WhenOpened": "2025-06-03T02:53:27.594Z"
            },
            {
              "$type": "Document",
@@ -322,8 +319,7 @@
              "RelativeToolTip": "api\\MesController.cs",
              "ViewState": "AgIAACEAAAAAAAAAAAAywJUAAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-15T08:45:16.362Z",
              "EditorCaption": ""
              "WhenOpened": "2025-05-15T08:45:16.362Z"
            },
            {
              "$type": "Document",
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/.vs/HH.WCS.JiaTong/v17/DocumentLayout.json
@@ -266,9 +266,9 @@
              "Title": "ApiHelper.cs",
              "DocumentMoniker": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs",
              "RelativeDocumentMoniker": "api\\ApiHelper.cs",
              "ToolTip": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs*",
              "RelativeToolTip": "api\\ApiHelper.cs*",
              "ViewState": "AgIAANgKAAAAAAAAAIAzwAoLAAAVAAAAAAAAAA==",
              "ToolTip": "D:\\01-\u6C49\u548C\u667A\u80FD\\007-\u5408\u80A5\u4F73\u901A\\HH-0035_HeFeiLiaoTongAGV\\HH.WCS.Mobox3\\HH.WCS.Mobox3.JiaTong\\api\\ApiHelper.cs",
              "RelativeToolTip": "api\\ApiHelper.cs",
              "ViewState": "AgIAAC4LAAAAAAAAAAASwDQLAAAhAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T00:57:25.72Z",
              "EditorCaption": ""
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -2550,7 +2550,7 @@
            var list = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 0 && a.S_AREA_CODE.Trim() == areacode && a.N_LOCK_STATE == 0).ToList();
            if (list.Count > 0)
            {
                FindEndcolByLocList(list);
                FindEndcolByLocListLock(list);
            }
            //查询所有有托盘的排没锁的排
@@ -2862,6 +2862,57 @@
        }
        /// <summary>
        /// 找终点空货位计算排锁
        /// </summary>
        /// <param name="locations"></param>
        /// <returns></returns>
        internal static Location FindEndcolByLocListLock(List<Location> locations)
        {
            try
            {
                var db = new SqlHelper<object>().GetInstance();
                Location end = null;
                //根据终点货位找空闲货位
                var rows = locations.Select(a => a.N_ROW).Distinct().ToList();
                for (int i = 0; i < rows.Count; i++)
                {
                    var rowList = locations.Where(r => r.N_ROW == rows[i]).ToList();
                    if (rowList.Count(a => a.S_LOCK_STATE != "无") == 0 && rowList.Count(a => a.N_CURRENT_NUM == 0) > 0)
                    {
                        Location other = null;
                        //当前排没有锁并且有空位置
                        //先找满位,然后后面一位要么是空,要么不存在
                        var full = rowList.OrderByDescending(a => a.N_COL).Where(a => a.N_CURRENT_NUM == 1).FirstOrDefault();
                        if (full == null)
                        {
                            //没有满位,那就找最小的空位
                            other = rowList.OrderBy(a => a.N_COL).FirstOrDefault();
                        }
                        else
                        {
                            other = rowList.OrderBy(a => a.N_COL).Where(a => a.N_COL > full.N_COL).FirstOrDefault();
                        }
                        if (other != null)
                        {
                            end = other;
                            break;
                        }
                    }
                }
                return end;
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 找起点满货位
        /// </summary>
        /// <param name="locations"></param>