浏览代码

C表列表查询、修改

jiangjc 1 年之前
父节点
当前提交
3176967fb4

+ 185 - 3
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -2,6 +2,7 @@
 using Newtonsoft.Json.Serialization;
 using OASystem.API.OAMethodLib;
 using OASystem.Domain.Dtos.Groups;
+using OASystem.Domain.Entities.Business;
 using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.ViewModels.Groups;
 using OASystem.Infrastructure.Repositories.Groups;
@@ -474,37 +475,218 @@ namespace OASystem.API.Controllers
 
             #region 费用清单
 
+            //缺少IF的语法糖 CTable
             List<Grp_CreditCardPayment> entityList = _groupRepository
-                .Query<Grp_CreditCardPayment>(s => s.DIId == _dto.DiId && s.IsAuditGM == _dto.AuditStatus && s.IsDel == 0 && s.CreateUserId > 0)
+                .Query<Grp_CreditCardPayment>(s => s.DIId == _dto.DiId && s.CTable == _dto.Label && s.IsAuditGM == _dto.AuditStatus && s.IsDel == 0 && s.CreateUserId > 0)
                 .ToList();
 
             List<Grp_CreditCardPaymentDetailView> detailList = new List<Grp_CreditCardPaymentDetailView>();
+            decimal CNY = 0;
+            decimal PayCNY = 0;
+            decimal BalanceCNY = 0;
+            decimal YSFYCNY = 0;
+
+            decimal USD = 0;
+            decimal PayUSD = 0;
+            decimal BalanceUSD = 0;
+            decimal YSFYUSD = 0;
+
+            decimal EUR = 0;
+            decimal PayEUR = 0;
+            decimal BalanceEUR = 0;
+            decimal YSFYEUR = 0;
+
             foreach (var entity in entityList)
             {
                 Grp_CreditCardPaymentDetailView _detail = new Grp_CreditCardPaymentDetailView();
 
+                if (entity.CTable != 85) continue;
+
+                /*
+                 * Bus名称
+                 */
+                _detail.BusName = "";
+
                 /*
                  *费用所属
                  */
                 switch (entity.CTable)
                 {
                     case 85:
-
+                        Grp_AirTicketReservations jpRes = _groupRepository.Query<Grp_AirTicketReservations>(s => s.Id == entity.CId).First();
+                        if (jpRes != null)
+                        {
+                            string FlightsDescription = jpRes.FlightsDescription;
+                            string PriceDescription = jpRes.PriceDescription;
+                            _detail.PriceMsgContent = "航班号:" + jpRes.FlightsCode + "<br/>城市A-B:" + jpRes.FlightsCity + "<br/>航班描述:" + FlightsDescription.Replace("\r\n", "<br />") + "<br/>" + "价格描述:" + PriceDescription;
+                            _detail.PriceNameContent = "(" + jpRes.FlightsCode + ")";
+                        }
+                        break;
+                    case 79:
+                        _detail.BusName = "待增加";
                         break;
 
                     default:
                         break;
                 }
 
+                /*
+                 * 费用模块
+                 */
+                Sys_SetData sdPriceName = _groupRepository.Query<Sys_SetData>(s => s.Id == entity.CTable).First();
+                if (sdPriceName != null)
+                {
+                    _detail.PriceName = sdPriceName.Name;
+                }
+
+                /*
+                 * 应付款金额	
+                 */
+                Sys_SetData sdPaymentCurrency_WaitPay = _groupRepository.Query<Sys_SetData>(s => s.Id == entity.PaymentCurrency).First();
+                string PaymentCurrency_WaitPay = "Unknown";
+                if (sdPaymentCurrency_WaitPay != null)
+                {
+                    PaymentCurrency_WaitPay = sdPaymentCurrency_WaitPay.Name;
+                }
+                _detail.WaitPay = entity.PayMoney.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
+
+                /*
+                 * 此次付款金额
+                 */
+                decimal CurrPayStr = 0;
+                if (entity.PayPercentage == 0)
+                {
+                    if (entity.PayThenMoney != 0)
+                        CurrPayStr = entity.PayThenMoney * decimal.Parse(entity.DayRate);
+                }
+                else
+                {
+                    CurrPayStr = entity.PayMoney * (decimal.Parse(entity.PayPercentage.ToString("#0.00")) / 100 * decimal.Parse(entity.DayRate));
+                }
+                _detail.CurrPay = CurrPayStr.ToString("#0.00") + " CNY";
+
+                /*
+                 * 剩余尾款
+                 */
+                decimal BalanceStr = 0;
+                if (entity.PayMoney - (CurrPayStr / decimal.Parse(entity.DayRate)) < 0.01M)
+                    BalanceStr = 0;
+                else
+                    BalanceStr = (entity.PayMoney - CurrPayStr / decimal.Parse(entity.DayRate));
+
+                _detail.Balance = BalanceStr.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
+
+                /*
+                 * 申请人
+                 */
+                string operatorName = "无";
+                Sys_Users _opUser = _groupRepository.Query<Sys_Users>(s => s.CreateUserId == entity.CreateUserId).First();
+                if (_opUser != null)
+                {
+                    operatorName = _opUser.CnName;
+                }
+                _detail.OperatorName = operatorName;
+
+                /*
+                * 审核人
+                */
+                string auditOperatorName = "Unknown";
+                if (entity.AuditGMOperate == 0)
+                    auditOperatorName = "无";
+                else if (entity.AuditGMOperate == 4)
+                    auditOperatorName = "自动审核";
+                else
+                {
+                    Sys_Users _adUser = _groupRepository.Query<Sys_Users>(s => s.CreateUserId == entity.AuditGMOperate).First();
+                    if (_adUser != null)
+                    {
+                        auditOperatorName = _adUser.CnName;
+                    }
+                }
+                _detail.AuditOperatorName = auditOperatorName;
+
+                /*
+                 * 
+                 * *超预算比例
+                 */
+                string overBudgetStr = "";
+
+                if (entity.ExceedBudget == -1)
+                    overBudgetStr = sdPriceName.Name + "尚无预算";
+                else if (entity.ExceedBudget == 0)
+                    overBudgetStr = "未超预算";
+                else
+                    overBudgetStr = entity.ExceedBudget.ToString("P");
+                _detail.OverBudget = overBudgetStr;
+
+
+                /*
+                 * 费用总计
+                 */
+
+
+                if (entity.PaymentCurrency == 48)
+                {
+                    CNY += entity.PayMoney;
+                    PayCNY += CurrPayStr;
+                    BalanceCNY += BalanceStr;
+                    YSFYCNY += CurrPayStr;
+                }
+                if (entity.PaymentCurrency == 49)
+                {
+                    USD += entity.PayMoney;
+                    PayUSD += CurrPayStr;
+                    BalanceUSD += BalanceStr;
+                    YSFYUSD += CurrPayStr;
+                }
+                if (entity.PaymentCurrency == 51)
+                {
+                    EUR += entity.PayMoney;
+                    PayEUR += CurrPayStr;
+                    BalanceEUR += BalanceStr;
+                    YSFYEUR += CurrPayStr;
+                }
 
+                _detail.TotalStr1 = string.Format(@"应付款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", CNY, USD, EUR);
+                _detail.TotalStr2 = string.Format(@"此次付款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", PayCNY, PayUSD, PayEUR);
+                _detail.TotalStr3 = string.Format(@"目前剩余尾款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", BalanceCNY, BalanceUSD, BalanceEUR);
+                _detail.TotalStr4 = string.Format(@"已审费用总额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", YSFYCNY, YSFYUSD, YSFYEUR);
 
 
+                detailList.Add(_detail);
+
             }
 
             #endregion
