1
czw
2025-07-08 9159fc87255dd9f9849c6097580566750c73a68e
1
1个文件已添加
5个文件已修改
638 ■■■■■ 已修改文件
HnSx/Build/Project/代码/VS自定义类/AutoThread.cs 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/Build/Project/代码/集成互联.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/HnSx.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/Views/View.json 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/Views/View1.xaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/Views/View2.xaml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HnSx/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -132,13 +132,38 @@
                while (true)
                {
                    if (/*list.Count > 0 && */WebSocketClientWithReconnect.GetWebSocketState() == WebSocketState.Open)
                        for (int i = 60000; i < 70000; i++)
                        for (int i = 0; i < 70000; i++)
                        {
                            Thread.Sleep(1000);
                            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>>GGG{i}");
                            LogHelper.Info($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>>GGG{i}");
                            var b = WebSocketClientWithReconnect.Instance?.SendAsync($"He >>GGG{i}").Result;
                            Console.WriteLine("发送完成!!" + b);
                            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>>发送 ç¬¬ {i} æ¡");
                            //LogHelper.Info($"Hello Server {i}");
                            var req = new ReportWeightInfoRequest
                            {
                                data = new ReportWeightInfoData
                                {
                                    header = new ReportWeightInfoHeader
                                    {
                                        deliveryNo = "F0000" + i,
                                        grossWeight = i,
                                        cube = i,
                                        addTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),
                                        addWho = "WCS"
                                    }
                                }
                            };
                            var b = WebSocketClientWithReconnect.Instance?.SendAsync(JsonConvert.SerializeObject(req)).Result;
                            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>发送完成!!" + b);
                            if (b == true)
                            {
                                // ç­‰å¾…特定响应
                                var rr = reportWeightinfo.GetChinnnl().Result;
                                //LogHelper.Info($" {DateTime.Now.ToString("HH:mm:ss.fff")}>> æŽ¥æ”¶" + JsonConvert.SerializeObject(rr));
                                //}
                                Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>" + JsonConvert.SerializeObject(rr));
                            }
                            else Console.WriteLine("发送失败。");
                        }
                    Thread.Sleep(1000);
                }
@@ -159,10 +184,22 @@
                    new HttpServer(ip.ToString()).HttpServerRun();
                    //new TcpServer(ip.ToString());
                    //var server = new EnhancedWebSocketServer($"http://{ip.ToString()}:8809/").StartAsync(); http://10.20.66.121:18080
                    new WebSocketClientWithReconnect($"ws://10.20.66.121:18080/socket").StartAsync();
                    new WebSocketClientWithReconnect($"ws://10.20.66.121:20001/socket").StartAsync();
                    //new WebSocketClientWithReconnect($"ws://{ip.ToString()}:8809/socket").StartAsync();
                    WebSocketClientWithReconnect.Instance.OnMessageReceived += (msg) =>
                    {
                        reportWeightinfo.channel.Writer.TryWrite(JsonConvert.DeserializeObject<ReportWeightInfoResponse>(msg));
                        //reportWeightinfo.channel.Writer.TryWrite(JsonConvert.DeserializeObject<ReportWeightInfoResponse>(msg));
                        reportWeightinfo.channel.Writer.TryWrite(new ReportWeightInfoResponse
                        {
                            Response = new ReportWeightInfoResponseData
                            {
                                Return = new ReportWeightInfoReturnInfo
                                {
                                    returnCode = "0000",
                                    sortingChute = msg
                                }
                            }
                        });
                    };
                    break;
                }
@@ -269,8 +306,8 @@
                                case "/api/Wcs/RemoveTask":
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        lstr.RemoveAll(x => x.PalletId == requestJson);
                                        putConveyorTasks.RemoveAll(x => x.PalletId == requestJson);
                                        lstr.RemoveAll(x => x.palletId == requestJson);
                                        putConveyorTasks.RemoveAll(x => x.palletId == requestJson);
                                        break;
                                    }
                                ///任务下发--WMS-->WC
@@ -278,29 +315,46 @@
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var req = JsonConvert.DeserializeObject<SendTaskRequest>(requestJson);
                                        if (req.Data == null || lstr.Find(x => x.GroupTaskSequence == req.Data.Header.GroupTaskSequence && x.GroupTaskId == req.Data.Header.GroupTaskId) != null)
                                        if (req == null || req.data == null || lstr.Find(x => x.groupTaskSequence == req.data.header.groupTaskSequence && x.groupTaskId == req.data.header.groupTaskId) != null)
                                        {
                                            if (req == null || req.data == null)
                                            return JsonConvert.SerializeObject(new SendTaskResponse
                                            {
                                                Response = new ResponseData
                                                {
                                                    Return = new ReturnInfo
                                                    {
                                                        ReturnCode = "0001",
                                                        ReturnDesc = req.Data == null ? "无任务下发!" : "任务重复下发!",
                                                        ReturnFlag = "0"
                                                            returnCode = "0001",
                                                            returnDesc = req?.data == null ? "无任务下发!" : "任务重复下发!",
                                                            returnFlag = "0"
                                                    }
                                                }
                                            });
                                        lstr.Add(req.Data.Header);
                                            else
                                        return JsonConvert.SerializeObject(new SendTaskResponse
                                        {
                                            Response = new ResponseData
                                            {
                                                Return = new ReturnInfo
                                                {
                                                    ReturnCode = "0000",
                                                    ReturnDesc = "ok",
                                                    ReturnFlag = "1"
                                                            returnCode = "0000",
                                                            returnDesc = "任务重复下发!",
                                                            returnFlag = "1"
                                                        }
                                                    }
                                                });
                                        }
                                        lstr.Add(req.data.header);
                                        return JsonConvert.SerializeObject(new SendTaskResponse
                                        {
                                            Response = new ResponseData
                                            {
                                                Return = new ReturnInfo
                                                {
                                                    returnCode = "0000",
                                                    returnDesc = "ok",
                                                    returnFlag = "1"
                                                }
                                            }
                                        });
