Browse Source

1、IOS和安卓进行后端“收款账单”及“收款退还” CRUD API编写
2、酒店预订-->预定成本取消团组成本验证及相关逻辑更改

LEIYI 4 months ago
parent
commit
352d949959

+ 47 - 68
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -807,7 +807,6 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> PostReceivablesSave(ForeignReceivablesSaveDto dto)
         {
-
             return Ok(await _ForForeignReceivablesRep.PostReceivablesSave(dto));
 
         }
@@ -1656,50 +1655,44 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> PostPaymentRefundAndOtherMoneyItemByDiId(PaymentRefundAndOtherMoneyItemByDiIdDto dto)
         {
-            try
-            {
-                if (dto == null) return Ok(JsonView(false, "参数不能为空!"));
 
-                if (dto.PageId <= 0) return Ok(JsonView(false, "请传入正确的的页面Id!"));
-
-                if (dto.UserId <= 0) return Ok(JsonView(false, "请传入正确的的员工Id!"));
+            if (dto == null) return Ok(JsonView(false, "参数不能为空!"));
 
-                #region 页面功能权限处理
-                PageFunAuthViewBase pageFunAuth = new PageFunAuthViewBase();
-                pageFunAuth = await GeneralMethod.PostUserPageFuncDatas(dto.UserId, dto.PageId);
+            if (dto.PageId <= 0) return Ok(JsonView(false, "请传入正确的的页面Id!"));
 
-                if (pageFunAuth.CheckAuth == 0)
-                {
-                    return Ok(JsonView(false, "您没有当前页面查询权限!"));
-                }
+            if (dto.UserId <= 0) return Ok(JsonView(false, "请传入正确的的员工Id!"));
 
-                #endregion
+            #region 页面功能权限处理
+            PageFunAuthViewBase pageFunAuth = new PageFunAuthViewBase();
+            pageFunAuth = await GeneralMethod.PostUserPageFuncDatas(dto.UserId, dto.PageId);
 
-                Result _result = await _paymentRefundAndOtherMoneyRep._ItemByDiId(dto.DiId);
+            if (pageFunAuth.CheckAuth == 0)
+            {
+                return Ok(JsonView(false, "您没有当前页面查询权限!"));
+            }
 
-                if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)  //1 Web 2 Android 3 Ios
-                {
-                    if (_result.Code != 0)
-                    {
-                        return Ok(JsonView(false, _result.Msg));
-                    }
+            #endregion
 
-                    var data = new
-                    {
-                        PageFuncAuth = pageFunAuth,
-                        Data = _result.Data
-                    };
+            Result _result = await _paymentRefundAndOtherMoneyRep._ItemByDiId(dto.DiId);
 
-                    return Ok(JsonView(true, "操作成功!", data));
-                }
-                else
+            if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3)  //1 Web 2 Android 3 Ios
+            {
+                if (_result.Code != 0)
                 {
-                    return Ok(JsonView(false, "请输入正确的端口号! 1 Web 2 Android 3 Ios;"));
+                    return Ok(JsonView(false, _result.Msg));
                 }
+
+                var data = new
+                {
+                    PageFuncAuth = pageFunAuth,
+                    Data = _result.Data
+                };
+
+                return Ok(JsonView(true, "操作成功!", data));
             }
-            catch (Exception ex)
+            else
             {
-                return Ok(JsonView(false, ex.Message));
+                return Ok(JsonView(false, "请输入正确的端口号! 1 Web 2 Android 3 Ios;"));
             }
         }
 
