/// <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); }
/// <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); }
/// <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); }
/// <summary> /// 保存 /// </summary> /// <param name="m">参见模型</param> /// <returns>参见模型</returns> public static Message Manager(PEST_REPORT_HAPPEN_Model m) { return(BaseDT.PEST_REPORT_HAPPEN.Save(m)); }
/// <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, "保存失败,事物回滚机制!", "")); } }