@@ -309,25 +363,32 @@
                                case "/api/Wcs/stockInException":
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var f = string.IsNullOrEmpty(requestJson) ? lstr.FirstOrDefault() : lstr.Find(x => x.PalletId == requestJson);
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKINEXCEPTION", JsonConvert.SerializeObject(new StockInExceptionRequest
                                        var f = string.IsNullOrEmpty(requestJson) ? lstr.FirstOrDefault() : lstr.Find(x => x.palletId == requestJson);
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKINEXCEP", JsonConvert.SerializeObject(new StockInExceptionRequest
                                        {
                                            Data = new StockInExceptionData
                                            data = new StockInExceptionData
                                            {
                                                Header = new StockInExceptionHeader
                                                header = new StockInExceptionHeader
                                                {
                                                    OrganizationId = f.OrganizationId,
                                                    WarehouseId = f.WarehouseId,
                                                    GroupTaskId = f.GroupTaskId,
                                                    GroupTaskSequence = f.GroupTaskSequence,
                                                    PalletId = f.PalletId,
                                                    AddTime = f.AddTime,
                                                    AddWho = f.AddWho,
                                                    Reason = "库位有货不可用",
                                                    ReasonCode = "01"
                                                    organizationId = f.organizationId,
                                                    warehouseId = f.warehouseId,
                                                    groupTaskId = f.groupTaskId,
                                                    groupTaskSequence = f.groupTaskSequence,
                                                    palletId = f.palletId,
                                                    addTime = f.addTime.ToString("yyyy-MM-dd HH:mm:ss"),
                                                    addWho = f.addWho,
                                                    reason = "库位有货不可用",
                                                    reasonCode = "01"
                                                }
                                            }
                                        }));
                                        var strres = JsonConvert.DeserializeObject<StockInExceptionResponse>(str);
                                        if (strres.Response.Return.returnCode == "0000")
                                        {
                                            f.toPosition = strres.Response.Return.toPosition;
                                            f.toLocation = strres.Response.Return.toLocation;
                                        }
                                        return str;
                                    }
                                ///任务状态反馈  WCS-->WM
@@ -336,26 +397,26 @@
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        //foreach (var statu in new List<string> { "", "" })
                                        {
                                            var f = string.IsNullOrEmpty(requestJson) ? lstr.FirstOrDefault() : lstr.Find(x => x.PalletId == requestJson);
                                            var f = string.IsNullOrEmpty(requestJson) ? lstr.FirstOrDefault() : lstr.Find(x => x.palletId == requestJson);
                                            var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=TASKFEEDBACK", JsonConvert.SerializeObject(new TaskFeedbackRequest
                                            {
                                                Data = new TaskFeedbackData
                                                data = new TaskFeedbackData
                                                {
                                                    Header = new TaskFeedbackHeader
                                                    header = new TaskFeedbackHeader
                                                    {
                                                        OrganizationId = f.OrganizationId,
                                                        WarehouseId = f.WarehouseId,
                                                        GroupTaskId = f.GroupTaskId,
                                                        GroupTaskSequence = f.GroupTaskSequence,
                                                        PalletId = f.PalletId,
                                                        FmLocation = f.FmLocation,
                                                        FmPosition = f.FmPosition,
                                                        ToLocation = f.ToLocation,
                                                        ToPosition = f.ToPosition,
                                                        TaskStatus = "80",
                                                        TaskType = f.TaskType,
                                                        CloseTime = DateTime.Now,
                                                        CloseWho = f.AddWho
                                                        organizationId = f.organizationId,
                                                        warehouseId = f.warehouseId,
                                                        groupTaskId = f.groupTaskId,
                                                        groupTaskSequence = f.groupTaskSequence,
                                                        palletId = f.palletId,
                                                        fmLocation = f.fmLocation,
                                                        fmPosition = f.fmPosition,
                                                        toLocation = f.toLocation,
                                                        toPosition = f.toPosition,
                                                        taskStatus = "80",
                                                        taskType = f.taskType,
                                                        closeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                                        closeWho = f.addWho
                                                    }
                                                }
                                            }));