@@ -1713,39 +1706,32 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> PostPaymentRefundAndOtherMoneyDel(PaymentRefundAndOtherMoneyDelDto dto)
         {
-            try
-            {
-                if (dto == null) return Ok(JsonView(false, "参数不能为空!"));
-                if (dto.PageId <= 0) return Ok(JsonView(false, "请传入正确的的页面Id!"));
-                if (dto.UserId <= 0) return Ok(JsonView(false, "请传入正确的的员工Id!"));
-
-                PageFunAuthViewBase pageFunAuth = new PageFunAuthViewBase();
+            if (dto == null) return Ok(JsonView(false, "参数不能为空!"));
+            if (dto.PageId <= 0) return Ok(JsonView(false, "请传入正确的的页面Id!"));
+            if (dto.UserId <= 0) return Ok(JsonView(false, "请传入正确的的员工Id!"));
 
-                #region 页面功能权限处理
+            PageFunAuthViewBase pageFunAuth = new PageFunAuthViewBase();
 
-                pageFunAuth = await GeneralMethod.PostUserPageFuncDatas(dto.UserId, dto.PageId);
+            #region 页面功能权限处理
 
-                #endregion
+            pageFunAuth = await GeneralMethod.PostUserPageFuncDatas(dto.UserId, dto.PageId);
 
-                if (pageFunAuth.DeleteAuth == 0)
-                {
-                    return Ok(JsonView(false, "您没有当前页面删除权限!"));
-                }
+            #endregion
 
+            if (pageFunAuth.DeleteAuth == 0)
+            {
+                return Ok(JsonView(false, "您没有当前页面删除权限!"));
+            }
 
-                Result _result = await _paymentRefundAndOtherMoneyRep._Del(dto);
 
-                if (_result.Code != 0)
-                {
-                    return Ok(JsonView(false, _result.Msg));
-                }
+            Result _result = await _paymentRefundAndOtherMoneyRep._Del(dto);
 
-                return Ok(JsonView(true, "操作成功!"));
-            }
-            catch (Exception ex)
+            if (_result.Code != 0)
             {
-                return Ok(JsonView(false, ex.Message));
+                return Ok(JsonView(false, _result.Msg));
             }
+
+            return Ok(JsonView(true, "操作成功!"));
         }
 
         /// <summary>
@@ -1758,21 +1744,14 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> PostPaymentRefundAndOtherMoneyInfoDataSource(PortDtoBase dto)
         {
-            try
-            {
-                Result _result = await _paymentRefundAndOtherMoneyRep._InfoDataSource(dto);
+            Result _result = await _paymentRefundAndOtherMoneyRep._InfoDataSource(dto);
 
-                if (_result.Code != 0)
-                {
-                    return Ok(JsonView(false, _result.Msg));
-                }
-
-                return Ok(JsonView(true, "查询成功!", _result.Data));
-            }
-            catch (Exception ex)
+            if (_result.Code != 0)
             {
-                return Ok(JsonView(false, ex.Message));
+                return Ok(JsonView(false, _result.Msg));
             }
+
+            return Ok(JsonView(true, "查询成功!", _result.Data));
         }
 
         /// <summary>

+ 22 - 17
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -12253,25 +12253,26 @@ ORDER by  gctggrc.id DESC
 
             #endregion
             decimal _rate = 1.00M;
-            string _currency = "";
+            string _currency = string.Empty;
 
             var currDatas = _sqlSugar.Queryable<Sys_SetData>().Where(it => it.STid == 66).ToList();
-            List<Grp_HotelReservations> hrDtas = await _sqlSugar.Queryable<Grp_HotelReservations>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).ToListAsync();
+            var hrDtas = _sqlSugar.Queryable<Grp_HotelReservations>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).ToList();
             if (hrDtas.Count < 1) return Ok(JsonView(StatusCodes.Status400BadRequest, "酒店预订费用未录入,不支持预定成本Excel导出", ""));
-
-            Grp_GroupCostParameter _GroupCostParameter = await _sqlSugar.Queryable<Grp_GroupCostParameter>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).FirstAsync();
-            if (_GroupCostParameter == null) return Ok(JsonView(StatusCodes.Status400BadRequest, "团组成本费用未录入,不支持预定成本Excel导出", ""));
-            if (string.IsNullOrEmpty(_GroupCostParameter.Currency))
-            {
-                return Ok(JsonView(StatusCodes.Status400BadRequest, "团组成本费用“币种为录入”未录入,不支持预定成本Excel导出", ""));
-            }
-            _currency = _GroupCostParameter.Currency;
+            var hotelSubData = _sqlSugar.Queryable<Grp_HotelReservationsContent>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).ToList();
+            var ccpData = _sqlSugar.Queryable<Grp_CreditCardPayment>().Where(it => it.IsDel == 0 && it.DIId == _dto.DiId && it.CTable == 76).ToList();
+            
+            var _GroupCostParameter = _sqlSugar.Queryable<Grp_GroupCostParameter>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).First();
+            //if (_GroupCostParameter == null) return Ok(JsonView(StatusCodes.Status400BadRequest, "团组成本费用未录入,不支持预定成本Excel导出", ""));
+            //if (string.IsNullOrEmpty(_GroupCostParameter.Currency))
+            //{
+            //    return Ok(JsonView(StatusCodes.Status400BadRequest, "团组成本费用“币种为录入”未录入,不支持预定成本Excel导出", ""));
+            //}
+            //_currency = _GroupCostParameter.Currency;
 
             bool isIntType = int.TryParse(_currency, out int currId);
             if (isIntType)
             {
                 _currency = currDatas.Find(it => it.Id == currId)?.Name ?? "";
-
             }
 
             var teamRate = await _teamRateRep.PostGroupTeamRateItemByDiIdAndCTableId(1, _dto.DiId, 76);
