分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-06-18 f3493a6f6f9958cea100ad596fa84239a6e2e962
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs
@@ -22,6 +22,7 @@
using WIDESEA_Core.EFDbContext;
using WIDESEA_WCS.Repositories;
using WIDESEA_Comm;
using WIDESEA_WCS.WCSClient;
namespace WIDESEA_WCS.Services
{
@@ -50,19 +51,32 @@
        public WebResponseContent UpdateAuto(string v)
        {
            WebResponseContent content = new WebResponseContent();
            VOLContext context = new VOLContext();
            Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
            var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
            if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
                return content.Error("设置为模式1失败!下料位存在车轮!");
            try
            {
                var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "桁架");
                if (Gantry_client == null) throw new Exception("桁架调度服务未开启!");
                if (!Gantry_client.IsConnected) throw new Exception("与桁架连接超时!");
                VOLContext context = new VOLContext();
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
                var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
                if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
                    throw new Exception("设置为模式1失败!下料位存在车轮!");
                #region å†™å…¥ä¿¡å·å‘Šè¯‰æ¡æž¶åˆ‡æ¢æ¨¡å¼
            var model = JsonConvert.DeserializeObject<dt_pattern>(v);
            model.pattern_state = 1;
            var cont = _repository.Update(model, true);
            if (cont > 0)
                content.OK(model.pattern_name + "设置为模式1成功!");
            else
                content.Error(model.pattern_name + "设置为模式1失败!");
                #endregion
                var model = JsonConvert.DeserializeObject<dt_pattern>(v);
                model.pattern_state = 1;
                var cont = _repository.Update(model, true);
                if (cont > 0)
                    content.OK(model.pattern_name + "设置为模式1成功!");
                else
                    content.Error(model.pattern_name + "设置为模式1失败!");
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
@@ -73,18 +87,28 @@
        public WebResponseContent UpdateManual(string v)
        {
            WebResponseContent content = new WebResponseContent();
            VOLContext context = new VOLContext();
            Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
            var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
            if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
                return content.Error("设置为模式2失败!下料位存在车轮!");
            var model = JsonConvert.DeserializeObject<dt_pattern>(v);
            model.pattern_state = 0;
            var cont = _repository.Update(model, true);
            if (cont > 0)
                content.OK(model.pattern_name + "设置为模式2成功!");
            else
                content.Error(model.pattern_name + "设置为模式2失败!");
            try
            {
                var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "桁架");
                if (Gantry_client == null) throw new Exception("桁架调度服务未开启!");
                if (!Gantry_client.IsConnected) throw new Exception("与桁架连接超时!");
                VOLContext context = new VOLContext();
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
                var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList();
                if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any())
                    throw new Exception("设置为模式2失败!下料位存在车轮!");
                var model = JsonConvert.DeserializeObject<dt_pattern>(v);
                model.pattern_state = 0;
                var cont = _repository.Update(model, true);
                if (cont > 0)
                    content.OK(model.pattern_name + "设置为模式2成功!");
                else
                    content.Error(model.pattern_name + "设置为模式2失败!");
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
    }