@@ -366,23 +427,97 @@
                                case "/api/Wcs/stockInInteraction":
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKININTERACTION", JsonConvert.SerializeObject(new StockInInteractionRequest
                                        var req = JsonConvert.DeserializeObject<StockInInteractionRequest>(requestJson);
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKININTERACTION", requestJson);
                                        //var str = @"{""Response"":{""return"":{""returnCode"":""0000"",""returnDesc"":""Success"",""returnFlag"":""1"",""groupTaskId"":""GT250708000001"",""groupTaskSequence"":""1"",""taskStatus"":""00"",""taskType"":""PA"",""priority"":""3"",""toLocation"":""5A070101"",""toPosition"":""01""}}}";
                                        var res = JsonConvert.DeserializeObject<StockInInteractionResponse>(str);
                                        if (res.Response.Return.returnCode == "0000")
                                        {
                                            Data = new StockInInteractionData
                                            var from = req.data.header;
                                            var resss = res.Response.Return;
                                            lstr.Add(new SendTaskHeader
                                            {
                                                Header = new StockInInteractionHeader
                                                groupTaskId = resss.groupTaskId,
                                                groupTaskSequence = resss.groupTaskSequence,
                                                fmLocation = from.fmLocation,
                                                fmPosition = from.fmPosition,
                                                palletId = from.palletId,
                                                taskStatus = resss.taskStatus,
                                                taskType = resss.taskType,
                                                priority = resss.priority,
                                                toLocation = resss.toLocation,
                                                toPosition = resss.toPosition,
                                                addTime = DateTime.Now,
                                                addWho = from.addWho,
                                            });
                                        }
                                        return str;// + JsonConvert.SerializeObject(lstr);
                                        var str1 = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKININTERACTION", JsonConvert.SerializeObject(new StockInInteractionRequest
                                                {
                                                    PalletId = "TP9901",
                                                    GrossWeight = 99,
                                                    PalletWidth = 99,
                                                    FmLocation = "",
                                                    FmPosition = "",
                                                    AddTime = DateTime.Now,
                                                    AddWho = ""
                                            data = new StockInInteractionData
                                            {
                                                header = new StockInInteractionHeader
                                                {
                                                    palletId = "TP9901",
                                                    grossWeight = 99,
                                                    palletWidth = 99,
                                                    fmLocation = "",
                                                    fmPosition = "",
                                                    addTime = DateTime.Now,
                                                    addWho = ""
                                                }
                                            }
                                        }));
                                        return str;
                                        return str1;
                                    }
                                ///入库交互  ã€‚WCS-->WMS
                                case "/api/Wcs/stockInInteraction2":
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var req = JsonConvert.DeserializeObject<StockInInteractionRequest>(requestJson);
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKININTERACTION", requestJson);
                                        //var str = @"{""Response"":{""return"":{""returnCode"":""0000"",""returnDesc"":""Success"",""returnFlag"":""1"",""groupTaskId"":""GT250708000001"",""groupTaskSequence"":""1"",""taskStatus"":""00"",""taskType"":""PA"",""priority"":""3"",""toLocation"":""5A070101"",""toPosition"":""01""}}}";
                                        var res = JsonConvert.DeserializeObject<StockInInteractionResponse>(str);
                                        if (res.Response.Return.returnCode == "0000")
                                        {
                                            var from = req.data.header;
                                            var resss = res.Response.Return;
                                            lstr.Add(new SendTaskHeader
                                            {
                                                groupTaskId = resss.groupTaskId,
                                                groupTaskSequence = resss.groupTaskSequence,
                                                fmLocation = from.fmLocation,
                                                fmPosition = from.fmPosition,
                                                palletId = from.palletId,
                                                taskStatus = resss.taskStatus,
                                                taskType = resss.taskType,
                                                priority = resss.priority,
                                                toLocation = resss.toLocation,
                                                toPosition = resss.toPosition,
                                                addTime = DateTime.Now,
                                                addWho = from.addWho,
                                            });
                                        }
                                        return str;// + JsonConvert.SerializeObject(lstr);
                                        var str1 = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=STOCKININTERACTION", JsonConvert.SerializeObject(new StockInInteractionRequest
                                        {
                                            data = new StockInInteractionData
                                            {
                                                header = new StockInInteractionHeader
                                                {
                                                    palletId = "TP9901",
                                                    grossWeight = 99,
                                                    palletWidth = 99,
                                                    fmLocation = "",
                                                    fmPosition = "",
                                                    addTime = DateTime.Now,
                                                    addWho = ""
                                                }
                                            }
                                        }));
                                        return str1;
                                    }
                                ///任务取消。 WMS-->WCS
@@ -390,7 +525,7 @@
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var req = JsonConvert.DeserializeObject<CancelTaskRequest>(requestJson);
                                        var task = lstr.Find(x => x.GroupTaskId == req.Data.Header.GroupTaskId && x.GroupTaskSequence == req.Data.Header.GroupTaskSequence);
                                        var task = lstr.Find(x => x.groupTaskId == req.data.header.groupTaskId && x.groupTaskSequence == req.data.header.groupTaskSequence);
                                        if (task == null)
                                            return JsonConvert.SerializeObject(new CancelTaskResponse
                                            {
@@ -398,9 +533,9 @@
                                                {
                                                    Return = new ReturnInfo
                                                    {
                                                        ReturnCode = "0001",
                                                        ReturnDesc = "任务不存在!!!",
                                                        ReturnFlag = "0"
                                                        returnCode = "0001",
                                                        returnDesc = "任务不存在!!!",
                                                        returnFlag = "0"
                                                    }
                                                }
                                            });
@@ -411,9 +546,9 @@
                                            {
                                                Return = new ReturnInfo
                                                {
                                                    ReturnCode = "0000",
                                                    ReturnDesc = "",
                                                    ReturnFlag = "1"
                                                    returnCode = "0000",
                                                    returnDesc = "",
                                                    returnFlag = "1"
                                                }
                                            }
                                        });
