using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using WCS.Core; using WCS.Entity.Protocol.Station; using WCS.WorkEngineering.Worlds; using WCS.WorkEngineering.Extensions; using ServiceCenter.SqlSugars; using WCS.Entity; using SqlSugar; using ICSharpCode.SharpZipLib.Zip; using WCS.Entity.Protocol.QT; using Newtonsoft.Json; using WCS.WorkEngineering.WebApi.Models.WCS.Request; namespace WCS.WorkEngineering.Systems.扭转检测 { [BelongTo(typeof(MainWorld))] [Description("分配楼层")] public class 分配楼层 : DeviceSystem> { protected override bool ParallelDo => false; public override void Do(Device obj) { if (obj.Data.VoucherNo != obj.Data2.VoucherNo) { World.Log("PLC正在处理"); return; } if (obj.Data2.Request == 0) { World.Log("无请求"); return; } //return; World.Log($"扭转回库楼层分配{obj.Entity.Code}交互开始时间:一个周期" + DateTime.Now.ToString("yyyyMMddHHmmss")); var res = WMS.检测回库分配楼层(4); if (!res.Success) { World.Log($"扭转回库楼层分配{obj.Entity.Code}交互结束时间:一个周期" + DateTime.Now.ToString("yyyyMMddHHmmss")); MainWorld.Redis.Set($"Sx:WCSErrorInfo:{obj.Entity.Code}", JsonConvert.SerializeObject(new RedisError() { Equip = obj.Entity.Code, Con = "扭转回库楼层分配" + obj.Entity.Code + "," + res.ResMsg, Time = DateTime.Now })); return; } if (res.ResData == 0) { MainWorld.Redis.Set($"Sx:WCSErrorInfo:{obj.Entity.Code}", JsonConvert.SerializeObject(new RedisError() { Equip = obj.Entity.Code, Con = obj.Entity.Code + "," + res.ResMsg, Time = DateTime.Now })); return; } obj.Data.TaskNumber = short.Parse(obj.Entity.Code); obj.Data.GoodsEnd = (short)res.ResData; obj.Data.VoucherNo++; World.Log($"扭转回库楼层分配{obj.Entity.Code}交互结束时间:一个周期" + DateTime.Now.ToString("yyyyMMddHHmmss")); } public override bool Select(Device dev) { //5197 异常回库交互点 return "4163,5197".Split(",").Contains(dev.Code); } } }