huangxiaoqiang
2025-04-21 511560d9249cf302c837fcbb4d93645af184d69e
优化查询任务方法
已修改7个文件
65 ■■■■ 文件已修改
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -110,6 +110,13 @@
        /// <returns></returns>
        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress);
        /// <summary>
        /// 根据设备编号、当前地址、托盘号查询输送线未执行的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress,string Barcode);
        /// <summary>
        /// 根据设备编号、当前地址查询输送线未执行的任务
@@ -136,6 +143,14 @@
        Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress);
        /// <summary>
        /// 根据任务号、下一地址查询输送线执行中的任务
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="nextAddress">下一地址</param>
        /// <returns></returns>
        Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress,string Barcode);
        /// <summary>
        /// 根据托盘号、下一地址查询输送线执行中的任务
        /// </summary>
        /// <param name="taskNum">任务号</param>
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>E:\GET\BaiBuSanLouNew\CodeManagement\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Debug\net6.0\publish\</_PublishTargetUrl>
    <History>True|2025-04-18T02:22:32.9554647Z||;True|2025-04-18T09:51:29.1384947+08:00||;True|2025-04-18T09:46:26.7326043+08:00||;True|2025-04-18T09:43:19.2433438+08:00||;False|2025-04-18T09:42:10.6513617+08:00||;True|2025-04-17T16:04:03.4011403+08:00||;True|2025-04-17T16:00:41.6595004+08:00||;True|2025-04-17T14:49:41.2104816+08:00||;True|2025-04-17T14:27:37.3613209+08:00||;True|2025-04-17T13:55:36.7316380+08:00||;True|2025-04-17T13:10:06.6039892+08:00||;True|2025-04-17T12:07:35.7350054+08:00||;True|2025-04-17T11:00:00.9151591+08:00||;True|2025-04-17T10:57:57.3417841+08:00||;True|2025-04-17T10:47:23.2976245+08:00||;True|2025-04-17T10:41:39.7210960+08:00||;True|2025-04-17T10:19:33.9192570+08:00||;True|2025-04-17T10:16:34.7379074+08:00||;True|2025-04-17T10:08:53.3641425+08:00||;True|2025-04-17T09:53:51.9356344+08:00||;True|2025-03-27T13:37:49.9939026+08:00||;True|2025-03-27T13:29:20.1926150+08:00||;True|2025-03-26T23:19:20.7301591+08:00||;True|2025-03-26T23:17:14.1194337+08:00||;True|2025-03-26T23:06:39.1521743+08:00||;True|2025-03-26T22:45:13.0771457+08:00||;True|2025-03-26T15:49:56.7831444+08:00||;True|2025-03-26T11:17:59.8156703+08:00||;True|2025-03-25T10:07:06.2413400+08:00||;True|2025-03-24T22:07:19.1662430+08:00||;True|2025-03-24T17:46:50.5366700+08:00||;True|2025-03-23T22:21:52.3680226+08:00||;True|2025-03-23T22:04:03.0344904+08:00||;True|2025-03-23T18:11:25.3235647+08:00||;True|2025-03-23T16:46:42.6441101+08:00||;True|2025-03-22T17:15:44.8475192+08:00||;True|2025-03-22T16:40:56.2937788+08:00||;True|2025-03-22T16:16:19.5470008+08:00||;True|2025-03-22T15:49:39.1178646+08:00||;True|2025-03-22T15:44:56.2071472+08:00||;True|2025-03-22T15:38:57.0439012+08:00||;True|2025-03-22T15:02:20.9416020+08:00||;True|2025-03-22T14:33:13.6730569+08:00||;True|2025-03-21T23:34:47.6039521+08:00||;True|2025-03-21T02:10:54.8314020+08:00||;True|2025-03-18T16:25:46.4649995+08:00||;True|2025-02-19T11:41:36.9348078+08:00||;True|2025-02-18T18:28:41.9967285+08:00||;True|2025-02-18T18:25:36.2264950+08:00||;True|2025-02-18T10:30:56.5234743+08:00||;True|2025-02-15T15:24:40.7310549+08:00||;True|2025-02-15T14:26:13.5854743+08:00||;True|2025-02-15T14:23:09.9103735+08:00||;True|2025-02-15T14:11:58.0255348+08:00||;True|2025-02-15T13:55:31.3438054+08:00||;True|2025-02-15T13:47:31.3307267+08:00||;True|2025-02-15T13:46:24.9001959+08:00||;True|2025-02-15T13:23:47.4161644+08:00||;True|2025-02-15T13:10:20.4988808+08:00||;True|2025-02-15T13:05:10.7619905+08:00||;True|2025-02-15T12:55:42.2397751+08:00||;True|2025-02-15T12:43:42.1819119+08:00||;True|2025-02-15T10:19:42.3871047+08:00||;True|2025-01-03T16:15:25.4007394+08:00||;True|2025-01-03T15:59:55.6586669+08:00||;True|2025-01-03T15:58:54.7953589+08:00||;True|2025-01-03T15:54:46.8938743+08:00||;True|2025-01-03T15:30:32.7439557+08:00||;True|2025-01-03T15:27:53.2337341+08:00||;True|2025-01-03T15:24:30.7045349+08:00||;True|2025-01-02T14:13:36.7820311+08:00||;</History>
    <History>True|2025-04-21T07:19:45.4644293Z||;True|2025-04-21T14:45:38.3552372+08:00||;True|2025-04-21T14:44:01.6152039+08:00||;True|2025-04-21T14:22:37.4989518+08:00||;True|2025-04-18T10:22:32.9554647+08:00||;True|2025-04-18T09:51:29.1384947+08:00||;True|2025-04-18T09:46:26.7326043+08:00||;True|2025-04-18T09:43:19.2433438+08:00||;False|2025-04-18T09:42:10.6513617+08:00||;True|2025-04-17T16:04:03.4011403+08:00||;True|2025-04-17T16:00:41.6595004+08:00||;True|2025-04-17T14:49:41.2104816+08:00||;True|2025-04-17T14:27:37.3613209+08:00||;True|2025-04-17T13:55:36.7316380+08:00||;True|2025-04-17T13:10:06.6039892+08:00||;True|2025-04-17T12:07:35.7350054+08:00||;True|2025-04-17T11:00:00.9151591+08:00||;True|2025-04-17T10:57:57.3417841+08:00||;True|2025-04-17T10:47:23.2976245+08:00||;True|2025-04-17T10:41:39.7210960+08:00||;True|2025-04-17T10:19:33.9192570+08:00||;True|2025-04-17T10:16:34.7379074+08:00||;True|2025-04-17T10:08:53.3641425+08:00||;True|2025-04-17T09:53:51.9356344+08:00||;True|2025-03-27T13:37:49.9939026+08:00||;True|2025-03-27T13:29:20.1926150+08:00||;True|2025-03-26T23:19:20.7301591+08:00||;True|2025-03-26T23:17:14.1194337+08:00||;True|2025-03-26T23:06:39.1521743+08:00||;True|2025-03-26T22:45:13.0771457+08:00||;True|2025-03-26T15:49:56.7831444+08:00||;True|2025-03-26T11:17:59.8156703+08:00||;True|2025-03-25T10:07:06.2413400+08:00||;True|2025-03-24T22:07:19.1662430+08:00||;True|2025-03-24T17:46:50.5366700+08:00||;True|2025-03-23T22:21:52.3680226+08:00||;True|2025-03-23T22:04:03.0344904+08:00||;True|2025-03-23T18:11:25.3235647+08:00||;True|2025-03-23T16:46:42.6441101+08:00||;True|2025-03-22T17:15:44.8475192+08:00||;True|2025-03-22T16:40:56.2937788+08:00||;True|2025-03-22T16:16:19.5470008+08:00||;True|2025-03-22T15:49:39.1178646+08:00||;True|2025-03-22T15:44:56.2071472+08:00||;True|2025-03-22T15:38:57.0439012+08:00||;True|2025-03-22T15:02:20.9416020+08:00||;True|2025-03-22T14:33:13.6730569+08:00||;True|2025-03-21T23:34:47.6039521+08:00||;True|2025-03-21T02:10:54.8314020+08:00||;True|2025-03-18T16:25:46.4649995+08:00||;True|2025-02-19T11:41:36.9348078+08:00||;True|2025-02-18T18:28:41.9967285+08:00||;True|2025-02-18T18:25:36.2264950+08:00||;True|2025-02-18T10:30:56.5234743+08:00||;True|2025-02-15T15:24:40.7310549+08:00||;True|2025-02-15T14:26:13.5854743+08:00||;True|2025-02-15T14:23:09.9103735+08:00||;True|2025-02-15T14:11:58.0255348+08:00||;True|2025-02-15T13:55:31.3438054+08:00||;True|2025-02-15T13:47:31.3307267+08:00||;True|2025-02-15T13:46:24.9001959+08:00||;True|2025-02-15T13:23:47.4161644+08:00||;True|2025-02-15T13:10:20.4988808+08:00||;True|2025-02-15T13:05:10.7619905+08:00||;True|2025-02-15T12:55:42.2397751+08:00||;True|2025-02-15T12:43:42.1819119+08:00||;True|2025-02-15T10:19:42.3871047+08:00||;True|2025-01-03T16:15:25.4007394+08:00||;True|2025-01-03T15:59:55.6586669+08:00||;True|2025-01-03T15:58:54.7953589+08:00||;True|2025-01-03T15:54:46.8938743+08:00||;True|2025-01-03T15:30:32.7439557+08:00||;True|2025-01-03T15:27:53.2337341+08:00||;True|2025-01-03T15:24:30.7045349+08:00||;True|2025-01-02T14:13:36.7820311+08:00||;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -291,6 +291,17 @@
            return task;
        }
        public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress,string Barcode)
        {
            Dt_Task task = null;
            task = BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.CurrentAddress == currentAddress && x.PalletCode == Barcode, TaskOrderBy);
            if (task == null)
            {
                task = BaseDal.QueryFirst(x => x.Roadway == currentAddress && x.TaskType == (int)TaskOutboundTypeEnum.TrayInToOut && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.PalletCode == Barcode, TaskOrderBy);
            }
            return task;
        }
        /// <summary>
        /// 根据设备编号、当前地址查询输送线未执行的任务
        /// </summary>