@@ -422,18 +557,19 @@
                                case "/api/Wcs/palletStackerInteraction":
                                    {
                                        statusCode = System.Net.HttpStatusCode.OK;
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=PALLETSTACKERINTERACTION", JsonConvert.SerializeObject(new PalletStackerInteractionRequest
                                        var str = apiHelper.Post("http://10.20.66.121:18080/datahubjson/wcs/?method=PALLETSTACKERINTERACTION", !string.IsNullOrEmpty(requestJson) ? requestJson : JsonConvert.SerializeObject(new PalletStackerInteractionRequest
                                        {
                                            Data = new PalletStackerInteractionData
                                            data = new PalletStackerInteractionData
                                            {
                                                Header = new PalletStackerInteractionHeader
                                                header = new PalletStackerInteractionHeader
                                                {
                                                    PalletId = "TP9901",
                                                    TaskId = $"X{DateTime.Now.ToString("yyyy-MM-dd")}001",
                                                    TaskType = "PI",
                                                    FmLocation = "2FC1076",
                                                    AddTime = DateTime.Now,
                                                    AddWho = "wcs"
                                                    palletId = "TP9901",
                                                    taskId = $"X{DateTime.Now.ToString("yyyyMMdd")}001",
                                                    taskType = "PI",
                                                    fmLocation = "2FC1076",
                                                    addTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                                    addWho = "wcs"
                                                }
                                            }
                                        }));
@@ -448,37 +584,37 @@
                                        List<TaskErrorInfo> taskErrorInfos = new List<TaskErrorInfo>();
                                        if (req != null)
                                        {
                                            foreach (var item in req.Data.Header)
                                            foreach (var item in req.data.header)
                                            {
                                                var task = lstr.Find(x => x.GroupTaskSequence == item.GroupTaskSequence && x.GroupTaskId == item.GroupTaskId);
                                                var task = lstr.Find(x => x.groupTaskSequence == item.groupTaskSequence && x.groupTaskId == item.groupTaskId);
                                                if (task != null)
                                                {
                                                    task.Priority = item.Priority;
                                                    task.priority = item.priority;
                                                }
                                                else
                                                {
                                                    taskErrorInfos.Add(new TaskErrorInfo
                                                    {
                                                        GroupTaskId = item.GroupTaskId,
                                                        GroupTaskSequence = item.GroupTaskSequence,
                                                        ErrorCode = "0001",
                                                        ErrorDesc = "没这个任务"
                                                        groupTaskId = item.groupTaskId,
                                                        groupTaskSequence = item.groupTaskSequence,
                                                        errorCode = "0001",
                                                        errorDesc = "没这个任务"
                                                    });
                                                }
                                            }
                                        }
                                        if (req == null || req.Data.Header.Count == taskErrorInfos.Count)
                                        if (req == null || req.data.header.Count == taskErrorInfos.Count)
                                            return JsonConvert.SerializeObject(new ModifyTaskPriorityResponse
                                            {
                                                Response = new ModifyTaskPriorityResponseData
                                                {
                                                    Return = new ModifyTaskPriorityReturnInfo
                                                    {
                                                        ReturnCode = "0001",
                                                        ReturnDesc = "没有任务可更改",
                                                        ReturnFlag = "0"
                                                        returnCode = "0001",
                                                        returnDesc = "没有任务可更改",
                                                        returnFlag = "0"
                                                    }
                                                }
                                            });
@@ -491,8 +627,8 @@
                                                    {
                                                        Return = new ModifyTaskPriorityReturnInfo
                                                        {
                                                            ReturnCode = "0000",
                                                            ReturnFlag = "1"
                                                            returnCode = "0000",
                                                            returnFlag = "1"
                                                        }
                                                    }
                                                });
@@ -504,10 +640,10 @@
                                                    {
                                                        Return = new ModifyTaskPriorityReturnInfo
                                                        {
                                                            ReturnCode = "0001",
                                                            ReturnDesc = "部分任务可更改",
                                                            ReturnFlag = "2",
                                                            ResultInfo = taskErrorInfos
                                                            returnCode = "0001",
                                                            returnDesc = "部分任务可更改",
                                                            returnFlag = "2",
                                                            resultInfo = taskErrorInfos
                                                        }
                                                    }
                                                });
@@ -523,9 +659,9 @@
                                        List<TaskErrorInfo> taskErrorInfos = new List<TaskErrorInfo>();
                                        if (req != null)
                                        {
                                            foreach (var item in req.Data.Header)
                                            foreach (var item in req.data.header)
                                            {
                                                var task = putConveyorTasks.Find(x => x.GroupTaskSequence == item.GroupTaskSequence && x.GroupTaskId == item.GroupTaskId);
                                                var task = putConveyorTasks.Find(x => x.groupTaskSequence == item.groupTaskSequence && x.groupTaskId == item.groupTaskId);
                                                if (task == null)
                                                {
                                                    putConveyorTasks.Add(item);
@@ -534,26 +670,26 @@
                                                {
                                                    taskErrorInfos.Add(new TaskErrorInfo
                                                    {
                                                        GroupTaskId = item.GroupTaskId,
                                                        GroupTaskSequence = item.GroupTaskSequence,
                                                        ErrorCode = "0001",
                                                        ErrorDesc = "重复"
                                                        groupTaskId = item.groupTaskId,
                                                        groupTaskSequence = item.groupTaskSequence,
                                                        errorCode = "0001",
                                                        errorDesc = "重复"
                                                    });
                                                }
                                            }
                                        }
                                        if (req == null || req.Data.Header.Count == taskErrorInfos.Count)
                                        if (req == null || req.data.header.Count == taskErrorInfos.Count)
                                            return JsonConvert.SerializeObject(new PutConveyorTaskResponse
                                            {
                                                Response = new PutConveyorTaskResponseData
                                                {
                                                    Return = new PutConveyorTaskReturnInfo
                                                    {
                                                        ReturnCode = "0001",
                                                        ReturnDesc = "全部重复",
                                                        ReturnFlag = "0"
                                                        returnCode = "0001",
                                                        returnDesc = "全部重复",
                                                        returnFlag = "0"
                                                    }
                                                }
                                            });
@@ -566,8 +702,8 @@
                                                    {
                                                        Return = new PutConveyorTaskReturnInfo
                                                        {
                                                            ReturnCode = "0000",
                                                            ReturnFlag = "1"
                                                            returnCode = "0000",
                                                            returnFlag = "1"
                                                        }
                                                    }
                                                });
@@ -579,10 +715,10 @@
                                                    {
                                                        Return = new PutConveyorTaskReturnInfo
                                                        {
                                                            ReturnCode = "0001",
                                                            ReturnDesc = "部分重复",
                                                            ReturnFlag = "2",
                                                            ResultInfo = taskErrorInfos
                                                            returnCode = "0001",
                                                            returnDesc = "部分重复",
                                                            returnFlag = "2",
                                                            resultInfo = taskErrorInfos
                                                        }
                                                    }
                                                });
