Browse Source

出入境费用 移动端(Android/IOS) --> 新增 操作成功返回项合计

LEIYI 3 months ago
parent
commit
11e95048d6

+ 131 - 12
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -7178,7 +7178,6 @@ FROM
             return Ok(JsonView(false, "未操作!"));
         }
 
-
         #endregion
 
         #region 团组经理模块 出入境费用 移动端(Android/IOS)
@@ -7488,12 +7487,13 @@ FROM
             info.InsidePay = dto.Visa + dto.Service + dto.Safe + dto.Ticket + dto.HeSuan + dto.YiMiao;
 
             int id = dto.Id;
+            var status = false;
             if (id <= 0) //add 
             {
                 info.CreateUserId = dto.CurrUserId;
                 var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
 
-                if (add > 0) return Ok(JsonView(true));
+                if (add > 0) status = true;
             }
             else //update
             {
@@ -7510,7 +7510,12 @@ FROM
                     })
                     .Where(x => x.Id == id)
                     .ExecuteCommandAsync();
-                if (upd > 0) return Ok(JsonView(true));
+                if (upd > 0) status = true;
+            }
+
+            if (status)
+            {
+                return Ok(JsonView(new { itemTotal = info.InsidePay }));
             }
 
             return Ok(JsonView(false));
@@ -7531,12 +7536,20 @@ FROM
             var info = _mapper.Map<Grp_EnterExitCost>(dto);
 
             int id = dto.Id;
+            var status = false;
+            decimal jjcItemTotal = 0.00M, gwcItemTotal = 0.00M, tdcItemTotal = 0.00M;
             if (id <= 0) //add 
             {
                 info.CreateUserId = dto.CurrUserId;
-                var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
+                var addInfo = await _sqlSugar.Insertable(info).ExecuteReturnEntityAsync();
 
-                if (add > 0) return Ok(JsonView(true));
+                if (addInfo != null)
+                {
+                    status = true;
+                    jjcItemTotal = addInfo.AirJJ + addInfo.CityTranffic;
+                    gwcItemTotal = addInfo.AirGW + addInfo.CityTranffic;
+                    tdcItemTotal = addInfo.AirTD + addInfo.CityTranffic;
+                }
             }
             else //update
             {
@@ -7552,19 +7565,30 @@ FROM
                     })
                     .Where(x => x.Id == id)
                     .ExecuteCommandAsync();
-                if (upd > 0) return Ok(JsonView(true));
+                if (upd > 0)
+                {
+                    status = true;
+                    jjcItemTotal = info.AirJJ + info.CityTranffic;
+                    gwcItemTotal = info.AirGW + info.CityTranffic;
+                    tdcItemTotal = info.AirTD + info.CityTranffic;
+                }
+            }
+
+            if (status)
+            {
+                return Ok(JsonView(new { jjcItemTotal = jjcItemTotal, gwcItemTotal = gwcItemTotal, tdcItemTotal = tdcItemTotal }));
             }
 
             return Ok(JsonView(false));
         }
 
         /// <summary>
-        /// 团组模块 - 出入境费用-移动端 - OP --> (住宿、伙食、公杂、培训) Step3-Step6
+        /// 团组模块 - 出入境费用-移动端 - OP --> 批量(住宿、伙食、公杂、培训) Step3-Step6
         /// </summary>
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostEnterExitCostMobileOpStep3To6(PostEnterExitCostMobileOpStep3To6Dto dto)
+        public async Task<IActionResult> PostEnterExitCostMobileOpBatchStep3To6(PostEnterExitCostMobileOpStep3To6Dto dto)
         {
             if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
             if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
@@ -7614,19 +7638,68 @@ FROM
 
             if (status)
             {
-                return Ok(JsonView(true));
+                var itemTotal = await _sqlSugar.Queryable<Grp_DayAndCost>().Where(x => x.IsDel == 0 && x.DiId == dto.DiId && x.Type == dto.FeeType).SumAsync(x => x.SubTotal);
+                return Ok(JsonView(new { itemTotal = itemTotal }));
+            }
+
+            return Ok(JsonView(false));
+        }
+
+        /// <summary>
+        /// 团组模块 - 出入境费用-移动端 - OP --> 单条(住宿、伙食、公杂、培训) Step3-Step6
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostEnterExitCostMobileOpSingleStep3To6(PostEnterExitCostMobileOpSingleStep3To6Dto dto)
+        {
+            if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+            if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
+            if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
+
+            var feeTypeIds = new List<int>() { 1, 2, 3, 4, };
+            if (!feeTypeIds.Contains(dto.FeeType)) return Ok(JsonView(false, "请传入有效的费用类型!"));
+            var info = _mapper.Map<Grp_DayAndCost>(dto);
+            info.CreateUserId = dto.CurrUserId;
+           
+            var status = false;
+            if (info.Id < 1) //添加
+            {
+                var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
+                if (add > 0) status = true;
+            }
+            else if (info.Id > 0)
+            {
+                var upd = await _sqlSugar.Updateable(info)
+                    .UpdateColumns(x => new
+                    {
+                        x.Days,
+                        x.NationalTravelFeeId,
+                        x.Cost,
+                        x.Currency,
+                        x.SubTotal
+                    })
+                    .WhereColumns(x => new { x.Id })
+                    .ExecuteCommandAsync();
+                if (upd > 0) status = true;
+            }
+
+            if (status)
+            {
+                var itemTotal = await _sqlSugar.Queryable<Grp_DayAndCost>().Where(x => x.IsDel == 0 && x.DiId == dto.DiId && x.Type == dto.FeeType).SumAsync(x => x.SubTotal);
+                return Ok(JsonView(new { itemTotal = itemTotal }));
             }
 
             return Ok(JsonView(false));
         }
 
         /// <summary>
