dengjunjie
5 天以前 f40ba2a9fb9d3c2ece08e9a7cd987d4744dccab2
优化库内移库,堆垛机和穿梭车交互逻辑
已删除2个文件
已修改15个文件
已添加4个文件
已重命名3个文件
108 ■■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/25585229-6bad-4cdd-9b1f-5629949b9da7.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/445ff65e-2052-4f6c-8f42-c1beeaccfb2d.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6d478573-69d5-4e15-a862-2f3ae6d039ff.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a2f1f49a-fc73-487d-98bb-d2eebec01318.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bb49972a-b044-4a21-ac51-b32604fe6d49.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d5eeaae2-4865-409f-b83a-bf42477f0c8a.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a404cf44-bf45-4800-bacc-70b82a705411.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/HierarchyCache.v1.txt 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/fileList.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/WCS系统说明.doc 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/WMS系统说明.docx 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/25585229-6bad-4cdd-9b1f-5629949b9da7.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/445ff65e-2052-4f6c-8f42-c1beeaccfb2d.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6d478573-69d5-4e15-a862-2f3ae6d039ff.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a2f1f49a-fc73-487d-98bb-d2eebec01318.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bb49972a-b044-4a21-ac51-b32604fe6d49.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d5eeaae2-4865-409f-b83a-bf42477f0c8a.vsidx
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs
@@ -67,7 +67,7 @@
            else if (type == typeof(CarChargingTaskEnum))
            {
                List<int> taskInboundTypes = type.GetEnumIndexList();
                return taskInboundTypes.Where(x => x > currentStatus && x < (int)CarChargingTaskEnum.RelocationCarFinish).OrderBy(x => x).FirstOrDefault();
                return taskInboundTypes.Where(x => x > currentStatus && x < (int)CarChargingTaskEnum.CarChargingFinish).OrderBy(x => x).FirstOrDefault();
            }
            else
            {
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs
@@ -235,49 +235,49 @@
        /// æ–°å»ºå……电任务
        /// </summary>
        [Description("新建充电任务")]
        CarNew = 500,
        CarChargingNew = 500,
        /// <summary>
        /// ç©¿æ¢­è½¦å›žé›¶ä¸­
        /// </summary>
        [Description("穿梭车回零中")]
        ShuttleCar_Executing = 510,
        CarCharging_Executing = 510,
        /// <summary>
        /// ç©¿æ¢­è½¦å›žé›¶å®Œæˆ
        /// </summary>
        [Description("穿梭车回零完成")]
        ShuttleCar_Finish = 520,
        CarCharging_Finish = 520,
        /// <summary>
        /// å †åž›æœºç§»è½¦æ‰§è¡Œä¸­
        /// </summary>
        [Description("堆垛机移车执行中")]
        SC_CarExecuting = 530,
        CarChargingSC_CarExecuting = 530,
        /// <summary>
        /// å †åž›æœºç§»è½¦å®Œæˆ
        /// </summary>
        [Description("堆垛机移车完成")]
        SC_CarFinish = 540,
        CarChargingSC_CarFinish = 540,
        /// <summary>
        /// ç©¿æ¢­è½¦å……电中
        /// </summary>
        [Description("穿梭车充电中")]
        ShuttleCar_Charging = 550,
        CarCharging_Charging = 550,
        /// <summary>
        /// ç©¿æ¢­è½¦å……电完成
        /// </summary>
        [Description("穿梭车充电完成")]
        ShuttleCar_ChargingFinish = 560,
        CarCharging_ChargingFinish = 560,
        /// <summary>
        /// å……电完成
        /// </summary>
        [Description("充电完成")]
        RelocationCarFinish = 590,
        CarChargingFinish = 590,
    }
    /// <summary>
    /// ç§»åº“任务状态
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -153,6 +153,11 @@
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "");
        /// <summary>
        /// æŸ¥è¯¢ç©¿æ¢­è½¦å‡ºåº“完成任务
        /// </summary>
        /// <returns></returns>
        Dt_Task QueryCarOutFinish();
        /// <summary>
        /// æŸ¥è¯¢ç©¿æ¢­è½¦å‡ºå…¥åº“任务
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -6,7 +6,7 @@
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>E:\IISText\芜湖三一\WCS</_PublishTargetUrl>
    <History>True|2025-05-20T03:49:19.9344988Z;True|2025-05-19T16:43:32.2157734+08:00;True|2025-05-19T16:12:01.9378787+08:00;True|2025-05-15T16:58:47.2930537+08:00;True|2025-05-15T13:17:15.3596644+08:00;True|2025-05-15T13:11:17.2616075+08:00;True|2025-05-15T12:57:49.7942020+08:00;True|2025-05-15T12:38:37.7925022+08:00;True|2025-05-15T12:28:15.6975809+08:00;True|2025-05-15T11:44:00.9991686+08:00;True|2025-05-15T10:37:45.5900920+08:00;True|2025-05-14T11:31:54.9438366+08:00;True|2025-05-14T09:59:15.2570833+08:00;True|2025-05-14T09:57:55.8054307+08:00;True|2025-05-14T09:39:18.3194886+08:00;True|2025-05-13T17:13:53.4476748+08:00;True|2025-05-13T15:21:11.2441407+08:00;True|2025-05-13T10:39:40.0223843+08:00;True|2025-05-09T11:16:41.1746344+08:00;True|2025-04-27T19:58:33.9706872+08:00;True|2025-04-27T14:52:52.9853720+08:00;True|2025-04-21T17:54:03.6534614+08:00;True|2025-04-19T10:28:25.0898569+08:00;True|2025-04-17T14:04:50.3243452+08:00;True|2025-03-27T16:23:43.2657011+08:00;True|2025-03-25T12:01:47.0052741+08:00;True|2025-02-14T17:36:18.5767695+08:00;True|2025-02-14T14:39:49.5856199+08:00;</History>
    <History>True|2025-06-17T07:08:30.3988621Z;True|2025-06-17T11:49:45.7757057+08:00;False|2025-06-17T11:46:12.2872897+08:00;True|2025-06-17T11:14:34.8780060+08:00;True|2025-06-17T10:58:01.4890300+08:00;True|2025-05-20T11:49:19.9344988+08:00;True|2025-05-19T16:43:32.2157734+08:00;True|2025-05-19T16:12:01.9378787+08:00;True|2025-05-15T16:58:47.2930537+08:00;True|2025-05-15T13:17:15.3596644+08:00;True|2025-05-15T13:11:17.2616075+08:00;True|2025-05-15T12:57:49.7942020+08:00;True|2025-05-15T12:38:37.7925022+08:00;True|2025-05-15T12:28:15.6975809+08:00;True|2025-05-15T11:44:00.9991686+08:00;True|2025-05-15T10:37:45.5900920+08:00;True|2025-05-14T11:31:54.9438366+08:00;True|2025-05-14T09:59:15.2570833+08:00;True|2025-05-14T09:57:55.8054307+08:00;True|2025-05-14T09:39:18.3194886+08:00;True|2025-05-13T17:13:53.4476748+08:00;True|2025-05-13T15:21:11.2441407+08:00;True|2025-05-13T10:39:40.0223843+08:00;True|2025-05-09T11:16:41.1746344+08:00;True|2025-04-27T19:58:33.9706872+08:00;True|2025-04-27T14:52:52.9853720+08:00;True|2025-04-21T17:54:03.6534614+08:00;True|2025-04-19T10:28:25.0898569+08:00;True|2025-04-17T14:04:50.3243452+08:00;True|2025-03-27T16:23:43.2657011+08:00;True|2025-03-25T12:01:47.0052741+08:00;True|2025-02-14T17:36:18.5767695+08:00;True|2025-02-14T14:39:49.5856199+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs
