LoadBasketTask.cs 2.1 KB
using CtuDeviceLib;
using Mushiny;
using OnlineStore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OnlineStore.Common;
namespace DeviceLibrary.CtuService.CtuTask
{
    internal class LoadBasketTask : CtuTaskBase
    {
        /// <summary>
        /// 软件启动任务初始化
        /// </summary>
        /// <param name="CTU"></param>
        public LoadBasketTask(CTU CTU) : base(CTU)
        {
            Name = "任务初始化";
        }
        public override void Excute()
        {
            var fullBasket = ctu.GetFirstFullBasket();
            if (fullBasket != null)
            {
                string dstName;
                if (string.IsNullOrEmpty(fullBasket.DstName))
                {
                    if (SMFManager.GetBoxTarget(fullBasket.BoxCode, out dstName))
                    {
                        fullBasket.DstName = dstName;
                    }
                    else
                    {
                        string err = crc.GetString("box_no_target", "料箱无目的地") + $"R{fullBasket.Row}:{fullBasket.BoxCode}";
                        MoveInfo.Error(err);
                        Msg.add(err, MsgLevel.alarm, ErrInfo.BoxNoTarget);
                        return;
                    }
                }
                dstName = fullBasket.DstName;
                {
                    {
                        ctu.CtuTask = new InitJob(ctu);
                    }
                }
            }
            else //未找到满背篓,背篓为空
            {
                var curPos = PosInfos.GetPosInfoByPtCode(ctu.CurLandMark);
                if (curPos != null && curPos.IsInChargeStation())
                {
                    ctu.CtuTask = new ChargeTask(ctu, curPos.Name);
                }
                else
                {
                    MoveInfo.Info("未找到满背篓,结束初始化任务");
                    ctu.CtuTask = null;
                }
            }
            MoveInfo.Info($"【{ctu.Name}】初始化任务为【{ctu.CtuTask?.Name}】");
        }
    }
}