| | |
| | | // 记录上次执行新定时任务的时间 |
| | | while (true) |
| | | { |
| | | //查找设备保养预警 |
| | | #region 查找设备保养预警 |
| | | string sql = "SELECT a.HInterID,b.HEntryID,c.HEquipFileNo 设备编码, c.HName 设备名称,d.HName 设备部门 FROM Sb_EquipMaintainPlanBillMain a " + |
| | | "INNER JOIN Sb_EquipMaintainPlanBillSub_Plan b ON a.HInterID = b.HInterID " + |
| | | "LEFT JOIN Gy_EquipFileBillMain c ON a.HEquipID = c.HInterID " + |
| | |
| | | } |
| | | } |
| | | |
| | | //查找模具保养预警 |
| | | #endregion |
| | | |
| | | #region 查找模具保养预警 |
| | | string newsql = "SELECT a.HInterID,b.HEntryID,c.HMouldNo 模具编码, c.HName 模具名称,B.HErrBeginQty,HSendFlag,d.HName 模具部门 FROM Sc_MouldMaintainPlanBillMain a " + |
| | | "INNER JOIN Sc_MouldMaintainPlanBillSub_Plan b ON a.HInterID = b.HInterID " + |
| | | "LEFT JOIN Gy_MouldFileMain c ON a.HMouldID = c.HInterID " + |
| | |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 设备采集异常 |
| | | DBHelper.CustomWriteLog("设备采集异常开始!", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | //设备采集异常时(开工后,设备持续10分钟未采集),进行消息预警 |
| | | //获取 为预警 并且状态为开工的 设备 和工艺参数 |
| | |
| | | |
| | | if ((DateTime.Now - DateTime.Parse(HRecordDate)).TotalMinutes >= int.Parse(HWarningDate)) |
| | | { |
| | | |
| | | //根据 设备+工艺参数+采集时间 查询工艺参数临时表的数据 |
| | | DataSet ds = oCN.RunProcReturn("exec h_p_Sb_EquipMentTechParam_Temp '" + HEquipFileNo + "', '" + HParameterName + "', '" + HCollectionDate + "'", "h_p_Sb_EquipMentTechParam_Temp"); |
| | | if (ds.Tables[0].Rows.Count > 0) |
| | | { |
| | | string HMaxCreateTime = ds.Tables[0].Rows[0]["HCreateTime"].ToString(); |
| | | // 判断 当前时间-参数的创建时间 是否大于预警时间 如果 大于预警时间则需要钉钉发消息 |
| | | if ((DateTime.Now - DateTime.Parse(HMaxCreateTime)).TotalMinutes >= int.Parse(HWarningDate)) |
| | | { |
| | | if (HEquipFileName != HEquipFileNo) |
| | |
| | | { |
| | | HRemark += "没有采集到数据!"; |
| | | |
| | | // 根据 角色 去查询需要发消息的钉钉号 |
| | | string sql2 = "select a.HDingDingUserID 钉钉id,a.Czymc 接收人 from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId" + |
| | | " left join System_UserGroup c on b.GroupId = c.GroupID where c.GroupName = '参数预警'"; |
| | | " left join System_UserGroup c on b.GroupId = c.GroupID where c.GroupName = '设备未采集到参数预警'"; |
| | | dts = oCN.RunProcReturn(sql2, "Gy_Czygl"); |
| | | for (int j = 0; j < dts.Tables[0].Rows.Count; j++) |
| | | { |
| | |
| | | } |
| | | DBHelper.CustomWriteLog("设备采集异常结束!", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region |
| | | DBHelper.CustomWriteLog("spc异常发消息!", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | //spc 异常表有未发消息的数据时 一小时 发送一次消息 |
| | | //获取 异常表 有未发消息的数据 |
| | |
| | | { |
| | | HRecordDate_spc = DateTime.Now.ToString(); |
| | | } |
| | | |
| | | //根据30分钟时间 去发送消息 |
| | | if (dt.Tables[0].Rows.Count > 0 && (DateTime.Now - DateTime.Parse(HRecordDate_spc)).TotalMinutes >= 30) |
| | | { |
| | | |
| | |
| | | |
| | | if (HRemark.Length > 0) |
| | | { |
| | | // 根据 角色 去查询需要发消息的钉钉号 |
| | | string sql2 = "select a.HDingDingUserID 钉钉id,a.Czymc 接收人 from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId" + |
| | | " left join System_UserGroup c on b.GroupId = c.GroupID where c.GroupName = 'SPC数据异常预警'"; |
| | | dts = oCN.RunProcReturn(sql2, "Gy_Czygl"); |
| | |
| | | } |
| | | } |
| | | DBHelper.CustomWriteLog("spc异常发息结束!", DateTime.Now.ToString("yyyy-MM-dd")); |
| | | |
| | | #endregion |
| | | // 等待一分钟 |
| | | await Task.Delay(TimeSpan.FromMinutes(1)); |
| | | } |