@@ -600,22 +736,22 @@
                                            //Thread.Sleep(1000);
                                            var req = new ReportWeightInfoRequest
                                            {
                                                Data = new ReportWeightInfoData
                                                data = new ReportWeightInfoData
                                                {
                                                    Header = new ReportWeightInfoHeader
                                                    header = new ReportWeightInfoHeader
                                                    {
                                                        DeliveryNo = "F00001",
                                                        GrossWeight = 99,
                                                        Cube = 66,
                                                        AddTime = DateTime.Now,
                                                        AddWho = "WCS"
                                                        deliveryNo = "F00001",
                                                        grossWeight = 99,
                                                        cube = 66,
                                                        addTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),
                                                        addWho = "WCS"
                                                    }
                                                }
                                            };
                                            //Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")}>>>GGG{i}");
                                            LogHelper.Info(JsonConvert.SerializeObject(req));
                                            var b = WebSocketClientWithReconnect.Instance?.SendAsync(JsonConvert.SerializeObject(req)).Result;
                                            Console.WriteLine(req.Data.Header.DeliveryNo + "发送完成!!" + b);
                                            Console.WriteLine(req.data.header.deliveryNo + "发送完成!!" + b);
                                            if (b == true)
                                            {
                                                // ç­‰å¾…特定响应
@@ -1364,7 +1500,7 @@
                /// <summary>
                /// è¯·æ±‚数据
                /// </summary>
                public SendTaskData Data { get; set; }
                public SendTaskData data { get; set; }
            }
            public class SendTaskData
@@ -1372,7 +1508,7 @@
                /// <summary>
                /// è¯·æ±‚头信息
                /// </summary>
                public SendTaskHeader Header { get; set; }
                public SendTaskHeader header { get; set; }
            }
            public class SendTaskHeader
@@ -1380,72 +1516,72 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// æ‰˜ç›˜å·
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// æ¥æºåº“位
                /// </summary>
                public string FmLocation { get; set; }
                public string fmLocation { get; set; }
                /// <summary>
                /// æ¥æºç‚¹ä½
                /// </summary>
                public string FmPosition { get; set; }
                public string fmPosition { get; set; }
                /// <summary>
                /// ç›®æ ‡åº“位号
                /// </summary>
                public string ToLocation { get; set; }
                public string toLocation { get; set; }
                /// <summary>
                /// ç›®æ ‡ç‚¹ä½
                /// </summary>
                public string ToPosition { get; set; }
                public string toPosition { get; set; }
                /// <summary>
                /// çŠ¶æ€ - 00:创建
                /// </summary>
                public string TaskStatus { get; set; } = "00";
                public string taskStatus { get; set; } = "00";
                /// <summary>
                /// ä»»åŠ¡ç±»åž‹ - PA:入库(上架/回库/移库), PK:出库(拣货/移库/补货/盘点), MV:倒库
                /// </summary>
                public string TaskType { get; set; }
                public string taskType { get; set; }
                /// <summary>
                /// åˆ›å»ºæ—¶é—´
                /// </summary>
                public DateTime AddTime { get; set; }
                public DateTime addTime { get; set; }
                /// <summary>
                /// åˆ›å»ºäºº
                /// </summary>
                public string AddWho { get; set; }
                public string addWho { get; set; }
                /// <summary>
                /// ä¼˜å…ˆçº§ - 1-5(1最高,5最低),默认3
                /// </summary>
                public string Priority { get; set; } = "3";
                public string priority { get; set; } = "3";
            }
@@ -1467,17 +1603,17 @@
                /// <summary>
                /// è¿”回代码 - 0000:成功, å…¶ä»–:失败
                /// </summary>
                public string ReturnCode { get; set; }
                public string returnCode { get; set; }
                /// <summary>
                /// è¿”回描述
                /// </summary>
                public string ReturnDesc { get; set; }
                public string returnDesc { get; set; }
                /// <summary>
                /// è¿”回标记 - 1:成功, 0:失败
                /// </summary>
                public string ReturnFlag { get; set; }
                public string returnFlag { get; set; }
            }
        }
@@ -1488,12 +1624,12 @@
            /// </summary>
            public class StockInExceptionRequest
            {
                public StockInExceptionData Data { get; set; }
                public StockInExceptionData data { get; set; }
            }
            public class StockInExceptionData
            {
                public StockInExceptionHeader Header { get; set; }
                public StockInExceptionHeader header { get; set; }
            }
            public class StockInExceptionHeader
@@ -1501,47 +1637,47 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// æ‰˜ç›˜å·
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// åˆ›å»ºæ—¶é—´
                /// </summary>
                public DateTime AddTime { get; set; }
                public string addTime { get; set; }
                /// <summary>
                /// åˆ›å»ºè®¾å¤‡
                /// </summary>
                public string AddWho { get; set; }
                public string addWho { get; set; }
                /// <summary>
                /// å¼‚常原因描述
                /// </summary>
                public string Reason { get; set; }
                public string reason { get; set; }
                /// <summary>
                /// å¼‚常原因代码 - 01:库位有货不可用, 03:入内伸位外伸位有货
                /// </summary>
                public string ReasonCode { get; set; }
                public string reasonCode { get; set; }
                // ... UDF字段
            }
@@ -1564,12 +1700,12 @@
                /// <summary>
                /// æ–°åˆ†é…çš„目标库位
                /// </summary>
                public string ToLocation { get; set; }
                public string toLocation { get; set; }
                /// <summary>
                /// æ–°åˆ†é…çš„目标点位
                /// </summary>
                public string ToPosition { get; set; }
                public string toPosition { get; set; }
            }
        }
