Browse Source

优化费用处理逻辑及注释更新

- 移除 `FinancialController.cs` 中的无用注释。
- 在 `DailyFeePaymentRepository.cs` 中为构造函数添加详细参数注释。
- 修改 `Add` 方法,更新费用数据处理逻辑,增加对 `STid` 为 104 的处理,并优化审核标志设置。
- 更新 `Edit` 方法,确保正确判断已审核费用的付款状态。
LEIYI 2 months ago
parent
commit
589aef3da5

+ 0 - 1
OASystem/OASystem.Api/Controllers/FinancialController.cs

@@ -100,7 +100,6 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(data));
         }
 
-
         /// <summary>
         /// 获取日付申请 基础数据源 - 转账表识 
         /// </summary>

+ 50 - 40
OASystem/OASystem.Infrastructure/Repositories/Financial/DailyFeePaymentRepository.cs

@@ -26,8 +26,19 @@ namespace OASystem.Infrastructure.Repositories.Financial
         private readonly System.UsersRepository _UsersRep;
         private readonly System.CompanyRepository _CompanyRep;
 
-        public DailyFeePaymentRepository(SqlSugarClient sqlSugar, IMapper mapper, System.SetDataTypeRepository setDataTypeRep,
-            UsersRepository usersRep, CompanyRepository companyRep)
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="sqlSugar"></param>
+        /// <param name="mapper"></param>
+        /// <param name="setDataTypeRep"></param>
+        /// <param name="usersRep"></param>
+        /// <param name="companyRep"></param>
+        public DailyFeePaymentRepository(SqlSugarClient sqlSugar, 
+            IMapper mapper, 
+            System.SetDataTypeRepository setDataTypeRep,
+            UsersRepository usersRep, 
+            CompanyRepository companyRep)
             : base(sqlSugar)
         {
             this._mapper = mapper;
@@ -365,49 +376,48 @@ namespace OASystem.Infrastructure.Repositories.Financial
         {
             Result result = new Result() { Code = -2 };
             _sqlSugar.BeginTran();
-            try
-            {
-                var _fee = _mapper.Map<Fin_DailyFeePayment>(dto);
-                _fee.CreateUserId = dto.UserId;
 
-                /*
-                 * 2024-10-29
-                 * 各部门基础固定费用明细”里的费用数据新增后,财务和总经理审核都默认直接通过isAudit=1),并且可编辑,如果ispay=1的话将不可编辑
-                 */
-                var priceTypeInfo = await _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0 && x.Id == dto.PriceTypeId).FirstAsync();
-                if (priceTypeInfo != null && priceTypeInfo.STid == 90)
+            var _fee = _mapper.Map<Fin_DailyFeePayment>(dto);
+            _fee.CreateUserId = dto.UserId;
+
+            /*
+             * 2024-10-29
+             * 各部门基础固定费用明细”里的费用数据新增后,财务和总经理审核都默认直接通过isAudit=1),并且可编辑,如果ispay=1的话将不可编辑
+             * 2025-02-24
+             * 团组费用 默认总经理审核通过
+             */
+            var priceTypeInfo = await _sqlSugar.Queryable<Sys_SetData>().FirstAsync(x => x.IsDel == 0 && x.Id == dto.PriceTypeId);
+            if (priceTypeInfo != null && (priceTypeInfo.STid == 90 || priceTypeInfo.STid == 104))
+            {
+                if (priceTypeInfo.STid == 90)
                 {
                     _fee.FAudit = 1;
                     _fee.FAuditDate = DateTime.Now;
-                    _fee.MAudit = 1;
-                    _fee.MAuditDate = DateTime.Now;
                 }
 
-                int? feeId = await _sqlSugar.Insertable(_fee).ExecuteReturnIdentityAsync();
+                _fee.MAudit = 1;
+                _fee.MAuditDate = DateTime.Now;
+            }
 
-                if (dto.FeeContents.Any())
-                {
-                    var _feeContents = _mapper.Map<List<Fin_DailyFeePaymentContent>>(dto.FeeContents);
+            int? feeId = await _sqlSugar.Insertable(_fee).ExecuteReturnIdentityAsync();
 
-                    foreach (var item in _feeContents)
-                    {
-                        item.DFPId = feeId == null ? -1 : Convert.ToInt32(feeId);
-                        item.CreateUserId = dto.UserId;
-                    }
-                    await _sqlSugar.Insertable(_feeContents).ExecuteCommandAsync();
+            if (dto.FeeContents.Any())
+            {
+                var _feeContents = _mapper.Map<List<Fin_DailyFeePaymentContent>>(dto.FeeContents);
+
+                foreach (var item in _feeContents)
+                {
+                    item.DFPId = feeId == null ? -1 : Convert.ToInt32(feeId);
+                    item.CreateUserId = dto.UserId;
                 }
+                await _sqlSugar.Insertable(_feeContents).ExecuteCommandAsync();
+            }
 
-                _sqlSugar.CommitTran();
-                result.Code = 0;
+            _sqlSugar.CommitTran();
+            result.Code = 0;
 
-                var data = new { dailyId = feeId, sign = 1 };
-                result.Data = data;
-            }
-            catch (Exception ex)
-            {
-                _sqlSugar.RollbackTran();
-                result.Msg = ex.Message;
-            }
+            var data = new { dailyId = feeId, sign = 1 };
+            result.Data = data;
 
             return result;
         }
@@ -422,17 +432,17 @@ namespace OASystem.Infrastructure.Repositories.Financial
             Result result = new Result() { Code = -2 };
 
             #region 已审核的数据不可编辑
-            var dailyFeePayment = await _sqlSugar.Queryable<Fin_DailyFeePayment>().Where(it => it.Id == dto.Id && it.IsDel == 0).FirstAsync();
-            if (dailyFeePayment != null)
+            var dailyFeeInfo = await _sqlSugar.Queryable<Fin_DailyFeePayment>().Where(it => it.Id == dto.Id && it.IsDel == 0).FirstAsync();
+            if (dailyFeeInfo != null)
             {
-                if (dailyFeePayment.FAudit == 1 || dailyFeePayment.MAudit == 1)
+                if (dailyFeeInfo.FAudit == 1 || dailyFeeInfo.MAudit == 1)
                 {
-                    var setData = await _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0 && x.Id == dto.PriceTypeId).FirstAsync();
+                    var setData = await _sqlSugar.Queryable<Sys_SetData>().FirstAsync(x => x.IsDel == 0 && x.Id == dto.PriceTypeId);
                     if (setData != null)
                     {
-                        if (setData.STid == 90)
+                        if (setData.STid == 90 || setData.STid == 104)
                         {
-                            if (dailyFeePayment.IsPay == 1)
+                            if (dailyFeeInfo.IsPay == 1)
                             {
                                 result.Msg = "该笔费用已付款,不可修改!";
                                 return result;