/// <summary>
        /// 对象编辑
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox_UpdateSet">UpdateSet用户对象</param>
        /// <param name="tMisMonitorDustattributeSo2ornox_UpdateWhere">UpdateWhere用户对象</param>
        /// <returns>是否成功</returns>
        public bool Edit(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox_UpdateSet, TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox_UpdateWhere)
        {
            string strSQL = SqlHelper.BuildUpdateExpress(tMisMonitorDustattributeSo2ornox_UpdateSet, TMisMonitorDustattributeSo2ornoxVo.T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX_TABLE);

            strSQL += this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox_UpdateWhere);
            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
        /// <summary>
        /// 对象编辑
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">用户对象</param>
        /// <returns>是否成功</returns>
        public bool Edit(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = SqlHelper.BuildUpdateExpress(tMisMonitorDustattributeSo2ornox, TMisMonitorDustattributeSo2ornoxVo.T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX_TABLE);

            strSQL += string.Format(" where ID='{0}' ", tMisMonitorDustattributeSo2ornox.ID);
            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
        /// <summary>
        /// 获取对象DataTable
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
        /// <param name="iIndex">起始页码</param>
        /// <param name="iCount">每页数目</param>
        /// <returns>返回结果</returns>
        public DataTable SelectByTable(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox, int iIndex, int iCount)
        {
            string strSQL = " select * from T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX {0} " + " order by id";

            strSQL = String.Format(strSQL, BuildWhereStatement(tMisMonitorDustattributeSo2ornox));
            return(SqlHelper.ExecuteDataTable(BuildPagerExpress(strSQL, iIndex, iCount)));
        }
        /// <summary>
        /// 对象删除
        /// </summary>
        /// <param name="Id">ID</param>
        /// <returns>是否成功</returns>
        public bool Delete(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = "delete from T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX ";

            strSQL += this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox);

            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
    /// <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>
    /// 创建原因:根据监测项目基础属性ID,创建初始化属性数据信息
    /// 创建人:胡方扬
    /// 创建时间:2013-07-09
    /// </summary>
    /// <returns></returns>
    public string SaveAttInfor()
    {
        string result = "";

        if (!String.IsNullOrEmpty(strBaseInfor_Id))
        {
            TMisMonitorDustattributeSo2ornoxVo objDustAtt = new TMisMonitorDustattributeSo2ornoxVo();
            objDustAtt.BASEINFOR_ID = strBaseInfor_Id;
            objDustAtt.SAMPLE_CODE  = (GetDustyCoutForBaseInfor() + 1).ToString();
            objDustAtt.ID           = GetSerialNumber("t_mis_dutyAttSo2InforID");
            if (new TMisMonitorDustattributeSo2ornoxLogic().Create(objDustAtt))
            {
                result = objDustAtt.ID;
            }
        }
        return(result);
    }
        /// <summary>
        /// 获得查询结果总行数,用于分页
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
        /// <returns>返回行数</returns>
        public int GetSelectResultCount(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = "select Count(*) from T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX " + this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox);

            return(Convert.ToInt32(SqlHelper.ExecuteScalar(strSQL)));
        }
        /// <summary>
        /// 对象明细
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">对象条件</param>
        /// <returns>对象</returns>
        public TMisMonitorDustattributeSo2ornoxVo Details(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = String.Format("select * from  T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX " + this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox));

            return(SqlHelper.ExecuteObject(new TMisMonitorDustattributeSo2ornoxVo(), strSQL));
        }
    /// <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>
        /// 根据对象构造条件语句
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox"></param>
        /// <returns></returns>
        public string BuildWhereStatement(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            StringBuilder strWhereStatement = new StringBuilder(" Where 1=1 ");

            if (null != tMisMonitorDustattributeSo2ornox)
            {
                //
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.ID.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND ID = '{0}'", tMisMonitorDustattributeSo2ornox.ID.ToString()));
                }
                //
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.BASEINFOR_ID.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND BASEINFOR_ID = '{0}'", tMisMonitorDustattributeSo2ornox.BASEINFOR_ID.ToString()));
                }
                //采样序号
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SAMPLE_CODE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SAMPLE_CODE = '{0}'", tMisMonitorDustattributeSo2ornox.SAMPLE_CODE.ToString()));
                }
                //滤筒编号
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.FITER_CODE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND FITER_CODE = '{0}'", tMisMonitorDustattributeSo2ornox.FITER_CODE.ToString()));
                }
                //采样日期
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SAMPLE_DATE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SAMPLE_DATE = '{0}'", tMisMonitorDustattributeSo2ornox.SAMPLE_DATE.ToString()));
                }
                //烟气动压
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_MOVE_PRESSURE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_MOVE_PRESSURE = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_MOVE_PRESSURE.ToString()));
                }
                //烟气静压
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_STATIC_PRESSURE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_STATIC_PRESSURE = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_STATIC_PRESSURE.ToString()));
                }
                //烟气全压
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_ALL_PRESSURE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_ALL_PRESSURE = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_ALL_PRESSURE.ToString()));
                }
                //烟气计压
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_K_PRESSURE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_K_PRESSURE = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_K_PRESSURE.ToString()));
                }
                //烟气温度
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_TEMPERATURE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_TEMPERATURE = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_TEMPERATURE.ToString()));
                }
                //烟气含氧量
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_OXYGEN.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_OXYGEN = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_OXYGEN.ToString()));
                }
                //烟气流速
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SMOKE_SPEED.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SMOKE_SPEED = '{0}'", tMisMonitorDustattributeSo2ornox.SMOKE_SPEED.ToString()));
                }
                //标态流量
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.NM_SPEED.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND NM_SPEED = '{0}'", tMisMonitorDustattributeSo2ornox.NM_SPEED.ToString()));
                }
                //SO2浓度
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SO2_POTENCY.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SO2_POTENCY = '{0}'", tMisMonitorDustattributeSo2ornox.SO2_POTENCY.ToString()));
                }
                //SO2折算浓度
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SO2_PER_POTENCY.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SO2_PER_POTENCY = '{0}'", tMisMonitorDustattributeSo2ornox.SO2_PER_POTENCY.ToString()));
                }
                //SO2排放量
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.SO2_DISCHARGE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND SO2_DISCHARGE = '{0}'", tMisMonitorDustattributeSo2ornox.SO2_DISCHARGE.ToString()));
                }
                //NOX浓度
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.NOX_POTENCY.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND NOX_POTENCY = '{0}'", tMisMonitorDustattributeSo2ornox.NOX_POTENCY.ToString()));
                }
                //NOX折算浓度
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.NOX_PER_POTENCY.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND NOX_PER_POTENCY = '{0}'", tMisMonitorDustattributeSo2ornox.NOX_PER_POTENCY.ToString()));
                }
                //NOX排放量
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.NOX_DISCHARGE.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND NOX_DISCHARGE = '{0}'", tMisMonitorDustattributeSo2ornox.NOX_DISCHARGE.ToString()));
                }
                //
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.REMARK1.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK1 = '{0}'", tMisMonitorDustattributeSo2ornox.REMARK1.ToString()));
                }
                //
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.REMARK2.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK2 = '{0}'", tMisMonitorDustattributeSo2ornox.REMARK2.ToString()));
                }
                //
                if (!String.IsNullOrEmpty(tMisMonitorDustattributeSo2ornox.REMARK3.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK3 = '{0}'", tMisMonitorDustattributeSo2ornox.REMARK3.ToString()));
                }
            }
            return(strWhereStatement.ToString());
        }
 /// <summary>
 /// 对象编辑
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">用户对象</param>
 /// <returns>是否成功</returns>
 public bool Edit(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.Edit(tMisMonitorDustattributeSo2ornox));
 }
 /// <summary>
 /// 根据对象特征获取单一对象
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
 /// <returns></returns>
 public TMisMonitorDustattributeSo2ornoxVo SelectByObject(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.SelectByObject(tMisMonitorDustattributeSo2ornox));
 }
 /// <summary>
 /// 根据对象获取全部数据,用Table承载
 ///  数据量较小时使用【不推荐】
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox"></param>
 /// <returns></returns>
 public DataTable SelectByTable(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.SelectByTable(tMisMonitorDustattributeSo2ornox));
 }
 /// <summary>
 /// 对象删除
 /// </summary>
 /// <param name="Id">ID</param>
 /// <returns>是否成功</returns>
 public bool Delete(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.Delete(tMisMonitorDustattributeSo2ornox));
 }
        /// <summary>
        /// 根据对象获取全部数据,用Table承载
        ///  数据量较小时使用【不推荐】
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox"></param>
        /// <returns></returns>
        public DataTable SelectByTable(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = "select * from T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX " + this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox) + " order by id";

            return(SqlHelper.ExecuteDataTable(strSQL));
        }
    /// <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");
    }
 /// <summary>
 /// 对象明细
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">对象条件</param>
 /// <returns>对象</returns>
 public TMisMonitorDustattributeSo2ornoxVo Details(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.Details(tMisMonitorDustattributeSo2ornox));
 }
 /// <summary>
 /// 获得查询结果总行数,用于分页
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
 /// <returns>返回行数</returns>
 public int GetSelectResultCount(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
 {
     return(access.GetSelectResultCount(tMisMonitorDustattributeSo2ornox));
 }
 public TMisMonitorDustattributeSo2ornoxLogic(TMisMonitorDustattributeSo2ornoxVo _tMisMonitorDustattributeSo2ornox)
 {
     tMisMonitorDustattributeSo2ornox = _tMisMonitorDustattributeSo2ornox;
     access = new TMisMonitorDustattributeSo2ornoxAccess();
 }
        /// <summary>
        /// 获取对象List
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
        /// <param name="iIndex">起始页码</param>
        /// <param name="iCount">每页数目</param>
        /// <returns>返回结果</returns>
        public List <TMisMonitorDustattributeSo2ornoxVo> SelectByObject(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox, int iIndex, int iCount)
        {
            string strSQL = String.Format("select * from  T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX " + this.BuildWhereStatement(tMisMonitorDustattributeSo2ornox));

            return(SqlHelper.ExecuteObjectList(tMisMonitorDustattributeSo2ornox, BuildPagerExpress(strSQL, iIndex, iCount)));
        }
        /// <summary>
        /// 对象添加
        /// </summary>
        /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
        /// <returns>是否成功</returns>
        public bool Create(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox)
        {
            string strSQL = SqlHelper.BuildInsertExpress(tMisMonitorDustattributeSo2ornox, TMisMonitorDustattributeSo2ornoxVo.T_MIS_MONITOR_DUSTATTRIBUTE_SO2ORNOX_TABLE);

            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
 /// <summary>
 /// 获取对象List
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
 /// <param name="iIndex">起始页码</param>
 /// <param name="iCount">每页数目</param>
 /// <returns>返回结果</returns>
 public List <TMisMonitorDustattributeSo2ornoxVo> SelectByObject(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox, int iIndex, int iCount)
 {
     return(access.SelectByObject(tMisMonitorDustattributeSo2ornox, iIndex, iCount));
 }
 /// <summary>
 /// 对象编辑
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox_UpdateSet">UpdateSet用户对象</param>
 /// <param name="tMisMonitorDustattributeSo2ornox_UpdateWhere">UpdateWhere用户对象</param>
 /// <returns>是否成功</returns>
 public bool Edit(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox_UpdateSet, TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox_UpdateWhere)
 {
     return(access.Edit(tMisMonitorDustattributeSo2ornox_UpdateSet, tMisMonitorDustattributeSo2ornox_UpdateWhere));
 }
Exemplo n.º 24
0
    /// <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>
 /// 获取对象DataTable
 /// </summary>
 /// <param name="tMisMonitorDustattributeSo2ornox">对象</param>
 /// <param name="iIndex">起始页码</param>
 /// <param name="iCount">每页数目</param>
 /// <returns>返回结果</returns>
 public DataTable SelectByTable(TMisMonitorDustattributeSo2ornoxVo tMisMonitorDustattributeSo2ornox, int iIndex, int iCount)
 {
     return(access.SelectByTable(tMisMonitorDustattributeSo2ornox, iIndex, iCount));
 }