@@ -1580,12 +1716,12 @@
            /// </summary>
            public class TaskFeedbackRequest
            {
                public TaskFeedbackData Data { get; set; }
                public TaskFeedbackData data { get; set; }
            }
            public class TaskFeedbackData
            {
                public TaskFeedbackHeader Header { get; set; }
                public TaskFeedbackHeader header { get; set; }
            }
            public class TaskFeedbackHeader
@@ -1593,67 +1729,67 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// æ‰˜ç›˜å·
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// æ¥æºåº“位
                /// </summary>
                public string FmLocation { get; set; }
                public string fmLocation { get; set; }
                /// <summary>
                /// æ¥æºç‚¹ä½
                /// </summary>
                public string FmPosition { get; set; }
                public string fmPosition { get; set; }
                /// <summary>
                /// ç›®æ ‡åº“位号
                /// </summary>
                public string ToLocation { get; set; }
                public string toLocation { get; set; }
                /// <summary>
                /// ç›®æ ‡ç‚¹ä½
                /// </summary>
                public string ToPosition { get; set; }
                public string toPosition { get; set; }
                /// <summary>
                /// çŠ¶æ€ - 80:完成, 98:异常(取货无货)
                /// </summary>
                public string TaskStatus { get; set; }
                public string taskStatus { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç±»åž‹ - PA:入库, PK:出库, MV:倒库
                /// </summary>
                public string TaskType { get; set; }
                public string taskType { get; set; }
                /// <summary>
                /// å®Œæˆæ—¶é—´
                /// </summary>
                public DateTime CloseTime { get; set; }
                public string closeTime { get; set; }
                /// <summary>
                /// å®Œæˆäººå‘˜
                /// </summary>
                public string CloseWho { get; set; }
                public string closeWho { get; set; }
                // ... UDF字段
            }
@@ -1665,12 +1801,12 @@
            /// </summary>
            public class StockInInteractionRequest
            {
                public StockInInteractionData Data { get; set; }
                public StockInInteractionData data { get; set; }
            }
            public class StockInInteractionData
            {
                public StockInInteractionHeader Header { get; set; }
                public StockInInteractionHeader header { get; set; }
            }
            public class StockInInteractionHeader
@@ -1678,47 +1814,47 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// æ‰˜ç›˜å· - ä¸»é”®
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// æ€»é‡é‡(kg)
                /// </summary>
                public decimal GrossWeight { get; set; }
                public decimal grossWeight { get; set; }
                /// <summary>
                /// ç ç›˜å®½åº¦(cm)
                /// </summary>
                public decimal PalletWidth { get; set; }
                public decimal palletWidth { get; set; }
                /// <summary>
                /// æ¥æºåº“位
                /// </summary>
                public string FmLocation { get; set; }
                public string fmLocation { get; set; }
                /// <summary>
                /// æ¥æºç‚¹ä½
                /// </summary>
                public string FmPosition { get; set; }
                public string fmPosition { get; set; }
                /// <summary>
                /// åˆ›å»ºæ—¶é—´
                /// </summary>
                public DateTime AddTime { get; set; }
                public DateTime addTime { get; set; }
                /// <summary>
                /// åˆ›å»ºäºº
                /// </summary>
                public string AddWho { get; set; }
                public string addWho { get; set; }
                // ... UDF01-UDF10
            }
@@ -1741,37 +1877,37 @@
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å·
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå·
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// çŠ¶æ€ - 00:创建
                /// </summary>
                public string TaskStatus { get; set; }
                public string taskStatus { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç±»åž‹ - PA:入库
                /// </summary>
                public string TaskType { get; set; }
                public string taskType { get; set; }
                /// <summary>
                /// ä¼˜å…ˆçº§ - 1-5(1最高)
                /// </summary>
                public string Priority { get; set; }
                public string priority { get; set; }
                /// <summary>
                /// ç›®æ ‡åº“位号
                /// </summary>
                public string ToLocation { get; set; }
                public string toLocation { get; set; }
                /// <summary>
                /// ç›®æ ‡ç‚¹ä½
                /// </summary>
                public string ToPosition { get; set; }
                public string toPosition { get; set; }
            }
        }
        public class cancelTask
@@ -1781,12 +1917,12 @@
            /// </summary>
            public class CancelTaskRequest
            {
                public CancelTaskData Data { get; set; }
                public CancelTaskData data { get; set; }
            }
            public class CancelTaskData
            {
                public CancelTaskHeader Header { get; set; }
                public CancelTaskHeader header { get; set; }
            }
            public class CancelTaskHeader
@@ -1794,22 +1930,22 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
            }
            /// <summary>
@@ -1827,12 +1963,12 @@
            /// </summary>
            public class PalletStackerInteractionRequest
            {
                public PalletStackerInteractionData Data { get; set; }
                public PalletStackerInteractionData data { get; set; }
            }
            public class PalletStackerInteractionData
            {
                public PalletStackerInteractionHeader Header { get; set; }
                public PalletStackerInteractionHeader header { get; set; }
            }
            public class PalletStackerInteractionHeader
@@ -1840,47 +1976,47 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç¼–å· - ä¸»é”®ï¼Œè®¾å¤‡å‘出的请求ID
                /// </summary>
                public string TaskId { get; set; }
                public string taskId { get; set; }
                /// <summary>
                /// æ‰˜ç›˜å·
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// ç±»åž‹ - PI:入库, PT:出库(当前无出库场景)
                /// </summary>
                public string TaskType { get; set; }
                public string taskType { get; set; }
                /// <summary>
                /// èµ·å§‹åº“位 - å ç›˜æœºç‰©ç†èµ·å§‹ä½ç½®
                /// </summary>
                public string FmLocation { get; set; }
                public string fmLocation { get; set; }
                /// <summary>
                /// ä¼˜å…ˆçº§ - 1-5(1最高)
                /// </summary>
                public string Priority { get; set; } = "3";
                public string priority { get; set; } = "3";
                /// <summary>
                /// åˆ›å»ºæ—¶é—´
                /// </summary>
                public DateTime AddTime { get; set; }
                public string addTime { get; set; }
                /// <summary>
                /// åˆ›å»ºè®¾å¤‡
                /// </summary>
                public string AddWho { get; set; }
                public string addWho { get; set; }
                // ... UDF01-UDF10
            }
