Browse Source

计算工资
个税模板下载 增加人员条件
条件为 "在职人员"

leiy 1 year ago
parent
commit
b7d676ad6e

+ 41 - 8
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -27,6 +27,8 @@ namespace OASystem.API.Controllers
         private readonly WageSheetRepository _wageSheetRep;
         private readonly UsersRepository _usersRep;
 
+        private string url;
+        private string path;
 
         /// <summary>
         /// 初始化
@@ -42,6 +44,14 @@ namespace OASystem.API.Controllers
             _qiYeWeChatApiService = qiYeWeChatApiService;
             _wageSheetRep = wageSheetRep;
             _result = new Result();
+
+
+            url = AppSettingsHelper.Get("ExcelBaseUrl");
+            path = AppSettingsHelper.Get("ExcelBasePath");
+            if (!System.IO.Directory.Exists(path))
+            {
+                System.IO.Directory.CreateDirectory(path);//不存在就创建文件夹
+            }
         }
 
         #region 工资表单
@@ -661,21 +671,44 @@ namespace OASystem.API.Controllers
                 List<string> names = new List<string>();
 
                 List<UserNameView> users = new List<UserNameView>();
+                names.Add("管理员");
+                names.Add("国交共享号");
+                names.Add("人事审核号");
+                names.Add("国交主管号");
+
+                List<TaxTemlateViuw> taxs = new List<TaxTemlateViuw>();
                 users = JsonConvert.DeserializeObject<List<UserNameView>>(JsonConvert.SerializeObject(userNames));
 
                 foreach (UserNameView item in users)
                 {
-                    names.Add(item.CnName);
+                    string uName = item.CnName;
+                    if (!names.Contains(uName))
+                    {
+                        taxs.Add(new TaxTemlateViuw { UserName = item.CnName });
+                    }
                 }
 
-                names.Remove("管理员");
-                names.Remove("国交共享号");
-                names.Remove("人事审核号");
-                names.Remove("国交主管号");
-
-                if (names.Count > 0)
+                if (taxs.Count > 0)
                 {
-                    return Ok(JsonView(true, "操作成功!", new { FileUrl = serverUrl + "Office/WageSheetFile/个税导入模板.xlsx" }));
+                    WorkbookDesigner designer = new WorkbookDesigner();
+                    designer.Workbook = new Workbook(AppSettingsHelper.Get("ExcelBasePath") + "Template/个税导入模板.xlsx");
+                    designer.Workbook.Worksheets[0].Name = "个税模板";
+                    designer.SetDataSource("TaxTemp", taxs);
+                    designer.Process();
+
+                    string fileName = "WageSheetTaxFile/个税模板" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
+                    string path = AppSettingsHelper.Get("ExcelBasePath");
+                    designer.Workbook.Save(path + fileName);
+                    designer = null;
+
+                    string excelPath = AppSettingsHelper.Get("ExcelFtpPath") + fileName;
+                    string url = AppSettingsHelper.Get("ExcelBaseUrl");
+                    string fileUrl = url + excelPath;
+
+
+
+
+                    return Ok(JsonView(true, "操作成功!", new { FileUrl = fileUrl }));
                 }
 
             }

+ 3 - 1
OASystem/OASystem.Api/appsettings.json

@@ -126,6 +126,8 @@
   "VisaProgressImageFtpPath": "Image/Visa/",
 
   "WageSheetExcelBaseUrl": "http://132.232.92.186:24/",
-  "WageSheetExcelFptPath": "C:/Server/File/OA2023/Office/WageSheetFile/"
+  "WageSheetExcelFptPath": "C:/Server/File/OA2023/Office/WageSheetFile/",
 
+  "WageSheetTaxExcelBaseUrl": "http://132.232.92.186:24/",
+  "WageSheetTaxExcelFptPath": "C:/Server/File/OA2023/Office/Excel/WageSheetTaxFile/"
 }

+ 10 - 0
OASystem/OASystem.Domain/ViewModels/PersonnelModule/WageSheetView.cs

@@ -327,6 +327,16 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         public DateTime? LastUpdateDt { get; set; }
     }
 
+    /// <summary>
+    /// 个税模板 View
+    /// </summary>
+    public class TaxTemlateViuw
+    {
+        public string? UserName { get; set; }
+
+        public decimal Tax { get; set; } = 0.00M;
+    }
+
 
     public class ExportWageSheetItemView:Pm_WageSheet
     {