using System; using System.Collections.Generic; using QMAPP.FJC.Entity.Basic; using System.ServiceModel.Activation; using QMAPP.FJC.BLL.Basic; using QMAPP.FJC.DAL.Basic; using QMFrameWork.Common.Serialization; using QMFrameWork.Log; using QMAPP.FJC.BLL.Process; using QMAPP.FJC.Entity.QT; using QMAPP.FJC.DAL.QT; using System.Threading.Tasks; using QMAPP.FJC.Entity.Operation; namespace QMFrameWork.WebServiceHost { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“OpcService”。 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] public class OpcService : IOpcService { #region IOpcService 成员 /// /// 获取所有的设备信息 /// /// public string GetMachineList() { MachineInfoBLL machineBll = new MachineInfoBLL(); List machinelist = machineBll.GetAllList(new MachineInfo()); string machineStr = JsonConvertHelper.GetSerializes(machinelist); return machineStr; } /// /// 获取所有的配置信息 /// /// public string GetParaConfigList() { List paraConfigList = new List(); ParameterConfigDAL paraConDal = new ParameterConfigDAL(); paraConfigList = paraConDal.GetList(new ParameterConfig() { }); string paraStr = JsonConvertHelper.GetSerializes(paraConfigList); return paraStr; } /// /// 获取所有 /// /// public string GetSendOrderConfigList() { List list = new List(); SendOrderConfigDAL dal = new SendOrderConfigDAL(); list = dal.GetList(new SendOrderConfig()); string paraStr = JsonConvertHelper.GetSerializes(list); return paraStr; } /// /// opcserver提交参数 /// /// public void SubmitParameters(string paraListStr) { try { List paraList = JsonConvertHelper.GetDeserialize>(paraListStr); string machineNo = paraList[0].MACHINECODDE; string mouldcode = paraList[0].MOLDNUMBER; if (mouldcode != null && mouldcode.Length > 2) { } else { mouldcode = ""; } MachineInfoDAL machineDal = new MachineInfoDAL(); MachineInfo machineInfo = machineDal.GetMachineInfo(new MachineInfo() { MACHINECODDE = machineNo }); try { #region 处理数据 OperateProcess operateProcess = new OperateProcess(); MainOperation mo = operateProcess.ProcessPLC(machineInfo, mouldcode, paraList); if (mo != null) { Task task = new Task(() => { ParameterDeal deal = new ParameterDeal(); deal.InsertParameter(mo, paraList); }); task.Start(); } #endregion } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Info = "处理加工完成失败!" }); throw ex; } } catch (Exception ex) { } } /// /// opcserver中断体检参数 /// /// public void SubmitInterruptParameters(string paraListStr) { try { List paraList = JsonConvertHelper.GetDeserialize>(paraListStr); string machineNo = paraList[0].MACHINECODDE; MachineInfoDAL machineDal = new MachineInfoDAL(); MachineInfo machineInfo = machineDal.GetMachineInfo(new MachineInfo() { MACHINECODDE = machineNo }); try { //其他加工工位 OperateProcess operateProcess = new OperateProcess(); operateProcess.Interrupt(machineInfo, paraList); } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Info = "处理加工完成失败!" }); throw ex; } } catch (Exception ex) { } } #endregion } }