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 成员 /// <summary> /// 获取所有的设备信息 /// </summary> /// <returns></returns> public string GetMachineList() { MachineInfoBLL machineBll = new MachineInfoBLL(); List<MachineInfo> machinelist = machineBll.GetAllList(new MachineInfo()); string machineStr = JsonConvertHelper.GetSerializes(machinelist); return machineStr; } /// <summary> /// 获取所有的配置信息 /// </summary> /// <returns></returns> public string GetParaConfigList() { List<ParameterConfig> paraConfigList = new List<ParameterConfig>(); ParameterConfigDAL paraConDal = new ParameterConfigDAL(); paraConfigList = paraConDal.GetList(new ParameterConfig() { }); string paraStr = JsonConvertHelper.GetSerializes(paraConfigList); return paraStr; } /// <summary> /// 获取所有 /// </summary> /// <returns></returns> public string GetSendOrderConfigList() { List<SendOrderConfig> list = new List<SendOrderConfig>(); SendOrderConfigDAL dal = new SendOrderConfigDAL(); list = dal.GetList(new SendOrderConfig()); string paraStr = JsonConvertHelper.GetSerializes(list); return paraStr; } /// <summary> /// opcserver提交参数 /// </summary> /// <param name="paraListStr"></param> public void SubmitParameters(string paraListStr) { try { List<ParameterConfig> paraList = JsonConvertHelper.GetDeserialize<List<ParameterConfig>>(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) { } } /// <summary> /// opcserver中断体检参数 /// </summary> /// <param name="paraListStr"></param> public void SubmitInterruptParameters(string paraListStr) { try { List<ParameterConfig> paraList = JsonConvertHelper.GetDeserialize<List<ParameterConfig>>(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 } }