Browse Source

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

jiangjc 1 year ago
parent
commit
bc681effec

+ 112 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -27,6 +27,7 @@ using MathNet.Numerics.Statistics.Mcmc;
 using AlibabaCloud.OpenApiClient.Models;
 using System;
 using NPOI.HPSF;
+using SqlSugar;
 
 namespace OASystem.API.Controllers
 {
@@ -229,7 +230,6 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(groupData.Data));
         }
 
-
         /// <summary>
         ///  接团信息详情
         /// </summary>
@@ -2692,6 +2692,82 @@ namespace OASystem.API.Controllers
             }
         }
 
+        /// <summary>
+        /// 团组模块 - 出入境国家费用标准 Page List Data Source
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetNationalTravelFeePageDataSource()
+        {
+           
+            string sql = string.Format(@"Select * From Grp_NationalTravelFee Where Isdel = 0  ");
+
+            var nationalTravelFeeData = await _groupRepository._sqlSugar.SqlQueryable<Grp_NationalTravelFee>(sql).ToListAsync();
+
+            List<string> countryData = new List<string>();
+
+            countryData.AddRange( nationalTravelFeeData.Select(it => it.Country ).ToList());
+            countryData = countryData.Distinct().ToList();
+
+            List<dynamic> dataSource = new List<dynamic>();
+            foreach (var item in countryData)
+            {
+                List<string> cityData1 = new List<string>();
+                cityData1 = nationalTravelFeeData.Where(it => it.Country == item).Select(it => it.City).ToList();
+                var countryData2 = new
+                {
+                    CountryName = item,
+                    CityData = cityData1
+                };
+                
+                dataSource.Add(countryData2);
+            }
+
+            return Ok(JsonView(true, "查询成功!", dataSource));
+        }
+
+        /// <summary>
+        /// 团组模块 - 出入境国家费用标准 Page List
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostNationalTravelFeePage(NationalTravelFeePageDto dto)
+        {
+            int portId = dto.PortType;
+            if (portId != 1 && portId != 2 && portId != 3) return Ok(JsonView(false, "请输入正确的端口号!\r\n请求端口分类1 Web 2 Android 3 IOS")); 
+
+            if (dto.PageIndex == 0)  return Ok(JsonView(false, "当前页码数不能为0!"));
+            if (dto.PageSize == 0) return Ok(JsonView(false, "每页条数不能0!"));
+
+            string whereSql = string.Empty;
+            if (!string.IsNullOrEmpty(dto.Country))
+            {
+                whereSql += string.Format(@" And gntf.Country ='{0}'", dto.Country);
+            }
+
+            if (!string.IsNullOrEmpty(dto.City))
+            {
+                whereSql += string.Format(@" And gntf.City='{0}'", dto.City);
+            }
+
+            string pageSql = string.Format(@"Select * From (
+                                             Select row_number() over(order by gntf.LastUpdateTime Desc) as RowNumber,
+                                             ssd.Name as CurrencyCode, ssd.Remark as CurrencyName,su.CnName as LastUpdateUserName,gntf.* 
+                                             From Grp_NationalTravelFee gntf
+                                             Left Join Sys_SetData ssd On ssd.STid = 66 And gntf.Currency = ssd.Id
+                                             Left Join Sys_Users su On gntf.LastUpdateUserId = su.Id 
+                                             Where gntf.Isdel = 0 {0} ) temp ", whereSql);
+            RefAsync<int> total = 0;
+            var nationalTravelFeeData = await _groupRepository._sqlSugar.SqlQueryable<NationalTravelFeePageInfoView>(pageSql).ToPageListAsync(dto.PageIndex, dto.PageSize, total);
+
+
+
+            return Ok(JsonView(true, "查询成功!", nationalTravelFeeData, (int)total));
+
+        }
+
         /// <summary>
         /// 团组模块 - 出入境国家费用标准 - Add Or Update
         /// </summary>
