using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using SuperMap.RealEstate.ServiceModel; using CMB = SuperMap.RealEstate.Coop.Merchant.Business; using Aliyun.Acs.Dysmsapi.Model.V20170525; using Aliyun.Acs.Core.Profile; using Aliyun.Acs.Core; using HCC = HZQR.Common.Common; using HZQR.Common; namespace EShang.Common { /// /// 公共方法 /// public class CommonHelper { /// /// 数字数组 /// public const string charSet = "0,1,2,3,4,5,6,7,8,9"; #region 方法 -> 将DateTime类型转换为long类型 /// /// 将DateTime类型转换为long类型 /// /// 时间 /// public static long ConvertDataTimeLong(DateTime dt) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); TimeSpan toNow = dt.Subtract(dtStart); long timeStamp = toNow.Ticks; timeStamp = long.Parse(timeStamp.ToString().Substring(0, timeStamp.ToString().Length - 7)); return timeStamp; } #endregion #region 方法 -> 将Long类型转换为DateTime类型 /// /// 将Long类型转换为DateTime类型 /// /// long /// s public static DateTime ConvertLongDateTime(long d) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(d + "0000000"); TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); return dtResult; } /// /// 时间戳(毫秒值)String转换为DateTime类型转换 /// /// 毫秒时间戳 /// public static DateTime TicksToDate(string time) { return new DateTime((Convert.ToInt64(time) * 10000) + 621355968000000000); } #endregion #region 方法 -> 比较两个日期大小,并返回相应日期 /// /// 比较两个日期大小,并返回较大日期 /// /// /// /// s public static string GetLargerDate(string FirstDate, string SecondDate) { if (!FirstDate.Contains("/") && !FirstDate.Contains("-")) { FirstDate = HCC.Common.TranslateDateTime(FirstDate); } if (!SecondDate.Contains("/") && !SecondDate.Contains("-")) { SecondDate = HCC.Common.TranslateDateTime(SecondDate); } return DateTime.Parse(FirstDate) > DateTime.Parse(SecondDate) ? DateTime.Parse(FirstDate).ToShortDateString() : DateTime.Parse(SecondDate).ToShortDateString(); } /// /// 比较两个日期大小,并返回较大时间 /// /// /// /// s public static string GetLargerTime(string FirstTime, string SecondTime) { if (!FirstTime.Contains("/") && !FirstTime.Contains("-")) { FirstTime = HCC.Common.TranslateDateTime(FirstTime); } if (!SecondTime.Contains("/") && !SecondTime.Contains("-")) { SecondTime = HCC.Common.TranslateDateTime(SecondTime); } return DateTime.Parse(FirstTime) > DateTime.Parse(SecondTime) ? DateTime.Parse(FirstTime).ToString() : DateTime.Parse(SecondTime).ToString(); } /// /// 比较两个日期大小,并返回较小日期 /// /// /// /// s public static string GetSmallerDate(string FirstDate, string SecondDate) { if (!FirstDate.Contains("/") && !FirstDate.Contains("-")) { FirstDate = HCC.Common.TranslateDateTime(FirstDate); } if (!SecondDate.Contains("/") && !SecondDate.Contains("-")) { SecondDate = HCC.Common.TranslateDateTime(SecondDate); } return DateTime.Parse(FirstDate) > DateTime.Parse(SecondDate) ? DateTime.Parse(SecondDate).ToShortDateString() : DateTime.Parse(FirstDate).ToShortDateString(); } /// /// 比较两个日期大小,并返回较小时间 /// /// /// /// s public static string GetSmallerTime(string FirstTime, string SecondTime) { if (!FirstTime.Contains("/") && !FirstTime.Contains("-")) { FirstTime = HCC.Common.TranslateDateTime(FirstTime); } if (!SecondTime.Contains("/") && !SecondTime.Contains("-")) { SecondTime = HCC.Common.TranslateDateTime(SecondTime); } return DateTime.Parse(FirstTime) > DateTime.Parse(SecondTime) ? DateTime.Parse(SecondTime).ToString() : DateTime.Parse(FirstTime).ToString(); } #endregion #region 方法 -> 枚举参数过滤处理 /// /// 枚举参数过滤处理,解决麻烦的SQL拼接 /// (对照数据表给定添加、更新的参数枚举类型ValueType) /// /// 数据类型 /// 数据值 /// public static string IsArrayType(ValueType _Type, object _String = null) { if (_String != null && _String.ToString() != "") { switch (_Type) { case ValueType.String: return string.Format("'{0}'", _String.ToString().Replace("'", " ")); case ValueType.Int: case ValueType.Double: case ValueType.Boolean: return _String.ToString(); case ValueType.DateTime: return string.Format("TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS')", _String); } } return "null"; } /// /// 枚举参数过滤处理,解决麻烦的SQL拼接 /// (对照数据表给定添加、更新的参数枚举类型ValueType) /// /// 数据类型 /// 是否使用缺省值 /// private static string IsArrayType(ValueType _Type, bool _DefaultValue = false) { if (_DefaultValue) { switch (_Type) { case ValueType.String: return "''"; case ValueType.Int: case ValueType.Double: case ValueType.Boolean: return "0"; case ValueType.DateTime: return string.Format("TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS')", DateTime.Now.ToString()); } } return "null"; } #endregion #region 方法 -> 定义5个类型的枚举 /// /// 定义5个类型的枚举 /// public enum ValueType { /// /// 字符串 /// String = 0, /// /// 整型 /// Int = 1, /// /// 双精度 /// Double = 2, /// /// true或false /// Boolean = 3, /// /// 日期 /// DateTime = 4 } #endregion #region 方法 -> SQL语句分页 /// /// SQL语句分页 /// /// SQL语句 /// 开始的行号 /// 结束的行号 /// public static string GetPageSql(string sql, int? rn = null, int? rowNum = null) { if (rn != null && rowNum != null) { //分页查询 sql = string.Format(@" SELECT * FROM ( SELECT ROWNUM RN,N.* FROM ({0}) N WHERE ROWNUM<={1} ) M WHERE M.RN>={2}", sql, rowNum, rn); } return sql; } #endregion #region 方法 -> 添加图片 /// /// 添加图片 /// /// 事务 /// 图片路径数组 /// 业务关联表Id /// 业务关联表名称 /// 图片类型 /// public static string AddImageByFile(Transaction transaction, string imgArr, int tableId, string tableName, int imageType) { string imageids = string.Empty; //图片集合 try { #region 图片信息保存 foreach (string imagePath in imgArr.Split(",")) { using (CMB.IMAGE _IMAGE = new CMB.IMAGE(transaction)) { _IMAGE.IMAGE_PATH = imagePath; _IMAGE.IMAGE_DATE = DateTime.Now; _IMAGE.TABLE_ID = tableId; _IMAGE.TABLE_NAME = tableName; _IMAGE.IMAGE_TYPE = (short)imageType; _IMAGE.ISVALID = 1; _IMAGE.Insert(); imageids += (string.IsNullOrEmpty(imageids) ? "" : ",") + _IMAGE.IMAGE_ID; } } #endregion } catch { } return imageids; } #endregion #region 方法 -> 查询图片 /// /// 添加图片 /// /// 事务 /// 表名 /// 表内码 /// 图片类型 /// public static DataTable ImageList(Transaction transaction, string tableName, int? tableId = null, int? imgType = null) { //根据业务表查询图库 DataTable dtImage = new CMB.IMAGE(transaction).FillDataTable( "WHERE TABLE_NAME = '" + tableName + "'" + " AND TABLE_ID = '" + tableId + "'" + " AND IMAGE_TYPE = '" + imgType + "'"); return dtImage; } #endregion #region 方法 -> 为属性赋值 /// /// 为属性赋值 /// /// 源单类 /// 需要转换的实体类 /// /// public static S EntityConvert(T source) { S target = Activator.CreateInstance(); var sType = source.GetType(); var dType = typeof(S); foreach (PropertyInfo now in sType.GetProperties()) { var name = dType.GetProperty(now.Name); if (name == null) continue; dType.GetProperty(now.Name).SetValue(target, now.GetValue(source)); } return target; } #endregion #region 方法 -> 获取指定页码Datatable数据 /// /// 获取指定页码Datatable数据 /// /// 源数据 /// 每页返回的数量 /// 返回第几页数据 /// Datatable数据格式 public static DataTable GetDataTableWithPageSize(DataTable dtOrigin, int pageSize, int pageIndex) { if (pageIndex == 0) { pageIndex = 1; } if (pageSize == 0) { pageSize = 10; } //克隆数据源 DataTable dtClone = dtOrigin.Clone(); dtClone.Columns.Add("RN", typeof(int)); //开始插入数据源 for (int RowCount = 0; RowCount < pageSize; RowCount++) { //获取当前数据源行数 int RN = pageSize * (pageIndex - 1) + RowCount; //如果行数大于数据源实际数量,则直接跳过 if (RN >= dtOrigin.Rows.Count) { break; } //获取当前数据源内容 DataRow EndAccountDataRow = dtOrigin.Rows[RN]; //创建一个新 System.Data.DataRow 具有与表相同的架构 DataRow _DataRow = dtClone.NewRow(); //开始插入数据 for (int ColumnsCount = 0; ColumnsCount < dtOrigin.Columns.Count; ColumnsCount++) { _DataRow[ColumnsCount] = EndAccountDataRow[ColumnsCount]; } _DataRow["RN"] = RN + 1; //将数据加入到克隆的DataTable中 dtClone.Rows.Add(_DataRow); } return dtClone; } #endregion #region 方法 -> 生成验证码 /// /// 生成验证码 /// 位数 /// 验证码字符串 public static string CreateRandomCode(int n) { string[] CharArray = charSet.Split(','); string randomCode = ""; int temp = -1; Random rand = new Random(); for (int i = 0; i < n; i++) { if (temp != -1) { rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); } int t = rand.Next(CharArray.Length - 1); if (temp == t) { return CreateRandomCode(n); } temp = t; randomCode += CharArray[t]; } return randomCode; } #endregion #region 方法 -> 获取短信验证码 /// /// 获取短信验证码 /// /// 事务管理器 /// 手机号码 /// 短信签名 /// 商家名称 /// public static string GetSMSIdentityCode(Transaction _Transaction, string PhoneNumber, string SignName, string BusinessName) { string identityCode = CreateRandomCode(4); string product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改) string domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改) string accessKeyId = Config.AppSettings.accessKeyId;//你的accessKeyId,参考本文档步骤2 string accessKeySecret = Config.AppSettings.accessKeySecret;//你的accessKeySecret,参考本文档步骤2 IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret); //IAcsClient client = new DefaultAcsClient(profile); // SingleSendSmsRequest request = new SingleSendSmsRequest(); //初始化ascClient,暂时不支持多region(请勿修改) DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码, //批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 PhoneNumbers = PhoneNumber, //必填:短信签名-可在短信控制台中找到 SignName = string.IsNullOrEmpty(SignName) ? "驿商科技" : SignName, //必填:短信模板-可在短信控制台中找到 TemplateCode = "SMS_65150085", //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 TemplateParam = "{\"code\":\"" + identityCode + "\",\"product\":\"" + (string.IsNullOrEmpty(BusinessName) ? "驿商云平台" : BusinessName) + "\"}" }; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); if (sendSmsResponse.Code.ToLower() == "ok") { string SQLString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SMSIDENTITY ( SMSIDENTITY_ID,CELLPHONE_NUMBER,IDENTITY_DATE,IDENTITY_CODE) VALUES (HIGHWAY_EXCHANGE.SEQ_SMSIDENTITY.NEXTVAL,'{0}',SYSDATE,'{1}')", PhoneNumber, identityCode); new CMB.AUTOTYPE(_Transaction).ExecuteNonQuery(SQLString, null); } return identityCode; } #endregion #region 方法 -> 合并Datatable中某个字符串的值 /// /// 合并Datatable中某个字符串的值,返回list /// /// 数据源 /// 字段名称 /// 排序字段 /// public static List JoinListFromDataTable(DataTable dataTable, string FieldName, string SortStr = "") { List JoinStr = new List(); foreach (DataRow dataRow in dataTable.DefaultView.ToTable(true, FieldName).Select("", SortStr)) { if (dataRow[FieldName].ToString() != "") { JoinStr.Add(dataRow[FieldName].ToString()); } } return JoinStr; } /// /// 合并Datatable中某个字符串的值,返回string /// /// 数据源 /// 字段名称 /// 分隔符,默认为, /// 排序字段 /// public static string JoinStrFromDataTable(DataTable dataTable, string FieldName, string SeparateStr = ",", string SortStr = "") { string JoinStr = ""; foreach (DataRow dataRow in dataTable.DefaultView.ToTable(true, FieldName).Select("", SortStr)) { if (dataRow[FieldName].ToString() != "") { JoinStr += (JoinStr == "" ? "" : SeparateStr) + dataRow[FieldName]; } } return JoinStr; } #endregion #region 方法 -> 计算中位数 /// /// 计算中位数 /// /// Datatable数据源 /// 要计算的字段名称 /// public static string getMedian(DataTable datas, string fieldName) { string median; if (datas.Rows.Count == 0) { median = ""; } else if (datas.Rows.Count == 1) { median = datas.Rows[0][fieldName].ToString(); } else if (datas.Rows.Count % 2 == 0) { //如果数据源的行数为偶数,则取中间两个数据的平均值作为返回值 int index = datas.Rows.Count / 2; median = ((datas.Rows[index - 1][fieldName].TryParseToDecimal() + datas.Rows[index][fieldName].TryParseToDecimal()) / 2).ToString(); } else { //如果数据源的行数为奇数,则取中间的数据作为返回值 median = datas.Rows[datas.Rows.Count / 2][fieldName].ToString(); } return median; } #endregion #region 方法 -> 存储数字型数据至oracle数据库 /// /// 存储数字型数据至oracle数据库 /// /// 源数据值 /// public static string GetNumberIntoOra(object OriValue) { if (OriValue == null) { return "NULL"; } else { return GetNumberIntoOra(OriValue.ToString()); } } /// /// 存储数字型数据至oracle数据库 /// /// 源数据值 /// public static string GetNumberIntoOra(string OriValue) { if (string.IsNullOrWhiteSpace(OriValue)) { return "NULL"; } else { return OriValue; } } #endregion #region 方法 -> 存储日期格式型数据至oracle数据库 /// /// 存储日期格式型数据至oracle数据库 /// /// 源数据值 /// public static string GetDateTimeIntoOra(string OriValue) { string SQLValue = ""; if (string.IsNullOrWhiteSpace(OriValue)) { SQLValue = "NULL"; } else { SQLValue = "TO_DATE('" + OriValue + "', 'YYYY/MM/DD HH24:MI:SS')"; } return SQLValue; } #endregion #region 方法 -> 获取当月的第一天 /// /// 获取当月的第一天 /// /// 月份,格式yyyyMM /// 返回结果:日期字符串,格式yyyy-MM-dd public static string GetFirstDayOfMonth(string Month) { return Month.Substring(0, 4) + "-" + Month.Substring(4, 2) + "-01"; } #endregion #region 方法 -> 获取当月的最后一天 /// /// 获取当月的最后一天 /// /// 月份,格式yyyyMM /// 最后一天是否包含今天,如果是则返回今天,否则返回昨天 /// 返回结果:日期字符串,格式yyyy-MM-dd public static string GetLastDayOfMonth(string Month, bool ContainToday = true) { //获取当月的第一天 string FirstDay = GetFirstDayOfMonth(Month); //当月最后一天=当月第一天+1个月-1天 DateTime LastDay = DateTime.Parse(FirstDay).AddMonths(1).AddDays(-1); //如果最后一天比今天大,则按今天的日期返回,否则返回最后一天的日期 if (LastDay >= DateTime.Now.Date) { if (ContainToday) { return DateTime.Now.ToString("yyyy-MM-dd"); } else { return DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); } } else { return LastDay.ToString("yyyy-MM-dd"); } } #endregion #region 方法 -> 获取下一个月 /// /// 获取下一个月 /// /// 月份,格式yyyyMM /// 返回结果:日期字符串,格式yyyyMM public static string GetNextMonth(string Month) { if (Month.EndsWith("12")) { return int.Parse(Month.Substring(0, 4)) + 1 + "01"; } return (int.Parse(Month) + 1).ToString("00"); } #endregion #region 方法 -> 获取上一个月 /// /// 获取上一个月 /// /// 月份,格式yyyyMM /// 扣减月数 /// 返回结果:日期字符串,格式yyyyMM public static string GetLastMonth(string Month, int AddMonth = -1) { if (AddMonth != -1) { return DateTime.Parse(HCC.Common.TranslateDateTime(Month)).AddMonths(AddMonth).ToString("yyyyMM"); } if (Month.EndsWith("01")) { return (int.Parse(Month.Substring(0, 4)) - 1) + "12"; } return Month.Substring(0, 4) + (int.Parse(Month.Substring(4, 2)) - 1).ToString("00"); } #endregion #region 方法 -> 根据开始结束时间计算月数 /// /// 根据开始结束时间计算月数 /// /// 开始日期 /// 结束日期 /// public static decimal calcMonthCount(DateTime StartDate, DateTime EndDate) { //计算第一个月的月数,1-10计算为1个月,11-20计算为0.5个月,20之后不计算 decimal startCount = StartDate.Day < 11 ? 1 : StartDate.Day < 21 ? (decimal)0.5 : 0; startCount -= EndDate.Day < 11 ? 1 : EndDate.Day < 21 ? (decimal)0.5 : 0; return (EndDate.Year - StartDate.Year) * 12 + EndDate.Month - StartDate.Month + startCount; } #endregion #region 方法 -> 获取嵌套列表最低一级数据集 /// /// 获取嵌套列表最低一级数据集 /// /// /// 原嵌套列表 /// 转换后的数据集 public static void GetNestingData(List> nestingList, List DataList) { foreach (Model.NestingModel nestingModel in nestingList) { if (nestingModel.children == null || nestingModel.children.Count == 0) { DataList.Add(nestingModel.node); } else { GetNestingData(nestingModel.children, DataList); } } } #endregion #region 方法 -> 计算标准差 /// /// 样本标准差和总体标准差计算 /// /// 数据数组 /// 样本标准差:sqrt(sum((xn-x)^2)/(n-1)) /// 总体标准差:sqrt(sum((xn-x)^2)/n) public static void CalcStandardDeviation(List arrData, out double std_dev, out double STDP) //计算标准偏差 { decimal xAvg = arrData.Average();//样本平均值 double sSum = 0;//方差的分子 int arrNum = arrData.Count;//得到样本数量,分母 foreach (decimal data in arrData)//得到方差的分子 { sSum += Math.Pow((double)(data - xAvg), 2); } std_dev = Math.Sqrt(sSum / (arrNum - 1));//样本标准差 STDP = Math.Sqrt(sSum / arrNum);//总体标准差 } #endregion #region 方法 -> 将字符串编码为 Base64 /// /// 将字符串编码为 Base64 /// /// /// public static string Base64Encode(string text) { return (Convert.ToBase64String(Encoding.UTF8.GetBytes(text))); } #endregion //------------------以下是低代码平台的相关方法--------------------------// #region 方法 -> 文本内容增加空格,数量由入参控制 /// /// 文本内容增加空格,数量由入参控制 /// /// 空格数量 /// public static string GetTabChar(int TabCount) { StringBuilder _TabChar = new StringBuilder(); int _Count = TabCount * 4; for (int i = 0; i < _Count; i++) { _TabChar.Append(" "); } return _TabChar.ToString(); ; } #endregion #region 方法 -> 增加代码注解 /// /// 增加代码注解
/// 在代码里面生成的中文释义 ///
/// 字符串 /// 注解内容 /// 内容缩进格数 /// 方法中的参数注解,可以为空 public static void BuildCodeSummary(StringBuilder stringBuilder, string SummaryContent, int StartIndex = 0, Dictionary parameters = null) { stringBuilder.AppendLine(GetTabChar(StartIndex) + "/// "); stringBuilder.AppendLine(GetTabChar(StartIndex) + "/// " + SummaryContent); stringBuilder.AppendLine(GetTabChar(StartIndex) + "/// "); if (parameters != null) { foreach (string key in parameters.Keys) { stringBuilder.AppendLine(GetTabChar(2) + "/// " + parameters[key] + ""); } } } #endregion #region 方法 -> 增加catch方法代码 /// /// 增加catch方法代码 /// /// 字符串 /// 失败命名:例如“查询”失败 /// 日志名称 /// 内容缩进格数 public static void BuildCatchCode(StringBuilder stringBuilder, string FailName, string LogName, int StartIndex = 0) { stringBuilder.AppendLine(GetTabChar(StartIndex) + "catch (Exception ex)"); stringBuilder.AppendLine(GetTabChar(StartIndex) + "{"); stringBuilder.AppendLine(GetTabChar(StartIndex + 1) + "//事务回滚"); stringBuilder.AppendLine(GetTabChar(StartIndex + 1) + "transaction.Rollback();"); //记录异常日志 stringBuilder.AppendLine(GetTabChar(StartIndex + 1) + "LogUtil.WriteLog(null, " + "\"" + FailName + "失败!失败原因:\" + ex.Message + \"\\r\\n\" + Parameter,"); stringBuilder.AppendLine(GetTabChar(StartIndex + 2) + "DateTime.Now.ToString(\"yyyyMMdd\") + \"_" + LogName + "\");"); stringBuilder.AppendLine(GetTabChar(StartIndex + 1) + "return Ok(Method.Common.ReturnJson(999, \"查询失败\" + ex.Message));"); stringBuilder.AppendLine(GetTabChar(StartIndex) + "}"); } #endregion #region 方法 -> 获取命名空间简写 /// /// 获取命名空间简写 /// /// 命名空间全称 /// public static string GetNameSpaceShortName(string WholeNameSpace) { string ShortName = ""; foreach (string NameSpace in WholeNameSpace.Split('.')) { ShortName += NameSpace.Substring(0, 1); } return ShortName; } #endregion #region 方法 -> 转换字符串大小写 /// /// 返回首字母大写、其余字符小写的字符串model对象 /// /// 字符串 /// 原字符串CLASS_NAME,返回Class_nameModel public static string GetClassModelName(string className) { return className + "Model"; } /// /// 返回首字母大写、其余字符小写的字符串 /// /// 字符串 /// 原字符串CLASS_NAME,返回Class_name public static string GetULClassName(string className) { return className.Substring(0, 1).ToUpper() + className.Substring(1, className.Length - 1).ToLower(); } /// /// 返回小写字符串,如果有_,则_后面的第一个字符大写 /// /// 字符串 /// 原字符串CLASS_NAME,返回class_Name public static string GetLUName(string className) { string resName = className.Split('_')[0].ToLower(); //以_分割字符串,从第一个_之后的字符串开始遍历,每段字符串首字母大写其余字母小写 for (int SplitLength = 1; SplitLength < className.Split('_').Length; SplitLength++) { resName += GetULClassName(className.Split('_')[SplitLength]); } return resName; } /// /// 返回首字母小写的字符串 /// 如原字符串CLASS_NAME,返回cLASS_NAME /// /// 字符串 /// public static string GetFLName(string name) { return name.Substring(0, 1).ToLower() + name.Substring(1, name.Length - 1); } #endregion #region 方法 -> 设置时间参数默认值 /// /// 设置时间参数默认值 /// /// 字符串 /// 时间参数默认值 /// 时间参数格式 /// 是否是时间段选择 public static void SetDateInitialValue(StringBuilder stringBuilder, string DefaultDateValueType, string DateFormat, bool IsDateRange) { switch (DefaultDateValueType) { case "1": //默认显示最近一天 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-1, 'day').format('" + DateFormat + "')" : "[moment().add(-1, 'day').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; case "2": //默认显示最近一周 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-1, 'week').format('" + DateFormat + "')" : "[moment().add(-1, 'week').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; case "3": //默认显示最近一月 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-1, 'month').format('" + DateFormat + "')" : "[moment().add(-1, 'month').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; case "4": //默认显示最近三月 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-3, 'month').format('" + DateFormat + "')" : "[moment().add(-3, 'month').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; case "5": //默认显示最近半年 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-6, 'month').format('" + DateFormat + "')" : "[moment().add(-6, 'month').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; case "6": //默认显示最近一年 stringBuilder.AppendLine(GetTabChar(3) + "initialValue: " + (!IsDateRange ? "moment().add(-1, 'year').format('" + DateFormat + "')" : "[moment().add(-1, 'year').format('" + DateFormat + "'), moment().add(-1, 'day').format('" + DateFormat + "')],")); break; } } #endregion #region 方法 -> 设置字段默认排序 /// /// 设置字段默认排序 /// /// 生成代码的字符串 /// 排序方式 /// 代码缩进格数 public static void SetFieldSort(StringBuilder stringBuilder, string OrderByType, int StartIndex = 3) { switch (OrderByType) { case "1"://增加排序效果,但不设置默认排序 stringBuilder.AppendLine(GetTabChar(StartIndex) + "sorter: true,"); break; case "2"://增加排序效果,默认按正序显示 stringBuilder.AppendLine(GetTabChar(StartIndex) + "sorter: true,"); stringBuilder.AppendLine(GetTabChar(StartIndex) + "defaultSortOrder: 'ascend',"); break; case "3"://增加排序效果,默认按倒序显示 stringBuilder.AppendLine(GetTabChar(StartIndex) + "sorter: true,"); stringBuilder.AppendLine(GetTabChar(StartIndex) + "defaultSortOrder: 'descend',"); break; } } #endregion } }