@@ -61,9 +61,9 @@
                            break;
                        case 10://充电完成
                            {
                                if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTaskEnum.ShuttleCar_Charging)//移车充电
                                if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTaskEnum.CarCharging_Charging)//移车充电
                                {
                                    task.TaskState = CarChargingTaskEnum.RelocationCarFinish.ObjToInt();
                                    task.TaskState = CarChargingTaskEnum.CarChargingFinish.ObjToInt();
                                    AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete);
                                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"穿梭车充电完成");
                                }
@@ -77,9 +77,9 @@
                                    task.TaskState = TaskCarStatusEnum.ShuttleCar_Finish.ObjToInt();
                                    UpdateData(task);
                                }
                                else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.ShuttleCar_Executing.ObjToInt())//移车充电
                                else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.CarCharging_Executing.ObjToInt())//移车充电
                                {
                                    task.TaskState = CarChargingTaskEnum.ShuttleCar_Finish.ObjToInt();
                                    task.TaskState = CarChargingTaskEnum.CarCharging_Finish.ObjToInt();
                                    UpdateData(task);
                                }
                            }
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs
@@ -108,7 +108,7 @@
                        BaseDal.UpdateData(task);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机移车完成");
                    }
                    else if (task.TaskState == (int)CarChargingTaskEnum.SC_CarExecuting)
                    else if (task.TaskState == (int)CarChargingTaskEnum.CarChargingSC_CarExecuting)
                    {
                        int nextStatus = task.TaskState.GetNextNotCompletedStatus<CarChargingTaskEnum>();
                        task.TaskState = nextStatus;
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -273,6 +273,11 @@
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && !string.IsNullOrEmpty(x.NextAddress) && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        public Dt_Task QueryCarOutFinish()
        {
            Dt_Task? _Task = BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish, TaskOrderBy);
            return _Task;
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
@@ -436,7 +441,7 @@
                    }
                    else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
                    {
                        if (task.TaskState >= (int)CarChargingTaskEnum.RelocationCarFinish)
                        if (task.TaskState >= (int)CarChargingTaskEnum.CarChargingFinish)
                        {
                            return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                        }
@@ -641,12 +646,12 @@
            {
                if (!string.IsNullOrEmpty(SourceAddress) && SourceAddress != "")
                {
                    Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt());
                    Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress && (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() || x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt()));
                    if (task != null) return;
                }
                if (!string.IsNullOrEmpty(TargetAddress) && TargetAddress != "")
                {
                    Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt());
                    Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress && (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() || x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt()));
                    if (task != null) return;
                }
                #region åˆ›å»ºå †åž›æœºç§»è½¦ä»»åŠ¡
