瀏覽代碼

完善客户收款Api

yuanrf 1 年之前
父節點
當前提交
372a70e443

+ 138 - 6
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -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, "签证及保险(含核酸检测): ");

+ 2 - 0
OASystem/OASystem.Domain/Dtos/Groups/GroupCostSavaDto.cs

@@ -823,6 +823,8 @@ namespace OASystem.Domain.Dtos.Groups
         public string MiscellaneousFees { get; set; }
         public string ATip { get; set; }
         public string TzZCost { get; set; }
+
+        public List<LeftModel> leftInfo { get; set; }
     }
 
     public class LeftModel