/// <summary> /// 获取数据列表 /// </summary> /// <param name="sw">参见模型PEST_REPORT_HAPPEN_SW</param> /// <returns>参见模型PEST_REPORT_HAPPEN_Model</returns> public static IEnumerable <PEST_REPORT_HARM_Model> getListModel(PEST_REPORT_HARM_SW sw) { var result = new List <PEST_REPORT_HARM_Model>(); DataTable dt = BaseDT.PEST_REPORT_HARM.getDT(sw); for (int i = 0; i < dt.Rows.Count; i++) { PEST_REPORT_HARM_Model m = new PEST_REPORT_HARM_Model(); m.PEST_REPORT_HARMID = dt.Rows[i]["PEST_REPORT_HARMID"].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.DISASTERAREA = dt.Rows[i]["DISASTERAREA"].ToString(); m.FORECASTDISASTERAREA = dt.Rows[i]["FORECASTDISASTERAREA"].ToString(); m.DIEPLATECOUNT = dt.Rows[i]["DIEPLATECOUNT"].ToString(); result.Add(m); } dt.Clear(); dt.Dispose(); return(result); }
/// <summary> /// 获取单条记录 /// </summary> /// <param name="sw">参见模型</param> /// <returns>参见模型</returns> public static PEST_REPORT_HARM_Model getModel(PEST_REPORT_HARM_SW sw) { DataTable dt = BaseDT.PEST_REPORT_HARM.getDT(sw); PEST_REPORT_HARM_Model m = new PEST_REPORT_HARM_Model(); if (dt.Rows.Count > 0) { int i = 0; //数据库表字段 m.PEST_REPORT_HARMID = dt.Rows[i]["PEST_REPORT_HARMID"].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.DISASTERAREA = dt.Rows[i]["DISASTERAREA"].ToString(); m.FORECASTDISASTERAREA = dt.Rows[i]["FORECASTDISASTERAREA"].ToString(); m.DIEPLATECOUNT = dt.Rows[i]["DIEPLATECOUNT"].ToString(); //扩充字段 } dt.Clear(); dt.Dispose(); return(m); }
/// <summary> /// 保存 /// </summary> /// <param name="m">参见模型</param> /// <returns>参见模型</returns> public static Message Save(PEST_REPORT_HARM_Model m) { List <string> sqllist = new List <string>(); string[] arrBYORGNO = m.BYORGNO.Split(','); string[] arrDISASTERAREA = m.DISASTERAREA.Split(','); string[] arrFORECASTDISASTERAREA = m.FORECASTDISASTERAREA.Split(','); string[] arrDIEPLATECOUNT = m.DIEPLATECOUNT.Split(','); if (arrBYORGNO.Length - 1 > 0) { #region 先删除 StringBuilder sbDelete = new StringBuilder(); sbDelete.AppendFormat("delete from PEST_REPORT_HARM 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_HARM(BYORGNO, HAPPENYEAR, HAPPENMONTH, PESTBYCODE, DISASTERAREA, FORECASTDISASTERAREA, DIEPLATECOUNT)"); for (int i = 0; i < arrBYORGNO.Length - 1; i++) { #region 更新 if (isExists(new PEST_REPORT_HARM_SW { BYORGNO = arrBYORGNO[i], HAPPENYEAR = m.HAPPENYEAR, HAPPENMONTH = m.HAPPENMONTH, PESTBYCODE = m.PESTBYCODE })) { StringBuilder sbUpdate = new StringBuilder(); sbUpdate.AppendFormat("UPDATE PEST_REPORT_HARM SET "); sbUpdate.AppendFormat(" DISASTERAREA={0},", ClsSql.saveNullField(arrDISASTERAREA[i])); sbUpdate.AppendFormat(" FORECASTDISASTERAREA={0},", ClsSql.saveNullField(arrFORECASTDISASTERAREA[i])); sbUpdate.AppendFormat(" DIEPLATECOUNT={0},", ClsSql.saveNullField(arrDIEPLATECOUNT[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)); 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.saveNullField(arrDISASTERAREA[i])); sbInsert.AppendFormat(",{0}", ClsSql.saveNullField(arrFORECASTDISASTERAREA[i])); sbInsert.AppendFormat(",{0}", ClsSql.saveNullField(arrDIEPLATECOUNT[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, "保存失败,事物回滚机制!", "")); } }
/// <summary> /// 保存 /// </summary> /// <param name="m">参见模型</param> /// <returns>参见模型</returns> public static Message Manager(PEST_REPORT_HARM_Model m) { return(BaseDT.PEST_REPORT_HARM.Save(m)); }