@@ -12279,23 +12280,21 @@ ORDER by  gctggrc.id DESC
             var currInfo = teamRate.Find(it => it.CurrencyCode.Equals(_currency));
             if (currInfo == null)
             {
-                return Ok(JsonView(StatusCodes.Status400BadRequest, $"团组汇率-->酒店模块 {_currency} 币种未设置汇率,不支持预定成本Excel导出", ""));
+                //return Ok(JsonView(StatusCodes.Status400BadRequest, $"团组汇率-->酒店模块 {_currency} 币种未设置汇率,不支持预定成本Excel导出", ""));
 
-            }
+            }else _rate = currInfo.Rate;
 
-            if (!_currency.ToUpper().Equals("CNY"))
+            if (!string.IsNullOrEmpty(_currency) && !_currency.ToUpper().Equals("CNY"))
             {
                 _rate = _GroupCostParameter.Rate;
             }
 
-            _rate = currInfo.Rate;
+            
             hrDtas = hrDtas.OrderBy(it => it.CheckInDate).ToList();
             string strFileName = "HotelStatement/";
 
             string guestNames = ""; //格式Mr.xxx Ms.xxx
             List<HotelReservations_PCFD_View> pcfds = new List<HotelReservations_PCFD_View>();
-            var hotelSubData = _sqlSugar.Queryable<Grp_HotelReservationsContent>().Where(it => it.IsDel == 0 && it.DiId == _dto.DiId).ToList();
-            var ccpData = _sqlSugar.Queryable<Grp_CreditCardPayment>().Where(it => it.IsDel == 0 && it.DIId == _dto.DiId && it.CTable == 76).ToList();
             #region 数据处理
 
             foreach (var item in hrDtas)
@@ -12308,7 +12307,13 @@ ORDER by  gctggrc.id DESC
                 var cityTaxInfo = hotelSubData.Where(it => it.HrId == item.Id && it.PriceType == 4).FirstOrDefault(); //城市税
 
 
+                if (ccpInfo == null || roomInfo == null || breakfastInfo == null || governmentRentInfo == null || cityTaxInfo == null)
+                {
+                    continue;
+                }
+
                 string roomCurr = currDatas.Find(it => it.Id == roomInfo?.Currency)?.Name ?? "";
+                if (string.IsNullOrEmpty(_currency)) _currency = roomCurr;
 
                 string singleRoomFeeStr = string.Empty,
                        doubleRoomFeeStr = string.Empty,

+ 8 - 10
OASystem/OASystem.Infrastructure/Repositories/Financial/ForeignReceivablesRepository.cs

@@ -28,7 +28,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
         private readonly IMapper _mapper;
         private readonly DelegationInfoRepository _delegationRep;
         private readonly SetDataRepository _setDataRep;
-        
+        private readonly List<int> _portTypes = new List<int>() { 1, 2, 3 };
 
         public ForeignReceivablesRepository(SqlSugarClient sqlSugar, IMapper mapper, DelegationInfoRepository delegationRep, SetDataRepository setDataRep)
             : base(sqlSugar)
@@ -332,7 +332,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
         /// <returns></returns>
         public async Task<JsonView> PostGroupReceivablesInfoByDiId(ForForeignReceivablesNewDto dto)
         {
-            JsonView result = new() { Code = 400,Msg="" };
+            JsonView result = new() { Code = 400, Msg = "" };
 
             //var groupInfoData = await _delegationRep.GetGroupInfo(new GroupInfoDto() { Id = dto.DiId });
             var groupInfoData = await _delegationRep.Query(x => x.Id == dto.DiId)
@@ -386,8 +386,9 @@ Where ffr.IsDel=0 And ffr.Diid={0}", dto.DiId);
             }
 
             int addCount = 0, updateCount = 0;
-            if (dto.PortType == 1)
-            {
+             
+            //if (dto.PortType == 1)
+            //{
                 //查询值是否更改
                 var selectInfos = await _sqlSugar.Queryable<Fin_ForeignReceivables>().Where(it => it.Diid == dto.DiId && it.Status == 1).ToListAsync();
 
@@ -442,7 +443,7 @@ Where ffr.IsDel=0 And ffr.Diid={0}", dto.DiId);
                 }
                 result.Code = 200;
                 result.Msg = string.Format(@"操作成功!添加:{0}条;更新:{1};", addCount, updateCount);
