|
@@ -5432,10 +5432,1025 @@ namespace OASystem.API.Controllers
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
public IActionResult ExportTravel(InitOpTravelDto dto)
|
|
public IActionResult ExportTravel(InitOpTravelDto dto)
|
|
|
{
|
|
{
|
|
|
- return Ok();
|
|
|
|
|
|
|
+ var jw = JsonView(false);
|
|
|
|
|
+ //数据源
|
|
|
|
|
+ List<Grp_TravelList> _travelList = new List<Grp_TravelList>();
|
|
|
|
|
+ int diid = 0;
|
|
|
|
|
+ var Find = _sqlSugar.Queryable<Grp_DelegationInfo>().First(x=>x.Id == dto.Diid);
|
|
|
|
|
+ if (Find == null)
|
|
|
|
|
+ {
|
|
|
|
|
+ jw.Msg = "请选择正确的团组!";
|
|
|
|
|
+ return Ok(jw);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ diid = Find.Id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ DataTable dtBlack = null;
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ dtBlack = GetTableByBlackCode(diid);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ jw.Msg = "机票黑屏代码有误!";
|
|
|
|
|
+ return Ok(jw);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ string CityStr1 = "";
|
|
|
|
|
+ List<string> countriesList = new List<string>();
|
|
|
|
|
+ List<string> cityList = new List<string>();
|
|
|
|
|
+
|
|
|
|
|
+ string countriesIntroduction = "";
|
|
|
|
|
+ string cityIntroduction = "";
|
|
|
|
|
+ string timeDifference = "";
|
|
|
|
|
+ string currExchangeRate = "";
|
|
|
|
|
+ string txt_itemPrepare = "";
|
|
|
|
|
+ string txt_specialReminder = "";
|
|
|
|
|
+ string txt_cGPrecautions = "";
|
|
|
|
|
+ string txt_yGCG = "";
|
|
|
|
|
+ string txt_conduct = "";
|
|
|
|
|
+ string txt_commonEnglish = "";
|
|
|
|
|
+
|
|
|
|
|
+ if (dtBlack == null && (dtBlack.Rows[0]["Day"] == null || dtBlack.Rows[0]["Day"].ToString() == ""))
|
|
|
|
|
+ {
|
|
|
|
|
+ //提示
|
|
|
|
|
+
|
|
|
|
|
+ //PublicCode.GetAlertMsg(this, GetType(), dt.Rows[dt.Rows.Count - 1]["Error"].ToString());
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ //创建三字码示例
|
|
|
|
|
+ Res_ThreeCode t = new Res_ThreeCode();
|
|
|
|
|
+ //城市缓存
|
|
|
|
|
+ string city = "";
|
|
|
|
|
+
|
|
|
|
|
+ //出访城市
|
|
|
|
|
+ for (int i = 0; i < dtBlack.Rows.Count; i++)
|
|
|
|
|
+ {
|
|
|
|
|
+ if ((i + 1) < dtBlack.Rows.Count && dtBlack.Rows[i]["Three"].ToString() == dtBlack.Rows[i + 1]["Three"].ToString())
|
|
|
|
|
+ {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (dtBlack.Rows.Count > 0 && (dtBlack.Rows[i]["Three"].ToString() != null && dtBlack.Rows[i]["Three"].ToString() != ""))
|
|
|
|
|
+ {
|
|
|
|
|
+ //出发城市
|
|
|
|
|
+ string cityTemp = dtBlack.Rows[i]["Three"].ToString().Replace("/", string.Empty).Substring(0, 3);
|
|
|
|
|
+ t = _sqlSugar.Queryable<Res_ThreeCode>().First(x => x.Three == cityTemp && x.IsDel == 0);
|
|
|
|
|
+ if (t != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ city = city + "/" + t.City;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ city = city + "/【" + cityTemp + "未收录,请联系机票同事录入】";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (i == dtBlack.Rows.Count - 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ //抵达城市
|
|
|
|
|
+ cityTemp = dtBlack.Rows[i]["Three"].ToString().Replace("/", string.Empty).Substring(3, 3);
|
|
|
|
|
+ t = _sqlSugar.Queryable<Res_ThreeCode>().First(x => x.Three == cityTemp && x.IsDel == 0);
|
|
|
|
|
+ if (t != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ city = city + "/" + t.City;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ city = city + "/【" + cityTemp + "未收录,请联系机票同事录入】";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (city != "" && city != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ string[] cityStr2 = city.Split('/');
|
|
|
|
|
+ string[] strs = cityStr2.Distinct().ToArray(); ;
|
|
|
|
|
+ string str = "";
|
|
|
|
|
+ foreach (var s in strs)
|
|
|
|
|
+ {
|
|
|
|
|
+ str += s + "/";
|
|
|
|
|
+ }
|
|
|
|
|
+ str = str.TrimStart('/');
|
|
|
|
|
+ str = str.TrimEnd('/');
|
|
|
|
|
+ //lblTourCity.Text = "去重前:" + city.TrimStart('/') + "\n 去重后:" + str;
|
|
|
|
|
+ CityStr1 = city.TrimStart('/');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 行程repeater
|
|
|
|
|
+ if (GetByDiid(diid).Count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ _travelList = GetByDiid(diid).Where(x => x.Issel == 1 && x.IsDel == 0).ToList();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ //生成该时间段日期
|
|
|
|
|
+ List<string> timeList = GetTimeListByDataTable(dtBlack);
|
|
|
|
|
+
|
|
|
|
|
+ if (timeList != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ string[] str = new string[timeList.Count];
|
|
|
|
|
+ //rpData.DataSource = str;
|
|
|
|
|
+ //rpData.DataBind();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //创建数据源Table
|
|
|
|
|
+ DataTable dtSource = new DataTable();
|
|
|
|
|
+ dtSource.Columns.Add("Days", typeof(string));
|
|
|
|
|
+ dtSource.Columns.Add("Date", typeof(string));
|
|
|
|
|
+ dtSource.Columns.Add("Week", typeof(string));
|
|
|
|
|
+ dtSource.Columns.Add("Traffic", typeof(string));
|
|
|
|
|
+ dtSource.Columns.Add("Trip", typeof(string));
|
|
|
|
|
+
|
|
|
|
|
+ //获取数据,放到datatable
|
|
|
|
|
+ foreach (var item in _travelList)
|
|
|
|
|
+ {
|
|
|
|
|
+ DataRow dr = dtSource.NewRow();
|
|
|
|
|
+ dr["Days"] = item.Days;
|
|
|
|
|
+ dr["Date"] = item.Date;
|
|
|
|
|
+ dr["Week"] = item.WeekDay;
|
|
|
|
|
+ dr["Traffic"] = item.Traffic_First
|
|
|
|
|
+ + "\r\n"
|
|
|
|
|
+ + item.Traffic_Second;
|
|
|
|
|
+ if (item.Trip.Replace("(此地区为黄热病地区,请注意打疫苗)", "").Length < 15)
|
|
|
|
|
+ {
|
|
|
|
|
+ item.Trip += @"
|
|
|
|
|
+08:00 早餐于酒店;
|
|
|
|
|
+09:00 公务活动;
|
|
|
|
|
+10:30 公务活动;
|
|
|
|
|
+12:00 午餐于当地餐厅;
|
|
|
|
|
+14:00 公务活动;
|
|
|
|
|
+16:00 公务活动;
|
|
|
|
|
+18:00 晚餐于当地餐厅;
|
|
|
|
|
+19:00 入住酒店休息;";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ dr["Trip"] = item.Trip;
|
|
|
|
|
+ dtSource.Rows.Add(dr);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //lblTeamName.Text = di.TourCode;
|
|
|
|
|
+ //lblVisitDays.Text = di.VisitDays.ToString();
|
|
|
|
|
+ //lblVisitDays2.Text = di.VisitDays.ToString();
|
|
|
|
|
+ //lblPNumber.Text = di.VisitPNumber.ToString();
|
|
|
|
|
+ //lblGroup.Text = di.TeamName.ToString();
|
|
|
|
|
+
|
|
|
|
|
+ Dictionary<string, string> dic = new Dictionary<string, string>();
|
|
|
|
|
+ dic.Add("Dele", Find.TeamName.ToString() + GetNum(Find.VisitDays.ToString()));
|
|
|
|
|
+ dic.Add("City", CityStr1);
|
|
|
|
|
+ dic.Add("Days", Find.VisitDays.ToString());
|
|
|
|
|
+ dic.Add("DeleCode", Find.TourCode);
|
|
|
|
|
+ dic.Add("Pnum", Find.VisitPNumber.ToString());
|
|
|
|
|
+ dic.Add("Pnum2", Find.VisitPNumber.ToString());
|
|
|
|
|
+
|
|
|
|
|
+ List<Crm_DeleClient> leader = GetByDiidClient(Find.Id);
|
|
|
|
|
+ if (leader != null && leader.Count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ dic.Add("Leader", GetByDiidClient(Find.Id)[0].LastName + GetByDiidClient(Find.Id)[0].FirstName);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ dic.Add("Leader", "");
|
|
|
|
|
+ }
|
|
|
|
|
+ dic.Add("Pnum3", Find.VisitPNumber.ToString());
|
|
|
|
|
+ int UserId = 253;
|
|
|
|
|
+ dic.Add("OP", "");
|
|
|
|
|
+ dic.Add("OPTel", "");
|
|
|
|
|
+ //dic.Add("OP", "OP姓名");
|
|
|
|
|
+ //dic.Add("OPTel", "OP手机号码");
|
|
|
|
|
+
|
|
|
|
|
+ string countriesStr = "";
|
|
|
|
|
+ countriesList.ForEach(s => countriesStr += s + "、");
|
|
|
|
|
+ countriesStr = countriesStr.TrimEnd('、');
|
|
|
|
|
+
|
|
|
|
|
+ string cityStr = "";
|
|
|
|
|
+ cityList.ForEach(s => cityStr += s + "、");
|
|
|
|
|
+ cityStr = cityStr.TrimEnd('、');
|
|
|
|
|
+
|
|
|
|
|
+ //下方数据
|
|
|
|
|
+ dic.Add("selCountries", countriesStr == null ? "" : countriesStr);
|
|
|
|
|
+ dic.Add("selCity", cityStr == null ? "" : cityStr);
|
|
|
|
|
+ dic.Add("countriesIntroduction", countriesIntroduction == null ? "" : countriesIntroduction);
|
|
|
|
|
+ dic.Add("CityIntroduction", cityIntroduction == null ? "" : cityIntroduction);
|
|
|
|
|
+ dic.Add("timeDifference", timeDifference == null ? "" : timeDifference);
|
|
|
|
|
+ dic.Add("currExchangeRate", currExchangeRate == null ? "" : currExchangeRate);
|
|
|
|
|
+ dic.Add("temperature", "");
|
|
|
|
|
+ dic.Add("txt_itemPrepare", txt_itemPrepare == null ? "" : txt_itemPrepare);
|
|
|
|
|
+ dic.Add("txt_specialReminder", txt_specialReminder == null ? "" : txt_specialReminder);
|
|
|
|
|
+ dic.Add("txt_cGPrecautions", txt_cGPrecautions == null ? "" : txt_cGPrecautions);
|
|
|
|
|
+ dic.Add("txt_yGCG", txt_yGCG == null ? "" : txt_yGCG);
|
|
|
|
|
+ dic.Add("txt_conduct", txt_conduct == null ? "" : txt_conduct);
|
|
|
|
|
+ dic.Add("txt_commonEnglish", txt_commonEnglish == null ? "" : txt_commonEnglish);
|
|
|
|
|
+
|
|
|
|
|
+ //模板路径
|
|
|
|
|
+ string tempPath = AppSettingsHelper.Get("WordBasePath") + "Travel/日行程3.docx";
|
|
|
|
|
+
|
|
|
|
|
+ //载入模板
|
|
|
|
|
+ Document doc = null;
|
|
|
|
|
+ DocumentBuilder builder = null;
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ //载入模板
|
|
|
|
|
+ doc = new Document(tempPath);
|
|
|
|
|
+ builder = new DocumentBuilder(doc);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ jw.Msg = "模板位置不存在!";
|
|
|
|
|
+ return Ok(jw);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ foreach (var key in dic.Keys)
|
|
|
|
|
+ {
|
|
|
|
|
+ Bookmark bookmark = doc.Range.Bookmarks[key];
|
|
|
|
|
+ if (bookmark != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ builder.MoveToBookmark(key);
|
|
|
|
|
+ builder.Write(dic[key]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //获取word里所有表格
|
|
|
|
|
+ NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
|
|
|
|
|
+ //获取所填表格的序数
|
|
|
|
|
+ Aspose.Words.Tables.Table tableOne = allTables[0] as Aspose.Words.Tables.Table;
|
|
|
|
|
+
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ //循环赋值
|
|
|
|
|
+ for (int i = 0; i < dtSource.Rows.Count; i++)
|
|
|
|
|
+ {
|
|
|
|
|
+ builder.MoveToCell(0, i + 1, 0, 0);
|
|
|
|
|
+ builder.Write(dtSource.Rows[i]["Days"].ToString());
|
|
|
|
|
+
|
|
|
|
|
+ builder.MoveToCell(0, i + 1, 1, 0);
|
|
|
|
|
+ builder.Write(dtSource.Rows[i]["Date"].ToString() + "\r\n" + dtSource.Rows[i]["Week"].ToString());
|
|
|
|
|
+
|
|
|
|
|
+ builder.MoveToCell(0, i + 1, 2, 0);
|
|
|
|
|
+ builder.Write(dtSource.Rows[i]["Traffic"].ToString());
|
|
|
|
|
+
|
|
|
|
|
+ var trip = dtSource.Rows[i]["Trip"].ToString();
|
|
|
|
|
+ builder.MoveToCell(0, i + 1, 3, 0);
|
|
|
|
|
+ builder.Write(trip);
|
|
|
|
|
+
|
|
|
|
|
+ var cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 1, true);
|
|
|
|
|
+ var paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
|
|
|
|
|
+
|
|
|
|
|
+ // 获取特定索引的段落
|
|
|
|
|
+ Paragraph paragraph = (Paragraph)paragraphs[0];
|
|
|
|
|
+ Run run = paragraph.Runs[0];
|
|
|
|
|
+ Aspose.Words.Font font = run.Font;
|
|
|
|
|
+ font.Name = "黑体";
|
|
|
|
|
+
|
|
|
|
|
+ //设置双休红色
|
|
|
|
|
+ cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 3, true);
|
|
|
|
|
+ paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
|
|
|
|
|
+ paragraph = (Paragraph)paragraphs[1];
|
|
|
|
|
+ if (paragraph.GetText().Contains("星期六") || paragraph.GetText().Contains("星期日"))
|
|
|
|
|
+ {
|
|
|
|
|
+ run = paragraph.Runs[0];
|
|
|
|
|
+ font = run.Font;
|
|
|
|
|
+ font.Color = Color.Red;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //删除多余行
|
|
|
|
|
+ while (tableOne.Rows.Count > 1 + dtSource.Rows.Count)
|
|
|
|
|
+ {
|
|
|
|
|
+ tableOne.Rows.RemoveAt(1 + dtSource.Rows.Count);//(1+dtSource.Rows.Count + 1)-1
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ string savePath = AppSettingsHelper.Get("WordBasePath") + "Travel/export/";
|
|
|
|
|
+ if (!Directory.Exists(savePath))
|
|
|
|
|
+ {
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ Directory.CreateDirectory(savePath);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ string path = savePath + Find.TeamName + "出访日程.docx";
|
|
|
|
|
+
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ doc.Save(path, Aspose.Words.SaveFormat.Doc);
|
|
|
|
|
+ jw = JsonView(true,"导出成功", path);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ jw = JsonView(false);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return Ok(jw);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ ///根据机票黑屏代码整理DataTable
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="diid"></param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ DataTable GetTableByBlackCode(int diid)
|
|
|
|
|
+ {
|
|
|
|
|
+ //黑屏代码信息
|
|
|
|
|
+ List<Air_TicketBlackCode> listcode = _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 = _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 = _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>
|
|
|
|
|
+ /// 根据团组编号查询信息
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <returns>返回空或者对象信息</returns>
|
|
|
|
|
+ List<Grp_TravelList> GetByDiid(int Diid)
|
|
|
|
|
+ {
|
|
|
|
|
+ //调用获取单个对象的方法
|
|
|
|
|
+ return _sqlSugar.Queryable<Grp_TravelList>().Where(x => x.Diid == Diid && x.IsDel == 0).ToList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 20210816
|
|
|
|
|
+ /// 根据datatable生成某一时间段的日期
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="dt">黑屏代码生成的datatable</param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ List<string> GetTimeListByDataTable(DataTable dt)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (dt.Rows[0]["Day"].ToString() != "")
|
|
|
|
|
+ {
|
|
|
|
|
+ DateTime datestart = Convert.ToDateTime(dt.Rows[0]["Day"].ToString());
|
|
|
|
|
+ DateTime dateend = Convert.ToDateTime(dt.Rows[dt.Rows.Count - 1]["ArrivedDate"].ToString());
|
|
|
|
|
+
|
|
|
|
|
+ List<string> timeList = new List<string>();
|
|
|
|
|
+ while (datestart <= dateend)
|
|
|
|
|
+ {
|
|
|
|
|
+ timeList.Add(datestart.ToString("yyyy-MM-dd"));
|
|
|
|
|
+ datestart = datestart.AddDays(1);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return timeList;
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 根据大写数字返回小写数字或根据小写数字返回大写数字
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="num"></param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ string GetNum(string num)
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ string str = "";
|
|
|
|
|
+ switch (num)
|
|
|
|
|
+ {
|
|
|
|
|
+ case "1":
|
|
|
|
|
+ str = "一";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "2":
|
|
|
|
|
+ str = "二";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "3":
|
|
|
|
|
+ str = "三";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "4":
|
|
|
|
|
+ str = "四";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "5":
|
|
|
|
|
+ str = "五";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "6":
|
|
|
|
|
+ str = "六";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "7":
|
|
|
|
|
+ str = "七";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "8":
|
|
|
|
|
+ str = "八";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "9":
|
|
|
|
|
+ str = "九";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "10":
|
|
|
|
|
+ str = "十";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "11":
|
|
|
|
|
+ str = "十一";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "12":
|
|
|
|
|
+ str = "十二";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "一":
|
|
|
|
|
+ str = "1";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "二":
|
|
|
|
|
+ str = "2";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "三":
|
|
|
|
|
+ str = "3";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "四":
|
|
|
|
|
+ str = "4";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "五":
|
|
|
|
|
+ str = "5";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "六":
|
|
|
|
|
+ str = "6";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "七":
|
|
|
|
|
+ str = "7";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "八":
|
|
|
|
|
+ str = "8";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "九":
|
|
|
|
|
+ str = "9";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "十":
|
|
|
|
|
+ str = "10";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "十一":
|
|
|
|
|
+ str = "11";
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "十二":
|
|
|
|
|
+ str = "12";
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ return str;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ List<Crm_DeleClient> GetByDiidClient(int DIID)
|
|
|
|
|
+ {
|
|
|
|
|
+ return _sqlSugar.Queryable<Crm_DeleClient>().Where(x => x.DiId == DIID && x.IsDel == 0).ToList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 根据星期,月份的缩写,转换成数字或者全称
|
|
|
|
|
+ /// 根据币种中文名称返回币种代码
|
|
|
|
|
+ /// 根据数字返回机型型号【2、3开头的就是空客,比如空客320,7开头的就是波音,比如波音777】
|
|
|
|
|
+ /// 20210903贾文滔
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="startDate"></param>
|
|
|
|
|
+ /// <param name="endDate"></param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ 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>
|
|
|
|
|
+ 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;
|
|
|
|
|
+ }
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|