public override void execute(Tag tag, String devCode, CellTag cellTag, SystemDateTag systemDateTag, CasicSession session) { //TODO LIST:解析腐蚀环境数据,保存腐蚀环境数据 UploadTag fshjTag = tag as UploadTag; int itv = fshjTag.CollectInter; String collecTime = fshjTag.CollectTime; int len = fshjTag.Len; String dataValue = fshjTag.DataValue; session.Logger.Info("腐蚀环境数据上传TAG:oid:" + fshjTag.Oid + " 采集间隔: " + itv + "采集时间:" + collecTime + "上传数值:" + dataValue); int num = len / (2 * 16); //上传的数据组数,1组16个数据,每个数据4个字节 List <Model.AKFSHJInfo> djs = new List <Model.AKFSHJInfo>(); DateTime baseTime = Convert.ToDateTime(systemDateTag.CollectDate + " " + collecTime); for (int i = 0; i < num; i++) { Model.AKFSHJInfo fshjInfo = new Model.AKFSHJInfo(); String underVol1 = strHexToInt(dataValue.Substring(i * 64, 4)).ToString(); String underVol2 = strHexToInt(dataValue.Substring(i * 64 + 4, 4)).ToString(); String underVol3 = strHexToInt(dataValue.Substring(i * 64 + 8, 4)).ToString(); String underVol4 = strHexToInt(dataValue.Substring(i * 64 + 12, 4)).ToString(); String underVol5 = strHexToInt(dataValue.Substring(i * 64 + 16, 4)).ToString(); String underVol6 = strHexToInt(dataValue.Substring(i * 64 + 20, 4)).ToString(); String under_temp1 = (strHexToInt(dataValue.Substring(i * 64 + 24, 4)) / 10.0).ToString(); String under_temp2 = (strHexToInt(dataValue.Substring(i * 64 + 28, 4)) / 10.0).ToString(); String outter_temp1 = (strHexToInt(dataValue.Substring(i * 64 + 32, 4)) / 10.0).ToString(); String outter_temp2 = (strHexToInt(dataValue.Substring(i * 64 + 36, 4)) / 10.0).ToString(); String underWater1 = strHexToInt(dataValue.Substring(i * 64 + 40, 4)).ToString(); String underWater2 = strHexToInt(dataValue.Substring(i * 64 + 44, 4)).ToString(); String underWater3 = strHexToInt(dataValue.Substring(i * 64 + 48, 4)).ToString(); String underWater4 = strHexToInt(dataValue.Substring(i * 64 + 52, 4)).ToString(); String underWater5 = strHexToInt(dataValue.Substring(i * 64 + 56, 4)).ToString(); String underWater6 = strHexToInt(dataValue.Substring(i * 64 + 60, 4)).ToString(); fshjInfo.UnderTemp1 = under_temp1; fshjInfo.UnderTemp2 = under_temp2; fshjInfo.OutterTemp1 = outter_temp1; fshjInfo.OutterTemp2 = outter_temp2; fshjInfo.UnderVo11 = underVol1; fshjInfo.UnderVo12 = underVol2; fshjInfo.UnderVo13 = underVol3; fshjInfo.UnderVo14 = underVol4; fshjInfo.UnderVo15 = underVol5; fshjInfo.UnderVo16 = underVol6; fshjInfo.UnderWaterIn1 = underWater1; fshjInfo.UnderWaterIn2 = underWater2; fshjInfo.UnderWaterIn3 = underWater3; fshjInfo.UnderWaterIn4 = underWater4; fshjInfo.UnderWaterIn5 = underWater5; fshjInfo.UnderWaterIn6 = underWater6; fshjInfo.Cell = (cellTag == null ? "" : cellTag.Cell); fshjInfo.LogTime = DateTime.Now; fshjInfo.UpTime = baseTime.AddMinutes(i * itv); fshjInfo.DEVCODE = devCode; djs.Add(fshjInfo); } new BLL.AKFSHJ().insert(djs); String pipeType = new BLL.AKFSHJ().getHeatPipeTypeByDevCode(devCode); new BLL.AKFSHJ().saveAlarmInfo(djs, pipeType); //new BLL.AKFSHJ().saveAlarmInfo(djs);//todo list:生成报警规则 session.Logger.Info("腐蚀环境数据保存成功"); }
/// <summary> /// An internal function to bind values parameters for insert /// </summary> /// <param name="parms">Database parameters</param> /// <param name="liquid">Values to bind to parameters</param> private void SetAdapterParameters(OracleParameter[] parms, Model.AKFSHJInfo fshj) { parms[0].Value = fshj.DEVCODE; if (null != fshj.Cell) { parms[1].Value = fshj.Cell; } else { parms[1].Value = DBNull.Value; } if (null != fshj.UnderTemp1) { parms[2].Value = fshj.UnderTemp1; } else { parms[2].Value = DBNull.Value; } if (null != fshj.UnderTemp2) { parms[3].Value = fshj.UnderTemp2; } else { parms[3].Value = DBNull.Value; } if (null != fshj.OutterTemp1) { parms[4].Value = fshj.OutterTemp1; } else { parms[4].Value = DBNull.Value; } if (null != fshj.OutterTemp2) { parms[5].Value = fshj.OutterTemp2; } else { parms[5].Value = DBNull.Value; } if (null != fshj.UnderVo11) { parms[6].Value = fshj.UnderVo11; } else { parms[6].Value = DBNull.Value; } if (null != fshj.UnderVo12) { parms[7].Value = fshj.UnderVo12; } else { parms[7].Value = DBNull.Value; } if (null != fshj.UnderVo13) { parms[8].Value = fshj.UnderVo13; } else { parms[8].Value = DBNull.Value; } if (null != fshj.UnderVo14) { parms[9].Value = fshj.UnderVo14; } else { parms[9].Value = DBNull.Value; } if (null != fshj.UnderVo15) { parms[10].Value = fshj.UnderVo15; } else { parms[10].Value = DBNull.Value; } if (null != fshj.UnderVo16) { parms[11].Value = fshj.UnderVo16; } else { parms[11].Value = DBNull.Value; } if (null != fshj.UnderWaterIn1) { parms[12].Value = fshj.UnderWaterIn1; } else { parms[12].Value = DBNull.Value; } if (null != fshj.UnderWaterIn2) { parms[13].Value = fshj.UnderWaterIn2; } else { parms[13].Value = DBNull.Value; } if (null != fshj.UnderWaterIn3) { parms[14].Value = fshj.UnderWaterIn3; } else { parms[14].Value = DBNull.Value; } if (null != fshj.UnderWaterIn4) { parms[15].Value = fshj.UnderWaterIn4; } else { parms[15].Value = DBNull.Value; } if (null != fshj.UnderWaterIn5) { parms[16].Value = fshj.UnderWaterIn5; } else { parms[16].Value = DBNull.Value; } if (null != fshj.UnderWaterIn6) { parms[17].Value = fshj.UnderWaterIn6; } else { parms[17].Value = DBNull.Value; } if (null != fshj.Status) { parms[18].Value = fshj.Status; } else { parms[18].Value = DBNull.Value; } if (null != fshj.UpTime) { parms[19].Value = fshj.UpTime; } else { parms[19].Value = DBNull.Value; } if (null != fshj.LogTime) { parms[20].Value = fshj.LogTime; } else { parms[20].Value = DBNull.Value; } }