+            _view.DetailList = new List<Grp_CreditCardPaymentDetailView>(detailList);
+
+            return Ok(JsonView(_view));
+        }
 
 
-            return null;
+        /// <summary>
+        /// 获取团组费用审核
+        /// </summary>
+        /// <param name="paras">参数Json字符串</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostAuditGrpCreditCardPayment(Edit_GrpCreditCardPaymentDto _dto)
+        {
+            Grp_CreditCardPayment _detail = _mapper.Map<Grp_CreditCardPayment>(_dto);
+            DateTime dtNow = DateTime.Now;
+            var result = await _grpScheduleRep._sqlSugar.Updateable<Grp_CreditCardPayment>()
+                .SetColumns(it => it.IsAuditGM == _dto.AuditCode)
+                .SetColumns(it => it.AuditGMOperate == _dto.User)
+                .SetColumns(it => it.AuditGMDate == dtNow)
+                .Where(s => s.Id == _dto.CreditId)
+                .ExecuteCommandAsync();
+            if (result > 0)
+            {
+                return Ok(JsonView(true, "保存成功!"));
+            }
+
+            return Ok(JsonView(false, "保存失败!"));
         }
 
         #endregion

+ 1 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -77,6 +77,7 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<Grp_ScheduleDetailInsertDto, Grp_ScheduleDetailInfo>();
             CreateMap<TaskAssignmenDto, Grp_GroupsTaskAssignment>();
             CreateMap<Grp_GroupCostParameter,AirGroupCostParameterView>();