@@ -1901,12 +2037,12 @@
            /// </summary>
            public class ModifyTaskPriorityRequest
            {
                public ModifyTaskPriorityData Data { get; set; }
                public ModifyTaskPriorityData data { get; set; }
            }
            public class ModifyTaskPriorityData
            {
                public List<ModifyTaskPriorityHeader> Header { get; set; }
                public List<ModifyTaskPriorityHeader> header { get; set; }
            }
            public class ModifyTaskPriorityHeader
@@ -1914,27 +2050,27 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// ä¼˜å…ˆçº§ - 1-5(1最高)
                /// </summary>
                public string Priority { get; set; }
                public string priority { get; set; }
            }
            /// <summary>
@@ -1947,6 +2083,7 @@
            public class ModifyTaskPriorityResponseData
            {
                [JsonProperty("return")]
                public ModifyTaskPriorityReturnInfo Return { get; set; }
            }
@@ -1955,7 +2092,7 @@
                /// <summary>
                /// éƒ¨åˆ†æˆåŠŸæ—¶çš„é”™è¯¯è¯¦æƒ…
                /// </summary>
                public List<TaskErrorInfo> ResultInfo { get; set; }
                public List<TaskErrorInfo> resultInfo { get; set; }
            }
            public class TaskErrorInfo
@@ -1963,22 +2100,22 @@
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å·
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå·
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// é”™è¯¯ä»£ç 
                /// </summary>
                public string ErrorCode { get; set; }
                public string errorCode { get; set; }
                /// <summary>
                /// é”™è¯¯åŽŸå› 
                /// </summary>
                public string ErrorDesc { get; set; }
                public string errorDesc { get; set; }
            }
        }
        public class putConveyorTask
@@ -1988,12 +2125,12 @@
            /// </summary>
            public class PutConveyorTaskRequest
            {
                public PutConveyorTaskData Data { get; set; }
                public PutConveyorTaskData data { get; set; }
            }
            public class PutConveyorTaskData
            {
                public List<PutConveyorTaskHeader> Header { get; set; }
                public List<PutConveyorTaskHeader> header { get; set; }
            }
            public class PutConveyorTaskHeader
@@ -2001,42 +2138,42 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// ä»»åŠ¡ç»„ç¼–å· - ä¸»é”®
                /// </summary>
                public string GroupTaskId { get; set; }
                public string groupTaskId { get; set; }
                /// <summary>
                /// ä»»åŠ¡ç»„åºå· - ä¸»é”®
                /// </summary>
                public int GroupTaskSequence { get; set; }
                public int groupTaskSequence { get; set; }
                /// <summary>
                /// ç®±å·
                /// </summary>
                public string PalletId { get; set; }
                public string palletId { get; set; }
                /// <summary>
                /// ç®±åž‹ - å¤§ç®±/小箱/周转箱编码
                /// </summary>
                public string PalletIdType { get; set; }
                public string palletIdType { get; set; }
                /// <summary>
                /// è´´æ ‡æ ‡è®° - Y:需要贴标, N:不需要
                /// </summary>
                public string SyncFlag { get; set; }
                public string syncFlag { get; set; }
                /// <summary>
                /// ç›®æ ‡åŒºåŸŸ/道口 - ç‰©ç†ä½ç½®é“口编码或B2C复核台区域编码
                /// </summary>
                public string DLocation { get; set; }
                public string dLocation { get; set; }
                // ... UDF01-UDF10
            }
@@ -2059,7 +2196,7 @@
                /// <summary>
                /// éƒ¨åˆ†æˆåŠŸæ—¶çš„é”™è¯¯è¯¦æƒ…
                /// </summary>
                public List<TaskErrorInfo> ResultInfo { get; set; }
                public List<TaskErrorInfo> resultInfo { get; set; }
            }
        }
        public class reportWeightinfo
@@ -2076,10 +2213,10 @@
                {
                    while (reportWeightinfo.channel.Reader.TryRead(out var response))
                    {
                        return response?.Response?.Return ?? new ReportWeightInfoReturnInfo { ReturnCode = "0001", SortingChute = "0", ReturnDesc = "返回为空。" };
                        return response?.Response?.Return ?? new ReportWeightInfoReturnInfo { returnCode = "0001", sortingChute = "0", returnDesc = "返回为空。" };
                    }
                }
                return new ReportWeightInfoReturnInfo { ReturnCode = "0001", SortingChute = "0", ReturnDesc = "返回为空。" };
                return new ReportWeightInfoReturnInfo { returnCode = "0001", sortingChute = "0", returnDesc = "返回为空。" };
            }
            /// <summary>
@@ -2087,12 +2224,12 @@
            /// </summary>
            public class ReportWeightInfoRequest
            {
                public ReportWeightInfoData Data { get; set; }
                public ReportWeightInfoData data { get; set; }
            }
            public class ReportWeightInfoData
            {
                public ReportWeightInfoHeader Header { get; set; }
                public ReportWeightInfoHeader header { get; set; }
            }
            public class ReportWeightInfoHeader