@@ -2717,6 +2793,41 @@ namespace OASystem.API.Controllers
             }
         }
 
+        /// <summary>
+        /// 团组模块 - 出入境国家费用标准 - Del
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostNationalTravelFeeDel(NationalTravelFeeDelDto dto)
+        {
+            try
+            {
+                Grp_NationalTravelFee _nationalTravelFee = new Grp_NationalTravelFee() { 
+                    Id = dto.Id,
+                    DeleteUserId = dto.DeleteUserId,
+                    DeleteTime = DateTime.Now.ToString("yyyy-MM-dd"),
+                    IsDel = 1
+                };
+
+                var delStatus = await _enterExitCostRep._sqlSugar.Updateable<Grp_NationalTravelFee>(_nationalTravelFee)
+                                               .UpdateColumns(it => new { it.DeleteTime, it.DeleteUserId, it.IsDel })
+                                               .WhereColumns(it => new { it.Id })
+                                               .ExecuteCommandAsync();
+
+                if (delStatus <= 0)
+                {
+                    return Ok(JsonView(false, "删除失败!"));
+                }
+
+                return Ok(JsonView(true, "操作成功!"));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
         #endregion
     }
 }

+ 7 - 10
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -359,16 +359,14 @@ namespace OASystem.API.Controllers
                     else
                     {
                         salary = salary = (PayrollComputation.ConvertToDecimal(salary / pm_WageSheet.WorkDays) * pm_WageSheet.RegularDays) + pm_WageSheet.Mealsupplement;
-                    }     
-
-                    
+                    }    
                 }
 
                 
                 decimal actualTotal = salary - totalDeduction;
                 pm_WageSheet.Should = salary;
                 pm_WageSheet.TotalDeductions = totalDeduction;
-                pm_WageSheet.TotalRealHair = actualTotal;
+                pm_WageSheet.TotalRealHair = actualTotal - pm_WageSheet.WithholdingTax;
                 pm_WageSheet.AfterTax = actualTotal - pm_WageSheet.WithholdingTax;
 
                 #endregion
@@ -491,7 +489,6 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(true, "操作成功! 耗时:" + (sw.ElapsedMilliseconds/1000) + "s"));
         }
 
-
         /// <summary>
         /// 计算工资 By YearMonth And UserId
         /// </summary>
@@ -738,10 +735,10 @@ namespace OASystem.API.Controllers
                                             .Select(it =>
                                              {
                                                  //修改 绩效不等于0.00M的数据
-
-                                                 decimal tax = Convert.ToDecimal(taxData.Rows[i][1].ToString());
-                                                 it.WithholdingTax = tax;
-                                                 it.AfterTax -= tax;
+                                                 decimal oldTax = it.WithholdingTax;
+                                                 decimal newTax = Convert.ToDecimal(taxData.Rows[i][1].ToString());
+                                                 it.WithholdingTax = newTax;
+                                                 it.TotalRealHair = it.Should - it.TotalDeductions - newTax;
                                                  return it;
                                              })
                                             .ToList();
@@ -751,7 +748,7 @@ namespace OASystem.API.Controllers
                                     wageSheets1 = _mapper.Map<List<Pm_WageSheet>>(wageSheetList);
                                     var updateStatus = _wageSheetRep._sqlSugar
                                         .Updateable(wageSheets1)
-                                        .UpdateColumns(it => it.WithholdingTax)
+                                        .UpdateColumns(it => new { it.WithholdingTax,it.TotalRealHair})
                                         .ExecuteCommand();
 
                                     if (updateStatus<0)

File diff suppressed because it is too large
+ 191 - 866
OASystem/OASystem.Api/OAMethodLib/PayrollComputation.cs


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

@@ -218,12 +218,36 @@ namespace OASystem.Domain.Dtos.Groups
 
     }
 