+            CreateMap<Edit_GrpCreditCardPaymentDto, Grp_CreditCardPayment>();
             #endregion
 
             #region Resource

+ 8 - 1
OASystem/OASystem.Domain/Dtos/Groups/GrpCreditCardPaymentDto.cs

@@ -14,7 +14,7 @@ namespace OASystem.Domain.Dtos.Groups
         public int DiId { get; set; }
 
         /// <summary>
-        /// 费用类型 0:所有,1:机票,2:酒店,3:OP,4:商邀,5:签证,6:团组增减款
+        /// 费用类型 0-所有, 76-酒店预订,77-行程,79-车导地接,80-签证,81-邀请公务,82-团组客户保险,85-机票预订,98-团组增减款项,285-其他款
         /// </summary>
         public int Label { get; set; } = 0;
 
@@ -23,4 +23,11 @@ namespace OASystem.Domain.Dtos.Groups
         /// </summary>
         public int AuditStatus { get; set; }
     }
+
+    public class Edit_GrpCreditCardPaymentDto
+    {
+        public int CreditId { get; set; }
+        public int AuditCode { get; set; }
+        public int User { get; set; }
+    }
 }

+ 44 - 4
OASystem/OASystem.Domain/ViewModels/Groups/Grp_CreditCardPaymentView.cs

@@ -57,19 +57,59 @@ namespace OASystem.Domain.ViewModels.Groups
         public int Id { get; set; }
 
         /// <summary>
-        /// 费用名称
+        /// 费用所属
         /// </summary>
-        public string PriceName { get; set; }
+        public string PriceNameContent { get; set; }
 
         /// <summary>
         /// 费用明细
         /// </summary>
         public string PriceMsgContent { get; set; }
-        
+
         /// <summary>
         /// 费用模块
         /// </summary>
 
-        public string BudName { get; set; }
+        public string PriceName { get; set; }
+
+        /// <summary>
+        /// Bus名称
+        /// </summary>
+        public string BusName { get; set; }
+
+        /// <summary>
+        /// 应付款金额	
+        /// </summary>
+        public string WaitPay { get; set; }
+
+        /// <summary>
+        /// 此次付款金额
+        /// </summary>
+        public string CurrPay { get; set; }
+
+        /// <summary>
+        /// 剩余尾款
+        /// </summary>
+        public string Balance { get; set; }
+
+        /// <summary>
+        /// 申请人
+        /// </summary>
+        public string OperatorName { get; set; }
+
+        /// <summary>
+        /// 审核人
+        /// </summary>
+        public string AuditOperatorName { get; set; }
+
+        /// <summary>
+        /// 超预算比例
+        /// </summary>
+        public string OverBudget { get; set; }
+
+        public string TotalStr1 { get; set; }
+        public string TotalStr2 { get; set; }
+        public string TotalStr3 { get; set; }
+        public string TotalStr4 { get; set; }
     }
 }

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Business/CommonBusRepository.cs