@@ -2100,37 +2237,37 @@
                /// <summary>
                /// ç»„织编号 - ä¸»é”®ï¼Œé»˜è®¤MERCURY
                /// </summary>
                public string OrganizationId { get; set; } = "MERCURY";
                public string organizationId { get; set; } = "MERCURY";
                /// <summary>
                /// ä»“库编号 - ä¸»é”®ï¼Œé»˜è®¤HN02
                /// </summary>
                public string WarehouseId { get; set; } = "HN02";
                public string warehouseId { get; set; } = "HN02";
                /// <summary>
                /// é¢å•号 - ä¸»é”®
                /// </summary>
                public string DeliveryNo { get; set; }
                public string deliveryNo { get; set; }
                /// <summary>
                /// é‡é‡(kg)
                /// </summary>
                public decimal GrossWeight { get; set; }
                public decimal grossWeight { get; set; }
                /// <summary>
                /// ä½“积(立方厘米)
                /// </summary>
                public decimal Cube { get; set; }
                public decimal cube { get; set; }
                /// <summary>
                /// åˆ›å»ºæ—¶é—´
                /// </summary>
                public DateTime AddTime { get; set; }
                public string addTime { get; set; }
                /// <summary>
                /// åˆ›å»ºè®¾å¤‡
                /// </summary>
                public string AddWho { get; set; }
                public string addWho { get; set; }
                // ... UDF字段
            }
@@ -2153,7 +2290,7 @@
                /// <summary>
                /// åˆ†æ‹£é“口 - è¾“送线快速分拣道口编码
                /// </summary>
                public string SortingChute { get; set; }
                public string sortingChute { get; set; }
            }
        }
HnSx/Build/Project/´úÂë/¼¯³É»¥Áª.cs
@@ -34,7 +34,6 @@
        {
            string[] allKeys = System.Configuration.ConfigurationManager.AppSettings.AllKeys;
        log默认日志 = new GZ.Modular.Log.NLogger("NLogger",7,"",true,"mongodb://localhost:27017?connectTimeoutMS=3000&socketTimeoutMS=5000","HnSx");
        }
    }
}
HnSx/HnSx.json
@@ -9,5 +9,5 @@
  "DevelopVersion": "1.0.6.0",
  "Encode": "1bKKzS3nmbstyerHBqNS0Q==",
  "CreationTime": "0001-01-01 00:00:00",
  "LastWriteTime": "2025-07-04 14:55:05"
  "LastWriteTime": "2025-07-07 14:06:11"
}
HnSx/Views/View.json
@@ -125,9 +125,36 @@
      ],
      "Events": [],
      "Commands": []
    },
    {
      "ID": "20250707140603998",
      "Name": "View2",
      "Desc": "",
      "Directory": "/",
      "FilePath": "/View2.xaml",
      "FileName": "View2.xaml",
      "Content": "",
      "ParentID": "",
      "Children": [],
      "Type": "View",
      "IsStartup": false,
      "IsMainForm": false,
      "Controls": [
        {
          "Name": "",
          "Type": "Canvas",
          "FullType": "",
          "Assembly": "",
          "Events": [],
          "Commands": []
        }
      ],
      "NamedControls": [],
      "Events": [],
      "Commands": []
    }
  ],
  "Layouts": [],
  "CreationTime": "2025-07-01 10:23:38",
  "LastWriteTime": "2025-07-04 08:35:29"
  "LastWriteTime": "2025-07-07 14:06:11"
}
HnSx/Views/View1.xaml
@@ -1,4 +1,4 @@
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" Height="480">
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" Height="480" x:Class="GZ.Projects.HnSx.View1" xmlns:local="clr-namespace:GZ.Projects.HnSx">
  <Grid>
    <TabControl>
      <TabControl.Resources>
@@ -28,7 +28,7 @@
            <TextBlock Foreground="Orange" Text="emmm" />
          </StackPanel>
        </TabItem.Header>
        <TextBlock HorizontalAlignment="Center" FontFamily="Courier New" Text="888888888888" TextWrapping="Wrap" />
        <TextBlock HorizontalAlignment="Center" FontFamily="Courier New" Text="&#xA;&#xD;&#xA;////////////////////////////////////////////////////////////////////&#xA;&#xD;&#xA;//                          _ooOoo_                               //&#xA;&#xD;&#xA;//                         o8888888o                              //&#xA;&#xD;&#xA;//                         88' ã€‚ '88                              //&#xA;&#xD;&#xA;//                         (| ^_^ |)                              //&#xA;&#xD;&#xA;//                         O\  =  /O                              //&#xA;&#xD;&#xA;//                      ____/`---'\____                           //&#xA;&#xD;&#xA;//                    .'  \\|     |//  `.                         //&#xA;&#xD;&#xA;//                   /  \\|||  :  |||//  \                        //&#xA;&#xD;&#xA;//                  /  _||||| -:- |||||-  \                       //&#xA;&#xD;&#xA;//                  |   | \\\  -  /// |   |                       //&#xA;&#xD;&#xA;//                  | \_|  ''\---/''  |   |                       //&#xA;&#xD;&#xA;//                  \  .-\__  `-`  ___/-. /                       //&#xA;&#xD;&#xA;//                ___`. .'  /--.--\  `. . ___                     //&#xA;&#xD;&#xA;//               .'' '《`.___\_《|》_/___.'  ã€‹'''.                    //&#xA;&#xD;&#xA;//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //&#xA;&#xD;&#xA;//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //&#xA;&#xD;&#xA;//      ========`-.____`-.___\_____/___.-`____.-'========         //&#xA;&#xD;&#xA;//                           `=---='                              //&#xA;&#xD;&#xA;//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //&#xA;&#xD;&#xA;//           ä½›ç¥–保佑       æ°¸æ— BUG     æ°¸ä¸ä¿®æ”¹                     //&#xA;&#xD;&#xA;////////////////////////////////////////////////////////////////////" TextWrapping="Wrap" />
      </TabItem>
      <TabItem>
        <TabItem.Header>
HnSx/Views/View2.xaml
New file
@@ -0,0 +1,3 @@
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" Height="480">
  <Canvas />
</Window>