|
@@ -15,10 +15,12 @@ using OASystem.Domain.ViewModels.Groups;
|
|
|
using OASystem.Domain.ViewModels.JuHeExchangeRate;
|
|
|
using OASystem.Infrastructure.Repositories.CRM;
|
|
|
using OASystem.Infrastructure.Repositories.Groups;
|
|
|
+using System.Data;
|
|
|
using System.IdentityModel.Tokens.Jwt;
|
|
|
using System.IO.Compression;
|
|
|
using System.Security.Claims;
|
|
|
using System.Web;
|
|
|
+using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
|
|
|
|
|
|
namespace OASystem.API.OAMethodLib
|
|
|
{
|
|
@@ -1430,7 +1432,623 @@ namespace OASystem.API.OAMethodLib
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
- #region op行程单
|
|
|
+ #region op行程单,黑屏幕代码
|
|
|
+
|
|
|
+ public static string GetCountryStandingTime(int diId)
|
|
|
+ {
|
|
|
+ DataTable datas = GetTableByBlackCode(diId);
|
|
|
+
|
|
|
+ string countryStr = "";
|
|
|
+ if (datas.Rows.Count > 0 )
|
|
|
+ {
|
|
|
+ var airDatas = from row in datas.AsEnumerable()
|
|
|
+ select new
|
|
|
+ {
|
|
|
+ Three = row.Field<string>("Three"),
|
|
|
+ Day = row.Field<string>("Day"),
|
|
|
+ ArrivedDate = row.Field<string>("ArrivedDate"),
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ //三字码信息
|
|
|
+ List<Res_ThreeCode> listcode = _dirRep._sqlSugar.Queryable<Res_ThreeCode>().Where(x => x.IsDel == 0).ToList();
|
|
|
+ //string countryStr = "";
|
|
|
+ int index = 0;
|
|
|
+ List<string> cityCodes = new List<string>();
|
|
|
+ //去掉开始和结束城市
|
|
|
+ foreach (var row in airDatas)
|
|
|
+ {
|
|
|
+ if (index == 0) cityCodes.Add(row.Three.Substring(3, 3)); //到达国家
|
|
|
+ else if (airDatas.Count()-1 == index) cityCodes.Add(row.Three.Substring(0, 3)); //到达国家
|
|
|
+ else cityCodes.Add(row.Three.Substring(0, 3)); //到达国家
|
|
|
+
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ cityCodes = cityCodes.Distinct().ToList();
|
|
|
+
|
|
|
+ foreach (var item in cityCodes)
|
|
|
+ {
|
|
|
+ var airData = airDatas.Where(it => it.Three.Contains(item)).ToList();
|
|
|
+ string country = listcode.Find(it => it.Three.Equals(item))?.Country ?? "Unknown";
|
|
|
+ if (country.Equals("中国"))
|
|
|
+ {
|
|
|
+ country = listcode.Find(it => it.Three.Equals(item))?.City ?? "Unknown";
|
|
|
+ }
|
|
|
+ int days = 0;
|
|
|
+ if (airData.Count == 2)
|
|
|
+ {
|
|
|
+ DateTime arr_dt = Convert.ToDateTime(airData[0].ArrivedDate); //抵达时间
|
|
|
+ DateTime dep_dt = Convert.ToDateTime(airData[1].Day); //离开时间
|
|
|
+ days = (dep_dt - arr_dt).Days;
|
|
|
+ countryStr += $@"{country}停留{days}日、";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (countryStr.Length > 0) countryStr = countryStr.Substring(0, countryStr.Length - 1);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return countryStr;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///根据机票黑屏代码整理DataTable
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="diid"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static DataTable GetTableByBlackCode(int diid)
|
|
|
+ {
|
|
|
+ //黑屏代码信息
|
|
|
+ List<Air_TicketBlackCode> listcode = _dirRep._sqlSugar.Queryable<Air_TicketBlackCode>().Where(x => x.DiId == diid && x.IsDel == 0).ToList();
|
|
|
+
|
|
|
+ //测试数据为序号,航班号,起飞日期,三字码,起飞时刻,到达时刻,出发航站楼,到达航站楼,机型,飞行时间
|
|
|
+ //1.3U8391 TU17NOV CTUCAI 0220 0715 T1 T2 330 10H55M
|
|
|
+ DataTable dt = new DataTable();
|
|
|
+ dt.Columns.Add("Fliagtcode", typeof(string)); //航班号
|
|
|
+ dt.Columns.Add("Date", typeof(string));//起飞日期
|
|
|
+ dt.Columns.Add("Three", typeof(string));//三字码
|
|
|
+ dt.Columns.Add("StartTime", typeof(string));//起飞时刻
|
|
|
+ dt.Columns.Add("EndTime", typeof(string));//到达时刻
|
|
|
+ dt.Columns.Add("StartBuilding", typeof(string));//出发航站楼
|
|
|
+ dt.Columns.Add("EndBuilding", typeof(string));//到达航站楼
|
|
|
+ dt.Columns.Add("AirModel", typeof(string)); //机型
|
|
|
+ dt.Columns.Add("FlightTime", typeof(string));//飞行时间
|
|
|
+ dt.Columns.Add("Day", typeof(string));//整理的起飞日期;作为排序依据
|
|
|
+ dt.Columns.Add("ArrivedDate", typeof(string));//整理的到达日期
|
|
|
+ dt.Columns.Add("Error", typeof(string));//整理的到达日期
|
|
|
+ dt.Columns.Add("Sign", typeof(string));//标识:0表示为原生黑屏代码、1表示“+1”新增的黑屏代码
|
|
|
+
|
|
|
+ //判断是否录入黑屏代码
|
|
|
+ if (listcode.Count() == 0 || listcode == null)
|
|
|
+ {
|
|
|
+ dt.Rows.Add(null, null, null, null, null, null, null, null, null, null, null, "黑屏代码未录入!", null);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //读取单段黑屏代码
|
|
|
+ for (int i = 0; i < listcode.Count; i++)
|
|
|
+ {
|
|
|
+ //去除序号
|
|
|
+ string[] CodeList = Regex.Split(listcode[i].BlackCode, "\\d+\\.", RegexOptions.IgnoreCase);
|
|
|
+ //去除多余空格,方法一Linq扩展方法
|
|
|
+ CodeList = CodeList.Where(str => str != "").ToArray();
|
|
|
+ CodeList = CodeList.Where(str => str != " ").ToArray();
|
|
|
+
|
|
|
+ //年
|
|
|
+ int year = Convert.ToInt32(DateTime.Now.Year.ToString());
|
|
|
+
|
|
|
+ //读取单条黑屏代码
|
|
|
+ for (int j = 0; j < CodeList.Count(); j++)
|
|
|
+ {
|
|
|
+ //去除多余空格,方法二使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries
|
|
|
+ CodeList[j] = CodeList[j].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty).TrimStart().TrimEnd();
|
|
|
+ string[] Info = CodeList[j].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
+
|
|
|
+ //string[] Info = CodeList[j].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty)
|
|
|
+ // .TrimStart().TrimEnd().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
+
|
|
|
+ //去除多余空格
|
|
|
+ Info = Info.Where(str => str != "").ToArray();
|
|
|
+ Info = Info.Where(str => str != " ").ToArray();
|
|
|
+
|
|
|
+ //判断黑屏代码是否正确拆分; 理应拆成9段
|
|
|
+ if (Info.Count() < 9)
|
|
|
+ {
|
|
|
+ dt.Rows.Add(null, null, null, null, null, null, null, null, null, null, null, "本团组第" + (i + 1) + "段黑屏代码中第" + (j + 1) + " 条有误,请联系机票同事核对", null);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //月
|
|
|
+ int month = Convert.ToInt32(GetLonger(Info[1].Substring(4, 3)));
|
|
|
+ //日
|
|
|
+ int day = Convert.ToInt32(Info[1].Substring(2, 2));
|
|
|
+
|
|
|
+ #region 逐一比较月份,判断是否翻年;逐一比较三字码顶真,判断是否跑错机场
|
|
|
+ if (j > 0)
|
|
|
+ {
|
|
|
+ string[] Temp = CodeList[j - 1].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty)
|
|
|
+ .TrimStart().TrimEnd().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ Temp = Temp.Where(str => str != "").ToArray();
|
|
|
+ Temp = Temp.Where(str => str != " ").ToArray();
|
|
|
+ int monthTemp = Convert.ToInt32(GetLonger(Temp[1].Substring(4, 3)));
|
|
|
+ // 如果相邻月份之差小于0,则证明次一条年份需+1
|
|
|
+ if (month - monthTemp < 0)
|
|
|
+ {
|
|
|
+ year = year + 1;
|
|
|
+ }
|
|
|
+ //如果相邻代码三字码不顶真,提醒
|
|
|
+ string FootThree = Temp[2].Substring(3, 3);
|
|
|
+ string HeadThree = Info[2].Substring(0, 3);
|
|
|
+ if (FootThree != HeadThree)
|
|
|
+ {
|
|
|
+ //DelegationInfoService s = new DelegationInfoService();
|
|
|
+ //UsersService us = new UsersService();
|
|
|
+ //GroupsTaskAssignmentService gts = new GroupsTaskAssignmentService();
|
|
|
+
|
|
|
+ //77 行程
|
|
|
+ List<Grp_GroupsTaskAssignment> list2 = _dirRep._sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(x => x.CTId == 77 && x.DIId == diid && x.IsDel == 0).ToList();
|
|
|
+ foreach (var temp in list2)
|
|
|
+ {
|
|
|
+ //if (temp.UId != 21)
|
|
|
+ //SendAndReturn(us.GetUsersByID(temp.UId).Email,
|
|
|
+ // "黑屏代码提醒",
|
|
|
+ // s.GetDelegationInfoByID(diid).TeamName + "的机票黑屏代码中,相邻航段的三字码不连续,请查看!");
|
|
|
+ }
|
|
|
+
|
|
|
+ //85 机票预订
|
|
|
+ List<Grp_GroupsTaskAssignment> list6 = _dirRep._sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(x => x.CTId == 85 && x.DIId == diid && x.IsDel == 0).ToList();
|
|
|
+ foreach (var temp in list6)
|
|
|
+ {
|
|
|
+ //if (temp.UId != 21)
|
|
|
+ //SendAndReturn(us.GetUsersByID(temp.UId).Email,
|
|
|
+ // "黑屏代码提醒",
|
|
|
+ // s.GetDelegationInfoByID(diid).TeamName + "的机票黑屏代码中,相邻航段的三字码不连续,请查看!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ #region 判断到达日期是否需要加1
|
|
|
+ if (Info[4].Contains("+"))
|
|
|
+ {
|
|
|
+ //日期+1
|
|
|
+ day = day + 1;
|
|
|
+
|
|
|
+ //判断是否进入下一月
|
|
|
+ if (day > Convert.ToInt32(GetDaysByMonth(Info[1].Substring(4, 3), year)))
|
|
|
+ {
|
|
|
+ day = day - Convert.ToInt32(GetDaysByMonth(Info[1].Substring(4, 3), year));
|
|
|
+ month = month + 1;
|
|
|
+
|
|
|
+ //判断是否进入下一年
|
|
|
+ if (month > 12)
|
|
|
+ {
|
|
|
+ month = month - 12;
|
|
|
+ year = year + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //月份整理格式
|
|
|
+ string monthTemp = month.ToString();
|
|
|
+ if (month < 10)
|
|
|
+ {
|
|
|
+ monthTemp = "0" + monthTemp;
|
|
|
+ }
|
|
|
+ //日期整理格式
|
|
|
+ string daytemp = day.ToString();
|
|
|
+ if (day < 10)
|
|
|
+ {
|
|
|
+
|
|
|
+ daytemp = "0" + daytemp;
|
|
|
+ }
|
|
|
+
|
|
|
+ string temp = Info[4].Split('+')[0];
|
|
|
+
|
|
|
+ //添加起飞数据
|
|
|
+ dt.Rows.Add(Info[0],
|
|
|
+ Info[1],
|
|
|
+ Info[2],
|
|
|
+ Info[3],
|
|
|
+ temp,
|
|
|
+ Info[5],
|
|
|
+ Info[6],
|
|
|
+ Info[7],
|
|
|
+ Info[8],
|
|
|
+ year + "-" + GetLonger(Info[1].Substring(4, 3)) + "-" + Info[1].Substring(2, 2),
|
|
|
+ year + "-" + monthTemp + "-" + daytemp,
|
|
|
+ "",
|
|
|
+ "0");
|
|
|
+ //加1天,添加到达数据
|
|
|
+ dt.Rows.Add(Info[0],
|
|
|
+ Info[1].Replace(Info[1].Substring(2, 2), daytemp),
|
|
|
+ Info[2],
|
|
|
+ Info[3],
|
|
|
+ temp,
|
|
|
+ Info[5],
|
|
|
+ Info[6],
|
|
|
+ Info[7],
|
|
|
+ Info[8],
|
|
|
+ year + "-" + monthTemp + "-" + daytemp,
|
|
|
+ year + "-" + monthTemp + "-" + daytemp,
|
|
|
+ "",
|
|
|
+ "1");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //月份整理格式
|
|
|
+ string monthTemp = month.ToString();
|
|
|
+ if (month < 10)
|
|
|
+ {
|
|
|
+ monthTemp = "0" + monthTemp;
|
|
|
+ }
|
|
|
+ //日期整理格式
|
|
|
+ string daytemp = day.ToString();
|
|
|
+ if (day < 10)
|
|
|
+ {
|
|
|
+
|
|
|
+ daytemp = "0" + daytemp;
|
|
|
+ }
|
|
|
+
|
|
|
+ dt.Rows.Add(Info[0],
|
|
|
+ Info[1],
|
|
|
+ Info[2],
|
|
|
+ Info[3],
|
|
|
+ Info[4],
|
|
|
+ Info[5],
|
|
|
+ Info[6],
|
|
|
+ Info[7],
|
|
|
+ Info[8],
|
|
|
+ year + "-" + monthTemp + "-" + daytemp,
|
|
|
+ year + "-" + monthTemp + "-" + daytemp,
|
|
|
+ "",
|
|
|
+ "0");
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ string exstr = ex.Message.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //排序
|
|
|
+ dt.DefaultView.Sort = "Day asc";
|
|
|
+ dt = dt.DefaultView.ToTable();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return dt;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 根据星期,月份的缩写,转换成数字或者全称
|
|
|
+ /// 根据币种中文名称返回币种代码
|
|
|
+ /// 根据数字返回机型型号【2、3开头的就是空客,比如空客320,7开头的就是波音,比如波音777】
|
|
|
+ /// 20210903贾文滔
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="startDate"></param>
|
|
|
+ /// <param name="endDate"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static string GetLonger(string temp)
|
|
|
+ {
|
|
|
+ string str = "";
|
|
|
+ switch (temp.ToUpper())
|
|
|
+ {
|
|
|
+ case "美元":
|
|
|
+ str = "USD";
|
|
|
+ break;
|
|
|
+ case "日元":
|
|
|
+ str = "JPY";
|
|
|
+ break;
|
|
|
+ case "英镑":
|
|
|
+ str = "GBP";
|
|
|
+ break;
|
|
|
+ case "欧元":
|
|
|
+ str = "EUR";
|
|
|
+ break;
|
|
|
+ case "港币":
|
|
|
+ str = "HKD";
|
|
|
+ break;
|
|
|
+ case "MO":
|
|
|
+ str = "星期一";
|
|
|
+ break;
|
|
|
+ case "TU":
|
|
|
+ str = "星期二";
|
|
|
+ break;
|
|
|
+ case "WE":
|
|
|
+ str = "星期三";
|
|
|
+ break;
|
|
|
+ case "TH":
|
|
|
+ str = "星期四";
|
|
|
+ break;
|
|
|
+ case "FR":
|
|
|
+ str = "星期五";
|
|
|
+ break;
|
|
|
+ case "SA":
|
|
|
+ str = "星期六";
|
|
|
+ break;
|
|
|
+ case "SU":
|
|
|
+ str = "星期天";
|
|
|
+ break;
|
|
|
+ case "JAN":
|
|
|
+ str = "01";
|
|
|
+ break;
|
|
|
+ case "FEB":
|
|
|
+ str = "02";
|
|
|
+ break;
|
|
|
+ case "MAR":
|
|
|
+ str = "03";
|
|
|
+ break;
|
|
|
+ case "APR":
|
|
|
+ str = "04";
|
|
|
+ break;
|
|
|
+ case "MAY":
|
|
|
+ str = "05";
|
|
|
+ break;
|
|
|
+ case "JUN":
|
|
|
+ str = "06";
|
|
|
+ break;
|
|
|
+ case "JUL":
|
|
|
+ str = "07";
|
|
|
+ break;
|
|
|
+ case "AUG":
|
|
|
+ str = "08";
|
|
|
+ break;
|
|
|
+ case "SEP":
|
|
|
+ str = "09";
|
|
|
+ break;
|
|
|
+ case "OCT":
|
|
|
+ str = "10";
|
|
|
+ break;
|
|
|
+ case "NOV":
|
|
|
+ str = "11";
|
|
|
+ break;
|
|
|
+ case "DEC":
|
|
|
+ str = "12";
|
|
|
+ break;
|
|
|
+ case "MONDAY":
|
|
|
+ str = "星期一";
|
|
|
+ break;
|
|
|
+ case "TUESDAY":
|
|
|
+ str = "星期二";
|
|
|
+ break;
|
|
|
+ case "WEDNESDAY":
|
|
|
+ str = "星期三";
|
|
|
+ break;
|
|
|
+ case "THURSDAY":
|
|
|
+ str = "星期四";
|
|
|
+ break;
|
|
|
+ case "FRIDAY":
|
|
|
+ str = "星期五";
|
|
|
+ break;
|
|
|
+ case "SATURDAY":
|
|
|
+ str = "星期六";
|
|
|
+ break;
|
|
|
+ case "SUNDAY":
|
|
|
+ str = "星期日";
|
|
|
+ break;
|
|
|
+ case "01":
|
|
|
+ str = "JAN";
|
|
|
+ break;
|
|
|
+ case "02":
|
|
|
+ str = "FEB";
|
|
|
+ break;
|
|
|
+ case "03":
|
|
|
+ str = "MAR";
|
|
|
+ break;
|
|
|
+ case "04":
|
|
|
+ str = "APR";
|
|
|
+ break;
|
|
|
+ case "05":
|
|
|
+ str = "MAY";
|
|
|
+ break;
|
|
|
+ case "06":
|
|
|
+ str = "JUN";
|
|
|
+ break;
|
|
|
+ case "07":
|
|
|
+ str = "JUL";
|
|
|
+ break;
|
|
|
+ case "08":
|
|
|
+ str = "AUG";
|
|
|
+ break;
|
|
|
+ case "09":
|
|
|
+ str = "SEP";
|
|
|
+ break;
|
|
|
+ case "10":
|
|
|
+ str = "OCT";
|
|
|
+ break;
|
|
|
+ case "11":
|
|
|
+ str = "NOV";
|
|
|
+ break;
|
|
|
+ case "12":
|
|
|
+ str = "DEC";
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ str = "空客A";
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ str = "空客A";
|
|
|
+ break;
|
|
|
+ case "7":
|
|
|
+ str = "波音";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 根据月份返回天数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="temp"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static string GetDaysByMonth(string Month, int year)
|
|
|
+ {
|
|
|
+ string str = "";
|
|
|
+ //判断是否是闰年
|
|
|
+ if (DateTime.IsLeapYear(year) == false)
|
|
|
+ {
|
|
|
+ switch (Month.ToUpper())
|
|
|
+ {
|
|
|
+ case "JAN":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "FEB":
|
|
|
+ str = "28";
|
|
|
+ break;
|
|
|
+ case "MAR":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "APR":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "MAY":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "JUN":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "JUL":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "AUG":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "SEP":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "OCT":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "NOV":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "DEC":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "01":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "02":
|
|
|
+ str = "28";
|
|
|
+ break;
|
|
|
+ case "03":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "04":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "05":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "06":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "07":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "08":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "09":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "10":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "11":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "12":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ switch (Month.ToUpper())
|
|
|
+ {
|
|
|
+ case "JAN":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "FEB":
|
|
|
+ str = "29";
|
|
|
+ break;
|
|
|
+ case "MAR":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "APR":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "MAY":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "JUN":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "JUL":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "AUG":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "SEP":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "OCT":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "NOV":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "DEC":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "01":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "02":
|
|
|
+ str = "29";
|
|
|
+ break;
|
|
|
+ case "03":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "04":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "05":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "06":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "07":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "08":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "09":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "10":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ case "11":
|
|
|
+ str = "30";
|
|
|
+ break;
|
|
|
+ case "12":
|
|
|
+ str = "31";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return str;
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// op行程单 团组 城市路径
|