+    /// <summary>
+    /// 团组模块 - 出入境国家费用标准 Page List
+    /// </summary>
+    public class NationalTravelFeePageDto : DtoBase
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string Country { get; set; }
+
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+    }
+
     /// <summary>
     /// 出入境费用子项删除
     /// </summary>
     public class EnterExitCostSubItemDelDto : DelBaseDto
     { }
 
+    /// <summary>
+    /// 团组模块 - 出入境国家费用标准 - Del
+    /// </summary>
+    public class NationalTravelFeeDelDto : DelBaseDto
+    {
+        
+    }
+
     /// <summary>
     /// 团组模块 - 出入境国家费用标准 - Add Or Update Dto
     /// </summary>

+ 3 - 3
OASystem/OASystem.Domain/Entities/Groups/Grp_NationalTravelFee.cs

@@ -41,19 +41,19 @@ namespace OASystem.Domain.Entities.Groups
         /// <summary>
         /// 住宿费
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public string? RoomCost { get; set; }
 
         /// <summary>
         /// 伙食费
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public string? FoodCost { get; set; }
 
         /// <summary>
         /// 公杂费 
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public string? PublicCost { get; set; }
 
         /// <summary>

+ 2 - 2
OASystem/OASystem.Domain/Entities/PersonnelModule/Pm_WageSheet.cs

@@ -197,7 +197,7 @@ namespace OASystem.Domain.Entities.PersonnelModule
         public decimal TotalDeductions { get; set; }
 
         /// <summary>
-        /// 实发合计
+        /// 实发合计(税后工资)
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(8,2)")]
         public decimal TotalRealHair { get; set; }
@@ -209,7 +209,7 @@ namespace OASystem.Domain.Entities.PersonnelModule
         public decimal WithholdingTax { get; set; }
 
         /// <summary>
-        /// 税后工资
+        /// 税后工资 弃用
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(8,2)")]
         public decimal AfterTax { get; set; }

+ 85 - 3
OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostView.cs

@@ -90,6 +90,86 @@ namespace OASystem.Domain.ViewModels.Groups
         public DateTime? LastUpdateTime { get; set; }
     }
 
