예제 #1
0
        /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="sw">参见模型PEST_REPORT_HAPPEN_SW</param>
        /// <returns>参见模型PEST_REPORT_HAPPEN_Model</returns>
        public static IEnumerable <PEST_REPORT_HAPPEN_Model> getListModel(PEST_REPORT_HAPPEN_SW sw)
        {
            var       result = new List <PEST_REPORT_HAPPEN_Model>();
            DataTable dt     = BaseDT.PEST_REPORT_HAPPEN.getDT(sw);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                PEST_REPORT_HAPPEN_Model m = new PEST_REPORT_HAPPEN_Model();
                m.PEST_REPORT_HAPPENID = dt.Rows[i]["PEST_REPORT_HAPPENID"].ToString();
                m.BYORGNO       = dt.Rows[i]["BYORGNO"].ToString();
                m.HAPPENYEAR    = dt.Rows[i]["HAPPENYEAR"].ToString();
                m.HAPPENMONTH   = dt.Rows[i]["HAPPENMONTH"].ToString();
                m.PESTBYCODE    = dt.Rows[i]["PESTBYCODE"].ToString();
                m.HARMTYPEID    = dt.Rows[i]["HARMTYPEID"].ToString();
                m.HARMLEVELCODE = dt.Rows[i]["HARMLEVELCODE"].ToString();
                m.HAPPENAREA    = dt.Rows[i]["HAPPENAREA"].ToString();
                result.Add(m);
            }
            dt.Clear();
            dt.Dispose();
            return(result);
        }
예제 #2
0
        /// <summary>
        /// 获取单条记录
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static PEST_REPORT_HAPPEN_Model getModel(PEST_REPORT_HAPPEN_SW sw)
        {
            DataTable dt = BaseDT.PEST_REPORT_HAPPEN.getDT(sw);
            PEST_REPORT_HAPPEN_Model m = new PEST_REPORT_HAPPEN_Model();

            if (dt.Rows.Count > 0)
            {
                int i = 0;
                //数据库表字段
                m.PEST_REPORT_HAPPENID = dt.Rows[i]["PEST_REPORT_HAPPENID"].ToString();
                m.BYORGNO       = dt.Rows[i]["BYORGNO"].ToString();
                m.HAPPENYEAR    = dt.Rows[i]["HAPPENYEAR"].ToString();
                m.HAPPENMONTH   = dt.Rows[i]["HAPPENMONTH"].ToString();
                m.PESTBYCODE    = dt.Rows[i]["PESTBYCODE"].ToString();
                m.HARMTYPEID    = dt.Rows[i]["HARMTYPEID"].ToString();
                m.HARMLEVELCODE = dt.Rows[i]["HARMLEVELCODE"].ToString();
                m.HAPPENAREA    = dt.Rows[i]["HAPPENAREA"].ToString();
                //扩充字段
            }
            dt.Clear();
            dt.Dispose();
            return(m);
        }
예제 #3
0
        /// <summary>
        /// 计算某地区某年月的某类型面积详细
        /// </summary>
        /// <param name="ORGNO">机构编码</param>
        /// <param name="PESTCODE">有害生物编码</param>
        /// <param name="value">面积类型值</param>
        /// <param name="dic106">危害级别</param>
        /// <param name="list">数据列表</param>
        /// <returns></returns>
        public static List <string> GetDetailArea(string ORGNO, string PESTCODE, string value, List <T_SYS_DICTModel> dic106, List <PEST_REPORT_HAPPEN_Model> list)
        {
            List <string> result = new List <string>();
            float         count  = 0;

            foreach (var d in dic106)
            {
                PEST_REPORT_HAPPEN_Model m = new PEST_REPORT_HAPPEN_Model();
                if (PESTCODE != "")
                {
                    m = list.Find(a => a.BYORGNO == ORGNO && a.PESTBYCODE == PESTCODE && a.HARMTYPEID == value && a.HARMLEVELCODE == d.DICTVALUE);
                }
                else
                {
                    m = list.Find(a => a.BYORGNO == ORGNO && a.HARMTYPEID == value && a.HARMLEVELCODE == d.DICTVALUE);
                }
                if (m != null && !string.IsNullOrEmpty(m.HAPPENAREA))
                {
                    result.Add(m.HAPPENAREA);
                    count += float.Parse(m.HAPPENAREA);
                }
                else
                {
                    result.Add("");
                }
            }
            if (count > 0)
            {
                result.Add(count.ToString());
            }
            else
            {
                result.Add("");
            }
            return(result);
        }
예제 #4
0
 /// <summary>
 /// 保存
 /// </summary>
 /// <param name="m">参见模型</param>
 /// <returns>参见模型</returns>
 public static Message Manager(PEST_REPORT_HAPPEN_Model m)
 {
     return(BaseDT.PEST_REPORT_HAPPEN.Save(m));
 }
