using System; using System.Collections.Generic; using System.Data; using SuperMap.RealEstate.ServiceModel; using Business = SuperMap.RealEstate.MobileServicePlatform.Business; using HCC = HZQR.Common.Common; using HZQR.Common; namespace EShang.Common.GeneralMethod { /// /// 景区信息表相关方法 /// 2024/12/17 11:40:10自动生成 /// public class SCENICAREAHelper { #region 获取景区信息表列表 /// /// 获取景区信息表列表 /// /// 事务管理器 /// 查询结果总数 /// 查询条件对象 public static List GetSCENICAREAList(Transaction transaction, ref int TotalCount, Model.SearchModel searchModel) { List SCENICAREAList = new List(); string WhereSQL = "", RowFilterSQL = ""; if (searchModel.SearchParameter != null) { WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "", "PROVINCE_CODES", "SCENICAREA_TYPES", "SCENICAREA_LEVELS", "SCENICAREA_STATES"); if (WhereSQL != "") { WhereSQL = " WHERE " + WhereSQL; } //查询所属省份 if (searchModel.SearchParameter.PROVINCE_CODES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "PROVINCE_CODE IN (" + searchModel.SearchParameter.PROVINCE_CODES + ")"; } //查询景区类型 if (searchModel.SearchParameter.SCENICAREA_TYPES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SCENICAREA_TYPE IN (" + searchModel.SearchParameter.SCENICAREA_TYPES + ")"; } //查询景区等级 if (searchModel.SearchParameter.SCENICAREA_LEVELS.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SCENICAREA_LEVEL IN ('" + searchModel.SearchParameter.SCENICAREA_LEVELS.Replace(",", "','") + "')"; } //查询景区状态 if (searchModel.SearchParameter.SCENICAREA_STATES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SCENICAREA_STATE IN (" + searchModel.SearchParameter.SCENICAREA_STATES + ")"; } } DataTable dtSCENICAREA = new Business.APPMANAGE(transaction).ExecuteDataTable( "SELECT * FROM MOBILESERVICE_PLATFORM.T_SCENICAREA" + WhereSQL); //增加组合查询条件 if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key)) { foreach (string KeyName in searchModel.keyWord.Key.Split(',')) { RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") + KeyName + " like '%" + searchModel.keyWord.Value + "%'"; } } if (RowFilterSQL != "") { dtSCENICAREA.DefaultView.RowFilter = RowFilterSQL; } //排序: dtSCENICAREA.DefaultView.Sort = searchModel.SortStr; dtSCENICAREA = dtSCENICAREA.DefaultView.ToTable(); //获取查询结果总记录条数 TotalCount = dtSCENICAREA.Rows.Count; //根据传入的页码和每页显示条数返回结果 dtSCENICAREA = CommonHelper.GetDataTableWithPageSize(dtSCENICAREA, searchModel.PageSize, searchModel.PageIndex); foreach (DataRow drSCENICAREA in dtSCENICAREA.Rows) { Model.SCENICAREAModel scenicareaModel = new Model.SCENICAREAModel(); //绑定景区信息表数据对象 BindDataRowToModel(drSCENICAREA, scenicareaModel); SCENICAREAList.Add(scenicareaModel); } return SCENICAREAList; } #region 绑定model /// /// 绑定model /// /// datarow数据源 /// model对象 public static void BindDataRowToModel(DataRow drSCENICAREA, Model.SCENICAREAModel scenicareaModel) { if (drSCENICAREA["SCENICAREA_ID"].ToString() != "") { scenicareaModel.SCENICAREA_ID = drSCENICAREA["SCENICAREA_ID"].TryParseToInt(); //景区信息表内码 } if (drSCENICAREA["PROVINCE_CODE"].ToString() != "") { scenicareaModel.PROVINCE_CODE = drSCENICAREA["PROVINCE_CODE"].TryParseToInt(); //所属省份 } if (drSCENICAREA["SCENICAREA_TYPE"].ToString() != "") { scenicareaModel.SCENICAREA_TYPE = drSCENICAREA["SCENICAREA_TYPE"].TryParseToInt(); //景区类型 } scenicareaModel.SCENICAREA_NAME = drSCENICAREA["SCENICAREA_NAME"].ToString(); //景区名称 scenicareaModel.SCENICAREA_LOCATION = drSCENICAREA["SCENICAREA_LOCATION"].ToString(); //景区位置 if (drSCENICAREA["SCENICAREA_X"].ToString() != "") { scenicareaModel.SCENICAREA_X = drSCENICAREA["SCENICAREA_X"].TryParseToDouble(); //景区经度 } if (drSCENICAREA["SCENICAREA_Y"].ToString() != "") { scenicareaModel.SCENICAREA_Y = drSCENICAREA["SCENICAREA_Y"].TryParseToDouble(); //景区纬度 } scenicareaModel.SCENICAREA_FACILITY = drSCENICAREA["SCENICAREA_FACILITY"].ToString(); //景区设施 scenicareaModel.SCENICAREA_INFO = drSCENICAREA["SCENICAREA_INFO"].ToString(); //景区简介 scenicareaModel.SCENICAREA_OPENHOURS = drSCENICAREA["SCENICAREA_OPENHOURS"].ToString(); //开放时间 if (drSCENICAREA["TICKET_PRICE"].ToString() != "") { scenicareaModel.TICKET_PRICE = drSCENICAREA["TICKET_PRICE"].TryParseToDouble(); //门票价格 } scenicareaModel.SCENICAREA_LEVEL = drSCENICAREA["SCENICAREA_LEVEL"].ToString(); //景区等级 if (drSCENICAREA["SCENICAREA_SCORE"].ToString() != "") { scenicareaModel.SCENICAREA_SCORE = drSCENICAREA["SCENICAREA_SCORE"].TryParseToDouble(); //景区评分 } if (drSCENICAREA["SCENICAREA_EVALUATENUM"].ToString() != "") { scenicareaModel.SCENICAREA_EVALUATENUM = drSCENICAREA["SCENICAREA_EVALUATENUM"].TryParseToInt(); //评价条数 } scenicareaModel.SCENICAREA_PHONE = drSCENICAREA["SCENICAREA_PHONE"].ToString(); //联系电话 scenicareaModel.SCENICAREA_EMAIL = drSCENICAREA["SCENICAREA_EMAIL"].ToString(); //联系邮箱 scenicareaModel.SCENICAREA_WEBSITE = drSCENICAREA["SCENICAREA_WEBSITE"].ToString(); //官方网站 if (drSCENICAREA["SCENICAREA_STATE"].ToString() != "") { scenicareaModel.SCENICAREA_STATE = drSCENICAREA["SCENICAREA_STATE"].TryParseToShort(); //景区状态 } if (drSCENICAREA["STAFF_ID"].ToString() != "") { scenicareaModel.STAFF_ID = drSCENICAREA["STAFF_ID"].TryParseToInt(); //操作人内码 } scenicareaModel.STAFF_NAME = drSCENICAREA["STAFF_NAME"].ToString(); //操作人员 if (drSCENICAREA["OPERATE_DATE"].ToString() != "") { scenicareaModel.OPERATE_DATE = drSCENICAREA["OPERATE_DATE"].TryParseToDateTime(); //操作时间 } scenicareaModel.SCENICAREA_DESC = drSCENICAREA["SCENICAREA_DESC"].ToString(); //备注说明 } #endregion #endregion #region 获取景区信息表明细 /// /// 获取景区信息表明细 /// /// 事务管理器 /// 景区信息表内码 public static Model.SCENICAREAModel GetSCENICAREADetail(Transaction transaction, int SCENICAREAId) { Model.SCENICAREAModel scenicareaModel = new Model.SCENICAREAModel(); string WhereSQL = "WHERE SCENICAREA_ID = " + SCENICAREAId; //查询明细数据 DataTable dtSCENICAREA = new Business.APPMANAGE(transaction).ExecuteDataTable( "SELECT * FROM MOBILESERVICE_PLATFORM.T_SCENICAREA " + WhereSQL); if (dtSCENICAREA.Rows.Count > 0) { //绑定景区信息表数据对象 BindDataRowToModel(dtSCENICAREA.Rows[0], scenicareaModel); } return scenicareaModel; } #endregion #region 同步景区信息表 /// /// 赋值景区信息表数据对象 /// /// 事务管理器 /// 景区信息表数据对象 public static bool SynchroSCENICAREA(Transaction transaction, Model.SCENICAREAModel scenicareaModel) { bool SynchroFlag = true; string SQLString; List excludeField = new List(); Dictionary dateFieldList = new Dictionary(); string tableName = "MOBILESERVICE_PLATFORM.T_SCENICAREA", keyField = "SCENICAREA_ID", seqName = "SEQ_SCENICAREA"; Business.APPMANAGE _APPMANAGE = new Business.APPMANAGE(transaction); #region 添加SQL语句中需要排除在外的字段 excludeField.Add("PROVINCE_CODES"); excludeField.Add("SCENICAREA_TYPES"); excludeField.Add("SCENICAREA_LEVELS"); excludeField.Add("SCENICAREA_STATES"); #endregion #region 添加SQL语句中日期相关字段的执行语句 #endregion if (scenicareaModel.SCENICAREA_ID != null) { string WhereSQL = " WHERE SCENICAREA_ID = " + scenicareaModel.SCENICAREA_ID; DataTable dtSCENICAREA = _APPMANAGE.ExecuteDataTable( "SELECT * FROM MOBILESERVICE_PLATFORM.T_SCENICAREA" + WhereSQL); if (dtSCENICAREA.Rows.Count > 0) { SQLString = OperationDataHelper.GetTableExcuteSQL( scenicareaModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL); } else { return false; } } else { DataTable dtSCENICAREA = _APPMANAGE.ExecuteDataTable( "SELECT " + seqName + ".NEXTVAL FROM DUAL"); scenicareaModel.SCENICAREA_ID = dtSCENICAREA.Rows[0][0].TryParseToInt(); SQLString = OperationDataHelper.GetTableExcuteSQL( scenicareaModel, 0, tableName, keyField, seqName, dateFieldList, excludeField); } _APPMANAGE.ExecuteNonQuery(SQLString, null); return SynchroFlag; } #endregion #region 删除景区信息表 /// /// 删除景区信息表 /// /// 事务管理器 /// 景区信息表内码 public static bool DeleteSCENICAREA(Transaction transaction, int? SCENICAREAId) { bool DeleteFlag = false; if (SCENICAREAId != null) { string SQLString = "UPDATE MOBILESERVICE_PLATFORM.T_SCENICAREA SET SCENICAREA_STATE = 0 WHERE SCENICAREA_ID = " + SCENICAREAId; int ExcuteCount = new Business.APPMANAGE(transaction).ExecuteNonQuery(SQLString, null); if (ExcuteCount > 0) { DeleteFlag = true; } } return DeleteFlag; } #endregion } }