-            }
+            //}
 
             return result;
         }
@@ -487,10 +488,7 @@ Where ffr.IsDel=0 And ffr.Diid={0}", dto.DiId);
                 result.Msg = "操作成功!";
                 result.Code = 200;
             }
-            else
-            {
-                result.Msg = "操作失败!";
-            }
+            else result.Msg = "操作失败!";
             return result;
         }
 
@@ -530,7 +528,7 @@ Where ffr.IsDel=0 And ffr.Diid={0}", dto.DiId);
         public void OverSpSeteceivables(OverSpSeteceivablesDto dto)
         {
             var querySaveReceivables = _sqlSugar.Queryable<Fin_ForeignReceivables>()
-    .First(x => x.Diid == dto.DiId && x.AddingWay == 3 && x.IsDel == 0);
+                .First(x => x.Diid == dto.DiId && x.AddingWay == 3 && x.IsDel == 0);
 
             //获取所有超支数据
             //整理超支数据

+ 25 - 36
OASystem/OASystem.Infrastructure/Repositories/Resource/AskDataRepository.cs

@@ -23,46 +23,35 @@ namespace OASystem.Infrastructure.Repositories.Resource
 
         public async Task<Result> QueryAskData(QueryAskDataDto dto)
         {
-            Result result = new Result() { Code = -2, Msg = "未知错误" };
-            try
-            {
-                string sqlWhere = string.Empty;
-                if (!string.IsNullOrWhiteSpace(dto.Country))
-                {
-                    sqlWhere += string.Format(@"And Country like '%{0}%'", dto.Country);
-                }
-                if (!string.IsNullOrWhiteSpace(dto.Area))
-                {
-                    sqlWhere += string.Format(@"And Area like '%{0}%'", dto.Area);
-                }
-                if (!string.IsNullOrWhiteSpace(dto.Field))
-                {
-                    sqlWhere += string.Format(@"And Field like '%{0}%'", dto.Field);
-                }
-                sqlWhere += string.Format(@"And IsDel={0}", 0);
 
-                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
-                {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
-                }
-                string sql = string.Format(@"select * from Res_AskData {0} order by CreateTime desc", sqlWhere);
-                List<Res_AskData> askDatd = await _sqlSugar.SqlQueryable<Res_AskData>(sql).ToListAsync();
-                List<Grp_DelegationInfo> delegationInfo=await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(a=>a.IsDel==0).ToListAsync();
-                if (askDatd.Count != 0 && delegationInfo.Count!=0)
-                {
-                    result = new Result() { Code = 0, Msg = "查询成功!", Data = new { askDatd= askDatd, delegationInfo= delegationInfo } };
-                }
-                else
-                {
-                    result = new Result() { Code = 0, Msg = "暂无数据!", Data = new { askDatd = askDatd, delegationInfo = delegationInfo } };
-                }
+            string sqlWhere = string.Empty;
+            if (!string.IsNullOrWhiteSpace(dto.Country))
+            {
+                sqlWhere += string.Format(@"And Country like '%{0}%'", dto.Country);
             }
-            catch (Exception ex)
+            if (!string.IsNullOrWhiteSpace(dto.Area))
             {
-                result = new Result() { Code = -2, Msg = "未知错误" };
+                sqlWhere += string.Format(@"And Area like '%{0}%'", dto.Area);
             }
-            return result;
+            if (!string.IsNullOrWhiteSpace(dto.Field))
+            {
+                sqlWhere += string.Format(@"And Field like '%{0}%'", dto.Field);
+            }
+            sqlWhere += string.Format(@"And IsDel={0}", 0);
+
+            if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+            {
+                Regex r = new Regex("And");
+                sqlWhere = r.Replace(sqlWhere, "Where", 1);
+            }
+            string sql = string.Format(@"select * from Res_AskData {0} order by CreateTime desc", sqlWhere);
+            List<Res_AskData> askDatd = await _sqlSugar.SqlQueryable<Res_AskData>(sql).ToListAsync();
+            List<Grp_DelegationInfo> delegationInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(a => a.IsDel == 0).ToListAsync();
+            var msg = string.Empty;
+            if (askDatd.Count != 0 && delegationInfo.Count != 0) msg = "查询成功!";
+            else msg = "查询成功!";
+
+            return new Result() { Code = 0, Msg = msg, Data = new { askDatd = askDatd, delegationInfo = delegationInfo } };
         }
 
         /// <summary>