@@ -149,9 +149,9 @@ Inner Join Sys_SetData as s With(Nolock) On t.SdId=s.Id ");
             BeginTran();
             try
             {
-                int result = await _sqlSugar.Updateable<Bus_ConfItemInfo>()
+                int result = await _sqlSugar.Updateable<Bus_ConfItemListInfo>()
+                            .SetColumns(it => it.TotalCost == _eidt.TotalCost)
                             .Where(s => s.Id == _dto.ConfItemListId)
-                            .UpdateColumns(s => new { TotalCost = _eidt.TotalCost })
                             .ExecuteCommandAsync();
                 _sqlSugar.Deleteable<Bus_ConfItemInfo>().Where(it => it.ConfListId == _dto.ConfItemListId).ExecuteCommand();
 

+ 24 - 4
OASystem/OASystem.Infrastructure/Repositories/Resource/ResItemInfoRepository.cs

@@ -168,8 +168,15 @@ Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
         public async Task<bool> updVendorInfo(Res_ItemVendor _entity)
         {
             var result = await _sqlSugar.Updateable<Res_ItemVendor>()
+                .SetColumns(it => it.FullName == _entity.FullName)
+                .SetColumns(it => it.ShortName == _entity.ShortName)
+                .SetColumns(it => it.Address == _entity.Address)
+                .SetColumns(it => it.Linker == _entity.Linker)
+                .SetColumns(it => it.Mobile == _entity.Mobile)
+                .SetColumns(it => it.BusRange == _entity.BusRange)
+                .SetColumns(it => it.Job == _entity.Job)
+                .SetColumns(it => it.Remark == _entity.Remark)
                 .Where(s => s.Id == _entity.Id)
-                .UpdateColumns(s => new { s.FullName, s.ShortName, s.Address, s.Linker, s.Mobile, s.BusRange, s.Job, s.Remark })
                 .ExecuteCommandAsync();
 
             return result > 0;
@@ -186,8 +193,10 @@ Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
             _entity.DeleteUserId = _entity.CreateUserId;
             _entity.DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             var result = await _sqlSugar.Updateable<Res_ItemVendor>()
+                .SetColumns(it => it.IsDel == _entity.IsDel)
+                .SetColumns(it => it.DeleteTime == _entity.DeleteTime)
+                .SetColumns(it => it.DeleteUserId == _entity.DeleteUserId)
                .Where(s => s.Id == _entity.Id)
-               .UpdateColumns(s => new { s.IsDel, s.DeleteTime, s.DeleteUserId })
                .ExecuteCommandAsync();
 
             return result > 0;
@@ -331,8 +340,17 @@ Where d.Id={0} ", _dto.ItemId);
 
 
                 var result = await _sqlSugar.Updateable<Res_ItemDetailInfo>()
+                .SetColumns(it => it.CurrDt == _entity.CurrDt)
+                .SetColumns(it => it.CurrRate == _entity.CurrRate)
+                .SetColumns(it => it.ItemName == _entity.ItemName)
+                .SetColumns(it => it.MaxDt == _entity.MaxDt)
+                .SetColumns(it => it.MaxRate == _entity.MaxRate)
+                .SetColumns(it => it.MinDt == _entity.MinDt)
+                .SetColumns(it => it.MinRate == _entity.MinRate)
+                .SetColumns(it => it.Remark == _entity.Remark)
+                .SetColumns(it => it.ItemTypeId == _entity.ItemTypeId)
+                .SetColumns(it => it.VendorId == _entity.VendorId)
                    .Where(s => s.Id == _entity.Id)
-                   .UpdateColumns(s => new { s.CurrDt, s.CurrRate, s.ItemName, s.MaxDt, s.MaxRate, s.MinDt, s.MinRate, s.Remark, s.ItemTypeId, s.VendorId })
                    .ExecuteCommandAsync();
                 return result > 0;
             }
@@ -350,8 +368,10 @@ Where d.Id={0} ", _dto.ItemId);
             _entity.DeleteUserId = _entity.CreateUserId;
             _entity.DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             var result = await _sqlSugar.Updateable<Res_ItemDetailInfo>()
+                .SetColumns(it => it.IsDel == _entity.IsDel)
+                .SetColumns(it => it.DeleteTime == _entity.DeleteTime)
+                .SetColumns(it => it.DeleteUserId == _entity.DeleteUserId)
                .Where(s => s.Id == _entity.Id)
-               .UpdateColumns(s => new { s.IsDel, s.DeleteTime, s.DeleteUserId })
                .ExecuteCommandAsync();
 
             return result > 0;