@@ -662,12 +667,12 @@
                    NextAddress = TargetAddress,
                    CreateDate = DateTime.Now,
                    Creater = "WCS",
                    TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarNew,
                    TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarChargingNew,
                    ShuttleCarCode = ShuttleCarCode,
                    WMSId = 0,
                    Remark = remark
                };
                if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.SC_CarFinish;
                if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.CarChargingSC_CarFinish;
                AddData(dt_Task);
                #endregion
            }
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs
@@ -31,7 +31,7 @@
                UpdateShuttleCar(dt_Task.ShuttleCarCode, dt_Task.CurrentAddress);
                _taskService.AddTask_Hty(dt_Task, TaskOperateTypeEnum.AutoComplete);
            }
            dt_Task = GetTask(CarChargingTaskEnum.SC_CarFinish.ObjToInt(), TaskOtherTypeEnum.RelocationCarCharging.ObjToInt());//移车充电任务
            dt_Task = GetTask(CarChargingTaskEnum.CarChargingSC_CarFinish.ObjToInt(), TaskOtherTypeEnum.RelocationCarCharging.ObjToInt());//移车充电任务
            if (dt_Task != null)
            {
                UpdateShuttleCar(dt_Task.ShuttleCarCode, dt_Task.CurrentAddress);
@@ -74,7 +74,7 @@
            {
                #region èŽ·å–æ–°å»ºç§»è½¦å……ç”µä»»åŠ¡
                Dt_Task dt_Task = GetTask((int)CarChargingTaskEnum.CarNew, (int)TaskOtherTypeEnum.RelocationCarCharging);
                Dt_Task dt_Task = GetTask((int)CarChargingTaskEnum.CarChargingNew, (int)TaskOtherTypeEnum.RelocationCarCharging);
                if (dt_Task != null && dt_Task.ShuttleCarCode == shuttleCar.DeviceCode)
                {
                    if (!string.IsNullOrEmpty(dt_Task.SourceAddress) && !string.IsNullOrEmpty(dt_Task.TargetAddress) && !string.IsNullOrEmpty(dt_Task.ShuttleCarCode))
@@ -210,11 +210,31 @@
            if (command.Status == (short)ShuttleCarStatus.Standby && command.TaskTypeComplete == (short)ShuttleCarTaskComplete.Standby && command.Err_Status == (short)ShuttleCarErr.Normal)
            {
                #region åˆ¤æ–­å½“前穿梭车是否存在任务
                Dt_Task? _Task = _taskRepository.QueryFirst(x =>
                x.SourceAddress == _ShuttleCar.ShuttleCarPosition ||
                x.TargetAddress == _ShuttleCar.ShuttleCarPosition &&
                (!_taskService.TaskOutboundTypes.Contains(x.TaskType)));
                if (_Task != null) return (ok, _ShuttleCar);
                Dt_Task? _Task = _taskRepository.QueryFirst(x => x.SourceAddress == _ShuttleCar.ShuttleCarPosition);
                if (_Task != null)
                {
                    if (_Task.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() ||
                        _Task.TaskState == TaskRelocationStatusEnum.RelocationNew.ObjToInt() ||
                        _Task.TaskState == TaskCarStatusEnum.CarNew.ObjToInt() ||
                        _Task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt())
                    {
                        _Task.ShuttleCarCode = shuttleCar.DeviceCode;
                        SendTask(_Task);
                        return (ok, _ShuttleCar);
                    }
                }
                _Task = _taskRepository.QueryFirst(x => x.TargetAddress == _ShuttleCar.ShuttleCarPosition);
                if (_Task != null)
                {
                    if (_Task.TaskState == TaskInStatusEnum.SC_InFinish.ObjToInt() ||
                        _Task.TaskState == TaskRelocationStatusEnum.SC_RelocationFinish.ObjToInt() ||
                        _Task.TaskState == CarChargingTaskEnum.CarChargingSC_CarFinish.ObjToInt())
                    {
                        _Task.ShuttleCarCode = shuttleCar.DeviceCode;
                        SendTask(_Task);
                        return (ok, _ShuttleCar);
                    }
                }
                _Task = _taskRepository.QueryData(x => x.ShuttleCarCode == _ShuttleCar.ShuttleCarCode && _taskService.TaskOutboundTypes.Contains(x.TaskType)).OrderByDescending(x => x.CreateDate).FirstOrDefault();
                if (_Task != null)
                {
@@ -282,7 +302,7 @@
                    }
                    else if (task.TaskType == (int)TaskOtherTypeEnum.RelocationCarCharging)
                    {
                        shuttleCarTaskCommand.TaskType = task.TaskState == CarChargingTaskEnum.CarNew.ObjToInt() ?
                        shuttleCarTaskCommand.TaskType = task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt() ?
                            (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction) :
                            (short)GetCarTaskType(ShuttleCarTaskType.Charging.ToString());
                    }
@@ -299,7 +319,7 @@
                    {
                        if (shuttleCar.SendCommand(shuttleCarTaskCommand, shuttleCar.DeviceCode))
                        {
                            if (!string.IsNullOrEmpty(task.Remark) && task.TaskState == CarChargingTaskEnum.CarNew.ObjToInt())
                            if (!string.IsNullOrEmpty(task.Remark) && task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt())
                                task.Remark = task.Remark + "已下发";
                            task.TaskState = GetTaskState(task.TaskType, task.TaskState);
                            _taskService.UpdateData(task);
@@ -385,9 +405,9 @@
                    state = (int)TaskCarStatusEnum.ShuttleCar_Executing;
                    break;
                case (int)TaskOtherTypeEnum.RelocationCarCharging:
                    state = state < (int)CarChargingTaskEnum.SC_CarFinish ?
                        (int)CarChargingTaskEnum.ShuttleCar_Executing :
                        (int)CarChargingTaskEnum.ShuttleCar_Charging;
                    state = state < (int)CarChargingTaskEnum.CarChargingSC_CarFinish ?
                        (int)CarChargingTaskEnum.CarCharging_Executing :
                        (int)CarChargingTaskEnum.CarCharging_Charging;
                    break;
                default:
                    break;
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -91,7 +91,7 @@
                        if (common.RunStatus == (short)RunStatus.Standby)
                        {
                            var Task = _taskService.GetTaskState((int)TaskCarStatusEnum.ShuttleCar_Finish, (int)TaskOtherTypeEnum.RelocationCar);//获取移车任务
                            var Task1 = _taskService.GetTaskState((int)CarChargingTaskEnum.ShuttleCar_Finish, (int)TaskOtherTypeEnum.RelocationCarCharging);//获取移车充电任务
                            var Task1 = _taskService.GetTaskState((int)CarChargingTaskEnum.CarCharging_Finish, (int)TaskOtherTypeEnum.RelocationCarCharging);//获取移车充电任务
                            if (Task != null)
                            {
                                SendTask(commonStackerCrane, Task);
@@ -137,6 +137,10 @@
                                            else if (!task.TargetIsPickPlace && ShuttleCar == null)
                                            {
                                                _taskService.AddRelocationCarTask("", task.TargetAddress);
                                                #region æŸ¥è¯¢
                                                task = _taskService.QueryCarOutFinish();
                                                if (task != null) SendTask(commonStackerCrane, task);//下发堆垛机任务
                                                #endregion
                                            }
                                            else
                                            {
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs
@@ -67,6 +67,12 @@
                    else
                    {
                        Dt_ShuttleCar? shuttleCar1 = _shuttleCarService.QueryCode(task.ShuttleCarCode);
                        if (task.TaskType == TaskRelocationTypeEnum.Relocation.ObjToInt() && task.Remark == "")
                        {
                            shuttleCar1 = _shuttleCarService.QueryNoCode(task.ShuttleCarCode);
                            task.Remark = shuttleCar1.ShuttleCarCode;
                            _taskService.UpdateData(task);
                        }
                        if (shuttleCar1 != null)
                        {
                            ShuttleCar shuttleCar = Storage.Devices.FirstOrDefault(x => x.DeviceName == shuttleCar1.ShuttleCarName) as ShuttleCar;
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a404cf44-bf45-4800-bacc-70b82a705411.vsidx
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/HierarchyCache.v1.txt
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/fileList.bin
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -120,9 +120,9 @@
                        VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim());
                        if (vueDictionaryDTO != null)
                        {
                            vueDictionaryDTOs.Add(vueDictionaryDTO);
                            if (!_cacheService.Exists(item))
                            {
                                vueDictionaryDTOs.Add(vueDictionaryDTO);
                                _cacheService.Add(item, vueDictionaryDTO.Serialize());
                            }
                        }
ÏîÄ¿×ÊÁÏ/WCSϵͳ˵Ã÷.doc
Binary files differ
ÏîÄ¿×ÊÁÏ/WMSϵͳ˵Ã÷.docx
Binary files differ