예제 #5
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="m">参见模型</param>
        /// <returns>参见模型</returns>
        public static Message Save(PEST_REPORT_HAPPEN_Model m)
        {
            List <string> sqllist = new List <string>();

            string[] arrBYORGNO       = m.BYORGNO.Split(',');
            string[] arrHARMTYPEID    = m.HARMTYPEID.Split(',');
            string[] arrHARMLEVELCODE = m.HARMLEVELCODE.Split(',');
            string[] arrHAPPENAREA    = m.HAPPENAREA.Split(',');
            if (arrBYORGNO.Length - 1 > 0)
            {
                #region 先删除
                StringBuilder sbDelete = new StringBuilder();
                sbDelete.AppendFormat("delete from PEST_REPORT_HAPPEN WHERE 1=1");
                sbDelete.AppendFormat(" AND PESTBYCODE='{0}'", m.PESTBYCODE);
                sbDelete.AppendFormat(" AND HAPPENYEAR='{0}'", m.HAPPENYEAR);
                sbDelete.AppendFormat(" AND HAPPENMONTH='{0}'", m.HAPPENMONTH);
                if (m.TopORGNO.Substring(4, 11) == "00000000000") //所有市
                {
                    sbDelete.AppendFormat(" AND SUBSTRING(BYORGNO,1,4)='{0}'", m.TopORGNO.Substring(0, 4));
                }
                else if (m.TopORGNO.Substring(6, 9) == "000000000" && m.TopORGNO.Substring(4, 11) != "00000000000") //所有县
                {
                    sbDelete.AppendFormat(" AND SUBSTRING(BYORGNO,1,6)='{0}'", m.TopORGNO.Substring(0, 6));
                }
                else if (m.TopORGNO.Substring(9, 6) == "000000" && m.TopORGNO.Substring(6, 9) != "000000000") //所有乡镇
                {
                    sbDelete.AppendFormat(" AND SUBSTRING(BYORGNO,1,9)='{0}'", m.TopORGNO.Substring(0, 9));
                }
                else if (m.TopORGNO.Substring(9, 6) != "000000") //所有村
                {
                    sbDelete.AppendFormat(" AND SUBSTRING(BYORGNO,1,12)='{0}'", m.TopORGNO.Substring(0, 12));
                }
                else
                {
                    sbDelete.AppendFormat(" AND BYORGNO='{0}'", m.TopORGNO);
                }
                DataBaseClass.ExeSql(sbDelete.ToString());
                #endregion

                #region 再更新
                StringBuilder sbInsert = new StringBuilder();
                sbInsert.AppendFormat("INSERT INTO PEST_REPORT_HAPPEN(BYORGNO, HAPPENYEAR, HAPPENMONTH, PESTBYCODE, HARMTYPEID, HARMLEVELCODE, HAPPENAREA)");
                for (int i = 0; i < arrBYORGNO.Length - 1; i++)
                {
                    #region 更新
                    if (isExists(new PEST_REPORT_HAPPEN_SW {
                        BYORGNO = arrBYORGNO[i], HAPPENYEAR = m.HAPPENYEAR, HAPPENMONTH = m.HAPPENMONTH, PESTBYCODE = m.PESTBYCODE, HARMTYPEID = arrHARMTYPEID[i], HARMLEVELCODE = arrHARMLEVELCODE[i]
                    }))
                    {
                        StringBuilder sbUpdate = new StringBuilder();
                        sbUpdate.AppendFormat("UPDATE PEST_REPORT_HAPPEN SET ");
                        sbUpdate.AppendFormat(" HAPPENAREA='{0}'", ClsSql.EncodeSql(arrHAPPENAREA[i]));
                        sbUpdate.AppendFormat(" where BYORGNO= '{0}'", ClsSql.EncodeSql(arrBYORGNO[i]));
                        sbUpdate.AppendFormat(" and HAPPENYEAR= '{0}'", ClsSql.EncodeSql(m.HAPPENYEAR));
                        sbUpdate.AppendFormat(" and HAPPENMONTH= '{0}'", ClsSql.EncodeSql(m.HAPPENMONTH));
                        sbUpdate.AppendFormat(" and PESTBYCODE= '{0}'", ClsSql.EncodeSql(m.PESTBYCODE));
                        sbUpdate.AppendFormat(" and HARMTYPEID= '{0}'", ClsSql.EncodeSql(arrHARMTYPEID[i]));
                        sbUpdate.AppendFormat(" and HARMLEVELCODE= '{0}'", ClsSql.EncodeSql(arrHARMLEVELCODE[i]));
                        sqllist.Add(sbUpdate.ToString());
                    }
                    #endregion

                    #region 添加
                    else
                    {
                        sbInsert.AppendFormat(" select '{0}'", ClsSql.EncodeSql(arrBYORGNO[i]));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(m.HAPPENYEAR));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(m.HAPPENMONTH));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(m.PESTBYCODE));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(arrHARMTYPEID[i]));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(arrHARMLEVELCODE[i]));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(arrHAPPENAREA[i]));
                        sbInsert.AppendFormat(" UNION ALL ");
                    }
                    #endregion
                }
                string insertStr = sbInsert.ToString();
                if (insertStr.Contains(" UNION ALL "))
                {
                    insertStr = insertStr.Substring(0, insertStr.Length - 10);
                    sqllist.Add(insertStr);
                }
                #endregion
            }
            var y = DataBaseClass.ExecuteSqlTran(sqllist);
            if (y >= 0)
            {
                return(new Message(true, "保存成功!", ""));
            }
            else
            {
                return(new Message(false, "保存失败,事物回滚机制!", ""));
            }
        }