|
@@ -47,6 +47,7 @@ using Aspose.Words.Drawing;
|
|
|
using Aspose.Cells.Charts;
|
|
|
using static NPOI.HSSF.Util.HSSFColor;
|
|
|
using Quartz.Util;
|
|
|
+using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -5108,12 +5109,77 @@ namespace OASystem.API.Controllers
|
|
|
ATip = dto.ATip;
|
|
|
TzHotelDesc = "";
|
|
|
Offcial = "RMB " + (AParameter.GWCB * AParameter.GWXS).ToString("#0.00");
|
|
|
- PettyCash = "RMB " + (AParameter.LYJCB * AParameter.LYJXS ).ToString("#0.00");
|
|
|
+ PettyCash = "RMB " + (AParameter.LYJCB * AParameter.LYJXS).ToString("#0.00");
|
|
|
Visa = "RMB " + (AParameter.VisaCB * AParameter.VisaXS + AParameter.HSCB * AParameter.HSXS + AParameter.BXCB * AParameter.BXXS).ToString("#0.00");
|
|
|
TrainTicket = "RMB " + (AParameter.HCPCB * AParameter.HCPXS).ToString("#0.00");
|
|
|
TicketPrice = "RMB " + (AParameter.CPCB * AParameter.CPXS).ToString("#0.00");
|
|
|
TzAirDesc = "";
|
|
|
TzZCost = dto.TzZCost;
|
|
|
+ var TzHotelDescArr = new string[] { "SGR", "JSES", "SUITE", "TBR" };
|
|
|
+ var TzAirDescArr = new string[] { "经济舱", "公务舱" };
|
|
|
+ var index = 1;
|
|
|
+ var AinfoArr = dto.leftInfo.Find(x => x.Type == "A");
|
|
|
+ foreach (var item in TzHotelDescArr)
|
|
|
+ {
|
|
|
+ if (AinfoArr != null)
|
|
|
+ {
|
|
|
+ var Ainfo = AinfoArr.leftinfoNumber.Find(x => x.title.Contains(item));
|
|
|
+ if (Ainfo != null)
|
|
|
+ {
|
|
|
+ if (int.Parse(Ainfo.rs) <= 0)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ var hotelText = string.Empty;
|
|
|
+ switch (item)
|
|
|
+ {
|
|
|
+ case "SGR":
|
|
|
+ hotelText = "单人间";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "JSES":
|
|
|
+ hotelText = "小套房";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SUITE":
|
|
|
+ hotelText = "套房";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "TBR":
|
|
|
+ hotelText = "双人间";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (item != "TBR")
|
|
|
+ {
|
|
|
+ TzHotelDesc += "(" + index + ".) " + hotelText + " " + Ainfo.rs + "间 共" + Ainfo.rs + " " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人........共RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ TzHotelDesc += "(" + index + ".) " + hotelText + " " + (int.Parse(Ainfo.rs) / 2) + "间 共" + Ainfo.rs + " " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人........共RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ }
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ index = 1;
|
|
|
+ foreach (var item in TzAirDescArr)
|
|
|
+ {
|
|
|
+ if (AinfoArr != null)
|
|
|
+ {
|
|
|
+ var Ainfo = AinfoArr.leftinfoNumber.Find(x => x.title.Contains(item));
|
|
|
+ if (Ainfo != null)
|
|
|
+ {
|
|
|
+ if (int.Parse(Ainfo.rs) <= 0)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ TzAirDesc += "(" + index + ".) "+item+" " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人 共" + Ainfo.rs + " ........小计RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
if (dto.costType == "B")
|
|
@@ -5123,12 +5189,78 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(false, "B段系数不存在!"));
|
|
|
}
|
|
|
|
|
|
- CarGuides = CarGuides.Insert(0,"A段 ") + " B段 RMB" + (BParameter.DJCB * BParameter.DJXS ).ToString("#0.00");
|
|
|
- Offcial = Offcial.Insert(0, "A段 ") + " B段 RMB " + (BParameter.GWCB * BParameter.GWXS ).ToString("#0.00");
|
|
|
- PettyCash = PettyCash.Insert(0, "A段 ") + " B段 RMB " + (BParameter.LYJCB * BParameter.LYJXS ).ToString("#0.00");
|
|
|
+ CarGuides = CarGuides.Insert(0, "A段 ") + " B段 RMB" + (BParameter.DJCB * BParameter.DJXS).ToString("#0.00");
|
|
|
+ Offcial = Offcial.Insert(0, "A段 ") + " B段 RMB " + (BParameter.GWCB * BParameter.GWXS).ToString("#0.00");
|
|
|
+ PettyCash = PettyCash.Insert(0, "A段 ") + " B段 RMB " + (BParameter.LYJCB * BParameter.LYJXS).ToString("#0.00");
|
|
|
Visa = Visa.Insert(0, "A段 ") + " B段 RMB " + (BParameter.VisaCB * BParameter.VisaXS + BParameter.HSCB * BParameter.HSXS + BParameter.BXCB * BParameter.BXXS).ToString("#0.00");
|
|
|
- TrainTicket = TrainTicket.Insert(0, "A段 ") + " B段 RMB " + (BParameter.HCPCB * BParameter.HCPXS ).ToString("#0.00");
|
|
|
- TicketPrice = TicketPrice.Insert(0, "A段 ") + " B段 RMB " + (BParameter.CPCB * BParameter.CPXS ).ToString("#0.00");
|
|
|
+ TrainTicket = TrainTicket.Insert(0, "A段 ") + " B段 RMB " + (BParameter.HCPCB * BParameter.HCPXS).ToString("#0.00");
|
|
|
+ TicketPrice = TicketPrice.Insert(0, "A段 ") + " B段 RMB " + (BParameter.CPCB * BParameter.CPXS).ToString("#0.00");
|
|
|
+
|
|
|
+ AinfoArr = dto.leftInfo.Find(x => x.Type == "B");
|
|
|
+ foreach (var item in TzHotelDescArr)
|
|
|
+ {
|
|
|
+ if (AinfoArr != null)
|
|
|
+ {
|
|
|
+ TzHotelDesc += "B段信息 \r\n";
|
|
|
+
|
|
|
+ var Ainfo = AinfoArr.leftinfoNumber.Find(x => x.title.Contains(item));
|
|
|
+ if (Ainfo != null)
|
|
|
+ {
|
|
|
+ if (int.Parse(Ainfo.rs) <= 0)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ var hotelText = string.Empty;
|
|
|
+ switch (item)
|
|
|
+ {
|
|
|
+ case "SGR":
|
|
|
+ hotelText = "单人间";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "JSES":
|
|
|
+ hotelText = "小套房";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SUITE":
|
|
|
+ hotelText = "套房";
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "TBR":
|
|
|
+ hotelText = "双人间";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (item != "TBR")
|
|
|
+ {
|
|
|
+ TzHotelDesc += "(" + index + ".) " + hotelText + " " + Ainfo.rs + "间 共" + Ainfo.rs + " " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人........共RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ TzHotelDesc += "(" + index + ".) " + hotelText + " " + (int.Parse(Ainfo.rs) / 2) + "间 共" + Ainfo.rs + " " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人........共RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ }
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+
|
|
|
+ TzHotelDesc = TzHotelDesc.Insert(0, "A段信息 \r\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ index = 1;
|
|
|
+ foreach (var item in TzAirDescArr)
|
|
|
+ {
|
|
|
+ if (AinfoArr != null)
|
|
|
+ {
|
|
|
+ var Ainfo = AinfoArr.leftinfoNumber.Find(x => x.title.Contains(item));
|
|
|
+ if (Ainfo != null)
|
|
|
+ {
|
|
|
+ if (int.Parse(Ainfo.rs) <= 0)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ TzAirDesc += "(" + index + ".) " + item + " " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs)).ToString("#0.00") + "/人 共" + Ainfo.rs + " ........小计RMB " + (decimal.Parse(Ainfo.cb) * decimal.Parse(Ainfo.xs) * decimal.Parse(Ainfo.rs)).ToString("#0.00") + "\n";
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Visa = Visa.Insert(0, "签证及保险(含核酸检测): ");
|