xiaojiao
2026-01-24 c5f01e9a882b16f534166d033312c5c8ba8d94dd
ÏîÄ¿´úÂë/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/InboundStationAction.cs
@@ -1,13 +1,17 @@
using HslCommunication;
using Microsoft.EntityFrameworkCore;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.LogEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.Tools;
using WIDESEA_Core.Extensions;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Services;
@@ -108,17 +112,28 @@
                              || wcsInfo.wcstask_type == TaskType.TaskType_ErrorCheckBackIn.ToString()
                                || wcsInfo.wcstask_type == TaskType.TaskType_CheckBackIn.ToString()
                            )
                        {
                            state = TaskState.TaskState_ConveyorLineFinish.ToString();
                        }
                        //测量回库
                        else if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Back.ToString() && wcsInfo.wcstask_state == TaskState.TaskState_Measure_Back_Line_Executing.ToString())
                        {
                            state = TaskState.TaskState_Measure_Back_Line_Finished.ToString();
                        }
                        WebResponseContent content = WMSApi.PostTaskStateToWMS(barcode, state);
                        if (content.Status)
                        {
                            Dt_TaskRGVinfo _tmpRgvInfo = taskRGVinfoRepository.FindFirst(x => x.rgvtask_barCode == wcsInfo.wcstask_barcode);
                            Dt_TaskRGVinfo _tmpRgvInfo = taskRGVinfoRepository.FindFirst(x => x.rgvtask_barCode == wcsInfo.wcstask_barcode || x.rgvtask_wcsTaskNumber == wcsInfo.wcstask_taskNumber);
                            if (_tmpRgvInfo == null)
                            {
                                //LogRecord.WriteLog(LogEnum.InBound, "因为担心rgv会重复生成任");
                                try
                                {
                                    // åŠ ä¸ªæ—¥å¿—
                                    // æ‰˜ç›˜å— ä»»åŠ¡å· wcs任务状态
                                    //LogRecord.WriteLog(LogEnum.RGV, $"接受到RGV上报的任务状态:任务号:{taskId},小车编号:{rgvId},任务状态:{taskStatus}");
                                    LogRecord.WriteLog(LogEnum.InBound, $"因为担心rgv会重复生成任务,这里要做一个记录,托盘码【{wcsInfo.wcstask_barcode}】 ä»»åŠ¡å·ã€{wcsInfo.wcstask_taskNumber}】,任务状态:【{wcsInfo.wcstask_state}】");
                                //在此生成RGV任务
                                Dt_TaskRGVinfo rgvInfo = new Dt_TaskRGVinfo();
                                rgvInfo.rgvtask_taskId = GetTaskNumber.GetRgvTaskNumber(taskRGVinfoRepository).ToString();
@@ -132,6 +147,15 @@
                                rgvInfo.rgvtask_msgTime = DateTime.Now;
                                rgvInfo.rgvtask_areaCode = "InboundArea";
                                taskRGVinfoRepository.Add(rgvInfo, true);
                                }
                                catch (Exception x)
                                {
                                    string str = $"这里报错了 åº”该是添加了重复的托盘号,托盘码【{wcsInfo.wcstask_barcode}】" +
                                        $"任务号【{wcsInfo.wcstask_taskNumber}】,任务状态:【{wcsInfo.wcstask_state}】错误信息【{x.Message}】";
                                    LogRecord.WriteLog(LogEnum.Errer, str.ToString());
                                    throw;
                                }
                            }
                            wcsInfo.wcstask_state = state;
                            wcsInfo.wcstask_dispatcherTime = DateTime.Now;
@@ -152,7 +176,7 @@
        }
        //public static
        /// <summary>
        /// å‡ºåº“测量任务,当穿梭车放货后的处理逻辑
        /// </summary>