/// <summary> /// 计算某单位防治面积详细 /// </summary> /// <param name="ORGNO">单位编码</param> /// <param name="list1">防治方法列表</param> /// <param name="_list2">防治报表数据列表</param> /// <returns></returns> public static List <float> GetCONTROLDetailArea(string ORGNO, List <T_SYS_DICTModel> list1, List <PEST_REPORT_CONTROL_Model> _list2) { List <float> result = new List <float>(); foreach (var dic in list1) { PEST_REPORT_CONTROL_Model m = _list2.Find(a => a.BYORGNO == ORGNO && a.CONTROLMETHODCODE == dic.DICTVALUE); if (m != null && !string.IsNullOrEmpty(m.CONTROLAREA)) { result.Add(float.Parse(m.CONTROLAREA)); } else { result.Add(0); } } result.Add(result.Sum()); return(result); }
/// <summary> /// 获取数据列表 /// </summary> /// <param name="sw">参见模型PEST_REPORT_CONTROL_SW</param> /// <returns>参见模型PEST_REPORT_CONTROL_Model</returns> public static IEnumerable <PEST_REPORT_CONTROL_Model> getListModel(PEST_REPORT_CONTROL_SW sw) { var result = new List <PEST_REPORT_CONTROL_Model>(); DataTable dt = BaseDT.PEST_REPORT_CONTROL.getDT(sw); for (int i = 0; i < dt.Rows.Count; i++) { PEST_REPORT_CONTROL_Model m = new PEST_REPORT_CONTROL_Model(); m.PEST_REPORT_CONTROLID = dt.Rows[i]["PEST_REPORT_CONTROLID"].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.CONTROLMETHODCODE = dt.Rows[i]["CONTROLMETHODCODE"].ToString(); m.CONTROLAREA = dt.Rows[i]["CONTROLAREA"].ToString(); result.Add(m); } dt.Clear(); dt.Dispose(); return(result); }
/// <summary> /// 获取单条记录 /// </summary> /// <param name="sw">参见模型PEST_REPORT_CONTROL_SW</param> /// <returns>参见模型PEST_REPORT_HAPPEN_Model</returns> public static PEST_REPORT_CONTROL_Model getModel(PEST_REPORT_CONTROL_SW sw) { DataTable dt = BaseDT.PEST_REPORT_CONTROL.getDT(sw); PEST_REPORT_CONTROL_Model m = new PEST_REPORT_CONTROL_Model(); if (dt.Rows.Count > 0) { int i = 0; //数据库表字段 m.PEST_REPORT_CONTROLID = dt.Rows[i]["PEST_REPORT_CONTROLID"].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.CONTROLMETHODCODE = dt.Rows[i]["CONTROLMETHODCODE"].ToString(); m.CONTROLAREA = dt.Rows[i]["CONTROLAREA"].ToString(); //扩充字段 } dt.Clear(); dt.Dispose(); return(m); }
/// <summary> /// 保存 /// </summary> /// <param name="m">参见模型</param> /// <returns>参见模型</returns> public static Message Manager(PEST_REPORT_CONTROL_Model m) { return(BaseDT.PEST_REPORT_CONTROL.Save(m)); }
/// <summary> /// 保存 /// </summary> /// <param name="m">参见模型</param> /// <returns>参见模型</returns> public static Message Save(PEST_REPORT_CONTROL_Model m) { List <string> sqllist = new List <string>(); string[] arrBYORGNO = m.BYORGNO.Split(','); string[] arrCONTROLMETHODCODE = m.CONTROLMETHODCODE.Split(','); string[] arrCONTROLAREA = m.CONTROLAREA.Split(','); if (arrBYORGNO.Length - 1 > 0) { #region 先删除 StringBuilder sbDelete = new StringBuilder(); sbDelete.AppendFormat("delete from PEST_REPORT_CONTROL 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_CONTROL(BYORGNO, HAPPENYEAR, HAPPENMONTH, PESTBYCODE, CONTROLMETHODCODE, CONTROLAREA)"); for (int i = 0; i < arrBYORGNO.Length - 1; i++) { #region 更新 if (isExists(new PEST_REPORT_CONTROL_SW { BYORGNO = arrBYORGNO[i], HAPPENYEAR = m.HAPPENYEAR, HAPPENMONTH = m.HAPPENMONTH, PESTBYCODE = m.PESTBYCODE, CONTROLMETHODCODE = arrCONTROLMETHODCODE[i] })) { StringBuilder sbUpdate = new StringBuilder(); sbUpdate.AppendFormat("UPDATE PEST_REPORT_CONTROL SET "); sbUpdate.AppendFormat(" CONTROLAREA='{0}'", ClsSql.EncodeSql(arrCONTROLAREA[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 CONTROLMETHODCODE= '{0}'", ClsSql.EncodeSql(arrCONTROLMETHODCODE[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(arrCONTROLMETHODCODE[i])); sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(arrCONTROLAREA[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, "保存失败,事物回滚机制!", "")); } }