@@ -324,6 +335,11 @@
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
        }
        public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress,string Barcode)
        {
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) && x.PalletCode == Barcode, TaskOrderBy);
        }
        /// <summary>
        /// 根据任务号、当前地址查询输送线完成的任务
        /// </summary>
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -392,7 +392,8 @@
                }
                else
                {
                    var taskInTray = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                    //var taskInTray = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                    var taskInTray = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode,command.Barcode);
                    if (taskInTray != null && taskInTray.TaskType == (int)TaskInboundTypeEnum.InTray)
                    {
                        RequestInNextAddress(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
@@ -493,7 +494,8 @@
            _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
            WriteInfo(conveyorLine.DeviceName, log);
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
            //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode);
            if (task != null)
            {
                if (command.Barcode == task.PalletCode)
@@ -543,7 +545,8 @@
                _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
                WriteInfo(conveyorLine.DeviceName, log);
                var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                //var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode);
                if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
                {
                    if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
@@ -601,6 +604,7 @@
            {
                // 查询输送线任务,根据输送线设备和子设备代码获取任务信息
                var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                //var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.Barcode);
                // 输出成功信息,包括输送线名称、任务号、托盘条码和子设备代码,以及任务信息
                var logs = $"【{conveyorLine._deviceName}】任务号:【{command.TaskNum}】,托盘条码:【{command.Barcode}】已到达【{childDeviceCode}】输送线请求出库,task{task.ToJsonString()}";
@@ -665,7 +669,8 @@
            WriteInfo(conveyorLine.DeviceName, log);
            // 查询正在执行的输送线任务,根据任务号和子设备代码获取任务信息
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
            //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode);
            // 如果任务存在
            if (task != null)
@@ -726,7 +731,8 @@
                WriteInfo(conveyorLine.DeviceName, logs);
                // 查询正在执行的输送线任务
                var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                //var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
                var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode);
                // 如果任务存在
                if (task != null)
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -200,7 +200,8 @@
            var content = CreateAndSendTask(taskDTO);
            if (content.Status)
            {
                var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                //var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.Barcode);
                if (task != null)
                {
                    var next = task.NextAddress;
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -241,7 +241,8 @@
        /// <param name="childDeviceCode">子设备编号</param>
        public void RequestInNextAddress(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
        {
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
            //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode, command.ConveyorLineBarcode);
            if (task != null)
            {
                if (command.ConveyorLineBarcode != task.PalletCode)
@@ -297,6 +298,7 @@
        public void RequestOutbound(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
        {
            var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
            //var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.ConveyorLineBarcode);
            if (task != null)
            {
                //ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
@@ -325,7 +327,8 @@
        /// <param name="childDeviceCode">子设备编号</param>
        public void RequestOutNextAddress(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
        {
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
            //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode, command.ConveyorLineBarcode);
            if (task != null)
            {
                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -396,7 +399,8 @@
        {
            try
            {
                var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
                //var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
                var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode, command.ConveyorLineBarcode);
                if (task != null)
                {
                    WebResponseContent content = new WebResponseContent();
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs
@@ -371,7 +371,8 @@
                var content = CreateAndSendTask(taskDTO);
                if (content.Status)
                {
                    var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                    //var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                    var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.ConveyorLineBarcode);
                    if (task != null)
                    {
                        //var taskCommand = MapTaskCommand(task, command);