From de3731f81b826c0188cb3dfc2a3ff0661db9c3d9 Mon Sep 17 00:00:00 2001 From: zhanghonglin <zhanghonglin@hnkhzn.com> Date: 星期五, 11 七月 2025 10:35:47 +0800 Subject: [PATCH] 注释 --- 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/StackerCraneJob_CP.cs | 14 +++++++++++++- 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPA.cs | 4 ++-- 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" index 8b55db4..1b446a7 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -745,6 +745,7 @@ /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns> public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "") { + //鍒ゆ柇鏄惁涓虹┖ if (string.IsNullOrEmpty(currentAddress)) return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy); else diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" index 8ac2c43..6bb8801 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPA.cs" @@ -66,9 +66,9 @@ { OtherDevice device = (OtherDevice)value; List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList(); - //鑾峰彇鏈夊崗璁殑杈撻�佺嚎 + //鑾峰彇鏈夊崗璁殑杈撻�佺嚎-z List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode); - //璁╂瘡涓緭閫佺嚎鍚姩 + //璁╂瘡涓緭閫佺嚎鍚姩-z foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode))) { DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs" index 067c53d..5b78678 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/StackerCraneJob_CP.cs" @@ -47,25 +47,32 @@ { try { + //鑾峰彇鎵�鏈夌殑鍫嗗灈鏈�-z CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { + //闃叉浠诲姟娌℃湁鎻愪氦瀹屾垚-z if (!commonStackerCrane.IsEventSubscribed) { commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 } commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆� + //鍒ゆ柇鏄惁鏈変俊鍙�-z if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) { + //鑾峰彇浠诲姟-z Dt_Task? task = GetTask(commonStackerCrane); if (task != null) { + //浠诲姟杞寲涓轰俊鍙峰噯澶囧啓鍏�-z StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); if (stackerCraneTaskCommand != null) { + //鎻愪氦淇″彿-z bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); if (sendFlag) { + //淇敼浠诲姟鐘舵��-z commonStackerCrane.LastTaskType = task.TaskType; task.Dispatchertime = DateTime.Now; task.ExceptionMessage = ""; @@ -166,6 +173,7 @@ private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane) { Dt_Task task; + //鑾峰彇浠诲姟(閲囩敤娣畨鐨勪唬鐮侊紝涓嶇敤绠¢噷闈㈠共浜嗕粈涔堬紝鏈�缁堢洰鐨勬槸鑾峰彇浠诲姟)-z if (commonStackerCrane.LastTaskType == null) { task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); @@ -189,9 +197,10 @@ } } } - + //鍑哄簱浠诲姟 if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { + //鍒ゆ柇鏄惁鑳芥煡璇㈠埌瀵瑰簲鐨勭珯鍙板苟淇敼浠诲姟涓嬩竴浣嶇疆-z if (OutTaskStationIsOccupied(task) != null || true) { return task; @@ -221,13 +230,16 @@ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { + //鏌ヨ瀵瑰簲鐨勭珯鍙�-z Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode); if (stationManger != null) { + //鏌ヨ瀵瑰簲鐨勮澶�-z IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); if (device != null) { OtherDevice client = (OtherDevice)device; + // 淇″彿 瀵瑰簲鐨勮澶�-z if (client.GetValue<R_ConveyorLineCPDB, short>(R_ConveyorLineCPDB.Command, stationManger.StationCode)==3)//鍑哄簱绔欏彴鏈鍗犵敤 { task.NextAddress = stationManger.StackerCraneStationCode; -- Gitblit v1.9.3