+    /// <summary>
+    /// 出入境国家(城市)费用标准 Page Info  View
+    /// </summary>
+    public class NationalTravelFeePageInfoView
+    {
+        /// <summary>
+        /// 行号
+        /// </summary>
+        public int RowNumber { get; set; }
+
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 洲别
+        /// </summary>
+        public string? Continent { get; set; }
+
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string? Country { get; set; }
+
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string? City { get; set; }
+
+        /// <summary>
+        /// 币种
+        /// Sys_SetData STid=66
+        /// </summary>
+        public int Currency { get; set; }
+
+        /// <summary>
+        /// 币种code
+        /// </summary>
+        public string CurrencyCode { get; set; }
+
+        /// <summary>
+        /// 币种名称
+        /// </summary>
+        public string CurrencyName { get; set; }
+
+        /// <summary>
+        /// 住宿费
+        /// </summary>
+        public decimal RoomCost { get; set; }
+
+        /// <summary>
+        /// 伙食费
+        /// </summary>
+        public decimal FoodCost { get; set; }
+
+        /// <summary>
+        /// 公杂费 
+        /// </summary>
+        public decimal PublicCost { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+        /// <summary>
+        /// 最后更新人 
+        /// </summary>
+        public int LastUpdateUserId { get; set; }
+
+        /// <summary>
+        /// 最后更新人
+        /// </summary>
+        public string LastUpdateUserName { get; set; }
+
+        /// <summary>
+        /// 最后更新时间 
+        /// </summary>
+        public DateTime? LastUpdateTime { get; set; } = DateTime.Now;
+
+    }
+
     /// <summary>
     /// 出入境费用info
     /// </summary>
@@ -333,9 +413,11 @@ namespace OASystem.Domain.ViewModels.Groups
             get
             {
                 string str = "";
-
-                if (City.Contains("城市")) str = Country;
-                else str = City;
+                if (!string.IsNullOrEmpty(Country))
+                {
+                    if (City.Contains("城市")) str = Country;
+                    else str = City;
+                }
 
                 return str;
 

+ 67 - 14
OASystem/OASystem.Domain/ViewModels/PersonnelModule/WageSheetView.cs

@@ -163,9 +163,15 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         public decimal TotalDeductions { get; set; }
 
         /// <summary>
-        /// 实发合计
+        /// 税前合计
         /// </summary>
-        public decimal TotalRealHair { get; set; }
+        public decimal BeforeTax
+        {
+            get
+            {
+                return Should - TotalDeductions;
+            }
+        }
 
         /// <summary>
         /// 代扣个税
@@ -173,9 +179,9 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         public decimal WithholdingTax { get; set; }
 
         /// <summary>
-        /// 税后工资
+        /// 实发合计(税后工资)
         /// </summary>
-        public decimal AfterTax { get; set; }
+        public decimal TotalRealHair { get; set; }
 
         /// <summary>
         /// 最后操作人
@@ -280,11 +286,6 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// </summary>
         public string? Ex_ItemsRemark { get; set; }
 
-        /// <summary>
-        /// 实发合计
-        /// </summary>
-        public decimal TotalRealHair { get; set; }
-
         /// <summary>
         /// 代扣个税
         /// </summary>
@@ -297,14 +298,14 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         {
             get
             {
-                return WithholdingTax + AfterTax;
+                return Should - TotalDeductions;
             }
         }
 
         /// <summary>
-        /// 税后工资
+        /// 实发合计(税后工资)
         /// </summary>
-        public decimal AfterTax { get; set; }
+        public decimal TotalRealHair { get; set; }
 
         /// <summary>
         /// 最后操作人
@@ -380,7 +381,6 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// </summary>
         public string? Name { get; set; }
 
-
         /// <summary>
         /// 税前合计
         /// </summary>
@@ -388,10 +388,15 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         {
             get
             {
-                return WithholdingTax + AfterTax;
+                return Should - TotalDeductions;
             }
         }
 
+        /// <summary>
+        /// 实发合计(税后工资)
+        /// </summary>
+        public decimal TotalRealHair { get; set; }
+
         /// <summary>
         /// 最后操作人
         /// </summary>
@@ -418,6 +423,54 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
 
     #region 假勤 和 打卡 统计
 
+    /// <summary>
+    /// 假期详情
+    /// </summary>
+    public class LeaveDetails
+    {
+        /// <summary>
+        /// 假期类型Id
+        /// </summary>
+        public int TypeId { get; set; }
+
+        /// <summary>
+        /// 假期名称
+        /// </summary>
+        public string TypeName { get; set; }
+
+        /// <summary>
+        /// 开始日期
+        /// </summary>
+        public DateTime StartDt { get; set; }
+
+        /// <summary>
+        /// 结束日期
+        /// </summary>
+        public DateTime EndDt { get; set; }
+
+        /// <summary>
+        /// 时间展示类型:halfday-日期;hour-日期+时间
+        /// </summary>
+        public string DtType { get; set; }
+
+        /// <summary>
+        /// 时长单位
+        /// 小时/天
+        /// </summary>
+        public string Unit { get; set; }
+
+        /// <summary>
+        /// 请假时长
+        /// </summary>
+        public decimal New_Duration { get; set; }
+
+        /// <summary>
+        /// 申请时间
+        /// </summary>
+        public DateTime  ApplyDt { get; set; }
+    }
+
+
     public class Ex_Items
     {
         /// <summary>

+ 5 - 5
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -232,12 +232,12 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             }
             else if (dto.PortType == 3) //Ios
-            { 
-            
-            }else 
-                result.Msg=ErrorMsg.Error_Port_Msg;
+            {
+
+            }
+            else result.Msg = ErrorMsg.Error_Port_Msg;
+
 
-