public int Update(error_type_details obj) { int count = ECDS.UpdateTypeDetails(obj); return(count); }
public error_type_details SelectSingle(string code_no = null, int id = -1) { error_type_details obj = ECDS.GetTypeDetails(id, code_no); return(obj); }
public int Insert(error_type_details obj) { int count = ECDS.InsertTypeDetails(obj); return(count); }
/// <summary> /// 确认并解除异常记录,用于现场提交解除. /// 支持三种格式:sn或者id&sn,id&M&M /// 格式1:只有card内容时,为HMI触控屏发送的格式,此方式只能确认第一条记录,HMI触控屏无物料呼叫列表; /// </summary> /// <param name="ErrorWatchList">当前监控队列</param> /// <param name="MachineCode">设备编码</param> /// <param name="StationId">站位id</param> /// <param name="TagValueInItem">标签值对象</param> /// <returns>正确执行返回ErrorObject,错误执行返回null</returns> public ErrorObject AckErrorLogDetails(string MachineCode, int StationId, DeviceTagValueInfo TagValueInItem, TagAreaAttributeEnum tagAreaAttributeEnum) { ErrorTypeService errorTypeService = new ErrorTypeService(); error_type_details eDetails = null; ErrorObject errorObject = null; string TypeSn = string.Empty; int errorLogId = -1; Dictionary <string, object> dic = new Dictionary <string, object>();//加入需要更新的字段信息 //支持两种格式,sn或者id&sn,id为异常记录的唯一标识号 TagIdAndValue valueObject = tagService.GetTagValue(TagValueInItem.tag_value); if (tagAreaAttributeEnum == TagAreaAttributeEnum.machine_info) { MachineInfo machine = AndonGlobalCfg.MachinesList.FirstOrDefault(x => x.machine_code == MachineCode); errorObject = LoadErrorLogObject(TagValueInItem.device_id, TagValueInItem.system_tag_code, machine.unit_no, machine.line_id); } else if (tagAreaAttributeEnum == TagAreaAttributeEnum.station_info) { station_info station = AndonGlobalCfg.StationsList.FirstOrDefault(x => x.station_id == StationId); errorObject = LoadErrorLogObject(TagValueInItem.device_id, TagValueInItem.system_tag_code, station.unit_no, station.line_id); } if (errorObject != null && errorObject.eConfig != null && errorObject.eConfig.check_ack == (int)AckModeEnum.CodeAck) { if (valueObject.value != null && valueObject.value.Trim().Length >= 0) { if (valueObject.id >= 0 && valueObject.value.Length > 0 && valueObject.value2.Length == 0) { errorLogId = valueObject.id; TypeSn = valueObject.value; Console.WriteLine("AckErrorLogDetails,errorLogId=" + errorLogId + ",TypeSn=" + TypeSn); } else if (valueObject.id < 0 && valueObject.value.Length > 0) { TypeSn = valueObject.value; Console.WriteLine("AckErrorLogDetails,TypeSn=" + TypeSn); } } if (TypeSn.Length > 0)//获取具体的描述对象 { eDetails = errorTypeService.GetTypeDetails(-1, TypeSn); if (eDetails == null) { return(null); } } else { return(null); } } else if (errorObject != null && errorObject.eConfig != null && errorObject.eConfig.check_ack == (int)AckModeEnum.WithoutCodeAck)//不需要代码解除的 { int.TryParse(valueObject.value, out errorLogId); if (errorLogId != errorObject.ELog.id)//传递的id不匹配 { Console.WriteLine("安灯解除出错,id不匹配退出:errorLogId=" + errorLogId + "errorObject.ELog.id=" + errorObject.ELog.id); return(null); } } if (errorObject != null && errorObject.ELog != null) { if (errorObject.eConfig.check_ack == (int)AckModeEnum.CodeAck) { errorObject.ELog.error_type_id = eDetails.id; //更新具体的id信息 errorObject.eTypeDetails = eDetails; //记录详细原因 errorObject.ELog.maintenance_time = TagValueInItem.insert_time.AddHours(GlobalDefine.SysTimeZone); dic.Add("maintenance_time", errorObject.ELog.maintenance_time); dic.Add("error_type_id", errorObject.ELog.error_type_id);//未确认原因的再给值。物料呼叫监测typeid会提前赋值 } errorObject.ELog.release_time = TagValueInItem.insert_time.AddHours(GlobalDefine.SysTimeZone); //以变量值的时间更新结束时间 dic.Add("release_time", errorObject.ELog.release_time); int count = errorLogManager.Update(errorObject.ELog, dic); //提交数据库 if (count > 0) { Console.WriteLine("AckErrorLogDetails,确认成功,id=" + errorObject.ELog.id); } else { Console.WriteLine("安灯解除更新数据失败!"); } return(errorObject); } else { Console.WriteLine("安灯解除出错,errorObject != null && errorObject.ELog !=null 失败!"); } return(null); }