xiaojiao
8 小时以前 557f02072fa311eefe3123aa44afebac22adc465
ÏîÄ¿´úÂë/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/InboundArea/OutboundStationAction.cs
@@ -1,11 +1,14 @@
using HslCommunication;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
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;
@@ -13,6 +16,7 @@
using WIDESEA_Services.Repositories;
using WIDESEA_Services.Services;
using WIDESEA_WCS.WCSClient;
using static System.Collections.Specialized.BitVector32;
namespace WIDESEA_WCS.Jobs.ConveyorLine.InboundArea
{
@@ -32,6 +36,32 @@
            }
        }
        // å†™ä¸€ä¸ªå¾ªçޝ å½“托盘放到出库区的出库缓存架的时候,就写入托盘号和任务号
        public static void Synchronizetraynumber(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client)
        {
            List<Dt_TaskWCSinfo> taskWCSinfo = taskWCSinfoRepository.Find(x =>
                  (x.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString() || x.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString()
                  || x.wcstask_type == TaskType.TaskType_CheckOutbound.ToString())
                  && x.wcstask_state == TaskState.TaskState_RGV_Finished.ToString()
                  && x.wcstask_endPoint == 20101.ToString()).ToList();
            foreach (var item in taskWCSinfo)
            {
                bool LoadSleep = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), item.wcstask_startPoint.ToString()).ToString());
                int ReadNumber = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_TaskNumber.ToString(), item.wcstask_startPoint.ToString()).ToString());
                int ReadBarcode = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), item.wcstask_startPoint.ToString()).ToString());
                if (LoadSleep && ReadBarcode == 0)
                {
                    //写入托盘条码
                    bool writeTaskNumber = client.WriteValue(CLineInfoDBName.W_Line_TaskNumber.ToString(), item.wcstask_startPoint, item.wcstask_taskNumber);
                    bool writeBarcode = client.WriteValue(CLineInfoDBName.W_Line_Barcode.ToString(), item.wcstask_startPoint, item.wcstask_barcode);
                    string str = $"入库区域出库,写入缓存架子同步托盘号和任务号 {DateTime.Now} {item.ToJson()}";
                    LogRecord.WriteLog(LogEnum.OutBound, str.ToString());
                }
            }
        }
        //应急模式下的内容
        public static void OutboundStationAction_YJ(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository,