/// <summary> /// 创建原因:获取当前已经存在的属性样品总条数 /// 创建人:胡方扬 /// 创建日期:2013-07-09 /// </summary> /// <returns></returns> public int GetDustyCoutForBaseInfor() { int CountNum = 0; if (!String.IsNullOrEmpty(strBaseInfor_Id)) { DataTable dt = new TMisMonitorDustattributeSo2ornoxLogic().SelectByTable(new TMisMonitorDustattributeSo2ornoxVo { BASEINFOR_ID = strBaseInfor_Id }); CountNum = dt.Rows.Count; } return(CountNum); }
/// <summary> /// 创建原因:根据原始记录表基本数据ID获取当前项目的属性表数据信息 /// 创建人:胡方扬 /// 创建日期:2013-07-09 /// </summary> /// <returns></returns> public string getAttInfor() { string result = ""; if (!String.IsNullOrEmpty(strBaseInfor_Id)) { TMisMonitorDustattributeSo2ornoxVo objDustAtt = new TMisMonitorDustattributeSo2ornoxVo(); objDustAtt.BASEINFOR_ID = strBaseInfor_Id; objDustAtt.SORT_FIELD = "ID"; objDustAtt.SORT_TYPE = "desc"; DataTable objDt = new TMisMonitorDustattributeSo2ornoxLogic().SelectByTable(objDustAtt, intPageIndex, intPageSize); int CountNum = new TMisMonitorDustattributeSo2ornoxLogic().GetSelectResultCount(objDustAtt); result = LigerGridDataToJson(objDt, CountNum); } return(result); }
/// <summary> /// 获取监测项目信息 /// </summary> /// <returns></returns> private string getFourGridInfo(string strThreeGridId) { string strSortname = Request.Params["sortname"]; string strSortorder = Request.Params["sortorder"]; //当前页面 int intPageIndex = Convert.ToInt32(Request.Params["page"]); //每页记录数 int intPageSize = Convert.ToInt32(Request.Params["pagesize"]); DataTable dt = new TMisMonitorResultLogic().getItemInfoInAlloction_QHD(strThreeGridId, "'01','00'", "0", "", "", intPageIndex, intPageSize); //退回意见 for (int i = 0; i < dt.Rows.Count; i++) { TMisMonitorResultVo objResutlVo = new TMisMonitorResultLogic().Details(dt.Rows[i]["ID"].ToString()); TMisMonitorSampleInfoVo objSampleInfoVo = new TMisMonitorSampleInfoLogic().Details(objResutlVo.SAMPLE_ID); TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskLogic().Details(objSampleInfoVo.SUBTASK_ID); TMisReturnInfoVo objReturnInfoVo = new TMisReturnInfoVo(); objReturnInfoVo.TASK_ID = objSubtaskVo.TASK_ID; objReturnInfoVo.SUBTASK_ID = objSubtaskVo.ID; objReturnInfoVo.RESULT_ID = dt.Rows[i]["ID"].ToString(); objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_007; objReturnInfoVo.BACKTO_STATUS = SerialType.Monitor_006; objReturnInfoVo = new TMisReturnInfoLogic().Details(objReturnInfoVo); dt.Rows[i]["REMARK_1"] = objReturnInfoVo.SUGGESTION; //获取原始记录表的采样编号 DataTable dtInfo = new DataTable(); DataRow[] drInfo = dtInfo.Select("1=2"); string strFiter_Code = ""; TMisMonitorDustinforVo objDustinforVo = new TMisMonitorDustinforVo(); objDustinforVo.SUBTASK_ID = dt.Rows[i]["ID"].ToString(); objDustinforVo = new TMisMonitorDustinforLogic().Details(objDustinforVo); if (objDustinforVo.ID.Length > 0) { TMisMonitorDustattributeVo objDustattributeVo = new TMisMonitorDustattributeVo(); objDustattributeVo.BASEINFOR_ID = objDustinforVo.ID; dtInfo = new TMisMonitorDustattributeLogic().SelectByTable(objDustattributeVo); if (dtInfo.Rows.Count > 0) { drInfo = dtInfo.Select("FITER_CODE<>'平均'"); } else { TMisMonitorDustattributeSo2ornoxVo objDustattributeSo2ornoxVo = new TMisMonitorDustattributeSo2ornoxVo(); objDustattributeSo2ornoxVo.BASEINFOR_ID = objDustinforVo.ID; dtInfo = new TMisMonitorDustattributeSo2ornoxLogic().SelectByTable(objDustattributeSo2ornoxVo); if (dtInfo.Rows.Count > 0) { drInfo = dtInfo.Select("FITER_CODE<>'平均'"); } else { TMisMonitorDustattributePmVo DustattributePmVo = new TMisMonitorDustattributePmVo(); DustattributePmVo.BASEINFOR_ID = objDustinforVo.ID; dtInfo = new TMisMonitorDustattributePmLogic().SelectByTable(DustattributePmVo); if (dtInfo.Rows.Count > 0) { drInfo = dtInfo.Select("FITER_CODE<>'平均'"); } } } for (int j = 0; j < drInfo.Length; j++) { strFiter_Code += drInfo[j]["FITER_CODE"].ToString() + ","; } dt.Rows[i]["REMARK_2"] = strFiter_Code.TrimEnd(','); } } int intTotalCount = new TMisMonitorResultLogic().getItemInfoCountInAlloction_QHD(strThreeGridId, "'01','00'", "0", "", ""); string strJson = CreateToJson(dt, intTotalCount); return(strJson); }
/// <summary> /// 创建原因:根据指定监测项目属性ID 更新指定列的数据 /// 创建人:胡方扬 /// 创建时间:2013-07-09 /// </summary> /// <returns></returns> public bool UpdateAttValue() { bool blFlag = false; if (!String.IsNullOrEmpty(strAttInfor_Id) && !String.IsNullOrEmpty(strUpdateCell)) { blFlag = new TMisMonitorDustattributeSo2ornoxLogic().UpdateCell(strAttInfor_Id, strUpdateCell, strUpdateCellValue); Regex r = new Regex("^\\d+(\\.)?\\d*$"); TMisMonitorDustattributeSo2ornoxVo So2ornoxVo = new TMisMonitorDustattributeSo2ornoxVo(); So2ornoxVo = new TMisMonitorDustattributeSo2ornoxLogic().Details(strAttInfor_Id); if (blFlag) { switch (strUpdateCell) { case "SO2_POTENCY": //SO2浓度 //计算SO2折算浓度:((21/(21-含氧量))*SO2浓度)/折算系数 decimal dPOTENCY = r.IsMatch(So2ornoxVo.SO2_POTENCY) ? decimal.Parse(So2ornoxVo.SO2_POTENCY) : 0; decimal dOXYGEN = r.IsMatch(So2ornoxVo.SMOKE_OXYGEN) ? decimal.Parse(So2ornoxVo.SMOKE_OXYGEN) : 0; TMisMonitorDustinforVo DustinforVo = new TMisMonitorDustinforLogic().Details(So2ornoxVo.BASEINFOR_ID); decimal dMODUL_NUM = r.IsMatch(DustinforVo.MODUL_NUM) ? decimal.Parse(DustinforVo.MODUL_NUM) : 0; decimal dPER_POTENCY = 0; if (dMODUL_NUM != 0) { dPER_POTENCY = ((21 / (21 - dOXYGEN)) * dPOTENCY) / dMODUL_NUM; blFlag = new TMisMonitorDustattributeSo2ornoxLogic().UpdateCell(strAttInfor_Id, "SO2_PER_POTENCY", Math.Round(dPER_POTENCY, 0).ToString()); } else { if (So2ornoxVo.SAMPLE_CODE == "平均") { //更新结果表 TMisMonitorResultVo objResultVo = new TMisMonitorResultLogic().Details(DustinforVo.SUBTASK_ID); DataTable dt = new TMisMonitorSampleInfoLogic().SelectResultForSO2(objResultVo.SAMPLE_ID); DataRow[] dr; dr = dt.Select("ITEM_NAME='二氧化硫'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); objResultVo.ITEM_RESULT = strUpdateCellValue; blFlag = new TMisMonitorResultLogic().Edit(objResultVo); } } } //计算SO2排放量:(SO2浓度*标态流量)/1000000 decimal dSPEED = r.IsMatch(So2ornoxVo.NM_SPEED) ? decimal.Parse(So2ornoxVo.NM_SPEED) : 0; blFlag = new TMisMonitorDustattributeSo2ornoxLogic().UpdateCell(strAttInfor_Id, "SO2_DISCHARGE", Math.Round((dPOTENCY * dSPEED) / 1000000, 3).ToString()); break; case "SO2_PER_POTENCY": DustinforVo = new TMisMonitorDustinforLogic().Details(So2ornoxVo.BASEINFOR_ID); dMODUL_NUM = r.IsMatch(DustinforVo.MODUL_NUM) ? decimal.Parse(DustinforVo.MODUL_NUM) : 0; if (dMODUL_NUM != 0 && So2ornoxVo.SAMPLE_CODE == "平均") { //更新结果表 TMisMonitorResultVo objResultVo = new TMisMonitorResultLogic().Details(DustinforVo.SUBTASK_ID); DataTable dt = new TMisMonitorSampleInfoLogic().SelectResultForSO2(objResultVo.SAMPLE_ID); DataRow[] dr; dr = dt.Select("ITEM_NAME='二氧化硫'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); objResultVo.ITEM_RESULT = strUpdateCellValue; blFlag = new TMisMonitorResultLogic().Edit(objResultVo); } } break; case "NOX_POTENCY": //NOX浓度 //计算NOX折算浓度:((21/(21-含氧量))*NOX浓度)/折算系数 dPOTENCY = r.IsMatch(So2ornoxVo.NOX_POTENCY) ? decimal.Parse(So2ornoxVo.NOX_POTENCY) : 0; dOXYGEN = r.IsMatch(So2ornoxVo.SMOKE_OXYGEN) ? decimal.Parse(So2ornoxVo.SMOKE_OXYGEN) : 0; DustinforVo = new TMisMonitorDustinforLogic().Details(So2ornoxVo.BASEINFOR_ID); dMODUL_NUM = r.IsMatch(DustinforVo.MODUL_NUM) ? decimal.Parse(DustinforVo.MODUL_NUM) : 0; dPER_POTENCY = 0; if (dMODUL_NUM != 0) { dPER_POTENCY = ((21 / (21 - dOXYGEN)) * dPOTENCY) / dMODUL_NUM; blFlag = new TMisMonitorDustattributeSo2ornoxLogic().UpdateCell(strAttInfor_Id, "NOX_PER_POTENCY", Math.Round(dPER_POTENCY, 0).ToString()); } else { if (So2ornoxVo.SAMPLE_CODE == "平均") { //更新结果表 TMisMonitorResultVo objResultVo = new TMisMonitorResultLogic().Details(DustinforVo.SUBTASK_ID); DataTable dt = new TMisMonitorSampleInfoLogic().SelectResultForSO2(objResultVo.SAMPLE_ID); DataRow[] dr; dr = dt.Select("ITEM_NAME='氮氧化物'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); objResultVo.ITEM_RESULT = strUpdateCellValue; blFlag = new TMisMonitorResultLogic().Edit(objResultVo); } } } //计算NOX排放量:(SO2浓度*标态流量)/1000000 dSPEED = r.IsMatch(So2ornoxVo.NM_SPEED) ? decimal.Parse(So2ornoxVo.NM_SPEED) : 0; blFlag = new TMisMonitorDustattributeSo2ornoxLogic().UpdateCell(strAttInfor_Id, "NOX_DISCHARGE", Math.Round((dPOTENCY * dSPEED) / 1000000, 3).ToString()); break; case "NOX_PER_POTENCY": DustinforVo = new TMisMonitorDustinforLogic().Details(So2ornoxVo.BASEINFOR_ID); dMODUL_NUM = r.IsMatch(DustinforVo.MODUL_NUM) ? decimal.Parse(DustinforVo.MODUL_NUM) : 0; if (dMODUL_NUM != 0 && So2ornoxVo.SAMPLE_CODE == "平均") { //更新结果表 TMisMonitorResultVo objResultVo = new TMisMonitorResultLogic().Details(DustinforVo.SUBTASK_ID); DataTable dt = new TMisMonitorSampleInfoLogic().SelectResultForSO2(objResultVo.SAMPLE_ID); DataRow[] dr; dr = dt.Select("ITEM_NAME='氮氧化物'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); objResultVo.ITEM_RESULT = strUpdateCellValue; blFlag = new TMisMonitorResultLogic().Edit(objResultVo); } } break; default: break; } } } return(blFlag); }
/// <summary> /// 创建原因:计算原始记录表的平均数据 /// 创建人:魏林 /// 创建时间:2014-04-16 /// </summary> /// <returns></returns> public string AvgAttInfor() { Regex r = new Regex("^\\d+(\\.)?\\d*$"); bool iSuccess = true; decimal SMOKE_TEMPERATURE = 0, SMOKE_OXYGEN = 0, SMOKE_SPEED = 0, NM_SPEED = 0; decimal SO2_POTENCY = 0, SO2_PER_POTENCY = 0, SO2_DISCHARGE = 0; decimal NOX_POTENCY = 0, NOX_PER_POTENCY = 0, NOX_DISCHARGE = 0; decimal SMOKE_TEMPERATURE_COut = 0, SMOKE_OXYGEN_COut = 0, SMOKE_SPEED_COut = 0, NM_SPEED_COut = 0, SO2_POTENCY_COut = 0, SO2_PER_POTENCY_COut = 0, SO2_DISCHARGE_COut = 0, NOX_POTENCY_COut = 0, NOX_PER_POTENCY_COut = 0, NOX_DISCHARGE_COut = 0; int iPRECISION = 0; //平均值的小数位位数 if (!String.IsNullOrEmpty(strBaseInfor_Id)) { TMisMonitorDustattributeSo2ornoxVo objDustAtt = new TMisMonitorDustattributeSo2ornoxVo(); objDustAtt.BASEINFOR_ID = strBaseInfor_Id; objDustAtt.SORT_FIELD = "ID"; DataTable dt = new TMisMonitorDustattributeSo2ornoxLogic().SelectByTable(objDustAtt); if (dt.Rows[dt.Rows.Count - 1]["SAMPLE_CODE"].ToString() == "平均") { objDustAtt.SORT_FIELD = ""; objDustAtt.ID = dt.Rows[dt.Rows.Count - 1]["ID"].ToString(); for (int i = 0; i < dt.Rows.Count - 1; i++) { if (r.IsMatch(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString())) { SMOKE_TEMPERATURE += decimal.Parse(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString()); } else { SMOKE_TEMPERATURE_COut = GetNumber(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString()); SMOKE_TEMPERATURE += SMOKE_TEMPERATURE_COut / 2; } if (r.IsMatch(dt.Rows[i]["SMOKE_OXYGEN"].ToString())) { SMOKE_OXYGEN += decimal.Parse(dt.Rows[i]["SMOKE_OXYGEN"].ToString()); } else { SMOKE_OXYGEN_COut = GetNumber(dt.Rows[i]["SMOKE_OXYGEN"].ToString()); SMOKE_OXYGEN += SMOKE_OXYGEN_COut / 2; } if (r.IsMatch(dt.Rows[i]["SMOKE_SPEED"].ToString())) { SMOKE_SPEED += decimal.Parse(dt.Rows[i]["SMOKE_SPEED"].ToString()); } else { SMOKE_SPEED_COut = GetNumber(dt.Rows[i]["SMOKE_SPEED"].ToString()); SMOKE_SPEED += SMOKE_SPEED_COut / 2; } if (r.IsMatch(dt.Rows[i]["NM_SPEED"].ToString())) { NM_SPEED += decimal.Parse(dt.Rows[i]["NM_SPEED"].ToString()); } else { NM_SPEED_COut = GetNumber(dt.Rows[i]["NM_SPEED"].ToString()); NM_SPEED += NM_SPEED_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_POTENCY"].ToString())) { SO2_POTENCY += decimal.Parse(dt.Rows[i]["SO2_POTENCY"].ToString()); } else { SO2_POTENCY_COut = GetNumber(dt.Rows[i]["SO2_POTENCY"].ToString()); SO2_POTENCY += SO2_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_PER_POTENCY"].ToString())) { SO2_PER_POTENCY += decimal.Parse(dt.Rows[i]["SO2_PER_POTENCY"].ToString()); } else { SO2_PER_POTENCY_COut = GetNumber(dt.Rows[i]["SO2_PER_POTENCY"].ToString()); SO2_PER_POTENCY += SO2_PER_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_DISCHARGE"].ToString())) { SO2_DISCHARGE += decimal.Parse(dt.Rows[i]["SO2_DISCHARGE"].ToString()); } else { SO2_DISCHARGE_COut = GetNumber(dt.Rows[i]["SO2_DISCHARGE"].ToString()); SO2_DISCHARGE += SO2_DISCHARGE_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_POTENCY"].ToString())) { NOX_POTENCY += decimal.Parse(dt.Rows[i]["NOX_POTENCY"].ToString()); } else { NOX_POTENCY_COut = GetNumber(dt.Rows[i]["NOX_POTENCY"].ToString()); NOX_POTENCY += NOX_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_PER_POTENCY"].ToString())) { NOX_PER_POTENCY += decimal.Parse(dt.Rows[i]["NOX_PER_POTENCY"].ToString()); } else { NOX_PER_POTENCY_COut = GetNumber(dt.Rows[i]["NOX_PER_POTENCY"].ToString()); NOX_PER_POTENCY += NOX_PER_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_DISCHARGE"].ToString())) { NOX_DISCHARGE += decimal.Parse(dt.Rows[i]["NOX_DISCHARGE"].ToString()); } else { NOX_DISCHARGE_COut = GetNumber(dt.Rows[i]["NOX_DISCHARGE"].ToString()); NOX_DISCHARGE += NOX_DISCHARGE_COut / 2; } } iPRECISION = dt.Rows[0]["SMOKE_TEMPERATURE"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_TEMPERATURE"].ToString().Split('.')[1].Length : 0; if (SMOKE_TEMPERATURE_COut != 0 && Math.Round(SMOKE_TEMPERATURE / (dt.Rows.Count - 1), iPRECISION) < SMOKE_TEMPERATURE_COut) { objDustAtt.SMOKE_TEMPERATURE = SMOKE_TEMPERATURE_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_TEMPERATURE = Math.Round(SMOKE_TEMPERATURE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SMOKE_OXYGEN"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_OXYGEN"].ToString().Split('.')[1].Length : 0; if (SMOKE_OXYGEN_COut != 0 && Math.Round(SMOKE_OXYGEN / (dt.Rows.Count - 1), iPRECISION) < SMOKE_OXYGEN_COut) { objDustAtt.SMOKE_OXYGEN = SMOKE_OXYGEN_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_OXYGEN = Math.Round(SMOKE_OXYGEN / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SMOKE_SPEED"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_SPEED"].ToString().Split('.')[1].Length : 0; if (SMOKE_SPEED_COut != 0 && Math.Round(SMOKE_SPEED / (dt.Rows.Count - 1), iPRECISION) < SMOKE_SPEED_COut) { objDustAtt.SMOKE_SPEED = SMOKE_SPEED_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_SPEED = Math.Round(SMOKE_SPEED / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NM_SPEED"].ToString().Contains('.') ? dt.Rows[0]["NM_SPEED"].ToString().Split('.')[1].Length : 0; if (NM_SPEED_COut != 0 && Math.Round(NM_SPEED / (dt.Rows.Count - 1), iPRECISION) < NM_SPEED_COut) { objDustAtt.NM_SPEED = NM_SPEED_COut.ToString() + "(L)"; } else { objDustAtt.NM_SPEED = Math.Round(NM_SPEED / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["SO2_POTENCY"].ToString().Split('.')[1].Length : 0; if (SO2_POTENCY_COut != 0 && Math.Round(SO2_POTENCY / (dt.Rows.Count - 1), iPRECISION) < SO2_POTENCY_COut) { objDustAtt.SO2_POTENCY = SO2_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.SO2_POTENCY = Math.Round(SO2_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_PER_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["SO2_PER_POTENCY"].ToString().Split('.')[1].Length : 0; if (SO2_PER_POTENCY_COut != 0 && Math.Round(SO2_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION) < SO2_PER_POTENCY_COut) { objDustAtt.SO2_PER_POTENCY = SO2_PER_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.SO2_PER_POTENCY = Math.Round(SO2_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_DISCHARGE"].ToString().Contains('.') ? dt.Rows[0]["SO2_DISCHARGE"].ToString().Split('.')[1].Length : 0; if (SO2_DISCHARGE_COut != 0 && Math.Round(SO2_DISCHARGE / (dt.Rows.Count - 1), iPRECISION) < SO2_DISCHARGE_COut) { objDustAtt.SO2_DISCHARGE = SO2_DISCHARGE_COut.ToString() + "(L)"; } else { objDustAtt.SO2_DISCHARGE = Math.Round(SO2_DISCHARGE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["NOX_POTENCY"].ToString().Split('.')[1].Length : 0; if (NOX_POTENCY_COut != 0 && Math.Round(NOX_POTENCY / (dt.Rows.Count - 1), iPRECISION) < NOX_POTENCY_COut) { objDustAtt.NOX_POTENCY = NOX_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.NOX_POTENCY = Math.Round(NOX_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_PER_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["NOX_PER_POTENCY"].ToString().Split('.')[1].Length : 0; if (NOX_PER_POTENCY_COut != 0 && Math.Round(NOX_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION) < NOX_PER_POTENCY_COut) { objDustAtt.NOX_PER_POTENCY = NOX_PER_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.NOX_PER_POTENCY = Math.Round(NOX_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_DISCHARGE"].ToString().Contains('.') ? dt.Rows[0]["NOX_DISCHARGE"].ToString().Split('.')[1].Length : 0; if (NOX_DISCHARGE_COut != 0 && Math.Round(NOX_DISCHARGE / (dt.Rows.Count - 1), iPRECISION) < NOX_DISCHARGE_COut) { objDustAtt.NOX_DISCHARGE = NOX_DISCHARGE_COut.ToString() + "(L)"; } else { objDustAtt.NOX_DISCHARGE = Math.Round(NOX_DISCHARGE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iSuccess = new TMisMonitorDustattributeSo2ornoxLogic().Edit(objDustAtt); } else { objDustAtt.SORT_FIELD = ""; objDustAtt.ID = GetSerialNumber("t_mis_dutyAttSo2InforID"); objDustAtt.SAMPLE_CODE = "平均"; for (int i = 0; i < dt.Rows.Count; i++) { if (r.IsMatch(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString())) { SMOKE_TEMPERATURE += decimal.Parse(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString()); } else { SMOKE_TEMPERATURE_COut = GetNumber(dt.Rows[i]["SMOKE_TEMPERATURE"].ToString()); SMOKE_TEMPERATURE += SMOKE_TEMPERATURE_COut / 2; } if (r.IsMatch(dt.Rows[i]["SMOKE_OXYGEN"].ToString())) { SMOKE_OXYGEN += decimal.Parse(dt.Rows[i]["SMOKE_OXYGEN"].ToString()); } else { SMOKE_OXYGEN_COut = GetNumber(dt.Rows[i]["SMOKE_OXYGEN"].ToString()); SMOKE_OXYGEN += SMOKE_OXYGEN_COut / 2; } if (r.IsMatch(dt.Rows[i]["SMOKE_SPEED"].ToString())) { SMOKE_SPEED += decimal.Parse(dt.Rows[i]["SMOKE_SPEED"].ToString()); } else { SMOKE_SPEED_COut = GetNumber(dt.Rows[i]["SMOKE_SPEED"].ToString()); SMOKE_SPEED += SMOKE_SPEED_COut / 2; } if (r.IsMatch(dt.Rows[i]["NM_SPEED"].ToString())) { NM_SPEED += decimal.Parse(dt.Rows[i]["NM_SPEED"].ToString()); } else { NM_SPEED_COut = GetNumber(dt.Rows[i]["NM_SPEED"].ToString()); NM_SPEED += NM_SPEED_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_POTENCY"].ToString())) { SO2_POTENCY += decimal.Parse(dt.Rows[i]["SO2_POTENCY"].ToString()); } else { SO2_POTENCY_COut = GetNumber(dt.Rows[i]["SO2_POTENCY"].ToString()); SO2_POTENCY += SO2_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_PER_POTENCY"].ToString())) { SO2_PER_POTENCY += decimal.Parse(dt.Rows[i]["SO2_PER_POTENCY"].ToString()); } else { SO2_PER_POTENCY_COut = GetNumber(dt.Rows[i]["SO2_PER_POTENCY"].ToString()); SO2_PER_POTENCY += SO2_PER_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["SO2_DISCHARGE"].ToString())) { SO2_DISCHARGE += decimal.Parse(dt.Rows[i]["SO2_DISCHARGE"].ToString()); } else { SO2_DISCHARGE_COut = GetNumber(dt.Rows[i]["SO2_DISCHARGE"].ToString()); SO2_DISCHARGE += SO2_DISCHARGE_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_POTENCY"].ToString())) { NOX_POTENCY += decimal.Parse(dt.Rows[i]["NOX_POTENCY"].ToString()); } else { NOX_POTENCY_COut = GetNumber(dt.Rows[i]["NOX_POTENCY"].ToString()); NOX_POTENCY += NOX_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_PER_POTENCY"].ToString())) { NOX_PER_POTENCY += decimal.Parse(dt.Rows[i]["NOX_PER_POTENCY"].ToString()); } else { NOX_PER_POTENCY_COut = GetNumber(dt.Rows[i]["NOX_PER_POTENCY"].ToString()); NOX_PER_POTENCY += NOX_PER_POTENCY_COut / 2; } if (r.IsMatch(dt.Rows[i]["NOX_DISCHARGE"].ToString())) { NOX_DISCHARGE += decimal.Parse(dt.Rows[i]["NOX_DISCHARGE"].ToString()); } else { NOX_DISCHARGE_COut = GetNumber(dt.Rows[i]["NOX_DISCHARGE"].ToString()); NOX_DISCHARGE += NOX_DISCHARGE_COut / 2; } } iPRECISION = dt.Rows[0]["SMOKE_TEMPERATURE"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_TEMPERATURE"].ToString().Split('.')[1].Length : 0; if (SMOKE_TEMPERATURE_COut != 0 && Math.Round(SMOKE_TEMPERATURE / (dt.Rows.Count - 1), iPRECISION) < SMOKE_TEMPERATURE_COut) { objDustAtt.SMOKE_TEMPERATURE = SMOKE_TEMPERATURE_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_TEMPERATURE = Math.Round(SMOKE_TEMPERATURE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SMOKE_OXYGEN"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_OXYGEN"].ToString().Split('.')[1].Length : 0; if (SMOKE_OXYGEN_COut != 0 && Math.Round(SMOKE_OXYGEN / (dt.Rows.Count - 1), iPRECISION) < SMOKE_OXYGEN_COut) { objDustAtt.SMOKE_OXYGEN = SMOKE_OXYGEN_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_OXYGEN = Math.Round(SMOKE_OXYGEN / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SMOKE_SPEED"].ToString().Contains('.') ? dt.Rows[0]["SMOKE_SPEED"].ToString().Split('.')[1].Length : 0; if (SMOKE_SPEED_COut != 0 && Math.Round(SMOKE_SPEED / (dt.Rows.Count - 1), iPRECISION) < SMOKE_SPEED_COut) { objDustAtt.SMOKE_SPEED = SMOKE_SPEED_COut.ToString() + "(L)"; } else { objDustAtt.SMOKE_SPEED = Math.Round(SMOKE_SPEED / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NM_SPEED"].ToString().Contains('.') ? dt.Rows[0]["NM_SPEED"].ToString().Split('.')[1].Length : 0; if (NM_SPEED_COut != 0 && Math.Round(NM_SPEED / (dt.Rows.Count - 1), iPRECISION) < NM_SPEED_COut) { objDustAtt.NM_SPEED = NM_SPEED_COut.ToString() + "(L)"; } else { objDustAtt.NM_SPEED = Math.Round(NM_SPEED / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["SO2_POTENCY"].ToString().Split('.')[1].Length : 0; if (SO2_POTENCY_COut != 0 && Math.Round(SO2_POTENCY / (dt.Rows.Count - 1), iPRECISION) < SO2_POTENCY_COut) { objDustAtt.SO2_POTENCY = SO2_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.SO2_POTENCY = Math.Round(SO2_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_PER_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["SO2_PER_POTENCY"].ToString().Split('.')[1].Length : 0; if (SO2_PER_POTENCY_COut != 0 && Math.Round(SO2_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION) < SO2_PER_POTENCY_COut) { objDustAtt.SO2_PER_POTENCY = SO2_PER_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.SO2_PER_POTENCY = Math.Round(SO2_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["SO2_DISCHARGE"].ToString().Contains('.') ? dt.Rows[0]["SO2_DISCHARGE"].ToString().Split('.')[1].Length : 0; if (SO2_DISCHARGE_COut != 0 && Math.Round(SO2_DISCHARGE / (dt.Rows.Count - 1), iPRECISION) < SO2_DISCHARGE_COut) { objDustAtt.SO2_DISCHARGE = SO2_DISCHARGE_COut.ToString() + "(L)"; } else { objDustAtt.SO2_DISCHARGE = Math.Round(SO2_DISCHARGE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["NOX_POTENCY"].ToString().Split('.')[1].Length : 0; if (NOX_POTENCY_COut != 0 && Math.Round(NOX_POTENCY / (dt.Rows.Count - 1), iPRECISION) < NOX_POTENCY_COut) { objDustAtt.NOX_POTENCY = NOX_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.NOX_POTENCY = Math.Round(NOX_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_PER_POTENCY"].ToString().Contains('.') ? dt.Rows[0]["NOX_PER_POTENCY"].ToString().Split('.')[1].Length : 0; if (NOX_PER_POTENCY_COut != 0 && Math.Round(NOX_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION) < NOX_PER_POTENCY_COut) { objDustAtt.NOX_PER_POTENCY = NOX_PER_POTENCY_COut.ToString() + "(L)"; } else { objDustAtt.NOX_PER_POTENCY = Math.Round(NOX_PER_POTENCY / (dt.Rows.Count - 1), iPRECISION).ToString(); } iPRECISION = dt.Rows[0]["NOX_DISCHARGE"].ToString().Contains('.') ? dt.Rows[0]["NOX_DISCHARGE"].ToString().Split('.')[1].Length : 0; if (NOX_DISCHARGE_COut != 0 && Math.Round(NOX_DISCHARGE / (dt.Rows.Count - 1), iPRECISION) < NOX_DISCHARGE_COut) { objDustAtt.NOX_DISCHARGE = NOX_DISCHARGE_COut.ToString() + "(L)"; } else { objDustAtt.NOX_DISCHARGE = Math.Round(NOX_DISCHARGE / (dt.Rows.Count - 1), iPRECISION).ToString(); } iSuccess = new TMisMonitorDustattributeSo2ornoxLogic().Create(objDustAtt); } //更新结果表 TMisMonitorDustinforVo objDustinforVo = new TMisMonitorDustinforLogic().Details(strBaseInfor_Id); TMisMonitorResultVo objResultVo = new TMisMonitorResultLogic().Details(objDustinforVo.SUBTASK_ID); dt = new TMisMonitorSampleInfoLogic().SelectResultForSO2(objResultVo.SAMPLE_ID); DataRow[] dr; //二氧化硫 dr = dt.Select("ITEM_NAME='二氧化硫'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); if (objDustinforVo.MODUL_NUM.Length > 0) { objResultVo.ITEM_RESULT = objDustAtt.SO2_PER_POTENCY; } else { objResultVo.ITEM_RESULT = objDustAtt.SO2_POTENCY; } iSuccess = new TMisMonitorResultLogic().Edit(objResultVo); } //氮氧化物 dr = dt.Select("ITEM_NAME='氮氧化物'"); if (dr.Length > 0) { objResultVo = new TMisMonitorResultVo(); objResultVo.ID = dr[0]["ID"].ToString(); if (objDustinforVo.MODUL_NUM.Length > 0) { objResultVo.ITEM_RESULT = objDustAtt.NOX_PER_POTENCY; } else { objResultVo.ITEM_RESULT = objDustAtt.NOX_POTENCY; } iSuccess = new TMisMonitorResultLogic().Edit(objResultVo); } } return(iSuccess ? "1" : "0"); }