分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-06-18 f3493a6f6f9958cea100ad596fa84239a6e2e962
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs
@@ -19,6 +19,10 @@
using WIDESEA_WCS.IRepositories;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Newtonsoft.Json;
using WIDESEA_Core.EFDbContext;
using WIDESEA_WCS.Repositories;
using WIDESEA_Comm;
using WIDESEA_WCS.WCSClient;
namespace WIDESEA_WCS.Services
{
@@ -39,29 +43,73 @@
            //多租户会用到这init代码,其他情况可以不用
            //base.Init(dbRepository);
        }
        /// <summary>
        /// æ¨¡å¼1
        /// </summary>
        /// <param name="v"></param>
        /// <returns></returns>
        public WebResponseContent UpdateAuto(string v)
        {
            WebResponseContent content = new WebResponseContent();
            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 + "设置为自动入库成功!");
            else
                content.Error(model.pattern_name + "设置为自动入库失败!");
            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 å†™å…¥ä¿¡å·å‘Šè¯‰æ¡æž¶åˆ‡æ¢æ¨¡å¼
                #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>
        /// æ¨¡å¼2
        /// </summary>
        /// <param name="v"></param>
        /// <returns></returns>
        public WebResponseContent UpdateManual(string v)
        {
            WebResponseContent content = new WebResponseContent();
            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 + "设置为手动入库成功!");
            else
                content.Error(model.pattern_name + "设置为手动入库失败!");
            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;
        }
  }
    }
}