xiaojiao
6 小时以前 557f02072fa311eefe3123aa44afebac22adc465
ÏîÄ¿´úÂë/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/ReInboundRequestAction.cs
@@ -2,6 +2,7 @@
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Information;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -9,6 +10,7 @@
using System.Threading;
using WIDESEA_Common;
using WIDESEA_Common.CutomerModel;
using WIDESEA_Common.LogEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.Tools;
using WIDESEA_Core.Utilities;
@@ -181,9 +183,9 @@
                {
                    //判断是否有对应层的出库任务,
                    int Assrscount = executingTask.Count(x => x.wcstask_endLocation == wcsInfo.wcstask_startLocation 
                    && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
                    || x.wcstask_state == TaskState.TaskState_Assigned.ToString()
                    && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString() || x.wcstask_state == TaskState.TaskState_Assigned.ToString()
                    && x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString()));
                    if (Assrscount == 0)
                    {
                        ReInboundRequestStationAction(taskWCSinfoRepository, client, wcsInfo);
@@ -239,16 +241,49 @@
                    int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), lineCode).ToString());
                    if ((logicValue == 1 || logicValue == 2))
                    {
                        client.WriteValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_endPoint);
                        client.WriteValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_taskNumber);
                        // å½“提升机在动的时候不能
                        List<Dt_TaskWCSinfo> Assrscount = taskWCSinfoRepository.Find(x =>
                        x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
                        && x.wcstask_state != TaskState.TaskState_Assigned.ToString()
                        && x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString()
                        && (x.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString() || x.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString()));
                        if (Assrscount != null && Assrscount.Count > 0)
                        {
                            return;
                        }
                        bool R_Line_TargetPosition = client.WriteValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_endPoint);
                        bool R_Line_TaskNumber = client.WriteValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_taskNumber);
                        int TaskTarget = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo).ToString());
                        int TaskNumber = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo).ToString());
                        Console.WriteLine($"任务号:{wcsInfo.wcstask_taskNumber}," +
                                          $"任务托盘号【{wcsInfo.wcstask_barcode}】," +
                                          $"写入R_Line_TargetPosition是否成功:{R_Line_TargetPosition}," +
                                          $"需要写入的值:{wcsInfo.wcstask_endPoint}," +
                                          $"写入后读取的值:{TaskTarget}");
                        Console.WriteLine($"任务号:{wcsInfo.wcstask_taskNumber}," +
                                          $"任务托盘号【{wcsInfo.wcstask_barcode}】," +
                                          $"写入R_Line_TaskNumber是否成功:{R_Line_TaskNumber}," +
                                          $"需要写入的值:{wcsInfo.wcstask_taskNumber}," +
                                          $"写入后读取的值:{TaskNumber}");
                        if (TaskTarget == 0 || TaskNumber == 0 || TaskTarget.ToString() != wcsInfo.wcstask_endPoint.ToString() || TaskNumber != wcsInfo.wcstask_taskNumber) // å†™å…¥åŽ å¦‚果读取不到 é‚£å°±é‡æ–°å†™å…¥
                        {
                            client.WriteValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_endPoint);
                            client.WriteValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo, wcsInfo.wcstask_taskNumber);
                            int TaskTarget2 = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TargetPosition.ToString(), ReInboundRequestStationNo).ToString());
                            int TaskNumber2 = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), ReInboundRequestStationNo).ToString());
                            string strs = $"{DateTime.Now.ToString()}  90101空托入库信号值不对称,目的位置【{TaskTarget2}】,任务号【{TaskNumber2}】" +
                                        $"当前任务托盘号【{wcsInfo.wcstask_barcode}】" +
                                        $"任务号【{wcsInfo.wcstask_taskNumber}】" +
                                        $"目的位置【{wcsInfo.wcstask_endPoint}】" +
                                        $"任务状态【{wcsInfo.wcstask_state}】";
                            Console.WriteLine(strs);
                            LogRecord.WriteLog(LogEnum.Errer,  strs);
                        }
                        WriteTaskInfo.WriteTaskInfoAction(wcsInfo, client, lineCode);