-        /// 团组模块 - 出入境费用-移动端 - OP --> 其他费用 Step7
+        /// 团组模块 - 出入境费用-移动端 - OP --> 其他费用-批量 Step7
         /// </summary>
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostEnterExitCostMobileOpStep7(PostEnterExitCostMobileOpStep7Dto dto)
+        public async Task<IActionResult> PostEnterExitCostMobileOpBatchStep7(PostEnterExitCostMobileOpStep7Dto dto)
         {
             if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
             if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
@@ -7673,7 +7746,53 @@ FROM
 
             if (status)
             {
-                return Ok(JsonView(true));
+                var itemTotal = await _sqlSugar.Queryable<Grp_DayOtherPrice>().Where(x => x.IsDel == 0 && x.Diid == dto.DiId).SumAsync(x => x.SubTotal);
+                return Ok(JsonView(new { itemTotal = itemTotal }));
+            }
+            return Ok(JsonView(false));
+        }
+
+        /// <summary>
+        /// 团组模块 - 出入境费用-移动端 - OP --> 其他费用-批量 Step7
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostEnterExitCostMobileOpSingleStep7(PostEnterExitCostMobileOpSingleStep7Dto dto)
+        {
+            if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
+            if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
+            if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
+
+            var info = _mapper.Map<Grp_DayOtherPrice>(dto);
+            info.CreateUserId = dto.CurrUserId;
+            var status = false;
+            if (info.Id < 1)//add
+            {
+                var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
+                if (add > 0) status = true;
+            }
+            else if (info.Id > 0) //upd
+            {
+                var upd = await _sqlSugar.Updateable(info)
+                    .UpdateColumns(x => new
+                    {
+                        x.Index,
+                        x.SetDataId,
+                        x.Cost,
+                        x.Currency,
+                        x.SubTotal,
+                        x.Remark
+                    })
+                    .WhereColumns(x => new { x.Id })
+                    .ExecuteCommandAsync();
+                if (upd > 0) status = true;
+            }
+
+            if (status)
+            {
+                var itemTotal = await _sqlSugar.Queryable<Grp_DayOtherPrice>().Where(x => x.IsDel == 0 && x.Diid == dto.DiId).SumAsync(x => x.SubTotal);
+                return Ok(JsonView(new { itemTotal = itemTotal }));
             }
             return Ok(JsonView(false));
         }

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

@@ -128,6 +128,8 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<PostEnterExitCostMobileOpStep2Dto, Grp_EnterExitCost>();
             CreateMap<DayAndCostMobileInfoDto, Grp_DayAndCost>();
             CreateMap<DayOtherPriceMobileInfoDto, Grp_DayOtherPrice>();
+            CreateMap<PostEnterExitCostMobileOpSingleStep3To6Dto, Grp_DayAndCost>();
+            CreateMap<PostEnterExitCostMobileOpSingleStep7Dto, Grp_DayOtherPrice>();
 
             #endregion
 

+ 24 - 0
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDto.cs

@@ -621,6 +621,21 @@ namespace OASystem.Domain.Dtos.Groups
         public DayAndCostMobileInfoDto[] Infos { get; set; }
     }
 
+    public class PostEnterExitCostMobileOpSingleStep3To6Dto : DayAndCostMobileInfoDto
+    {
+        public int PortType { get; set; }
+        public int DiId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+        /// <summary>
+        /// 费用类型
+        /// 1 住宿费;2 伙食费;3 公杂费;4 培训费
+        /// </summary>
+        public int FeeType { get; set; }
+
+    }
+
     public class DayAndCostMobileInfoDto
     {
         public int Id { get; set; }
@@ -665,6 +680,15 @@ namespace OASystem.Domain.Dtos.Groups
         public DayOtherPriceMobileInfoDto[] Infos { get; set; }
     }
 
+    public class PostEnterExitCostMobileOpSingleStep7Dto : DayOtherPriceMobileInfoDto
+    {
+        public int PortType { get; set; }
+        public int DiId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+    }
+
     public class DayOtherPriceMobileInfoDto
     {
         public int Id { get; set; }

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Financial/ForeignReceivablesRepository.cs

@@ -516,8 +516,8 @@ Where ffr.IsDel=0 And ffr.Diid={0}", dto.DiId);
         public async Task<JsonView> PostReceivablesSingleSave(PostReceivablesSingleSaveDto dto)
         {
             JsonView result = new() { Code = 400 };
-
-            if (dto.PortType == 2 || dto.PortType == 3)
+            var portIds = new List<int>() { 2, 3 };
+            if (!portIds.Contains(dto.PortType))
             {
                 result.Msg = MsgTips.MobilePort;
                 return result;