From b1982d4ffc6f6eaebb361fba0b0c35bdf5b88c4c Mon Sep 17 00:00:00 2001 From: sl c <790825059@qq.com> Date: Mon, 21 Apr 2025 10:28:40 +0800 Subject: [PATCH 01/29] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E5=B7=A5=E8=B5=84?= =?UTF-8?q?=E3=80=81=E6=AF=8F=E6=9C=88=E5=B7=A5=E8=B5=84=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E3=80=81=E5=91=98=E5=B7=A5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseInfo/EmployeeController.cs | 171 ++++++++++++++ .../BaseInfo/MonthSalaryController.cs | 171 ++++++++++++++ .../BaseInfo/SalaryLevelController.cs | 171 ++++++++++++++ .../Controllers/System/CompanyController.cs | 102 ++++++++ ZR.Admin.WebApi/appsettings.json | 13 +- ZR.Model/BaseInfo/Dto/EmployeeDto.cs | 114 +++++++++ ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs | 179 ++++++++++++++ ZR.Model/BaseInfo/Dto/SalaryLevelDto.cs | 66 ++++++ ZR.Model/BaseInfo/Employee.cs | 126 ++++++++++ ZR.Model/BaseInfo/MonthSalary.cs | 221 ++++++++++++++++++ ZR.Model/BaseInfo/SalaryLevel.cs | 76 ++++++ ZR.Model/System/Company.cs | 56 +++++ ZR.Model/System/Dto/CompanyDto.cs | 40 ++++ ZR.Service/BaseInfo/EmployeeService.cs | 145 ++++++++++++ .../IBaseInfoService/IEmployeeService.cs | 25 ++ .../IBaseInfoService/IMonthSalaryService.cs | 25 ++ .../IBaseInfoService/ISalaryLevelService.cs | 25 ++ ZR.Service/BaseInfo/MonthSalaryService.cs | 142 +++++++++++ ZR.Service/BaseInfo/SalaryLevelService.cs | 142 +++++++++++ ZR.Service/System/CompanyService.cs | 80 +++++++ .../System/ISystemService/ICompanyService.cs | 21 ++ 21 files changed, 2105 insertions(+), 6 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs create mode 100644 ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs create mode 100644 ZR.Admin.WebApi/Controllers/BaseInfo/SalaryLevelController.cs create mode 100644 ZR.Admin.WebApi/Controllers/System/CompanyController.cs create mode 100644 ZR.Model/BaseInfo/Dto/EmployeeDto.cs create mode 100644 ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs create mode 100644 ZR.Model/BaseInfo/Dto/SalaryLevelDto.cs create mode 100644 ZR.Model/BaseInfo/Employee.cs create mode 100644 ZR.Model/BaseInfo/MonthSalary.cs create mode 100644 ZR.Model/BaseInfo/SalaryLevel.cs create mode 100644 ZR.Model/System/Company.cs create mode 100644 ZR.Model/System/Dto/CompanyDto.cs create mode 100644 ZR.Service/BaseInfo/EmployeeService.cs create mode 100644 ZR.Service/BaseInfo/IBaseInfoService/IEmployeeService.cs create mode 100644 ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs create mode 100644 ZR.Service/BaseInfo/IBaseInfoService/ISalaryLevelService.cs create mode 100644 ZR.Service/BaseInfo/MonthSalaryService.cs create mode 100644 ZR.Service/BaseInfo/SalaryLevelService.cs create mode 100644 ZR.Service/System/CompanyService.cs create mode 100644 ZR.Service/System/ISystemService/ICompanyService.cs diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs new file mode 100644 index 00000000..1958f167 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-04-10 +namespace ZR.Admin.WebApi.Controllers.BaseInfo +{ + /// + /// 员工信息 + /// + [Verify] + [Route("BaseInfo/Employee")] + public class EmployeeController : BaseController + { + /// + /// 员工信息接口 + /// + private readonly IEmployeeService _EmployeeService; + + public EmployeeController(IEmployeeService EmployeeService) + { + _EmployeeService = EmployeeService; + } + + /// + /// 查询员工信息列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "Employee:list")] + public IActionResult QueryEmployee([FromQuery] EmployeeQueryDto parm) + { + var response = _EmployeeService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询员工信息详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "Employee:query")] + public IActionResult GetEmployee(int Id) + { + var response = _EmployeeService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加员工信息 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "Employee:add")] + [Log(Title = "员工信息", BusinessType = BusinessType.INSERT)] + public IActionResult AddEmployee([FromBody] EmployeeDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _EmployeeService.AddEmployee(modal); + + return SUCCESS(response); + } + + /// + /// 更新员工信息 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "Employee:edit")] + [Log(Title = "员工信息", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateEmployee([FromBody] EmployeeDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _EmployeeService.UpdateEmployee(modal); + + return ToResponse(response); + } + + /// + /// 删除员工信息 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "Employee:delete")] + [Log(Title = "员工信息", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteEmployee([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_EmployeeService.Delete(idArr)); + } + + /// + /// 导出员工信息 + /// + /// + [Log(Title = "员工信息", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "Employee:export")] + public IActionResult Export([FromQuery] EmployeeQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _EmployeeService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "员工信息", "员工信息"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空员工信息 + /// + /// + [Log(Title = "员工信息", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "Employee:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_EmployeeService.TruncateEmployee()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "员工信息导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "Employee:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_EmployeeService.ImportEmployee(list.Adapt>())); + } + + /// + /// 员工信息导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "员工信息模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "Employee"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs new file mode 100644 index 00000000..6db62ba8 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-04-10 +namespace ZR.Admin.WebApi.Controllers.BaseInfo +{ + /// + /// 每月工资明细 + /// + [Verify] + [Route("BaseInfo/MonthSalary")] + public class MonthSalaryController : BaseController + { + /// + /// 每月工资明细接口 + /// + private readonly IMonthSalaryService _MonthSalaryService; + + public MonthSalaryController(IMonthSalaryService MonthSalaryService) + { + _MonthSalaryService = MonthSalaryService; + } + + /// + /// 查询每月工资明细列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "MonthSalary:list")] + public IActionResult QueryMonthSalary([FromQuery] MonthSalaryQueryDto parm) + { + var response = _MonthSalaryService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询每月工资明细详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "MonthSalary:query")] + public IActionResult GetMonthSalary(int Id) + { + var response = _MonthSalaryService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加每月工资明细 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "MonthSalary:add")] + [Log(Title = "每月工资明细", BusinessType = BusinessType.INSERT)] + public IActionResult AddMonthSalary([FromBody] MonthSalaryDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _MonthSalaryService.AddMonthSalary(modal); + + return SUCCESS(response); + } + + /// + /// 更新每月工资明细 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "MonthSalary:edit")] + [Log(Title = "每月工资明细", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateMonthSalary([FromBody] MonthSalaryDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _MonthSalaryService.UpdateMonthSalary(modal); + + return ToResponse(response); + } + + /// + /// 删除每月工资明细 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "MonthSalary:delete")] + [Log(Title = "每月工资明细", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteMonthSalary([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_MonthSalaryService.Delete(idArr)); + } + + /// + /// 导出每月工资明细 + /// + /// + [Log(Title = "每月工资明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "MonthSalary:export")] + public IActionResult Export([FromQuery] MonthSalaryQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _MonthSalaryService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "每月工资明细", "每月工资明细"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空每月工资明细 + /// + /// + [Log(Title = "每月工资明细", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "MonthSalary:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_MonthSalaryService.TruncateMonthSalary()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "每月工资明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "MonthSalary:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_MonthSalaryService.ImportMonthSalary(list.Adapt>())); + } + + /// + /// 每月工资明细导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "每月工资明细模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "MonthSalary"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/SalaryLevelController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/SalaryLevelController.cs new file mode 100644 index 00000000..af28ce24 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/SalaryLevelController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-04-10 +namespace ZR.Admin.WebApi.Controllers.BaseInfo +{ + /// + /// 岗位工资 + /// + [Verify] + [Route("BaseInfo/SalaryLevel")] + public class SalaryLevelController : BaseController + { + /// + /// 岗位工资接口 + /// + private readonly ISalaryLevelService _SalaryLevelService; + + public SalaryLevelController(ISalaryLevelService SalaryLevelService) + { + _SalaryLevelService = SalaryLevelService; + } + + /// + /// 查询岗位工资列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "SalaryLevel:list")] + public IActionResult QuerySalaryLevel([FromQuery] SalaryLevelQueryDto parm) + { + var response = _SalaryLevelService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询岗位工资详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "SalaryLevel:query")] + public IActionResult GetSalaryLevel(int Id) + { + var response = _SalaryLevelService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加岗位工资 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "SalaryLevel:add")] + [Log(Title = "岗位工资", BusinessType = BusinessType.INSERT)] + public IActionResult AddSalaryLevel([FromBody] SalaryLevelDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _SalaryLevelService.AddSalaryLevel(modal); + + return SUCCESS(response); + } + + /// + /// 更新岗位工资 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "SalaryLevel:edit")] + [Log(Title = "岗位工资", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateSalaryLevel([FromBody] SalaryLevelDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _SalaryLevelService.UpdateSalaryLevel(modal); + + return ToResponse(response); + } + + /// + /// 删除岗位工资 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "SalaryLevel:delete")] + [Log(Title = "岗位工资", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteSalaryLevel([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_SalaryLevelService.Delete(idArr)); + } + + /// + /// 导出岗位工资 + /// + /// + [Log(Title = "岗位工资", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "SalaryLevel:export")] + public IActionResult Export([FromQuery] SalaryLevelQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _SalaryLevelService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "岗位工资", "岗位工资"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空岗位工资 + /// + /// + [Log(Title = "岗位工资", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "SalaryLevel:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_SalaryLevelService.TruncateSalaryLevel()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "岗位工资导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "SalaryLevel:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_SalaryLevelService.ImportSalaryLevel(list.Adapt>())); + } + + /// + /// 岗位工资导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "岗位工资模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "SalaryLevel"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/System/CompanyController.cs b/ZR.Admin.WebApi/Controllers/System/CompanyController.cs new file mode 100644 index 00000000..36821e58 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/System/CompanyController.cs @@ -0,0 +1,102 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.System.Dto; +using ZR.Model.System; +using ZR.Service.System.ISystemService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-04-10 +namespace ZR.Admin.WebApi.Controllers.System +{ + /// + /// 公司信息 + /// + [Verify] + [Route("system/Company")] + public class CompanyController : BaseController + { + /// + /// 公司信息接口 + /// + private readonly ICompanyService _CompanyService; + + public CompanyController(ICompanyService CompanyService) + { + _CompanyService = CompanyService; + } + + /// + /// 查询公司信息列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "Company:list")] + public IActionResult QueryCompany([FromQuery] CompanyQueryDto parm) + { + var response = _CompanyService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询公司信息详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "Company:query")] + public IActionResult GetCompany(int Id) + { + var response = _CompanyService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加公司信息 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "Company:add")] + [Log(Title = "公司信息", BusinessType = BusinessType.INSERT)] + public IActionResult AddCompany([FromBody] CompanyDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _CompanyService.AddCompany(modal); + + return SUCCESS(response); + } + + /// + /// 更新公司信息 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "Company:edit")] + [Log(Title = "公司信息", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateCompany([FromBody] CompanyDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _CompanyService.UpdateCompany(modal); + + return ToResponse(response); + } + + /// + /// 删除公司信息 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "Company:delete")] + [Log(Title = "公司信息", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteCompany([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_CompanyService.Delete(idArr)); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index ec13dd3b..4fa3a808 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -8,8 +8,8 @@ }, "dbConfigs": [ { - "Conn": "Data Source=LAPTOP-STKF2M8H\\SQLEXPRESS;User ID=admin;Password=admin123;Initial Catalog=ZrAdmin;Encrypt=True;TrustServerCertificate=True;", - "DbType": 1, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 + "Conn": "Data Source=192.168.107.252;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;", + "DbType": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true } @@ -18,11 +18,12 @@ //代码生成数据库配置 "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 - "Conn": "Data Source=LAPTOP-STKF2M8H\\SQLEXPRESS;User ID=admin;Password=admin123;Initial Catalog={dbName};", - "DbType": 1, + //"Conn": "Data Source=LAPTOP-STKF2M8H\\SQLEXPRESS;User ID=admin;Password=admin123;Initial Catalog={dbName};", + "Conn": "Data Source=192.168.107.252;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;Initial Catalog={dbName};", + "DbType": 0, "IsAutoCloseConnection": true, - "DbName": "ZrAdmin" //代码生成默认连接数据库,Oracle库是实例的名称 - }, + "DbName": "Salary_test" //代码生成默认连接数据库,Oracle库是实例的名称 + }, "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 "corsUrls": [ "http://localhost:8887", "http://localhost:8886" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 "JwtSettings": { diff --git a/ZR.Model/BaseInfo/Dto/EmployeeDto.cs b/ZR.Model/BaseInfo/Dto/EmployeeDto.cs new file mode 100644 index 00000000..1b2a84b4 --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/EmployeeDto.cs @@ -0,0 +1,114 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 员工信息查询对象 + /// + public class EmployeeQueryDto : PagerInfo + { + } + + /// + /// 员工信息输入输出对象 + /// + public class EmployeeDto + { + [Required(ErrorMessage = "Id不能为空")] + [ExcelColumn(Name = "Id")] + [ExcelColumnName("Id")] + public int Id { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string EmployeeCode { get; set; } + + [Required(ErrorMessage = "姓名不能为空")] + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string FullName { get; set; } + + [Required(ErrorMessage = "HR系统人员编码不能为空")] + [ExcelColumn(Name = "HR系统人员编码")] + [ExcelColumnName("HR系统人员编码")] + public string HrSysEmployeeCode { get; set; } + + [Required(ErrorMessage = "HR系统部门id不能为空")] + [ExcelColumn(Name = "HR系统部门id")] + [ExcelColumnName("HR系统部门id")] + public string HrSysDeptId { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string HrSysDeptName { get; set; } + + [ExcelColumn(Name = "公司")] + [ExcelColumnName("公司")] + public string CompanyId { get; set; } + + [ExcelColumn(Name = "部门")] + [ExcelColumnName("部门")] + public string DeptId { get; set; } + + [ExcelColumn(Name = "片区")] + [ExcelColumnName("片区")] + public string Region { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string CenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string TeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string EmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string EmploymentCategory { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string Gender { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string IsPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string SalaryLevelId { get; set; } + + [ExcelColumn(Name = "状态(1正常 0停用)")] + [ExcelColumnName("状态(1正常 0停用)")] + public int? Status { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "Remark")] + [ExcelColumnName("Remark")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string EmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs b/ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs new file mode 100644 index 00000000..1976a9a2 --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs @@ -0,0 +1,179 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 每月工资明细查询对象 + /// + public class MonthSalaryQueryDto : PagerInfo + { + } + + /// + /// 每月工资明细输入输出对象 + /// + public class MonthSalaryDto + { + [Required(ErrorMessage = "Id不能为空")] + [ExcelIgnore] + public int Id { get; set; } + + [ExcelColumn(Name = "薪资月份", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("薪资月份")] + public DateTime? RecordMonth { get; set; } + + [ExcelIgnore] + public int? EmployeeId { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string EmployeeCode { get; set; } + + [ExcelColumn(Name = "人员姓名")] + [ExcelColumnName("人员姓名")] + public string EmployeeName { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string PerformanceGrade { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal MonthlyPerformance { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal MonthlySalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal PerformanceSupplement { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal SalarySupplement { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal OtherSupplement { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal SeniorityAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal ComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal OvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal ComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal KeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal CertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal PhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal TransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal LivingAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal HousingAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal MarketDevelopmentBonus { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal AdvancePerformancePay { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal SettlementPerformancePay { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal ProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal AttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal AgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal AgentOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal FixedPayment { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal PieceworkWage { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal ProjectPreset { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal OtherIncome { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal AVGBalancePayable { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal LunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal WomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal TotalMonthlyPay { get; set; } + + [ExcelIgnore] + public string CreateBy { get; set; } + + [ExcelIgnore] + public DateTime? CreateTime { get; set; } + + [ExcelIgnore] + public string UpdateBy { get; set; } + + [ExcelIgnore] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "Remark")] + [ExcelColumnName("Remark")] + public string Remark { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/Dto/SalaryLevelDto.cs b/ZR.Model/BaseInfo/Dto/SalaryLevelDto.cs new file mode 100644 index 00000000..cc93d603 --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/SalaryLevelDto.cs @@ -0,0 +1,66 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 岗位工资查询对象 + /// + public class SalaryLevelQueryDto : PagerInfo + { + } + + /// + /// 岗位工资输入输出对象 + /// + public class SalaryLevelDto + { + [Required(ErrorMessage = "Id不能为空")] + [ExcelIgnore] + public int Id { get; set; } + + [Required(ErrorMessage = "岗级名称不能为空")] + [ExcelColumn(Name = "岗级名称")] + [ExcelColumnName("岗级名称")] + public string FristLevelName { get; set; } + + [ExcelColumn(Name = "第二级别")] + [ExcelColumnName("第二级别")] + public string SecondLevelName { get; set; } + + [ExcelColumn(Name = "第三级别")] + [ExcelColumnName("第三级别")] + public string ThirdLevelName { get; set; } + + [ExcelColumn(Name = "薪资")] + [ExcelColumnName("薪资")] + public decimal Salary { get; set; } + + [ExcelColumn(Name = "排序字段")] + [ExcelColumnName("排序字段")] + public int? SortField { get; set; } + + [ExcelColumn(Name = "状态")] + [ExcelColumnName("状态")] + public int? Status { get; set; } + + [ExcelIgnore] + public string CreateBy { get; set; } + + [ExcelIgnore] + public DateTime? CreateTime { get; set; } + + [ExcelIgnore] + public string UpdateBy { get; set; } + + [ExcelIgnore] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "Remark")] + [ExcelColumnName("Remark")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "状态")] + public string StatusLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/Employee.cs b/ZR.Model/BaseInfo/Employee.cs new file mode 100644 index 00000000..ed87526d --- /dev/null +++ b/ZR.Model/BaseInfo/Employee.cs @@ -0,0 +1,126 @@ + +namespace ZR.Model.BaseInfo +{ + /// + /// 员工信息 + /// + [SugarTable("pms_employee")] + public class Employee + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 人员编码 + /// + public string EmployeeCode { get; set; } + + /// + /// 姓名 + /// + public string FullName { get; set; } + + /// + /// HR系统人员编码 + /// + public string HrSysEmployeeCode { get; set; } + + /// + /// HR系统部门id + /// + public string HrSysDeptId { get; set; } + + /// + /// HR系统部门名称 + /// + public string HrSysDeptName { get; set; } + + /// + /// 公司 + /// + public string CompanyId { get; set; } + + /// + /// 部门 + /// + public string DeptId { get; set; } + + /// + /// 片区 + /// + public string Region { get; set; } + + /// + /// 中心名称 + /// + public string CenterName { get; set; } + + /// + /// 班组名称 + /// + public string TeamName { get; set; } + + /// + /// 人员类别 + /// + public string EmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string EmploymentCategory { get; set; } + + /// + /// 性别 + /// + public string Gender { get; set; } + + /// + /// 是否党员 + /// + public string IsPartyMember { get; set; } + + /// + /// 岗级 + /// + public string SalaryLevelId { get; set; } + + /// + /// 状态(1正常 0停用) + /// + public int? Status { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// Remark + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/MonthSalary.cs b/ZR.Model/BaseInfo/MonthSalary.cs new file mode 100644 index 00000000..e68f78ad --- /dev/null +++ b/ZR.Model/BaseInfo/MonthSalary.cs @@ -0,0 +1,221 @@ + +namespace ZR.Model.BaseInfo +{ + /// + /// 每月工资明细 + /// + [SugarTable("pms_month_salary")] + public class MonthSalary + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 记录月份(YYYY-MM) + /// + public DateTime? RecordMonth { get; set; } + + /// + /// 人员id + /// + public int EmployeeId { get; set; } + + /// + /// 人员编码 + /// + public string EmployeeCode { get; set; } + + /// + /// 人员姓名 + /// + public string EmployeeName { get; set; } + + /// + /// 绩效所在岗级 + /// + public string PerformanceGrade { get; set; } + + /// + /// 月标准绩效 + /// + public decimal MonthlyPerformance { get; set; } + + /// + /// 月岗位工资 + /// + public decimal MonthlySalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal PerformanceSupplement { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal SalarySupplement { get; set; } + + /// + /// 补发其他工资 + /// + public decimal OtherSupplement { get; set; } + + /// + /// 年功津贴 + /// + public decimal SeniorityAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal ComprehensiveAllowance { get; set; } + + /// + /// 加班工资 + /// + public decimal OvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal ComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal KeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal CertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal PhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal TransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal LivingAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal HousingAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal MarketDevelopmentBonus { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal AdvancePerformancePay { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal SettlementPerformancePay { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal ProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal AttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal AgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal AgentOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal FixedPayment { get; set; } + + /// + /// 计件计量工资 + /// + public decimal PieceworkWage { get; set; } + + /// + /// 月预设项目 + /// + public decimal ProjectPreset { get; set; } + + /// + /// 其他工资 + /// + public decimal OtherIncome { get; set; } + + /// + /// 平衡应发 + /// + public decimal AVGBalancePayable { get; set; } + + /// + /// 午餐补助 + /// + public decimal LunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal WomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal TotalMonthlyPay { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// Remark + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/SalaryLevel.cs b/ZR.Model/BaseInfo/SalaryLevel.cs new file mode 100644 index 00000000..b4a12444 --- /dev/null +++ b/ZR.Model/BaseInfo/SalaryLevel.cs @@ -0,0 +1,76 @@ + +namespace ZR.Model.BaseInfo +{ + /// + /// 岗位工资 + /// + [SugarTable("pms_salary_level")] + public class SalaryLevel + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 岗级名称 + /// + public string FristLevelName { get; set; } + + /// + /// 第二级别 + /// + public string SecondLevelName { get; set; } + + /// + /// 第三级别 + /// + public string ThirdLevelName { get; set; } + + /// + /// Salary + /// + public decimal Salary { get; set; } + + /// + /// 排序字段 + /// + public int? SortField { get; set; } + + /// + /// 状态(1正常 0停用) + /// + public int? Status { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// Remark + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/System/Company.cs b/ZR.Model/System/Company.cs new file mode 100644 index 00000000..29ce7fb2 --- /dev/null +++ b/ZR.Model/System/Company.cs @@ -0,0 +1,56 @@ + +namespace ZR.Model.System +{ + /// + /// 公司信息 + /// + [SugarTable("pms_company")] + public class Company + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 公司名称 + /// + public string CompanyName { get; set; } + + /// + /// 状态 + /// + public int? Status { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// Remark + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/System/Dto/CompanyDto.cs b/ZR.Model/System/Dto/CompanyDto.cs new file mode 100644 index 00000000..3c050e71 --- /dev/null +++ b/ZR.Model/System/Dto/CompanyDto.cs @@ -0,0 +1,40 @@ + +namespace ZR.Model.System.Dto +{ + /// + /// 公司信息查询对象 + /// + public class CompanyQueryDto : PagerInfo + { + public string CompanyName { get; set; } + } + + /// + /// 公司信息输入输出对象 + /// + public class CompanyDto + { + [Required(ErrorMessage = "Id不能为空")] + public int Id { get; set; } + + [Required(ErrorMessage = "公司名称不能为空")] + public string CompanyName { get; set; } + + public int? Status { get; set; } + + public string CreateBy { get; set; } + + public DateTime? CreateTime { get; set; } + + public string UpdateBy { get; set; } + + public DateTime? UpdateTime { get; set; } + + public string Remark { get; set; } + + + + [ExcelColumn(Name = "状态")] + public string StatusLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Service/BaseInfo/EmployeeService.cs b/ZR.Service/BaseInfo/EmployeeService.cs new file mode 100644 index 00000000..9221c030 --- /dev/null +++ b/ZR.Service/BaseInfo/EmployeeService.cs @@ -0,0 +1,145 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Repository; +using ZR.Service.BaseInfo.IBaseInfoService; + +namespace ZR.Service.BaseInfo +{ + /// + /// 员工信息Service业务层处理 + /// + [AppService(ServiceType = typeof(IEmployeeService), ServiceLifetime = LifeTime.Transient)] + public class EmployeeService : BaseService, IEmployeeService + { + /// + /// 查询员工信息列表 + /// + /// + /// + public PagedInfo GetList(EmployeeQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("Id asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public Employee GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加员工信息 + /// + /// + /// + public Employee AddEmployee(Employee model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改员工信息 + /// + /// + /// + public int UpdateEmployee(Employee model) + { + return Update(model, true); + } + + /// + /// 清空员工信息 + /// + /// + public bool TruncateEmployee() + { + var newTableName = $"pms_employee_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("pms_employee", newTableName); + } + + return Truncate(); + } + /// + /// 导入员工信息 + /// + /// + public (string, object, object) ImportEmployee(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.EmployeeCode.IsEmpty(), "人员编码不能为空") + .SplitError(x => x.Item.FullName.IsEmpty(), "姓名不能为空") + .SplitError(x => x.Item.HrSysEmployeeCode.IsEmpty(), "HR系统人员编码不能为空") + .SplitError(x => x.Item.HrSysDeptId.IsEmpty(), "HR系统部门id不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出员工信息 + /// + /// + /// + public PagedInfo ExportList(EmployeeQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new EmployeeDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(EmployeeQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IEmployeeService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IEmployeeService.cs new file mode 100644 index 00000000..fdfbf0a6 --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/IEmployeeService.cs @@ -0,0 +1,25 @@ +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; + +namespace ZR.Service.BaseInfo.IBaseInfoService +{ + /// + /// 员工信息service接口 + /// + public interface IEmployeeService : IBaseService + { + PagedInfo GetList(EmployeeQueryDto parm); + + Employee GetInfo(int Id); + + + Employee AddEmployee(Employee parm); + int UpdateEmployee(Employee parm); + + bool TruncateEmployee(); + + (string, object, object) ImportEmployee(List list); + + PagedInfo ExportList(EmployeeQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs new file mode 100644 index 00000000..e4d3c415 --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs @@ -0,0 +1,25 @@ +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; + +namespace ZR.Service.BaseInfo.IBaseInfoService +{ + /// + /// 每月工资明细service接口 + /// + public interface IMonthSalaryService : IBaseService + { + PagedInfo GetList(MonthSalaryQueryDto parm); + + MonthSalary GetInfo(int Id); + + + MonthSalary AddMonthSalary(MonthSalary parm); + int UpdateMonthSalary(MonthSalary parm); + + bool TruncateMonthSalary(); + + (string, object, object) ImportMonthSalary(List list); + + PagedInfo ExportList(MonthSalaryQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/IBaseInfoService/ISalaryLevelService.cs b/ZR.Service/BaseInfo/IBaseInfoService/ISalaryLevelService.cs new file mode 100644 index 00000000..a0276ac2 --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/ISalaryLevelService.cs @@ -0,0 +1,25 @@ +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; + +namespace ZR.Service.BaseInfo.IBaseInfoService +{ + /// + /// 岗位工资service接口 + /// + public interface ISalaryLevelService : IBaseService + { + PagedInfo GetList(SalaryLevelQueryDto parm); + + SalaryLevel GetInfo(int Id); + + + SalaryLevel AddSalaryLevel(SalaryLevel parm); + int UpdateSalaryLevel(SalaryLevel parm); + + bool TruncateSalaryLevel(); + + (string, object, object) ImportSalaryLevel(List list); + + PagedInfo ExportList(SalaryLevelQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/MonthSalaryService.cs b/ZR.Service/BaseInfo/MonthSalaryService.cs new file mode 100644 index 00000000..818f5130 --- /dev/null +++ b/ZR.Service/BaseInfo/MonthSalaryService.cs @@ -0,0 +1,142 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Repository; +using ZR.Service.BaseInfo.IBaseInfoService; + +namespace ZR.Service.BaseInfo +{ + /// + /// 每月工资明细Service业务层处理 + /// + [AppService(ServiceType = typeof(IMonthSalaryService), ServiceLifetime = LifeTime.Transient)] + public class MonthSalaryService : BaseService, IMonthSalaryService + { + /// + /// 查询每月工资明细列表 + /// + /// + /// + public PagedInfo GetList(MonthSalaryQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("RecordMonth asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public MonthSalary GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加每月工资明细 + /// + /// + /// + public MonthSalary AddMonthSalary(MonthSalary model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改每月工资明细 + /// + /// + /// + public int UpdateMonthSalary(MonthSalary model) + { + return Update(model, true); + } + + /// + /// 清空每月工资明细 + /// + /// + public bool TruncateMonthSalary() + { + var newTableName = $"pms_month_salary_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("pms_month_salary", newTableName); + } + + return Truncate(); + } + /// + /// 导入每月工资明细 + /// + /// + public (string, object, object) ImportMonthSalary(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.EmployeeCode.IsEmpty(), "人员编码不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出每月工资明细 + /// + /// + /// + public PagedInfo ExportList(MonthSalaryQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new MonthSalaryDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(MonthSalaryQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/BaseInfo/SalaryLevelService.cs b/ZR.Service/BaseInfo/SalaryLevelService.cs new file mode 100644 index 00000000..0b59b04d --- /dev/null +++ b/ZR.Service/BaseInfo/SalaryLevelService.cs @@ -0,0 +1,142 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Repository; +using ZR.Service.BaseInfo.IBaseInfoService; + +namespace ZR.Service.BaseInfo +{ + /// + /// 岗位工资Service业务层处理 + /// + [AppService(ServiceType = typeof(ISalaryLevelService), ServiceLifetime = LifeTime.Transient)] + public class SalaryLevelService : BaseService, ISalaryLevelService + { + /// + /// 查询岗位工资列表 + /// + /// + /// + public PagedInfo GetList(SalaryLevelQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("SortField asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public SalaryLevel GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加岗位工资 + /// + /// + /// + public SalaryLevel AddSalaryLevel(SalaryLevel model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改岗位工资 + /// + /// + /// + public int UpdateSalaryLevel(SalaryLevel model) + { + return Update(model, true); + } + + /// + /// 清空岗位工资 + /// + /// + public bool TruncateSalaryLevel() + { + var newTableName = $"pms_salary_level_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("pms_salary_level", newTableName); + } + + return Truncate(); + } + /// + /// 导入岗位工资 + /// + /// + public (string, object, object) ImportSalaryLevel(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.FristLevelName.IsEmpty(), "岗级名称不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出岗位工资 + /// + /// + /// + public PagedInfo ExportList(SalaryLevelQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new SalaryLevelDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(SalaryLevelQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/System/CompanyService.cs b/ZR.Service/System/CompanyService.cs new file mode 100644 index 00000000..bf580216 --- /dev/null +++ b/ZR.Service/System/CompanyService.cs @@ -0,0 +1,80 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.System.Dto; +using ZR.Model.System; +using ZR.Repository; +using ZR.Service.System.ISystemService; + +namespace ZR.Service.System +{ + /// + /// 公司信息Service业务层处理 + /// + [AppService(ServiceType = typeof(ICompanyService), ServiceLifetime = LifeTime.Transient)] + public class CompanyService : BaseService, ICompanyService + { + /// + /// 查询公司信息列表 + /// + /// + /// + public PagedInfo GetList(CompanyQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public Company GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加公司信息 + /// + /// + /// + public Company AddCompany(Company model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改公司信息 + /// + /// + /// + public int UpdateCompany(Company model) + { + return Update(model, true); + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(CompanyQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CompanyName), it => it.CompanyName.Contains(parm.CompanyName)); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/System/ISystemService/ICompanyService.cs b/ZR.Service/System/ISystemService/ICompanyService.cs new file mode 100644 index 00000000..1f65ea70 --- /dev/null +++ b/ZR.Service/System/ISystemService/ICompanyService.cs @@ -0,0 +1,21 @@ +using ZR.Model.System.Dto; +using ZR.Model.System; + +namespace ZR.Service.System.ISystemService +{ + /// + /// 公司信息service接口 + /// + public interface ICompanyService : IBaseService + { + PagedInfo GetList(CompanyQueryDto parm); + + Company GetInfo(int Id); + + + Company AddCompany(Company parm); + int UpdateCompany(Company parm); + + + } +} -- Gitee From 0a4c78d4ae5f901516e54d70ebd3f62d0c764bf0 Mon Sep 17 00:00:00 2001 From: sl c <790825059@qq.com> Date: Wed, 2 Jul 2025 16:21:02 +0800 Subject: [PATCH 02/29] 1 --- ...troller.cs => PmsMonthSalaryController.cs} | 104 +++--- .../Report/AccountingDetailsController.cs | 65 ++++ ...MonthSalaryDto.cs => PmsMonthSalaryDto.cs} | 205 +++++++++-- ZR.Model/BaseInfo/Employee.cs | 2 +- .../{MonthSalary.cs => PmsMonthSalary.cs} | 227 ++++++++++-- ZR.Model/Report/Dto/AccountingDetailsDto.cs | 347 ++++++++++++++++++ .../IBaseInfoService/IMonthSalaryService.cs | 25 -- .../IPmsMonthSalaryService.cs | 25 ++ ...aryService.cs => PmsMonthSalaryService.cs} | 50 +-- ZR.Service/Report/AccountingDetailsService.cs | 115 ++++++ .../IAccountingDetailsService.cs | 18 + 11 files changed, 1026 insertions(+), 157 deletions(-) rename ZR.Admin.WebApi/Controllers/BaseInfo/{MonthSalaryController.cs => PmsMonthSalaryController.cs} (43%) create mode 100644 ZR.Admin.WebApi/Controllers/Report/AccountingDetailsController.cs rename ZR.Model/BaseInfo/Dto/{MonthSalaryDto.cs => PmsMonthSalaryDto.cs} (44%) rename ZR.Model/BaseInfo/{MonthSalary.cs => PmsMonthSalary.cs} (50%) create mode 100644 ZR.Model/Report/Dto/AccountingDetailsDto.cs delete mode 100644 ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs create mode 100644 ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs rename ZR.Service/BaseInfo/{MonthSalaryService.cs => PmsMonthSalaryService.cs} (64%) create mode 100644 ZR.Service/Report/AccountingDetailsService.cs create mode 100644 ZR.Service/Report/IReportService/IAccountingDetailsService.cs diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.cs similarity index 43% rename from ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs rename to ZR.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.cs index 6db62ba8..28d22433 100644 --- a/ZR.Admin.WebApi/Controllers/BaseInfo/MonthSalaryController.cs +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.cs @@ -5,126 +5,126 @@ using ZR.Service.BaseInfo.IBaseInfoService; using ZR.Admin.WebApi.Filters; using MiniExcelLibs; -//创建时间:2025-04-10 +//创建时间:2025-04-23 namespace ZR.Admin.WebApi.Controllers.BaseInfo { /// - /// 每月工资明细 + /// 每月工资明细表 /// [Verify] - [Route("BaseInfo/MonthSalary")] - public class MonthSalaryController : BaseController + [Route("BaseInfo/PmsMonthSalary")] + public class PmsMonthSalaryController : BaseController { /// - /// 每月工资明细接口 + /// 每月工资明细表接口 /// - private readonly IMonthSalaryService _MonthSalaryService; + private readonly IPmsMonthSalaryService _PmsMonthSalaryService; - public MonthSalaryController(IMonthSalaryService MonthSalaryService) + public PmsMonthSalaryController(IPmsMonthSalaryService PmsMonthSalaryService) { - _MonthSalaryService = MonthSalaryService; + _PmsMonthSalaryService = PmsMonthSalaryService; } /// - /// 查询每月工资明细列表 + /// 查询每月工资明细表列表 /// /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "MonthSalary:list")] - public IActionResult QueryMonthSalary([FromQuery] MonthSalaryQueryDto parm) + [ActionPermissionFilter(Permission = "pmsmonthsalary:list")] + public IActionResult QueryPmsMonthSalary([FromQuery] PmsMonthSalaryQueryDto parm) { - var response = _MonthSalaryService.GetList(parm); + var response = _PmsMonthSalaryService.GetList(parm); return SUCCESS(response); } /// - /// 查询每月工资明细详情 + /// 查询每月工资明细表详情 /// /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "MonthSalary:query")] - public IActionResult GetMonthSalary(int Id) + [ActionPermissionFilter(Permission = "pmsmonthsalary:query")] + public IActionResult GetPmsMonthSalary(int Id) { - var response = _MonthSalaryService.GetInfo(Id); + var response = _PmsMonthSalaryService.GetInfo(Id); - var info = response.Adapt(); + var info = response.Adapt(); return SUCCESS(info); } /// - /// 添加每月工资明细 + /// 添加每月工资明细表 /// /// [HttpPost] - [ActionPermissionFilter(Permission = "MonthSalary:add")] - [Log(Title = "每月工资明细", BusinessType = BusinessType.INSERT)] - public IActionResult AddMonthSalary([FromBody] MonthSalaryDto parm) + [ActionPermissionFilter(Permission = "pmsmonthsalary:add")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.INSERT)] + public IActionResult AddPmsMonthSalary([FromBody] PmsMonthSalaryDto parm) { - var modal = parm.Adapt().ToCreate(HttpContext); + var modal = parm.Adapt().ToCreate(HttpContext); - var response = _MonthSalaryService.AddMonthSalary(modal); + var response = _PmsMonthSalaryService.AddPmsMonthSalary(modal); return SUCCESS(response); } /// - /// 更新每月工资明细 + /// 更新每月工资明细表 /// /// [HttpPut] - [ActionPermissionFilter(Permission = "MonthSalary:edit")] - [Log(Title = "每月工资明细", BusinessType = BusinessType.UPDATE)] - public IActionResult UpdateMonthSalary([FromBody] MonthSalaryDto parm) + [ActionPermissionFilter(Permission = "pmsmonthsalary:edit")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdatePmsMonthSalary([FromBody] PmsMonthSalaryDto parm) { - var modal = parm.Adapt().ToUpdate(HttpContext); - var response = _MonthSalaryService.UpdateMonthSalary(modal); + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _PmsMonthSalaryService.UpdatePmsMonthSalary(modal); return ToResponse(response); } /// - /// 删除每月工资明细 + /// 删除每月工资明细表 /// /// [HttpPost("delete/{ids}")] - [ActionPermissionFilter(Permission = "MonthSalary:delete")] - [Log(Title = "每月工资明细", BusinessType = BusinessType.DELETE)] - public IActionResult DeleteMonthSalary([FromRoute]string ids) + [ActionPermissionFilter(Permission = "pmsmonthsalary:delete")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.DELETE)] + public IActionResult DeletePmsMonthSalary([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); - return ToResponse(_MonthSalaryService.Delete(idArr)); + return ToResponse(_PmsMonthSalaryService.Delete(idArr)); } /// - /// 导出每月工资明细 + /// 导出每月工资明细表 /// /// - [Log(Title = "每月工资明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [HttpGet("export")] - [ActionPermissionFilter(Permission = "MonthSalary:export")] - public IActionResult Export([FromQuery] MonthSalaryQueryDto parm) + [ActionPermissionFilter(Permission = "pmsmonthsalary:export")] + public IActionResult Export([FromQuery] PmsMonthSalaryQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; - var list = _MonthSalaryService.ExportList(parm).Result; + var list = _PmsMonthSalaryService.ExportList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } - var result = ExportExcelMini(list, "每月工资明细", "每月工资明细"); + var result = ExportExcelMini(list, "每月工资明细表", "每月工资明细表"); return ExportExcel(result.Item2, result.Item1); } /// - /// 清空每月工资明细 + /// 清空每月工资明细表 /// /// - [Log(Title = "每月工资明细", BusinessType = BusinessType.CLEAN)] - [ActionPermissionFilter(Permission = "MonthSalary:delete")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "pmsmonthsalary:delete")] [HttpPost("clean")] public IActionResult Clear() { @@ -132,7 +132,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo { return ToResponse(ResultCode.FAIL, "操作失败"); } - return SUCCESS(_MonthSalaryService.TruncateMonthSalary()); + return SUCCESS(_PmsMonthSalaryService.TruncatePmsMonthSalary()); } /// @@ -141,29 +141,29 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpPost("importData")] - [Log(Title = "每月工资明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] - [ActionPermissionFilter(Permission = "MonthSalary:import")] + [Log(Title = "每月工资明细表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "pmsmonthsalary:import")] public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) { - List list = new(); + List list = new(); using (var stream = formFile.OpenReadStream()) { - list = stream.Query(startCell: "A1").ToList(); + list = stream.Query(startCell: "A1").ToList(); } - return SUCCESS(_MonthSalaryService.ImportMonthSalary(list.Adapt>())); + return SUCCESS(_PmsMonthSalaryService.ImportPmsMonthSalary(list.Adapt>())); } /// - /// 每月工资明细导入模板下载 + /// 每月工资明细表导入模板下载 /// /// [HttpGet("importTemplate")] - [Log(Title = "每月工资明细模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [Log(Title = "每月工资明细表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [AllowAnonymous] public IActionResult ImportTemplateExcel() { - var result = DownloadImportTemplate(new List() { }, "MonthSalary"); + var result = DownloadImportTemplate(new List() { }, "PmsMonthSalary"); return ExportExcel(result.Item2, result.Item1); } diff --git a/ZR.Admin.WebApi/Controllers/Report/AccountingDetailsController.cs b/ZR.Admin.WebApi/Controllers/Report/AccountingDetailsController.cs new file mode 100644 index 00000000..934ded2f --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/AccountingDetailsController.cs @@ -0,0 +1,65 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +using ZR.Service.Report.IReportService; +using ZR.Model.Report.Dto; +using ZR.Service.BaseInfo; + +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 核算明细 + /// + [Verify] + [Route("Report/AccountingDetails")] + public class AccountingDetailsController : BaseController + { + /// + /// 核算明细接口 + /// + private readonly IAccountingDetailsService _AccountingDetailsService; + private readonly ISysConfigService sysConfigService; + + public AccountingDetailsController(IAccountingDetailsService EmployeeService, ISysConfigService sysConfigService) + { + _AccountingDetailsService = EmployeeService; + this.sysConfigService = sysConfigService; + } + + /// + /// 查询核算明细 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "AccountingDetails:list")] + public IActionResult QueryAccountingDetails([FromQuery] AccountingDetailsQueryDto parm) + { + var response = _AccountingDetailsService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 导出核算明细 + /// + /// + [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "AccountingDetails:export")] + public IActionResult Export([FromQuery] AccountingDetailsQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _AccountingDetailsService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "核算明细", "核算明细"); + return ExportExcel(result.Item2, result.Item1); + } + } +} diff --git a/ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs b/ZR.Model/BaseInfo/Dto/PmsMonthSalaryDto.cs similarity index 44% rename from ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs rename to ZR.Model/BaseInfo/Dto/PmsMonthSalaryDto.cs index 1976a9a2..4a6b2cfc 100644 --- a/ZR.Model/BaseInfo/Dto/MonthSalaryDto.cs +++ b/ZR.Model/BaseInfo/Dto/PmsMonthSalaryDto.cs @@ -2,31 +2,34 @@ namespace ZR.Model.BaseInfo.Dto { /// - /// 每月工资明细查询对象 + /// 每月工资明细表查询对象 /// - public class MonthSalaryQueryDto : PagerInfo + public class PmsMonthSalaryQueryDto : PagerInfo { + public DateTime? RecordMonth { get; set; } + public string EmployeeCode { get; set; } + public string EmployeeName { get; set; } } /// - /// 每月工资明细输入输出对象 + /// 每月工资明细表输入输出对象 /// - public class MonthSalaryDto + public class PmsMonthSalaryDto { [Required(ErrorMessage = "Id不能为空")] [ExcelIgnore] public int Id { get; set; } - [ExcelColumn(Name = "薪资月份", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] - [ExcelColumnName("薪资月份")] + [ExcelColumn(Name = "记录月份", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("记录月份")] public DateTime? RecordMonth { get; set; } - [ExcelIgnore] + [ExcelColumn(Name = "人员id")] + [ExcelColumnName("人员id")] public int? EmployeeId { get; set; } [Required(ErrorMessage = "人员编码不能为空")] - [ExcelColumn(Name = "人员编码")] - [ExcelColumnName("人员编码")] + [ExcelIgnore] public string EmployeeCode { get; set; } [ExcelColumn(Name = "人员姓名")] @@ -45,18 +48,10 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumnName("月岗位工资")] public decimal MonthlySalary { get; set; } - [ExcelColumn(Name = "补发绩效工资")] - [ExcelColumnName("补发绩效工资")] - public decimal PerformanceSupplement { get; set; } - [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] public decimal SalarySupplement { get; set; } - [ExcelColumn(Name = "补发其他工资")] - [ExcelColumnName("补发其他工资")] - public decimal OtherSupplement { get; set; } - [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] public decimal SeniorityAllowance { get; set; } @@ -65,6 +60,18 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumnName("综合补贴")] public decimal ComprehensiveAllowance { get; set; } + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal AdvancePerformancePay { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal PerformanceSupplement { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal SettlementPerformancePay { get; set; } + [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] public decimal OvertimeAllowance { get; set; } @@ -101,14 +108,6 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumnName("市场拓展奖励")] public decimal MarketDevelopmentBonus { get; set; } - [ExcelColumn(Name = "月预发绩效工资")] - [ExcelColumnName("月预发绩效工资")] - public decimal AdvancePerformancePay { get; set; } - - [ExcelColumn(Name = "清算绩效工资")] - [ExcelColumnName("清算绩效工资")] - public decimal SettlementPerformancePay { get; set; } - [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] public decimal ProjectDeduction { get; set; } @@ -125,6 +124,10 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumnName("代发其他")] public decimal AgentOther { get; set; } + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal OtherSupplement { get; set; } + [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] public decimal FixedPayment { get; set; } @@ -143,7 +146,7 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal AVGBalancePayable { get; set; } + public decimal BalancePayableAVG { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] @@ -157,10 +160,152 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumnName("月应发小计")] public decimal TotalMonthlyPay { get; set; } - [ExcelIgnore] + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AnnualPerformance1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AnnualPerformance2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal TargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal PresetProject { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal ProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal MedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal HousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal AnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal LastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal CityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal SupplementProvincePensionCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal SupplementProvincePensionPersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal SupplementCityPensionCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal SupplementCityPensionPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal SupplementMedicalCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal SupplementMedicalPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal SupplementCatastrophicMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal SupplementUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal SupplementUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal SupplementInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal SupplementHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal SupplementHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal SupplementEnterpriseAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal SupplementEnterpriseAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal SupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal DisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal SeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal Other { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal LabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "节假日福利报销费")] + [ExcelColumnName("节假日福利报销费")] + public decimal HolidayWelfareReimbursement { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal DeductionMealFee { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal HousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal BalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] public string CreateBy { get; set; } - [ExcelIgnore] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] public DateTime? CreateTime { get; set; } [ExcelIgnore] @@ -169,8 +314,8 @@ namespace ZR.Model.BaseInfo.Dto [ExcelIgnore] public DateTime? UpdateTime { get; set; } - [ExcelColumn(Name = "Remark")] - [ExcelColumnName("Remark")] + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] public string Remark { get; set; } diff --git a/ZR.Model/BaseInfo/Employee.cs b/ZR.Model/BaseInfo/Employee.cs index ed87526d..fd1569ba 100644 --- a/ZR.Model/BaseInfo/Employee.cs +++ b/ZR.Model/BaseInfo/Employee.cs @@ -46,7 +46,7 @@ namespace ZR.Model.BaseInfo /// /// 部门 /// - public string DeptId { get; set; } + public long DeptId { get; set; } /// /// 片区 diff --git a/ZR.Model/BaseInfo/MonthSalary.cs b/ZR.Model/BaseInfo/PmsMonthSalary.cs similarity index 50% rename from ZR.Model/BaseInfo/MonthSalary.cs rename to ZR.Model/BaseInfo/PmsMonthSalary.cs index e68f78ad..05039449 100644 --- a/ZR.Model/BaseInfo/MonthSalary.cs +++ b/ZR.Model/BaseInfo/PmsMonthSalary.cs @@ -2,10 +2,10 @@ namespace ZR.Model.BaseInfo { /// - /// 每月工资明细 + /// 每月工资明细表 /// [SugarTable("pms_month_salary")] - public class MonthSalary + public class PmsMonthSalary { /// /// Id @@ -14,14 +14,14 @@ namespace ZR.Model.BaseInfo public int Id { get; set; } /// - /// 记录月份(YYYY-MM) + /// 记录月份 /// public DateTime? RecordMonth { get; set; } /// /// 人员id /// - public int EmployeeId { get; set; } + public int? EmployeeId { get; set; } /// /// 人员编码 @@ -48,21 +48,11 @@ namespace ZR.Model.BaseInfo /// public decimal MonthlySalary { get; set; } - /// - /// 补发绩效工资 - /// - public decimal PerformanceSupplement { get; set; } - /// /// 补发岗位工资 /// public decimal SalarySupplement { get; set; } - /// - /// 补发其他工资 - /// - public decimal OtherSupplement { get; set; } - /// /// 年功津贴 /// @@ -73,6 +63,21 @@ namespace ZR.Model.BaseInfo /// public decimal ComprehensiveAllowance { get; set; } + /// + /// 月预发绩效工资 + /// + public decimal AdvancePerformancePay { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal PerformanceSupplement { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal SettlementPerformancePay { get; set; } + /// /// 加班工资 /// @@ -118,16 +123,6 @@ namespace ZR.Model.BaseInfo /// public decimal MarketDevelopmentBonus { get; set; } - /// - /// 月预发绩效工资 - /// - public decimal AdvancePerformancePay { get; set; } - - /// - /// 清算绩效工资 - /// - public decimal SettlementPerformancePay { get; set; } - /// /// 绩效扣款(项目) /// @@ -148,6 +143,11 @@ namespace ZR.Model.BaseInfo /// public decimal AgentOther { get; set; } + /// + /// 补发其他工资 + /// + public decimal OtherSupplement { get; set; } + /// /// 其他固定发放 /// @@ -171,7 +171,7 @@ namespace ZR.Model.BaseInfo /// /// 平衡应发 /// - public decimal AVGBalancePayable { get; set; } + public decimal BalancePayableAVG { get; set; } /// /// 午餐补助 @@ -188,6 +188,181 @@ namespace ZR.Model.BaseInfo /// public decimal TotalMonthlyPay { get; set; } + /// + /// 年度绩效(一) + /// + public decimal AnnualPerformance1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AnnualPerformance2 { get; set; } + + /// + /// 目标奖 + /// + public decimal TargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal PresetProject { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal ProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal MedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal HousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal AnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal LastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal CityUnemploymentInjuryBase { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal SupplementProvincePensionCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal SupplementProvincePensionPersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal SupplementCityPensionCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal SupplementCityPensionPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal SupplementMedicalCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal SupplementMedicalPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal SupplementCatastrophicMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal SupplementUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal SupplementUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal SupplementInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal SupplementHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal SupplementHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal SupplementEnterpriseAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal SupplementEnterpriseAnnuityPersonal { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal SupplementalMedicalInsurance { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal DisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal SeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal Other { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal LabourDispatchUnionFeeTax { get; set; } + + /// + /// 节假日福利报销费 + /// + public decimal HolidayWelfareReimbursement { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal DeductionMealFee { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal HousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal BalancedPersonalTaxBase { get; set; } + /// /// 创建人 /// @@ -213,7 +388,7 @@ namespace ZR.Model.BaseInfo public DateTime? UpdateTime { get; set; } /// - /// Remark + /// 备注 /// public string Remark { get; set; } diff --git a/ZR.Model/Report/Dto/AccountingDetailsDto.cs b/ZR.Model/Report/Dto/AccountingDetailsDto.cs new file mode 100644 index 00000000..0bc24083 --- /dev/null +++ b/ZR.Model/Report/Dto/AccountingDetailsDto.cs @@ -0,0 +1,347 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.Report.Dto +{ + public class AccountingDetailsQueryDto : PagerInfo + { + public DateTime? BeginRecordMonth { get; set; } + public DateTime? EndRecordMonth { get; set; } + public string EmployeeCode { get; set; } + public string EmployeeName { get; set; } + } + + public class AccountingDetailsDto + { + + + [ExcelColumn(Name = "薪资月份", Format = "yyyy-MM", Width = 20)] + [ExcelColumnName("薪资月份")] + public DateTime? RecordMonth { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string DeptName { get; set; } + + [ExcelColumn(Name = "人员姓名")] + [ExcelColumnName("人员姓名")] + public string EmployeeName { get; set; } + + /// + /// 岗位工资 + /// + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal MonthlySalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal SeniorityAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal ComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal MonthlyPerformance { get; set; } + + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal OvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal ComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal KeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal CertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal PhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal TransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal LivingAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal HousingAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal MarketDevelopmentBonus { get; set; } + + /// + /// 其他应发 + /// + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal OtherPayable { get; set; } + + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal ProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal AttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal LunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal WomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal TotalMonthlyPay { get; set; } + + + /// + /// 代扣个人养老保险 + /// + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal PensionInsurance { get; set; } + + /// + /// 代扣个人医疗保险 + /// + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal MedicalInsurance { get; set; } + + /// + /// 代扣个人失业保险 + /// + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal UnemploymentInsurance { get; set; } + + /// + /// 代扣个人公积金 + /// + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal HousingFund { get; set; } + + /// + /// 代扣个人年金 + /// + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal Annuity { get; set; } + + /// + /// 代扣个人所得税 + /// + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal IncomeTax { get; set; } + + /// + /// 月应扣小计 + /// + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal TotalDeductions { get; set; } + + /// + /// 实发金额 + /// + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal NetPayment { get; set; } + + /// + /// 工资总额 + /// + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal GrossSalary { get; set; } + + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AnnualPerformance1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AnnualPerformance2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal TargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal PresetProject { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal ProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal MedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal HousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal AnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal LastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal CityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal SupplementProvincePensionCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal SupplementProvincePensionPersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal SupplementCityPensionCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal SupplementCityPensionPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal SupplementMedicalCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal SupplementMedicalPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal SupplementCatastrophicMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal SupplementUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal SupplementUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal SupplementInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal SupplementHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal SupplementHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal SupplementEnterpriseAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal SupplementEnterpriseAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal SupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal DisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal SeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal Other { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal LabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "节假日福利报销费")] + [ExcelColumnName("节假日福利报销费")] + public decimal HolidayWelfareReimbursement { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal DeductionMealFee { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal HousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal BalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelIgnore] + public string UpdateBy { get; set; } + + [ExcelIgnore] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + } +} diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs deleted file mode 100644 index e4d3c415..00000000 --- a/ZR.Service/BaseInfo/IBaseInfoService/IMonthSalaryService.cs +++ /dev/null @@ -1,25 +0,0 @@ -using ZR.Model.BaseInfo.Dto; -using ZR.Model.BaseInfo; - -namespace ZR.Service.BaseInfo.IBaseInfoService -{ - /// - /// 每月工资明细service接口 - /// - public interface IMonthSalaryService : IBaseService - { - PagedInfo GetList(MonthSalaryQueryDto parm); - - MonthSalary GetInfo(int Id); - - - MonthSalary AddMonthSalary(MonthSalary parm); - int UpdateMonthSalary(MonthSalary parm); - - bool TruncateMonthSalary(); - - (string, object, object) ImportMonthSalary(List list); - - PagedInfo ExportList(MonthSalaryQueryDto parm); - } -} diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs new file mode 100644 index 00000000..1f9d5b72 --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs @@ -0,0 +1,25 @@ +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; + +namespace ZR.Service.BaseInfo.IBaseInfoService +{ + /// + /// 每月工资明细表service接口 + /// + public interface IPmsMonthSalaryService : IBaseService + { + PagedInfo GetList(PmsMonthSalaryQueryDto parm); + + PmsMonthSalary GetInfo(int Id); + + + PmsMonthSalary AddPmsMonthSalary(PmsMonthSalary parm); + int UpdatePmsMonthSalary(PmsMonthSalary parm); + + bool TruncatePmsMonthSalary(); + + (string, object, object) ImportPmsMonthSalary(List list); + + PagedInfo ExportList(PmsMonthSalaryQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/MonthSalaryService.cs b/ZR.Service/BaseInfo/PmsMonthSalaryService.cs similarity index 64% rename from ZR.Service/BaseInfo/MonthSalaryService.cs rename to ZR.Service/BaseInfo/PmsMonthSalaryService.cs index 818f5130..d87ab013 100644 --- a/ZR.Service/BaseInfo/MonthSalaryService.cs +++ b/ZR.Service/BaseInfo/PmsMonthSalaryService.cs @@ -8,24 +8,24 @@ using ZR.Service.BaseInfo.IBaseInfoService; namespace ZR.Service.BaseInfo { /// - /// 每月工资明细Service业务层处理 + /// 每月工资明细表Service业务层处理 /// - [AppService(ServiceType = typeof(IMonthSalaryService), ServiceLifetime = LifeTime.Transient)] - public class MonthSalaryService : BaseService, IMonthSalaryService + [AppService(ServiceType = typeof(IPmsMonthSalaryService), ServiceLifetime = LifeTime.Transient)] + public class PmsMonthSalaryService : BaseService, IPmsMonthSalaryService { /// - /// 查询每月工资明细列表 + /// 查询每月工资明细表列表 /// /// /// - public PagedInfo GetList(MonthSalaryQueryDto parm) + public PagedInfo GetList(PmsMonthSalaryQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() - //.OrderBy("RecordMonth asc") + //.OrderBy("RecordMonth desc") .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } @@ -36,7 +36,7 @@ namespace ZR.Service.BaseInfo /// /// /// - public MonthSalary GetInfo(int Id) + public PmsMonthSalary GetInfo(int Id) { var response = Queryable() .Where(x => x.Id == Id) @@ -46,44 +46,44 @@ namespace ZR.Service.BaseInfo } /// - /// 添加每月工资明细 + /// 添加每月工资明细表 /// /// /// - public MonthSalary AddMonthSalary(MonthSalary model) + public PmsMonthSalary AddPmsMonthSalary(PmsMonthSalary model) { return Insertable(model).ExecuteReturnEntity(); } /// - /// 修改每月工资明细 + /// 修改每月工资明细表 /// /// /// - public int UpdateMonthSalary(MonthSalary model) + public int UpdatePmsMonthSalary(PmsMonthSalary model) { return Update(model, true); } /// - /// 清空每月工资明细 + /// 清空每月工资明细表 /// /// - public bool TruncateMonthSalary() + public bool TruncatePmsMonthSalary() { var newTableName = $"pms_month_salary_{DateTime.Now:yyyyMMdd}"; if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) { Context.DbMaintenance.BackupTable("pms_month_salary", newTableName); } - + return Truncate(); } /// - /// 导入每月工资明细 + /// 导入每月工资明细表 /// /// - public (string, object, object) ImportMonthSalary(List list) + public (string, object, object) ImportPmsMonthSalary(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -92,7 +92,7 @@ namespace ZR.Service.BaseInfo .ToStorage(); var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; - string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; Console.WriteLine(msg); //输出错误信息 @@ -109,17 +109,17 @@ namespace ZR.Service.BaseInfo } /// - /// 导出每月工资明细 + /// 导出每月工资明细表 /// /// /// - public PagedInfo ExportList(MonthSalaryQueryDto parm) + public PagedInfo ExportList(PmsMonthSalaryQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new MonthSalaryDto() + .Select((it) => new PmsMonthSalaryDto() { }, true) .ToPage(parm); @@ -132,10 +132,14 @@ namespace ZR.Service.BaseInfo /// /// /// - private static Expressionable QueryExp(MonthSalaryQueryDto parm) + private static Expressionable QueryExp(PmsMonthSalaryQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); + DateTime monthEnd = Convert.ToDateTime(parm.RecordMonth).AddMonths(1); + predicate = predicate.AndIF(parm.RecordMonth != null, it => it.RecordMonth >= parm.RecordMonth && it.RecordMonth < monthEnd); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.EmployeeCode), it => it.EmployeeCode == parm.EmployeeCode); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.EmployeeName), it => it.EmployeeName == parm.EmployeeName); return predicate; } } diff --git a/ZR.Service/Report/AccountingDetailsService.cs b/ZR.Service/Report/AccountingDetailsService.cs new file mode 100644 index 00000000..6424ac28 --- /dev/null +++ b/ZR.Service/Report/AccountingDetailsService.cs @@ -0,0 +1,115 @@ +using Infrastructure; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using Microsoft.AspNetCore.Http; +using ZR.Model.BaseInfo; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.Report.Dto; +using ZR.Model.System; +using ZR.Repository; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Service.Report.IReportService; +using ZR.ServiceCore.Services; + +namespace ZR.Service.Report +{ + + /// + /// 核算明细 + /// + [AppService(ServiceType = typeof(IAccountingDetailsService), ServiceLifetime = LifeTime.Transient)] + public class AccountingDetailsService : BaseService, IAccountingDetailsService + { + private readonly ISysConfigService sysConfig; + + public AccountingDetailsService(ISysConfigService sysConfigService) + { + this.sysConfig = sysConfigService; + } + + /// + /// 导出每月工资明细 + /// + /// + /// + public PagedInfo ExportList(AccountingDetailsQueryDto parm) + { + var response = GetList(parm); + + return response; + } + + + /// + /// 查询每月工资明细列表 + /// + /// + /// + public PagedInfo GetList(AccountingDetailsQueryDto parm) + { + + //省养老保险单位缴纳比例 + var ProvincePensionRateCompany = sysConfig.GetSysConfigByKey("ProvincePensionRateCompany"); + decimal ProvincePensionRateCompanyM = 0.16m; + if (ProvincePensionRateCompany!=null) + { + decimal.TryParse( ProvincePensionRateCompany.ConfigValue,out ProvincePensionRateCompanyM) ; + } + //省养老保险个人缴纳比例 + var ProvincePensionRatePersonal = sysConfig.GetSysConfigByKey("ProvincePensionRatePersonal"); + decimal ProvincePensionRatePersonalM = 0.08m; + if (ProvincePensionRatePersonal != null) + { + decimal.TryParse(ProvincePensionRatePersonal.ConfigValue, out ProvincePensionRatePersonalM); + } + var userName = HttpContextExtension.GetName(App.HttpContext); + + var predicate = QueryExp(parm); + + var list = Queryable() + .LeftJoin((m, e) => m.EmployeeId == e.Id) + .LeftJoin((m, e, d) => e.DeptId == d.DeptId) + .WhereIF(parm.BeginRecordMonth != null, m => m.RecordMonth >= parm.BeginRecordMonth) + .WhereIF(parm.BeginRecordMonth != null, m => m.RecordMonth >= parm.BeginRecordMonth) + .WhereIF(!string.IsNullOrEmpty(parm.EmployeeCode), m => m.EmployeeCode == parm.EmployeeCode) + .WhereIF(!string.IsNullOrEmpty(parm.EmployeeName), m => m.EmployeeName == parm.EmployeeName) + .Select((m, e, d) => new AccountingDetailsDto + { + MonthlySalary = m.MonthlySalary + m.SalarySupplement, + MonthlyPerformance = m.AdvancePerformancePay + m.PerformanceSupplement + m.SettlementPerformancePay, + OtherPayable = m.AgentBonus +m.AgentOther + m.OtherSupplement + m.FixedPayment + + m.PieceworkWage + m.ProjectPreset + m.OtherIncome + m.BalancePayableAVG, + //月应发小计=所有项的和 + TotalMonthlyPay = m.MonthlySalary + m.SalarySupplement + + m.AdvancePerformancePay + m.PerformanceSupplement + m.SettlementPerformancePay + + m.AgentBonus + m.AgentOther + m.OtherSupplement + m.FixedPayment + + m.PieceworkWage + m.ProjectPreset + m.OtherIncome + m.BalancePayableAVG + + m.SeniorityAllowance + m.ComprehensiveAllowance + m.OvertimeAllowance + + m.ComputerAllowance + m.KeyStaffAllowance + m.CertificateAllowance + m.PhoneAllowance + m.TransportAllowance + + m.LivingAllowance + m.HousingAllowance + m.MarketDevelopmentBonus + m.ProjectDeduction + + m.AttendanceDeduction + m.LunchAllowance + m.WomenAllowance, + PensionInsurance = SqlFunc.Round(m.ProvincePensionBase * ProvincePensionRatePersonalM, 2) + m.SupplementProvincePensionPersonal + }, true) + .ToPage(parm); + + return list; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(AccountingDetailsQueryDto parm) + { + var predicate = Expressionable.Create(); + + + predicate = predicate.AndIF(parm.BeginRecordMonth != null, it => it.RecordMonth >= parm.BeginRecordMonth); + predicate = predicate.AndIF(parm.EndRecordMonth != null, it => it.RecordMonth <= parm.EndRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.EmployeeCode), it => it.EmployeeCode == parm.EmployeeCode); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.EmployeeName), it => it.EmployeeName == parm.EmployeeName); + return predicate; + } + } +} diff --git a/ZR.Service/Report/IReportService/IAccountingDetailsService.cs b/ZR.Service/Report/IReportService/IAccountingDetailsService.cs new file mode 100644 index 00000000..8d78f99b --- /dev/null +++ b/ZR.Service/Report/IReportService/IAccountingDetailsService.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZR.Model.BaseInfo; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.Report.Dto; + +namespace ZR.Service.Report.IReportService +{ + public interface IAccountingDetailsService : IBaseService + { + + PagedInfo GetList(AccountingDetailsQueryDto parm); + PagedInfo ExportList(AccountingDetailsQueryDto parm); + } +} -- Gitee From 47a36f4997b78f88db9d4988ff344d8bcf239526 Mon Sep 17 00:00:00 2001 From: sl c <790825059@qq.com> Date: Wed, 2 Jul 2025 17:15:53 +0800 Subject: [PATCH 03/29] 1 --- ZR.Admin.WebApi/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 4fa3a808..2b703b3e 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -38,7 +38,7 @@ "ShowDbLog": true, //是否打印db日志 "InitDb": false, //是否初始化db "DemoMode": false, //是否演示模式 - "SingleLogin": false, //是否允许多设备/浏览器登录 + "SingleLogin": false, //是否允许多设备/浏览器登录 "workId": 1, //雪花id唯一数字 "sqlExecutionTime": 5, //Sql执行时间超过多少秒记录日志并警报 "Upload": { -- Gitee From bd9d01f01f1696ea2e724bc777911105943a198b Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Tue, 22 Jul 2025 10:34:06 +0800 Subject: [PATCH 04/29] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=8F=9C=E5=8D=95---=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Knowledge/ZskQdRawdataController.cs | 269 +++++++++++ ZR.Admin.WebApi/Program.cs | 11 +- .../PublishProfiles/FolderProfile1.pubxml | 21 + ZR.Admin.WebApi/appsettings.json | 2 +- .../wwwroot/ImportTemplate/ZskQdRawdata.xlsx | Bin 0 -> 4490 bytes .../ImportTemplate/ZskSgsRequired.xlsx | Bin 0 -> 4445 bytes ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs | 73 +++ .../Dto/ZskQdRawdataLeftSgsRequiredDto.cs | 101 ++++ ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs | 60 +++ ZR.Model/Knowledge/ZskQdRawdata.cs | 74 +++ ZR.Model/Knowledge/ZskSgsRequired.cs | 62 +++ .../IKnowledgeService/IZskQdRawdataService.cs | 28 ++ .../IZskSgsRequiredService.cs | 25 + ZR.Service/Knowledge/ZskQdRawdataService.cs | 444 ++++++++++++++++++ ZR.Service/Knowledge/ZskSgsRequiredService.cs | 162 +++++++ 15 files changed, 1330 insertions(+), 2 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs create mode 100644 ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile1.pubxml create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskQdRawdata.xlsx create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskSgsRequired.xlsx create mode 100644 ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs create mode 100644 ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs create mode 100644 ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs create mode 100644 ZR.Model/Knowledge/ZskQdRawdata.cs create mode 100644 ZR.Model/Knowledge/ZskSgsRequired.cs create mode 100644 ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs create mode 100644 ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs create mode 100644 ZR.Service/Knowledge/ZskQdRawdataService.cs create mode 100644 ZR.Service/Knowledge/ZskSgsRequiredService.cs diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs new file mode 100644 index 00000000..14a41ccf --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs @@ -0,0 +1,269 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; +using ZR.Service.Knowledge.IKnowledgeService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +using static System.Runtime.InteropServices.JavaScript.JSType; +using ZR.Service.Knowledge; + +//创建时间:2025-07-07 +namespace ZR.Admin.WebApi.Controllers.Knowledge +{ + /// + /// 订单知识库 + /// + [Verify] + [Route("knowledge/ZskQdRawdata")] + public class ZskQdRawdataController : BaseController + { + /// + /// 订单知识库接口 + /// + private readonly IZskQdRawdataService _ZskQdRawdataService; + private readonly IZskSgsRequiredService _ZskSgsRequiredService; + + public ZskQdRawdataController(IZskQdRawdataService ZskQdRawdataService, IZskSgsRequiredService ZskSgsRequiredService) + { + _ZskQdRawdataService = ZskQdRawdataService; + _ZskSgsRequiredService = ZskSgsRequiredService; + } + + /// + /// 查询订单知识库列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "zskqdrawdata:list")] + //public IActionResult QueryZskQdRawdata([FromQuery] ZskQdRawdataQueryDto parm) + //{ + // var response = _ZskQdRawdataService.GetList(parm); + // return SUCCESS(response); + //} + + + public IActionResult QueryZskQdRawdata([FromQuery] ZskQdRawdataLeftSgsRequiredQueryDto parm) + { + var response = _ZskQdRawdataService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询订单知识库详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "zskqdrawdata:query")] + public IActionResult GetZskQdRawdata(long Id) + { + var response = _ZskQdRawdataService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加订单知识库 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "zskqdrawdata:add")] + [Log(Title = "订单知识库", BusinessType = BusinessType.INSERT)] + public IActionResult AddZskQdRawdata([FromBody] ZskQdRawdataDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _ZskQdRawdataService.AddZskQdRawdata(modal); + + return SUCCESS(response); + } + + /// + /// 更新订单知识库 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "zskqdrawdata:edit")] + [Log(Title = "订单知识库", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateZskQdRawdata([FromBody] ZskQdRawdataDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _ZskQdRawdataService.UpdateZskQdRawdata(modal); + + return ToResponse(response); + } + + /// + /// 删除订单知识库 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "zskqdrawdata:delete")] + [Log(Title = "订单知识库", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteZskQdRawdata([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_ZskQdRawdataService.Delete(idArr)); + } + + /// + /// 导出订单知识库 + /// + /// + [Log(Title = "订单知识库", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "zskqdrawdata:export")] + //public IActionResult Export([FromQuery] ZskQdRawdataQueryDto parm) + //{ + // parm.PageNum = 1; + // parm.PageSize = 100000; + // var list = _ZskQdRawdataService.ExportList(parm).Result; + // if (list == null || list.Count <= 0) + // { + // return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + // } + // var result = ExportExcelMini(list, "订单知识库", "订单知识库"); + // return ExportExcel(result.Item2, result.Item1); + //} + + public IActionResult Export([FromQuery] ZskQdRawdataQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _ZskQdRawdataService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "订单知识库", "订单知识库"); + return ExportExcel(result.Item2, result.Item1); + } + + + /// + /// 清空订单知识库 + /// + /// + [Log(Title = "订单知识库", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "zskqdrawdata:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_ZskQdRawdataService.TruncateZskQdRawdata()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "订单知识库导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "zskqdrawdata:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + //List list = new(); + //using (var stream = formFile.OpenReadStream()) + //{ + // list = stream.Query(startCell: "A1").ToList(); + //} + + //return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); + + + try + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); + } + catch (Exception ex) + { + + var message = ex.Message; + + return ToResponse(ResultCode.FAIL, message); + + } + } + + /// + /// 订单知识库导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "订单知识库模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "ZskQdRawdata"); + return ExportExcel(result.Item2, result.Item1); + } + + + /// + /// 导入 + /// + /// + /// + [HttpPost("importXqData")] + [Log(Title = "省公司每日需求表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "zsksgsrequired:import")] + public IActionResult ImportXqData([FromForm(Name = "file")] IFormFile formFile) + { + //List list = new(); + //using (var stream = formFile.OpenReadStream()) + //{ + // list = stream.Query(startCell: "A1").ToList(); + //} + + //return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); + + try + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); + } + catch (Exception ex) + { + var message = ex.Message; + + return ToResponse(ResultCode.FAIL, message); + + + } + } + + /// + /// 省公司每日需求表导入模板下载 + /// + /// + [HttpGet("importXqTemplate")] + [Log(Title = "省公司每日需求表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportXqTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "ZskSgsRequired"); + return ExportExcel(result.Item2, result.Item1); + } + + + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Program.cs b/ZR.Admin.WebApi/Program.cs index 748191d8..9e331d8a 100644 --- a/ZR.Admin.WebApi/Program.cs +++ b/ZR.Admin.WebApi/Program.cs @@ -1,4 +1,4 @@ -using AspNetCoreRateLimit; +using AspNetCoreRateLimit; using Infrastructure.Converter; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Localization; @@ -88,6 +88,13 @@ builder.Services.AddLogo(); builder.Services.AddLocalization(options => options.ResourcesPath = ""); var app = builder.Build(); +app.UsePathBase("/dev-api"); // 全局添加/dev-api前缀 +//app.UsePathBase(""); // 清除应用程序路径前缀 +//app.MapControllers(); +app.UseStaticFiles(); // 启用静态文件服务,访问wwwroot下的文件 +app.MapControllers(); // 处理API请求 + + InternalApp.ServiceProvider = app.Services; InternalApp.Configuration = builder.Configuration; InternalApp.WebHostEnvironment = app.Environment; @@ -153,6 +160,8 @@ if (builder.Environment.IsProduction()) //初始化字典数据 app.UseInit(); + + //使用swagger app.UseSwagger(); //启用客户端IP限制速率 diff --git a/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile1.pubxml b/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile1.pubxml new file mode 100644 index 00000000..4724941d --- /dev/null +++ b/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile1.pubxml @@ -0,0 +1,21 @@ + + + + + true + false + true + Release + Any CPU + FileSystem + D:\中通服\发布\知识库API + FileSystem + <_TargetId>Folder + + net8.0 + e5497bb4-b0c1-4794-9fae-163f626ec399 + false + + \ No newline at end of file diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 2b703b3e..aa628bbe 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Information", diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskQdRawdata.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskQdRawdata.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6ff473de30e973b653355b809bf359994a40b6d9 GIT binary patch literal 4490 zcmZ`-1z3}97ak=sgwfKefHWfA9nvK+x)~ukKm{pD87-}}gft3>Fp!v(Aj+f_5NQwv zDfwU2|HBXcw(Hru_d4&nuifW4&wb9Bjs_MsIS7P@2huQEG|g{dokM~^ATA6L2n<{; zz3gG$e7q;0aYF*`olN8*@5?1yrMl(RQVhCHntkHEFytA81vepxwCqZSgi$V^$|9nv z;9DcdM|)SZ%{Di+nndprJb@<24sT9%sl6{4A0Qc;^JK0npS$jmPEbEtznagG?gsrs!*fC#;%`3p+ z<%48~5d*QrgMIMiKsx_oYNNwi znFKJ*2Nu8|1c&i?J6U_#+v)pwIlDW0^TOR=LOsay9sGo#c0-n9XH4R79eoDXYalGe zN@vzCzi6m|!yHnzqCNItYWK)ln~P%iMVX0cM2NZdwtE1`@#RGG=isjf93qJTWuSym5&jy;HS+G69 zi#?%>$1QKmO?R>W#^F%+(|`nE$t4DX&i~@z69BXS@#9yGr`%ujlRwX^_piP=l$1tP ze0d35A@!1G2pZwHa!JePBRX--eaRvo%n)rXD;;g?f7!l*LLth00WHnGxb6S_^U=za z`T9z+<|6egoO+VtF#`E4$zo*oG3mwd8==~ccX8Du-Z*qE*(*Jga~p`rZRC6$=Ul8? zSQqnFkr5Rc)A%vM;HtpBYMJ0jd_LQlQRT;B(R-FkSFJIJh=?KT_-Mdms1)@FvAZ}3w3iOtgM-D8svw6sasx1+jTZaBNtGnFA?PGSD<1LHc@WZi|*y*rEqDY1) z>ulo5R>ElO?7PO(5Zh8x?{2Z>nJT06nl%V!sZES3mkpE#Xs#quUCF3mt45_YjE6_8 zk3LhnKIU`3O3ybt!2l`gtZ!A!c5PJfu>#BO4*bp|p2C-pXx#Y;*WAGiaVdI`?@cu* zfvAo7oDf)z^Jq}7vo*xdIk*xF!_&KsV7)ZQ6da~EqD8?~POljn{i--|z+H>xUHA^= z$OV%PhuS(4Q{S=YSy0EKC$OarCtt7@1N=xcQ*%Lm34+ryawwEM;dDE*t5Qg2V1E16 zstMzWbV0V|xL+WYu!+%Vs8JSbDLKTv;$nNlksY$p+(!a3xQ}EU)yPm7hp`wu2@L;0j z?jBA4Fg7c$b9f@p7G>83R$|m%?RmXPEFVPn;1$^zDVBrgXtu>EVa4@+Misj~f&$X} z8qEz%stHgbwls?&VO3fMKX9Ad78*ST9)2+xA^b}BB1KDj2byHKQ4)r0)hT#^`eBZh zos+AynnE*olt8n7VN*U&e`!=So#3TzRb4H@mZHVmOMQB@MisnK!c^CEdapt`FS$RS z&-SHUHRxB|L+%8NRtrB|XCGpqN=YcO<{NIxh)g0V!#g(4z~h=u+uzKKX}iMNm^Swu zg^X(zd+H{!8B8GO>SMUuTwQP{^-z0f6&E-|e=5a_g4;p`CJ2-Ym@oW1W&R#suHH`e z_CDT#XaE<16Sc^GGo$@lmJYNTyx_I**wxyW+Xp*?<7F6rv^3*XD%2^cZ))wXv@=V_ zIa+>eNIoeW&FI|-#e&|1&7q2^ofmCZk5>>~Ssl6KD^rW>L2J7cEuvz1nU9-@O0Bx_ zzg{b4Pl8wt<>P$d$*SgFHKP{I$ttriPpRBw>Bby2@0l}k=*Wi@RTSSSkAl7+s}FC@ zTtTNascvH1_t7-C*}Ru*c*(mH?!cDp9B++_FE3@mc9CfAoy%B8eEJ3D2oAilCC!g4 zALN+kxFA$PUSuKG6X90^{p9Y-CPNe9ik_*&^&zqvv1nvkI}X_;W`vn}zK;@7P67jJ z>*Boird`cE#9E#nQ%(bnrmREXxF%{V8^SGj`5W`+YW(z4$Y|;j#Pbfe@WX*m`m0C_ zwqY+pRk4+JPacsXD86qs1&+IJNiYs?A|n`+>P^0DD!Jltcrrd~@`%1OE6yFmkD<*8 zLG(w)*19E*@n{;zB>G;L9}HW9VPcB}cDeBp2~50kiDXp~#;#nQfp$=?POizJLoTB( z^ksbm)1r>;BW`Et?Q0syWPEXTOg8G@*_nnYLhR;1i_4@KoMb)c zT#KuMAKU}a_4cQ?V_0p&;@gG~2g^-fO|Gq1M8F#sprr?J}fv`ihUV6NTOo3v&(5k;5 zFGm#04*|7H;0L2up)m|`0_5LkiG{0WZCl)$yJjaOzp=H=8ZKgN2eh_W6EiSmzfr1z z!%VT$1hlj$W6d&%sjzw2$o4p3Tc{WXOXI0{DGDkj<8<vK3!J4tk*oP#s=A5`6wo40CqG1XxIF6Jm{$u&7kaRpin^kP2jS2kH^SlAm#?x+p{|C>Ty8$Qb-b}qA~Tvj zDe_3^J;rnvCEXS`^Jnq)8g38E*$O7yYaK%E8H7Z(mSKMES)*^V(c*MgT=pB!o&*%c zz3tU9_cm3$Lg}h#%t)@CIF@~=GI4u9E)gl_&-#TzKJDV55b9?Ci-l#5i`=^C#-|fl z*E==l^;6f>FThwYziy!FKJJ~KN$-&XNd2i$@C@x{5(XO& z57!fYjzeg=hw(!qc2fg!U3a<=AdGNSaTaWX?1Chb(P0>j{p(cir^LVr0@DVlpNPkF z)`r^ljo^(0l#`bNV@e%i3^#75pO^f*D`BoF+UM!+O8a^YS}HH{vQfJ!EK>Ii@X{Aq zXAW;7nsD3%O~pOngc;k8%Y_DH(k)9auauknwlf1qB`-U6R-}Q#5gu0i#QfY0O?X#q zg!W?{pVsnMWJ~*IkqLkGSKt=uo%L-)Y`nlSk(IOtBGH(6L}v)f}Tnl?{(A z)47fP=quOs%C<&}S-pJ1?6dmfPBn5{>_`*d0rY!)h{)CHuWJnC=SOH{Q11$qxaK4z zBlu@XKfJ@v-0vNHI?T-h`o zy*ApVLvbPT`~Gs06XPJkq0wPe<$Y?#OhGNqu(FppjMFAmN}8h>!FXDkTP1F{_QS3R zlbF@+J@^hZ(|^W~F-+~jEg*guaX=t4Abw^F9_~K&?mm_V0iO2W(32FaPtni<^dz#1 zG$59SiW2W(F*lqW1OGZJnKr3@5G$?U&vV$yo!1I2B`^M~@a(z4l~MdBX{inR+!_ z9FCsgeu zh3XWg5&tZ?zm~1DfM+HD6tI=xAHe??fV0kL1@Y8*68P@}2-1JZ<5`@u!f=X12MEbu XWI{&+=iJFd1i-rtP~(?GCwKn?vr}$2 literal 0 HcmV?d00001 diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskSgsRequired.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskSgsRequired.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5869c4de09c889266799c7298cf3c6909b8abc1d GIT binary patch literal 4445 zcmZ`-1z3}97ajsicSyH@gn)oJN=iz)yAfmzq)TaJ10^H`Mo6bLN(rNp7+^4JlsJ(F z1p$$NsQ-r_`fb;{ckgwsb6>m9bDsNt&a~CBai{6fO=T%Wa zG824n?D%M33}&{uso5y;h~T+J+>O!AnQqnjyvZSQ#G*S}W!a*!V=6)2oSlxuc)Dc- zk7HqudN0J55amJAl=5hYGf_MyOQr9nZ1lIOc5;CAQpcCHkFuA|R)|__{BfXPNX^R$ zBg%#;4I+nPNQVa=`Y)Sq;<@=o(z@hNZyY>sVS2w_tc7RG*mcMM8-~mAF*ZQ^UrcSa zIVut{40ACThCjd$bj8!j#>2s0&&$IZeA`pd&lM!v3n%UnA_BAx^lL=fR`av=Ql}8atbqRF-1s4L$z023rT zjyoZ`Hw=B;{I1M&5BqN%zUh1%lEg%^NC5!iUmU#rK@LBD{HoCm__Yw#%j`PesvtyS z3Q6JRWgLa%OBx}_c%PL^nzkR132WeG%ZG%_5ThG15If(?4&~Ge(dJ7?8E*8B@AvJa zmFMs4Dy}ybs9ojNl>$PAbJ-tXr*wd(7W&-{)4KiOf~w?O$L?hZr4l*Up~$QT-e6Fx8 zAjJD<{{8pJ_HAf22>@e z3R3GXv3KwI6CuJW!`{^C$#B2~r~<33;?uVbd~H|v_zT;|?KLKw(Vl+a#+zeM;b@X5 z=4cxj>2xa*#0K`j2t{UBOySvc{nKovA+bhvJe%|;R^^?Ies#cNQIwjJVcu4?a%;GN z!1V#9beTHn_Mmd_S9=kEX_<_#m2CEHw0`4xRy!T|oks%suS)2_LPTp|!ll?GU9#_u z)&0WJ8}BniK-JD~0{fh8$n2eiE3mQLJ=+M@i!)6L!*$0rsrky7G{PVwg$YAoP5Oz5 zU7E3rCL4}5wdAJW<1aHTZWlZUEpIq^6KXR19ciR%EU7J%;Wm$b6Ma18bU(ejLR5C> z{m#g$3CoyF9?WXeC%}TJk;M?vaKpk%3cGBXc9FSpzkja=rS0V3r366-qP+9v*5i1 ze)b;bO|z;$sJIW`4VI`9f4a_%V5UuqE3&yV+L#uVNKlG*Y?Ow_he|ov%!amIV6UkvFEsg^*6!*B%pUqvDPAJ%l|s$|0A=R^fQvtOnXj9N zi>H%=gO?{pG%z>e6SaW7ozZgiJ#6-#=#cxBt&M;O^0nhdmcPRc^tMpLu|rNzWZi(QtNQ-OJHkl-eX9Ad_WGQ zk#+F7HCyTfz@fNjbelCi%F8Wj-rk$NyzZhEm3J%`UI{ve;JLNMs~p>l9nb8bijQ!S zq$Ow(%>=6JJ+wq0n!0+#9Ix^07TA2);R?4SRqY7U;SLR%0L>dXQeyS?sfOiP0_l{x z9^B|glR@v*Aqp4Xh%`8ekLKjbb~;k{Mfru~wZ_ z+jP3gWtqj~h6lXKL2P2232J`BrXgkJy2NG%Mf#Iw+A1WWANNGdie%#g*1~HSQ)k|i zj;`;5G#uQo_M0D0quxvn@9fQN42+i552Lu5GF~QiGq?eJ88S1ufrhVZ*HIoVo{X+- z(eFsTS5vaSG^8vbv;xakfLHUbjn1c{*42tygYlayZkIsb`7Fe(d6~?l`+k-P*cAsJ zFu8sI=z9NkwTX1h^OPp;N-Zsth26@5>ZY4w4_I2w9=5HMmOFAb?(BW|#7%WaMO;A& zvft)g+o==tl`zC8+74cxj56$r%+~yZ5&yq*Eg)?f7LSP(V=j)LU2E@Q<9lLlSAM$s zug4#~`@`Y&2jxh@gvbExlK8>MRSPI{tT5I0Ia2Ye8+OgEP2F=-QeQdS<_yqSJN~WB zHl)nVu(wLpejrnv6k$zGni#V*Qd%4VPRe~A&{jWG!OCdnp)@tEl2Izv?wpdqvx59G zVc;`Hm5e9GyL0F#*wn7JmbY@ZGzl~Grm{4?OIKC$0YaKS4O*ds|7zI#_*~nK7$Vm& z(O=u}A40!ViABiW=@cTnF#XiCRtd99x{|N7 z!^N+IYO1{|$ zG`#J;MbuFWdysZ={DgHS5XUwZ-Hw`@`h2h%!8)`JvU3#iy97UyVC0>o5gDL|wx_Vi z!0YR`%j;hxCsHR9Zlx?Fy3}asKeMD=K~-?Kt~4oI1T#pS157sxWfC4K4-HT-w%Yru zb*+(_Bi`OWzl-;{A}d|40Gv53U)exKPErfc_K(Zym7BfC)b`g^FYAXZY+}k_j)|T$ zI_8*mQU+T$H=GhV3gle3)@Zw1!@vqz04XRCa=Wkg_n1ymPN2Gd^X62{ zvA9@s@-t+Q5r<j5tcUTAHwJ2R=T)rU5y@kV?7Bp7Ht*9W_5Jjl)F7eUe-8okrHkg(Z+eEoT9afUo?-%cs3OZfZ@gD@=EyUrh)V z3&;06G0+3MBv8UMUqjBzFWjtqJUZr&EzCK*2g11@!fcXN=<)$gJV_znm#e;8M1HL2 zt$X>=-Xj*`$*;;VX~|$bY}s1Jslv_9Twpr<$DETaJq$e9(2FE0( zYTIxFb_Dq@H-PLApb(w0C5^d2p?;afl{dq0514=OLq3#VsG!% z;m2HW@eDc6#cHzNeQo=Yg7Nb!@>0?$qG83G<=T8JldWiLA z-n?>i-G#fA?6a3IM8+c^YQ2spBh&Qn;t_^oDJ95}$JqhlbnNQy0Cu<^^ zI>T`7JI?=C3+o)!$$0i3<0)pzetZ2ktZJ+OJMrwacbfGH^Yw4D-&usSv(_oXGfV@W zApA3VolQM^fILm5!t~uQMf>A8c^2iYp`W6>!t^!<Q3U{Ilf#>RM+3&no^YU;@EEfdAM3v&m-_@ih4v=I;zlk^Vy;&*GdFhEtpk aqQA<7wmL3mJOBU)Fz-@~9A}c8JpB)vU2wbr literal 0 HcmV?d00001 diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs b/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs new file mode 100644 index 00000000..0d1739d2 --- /dev/null +++ b/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs @@ -0,0 +1,73 @@ + +namespace ZR.Model.Knowledge.Dto +{ + /// + /// 订单知识库查询对象 + /// + public class ZskQdRawdataQueryDto : PagerInfo + { + public string DataSource { get; set; } + public string OrderNumber { get; set; } + public string MaterialCode { get; set; } + public string MaterialName { get; set; } + public string SpecificationModel { get; set; } + public string Notes { get; set; } + } + + /// + /// 订单知识库输入输出对象 + /// + public class ZskQdRawdataDto + { + [ExcelColumn(Name = "主键,自增ID")] + [ExcelColumnName("主键,自增ID")] + public long Id { get; set; } + + [ExcelColumn(Name = "数据来源")] + [ExcelColumnName("数据来源")] + public string DataSource { get; set; } + + [ExcelColumn(Name = "订单号")] + [ExcelColumnName("订单号")] + public string OrderNumber { get; set; } + + [ExcelColumn(Name = "物料编码")] + [ExcelColumnName("物料编码")] + public string MaterialCode { get; set; } + + [ExcelColumn(Name = "物料名称")] + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "下单配置编码")] + [ExcelColumnName("下单配置编码")] + public string OrderConfigurationCode { get; set; } + + [ExcelColumn(Name = "规格型号")] + [ExcelColumnName("规格型号")] + public string SpecificationModel { get; set; } + + [ExcelColumn(Name = "计量单位")] + [ExcelColumnName("计量单位")] + public string UnitofMeasurement { get; set; } + + [ExcelColumn(Name = "实际数量")] + [ExcelColumnName("实际数量")] + public string ActualQuantity { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "最近修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("最近修改时间")] + public DateTime? LastEditTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Notes { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs new file mode 100644 index 00000000..0d5e334b --- /dev/null +++ b/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.Knowledge.Dto +{ + + /// + /// 订单知识库查询对象 + /// + public class ZskQdRawdataLeftSgsRequiredQueryDto : PagerInfo + { + public string DataSource { get; set; } + public string OrderNumber { get; set; } + public string MaterialCode { get; set; } + public string MaterialName { get; set; } + public string SpecificationModel { get; set; } + public string Notes { get; set; } + public decimal RequirementforIssuanceProportion { get; set; } + public string AlertStatus { get; set; } + + } + + + /// + /// 订单知识库输入输出对象 + /// + + public class ZskQdRawdataLeftSgsRequiredDto + { + [ExcelColumn(Name = "主键,自增ID")] + [ExcelColumnName("主键,自增ID")] + public long Id { get; set; } + + [ExcelColumn(Name = "数据来源")] + [ExcelColumnName("数据来源")] + public string DataSource { get; set; } + + [ExcelColumn(Name = "订单号")] + [ExcelColumnName("订单号")] + public string OrderNumber { get; set; } + + [ExcelColumn(Name = "物料编码")] + [ExcelColumnName("物料编码")] + public string MaterialCode { get; set; } + + [ExcelColumn(Name = "物料名称")] + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "下单配置编码")] + [ExcelColumnName("下单配置编码")] + public string OrderConfigurationCode { get; set; } + + [ExcelColumn(Name = "规格型号")] + [ExcelColumnName("规格型号")] + public string SpecificationModel { get; set; } + + [ExcelColumn(Name = "计量单位")] + [ExcelColumnName("计量单位")] + public string UnitofMeasurement { get; set; } + + [ExcelColumn(Name = "实际数量")] + [ExcelColumnName("实际数量")] + public string ActualQuantity { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "最近修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("最近修改时间")] + public DateTime? LastEditTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Notes { get; set; } + + [ExcelColumnName("需求量")] + public int RequiredQuantity { get; set; } + + + [ExcelColumnName("已领用量")] + public int QuantityIssued { get; set; } + + + [ExcelColumnName("可领用量")] + public int QuantityUsed{ get; set; } + + + + [ExcelColumnName("领用占比需求")] + public decimal RequirementforIssuanceProportion { get; set; } + + + [ExcelColumnName("预警状态")] + public string AlertStatus { get; set; } + } +} diff --git a/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs new file mode 100644 index 00000000..122fd5ac --- /dev/null +++ b/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs @@ -0,0 +1,60 @@ + +namespace ZR.Model.Knowledge.Dto +{ + /// + /// 省公司每日需求表查询对象 + /// + public class ZskSgsRequiredQueryDto : PagerInfo + { + public decimal RequirementforIssuanceProportion { get; set; } + } + + /// + /// 省公司每日需求表输入输出对象 + /// + public class ZskSgsRequiredDto + { + [ExcelColumn(Name = "主键,自增ID")] + [ExcelColumnName("主键,自增ID")] + public long Id { get; set; } + + [ExcelColumn(Name = "物资名称")] + [ExcelColumnName("物资名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "物料编码")] + [ExcelColumnName("物料编码")] + public string MaterialCode { get; set; } + + [ExcelColumn(Name = "规格型号")] + [ExcelColumnName("规格型号")] + public string SpecificationModel { get; set; } + + [ExcelColumn(Name = "需求量")] + [ExcelColumnName("需求量")] + public string RequiredQuantity { get; set; } + + [ExcelColumn(Name = "已领用量")] + [ExcelColumnName("已领用量")] + public string QuantityIssued { get; set; } + + [ExcelColumn(Name = "领用占比需求")] + [ExcelColumnName("领用占比需求")] + public decimal RequirementforIssuanceProportion { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "最近修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("最近修改时间")] + public DateTime? LastEditTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Notes { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/Knowledge/ZskQdRawdata.cs b/ZR.Model/Knowledge/ZskQdRawdata.cs new file mode 100644 index 00000000..d17ec5ba --- /dev/null +++ b/ZR.Model/Knowledge/ZskQdRawdata.cs @@ -0,0 +1,74 @@ + +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace ZR.Model.Knowledge +{ + /// + /// 订单知识库 + /// + [SugarTable("zsk_qd_rawdata")] + public class ZskQdRawdata + { + /// + /// 主键,自增ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 数据来源 + /// + public string DataSource { get; set; } + + /// + /// 订单号 + /// + public string OrderNumber { get; set; } + + /// + /// 物料编码 + /// + public string MaterialCode { get; set; } + + /// + /// 物料名称 + /// + public string MaterialName { get; set; } + + /// + /// 下单配置编码 + /// + public string OrderConfigurationCode { get; set; } + + /// + /// 规格型号 + /// + public string SpecificationModel { get; set; } + + /// + /// 计量单位 + /// + public string UnitofMeasurement { get; set; } + + /// + /// 实际数量 + /// + public string ActualQuantity { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateTime { get; set; } + + /// + /// 最近修改时间 + /// + public DateTime? LastEditTime { get; set; } + + /// + /// 备注 + /// + public string Notes { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Knowledge/ZskSgsRequired.cs b/ZR.Model/Knowledge/ZskSgsRequired.cs new file mode 100644 index 00000000..9d790b15 --- /dev/null +++ b/ZR.Model/Knowledge/ZskSgsRequired.cs @@ -0,0 +1,62 @@ + +namespace ZR.Model.Knowledge +{ + /// + /// 省公司每日需求表 + /// + [SugarTable("zsk_sgs_required")] + public class ZskSgsRequired + { + /// + /// 主键,自增ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 物资名称 + /// + public string MaterialName { get; set; } + + /// + /// 物料编码 + /// + public string MaterialCode { get; set; } + + /// + /// 规格型号 + /// + public string SpecificationModel { get; set; } + + /// + /// 需求量 + /// + public int RequiredQuantity { get; set; } + + /// + /// 已领用量 + /// + public int QuantityIssued { get; set; } + + /// + /// 领用占比需求 + /// + public decimal RequirementforIssuanceProportion { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreateTime { get; set; } + + /// + /// 最近修改时间 + /// + public DateTime? LastEditTime { get; set; } + + /// + /// 备注 + /// + public string Notes { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs b/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs new file mode 100644 index 00000000..a35f236b --- /dev/null +++ b/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs @@ -0,0 +1,28 @@ +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace ZR.Service.Knowledge.IKnowledgeService +{ + /// + /// 订单知识库service接口 + /// + public interface IZskQdRawdataService : IBaseService + { + //PagedInfo GetList(ZskQdRawdataQueryDto parm); + PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm); + + ZskQdRawdata GetInfo(long Id); + + + ZskQdRawdata AddZskQdRawdata(ZskQdRawdata parm); + int UpdateZskQdRawdata(ZskQdRawdata parm); + + bool TruncateZskQdRawdata(); + + (string, object, object) ImportZskQdRawdata(List list); + + PagedInfo ExportList(ZskQdRawdataQueryDto parm); + //PagedInfo ExportList(ZskQdRawdataLeftSgsRequiredQueryDto parm); + } +} diff --git a/ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs b/ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs new file mode 100644 index 00000000..5e4c9d53 --- /dev/null +++ b/ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs @@ -0,0 +1,25 @@ +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; + +namespace ZR.Service.Knowledge.IKnowledgeService +{ + /// + /// 省公司每日需求表service接口 + /// + public interface IZskSgsRequiredService : IBaseService + { + PagedInfo GetList(ZskSgsRequiredQueryDto parm); + + ZskSgsRequired GetInfo(long Id); + + + ZskSgsRequired AddZskSgsRequired(ZskSgsRequired parm); + int UpdateZskSgsRequired(ZskSgsRequired parm); + + bool TruncateZskSgsRequired(); + + (string, object, object) ImportZskSgsRequired(List list); + + PagedInfo ExportList(ZskSgsRequiredQueryDto parm); + } +} diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/ZskQdRawdataService.cs new file mode 100644 index 00000000..1c42c9d0 --- /dev/null +++ b/ZR.Service/Knowledge/ZskQdRawdataService.cs @@ -0,0 +1,444 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; +using ZR.Repository; +using ZR.Service.Knowledge.IKnowledgeService; +using static System.Runtime.InteropServices.JavaScript.JSType; +using ZR.Model.System; + +namespace ZR.Service.Knowledge +{ + /// + /// 订单知识库Service业务层处理 + /// + [AppService(ServiceType = typeof(IZskQdRawdataService), ServiceLifetime = LifeTime.Transient)] + public class ZskQdRawdataService : BaseService, IZskQdRawdataService + { + /// + /// 查询订单知识库列表 + /// + /// + /// + //public PagedInfo GetList(ZskQdRawdataQueryDto parm) + //{ + // var predicate = QueryExp(parm); + + // var response = Queryable() + // .Where(predicate.ToExpression()) + // .ToPage(parm); + + // return response; + //} + + public PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm) + { + + try + { + var predicate = QueryExp(parm); + + var query = Queryable() + .LeftJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 + .Where(predicate.ToExpression()); + + + var sql = query.ToSql(); // 获取生成的SQL + + var response = query.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto + { + //// 映射ZskQdRawdata属性 + //Id = raw.Id, + //DataSource = raw.DataSource, + //// 映射ZskSgsRequired属性(可为空) + //RequiredId = req == null ? null : req.Id, + //RequiredField1 = req?.Field1 + Id = raw.Id, + DataSource = raw.DataSource, + OrderNumber = raw.OrderNumber, + MaterialCode = raw.MaterialCode, + MaterialName = raw.MaterialName, + OrderConfigurationCode = raw.OrderConfigurationCode, + SpecificationModel = raw.SpecificationModel, + UnitofMeasurement = raw.UnitofMeasurement, + ActualQuantity = raw.ActualQuantity, + CreateTime = raw.CreateTime, + LastEditTime = raw.LastEditTime, + Notes = raw.Notes, + //RequiredQuantity = req.RequiredQuantity, + //QuantityIssued = req.QuantityIssued, + //QuantityUsed = (req.RequiredQuantity - req.QuantityIssued).ToString(), + //RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, + //AlertStatus = + // 映射ZskSgsRequired属性(可为空) + RequiredQuantity = req.RequiredQuantity, + QuantityIssued = req.QuantityIssued, + QuantityUsed = req.RequiredQuantity - req.QuantityIssued, + RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, + AlertStatus =SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80,"绿色",SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色",""))) + //EndOrgName = SqlFunc.IF(_.EndOrgCode == "510117").Return("四川委托代销库").ElseIF(_.EndOrgCode == "851A0050").Return("四川市州临时库").ElseIF(_.EndOrgCode == "851A0001").Return("四川省天翼总仓").ElseIF(_.EndOrgCode == "851A0052").Return("四川强商渠道库").End("四川省天翼总仓") + ////根据比例设置预警状态 + /// + + + //AlertStatus = SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "") ,//移除百分号 + + // // 核心修改:在 Select 中直接计算 AlertStatus + // AlertStatus = SqlFunc.IIF( + // req == null, // 处理右表为 null 的情况 + // "绿色", + // SqlFunc.IIF( + // // 移除百分号并转换为 decimal 比较 + // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) < 80, + // "绿色", + // SqlFunc.IIF( + // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) > 100, + // "红色", + // "橙色" // 80-100 之间为橙色 + // ) + // ) + //) + +// AlertStatus = SqlFunc.IIF( +// req == null, +// "", +// SqlFunc.IIF( +// // 使用 LessThan 方法进行数值比较 +// SqlFunc.LessThan( +// SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), +// "80" +// ), +// "绿色", +// SqlFunc.IIF( +// SqlFunc.LessThan( +// SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), +// "100" +// ), +// "橙色", +// "红色" +// ) +// ) +//) + + }).MergeTable(); + // .Mapper(_it => + //{ + + // if (decimal.TryParse(_it.AlertStatus, out decimal intValue)) + // { + // if (intValue < 80) + // { + // _it.AlertStatus = "绿色"; + // } + // else if (intValue > 100) + // { + // _it.AlertStatus = "红色"; + // } + // else + // { + // _it.AlertStatus = "橙色"; + // } + // } + // else + // { + // // 转换失败,处理错误(如设置默认值) + // _it.AlertStatus = ""; + // } + + //}); + + if (!string.IsNullOrEmpty(parm.AlertStatus)) + { + var sq = response.Where(x => x.AlertStatus == parm.AlertStatus); + + var m1 = sq.ToSql(); + + return sq.ToPage(parm); + + + } + else + { + return response.ToPage(parm); + } + + + } + catch (Exception ex) + { + var m =ex.Message; + return null; + + } + + + + + } + + + + /// + /// 获取详情 + /// + /// + /// + public ZskQdRawdata GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加订单知识库 + /// + /// + /// + public ZskQdRawdata AddZskQdRawdata(ZskQdRawdata model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改订单知识库 + /// + /// + /// + public int UpdateZskQdRawdata(ZskQdRawdata model) + { + return Update(model, true); + } + + /// + /// 清空订单知识库 + /// + /// + public bool TruncateZskQdRawdata() + { + var newTableName = $"zsk_qd_rawdata_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("zsk_qd_rawdata", newTableName); + } + + return Truncate(); + } + /// + /// 导入订单知识库 + /// + /// + public (string, object, object) ImportZskQdRawdata(List list) + { + + // var x = Context.Storageable(list) + //.SplitInsert(it => !it.Any()) + ////.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + //.ToStorage(); + // var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + // string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + // Console.WriteLine(msg); + + // //输出错误信息 + // foreach (var item in x.ErrorList) + // { + // Console.WriteLine("错误" + item.StorageMessage); + // } + // foreach (var item in x.IgnoreList) + // { + // Console.WriteLine("忽略" + item.StorageMessage); + // } + + // return (msg, x.ErrorList, x.IgnoreList); + + + + try + { + + + + //// 定义SQL语句 + //var sql = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)"; + + //// 定义参数(使用SqlSugar的SugarParameter类) + //var parameters = new SugarParameter[] + //{ + // new SugarParameter("@Name", "张三"), + // new SugarParameter("@Age", 25) + //}; + + //// 将SQL和参数添加到执行队列 + //Context.Ado.ExecuteCommand(sql, parameters); + + + #region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + var parameter = new SugarParameter[] { }; + + var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; + + var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + if (insert_sum > 0) + { + + var del_sql = "DELETE FROM zsk_qd_rawdata"; + + var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 + } + #endregion + + + + + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2})指定插入列 + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + + + return (msg, x.ErrorList, x.IgnoreList); + + } + catch (Exception ex) + { + var m = ex.Message; + return (ex.Message, ex, ex.Source); + } + } + + ///// + ///// 导出订单知识库 + ///// + ///// + ///// + //public PagedInfo ExportList(ZskQdRawdataQueryDto parm) + //{ + // var predicate = QueryExp(parm); + + // var response = Queryable() + // .Where(predicate.ToExpression()) + // .Select((it) => new ZskQdRawdataDto() + // { + // }, true) + // .ToPage(parm); + + // return response; + //} + + public PagedInfo ExportList(ZskQdRawdataQueryDto parm) + { + var predicate = QueryExp1(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new ZskQdRawdataDto() + { + }, true) + .ToPage(parm); + + return response; + } + + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp1(ZskQdRawdataQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), it => it.DataSource.Contains(parm.DataSource)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), it => it.OrderNumber == parm.OrderNumber); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode == parm.MaterialCode); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.SpecificationModel), it => it.SpecificationModel == parm.SpecificationModel); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Notes), it => it.Notes.Contains(parm.Notes)); + return predicate; + } + + private static Expressionable QueryExp(ZskQdRawdataLeftSgsRequiredQueryDto parm) + { + // 创建一个基于两个实体的查询条件表达式 + //var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); + // 映射左表(ZskQdRawdata)的查询条件 + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), + // (raw, req, dto) => raw.DataSource.Contains(parm.DataSource)); + + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), + // (raw, req, dto) => raw.OrderNumber == parm.OrderNumber); + + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), + // (raw, req, dto) => raw.MaterialCode == parm.MaterialCode); + + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), + // (raw, req, dto) => raw.MaterialName.Contains(parm.MaterialName)); + + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.SpecificationModel), + // (raw, req, dto) => raw.SpecificationModel == parm.SpecificationModel); + + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Notes), + // (raw, req, dto) => raw.Notes.Contains(parm.Notes)); + + //// 映射右表(ZskSgsRequired)的查询条件,注意处理可能为null的情况 + //predicate = predicate.AndIF(parm.RequirementforIssuanceProportion > 0, + // (raw, req, dto) => req != null && req.RequirementforIssuanceProportion == parm.RequirementforIssuanceProportion); + + //// 基于计算后的AlertStatus进行筛选 + //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AlertStatus), + // (raw, req, dto) => dto.AlertStatus == parm.AlertStatus); + + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), + (raw, req) => raw.DataSource.Contains(parm.DataSource)); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), + (raw, req) => raw.OrderNumber == parm.OrderNumber); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), + (raw, req) => raw.MaterialCode == parm.MaterialCode); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), + (raw, req) => raw.MaterialName.Contains(parm.MaterialName)); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.SpecificationModel), + (raw, req) => raw.SpecificationModel == parm.SpecificationModel); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Notes), + (raw, req) => raw.Notes.Contains(parm.Notes)); + + // 映射右表(ZskSgsRequired)的查询条件,注意处理可能为null的情况 + predicate = predicate.AndIF(parm.RequirementforIssuanceProportion > 0, + (raw, req) => req.RequirementforIssuanceProportion == parm.RequirementforIssuanceProportion); + + var m = parm.RequirementforIssuanceProportion.ToString(); + + + + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Knowledge/ZskSgsRequiredService.cs b/ZR.Service/Knowledge/ZskSgsRequiredService.cs new file mode 100644 index 00000000..51b03cc6 --- /dev/null +++ b/ZR.Service/Knowledge/ZskSgsRequiredService.cs @@ -0,0 +1,162 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; +using ZR.Repository; +using ZR.Service.Knowledge.IKnowledgeService; + +namespace ZR.Service.Knowledge +{ + /// + /// 省公司每日需求表Service业务层处理 + /// + [AppService(ServiceType = typeof(IZskSgsRequiredService), ServiceLifetime = LifeTime.Transient)] + public class ZskSgsRequiredService : BaseService, IZskSgsRequiredService + { + /// + /// 查询省公司每日需求表列表 + /// + /// + /// + public PagedInfo GetList(ZskSgsRequiredQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public ZskSgsRequired GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加省公司每日需求表 + /// + /// + /// + public ZskSgsRequired AddZskSgsRequired(ZskSgsRequired model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改省公司每日需求表 + /// + /// + /// + public int UpdateZskSgsRequired(ZskSgsRequired model) + { + return Update(model, true); + } + + /// + /// 清空省公司每日需求表 + /// + /// + public bool TruncateZskSgsRequired() + { + var newTableName = $"zsk_sgs_required_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("zsk_sgs_required", newTableName); + } + + return Truncate(); + } + /// + /// 导入省公司每日需求表 + /// + /// + public (string, object, object) ImportZskSgsRequired(List list) + { + + + #region 将zsk_sgs_required表中的数据备份到zsk_sgs_required_bak + + var parameter = new SugarParameter[] { }; + + var str_sql = "INSERT INTO zsk_sgs_required_bak SELECT * from zsk_sgs_required"; + + var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_sgs_required表中的数据备份到zsk_sgs_required_bak + + if (insert_sum > 0) + { + + var del_sql = "DELETE FROM zsk_sgs_required"; + + var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_sgs_required表中的数据全部删除 + } + #endregion + + + + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出省公司每日需求表 + /// + /// + /// + public PagedInfo ExportList(ZskSgsRequiredQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new ZskSgsRequiredDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(ZskSgsRequiredQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RequirementforIssuanceProportion.ToString()), it => it.RequirementforIssuanceProportion == parm.RequirementforIssuanceProportion); + return predicate; + } + } +} \ No newline at end of file -- Gitee From 9fe71659bb219f9ef649ac90a6ebbe96769de14d Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 24 Jul 2025 15:53:49 +0800 Subject: [PATCH 05/29] =?UTF-8?q?=E5=AF=BC=E8=A1=A8=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=B0=86=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E8=A1=A8=E5=90=8D=E5=AD=98=E5=88=B0=E8=A1=A8=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Knowledge/ZskQdRawdataController.cs | 12 +++++++++++- ZR.Admin.WebApi/appsettings.json | 6 ++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs index 14a41ccf..1ba725ed 100644 --- a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs +++ b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs @@ -184,6 +184,15 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge using (var stream = formFile.OpenReadStream()) { list = stream.Query(startCell: "A1").ToList(); + + // 关键步骤:给每个 DTO 赋值文件名 + string fileName = formFile.FileName; //获取文件名 + foreach (var dto in list) + {var m = dto.DataSource; + + dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource + } + } return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); @@ -219,7 +228,8 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge /// [HttpPost("importXqData")] [Log(Title = "省公司每日需求表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] - [ActionPermissionFilter(Permission = "zsksgsrequired:import")] + //[ActionPermissionFilter(Permission = "zsksgsrequired:import")] + [ActionPermissionFilter(Permission = "zskqdrawdata:import")] public IActionResult ImportXqData([FromForm(Name = "file")] IFormFile formFile) { //List list = new(); diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index aa628bbe..08392a98 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -8,7 +8,8 @@ }, "dbConfigs": [ { - "Conn": "Data Source=192.168.107.252;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;", + //"Conn": "Data Source=192.168.107.252;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;", + "Conn": "Data Source=10.218.14.130;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", "DbType": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true @@ -19,7 +20,8 @@ "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 //"Conn": "Data Source=LAPTOP-STKF2M8H\\SQLEXPRESS;User ID=admin;Password=admin123;Initial Catalog={dbName};", - "Conn": "Data Source=192.168.107.252;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;Initial Catalog={dbName};", + //"Conn": "Data Source=192.168.107.252;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;Initial Catalog={dbName};", + "Conn": "Data Source=10.218.14.130;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;Initial Catalog={dbName};", "DbType": 0, "IsAutoCloseConnection": true, "DbName": "Salary_test" //代码生成默认连接数据库,Oracle库是实例的名称 -- Gitee From cbffdda0d11ec66ea1ebbd68dd2fac82da5c678f Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Mon, 28 Jul 2025 14:46:09 +0800 Subject: [PATCH 06/29] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A--=E6=B8=85=E7=A9=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E9=80=BB=E8=BE=91=E5=92=8C=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Knowledge/ZskQdRawdataController.cs | 27 ++- .../PublishProfiles/FolderProfile2.pubxml | 21 +++ .../IKnowledgeService/IZskQdRawdataService.cs | 4 +- ZR.Service/Knowledge/ZskQdRawdataService.cs | 161 ++++++++++++++++-- 4 files changed, 194 insertions(+), 19 deletions(-) create mode 100644 ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile2.pubxml diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs index 1ba725ed..31de3752 100644 --- a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs +++ b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs @@ -152,10 +152,11 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge [HttpPost("clean")] public IActionResult Clear() { - if (!HttpContextExtension.IsAdmin(HttpContext)) - { - return ToResponse(ResultCode.FAIL, "操作失败"); - } + //允许管理员执行,不是管理员,不让执行 + //if (!HttpContextExtension.IsAdmin(HttpContext)) + //{ + // return ToResponse(ResultCode.FAIL, "操作失败"); + //} return SUCCESS(_ZskQdRawdataService.TruncateZskQdRawdata()); } @@ -180,13 +181,26 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge try { + string fileName = ""; + List list = new(); using (var stream = formFile.OpenReadStream()) { list = stream.Query(startCell: "A1").ToList(); // 关键步骤:给每个 DTO 赋值文件名 - string fileName = formFile.FileName; //获取文件名 + fileName = formFile.FileName; //获取文件名 + + if (!fileName.Contains("备货未入账") && + !fileName.Contains("到货未入库") && + !fileName.Contains("工程问题呆滞")) + { + // 不包含任何关键词时,返回提示 + string message = "文件名不满足要求,请确认文件名包含:备货未入账、到货未入库、工程问题呆滞中的任意一个"; + + return ToResponse(ResultCode.FAIL, message); + } + foreach (var dto in list) {var m = dto.DataSource; @@ -195,7 +209,8 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge } - return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); + //return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); } catch (Exception ex) { diff --git a/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile2.pubxml b/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile2.pubxml new file mode 100644 index 00000000..4724941d --- /dev/null +++ b/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile2.pubxml @@ -0,0 +1,21 @@ + + + + + true + false + true + Release + Any CPU + FileSystem + D:\中通服\发布\知识库API + FileSystem + <_TargetId>Folder + + net8.0 + e5497bb4-b0c1-4794-9fae-163f626ec399 + false + + \ No newline at end of file diff --git a/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs b/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs index a35f236b..bc3458b1 100644 --- a/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs @@ -20,7 +20,9 @@ namespace ZR.Service.Knowledge.IKnowledgeService bool TruncateZskQdRawdata(); - (string, object, object) ImportZskQdRawdata(List list); + //(string, object, object) ImportZskQdRawdata(List list); + + (string, object, object) ImportZskQdRawdata(List list, string fildName); PagedInfo ExportList(ZskQdRawdataQueryDto parm); //PagedInfo ExportList(ZskQdRawdataLeftSgsRequiredQueryDto parm); diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/ZskQdRawdataService.cs index 1c42c9d0..16b3a9ae 100644 --- a/ZR.Service/Knowledge/ZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/ZskQdRawdataService.cs @@ -6,6 +6,7 @@ using ZR.Repository; using ZR.Service.Knowledge.IKnowledgeService; using static System.Runtime.InteropServices.JavaScript.JSType; using ZR.Model.System; +using System.Data; namespace ZR.Service.Knowledge { @@ -218,19 +219,79 @@ namespace ZR.Service.Knowledge /// public bool TruncateZskQdRawdata() { - var newTableName = $"zsk_qd_rawdata_{DateTime.Now:yyyyMMdd}"; - if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + //var newTableName = $"zsk_qd_rawdata_{DateTime.Now:yyyyMMdd}"; + //if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + //{ + // Context.DbMaintenance.BackupTable("zsk_qd_rawdata", newTableName); + //} + + //#region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + //var parameter = new SugarParameter[] { }; + + //var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; + + //var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + //if (insert_sum > 0) + //{ + + // var del_sql = "DELETE FROM zsk_qd_rawdata"; + + // var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 + //} + //#endregion + + try + { + if (Queryable().Any()) + { + //Context.DbMaintenance.BackupTable("zsk_qd_rawdata", "zsk_qd_rawdata_bak"); + + + + + #region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + var parameter = new SugarParameter[] { }; + + var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; + + var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + if (insert_sum > 0) + { + + var del_sql = "DELETE FROM zsk_qd_rawdata"; + + var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 + + if (del_sum > 0) { return true; } + else { return false; } + } + #endregion + + + + } + + return false; + + } + catch (Exception ex ) { - Context.DbMaintenance.BackupTable("zsk_qd_rawdata", newTableName); + var m = ex.Message; + + return false; + + } - - return Truncate(); } /// /// 导入订单知识库 /// /// - public (string, object, object) ImportZskQdRawdata(List list) + public (string, object, object) ImportZskQdRawdata(List list, string fildName) { // var x = Context.Storageable(list) @@ -275,21 +336,97 @@ namespace ZR.Service.Knowledge //Context.Ado.ExecuteCommand(sql, parameters); + //#region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + //var parameter = new SugarParameter[] { }; + + //var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; + + //var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + //if (insert_sum > 0) + //{ + + // var del_sql = "DELETE FROM zsk_qd_rawdata"; + + // var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 + //} + //#endregion + + #region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak - var parameter = new SugarParameter[] { }; - var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; - var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + var select_sql = "SELECT DISTINCT DataSource FROM zsk_qd_rawdata"; + var select_name = Context.Ado.GetDataTable(select_sql); + + bool existsTargetSource = false; + + var str_name = ""; + + if (fildName.Contains("备货未入账")) + { + str_name = "备货未入账"; + + } + else if (fildName.Contains("到货未入库")) + { + str_name = "到货未入库"; + } + else + { + str_name = "工程问题呆滞"; + } + + + if (select_name.Rows.Count > 0) + { + foreach (DataRow row in select_name.Rows) + { + if (row["DataSource"] != DBNull.Value) + { + string dataSource = row["DataSource"].ToString(); + // 如果包含"入库",将str设为false + if (dataSource.Contains(str_name)) + { + existsTargetSource = true; + // 如果已经找到符合条件的,可提前退出循环 + break; + } + + } + } + } + + var parameter = new SugarParameter[] + { + new SugarParameter("@DataSource", str_name) + }; - if (insert_sum > 0) + // 如果zsk_qd_rawdata表中存在相同的数据来源,需要先备份,再删除这部分相同的数据来源 + if (existsTargetSource) { - var del_sql = "DELETE FROM zsk_qd_rawdata"; + // var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata "; + + //var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata WHERE DataSource LIKE '%' + @DataSource + '%'"; + var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; + + var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + if (insert_sum > 0) + { + + //var del_sql = "DELETE FROM zsk_qd_rawdata WHERE DataSource LIKE '%' + @DataSource + '%'"; + var del_sql = "DELETE FROM zsk_qd_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; + + var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 + } - var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 } + + #endregion -- Gitee From e87dfa26728d89c6fe4a183960b9d37d144ce8b2 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Wed, 13 Aug 2025 22:58:47 +0800 Subject: [PATCH 07/29] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD--1?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=A1=86=E3=80=81=E5=AF=BC=E5=85=A5=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E6=98=BE=E7=A4=BA=EF=BC=9B2=E3=80=81=E5=BD=93?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=A1=A8=E4=B8=AD=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E7=BC=BA=E5=A4=B1=E6=97=B6=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=B8=80=E6=9D=A1=E5=AE=9E=E9=99=85=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E4=B8=BA0=E7=9A=84=E7=89=A9=E6=96=99=E6=95=B0=E6=8D=AE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/ZR.Infrastructure.csproj | 4 + Infrastructure/ZskDataProcessor.cs | 52 +++ .../Knowledge/ZskQdRawdataController.cs | 19 + ZR.Admin.WebApi/appsettings.json | 3 +- .../Dto/ZskQdRawdataLeftSgsRequiredDto.cs | 35 +- ZR.Model/Knowledge/ZskQdRawdata.cs | 5 + ZR.Service/Knowledge/ZskQdRawdataService.cs | 379 +++++++++++++----- 7 files changed, 393 insertions(+), 104 deletions(-) create mode 100644 Infrastructure/ZskDataProcessor.cs diff --git a/Infrastructure/ZR.Infrastructure.csproj b/Infrastructure/ZR.Infrastructure.csproj index c7ee5e65..039ee5a0 100644 --- a/Infrastructure/ZR.Infrastructure.csproj +++ b/Infrastructure/ZR.Infrastructure.csproj @@ -23,4 +23,8 @@ + + + + diff --git a/Infrastructure/ZskDataProcessor.cs b/Infrastructure/ZskDataProcessor.cs new file mode 100644 index 00000000..357c1f27 --- /dev/null +++ b/Infrastructure/ZskDataProcessor.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZR.Model.Knowledge.Dto; + +namespace ZR.Infrastructure +{/// 数据处理工具类 + public class ZskDataProcessor + { + /// + /// 处理列表中A列数据: + /// - 若MaterialName列当前行为空,取前面最近的非空A列值 + /// - 若A列当前行不为空,保持原值 + /// + /// 原始数据列表 + /// 处理后的列表 + public static List ProcessColumnA(List dataList) + { + if (dataList == null || dataList.Count == 0) + return dataList; + + // 记录上一个非空的A列值 + string lastNonEmptyA = null; + + foreach (var item in dataList) + { + // 判断当前MaterialName列是否为空(包含null、空字符串、纯空格) + bool isCurrentAEmpty = string.IsNullOrWhiteSpace(item.MaterialName); + + if (!isCurrentAEmpty) + { + // 当前A列不为空:更新"上一个非空值"为当前值 + lastNonEmptyA = item.MaterialName; + } + else + { + // 当前A列为空:用"上一个非空值"填充(如果存在) + if (lastNonEmptyA != null) + { + item.MaterialName = lastNonEmptyA; + } + // 若"上一个非空值"不存在(如列表开头连续空值),保持空 + } + } + + return dataList; + } + + } +} diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs index 31de3752..bea1f7d5 100644 --- a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs +++ b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs @@ -6,6 +6,7 @@ using ZR.Admin.WebApi.Filters; using MiniExcelLibs; using static System.Runtime.InteropServices.JavaScript.JSType; using ZR.Service.Knowledge; +using ZR.Infrastructure; //创建时间:2025-07-07 namespace ZR.Admin.WebApi.Controllers.Knowledge @@ -257,12 +258,30 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge try { + + string fileName = ""; List list = new(); using (var stream = formFile.OpenReadStream()) { list = stream.Query(startCell: "A1").ToList(); + + // 关键步骤:给每个 DTO 赋值文件名 + fileName = formFile.FileName; //获取文件名 + } + + + + list = ZskDataProcessor.ProcessColumnA(list); + + foreach (var dto in list) + { + var m = dto.Notes; + + dto.Notes = fileName; // 将文件名存入 DTO 的 DataSource } + list = list.Where(x => x.MaterialCode != null).ToList(); + return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); } catch (Exception ex) diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 08392a98..fb7f566c 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -9,7 +9,8 @@ "dbConfigs": [ { //"Conn": "Data Source=192.168.107.252;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;", - "Conn": "Data Source=10.218.14.130;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", + //"Conn": "Data Source=10.218.14.130;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", + "Conn": "Data Source=10.218.14.130;Initial Catalog=Salary;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", "DbType": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs index 0d5e334b..5d0fe77f 100644 --- a/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs +++ b/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs @@ -12,15 +12,18 @@ namespace ZR.Model.Knowledge.Dto /// public class ZskQdRawdataLeftSgsRequiredQueryDto : PagerInfo { - public string DataSource { get; set; } - public string OrderNumber { get; set; } - public string MaterialCode { get; set; } - public string MaterialName { get; set; } - public string SpecificationModel { get; set; } - public string Notes { get; set; } - public decimal RequirementforIssuanceProportion { get; set; } - public string AlertStatus { get; set; } - + public string DataSource { get; set; } //数据来源 + public string OrderNumber { get; set; } //订单号 + public string MaterialCode { get; set; } //物料编码 + public string MaterialName { get; set; } //物料名称 + public string SpecificationModel { get; set; } //规格型号 + public string Notes { get; set; } //备注 + public decimal RequirementforIssuanceProportion { get; set; } //领用占比需求 + public string AlertStatus { get; set; } //预警状态 + public string orderConfigurationCode { get; set; } //下单配置编码 + + + } @@ -97,5 +100,19 @@ namespace ZR.Model.Knowledge.Dto [ExcelColumnName("预警状态")] public string AlertStatus { get; set; } + + + public string SgsMaterialName { get; set; } + + + public string SgsMaterialCode { get; set;} + + + + public string SgsSpecificationModel { get; set; } + + public string SgsNotes { get; set; } + // 操作显示:设置默认值为true + public bool czxs { get; set; } = true; } } diff --git a/ZR.Model/Knowledge/ZskQdRawdata.cs b/ZR.Model/Knowledge/ZskQdRawdata.cs index d17ec5ba..827d7015 100644 --- a/ZR.Model/Knowledge/ZskQdRawdata.cs +++ b/ZR.Model/Knowledge/ZskQdRawdata.cs @@ -69,6 +69,11 @@ namespace ZR.Model.Knowledge /// 备注 /// public string Notes { get; set; } + /// + /// 下单配置编码 + /// + + public string orderConfigurationCode { get; set; } } } \ No newline at end of file diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/ZskQdRawdataService.cs index 16b3a9ae..3b60e7cc 100644 --- a/ZR.Service/Knowledge/ZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/ZskQdRawdataService.cs @@ -43,17 +43,149 @@ namespace ZR.Service.Knowledge .LeftJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 .Where(predicate.ToExpression()); + var query1 = Queryable() + .RightJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 + .Where(predicate.ToExpression()); + + var sql = query.ToSql(); // 获取生成的SQL + //var response = query.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto + //{ + + // SgsMaterialCode = req.MaterialCode, + // SgsMaterialName = req.MaterialName, + // SgsSpecificationModel = req.SpecificationModel, + + + // Id = raw.Id, + // DataSource = raw.DataSource, + // OrderNumber = raw.OrderNumber, + // MaterialCode = raw.MaterialCode, + // MaterialName = raw.MaterialName, + // OrderConfigurationCode = raw.OrderConfigurationCode, + // SpecificationModel = raw.SpecificationModel, + // UnitofMeasurement = raw.UnitofMeasurement, + // ActualQuantity = raw.ActualQuantity, + // CreateTime = raw.CreateTime, + // LastEditTime = raw.LastEditTime, + // Notes = raw.Notes, + // RequiredQuantity = req.RequiredQuantity, + // QuantityIssued = req.QuantityIssued, + // QuantityUsed = req.RequiredQuantity - req.QuantityIssued, + // RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, + // AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) + + + // // // 1. 处理raw为空、req不为空的场景:特定字段取req的值,其余置空 + // // // 2. 处理raw不为空的场景:直接取raw的值 + // // // 3. 两者都为空:所有字段置空 + + // // // 主键及其他非核心字段:raw为空则置空 + // // Id = raw != null ? raw.Id : req.Id, + // // OrderNumber = raw != null ? raw.OrderNumber : null, + // // OrderConfigurationCode = raw != null ? raw.OrderConfigurationCode : null, + // // UnitofMeasurement = raw != null ? raw.UnitofMeasurement : null, + // // CreateTime = raw != null ? raw.CreateTime : null, + // // LastEditTime = raw != null ? raw.LastEditTime : null, + // // Notes = raw != null ? raw.Notes : null, + + // // // 核心字段:raw为空时取req的值(req不为空的前提下) + // // DataSource = raw != null + // //? raw.DataSource + // //: (req != null ? "省公司每日需求表": null), // raw空、req非空:取req.DataSource + + // // MaterialCode = raw != null + // //? raw.MaterialCode + // //: (req != null ? req.MaterialCode : null), // raw空、req非空:取req.MaterialCode + + // // MaterialName = raw != null + // //? raw.MaterialName + // //: (req != null ? req.MaterialName : null), // raw空、req非空:取req.MaterialName + + // // SpecificationModel = raw != null + // //? raw.SpecificationModel + // //: (req != null ? req.SpecificationModel : null), // raw空、req非空:取req.SpecificationModel + + // // ActualQuantity = raw != null + // //? raw.ActualQuantity + // //: "0", // raw空、req非空:固定为0 + + // // // 关联表字段(req的值,无论raw是否为空) + // // RequiredQuantity = req.RequiredQuantity, + // // QuantityIssued = req.QuantityIssued, + // // QuantityUsed = req != null ? req.RequiredQuantity - req.QuantityIssued : 0, + // // RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, + + // // // 预警状态:处理req为空的情况,避免空引用 + // // AlertStatus = req != null + // //? SqlFunc.IIF( + // // req.RequirementforIssuanceProportion * 100 < 80, "绿色", + // // SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色") + // // ) + // //: null + + + + + + + // //EndOrgName = SqlFunc.IF(_.EndOrgCode == "510117").Return("四川委托代销库").ElseIF(_.EndOrgCode == "851A0050").Return("四川市州临时库").ElseIF(_.EndOrgCode == "851A0001").Return("四川省天翼总仓").ElseIF(_.EndOrgCode == "851A0052").Return("四川强商渠道库").End("四川省天翼总仓") + // ////根据比例设置预警状态 + // /// + + + // //AlertStatus = SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "") ,//移除百分号 + + // // // 核心修改:在 Select 中直接计算 AlertStatus + // // AlertStatus = SqlFunc.IIF( + // // req == null, // 处理右表为 null 的情况 + // // "绿色", + // // SqlFunc.IIF( + // // // 移除百分号并转换为 decimal 比较 + // // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) < 80, + // // "绿色", + // // SqlFunc.IIF( + // // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) > 100, + // // "红色", + // // "橙色" // 80-100 之间为橙色 + // // ) + // // ) + // //) + + // // AlertStatus = SqlFunc.IIF( + // // req == null, + // // "", + // // SqlFunc.IIF( + // // // 使用 LessThan 方法进行数值比较 + // // SqlFunc.LessThan( + // // SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), + // // "80" + // // ), + // // "绿色", + // // SqlFunc.IIF( + // // SqlFunc.LessThan( + // // SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), + // // "100" + // // ), + // // "橙色", + // // "红色" + // // ) + // // ) + // //) + + //}).MergeTable(); + var response = query.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto { - //// 映射ZskQdRawdata属性 - //Id = raw.Id, - //DataSource = raw.DataSource, - //// 映射ZskSgsRequired属性(可为空) - //RequiredId = req == null ? null : req.Id, - //RequiredField1 = req?.Field1 + + SgsMaterialCode = req.MaterialCode, + SgsMaterialName = req.MaterialName, + SgsSpecificationModel = req.SpecificationModel, + SgsNotes = req.Notes, + + Id = raw.Id, DataSource = raw.DataSource, OrderNumber = raw.OrderNumber, @@ -66,103 +198,135 @@ namespace ZR.Service.Knowledge CreateTime = raw.CreateTime, LastEditTime = raw.LastEditTime, Notes = raw.Notes, - //RequiredQuantity = req.RequiredQuantity, - //QuantityIssued = req.QuantityIssued, - //QuantityUsed = (req.RequiredQuantity - req.QuantityIssued).ToString(), - //RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, - //AlertStatus = - // 映射ZskSgsRequired属性(可为空) RequiredQuantity = req.RequiredQuantity, QuantityIssued = req.QuantityIssued, QuantityUsed = req.RequiredQuantity - req.QuantityIssued, RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, - AlertStatus =SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80,"绿色",SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色",""))) - //EndOrgName = SqlFunc.IF(_.EndOrgCode == "510117").Return("四川委托代销库").ElseIF(_.EndOrgCode == "851A0050").Return("四川市州临时库").ElseIF(_.EndOrgCode == "851A0001").Return("四川省天翼总仓").ElseIF(_.EndOrgCode == "851A0052").Return("四川强商渠道库").End("四川省天翼总仓") - ////根据比例设置预警状态 - /// - - - //AlertStatus = SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "") ,//移除百分号 - - // // 核心修改:在 Select 中直接计算 AlertStatus - // AlertStatus = SqlFunc.IIF( - // req == null, // 处理右表为 null 的情况 - // "绿色", - // SqlFunc.IIF( - // // 移除百分号并转换为 decimal 比较 - // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) < 80, - // "绿色", - // SqlFunc.IIF( - // SqlFunc.ConvertToDecimal(SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", "")) > 100, - // "红色", - // "橙色" // 80-100 之间为橙色 - // ) - // ) - //) - -// AlertStatus = SqlFunc.IIF( -// req == null, -// "", -// SqlFunc.IIF( -// // 使用 LessThan 方法进行数值比较 -// SqlFunc.LessThan( -// SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), -// "80" -// ), -// "绿色", -// SqlFunc.IIF( -// SqlFunc.LessThan( -// SqlFunc.Replace(req.RequirementforIssuanceProportion, "%", ""), -// "100" -// ), -// "橙色", -// "红色" -// ) -// ) -//) - - }).MergeTable(); - // .Mapper(_it => - //{ + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) - // if (decimal.TryParse(_it.AlertStatus, out decimal intValue)) - // { - // if (intValue < 80) - // { - // _it.AlertStatus = "绿色"; - // } - // else if (intValue > 100) - // { - // _it.AlertStatus = "红色"; - // } - // else - // { - // _it.AlertStatus = "橙色"; - // } - // } - // else - // { - // // 转换失败,处理错误(如设置默认值) - // _it.AlertStatus = ""; - // } - - //}); + }); - if (!string.IsNullOrEmpty(parm.AlertStatus)) + var response1 = query1.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto { - var sq = response.Where(x => x.AlertStatus == parm.AlertStatus); - var m1 = sq.ToSql(); + SgsMaterialCode = req.MaterialCode, + SgsMaterialName = req.MaterialName, + SgsSpecificationModel = req.SpecificationModel, + SgsNotes = req.Notes, + + Id = raw.Id, + DataSource = raw.DataSource, + OrderNumber = raw.OrderNumber, + MaterialCode = raw.MaterialCode, + MaterialName = raw.MaterialName, + OrderConfigurationCode = raw.OrderConfigurationCode, + SpecificationModel = raw.SpecificationModel, + UnitofMeasurement = raw.UnitofMeasurement, + ActualQuantity = raw.ActualQuantity, + CreateTime = raw.CreateTime, + LastEditTime = raw.LastEditTime, + Notes = raw.Notes, + RequiredQuantity = req.RequiredQuantity, + QuantityIssued = req.QuantityIssued, + QuantityUsed = req.RequiredQuantity - req.QuantityIssued, + RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) + + }); - return sq.ToPage(parm); + var mergedList = response.ToList().Union(response1.ToList()).ToList(); - - } - else + + // 1. 处理 DataSource 为空的项:补全字段 + mergedList = mergedList.Select(item => + { + // 判断 DataSource 是否为空(包括 null、空字符串、纯空格) + if (string.IsNullOrWhiteSpace(item.DataSource)) + { + return new ZskQdRawdataLeftSgsRequiredDto + { + // 基础字段保持不变 + Id = item.Id, + OrderNumber = item.OrderNumber, + OrderConfigurationCode = item.OrderConfigurationCode, + UnitofMeasurement = item.UnitofMeasurement, + CreateTime = item.CreateTime, + LastEditTime = item.LastEditTime, + Notes = item.Notes, + RequiredQuantity = item.RequiredQuantity, + QuantityIssued = item.QuantityIssued, + QuantityUsed = item.QuantityUsed, + RequirementforIssuanceProportion = item.RequirementforIssuanceProportion, + AlertStatus = item.AlertStatus, + SgsMaterialCode = item.SgsMaterialCode, + SgsMaterialName = item.SgsMaterialName, + SgsSpecificationModel = item.SgsSpecificationModel, + + // 重点补全字段 + czxs = false, //操作显示 + DataSource = item.SgsNotes, // 固定值 + MaterialCode = item.SgsMaterialCode, // 取自 SgsMaterialCode + MaterialName = item.SgsMaterialName, // 取自 SgsMaterialName + SpecificationModel = item.SgsSpecificationModel, // 取自 SgsSpecificationModel + ActualQuantity = "0" // 固定为 "0" + }; + } + // DataSource 不为空则保持原样 + return item; + }).ToList(); + + + // 2. 去除 MaterialCode 为空的行(过滤无效数据) + mergedList = mergedList.Where(item => !string.IsNullOrWhiteSpace(item.MaterialCode)).ToList(); + + // 3. 二次去重(处理补全字段后可能产生的新重复项) + mergedList = mergedList.Distinct().ToList(); + + + + + //if (!string.IsNullOrEmpty(parm.AlertStatus)) + //{ + // var sq = response.Where(x => x.AlertStatus == parm.AlertStatus); + + + // return sq.ToPage(parm); + + + //} + //else + //{ + // return response.ToPage(parm); + //} + + + + // 3. 应用AlertStatus过滤条件 + if (!string.IsNullOrEmpty(parm.AlertStatus)) { - return response.ToPage(parm); + mergedList = mergedList.Where(dto => dto.AlertStatus == parm.AlertStatus).ToList(); } + // 4. 手动分页(计算总条数、当前页数据) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码校正(至少为1) + int pageSize = Math.Max(parm.PageSize, 10); // 页大小校正(默认10条) + int totalCount = mergedList.Count; + var pageData = mergedList + .Skip((pageIndex - 1) * pageSize) // 跳过前N条 + .Take(pageSize) // 取当前页数据 + .ToList(); + + // 5. 返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize + }; + + + } catch (Exception ex) @@ -549,23 +713,50 @@ namespace ZR.Service.Knowledge predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), - (raw, req) => raw.DataSource.Contains(parm.DataSource)); + (raw, req) => raw.DataSource.Contains(parm.DataSource) + || + // 右表(req)不为 null 且其 DataSource 包含参数值(避免空引用) + (req.Notes != null && req.Notes.Contains(parm.DataSource)) + + ); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), (raw, req) => raw.OrderNumber == parm.OrderNumber); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), - (raw, req) => raw.MaterialCode == parm.MaterialCode); + (raw, req) => raw.MaterialCode == parm.MaterialCode + || + // 右表(req)不为 null 且其 DataSource 包含参数值(避免空引用) + (req.MaterialCode != null && req.MaterialCode ==parm.MaterialCode) + + ); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), - (raw, req) => raw.MaterialName.Contains(parm.MaterialName)); + (raw, req) => raw.MaterialName.Contains(parm.MaterialName) + || + // 右表(req)不为 null 且其 DataSource 包含参数值(避免空引用) + (req.MaterialName != null && req.MaterialName.Contains(parm.MaterialName)) + + + ); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.SpecificationModel), - (raw, req) => raw.SpecificationModel == parm.SpecificationModel); + (raw, req) => raw.SpecificationModel == parm.SpecificationModel + || + // 右表(req)不为 null 且其 DataSource 包含参数值(避免空引用) + (req.SpecificationModel != null && req.SpecificationModel ==parm.SpecificationModel) + + ); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Notes), (raw, req) => raw.Notes.Contains(parm.Notes)); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.orderConfigurationCode), + (raw, req) => raw.orderConfigurationCode.Contains(parm.orderConfigurationCode)); + // 映射右表(ZskSgsRequired)的查询条件,注意处理可能为null的情况 predicate = predicate.AndIF(parm.RequirementforIssuanceProportion > 0, (raw, req) => req.RequirementforIssuanceProportion == parm.RequirementforIssuanceProportion); -- Gitee From 6cb31ae6dd8a89b09fc961937da987aa0831344f Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 21 Aug 2025 00:03:51 +0800 Subject: [PATCH 08/29] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A=E4=BC=98=E5=8C=96bug=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E4=BF=AE=E6=94=B9=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Model/Knowledge/ZskQdRawdata.cs | 2 +- ZR.Service/Knowledge/ZskQdRawdataService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ZR.Model/Knowledge/ZskQdRawdata.cs b/ZR.Model/Knowledge/ZskQdRawdata.cs index 827d7015..44ce7cae 100644 --- a/ZR.Model/Knowledge/ZskQdRawdata.cs +++ b/ZR.Model/Knowledge/ZskQdRawdata.cs @@ -73,7 +73,7 @@ namespace ZR.Model.Knowledge /// 下单配置编码 /// - public string orderConfigurationCode { get; set; } + // public string orderConfigurationCode { get; set; } } } \ No newline at end of file diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/ZskQdRawdataService.cs index 3b60e7cc..2d74b364 100644 --- a/ZR.Service/Knowledge/ZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/ZskQdRawdataService.cs @@ -755,7 +755,7 @@ namespace ZR.Service.Knowledge predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.orderConfigurationCode), - (raw, req) => raw.orderConfigurationCode.Contains(parm.orderConfigurationCode)); + (raw, req) => raw.OrderConfigurationCode.Contains(parm.orderConfigurationCode)); // 映射右表(ZskSgsRequired)的查询条件,注意处理可能为null的情况 predicate = predicate.AndIF(parm.RequirementforIssuanceProportion > 0, -- Gitee From cbac83e7762b8e4417a2b733f7a57cc34f8b8c1f Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Tue, 16 Sep 2025 11:40:29 +0800 Subject: [PATCH 09/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FjhsDetail/FjhsRecycleDetailController.cs | 296 ++++++ .../FjhsRecycleTaskHeadController.cs | 783 ++++++++++++++++ .../FjhsRecycleSamplingDetailController.cs | 571 ++++++++++++ .../Controllers/Photo/PhotoController.cs | 145 +++ ZR.Admin.WebApi/Program.cs | 8 + ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 1 + .../ImportTemplate/FjhsRecycleTaskHead.xlsx | Bin 0 -> 4775 bytes .../FjhsDetail/Dto/FjhsRecycleDetailDto.cs | 433 +++++++++ ZR.Model/FjhsDetail/FjhsRecycleDetail.cs | 145 +++ .../Dto/FjhsRecycleTaskDetailDto.cs | 131 +++ .../FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs | 407 ++++++++ ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs | 135 +++ ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs | 171 ++++ .../Dto/FjhsRecycleTaskDetailImageDto.cs | 52 ++ .../FjhsRecycleTaskDetailImage.cs | 79 ++ .../Dto/FjhsRecycleSamplingDetailDto.cs | 341 +++++++ .../FjhsRecycleSamplingDetail.cs | 140 +++ ZR.Repository/BaseRepository.cs | 42 +- ZR.Repository/IBaseRepository.cs | 5 +- .../FjhsDetail/FjhsRecycleDetailService.cs | 527 +++++++++++ .../IFjhsRecycleDetailService.cs | 26 + .../FjhsRecycleTaskDetailService.cs | 251 +++++ .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 868 ++++++++++++++++++ .../IFjhsRecycleTaskDetailService.cs | 28 + .../IFjhsRecycleTaskHeadService.cs | 38 + .../FjhsRecycleTaskDetailImageService.cs | 80 ++ .../IFjhsRecycleTaskDetailImageService.cs | 21 + .../FjhsRecycleSamplingDetailService.cs | 548 +++++++++++ .../IFjhsRecycleSamplingDetailService.cs | 25 + .../Services/IService/ISysUserService.cs | 9 + ZR.ServiceCore/Services/SysUserService.cs | 18 +- 31 files changed, 6320 insertions(+), 4 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs create mode 100644 ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs create mode 100644 ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/FjhsRecycleTaskHead.xlsx create mode 100644 ZR.Model/FjhsDetail/Dto/FjhsRecycleDetailDto.cs create mode 100644 ZR.Model/FjhsDetail/FjhsRecycleDetail.cs create mode 100644 ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs create mode 100644 ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs create mode 100644 ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs create mode 100644 ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs create mode 100644 ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs create mode 100644 ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs create mode 100644 ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs create mode 100644 ZR.Model/FjhsRecycleSampling/FjhsRecycleSamplingDetail.cs create mode 100644 ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs create mode 100644 ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs create mode 100644 ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs create mode 100644 ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs create mode 100644 ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs create mode 100644 ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs create mode 100644 ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs create mode 100644 ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs create mode 100644 ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs create mode 100644 ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs diff --git a/ZR.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs b/ZR.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs new file mode 100644 index 00000000..cf49f4b0 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs @@ -0,0 +1,296 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.FjhsDetail.Dto; +using ZR.Model.FjhsDetail; +using ZR.Service.FjhsDetail.IFjhsDetailService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +using ZR.Model.FjhsRecycle; +using ZR.Model.FjhsRecycleSampling.Dto; +using ZR.Model.FjhsRecycleSampling; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; + +//创建时间:2025-09-10 +namespace ZR.Admin.WebApi.Controllers.FjhsDetail +{ + /// + /// 回收明细表 + /// + [Verify] + [Route("FjhsDetail/FjhsRecycleDetail")] + public class FjhsRecycleDetailController : BaseController + { + /// + /// 回收明细表接口 + /// + private readonly IFjhsRecycleDetailService _FjhsRecycleDetailService; + private readonly IFjhsRecycleTaskHeadService _FjhsRecycleTaskHeadService; + + public FjhsRecycleDetailController(IFjhsRecycleDetailService FjhsRecycleDetailService, IFjhsRecycleTaskHeadService fjhsRecycleTaskHeadService) + { + _FjhsRecycleDetailService = FjhsRecycleDetailService; + _FjhsRecycleTaskHeadService = fjhsRecycleTaskHeadService; + } + + + + /// + /// 更新回收任务 + /// + /// + //[HttpPut] + [HttpPost("updateFjhsRecycleSamplingDetail")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecycledetail:edit")] + [Log(Title = "回收任务", BusinessType = BusinessType.UPDATE)] + public IActionResult updateFjhsRecycleSamplingDetail([FromBody] FjhsRecycleDetailDto parm) + { + + + //var modal = parm.materialDetails.Adapt().ToUpdate(HttpContext); + //var response = _FjhsRecycleSamplingDetailService.UpdateFjhsRecycleSamplingDetail(modal); + + //return ToResponse(response); + + + // 基础参数验证 + if (parm == null) + { + return BadRequest("参数不能为空"); + } + + if (parm.materialDetails == null || !parm.materialDetails.Any()) + { + return BadRequest("没有需要更新的材料详情数据"); + } + + + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + + + try + { + + // 转换为实体并设置更新信息 + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + + foreach (var item in parm.materialDetails) + { + // 单个项目验证 + if (item == null /*|| item.Id <= 0*/) // 假设Id是必须的标识字段 + { + return BadRequest("存在无效的材料详情记录"); + } + + + + + + + // 转换为实体并设置更新信息 + var modal = item.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + var updateSuccess = _FjhsRecycleDetailService + .UpdateFjhsRecycleDetail(modal); + + // 处理单个更新失败的情况 + if (updateSuccess <= 0) + { + return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + } + } + + + + // 所有更新成功 + return Ok($"成功更新 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + // 直接返回异常信息(生产环境建议只返回通用信息) + return StatusCode(500, $"系统异常:{ex.Message}"); + } + + } + + + + + /// + /// 查询回收明细表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:list")] + public IActionResult QueryFjhsRecycleDetail([FromQuery] FjhsRecycleDetailQueryDto parm) + { + var response = _FjhsRecycleDetailService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收明细表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:query")] + public IActionResult GetFjhsRecycleDetail(int Id) + { + + + + try + { + var response = _FjhsRecycleDetailService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } + } + + /// + /// 添加回收明细表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:add")] + [Log(Title = "回收明细表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleDetail([FromBody] FjhsRecycleDetailDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _FjhsRecycleDetailService.AddFjhsRecycleDetail(modal); + + return SUCCESS(response); + } + + /// + /// 更新回收明细表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:edit")] + [Log(Title = "回收明细表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleDetail([FromBody] FjhsRecycleDetailDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _FjhsRecycleDetailService.UpdateFjhsRecycleDetail(modal); + + return ToResponse(response); + } + + /// + /// 删除回收明细表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:delete")] + [Log(Title = "回收明细表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleDetail([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_FjhsRecycleDetailService.Delete(idArr)); + } + + /// + /// 导出回收明细表 + /// + /// + [Log(Title = "回收明细表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:export")] + public IActionResult Export([FromQuery] FjhsRecycleDetailQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _FjhsRecycleDetailService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收明细表", "回收明细表"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空回收明细表 + /// + /// + [Log(Title = "回收明细表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_FjhsRecycleDetailService.TruncateFjhsRecycleDetail()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "回收明细表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_FjhsRecycleDetailService.ImportFjhsRecycleDetail(list.Adapt>())); + } + + /// + /// 回收明细表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收明细表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleDetail"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs new file mode 100644 index 00000000..caa52ec0 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs @@ -0,0 +1,783 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.FjhsRecycle.Dto; +using ZR.Model.FjhsRecycle; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; +using ZR.Service.FjhsRecycleSampling; +using Aliyun.OSS; +using ZR.Model.FjhsRecycleSampling; +using ZR.Model.FjhsRecycleSampling.Dto; +using Microsoft.IdentityModel.Tokens; +using Org.BouncyCastle.Crypto; +using ZR.Service.FjhsRecycle; +using SqlSugar; +using System.Collections.Generic; + +//创建时间:2025-08-15 +namespace ZR.Admin.WebApi.Controllers.FjhsRecycle +{ + /// + /// 回收任务主表 + /// + [Verify] + [Route("FjhsRecycle/FjhsRecycleTaskHead")] + public class FjhsRecycleTaskHeadController : BaseController + { + /// + /// 回收任务主表接口 + /// + private readonly IFjhsRecycleTaskHeadService _FjhsRecycleTaskHeadService; + + private readonly IFjhsRecycleTaskDetailService _FfjhsRecycleTaskDetailService; + private readonly IFjhsRecycleSamplingDetailService _FjhsRecycleSamplingDetailService; + + private readonly ISysUserService _sysUserService; + + public FjhsRecycleTaskHeadController(IFjhsRecycleTaskHeadService FjhsRecycleTaskHeadService, IFjhsRecycleTaskDetailService FfjhsRecycleTaskDetailService, ISysUserService sysUserService, IFjhsRecycleSamplingDetailService FjhsRecycleSamplingDetailService) + { + _FjhsRecycleTaskHeadService = FjhsRecycleTaskHeadService; + _FfjhsRecycleTaskDetailService = FfjhsRecycleTaskDetailService; + _FjhsRecycleSamplingDetailService = FjhsRecycleSamplingDetailService; + _sysUserService = sysUserService; + } + + /// + /// 查询回收任务主表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:list")] + public IActionResult QueryFjhsRecycleTaskHead([FromQuery] FjhsRecycleTaskHeadQueryDto parm) + { + var response = _FjhsRecycleTaskHeadService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收任务主表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult GetFjhsRecycleTaskHead(int Id) + { + var response = _FjhsRecycleTaskHeadService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + + + + + /// + /// 查询堪样任务表和主表详情,在这里暂时没有用,需要查前handlePreview按钮对应的逻辑 + /// + /// + /// + [HttpGet("sampleList/{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult getFjhsRecycleSampleList(int Id) + { + var response = _FjhsRecycleTaskHeadService.GetFjhsRecycleSampleList(Id).First(); + + var info = response.Adapt(); + + //var info = ""; + + + + return SUCCESS(info); + } + + + + /// + /// 搬运回收清单 + /// + /// + /// + [HttpGet("transport/{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult transport(int Id) + { + var response = _FjhsRecycleTaskHeadService.GetFjhsRecycleSampleList(Id).First(); + + var info = response.Adapt(); + + //var info = ""; + + + + return SUCCESS(info); + } + + + + + ///// + ///// 查询回收任务主表详情 + ///// + ///// + ///// + //[HttpGet("{Id}")] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + //public IActionResult getFjhsRecycleTaskMaterial(int Id) + //{ + // var response = _FjhsRecycleTaskHeadService.GetInfo(Id); + + // var info = response.Adapt(); + // return SUCCESS(info); + //} + + + + // 新增:获取回收任务的物料详情列表 + /// + /// 查询回收任务关联的物料详情 + /// + /// 回收任务主表ID(关联查询条件) + /// 物料详情列表 + [HttpGet("material/{taskId}")] // 路由匹配前端的 "material/{taskId}" + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] // 复用主表的查询权限 + public IActionResult GetFjhsRecycleTaskMaterial(int taskId) + { + // 1. 调用服务层获取物料详情(根据实际业务调整方法名) + var materialList = _FfjhsRecycleTaskDetailService.GetInfo(taskId); + + // 2. 转换为DTO(若有物料详情的DTO) + //var materialDtos = materialList.Adapt>(); + + var materialDtos = materialList.Adapt(); + + // 3. 返回统一格式的成功响应(与主表接口保持一致) + return SUCCESS(materialDtos); + } + + + + + /// + /// 保存回收任务后生成堪样任务 + /// + /// 回收任务主键ID + /// 请求头中的当前用户名(用于日志和权限) + /// + [HttpPost("generateSample")] // 接口路径与前端一致 + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:generateSample")] // 对应权限 + [Log(Title = "回收任务生成堪样", BusinessType = BusinessType.OTHER)] // 日志记录 + public IActionResult GenerateSampleTask( + // [FromQuery] long taskId, // 从查询参数获取回收任务ID(与前端params对应) + // [FromBody] List taskIds, // 接收ID数组(参数名改为taskIds,避免歧义) + // [FromBody] GenerateSampleRequest request, // 从请求体获取ID列表 + [FromBody] GenerateSampleRequest taskIds, + + //[FromHeader(Name = "updater")] string username) // 从请求头获取用户名 + [FromHeader(Name = "username")] string username) // 从请求头获取用户名 + { + // 1.参数校验 + //if (taskId <= 0) + //{ + // return ToResponse(ResultCode.FAIL, "回收任务ID不能为空"); + //} + + //if (taskIds == null || taskIds.Count == 0) + //{ + // return ToResponse(ResultCode.FAIL, "回收任务ID列表不能为空"); + //} + //if (taskIds.Any(id => id <= 0)) + //{ + // return ToResponse(ResultCode.FAIL, "存在无效的回收任务ID"); + //} + + if (string.IsNullOrEmpty(username)) + { + return ToResponse(ResultCode.FAIL, "未获取到当前用户信息"); + } + + // var taskIds = Tools.SplitAndConvert(taskId.ToString()); + + try + { + foreach (var taskId1 in taskIds.TaskIds) + { + + var response = _FjhsRecycleTaskHeadService.Getlist(taskId1.ParseToInt()); + + + + + + if (string.IsNullOrEmpty(response.First().Site)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前局点不能为空"); + } + + if (string.IsNullOrEmpty(response.First().DemandUnit)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前需求单位不能为空"); + } + + if (string.IsNullOrEmpty(response.First().ContactPerson)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前联系人不能为空"); + } + + if (string.IsNullOrEmpty(response.First().ContactPhone)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前联系电话不能为空"); + } + + + foreach (var item in response) + { + var requst = new FjhsRecycleSamplingDetail + { + DocNumber = item.DocNumber, + MaterialName = item.materialName, + AssetName = item.assetName, + AssetCardNumber = item.assetCardNo, + Specification = item.specification, + UnitCard = item.unit, + EstimatedRecycleQuantity = int.Parse(item.expectedRecycleQty), + + + }; + + + var modal = requst.Adapt().ToCreate(HttpContext); + + var resulte = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + } + + + + + + + var requsetTask = new FjhsRecycleTaskHead() + { + CurrentProcessStatus = "01", + Id = response.First().Id, + }; + + + + var m =_FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(requsetTask); + + + // return SUCCESS(resulte); + } + return SUCCESS("批量生成堪样任务成功"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + } + + + + + /// + /// 添加回收任务主表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleTaskHead([FromBody] FjhsRecycleTaskHeadDto parm) + { + + + + + + + // 2. 生成单据编号:当前年月日(yyyyMMdd) + 序号 + // 假设序号从1开始,实际应用中可能需要从数据库获取最大序号 + string datePart = DateTime.Now.ToString("yyyyMMdd"); + DateTime datePart1 = DateTime.Now; + + int sequence = _FjhsRecycleTaskHeadService.GetMaxSequenceByDate(datePart1); // 这里可以根据实际情况从数据库获取最新序号 + + var username = parm.Creator; //创建人 + var city = _sysUserService.SelectUser(username).City; //归属地 + + // 3. 创建主表数据并设置相关字段 + + + parm.DocNumber = $"FJ{datePart}{sequence:D4}";// 格式如:FJ202508250001 单据编号 + parm.CurrentProcessStatus = "0"; //当前流程状态 + parm.CurrentExpectedStatus = "1"; //当前预期状态 + parm.BelongArea = city; //归属地 + parm.CreateTime = datePart1; //创建时间 + + + + + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _FjhsRecycleTaskHeadService.AddFjhsRecycleTaskHead(modal); + + // 4 处理明细数据,可以在这里为明细设置关联的单据编号 + + FjhsRecycleTaskDetail marterDetail = new FjhsRecycleTaskDetail(); + + foreach (var detail in parm.materialDetails) + { + + + marterDetail.DocNumber = parm.DocNumber; // 关联主表单据编号 + marterDetail.CreateTime = DateTime.Now; + marterDetail.Creator = username;//创建人 + marterDetail.StorageTime = parm.StorageTime; //缴库时间 + marterDetail.AssetName = detail.assetName; //资产名称 + marterDetail.AssetCardNumber = detail.assetCardNumber; //资产卡片号 + marterDetail.MaterialName = detail.materialName; //物料名称 + marterDetail.UnitCard = detail.unitCard; //计量单位 + marterDetail.Specification = detail.specification; //规格型号 + marterDetail.ApprovedQuantity = int.Parse(detail.approvedQuantity); //预计回收数据 + + + var marterDetailDate = marterDetail.Adapt().ToCreate(HttpContext); + var response1 = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(marterDetailDate); + + + } + + + + + + + return SUCCESS(response); + } + + /// + /// 新增回收任务物料明细 + /// + /// + //[HttpPost("addDetail/{parm}")] + // 修正:移除{parm},路由仅为"addDetail"(与前端路径对应) + [HttpPost("addDetail")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务物料明细", BusinessType = BusinessType.INSERT)] + public IActionResult addFjhsRecycleTaskDetail([FromBody] FjhsRecycleTaskDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + //var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + + //return SUCCESS(response); + + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + return SUCCESS(response); + } + catch (Exception ex) + { + // 日志记录 + return StatusCode(500, "添加失败:" + ex.Message); + } + + + + } + + + + + /// + /// 新增图片上传 + /// + /// + //[HttpPost("addDetail/{parm}")] + // 修正:移除{parm},路由仅为"addDetail"(与前端路径对应) + [HttpPost("Image")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务物料明细", BusinessType = BusinessType.INSERT)] + public IActionResult uploadImageRelation([FromBody] FjhsRecycleTaskDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + //var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + + //return SUCCESS(response); + + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + return SUCCESS(response); + } + catch (Exception ex) + { + // 日志记录 + return StatusCode(500, "添加失败:" + ex.Message); + } + + + + } + + + + + + + /// + /// 更新回收任务主表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:edit")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleTaskHead([FromBody] FjhsRecycleTaskHeadDto parm) + { + //var username1 = username; + + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + + + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(modal); + + return ToResponse(response); + + + + //// 1. 参数校验 + //if (parm == null) + //{ + // return ToResponse(ResultCode.FAIL, "参数不能为空"); + //} + + //if (string.IsNullOrEmpty(username)) + //{ + // return ToResponse(ResultCode.FAIL, "未获取到用户信息"); + //} + + //if (parm.Id <= 0) + //{ + // return ToResponse(ResultCode.FAIL, "主键ID不能为空"); + //} + + //// 2. 转换DTO为实体并设置审计字段 + //var modal = parm.Adapt(); + + //// 3. 设置更新人信息(关键修改点) + //modal.Updater = username; // 更新修改人 + //modal.UpdateTime = DateTime.Now; // 更新修改时间 + + //// 4. 如果需要,可以在这里补充其他业务逻辑 + //// 例如:验证当前用户是否有权限修改该记录 + //// var user = _sysUserService.SelectUser(username); + //// if (user == null) + //// { + //// return ToResponse(ResultCode.FAIL, "用户不存在"); + //// } + + //// 5. 调用服务层执行更新操作 + //var response = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(modal); + + //return ToResponse(response); + + } + + + + + /// + /// 删除回收任务主表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:delete")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleTaskHead([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_FjhsRecycleTaskHeadService.Delete(idArr)); + } + + + + /// + /// 取消回收任务主表 + /// + /// + [HttpPost("cance/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:cance")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.DELETE)] + public IActionResult CanceFjhsRecycleTaskHead([FromRoute] string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_FjhsRecycleTaskHeadService.CanceFjhsRecycleTaskHead(idArr)); + } + + + + /// + /// 导出回收任务主表 + /// + /// + [Log(Title = "回收任务主表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:export")] + public IActionResult Export([FromQuery] FjhsRecycleTaskHeadQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _FjhsRecycleTaskHeadService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收任务主表", "回收任务主表"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空回收任务主表 + /// + /// + [Log(Title = "回收任务主表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_FjhsRecycleTaskHeadService.TruncateFjhsRecycleTaskHead()); + } + + ///// + ///// 导入 + ///// + ///// + ///// + //[HttpPost("importData")] + //[Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + //public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + //{ + // List list = new(); + // using (var stream = formFile.OpenReadStream()) + // { + // list = stream.Query(startCell: "A1").ToList(); + // } + + // return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + //} + + + /// + /// 导入 + /// + /// + /// 从请求头获取用户名 + /// + [HttpPost("importData")] + [Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile, [FromHeader(Name = "userName")] string username) + { + //List list = new(); + + + //using (var stream = formFile.OpenReadStream()) + //{ + // list = stream.Query(startCell: "A1").ToList(); + //} + + //return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + try + { + + List list = new(); + List list_Detail = new(); + var storageTime = DateTime.Now; + + + // --------------- 关键修复:1. 校验并获取 Excel 文件类型 --------------- + if (formFile == null || formFile.Length == 0) + { + return ToResponse(ResultCode.FAIL, "请选择上传的Excel文件"); + } + + // 获取文件后缀(如 .xlsx 或 .xls) + var fileExtension = Path.GetExtension(formFile.FileName).ToLower(); + ExcelType excelType; // MiniExcel 的文件类型枚举 + + // 根据后缀指定 ExcelType + if (fileExtension == ".xlsx") + { + excelType = ExcelType.XLSX; // .xlsx 格式 + } + else if (fileExtension == ".xls") + { + // excelType = ExcelType.XLSX; // .xls 格式(旧版) + + excelType = ExcelType.XLSX; // .xls 格式(旧版)- 这里之前错误地写成了XLSX + + // 若为.xls,明确提示使用.xlsx;其他格式提示不支持 + var errorMsg = fileExtension == ".xls" + ? "请使用.xlsx格式文件,暂不支持.xls格式!" + : "不支持的文件类型!仅支持.xlsx格式"; + return ToResponse(ResultCode.FAIL, errorMsg); + + } + else + { + return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); + } + + + //using (var stream = formFile.OpenReadStream()) + //{ + // list_Detail = stream.Query(startCell: "A1").ToList(); + //} + + + using (var stream = formFile.OpenReadStream()) + { + // 关键修复:2. 将获取到的excelType传递给Query方法 + list_Detail = stream.Query( + startCell: "A1", + excelType: excelType // 显式指定文件类型 + ).ToList(); + } + + + + // 1. 从明细中获取缴库时间(假设取第一条明细的缴库时间) + + if (list_Detail != null && list_Detail.Count > 0) + { + // 假设明细中有StorageTime字段存储缴库时间 + if (list_Detail[0].StorageTime.HasValue) + { + storageTime = list_Detail[0].StorageTime.Value; + } + } + + // 2. 生成单据编号:当前年月日(yyyyMMdd) + 序号 + // 假设序号从1开始,实际应用中可能需要从数据库获取最大序号 + string datePart = DateTime.Now.ToString("yyyyMMdd"); + DateTime datePart1 = DateTime.Now; + + int sequence = _FjhsRecycleTaskHeadService.GetMaxSequenceByDate(datePart1); // 这里可以根据实际情况从数据库获取最新序号 + + var usr = username; //创建人 + var city = _sysUserService.SelectUser(username).City; //归属地 + + // 3. 创建主表数据并设置相关字段 + var headDto = new FjhsRecycleTaskHeadDto + { + DocNumber = $"FJ{datePart}{sequence:D4}", // 格式如:202508250001 + CurrentProcessStatus = "0", // 当前流程状态 0 表示生成单据 + CurrentExpectedStatus = "1", // 当前逾期状态 1表示正常 + StorageTime = storageTime, // 缴库时间 + CreateTime = DateTime.Now, + Creator = username, //创建人 + + BelongArea = city, //归属地 + + }; + list.Add(headDto); + + // 4 处理明细数据,可以在这里为明细设置关联的单据编号 + + foreach (var detail in list_Detail) + { + detail.DocNumber = headDto.DocNumber; // 关联主表单据编号 + detail.CreateTime = DateTime.Now; + detail.Creator = username;//创建人 + } + + + + var result1 = SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + + // 导入明细数据 + var result_Detail = SUCCESS(_FfjhsRecycleTaskDetailService.ImportFjhsRecycleTaskDetail(list_Detail.Adapt>())); + + + // 导入主表数据 + return result1; + + } + catch (Exception ex) + { + var result = ex.Message; + + + throw; + } + + + + + + } + + + + + + + /// + /// 回收任务主表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收任务主表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskHead"); + return ExportExcel(result.Item2, result.Item1); + } + + + // 新增请求模型类(用于接收前端传递的参数) + public class GenerateSampleRequest + { + // 字段名要与前端传递的JSON键名一致 + public List TaskIds { get; set; } + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs new file mode 100644 index 00000000..5596e1c3 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs @@ -0,0 +1,571 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.FjhsRecycleSampling.Dto; +using ZR.Model.FjhsRecycleSampling; +using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +using ZR.Model.FjhsRecycle.Dto; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; +using ZR.Service.FjhsRecycle; +using ZR.Model.FjhsRecycle; +using ZR.Service.FjhsDetail.IFjhsDetailService; +using ZR.Service.FjhsDetail; +using ZR.Model.FjhsDetail; +using ZR.Model.FjhsDetail.Dto; +using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +using SqlSugar; + +//创建时间:2025-08-31 +namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling +{ + /// + /// 堪样任务 + /// + [Verify] + [Route("FjhsRecycleSampling/FjhsRecycleSamplingDetail")] + public class FjhsRecycleSamplingDetailController : BaseController + { + /// + /// 堪样任务接口 + /// + private readonly IFjhsRecycleSamplingDetailService _FjhsRecycleSamplingDetailService; + + private readonly IFjhsRecycleTaskDetailService _FfjhsRecycleTaskDetailService; + + private readonly IFjhsRecycleTaskHeadService _FjhsRecycleTaskHeadService; + + private readonly IFjhsRecycleDetailService _FjhsRecycleDetailService; + + public FjhsRecycleSamplingDetailController(IFjhsRecycleSamplingDetailService FjhsRecycleSamplingDetailService, IFjhsRecycleTaskDetailService FfjhsRecycleTaskDetailService , IFjhsRecycleTaskHeadService FjhsRecycleTaskHeadService, IFjhsRecycleDetailService FjhsRecycleDetailService) + { + _FjhsRecycleSamplingDetailService = FjhsRecycleSamplingDetailService; + _FfjhsRecycleTaskDetailService = FfjhsRecycleTaskDetailService; + _FjhsRecycleTaskHeadService = FjhsRecycleTaskHeadService; + _FjhsRecycleDetailService = FjhsRecycleDetailService; + } + + /// + /// 查询堪样任务列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:list")] + public IActionResult QueryFjhsRecycleSamplingDetail([FromQuery] FjhsRecycleSamplingDetailQueryDto parm) + { + var response = _FjhsRecycleSamplingDetailService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询堪样任务详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:query")] + public IActionResult GetFjhsRecycleSamplingDetail(int Id) + { + var response = _FjhsRecycleSamplingDetailService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + + + + + + // 新增:获取回收任务的物料详情列表 + /// + /// 查询回收任务关联的物料详情 + /// + /// 回收任务主表ID(关联查询条件) + /// 物料详情列表 + [HttpGet("material/{taskId}")] // 路由匹配前端的 "material/{taskId}" + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:query")] // 复用主表的查询权限 + public IActionResult GetFjhsRecycleTaskMaterial(int taskId) + { + // 1. 调用服务层获取物料详情(根据实际业务调整方法名) + //var materialList = _FfjhsRecycleTaskDetailService.GetInfo(taskId); + var materialList = _FjhsRecycleSamplingDetailService.GetInfo(taskId); + + // 2. 转换为DTO(若有物料详情的DTO) + //var materialDtos = materialList.Adapt>(); + + var materialDtos = materialList.Adapt(); + + // 3. 返回统一格式的成功响应(与主表接口保持一致) + return SUCCESS(materialDtos); + } + + + + /// + /// 添加堪样任务 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "堪样任务", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleSamplingDetail([FromBody] FjhsRecycleSamplingDetailDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + return SUCCESS(response); + } + + + + // 新增DTO类(通常放在Models/Dtos目录) + public class GenerateMergeTaskDto + { + // 与前端传递的参数名保持一致(taskIds) + public List TaskIds { get; set; } + + public string CurrentUser { get; set; } + } + + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + /// + /// 生成合并回收任务 + /// + /// + /// + + //[HttpPost] + [HttpPost("generateMergeTask")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "生成合并回收任务", BusinessType = BusinessType.INSERT)] + // public IActionResult generateMergeTask([FromBody] FjhsRecycleSamplingDetailDto parm) + + public IActionResult generateMergeTask([FromBody] GenerateMergeTaskDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + + + //var response = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + + //return SUCCESS(response); + + + + + try + { + + // 转换为实体并设置更新信息 + + string HBDH = ""; + + // 调用服务更新 + + foreach (var SelectId in parm.TaskIds) + { + + FjhsRecycleSamplingDetailDto reulte = _FjhsRecycleSamplingDetailService.GetInfo(int.Parse(SelectId.ToString())).First(); + + + if (string.IsNullOrEmpty(HBDH)) + { + HBDH = "HBDH_" + reulte.DocNumber + "_" + parm.TaskIds.Count;//合并单号} + } + + foreach (materialDetailsList item in reulte.materialDetails) + { + + + var modalTask = new FjhsRecycleDetailDto() + { + MaterialName = item.MaterialName, + AssetName = item.AssetName, + AssetCardNumber = item.AssetCardNumber, + Specification = item.Specification, + UnitCard = item.UnitCard, + ExpectedRecycleQty = item.ApprovedQuantity, + DocNumber = item.DocNumber, + HBDocNumber = HBDH + + }; + + var HSDate = modalTask.Adapt().ToCreate(HttpContext); + + var AddSuccess = _FjhsRecycleDetailService.AddFjhsRecycleDetail(HSDate); + + + + } + + + + + + + + + + FjhsRecycleTaskHeadDto resql = new FjhsRecycleTaskHeadDto() { + Id = int.Parse(SelectId.ToString()), + Updater = parm.CurrentUser, + UpdateTime = new DateTime(), + CurrentProcessStatus = "1" // 1表示设置状态为待回收搬运 + + + }; + + + var main = resql.Adapt() + .ToUpdate(HttpContext); + + var m2 = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + } + + + + + //// 所有更新成功 + return Ok($"合并回收搬运任务成功"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + + + + + + } + + + + + + + + /// + /// 添加生成回收任务 + /// + /// + /// + + //[HttpPost] + [HttpPost("submitAndGenerateRecycle")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "堪样任务", BusinessType = BusinessType.INSERT)] + public IActionResult submitAndGenerateRecycle([FromBody] FjhsRecycleSamplingDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + + + //var response = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + + //return SUCCESS(response); + + + + + try + { + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + + + // 转换为实体并设置更新信息 + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + + foreach (materialDetailsList item in parm.materialDetails) + { + var modalTask = new FjhsRecycleDetailDto() + { + MaterialName = item.MaterialName, + AssetName = item.AssetName, + AssetCardNumber = item.AssetCardNumber, + Specification = item.Specification, + UnitCard = item.UnitCard, + ExpectedRecycleQty = item.ApprovedQuantity, + DocNumber = item.DocNumber, + + }; + + var HSDate = modalTask.Adapt().ToCreate(HttpContext); + + var AddSuccess = _FjhsRecycleDetailService.AddFjhsRecycleDetail(HSDate); + + + // 处理单个更新失败的情况 + //if (AddSuccess.) + //{ + // return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + //} + } + + + + // 所有更新成功 + return Ok($"添加成功 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + + + + + + } + + + /// + /// 更新堪样任务 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:edit")] + [Log(Title = "堪样任务", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleSamplingDetail([FromBody] FjhsRecycleSamplingDetailDto parm) + { + + + //var modal = parm.materialDetails.Adapt().ToUpdate(HttpContext); + //var response = _FjhsRecycleSamplingDetailService.UpdateFjhsRecycleSamplingDetail(modal); + + //return ToResponse(response); + + + // 基础参数验证 + if (parm == null) + { + return BadRequest("参数不能为空"); + } + + if (parm.materialDetails == null || !parm.materialDetails.Any()) + { + return BadRequest("没有需要更新的材料详情数据"); + } + + try + { + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + + + + // 转换为实体并设置更新信息 + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + + foreach (var item in parm.materialDetails) + { + // 单个项目验证 + if (item == null /*|| item.Id <= 0*/) // 假设Id是必须的标识字段 + { + return BadRequest("存在无效的材料详情记录"); + } + + + + + + + // 转换为实体并设置更新信息 + var modal = item.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + var updateSuccess = _FjhsRecycleSamplingDetailService + .UpdateFjhsRecycleSamplingDetail(modal); + + // 处理单个更新失败的情况 + if (updateSuccess <=0 ) + { + return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + } + } + + + + // 所有更新成功 + return Ok($"成功更新 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + // 直接返回异常信息(生产环境建议只返回通用信息) + return StatusCode(500, $"系统异常:{ex.Message}"); + } + + } + + /// + /// 删除堪样任务 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:delete")] + [Log(Title = "堪样任务", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleSamplingDetail([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_FjhsRecycleSamplingDetailService.Delete(idArr)); + } + + /// + /// 导出堪样任务 + /// + /// + [Log(Title = "堪样任务", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:export")] + public IActionResult Export([FromQuery] FjhsRecycleSamplingDetailQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _FjhsRecycleSamplingDetailService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "堪样任务", "堪样任务"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空堪样任务 + /// + /// + [Log(Title = "堪样任务", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_FjhsRecycleSamplingDetailService.TruncateFjhsRecycleSamplingDetail()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "堪样任务导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_FjhsRecycleSamplingDetailService.ImportFjhsRecycleSamplingDetail(list.Adapt>())); + } + + /// + /// 堪样任务导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "堪样任务模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleSamplingDetail"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs new file mode 100644 index 00000000..6ec2f64f --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs @@ -0,0 +1,145 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.FjhsDetail.Dto; +using ZR.Model.FjhsDetail; + +namespace ZR.Admin.WebApi.Controllers.Photo +{ + + [ApiController] + [Route("api/[controller]")] + public class PhotoController : BaseController + { + + ///// + ///// 拍照 + ///// + ///// + //[HttpPost] + //[ActionPermissionFilter(Permission = "Photo:add")] + //[Log(Title = "拍照", BusinessType = BusinessType.INSERT)] + //public IActionResult uploadPhotos([FromBody] FjhsRecycleDetailDto parm) + //{ + // var successCount = 0; + // var errorMessages = new System.Collections.Generic.List(); + + // if (Request.Files.Count == 0) + // return Json(new { success = false, error = "未接收到文件" }); + + // // 创建上传目录 + // var uploadPath = Server.MapPath("~/Uploads/Photos/"); + // if (!Directory.Exists(uploadPath)) + // Directory.CreateDirectory(uploadPath); + + // // 处理每个文件 + // foreach (string fileKey in Request.Files) + // { + // var file = Request.Files[fileKey]; + // if (file == null || file.ContentLength == 0) + // continue; + + // // 验证文件类型 + // var allowedTypes = new[] { "image/jpeg", "image/png" }; + // if (!allowedTypes.Contains(file.ContentType)) + // { + // errorMessages.Add($"{file.FileName}: 格式不支持"); + // continue; + // } + + // // 验证文件大小 + // if (file.ContentLength > 5 * 1024 * 1024) // 5MB + // { + // errorMessages.Add($"{file.FileName}: 超过大小限制"); + // continue; + // } + + // // 保存文件 + // try + // { + // var fileName = $"photo_{DateTime.Now:yyyyMMddHHmmssfff}_{successCount}.jpg"; + // var filePath = Path.Combine(uploadPath, fileName); + // file.SaveAs(filePath); + // successCount++; + // } + // catch (Exception ex) + // { + // errorMessages.Add($"{file.FileName}: 保存失败 - {ex.Message}"); + // } + // } + + // return Json(new + // { + // success = successCount > 0, + // successCount = successCount, + // errors = errorMessages + // }); + + + //} + + + + private readonly string _uploadPath; + + public PhotoController() + { + _uploadPath = Path.Combine(Directory.GetCurrentDirectory(), "Uploads", "Photos"); + if (!Directory.Exists(_uploadPath)) + { + Directory.CreateDirectory(_uploadPath); + } + } + + [HttpPost("upload")] + public async Task Upload(IFormFileCollection photos) + { + if (photos == null || photos.Count == 0) + { + return BadRequest(new { success = false, error = "未接收到文件" }); + } + + var allowedTypes = new[] { "image/jpeg", "image/png" }; + var maxSize = 5 * 1024 * 1024; // 5MB + var successCount = 0; + var errors = new List(); + + foreach (var photo in photos) + { + if (!allowedTypes.Contains(photo.ContentType)) + { + errors.Add($"{photo.FileName}: 格式不支持"); + continue; + } + + if (photo.Length > maxSize) + { + errors.Add($"{photo.FileName}: 超过大小限制"); + continue; + } + + var fileName = $"photo_{DateTime.Now:yyyyMMddHHmmssfff}_{successCount}{Path.GetExtension(photo.FileName)}"; + var filePath = Path.Combine(_uploadPath, fileName); + + using (var stream = new FileStream(filePath, FileMode.Create)) + { + await photo.CopyToAsync(stream); + } + + successCount++; + } + + return Ok(new { success = successCount > 0, successCount, errors }); + } + + + } + + + public class UploadResult + { + public bool Success { get; set; } + public int SuccessCount { get; set; } + public List Errors { get; set; } = new List(); + } + + +} diff --git a/ZR.Admin.WebApi/Program.cs b/ZR.Admin.WebApi/Program.cs index 9e331d8a..32386aee 100644 --- a/ZR.Admin.WebApi/Program.cs +++ b/ZR.Admin.WebApi/Program.cs @@ -53,6 +53,14 @@ builder.Services.AddTaskSchedulers(); //请求大小限制 builder.Services.AddRequestLimit(builder.Configuration); + +// 添加JSON序列化配置:支持大小写不敏感 +builder.Services.AddControllers() + .AddJsonOptions(options => + { + options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; // 关键配置 + }); + //注册REDIS 服务 var openRedis = builder.Configuration["RedisServer:open"]; if (openRedis == "1") diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 0fb7da2f..df82d70f 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -19,6 +19,7 @@ + diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/FjhsRecycleTaskHead.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/FjhsRecycleTaskHead.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..da2ac8d503d24db5ecd086938c612bb8dd095d73 GIT binary patch literal 4775 zcmZ`-2RNJi7miUY#HLDZEk%vmYEw!Pdv7r+LQ%WrQW}xgre@Wwy}4HHJ%YBxrmCq; zwMJ|FqwRCszuTMd`SN{vPR^UW=XZYZIp+gw;NjB%07OIp`#aQTSv4F>Z2$m(7Y6_U zVy{*n5U8iX^|N;*N(k1$N)xH9$ETZH`w`aR=|>U#NhmlZ^+&UeC+J8RqDD-PaW=($hxPE=US!HDEt=#wC9Q)?-$? z1He-*apvgqjoSZY%%ZjJmlyMOGg%}cxAS!g2BUQ4_X9l#(QMG2c2_yEx2--$*D z-tv7BB7MK4us(src`=4JonuWaEkgI-!NB5=_LMV$pPLdjeNXqlQ7ozR>nDDmrTZgU{h)RKi>rhxmEl(-Z zIZr323NfzC(ie`X{Sc-vD)d#YPX0|pda@j8{4@dOR?#Ut20pgy`+Rw=6ZV=@jTlegqlw1Ixljx! zoEdJDMn2O_8ex<6*l3Qz?j@CHx8&-4nIV~GMKqhtHcr{ytv(IFQhvC)iedIng=%vs zKfmO_zQ>v=n#<}d6c-xDjzr?7ogSuim59g< zz26;KH(?o*%}%qL^7gkNt!FVr)yi8~-9)jixvsgFA$Lz|fVq~enjJ=4Nnb(=C9CIY zq69+>%)FXE)2V}=g;_WyiPj8F@C53QjSPBG|0NK5TiP}Jawo)F$rD^?oT109s`R`j zbGrTU;iarmd=5hAM=|_6bX^xY$omc}$#iG%yrR>FZ^$EL*uOPIaAIb~ls5-iRP7H* zvZg9WBzvT+G9j0bNGJ;_GlR`a9rWQ45|c zu+sNw_vzO42bB-o_JSnJ#a?V)MKROIN9EfHjMgWI$C4Bhof;(*@y;cF-F}W}xxrJL zxb&*84cRRDx2yDa5Q&0|m%)BRdG=okN7{SqgxEdwZ>6|U8`Ip6-DMQmU3T%uF7t8o zaPf44K)gJ$qJg~#ovB4ylAHGQt&6QK{VQ{!p5ZwZHigB-jAnJ-*{8KW-SrejwE~so zv0rHQXB!f3W%3_qE8eInq*w)Bw9}lx9~X$LiZcofTZLK~<#-~F`%%kBjhLN7dbx(U zxyIyOvT0mi^p`vDoG6}PSX-Ye^ygLOv_VW6QbRC~j+eTm?z#CHAbFh7iA%H=WQIH? zw6t9}3en@u_jEh7I%=LSTYz&AzXTU z$XcmJ7$=U=Lg54vuz9cVJQ$@GIk>F0*iK9e;l(!0*!0<4GKfFfhs=b z1oXtYoga27eD(8#iYFWu~6ZJ!OD?fblBaby$s+a`)?bhZp*oYfe}6 zqYgc;_F(ZK=&29E>2dqi8gz-w4asYxBqD3wRIeep_sMc(ioX{Q%!W51pE0W3>4&3K zDXE3uz2jC)ptM4=M8&6wom~ca%oj#7;PAIPG>nq@;Oa#iI5& z33;TYMW7l*bz(O^@Yg{_0E#fZgS+H(-LGYWxGvarGmS|`-VXaKCS<@*T$4Ln>zV1` z{kNPS$oI@V58jow96P$VER~h^QCTux_*OO%GW*5;pn++#WqQ}ljoQ4P%@JK@Ry?6; z4eL+ljynDOM&MD@`sBlCJDo!N^&b4&6V;m>55j9cGCXesxrUY(xY|Kt7#B(J1JV=XVS zC&!QdZ|`B_bJipX{OFHG%3elV_kc*Ye+cmm2 zbS+HZJm73uFu>sK`ZYJ&kTWxf7F764b90J>q)M68QlA;`EnuGE(Yo4N-pSh00;cLsXK0?tl$Y@Wf*V!` zt>%LM*!mn2bA77E5)sE*e+t?^gnp-jL@C_u5TuYFErL%@crbG&(ip&>wPPdlx<=&*th!?0V;>@MeG41fNeUfUe;B&KDC}t(R(=O7Q zObW8I3iZC4`sQsKT8hb<7qZn<=a-Ef@6|H*G*!Mq=b~)HLZclsk#?jy{qQR?rcKg^ z<1?*dBG<4;U*KTp@+vnMpANeA?`b^a4vqJE2^;Dcp&Zv<*U)#L_Rh^G^~hmK{ae3% zlcj3Au@+G*-Jk3Cn|}XT!Cxx=v)BF3{K7~PX;qoMqmFt-nkJ7u;|v~=A77+8#|s@( z4AkPiTD_t;naGHW&vO)}t>vLb_;Dh8AUGj<(z;9v-!=);I=3+W`Rn#0)}c>OI|pIk zD{aRTOgvL`!ULBOt%>ZBZ8bHYifjH(h^0*c?j*j8b*a?UFSVp!n=856yw;#<5yU8g z3z(@FOa~sT4h>K-HQW2BcW#iIquxFw*dvN7$w*Pig{99ZmetZwf~wk{`$c8;D9k^& z-15g&Pt5wTxs45jIo67;WM>WUSr}~H++5D87cyE?3%l51`)V_7DKhtT$2cqBdA%kx zllaReim~V<0$O(fBpp#t(824;)&F{G;*7?039-iK?w*AMf}Q*hzfx%mF=3zV19 z#N{VWDq?NRwGf7)8<|`r&2G}7a7(c$`Hx;fb@xY}PsN

=O|y9a$M7qg-0?@DS;RTq2^qehWn-0)D<{|hN*W4UJb&UofkBAtMVMfL$9+@9tU z*vD<5zElFYuin6Lt_=%)f231ocNeHAzFS(6-N@Qx@Q4UjdF!jS2_l&skAXq197in~ zLrc6%ut}-tG^*10n&`B^pGWj@04j>k{40l6#sdlE3(vh1W7;2Jv0BURi&6M0=UJ#g< zmA;=l#M9y|!>Z#o&N3{#jLI+a5 zp)8>7dfblO{LxZR&-AyCS@*?K6*!kFD0&XT_QAOm1Z#>nW#&kSm2VY;dDkdODgadU zOQTEd07yxdTA0(bj{10gu?3oCSwQWup{!I_{5Ru)%>IZ%g$&Zi`IVo0gKsYADmG-43D+Nyw58})>~K526i0vp4U(y<1@b}Bo+OmZ0?5GooMkU$S&7j`Ilgi^Vg^w$?<^2_9OfIhncKYW z^1AV*raoV8(`BC-V!f5UsM=Ufc(06o{u*IeG%A8kkA<^xK5LJe=&nBgajVef$GKes zN8|l-Ax)`mry}h@;I#Bd;Zu0VH;I+&y<(?poPDsNo#$d%*(r?0b$=Q0#1=)hT-bje zHf*vP-{zX0L)qjjXCj?6%P4;GPrBpa(wq&t|1s!em+ZIKZ(~1L + /// 回收明细表查询对象 + /// + public class FjhsRecycleDetailQueryDto : PagerInfo + { + //public string DocNumber { get; set; } + + public string AssetName { get; set; } + public string MaterialName { get; set; } + public string DocNumber { get; set; } + + public string demandUnit { get; set; } + + public string ContactPerson { get; set; } + + public string HBdocNumber { get; set; } + + + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public int Id { get; set; } + + + + + + } + + ///

+ /// 回收明细表输入输出对象 + /// + public class FjhsRecycleDetailDto + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string Id { get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + + [ExcelColumn(Name = "合并单据编号")] + [ExcelColumnName("合并单据编号")] + public string HBDocNumber { get; set; } + + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public string ExpectedRecycleQty { get; set; } + + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + + + + [ExcelColumnName("物料明细详情")] + public List materialDetails + { + get; set; + + + } + + + } + + + public class materialDetailsList + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string Id { get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string ApprovedQuantity { get; set; } + + + + [ExcelColumnName("实际回收数量")] + public string ActualRecycleQty { get; set; } + + + [ExcelColumnName("回收备注")] + public string Remarks { get; set; } + + + [ExcelColumnName("回收人")] + public string RecycleUser { get; set; } + + + //[ExcelColumnName("堪样时间")] + //public string SampleTimer { get; set; } + + [ExcelColumnName("回收时间")] + public DateTime? RecycleTime { get; set; } + + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + } + + + + public class FjhsRecycleDetailDtoList + { + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + [ExcelColumn(Name = "合并单据编号")] + [ExcelColumnName("合并单据编号")] + public string HBDocNumber { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + + [ExcelColumnName("物料明细详情")] + public List materialDetails { get; set; } + + } + + + + +} \ No newline at end of file diff --git a/ZR.Model/FjhsDetail/FjhsRecycleDetail.cs b/ZR.Model/FjhsDetail/FjhsRecycleDetail.cs new file mode 100644 index 00000000..c90be7fc --- /dev/null +++ b/ZR.Model/FjhsDetail/FjhsRecycleDetail.cs @@ -0,0 +1,145 @@ + +namespace ZR.Model.FjhsDetail +{ + /// + /// 回收明细表 + /// + [SugarTable("fjhs_recycle_detail")] + public class FjhsRecycleDetail + { + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用12 + /// + public string Backup12 { get; set; } + + /// + /// 备用11 + /// + public string Backup11 { get; set; } + + /// + /// 备用10 + /// + public string Backup10 { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 合并单号 + /// + [SugarColumn(ColumnName = "HBdoc_number")] + public string HBDocNumber { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 回收人 + /// + [SugarColumn(ColumnName = "recycle_user")] + public string RecycleUser { get; set; } + + /// + /// 回收时间(格式:YYYY-MM-DD HH:MM:SS) + /// + [SugarColumn(ColumnName = "recycle_time")] + public DateTime? RecycleTime { get; set; } + + /// + /// 实际回收数量 + /// + [SugarColumn(ColumnName = "actual_recycle_qty")] + public int? ActualRecycleQty { get; set; } + + /// + /// 预计回收数量 + /// + [SugarColumn(ColumnName = "expected_recycle_qty")] + public int? ExpectedRecycleQty { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs new file mode 100644 index 00000000..b06281ce --- /dev/null +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs @@ -0,0 +1,131 @@ + +namespace ZR.Model.FjhsRecycle.Dto +{ + /// + /// 回收任务明细表查询对象 + /// + public class FjhsRecycleTaskDetailQueryDto : PagerInfo + { + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + } + + /// + /// 回收任务明细表输入输出对象 + /// + public class FjhsRecycleTaskDetailDto + { + [ExcelColumn(Name = "实际回收数量")] + [ExcelColumnName("实际回收数量")] + public int? ActualRecycleQuantity { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + [ExcelColumnName("实际堪样数量")] + public string sampleQty { get; set; } + + + + [ExcelColumnName("堪样时间")] + public string sampleTime { get; set; } + + + [ExcelColumn(Name = "备用9")] + [ExcelColumnName("备用9")] + public string Backup9 { get; set; } + + [ExcelColumn(Name = "备用8")] + [ExcelColumnName("备用8")] + public string Backup8 { get; set; } + + [ExcelColumn(Name = "备用7")] + [ExcelColumnName("备用7")] + public string Backup7 { get; set; } + + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] + public string Backup6 { get; set; } + + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] + public string Backup5 { get; set; } + + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] + public string Backup4 { get; set; } + + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] + public string Backup3 { get; set; } + + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] + public string Backup2 { get; set; } + + [ExcelColumn(Name = "备用1")] + [ExcelColumnName("备用1")] + public string Backup1 { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + //[Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumn(Name = "物料名称")] + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "数量(核定)")] + [ExcelColumnName("数量(核定)")] + public int? ApprovedQuantity { get; set; } + + [ExcelColumn(Name = "计量单位(卡片)")] + [ExcelColumnName("计量单位(卡片)")] + public string UnitCard { get; set; } + + [ExcelColumn(Name = "规格程式")] + [ExcelColumnName("规格程式")] + public string Specification { get; set; } + + [ExcelColumn(Name = "资产卡片号")] + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + //[Required(ErrorMessage = "资产名称不能为空")] + [ExcelColumn(Name = "资产名称")] + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + //[Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + [ExcelColumn(Name = "单据编号(关联回收任务主表)")] + [ExcelColumnName("单据编号(关联回收任务主表)")] + public string DocNumber { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs new file mode 100644 index 00000000..38245391 --- /dev/null +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs @@ -0,0 +1,407 @@ + +namespace ZR.Model.FjhsRecycle.Dto +{ + /// + /// 回收任务主表查询对象 + /// + public class FjhsRecycleTaskHeadQueryDto : PagerInfo + { + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public string DocNumber { get; set; } + public int Id { get; set; } + } + + /// + /// 回收任务主表输入输出对象 + /// + public class FjhsRecycleTaskHeadDto + { + [ExcelColumn(Name = "车辆型号")] + [ExcelColumnName("车辆型号")] + public string VehicleModel { get; set; } + + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] + public string Backup6 { get; set; } + + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] + public string Backup5 { get; set; } + + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] + public string Backup4 { get; set; } + + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] + public string Backup3 { get; set; } + + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] + public string Backup2 { get; set; } + + [ExcelColumn(Name = "备用1")] + [ExcelColumnName("备用1")] + public string Backup1 { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + [ExcelColumnName("堪样数量")] + public string SampleQty { get; set; } + + [ExcelColumnName("堪样时间")] + public string SampleTime { get; set; } + + [ExcelColumnName("物料明细详情")] + public List materialDetails { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + } + + + public class materialDetailsList + { + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string approvedQuantity { get; set; } + + + } + + + + + + + + + /// + /// 回收任务主表输入输出对象 + /// + public class FjhsRecycleTaskHeadDtoSampling + { + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string demandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string contactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string contactPerson { get; set; } + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string isMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + [Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + [Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "堪样单据编号")] + [ExcelColumnName("堪样单据编号")] + public string sampleDocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? storageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + + + + [ExcelColumnName("物料堪样详情")] + public List sampleMaterialList { get; set; } + } + + +public class SampleMaterialList + +{ + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string approvedQuantity { get; set; } + + + [ExcelColumnName("实际堪样数量")] + public string sampleQty { get; set; } + + [ExcelColumnName("堪样备注")] + public string sampleRemark { get; set; } + + [ExcelColumnName("堪样人")] + public string sampler { get; set; } + + [ExcelColumnName("堪样时间")] + public string sampleTime { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + + + + } + + + +} + + diff --git a/ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs b/ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs new file mode 100644 index 00000000..2fd5312a --- /dev/null +++ b/ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs @@ -0,0 +1,135 @@ + +namespace ZR.Model.FjhsRecycle +{ + /// + /// 回收任务明细表 + /// + [SugarTable("fjhs_recycle_task_detail")] + public class FjhsRecycleTaskDetail + { + /// + /// 实际回收数量 + /// + [SugarColumn(ColumnName = "actual_recycle_quantity")] + public int? ActualRecycleQuantity { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 缴库时间 + /// + [SugarColumn(ColumnName = "storage_time")] + public DateTime? StorageTime { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + /// + /// 数量(核定) + /// + [SugarColumn(ColumnName = "approved_quantity")] + public int? ApprovedQuantity { get; set; } + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs b/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs new file mode 100644 index 00000000..93e555e8 --- /dev/null +++ b/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs @@ -0,0 +1,171 @@ + +namespace ZR.Model.FjhsRecycle +{ + /// + /// 回收任务主表 + /// + [SugarTable("fjhs_recycle_task_head")] + public class FjhsRecycleTaskHead + { + /// + /// 车辆型号 + /// + [SugarColumn(ColumnName = "vehicle_model")] + public string VehicleModel { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 局点 + /// + public string Site { get; set; } + + /// + /// 需求单位 + /// + [SugarColumn(ColumnName = "demand_unit")] + public string DemandUnit { get; set; } + + /// + /// 联系人电话 + /// + [SugarColumn(ColumnName = "contact_phone")] + public string ContactPhone { get; set; } + + /// + /// 联系人 + /// + [SugarColumn(ColumnName = "contact_person")] + public string ContactPerson { get; set; } + + /// + /// 配送经办人 + /// + [SugarColumn(ColumnName = "delivery_manager")] + public string DeliveryManager { get; set; } + + /// + /// 是否提交:0-未提交,1-已提交 + /// + [SugarColumn(ColumnName = "is_submitted")] + public string IsSubmitted { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 回收目的地 + /// + [SugarColumn(ColumnName = "recycle_destination")] + public string RecycleDestination { get; set; } + + /// + /// 编号 + /// + public string Number { get; set; } + + /// + /// 是否满足回收条件:0-否,1-是 + /// + [SugarColumn(ColumnName = "is_meet_recycle_condition")] + public string IsMeetRecycleCondition { get; set; } + + /// + /// 归属地 + /// + [SugarColumn(ColumnName = "belong_area")] + public string BelongArea { get; set; } + + /// + /// 当前预期状态 + /// + [SugarColumn(ColumnName = "current_expected_status")] + public string CurrentExpectedStatus { get; set; } + + /// + /// 当前流程状态 + /// + [SugarColumn(ColumnName = "current_process_status")] + public string CurrentProcessStatus { get; set; } + + /// + /// 修改人 + /// + public string Updater { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 修改时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 单据类型 + /// + [SugarColumn(ColumnName = "doc_type")] + public string DocType { get; set; } + + /// + /// 单据编号 + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + /// + /// 缴库时间(关联回收任务主表) + /// + [SugarColumn(ColumnName = "storage_time")] + public DateTime? StorageTime { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs b/ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs new file mode 100644 index 00000000..9b07b36e --- /dev/null +++ b/ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs @@ -0,0 +1,52 @@ + +namespace ZR.Model.FjhsRecycleImage.Dto +{ + /// + /// 回收任务明细图片表查询对象 + /// + public class FjhsRecycleTaskDetailImageQueryDto : PagerInfo + { + public string DocNumber { get; set; } + } + + /// + /// 回收任务明细图片表输入输出对象 + /// + public class FjhsRecycleTaskDetailImageDto + { + [Required(ErrorMessage = "自增主键ID不能为空")] + public int Id { get; set; } + + [Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + public string DocNumber { get; set; } + + public string Address { get; set; } + + [Required(ErrorMessage = "创建人不能为空")] + public string Creator { get; set; } + + [Required(ErrorMessage = "创建时间不能为空")] + public DateTime? CreateTime { get; set; } + + public string Status { get; set; } + + public string Remarks { get; set; } + + public string Backup1 { get; set; } + + public string Backup2 { get; set; } + + public string Backup3 { get; set; } + + public string Backup4 { get; set; } + + public string Backup5 { get; set; } + + public string Backup6 { get; set; } + + + + [ExcelColumn(Name = "图片状态(如:有效、无效、审核中)")] + public string StatusLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs b/ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs new file mode 100644 index 00000000..05e1d4d7 --- /dev/null +++ b/ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs @@ -0,0 +1,79 @@ + +namespace ZR.Model.FjhsRecycleImage +{ + /// + /// 回收任务明细图片表 + /// + [SugarTable("fjhs_recycle_task_detail_image")] + public class FjhsRecycleTaskDetailImage + { + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + /// + /// 图片地址(存储图片路径或URL) + /// + public string Address { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 图片状态(如:有效、无效、审核中) + /// + public string Status { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs new file mode 100644 index 00000000..61857ab2 --- /dev/null +++ b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs @@ -0,0 +1,341 @@ + +namespace ZR.Model.FjhsRecycleSampling.Dto +{ + /// + /// 堪样任务查询对象 + /// + public class FjhsRecycleSamplingDetailQueryDto : PagerInfo + { + public string AssetName { get; set; } + public string MaterialName { get; set; } + public string DocNumber { get; set; } + + public string demandUnit { get; set; } + + public string ContactPerson { get; set; } + + + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public int Id { get; set; } + + + + + } + + /// + /// 堪样任务输入输出对象 + /// + public class FjhsRecycleSamplingDetailDto + { + //[ExcelColumn(Name = "备用1")] + //[ExcelColumnName("备用1")] + //public string Backup1 { get; set; } + + //[ExcelColumn(Name = "备用12")] + //[ExcelColumnName("备用12")] + //public string Backup12 { get; set; } + + //[ExcelColumn(Name = "备用11")] + //[ExcelColumnName("备用11")] + //public string Backup11 { get; set; } + + //[ExcelColumn(Name = "备用10")] + //[ExcelColumnName("备用10")] + //public string Backup10 { get; set; } + + //[ExcelColumn(Name = "备用9")] + //[ExcelColumnName("备用9")] + //public string Backup9 { get; set; } + + //[ExcelColumn(Name = "备用8")] + //[ExcelColumnName("备用8")] + //public string Backup8 { get; set; } + + //[ExcelColumn(Name = "备用7")] + //[ExcelColumnName("备用7")] + //public string Backup7 { get; set; } + + //[ExcelColumn(Name = "备用6")] + //[ExcelColumnName("备用6")] + //public string Backup6 { get; set; } + + //[ExcelColumn(Name = "备用5")] + //[ExcelColumnName("备用5")] + //public string Backup5 { get; set; } + + //[ExcelColumn(Name = "备用4")] + //[ExcelColumnName("备用4")] + //public string Backup4 { get; set; } + + //[ExcelColumn(Name = "备用3")] + //[ExcelColumnName("备用3")] + //public string Backup3 { get; set; } + + //[ExcelColumn(Name = "备用2")] + //[ExcelColumnName("备用2")] + //public string Backup2 { get; set; } + + //[Required(ErrorMessage = "自增主键ID不能为空")] + //[ExcelColumn(Name = "自增主键ID")] + //[ExcelColumnName("自增主键ID")] + //public int Id { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + //[ExcelColumn(Name = "计量单位(卡片)")] + //[ExcelColumnName("计量单位(卡片)")] + //public string UnitCard { get; set; } + + //[ExcelColumn(Name = "规格程式")] + //[ExcelColumnName("规格程式")] + //public string Specification { get; set; } + + //[ExcelColumn(Name = "资产卡片号")] + //[ExcelColumnName("资产卡片号")] + //public string AssetCardNumber { get; set; } + + //[ExcelColumn(Name = "资产名称")] + //[ExcelColumnName("资产名称")] + //public string AssetName { get; set; } + + //[ExcelColumn(Name = "物料名称")] + //[ExcelColumnName("物料名称")] + //public string MaterialName { get; set; } + + //[Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + //[ExcelColumn(Name = "单据编号(关联回收任务主表)")] + //[ExcelColumnName("单据编号(关联回收任务主表)")] + //public string DocNumber { get; set; } + + + + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + + [ExcelColumnName("物料明细详情")] + public List materialDetails { get; set; } + + } + + + public class materialDetailsList + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string ID{ get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string ApprovedQuantity { get; set; } + + + + [ExcelColumnName("实际堪样数量")] + public string ActualSamplingQuantity { get; set; } + + + [ExcelColumnName("堪样备注")] + public string Remarks { get; set; } + + + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + + //[ExcelColumnName("堪样时间")] + //public string SampleTimer { get; set; } + + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + + + + + + + } + + + + + + + +} \ No newline at end of file diff --git a/ZR.Model/FjhsRecycleSampling/FjhsRecycleSamplingDetail.cs b/ZR.Model/FjhsRecycleSampling/FjhsRecycleSamplingDetail.cs new file mode 100644 index 00000000..cdf4d598 --- /dev/null +++ b/ZR.Model/FjhsRecycleSampling/FjhsRecycleSamplingDetail.cs @@ -0,0 +1,140 @@ + +namespace ZR.Model.FjhsRecycleSampling +{ + /// + /// 堪样任务 + /// + [SugarTable("fjhs_recycle_sampling_detail")] + public class FjhsRecycleSamplingDetail + { + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备用12 + /// + public string Backup12 { get; set; } + + /// + /// 备用11 + /// + public string Backup11 { get; set; } + + /// + /// 备用10 + /// + public string Backup10 { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int ID { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 堪样人 + /// + public string Sampler { get; set; } + + /// + /// 堪样时间 + /// + [SugarColumn(ColumnName = "sampling_time")] + public DateTime? SamplingTime { get; set; } + + /// + /// 实际堪样数量 + /// + [SugarColumn(ColumnName = "actual_sampling_quantity")] + public int? ActualSamplingQuantity { get; set; } + + /// + /// 预计回收数量 + /// + [SugarColumn(ColumnName = "estimated_recycle_quantity")] + public int? EstimatedRecycleQuantity { get; set; } + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index 476d945c..69cdd414 100644 --- a/ZR.Repository/BaseRepository.cs +++ b/ZR.Repository/BaseRepository.cs @@ -1,4 +1,4 @@ -using Infrastructure.Extensions; +using Infrastructure.Extensions; using Mapster; using SqlSugar; using SqlSugar.IOC; @@ -74,8 +74,27 @@ namespace ZR.Repository /// public int Update(T entity, bool ignoreNullColumns = false, object data = null) { - return Context.Updateable(entity).IgnoreColumns(ignoreNullColumns) + + try + { + var m1 = Context.Updateable(entity).IgnoreColumns(ignoreNullColumns) + .EnableDiffLogEventIF(data.IsNotEmpty(), data).ToSql(); + + var m = Context.Updateable(entity).IgnoreColumns(ignoreNullColumns) .EnableDiffLogEventIF(data.IsNotEmpty(), data).ExecuteCommand(); + return m; + + } + catch (Exception x) + { + + var y = x.Message; + + + + return 0; + } + } /// @@ -201,11 +220,30 @@ namespace ZR.Repository return Context.Queryable(); } + + + public List SqlQueryToList(string sql, object obj = null) { return Context.Ado.SqlQuery(sql, obj); } + // 改造为方法级泛型:TResult是调用时指定的返回类型 + public List SqlQueryToList_T(string sql, object parameters = null) where TResult : class, new() + { + // 调用SqlSugar的泛型查询方法,返回指定类型的列表 + return Context.Ado.SqlQuery(sql, parameters); + } + + // 补充:如果需要查询单个值(如总条数),也改造为方法级泛型 + public TResult SqlQuerySingle(string sql, object parameters = null) + { + return Context.Ado.SqlQuerySingle(sql, parameters); + } + + + + /// /// 根据主值查询单条数据 /// diff --git a/ZR.Repository/IBaseRepository.cs b/ZR.Repository/IBaseRepository.cs index c8cba010..c2af68b4 100644 --- a/ZR.Repository/IBaseRepository.cs +++ b/ZR.Repository/IBaseRepository.cs @@ -67,7 +67,10 @@ namespace ZR.Repository List SqlQueryToList(string sql, object obj = null); - T GetId(object pkValue); + List SqlQueryToList_T(string sql, object parameters = null) where T : class, new(); + + + T GetId(object pkValue); #endregion query diff --git a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs new file mode 100644 index 00000000..d0d6f855 --- /dev/null +++ b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs @@ -0,0 +1,527 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.FjhsDetail.Dto; +using ZR.Model.FjhsDetail; +using ZR.Repository; +using ZR.Service.FjhsDetail.IFjhsDetailService; +using ZR.Model.FjhsRecycleSampling.Dto; +using materialDetailsList = ZR.Model.FjhsDetail.Dto.materialDetailsList; + +namespace ZR.Service.FjhsDetail +{ + /// + /// 回收明细表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleDetailService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleDetailService : BaseService, IFjhsRecycleDetailService + { + /// + /// 查询回收明细表列表 + /// + /// + /// + public PagedInfo GetList(FjhsRecycleDetailQueryDto parm) + { + //var predicate = QueryExp(parm); + + //var response = Queryable() + // .Where(predicate.ToExpression()) + // .ToPage(parm); + + //return response; + + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + d.HBdoc_number AS HBDocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.expected_recycle_qty, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + fjhs_recycle_task_head h + JOIN + fjhs_recycle_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize}; "; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + fjhs_recycle_task_head h + JOIN + fjhs_recycle_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + + + } + + + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + // 示例8:按联系人查询 + if (!string.IsNullOrEmpty(parm.ContactPerson)) + { + string paramName = "@ContactPerson"; + whereConditions.Add($"h.contact_person = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.ContactPerson)); + } + + + + // 示例9:合并单号查询 + if (!string.IsNullOrEmpty(parm.HBdocNumber)) + { + string paramName = "@HBdocNumber"; + whereConditions.Add($"d.HBdoc_number = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.HBdocNumber)); + } + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + /// + /// 获取详情 + /// + /// + /// + //public FjhsRecycleDetail GetInfo(int Id) + + public List GetInfo(int Id) + { + + + + //var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + //return response; + + + + var parm = new FjhsRecycleDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + h.current_process_status AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '待定' + END AS IsMeetRecycleCondition, + -- 添加主表其他需要的字段 + h.creator AS Creator, + h.create_time AS CreateTime, + h.updater AS Updater + FROM + fjhs_recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_recycle_qty AS ActualRecycleQty, + d.expected_recycle_qty AS ApprovedQuantity, + d.remarks AS Remarks, + d.recycle_user AS RecycleUser, + d.recycle_time AS RecycleTime + FROM + fjhs_recycle_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM fjhs_recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + try + { + + // 执行主表查询 + // var mainList = SqlQueryToList_T(mainSql, parameters); + + var mainList = SqlQueryToList_T(mainSql, parameters); + + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + // 关联主表和明细表数据 + foreach (var mainItem in mainList) + { + // 为每个主表项分配对应的明细列表 + mainItem.materialDetails = detailList + // 假设通过DocNumber关联主表和明细表 + .Where(detail => detail.DocNumber == mainItem.DocNumber) + .ToList(); + + // 计算物料总数和种类数(从明细数据中统计) + if (mainItem.materialDetails != null && mainItem.materialDetails.Count > 0) + { + mainItem.totalNumber = mainItem.materialDetails + .Sum(d => d.ApprovedQuantity != null ? int.Parse(d.ApprovedQuantity) : 0); + + mainItem.materialType = mainItem.materialDetails + .Select(d => d.MaterialName) + .Distinct() + .Count(); + } + } + + + + + return mainList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + + } + + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + + + /// + /// 添加回收明细表 + /// + /// + /// + public FjhsRecycleDetail AddFjhsRecycleDetail(FjhsRecycleDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收明细表 + /// + /// + /// + public int UpdateFjhsRecycleDetail(FjhsRecycleDetail model) + { + return Update(model, true); + + } + + /// + /// 清空回收明细表 + /// + /// + public bool TruncateFjhsRecycleDetail() + { + var newTableName = $"fjhs_recycle_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("fjhs_recycle_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收明细表 + /// + /// + public (string, object, object) ImportFjhsRecycleDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收明细表 + /// + /// + /// + public PagedInfo ExportList(FjhsRecycleDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new FjhsRecycleDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(FjhsRecycleDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs new file mode 100644 index 00000000..3a76bd3c --- /dev/null +++ b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs @@ -0,0 +1,26 @@ +using ZR.Model.FjhsDetail.Dto; +using ZR.Model.FjhsDetail; + +namespace ZR.Service.FjhsDetail.IFjhsDetailService +{ + /// + /// 回收明细表service接口 + /// + public interface IFjhsRecycleDetailService : IBaseService + { + PagedInfo GetList(FjhsRecycleDetailQueryDto parm); + + // FjhsRecycleDetail GetInfo(int Id); + List GetInfo(int Id); + + + FjhsRecycleDetail AddFjhsRecycleDetail(FjhsRecycleDetail parm); + int UpdateFjhsRecycleDetail(FjhsRecycleDetail parm); + + bool TruncateFjhsRecycleDetail(); + + (string, object, object) ImportFjhsRecycleDetail(List list); + + PagedInfo ExportList(FjhsRecycleDetailQueryDto parm); + } +} diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs new file mode 100644 index 00000000..240738f1 --- /dev/null +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs @@ -0,0 +1,251 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.FjhsRecycle.Dto; +using ZR.Model.FjhsRecycle; +using ZR.Repository; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; + +namespace ZR.Service.FjhsRecycle +{ + /// + /// 回收任务明细表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskDetailService : BaseService, IFjhsRecycleTaskDetailService + { + /// + /// 查询回收任务明细表列表 + /// + /// + /// + public PagedInfo GetList(FjhsRecycleTaskDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + /// + /// 获取详情 + /// + /// + /// + public FjhsRecycleTaskDetailDto[] GetInfo(int Id) + { + //var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + + + var parm = new FjhsRecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + //string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.current_process_status AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNumber, + // d.specification AS specification, + // d.unit_card AS unitCard, + // d.approved_quantity approvedQuantity + // FROM + // fjhs_recycle_task_head h + // LEFT JOIN + // fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + // WHERE + // 1=1 {whereSql} "; + + + + string mainSql = $@" + SELECT + DISTINCT + + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNumber, + d.specification AS specification, + d.unit_card AS unitCard, + d.approved_quantity AS approvedQuantity, + s.actual_sampling_quantity AS sampleQty, + s.sampling_time AS sampleTime, + r.actual_recycle_qty AS ActualRecycleQty, + r.recycle_time as RecycleTime + FROM + + fjhs_recycle_task_detail d + + left JOIN + fjhs_recycle_task_head h + ON h.doc_number = d.doc_number + + left JOIN fjhs_recycle_sampling_detail s + ON s.doc_number = d.doc_number AND d.material_name = s.material_name + + LEFT JOIN fjhs_recycle_detail r ON r.doc_number = h.doc_number + + WHERE + 1=1 {whereSql} "; + + + + + + + var response = SqlQueryToList_T(mainSql, parameters).ToArray(); + + + + + return response; + } + + /// + /// 添加回收任务明细表 + /// + /// + /// + public FjhsRecycleTaskDetail AddFjhsRecycleTaskDetail(FjhsRecycleTaskDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务明细表 + /// + /// + /// + public int UpdateFjhsRecycleTaskDetail(FjhsRecycleTaskDetail model) + { + return Update(model, true); + + + } + + /// + /// 清空回收任务明细表 + /// + /// + public bool TruncateFjhsRecycleTaskDetail() + { + var newTableName = $"fjhs_recycle_task_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("fjhs_recycle_task_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务明细表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + .SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + .SplitError(x => x.Item.AssetName.IsEmpty(), "资产名称不能为空") + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务明细表 + /// + /// + /// + public PagedInfo ExportList(FjhsRecycleTaskDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new FjhsRecycleTaskDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(FjhsRecycleTaskDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginStorageTime == null, it => it.StorageTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginStorageTime != null, it => it.StorageTime >= parm.BeginStorageTime); + predicate = predicate.AndIF(parm.EndStorageTime != null, it => it.StorageTime <= parm.EndStorageTime); + return predicate; + } + + + + + } +} \ No newline at end of file diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs new file mode 100644 index 00000000..88532bcb --- /dev/null +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -0,0 +1,868 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.FjhsRecycle.Dto; +using ZR.Model.FjhsRecycle; +using ZR.Repository; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; +using ZR.Model.Knowledge; +using ZR.Model.Knowledge.Dto; +using SqlSugar; +using System; +using System.Linq; +using System.Collections.Generic; +using Azure; +using Aliyun.OSS; + +namespace ZR.Service.FjhsRecycle +{ + /// + /// 回收任务主表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskHeadService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskHeadService : BaseService, IFjhsRecycleTaskHeadService + { + /// + /// 查询回收任务主表列表 + /// + /// + /// + public PagedInfo GetList(FjhsRecycleTaskHeadQueryDto parm) + { + //var predicate = QueryExp(parm); + + // var response = Queryable() + // .LeftJoin((raw, req) => raw.DocNumber == req.DocNumber) // 左连接条件 + + + // .Where(predicate.ToExpression()) + + ////.Select((raw, req) => new FjhsRecycleTaskHeadDto + ////{ + + //// materialType = req.MaterialName, + //// totalNumber =req.ApprovedQuantity, + + //// DocNumber = raw.DocNumber, + + //// DemandUnit = raw.DemandUnit, + //// Site = raw.Site, + //// StorageTime = req.StorageTime, + //// UpdateTime = raw.UpdateTime, + //// CurrentProcessStatus =raw.CurrentProcessStatus, + //// CurrentExpectedStatus =raw.CurrentExpectedStatus, + //// ContactPhone =raw.ContactPhone, + //// ContactPerson =raw.ContactPerson, + + + ////}) + + //// 按主表唯一标识分组(确保每个主表记录对应一组明细) + // .GroupBy(g => g.Head.DocNumber) + // // 分组后聚合统计 + // .Select(g => new FjhsRecycleTaskHeadDto + // { + // // 主表字段直接从分组的Head中取(因分组键是DocNumber,组内Head信息一致) + // DocNumber = g.First().Head.DocNumber, + // DemandUnit = g.First().Head.DemandUnit, + // Site = g.First().Head.Site, + // UpdateTime = g.First().Head.UpdateTime, + // CurrentProcessStatus = g.First().Head.CurrentProcessStatus, + // CurrentExpectedStatus = g.First().Head.CurrentExpectedStatus, + // ContactPhone = g.First().Head.ContactPhone, + // ContactPerson = g.First().Head.ContactPerson, + // StorageTime = g.First().Detail.StorageTime, // 若StorageTime需取明细的,这里取第一个(或根据业务调整) + + // // 统计:ApprovedQuantity的总和(处理可能的null,默认0) + // totalNumber = g.Sum(item => item.Detail.ApprovedQuantity ?? 0), + + // // 统计:MaterialName去重后的个数(过滤null值后去重计数) + // materialType = g + // .Select(item => item.Detail.MaterialName) + // .Where(name => !string.IsNullOrEmpty(name)) // 排除null或空字符串 + // .Distinct() + // .Count() + // }) + + // .ToPage(parm); + + //var sql = "SELECT h.doc_number, h.demand_unit, h.site, h.update_time, h.current_process_status, h.current_expected_status, h.contact_phone, h.contact_person, MIN(d.storage_time) AS StorageTime, SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' THEN d.material_name END) AS materialType FROM fjhs_recycle_task_head h LEFT JOIN fjhs_recycle_task_detail d ON h.doc_number = d.doc_number WHERE 1=1 GROUP BY h.doc_number, h.demand_unit ORDER BY h.update_time DESC "; + + //var list = SqlQueryToList(sql, null); + //var response = list.ToList(); + + + // // 4. 手动分页(计算总条数、当前页数据) + // int pageIndex = Math.Max(parm.PageNum, 1); // 页码校正(至少为1) + //int pageSize = Math.Max(parm.PageSize, 10); // 页大小校正(默认10条) + //int totalCount = response.Count; + //var pageData = response + // .Skip((pageIndex - 1) * pageSize) // 跳过前N条 + // .Take(pageSize) // 取当前页数据 + // .ToList(); + + //// 5. 返回分页结果 + //return new PagedInfo + //{ + // TotalNum = totalCount, + // Result = pageData, + // PageIndex = pageIndex, + // PageSize = pageSize + //}; + + + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + fjhs_recycle_task_head h + LEFT JOIN + fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize};"; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + fjhs_recycle_task_head h + LEFT JOIN + fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto + //{ + // DocNumber = g.DocNumber, + // DemandUnit = g.DemandUnit, + // Site = g.Site, + // UpdateTime = g.UpdateTime, + // CurrentProcessStatus = g.CurrentProcessStatus, + // CurrentExpectedStatus = g.CurrentExpectedStatus, + // ContactPhone = g.ContactPhone, + // ContactPerson = g.ContactPerson, + // StorageTime = g.StorageTime, + + // materialType = g.materialType, + // totalNumber = g.totalNumber + //} + + + //); + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + } + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + /// + /// 获取详情 + /// + /// + /// 表示查询结果是1条还是多条,more =true表示多条 + /// + //public FjhsRecycleTaskHead GetInfo(int Id) + //{ + // var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + // return response; + //} + + + public List GetInfo(int Id) + { + var parm = new FjhsRecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + h.current_process_status AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '具备' + END AS IsMeetRecycleCondition, + + r.actual_recycle_qty AS actualRecycleQty, + r.recycle_time as recycleTime, + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNo, + d.specification AS specification, + d.unit_card AS unit, + s.actual_sampling_quantity AS sampleQty, + s.remarks AS sampleRemark , + s.sampler AS sampler, + s.sampling_time AS sampleTime, + d.approved_quantity AS expectedRecycleQty, + SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + fjhs_recycle_task_head h + LEFT JOIN + fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + + LEFT JOIN + fjhs_recycle_sampling_detail s ON h.doc_number = s.doc_number + + LEFT JOIN + fjhs_recycle_detail r ON r.doc_number =h.doc_number + WHERE + 1=1 {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person"; + + + + + try + { + var response = SqlQueryToList_T(mainSql, parameters); + + + return response; + + } + catch (Exception EX) + { + var result =EX.Message; + throw; + } + + + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + public List Getlist(int Id) + { + var parm = new FjhsRecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + string mainSql = $@" + SELECT + h.id AS Id, + h.doc_number AS DocNumber , + h.site AS Site, + h.demand_unit AS DemandUnit , + h.contact_person AS ContactPerson, + h.contact_phone as ContactPhone, + b.material_name as materialName, + b.asset_name AS assetName, + b.asset_card_number AS assetCardNo, + b.specification AS specification , + b.unit_card as unit, + b.approved_quantity AS expectedRecycleQty + FROM fjhs_recycle_task_head h + LEFT JOIN fjhs_recycle_task_detail b + + ON h.doc_number = b.doc_number + WHERE + 1=1 {whereSql} "; + + + + + + + var response = SqlQueryToList_T(mainSql, parameters); + + return response; + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + /// + /// 添加回收任务主表 + /// + /// + /// + public FjhsRecycleTaskHead AddFjhsRecycleTaskHead(FjhsRecycleTaskHead model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务主表 + /// + /// + /// + public int UpdateFjhsRecycleTaskHead(FjhsRecycleTaskHead model) + { + return Update(model, true); + + } + + + /// + /// 取消回收任务主表 + /// + /// + /// + public int CanceFjhsRecycleTaskHead(int[] ids) + { + + // 1. 参数校验:避免空数组/空引用导致的SQL错误 + if (ids == null || ids.Length == 0) + { + throw new ArgumentNullException(nameof(ids), "取消任务的ID数组不能为空!"); + } + + // 2. 调用BaseRepository的【条件批量更新】重载,高效修改状态 + // 核心逻辑:where条件筛选出“ID在ids数组中的任务”,columns指定“将CurrentProcessStatus设为‘取消任务’” + int affectedRows = Update( + where: t => ids.Contains(t.Id), // where条件:任务ID在传入的ids数组中(需确保实体主键是Id) + columns: t => new FjhsRecycleTaskHead // 更新内容:仅修改状态字段 + { + // 关键:赋值实体属性(需与FjhsRecycleTaskHead类的属性名完全一致!) + // 若数据库字段是current_process_status,实体类属性通常是CurrentProcessStatus(PascalCase命名规范) + CurrentProcessStatus = "99", // 取消任务 99 + UpdateTime = DateTime.Now, + } + ); + + // 3. 返回受影响行数(前端可通过此判断是否更新成功) + return affectedRows; + + } + + + + + /// + /// 清空回收任务主表 + /// + /// + public bool TruncateFjhsRecycleTaskHead() + { + var newTableName = $"fjhs_recycle_task_head_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("fjhs_recycle_task_head", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务主表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskHead(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.SplitError(x => x.Item.IsMeetRecycleCondition.IsEmpty(), "是否满足回收条件:0-否,1-是不能为空") + //.SplitError(x => x.Item.CurrentProcessStatus.IsEmpty(), "当前流程状态不能为空") + //.SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + //.SplitError(x => x.Item.UpdateTime.IsEmpty(), "修改时间不能为空") + //.SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + //.SplitError(x => x.Item.DocType.IsEmpty(), "单据类型不能为空") + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务主表 + /// + /// + /// + public PagedInfo ExportList(FjhsRecycleTaskHeadQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new FjhsRecycleTaskHeadDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(FjhsRecycleTaskHeadQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Site), it => it.Site.Contains(parm.Site)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DemandUnit), it => it.DemandUnit.Contains(parm.DemandUnit)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CurrentExpectedStatus), it => it.CurrentExpectedStatus == parm.CurrentExpectedStatus); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CurrentProcessStatus), it => it.CurrentProcessStatus == parm.CurrentProcessStatus); + //predicate = predicate.AndIF(parm.BeginUpdateTime == null, it => it.UpdateTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginUpdateTime != null, it => it.UpdateTime >= parm.BeginUpdateTime); + predicate = predicate.AndIF(parm.EndUpdateTime != null, it => it.UpdateTime <= parm.EndUpdateTime); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + + + /// + /// 获取当天最大单据序号 + /// + /// 当前日期 + /// 序号(从1开始递增) + public int GetMaxSequenceByDate(DateTime date) + { + // 1. 定义日期前缀(与单据编号格式保持一致:yyyyMMdd) + string datePrefix =$"FJ{date.ToString("yyyyMMdd")}" ; + + // 2. 关键:先查询当天所有单据编号到内存(ToList()),避免表达式树限制 + // 注意:需明确指定主表实体(FjhsRecycleTaskHead),因为DocNumber是主表字段 + // 若当前服务是DetailService,建议将此方法移到FjhsRecycleTaskHeadService(符合单一职责) + var todayDocNumbers = Queryable() + .Where(h => h.DocNumber.StartsWith(datePrefix)) // 筛选当天单据 + .Select(h => h.DocNumber) // 只查单据编号,减少数据传输 + .ToList(); // 加载到内存,后续用LINQ to Objects处理 + + // 3. 处理空集合:无当天记录时直接返回1 + if (todayDocNumbers == null || !todayDocNumbers.Any()) + { + return 1; + } + + // 4. 在内存中提取序号并找最大值(支持语句体和out参数) + int maxSeq = 0; + foreach (var docNumber in todayDocNumbers) + { + // 校验单据编号格式(确保长度足够,避免截取异常) + if (string.IsNullOrWhiteSpace(docNumber) || docNumber.Length <= 8) + { + continue; // 跳过格式错误的单据编号 + } + + // 提取序号部分(截取yyyyMMdd后的字符,如"202508250001"截取后4位为"0001") + string seqStr = docNumber.Substring(10); + if (int.TryParse(seqStr, out int currentSeq) && currentSeq > maxSeq) + { + maxSeq = currentSeq; // 更新最大序号 + } + } + + // 5. 最大序号+1,确保下一个序号递增 + return maxSeq + 1; + } + + + // public List getFjhsRecycleSampleList(int Id) + // { + // var parm = new FjhsRecycleTaskHeadQueryDto(); + // parm.Id = Id; + + // var (whereSql, parameters) = GetWhereSqlID(parm); + + // string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.current_process_status AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // CASE + // WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + // WHEN h.is_meet_recycle_condition = 1 THEN '具备' + // ELSE '待定' + // END AS IsMeetRecycleCondition, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNo, + // d.specification AS specification, + // d.unit_card AS unit, + // d.estimated_recycle_quantity AS expectedRecycleQty, + // SUM(COALESCE(d.estimated_recycle_quantity, 0)) AS totalNumber, + // COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + // THEN d.material_name END) AS materialType + //FROM + // fjhs_recycle_task_head h + //LEFT JOIN + // fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number + + // WHERE + // 1=1 {whereSql} + // GROUP BY + // h.doc_number, h.demand_unit, h.site, h.update_time, + // h.current_process_status, h.current_expected_status, + // h.contact_phone, h.contact_person"; + + + + + + + // var response = SqlQueryToList_T(mainSql, parameters); + + // return response; + + // //var response = SqlQueryToList_T(mainSql, parameters).First(); + + // //return response; + + + + + // } + + + + public List GetFjhsRecycleSampleList(int id) + { + var result = new List(); + + // 1. 查询主表信息(不含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.id AS Id, + h.doc_number AS sampleDocNumber, -- 对应DTO的SampleDocNumber + h.demand_unit AS demandUnit, + h.site AS site, + h.update_time AS UpdateTime, + h.current_process_status AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS contactPhone, + h.contact_person AS contactPerson, + h.storage_time AS StorageTime, + -- 转换是否满足回收条件(0→不具备,1→具备,其他→待定) + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '待定' + END AS isMeetRecycleCondition, + -- 计算物料总数(子查询:该主记录下所有物料的预计回收数量之和) + (SELECT SUM(COALESCE(d.estimated_recycle_quantity, 0)) + FROM fjhs_recycle_sampling_detail d + WHERE d.doc_number = h.doc_number) AS totalNumber, + -- 计算物料种类数(子查询:去重后的物料名称数量) + (SELECT COUNT(DISTINCT d.material_name) + FROM fjhs_recycle_sampling_detail d + WHERE d.doc_number = h.doc_number + AND d.material_name IS NOT NULL + AND d.material_name != '') AS materialType, + h.remarks AS remarks, + h.creator AS creator, + h.updater AS updater, + h.create_time AS CreateTime, + h.doc_type AS DocType + FROM + fjhs_recycle_task_head h + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + if (mainList == null || !mainList.Any()) + { + return result; // 无主记录时返回空列表 + } + + // 2. 为每条主记录查询对应的物料详情 + foreach (var mainDto in mainList) + { + // 详情查询参数:使用主记录的单据编号关联 + var detailParm = new { DocNumber = mainDto.sampleDocNumber }; + string detailSql = $@" + SELECT + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNumber, + d.specification AS specification, + d.unit_card AS unitCard, + d.estimated_recycle_quantity AS approvedQuantity, + d.actual_sampling_quantity AS sampleQty, + d.remarks AS sampleRemark , + d.sampler AS sampler, + d.sampling_time AS sampleTime + FROM + fjhs_recycle_sampling_detail d + WHERE + d.doc_number = @DocNumber;"; + // 执行详情查询,转换为SampleMaterialList列表 + var details = SqlQueryToList_T(detailSql, detailParm); + + // 给主DTO的物料详情集合赋值 + mainDto.sampleMaterialList = details; + + result.Add(mainDto); + } + + return result; + } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs new file mode 100644 index 00000000..e10e2117 --- /dev/null +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs @@ -0,0 +1,28 @@ +using ZR.Model.FjhsRecycle.Dto; +using ZR.Model.FjhsRecycle; + +namespace ZR.Service.FjhsRecycle.IFjhsRecycleService +{ + /// + /// 回收任务明细表service接口 + /// + public interface IFjhsRecycleTaskDetailService : IBaseService + { + PagedInfo GetList(FjhsRecycleTaskDetailQueryDto parm); + + //FjhsRecycleTaskDetail GetInfo(int Id); + FjhsRecycleTaskDetailDto[] GetInfo(int Id); + + + FjhsRecycleTaskDetail AddFjhsRecycleTaskDetail(FjhsRecycleTaskDetail parm); + int UpdateFjhsRecycleTaskDetail(FjhsRecycleTaskDetail parm); + + bool TruncateFjhsRecycleTaskDetail(); + + (string, object, object) ImportFjhsRecycleTaskDetail(List list); + + PagedInfo ExportList(FjhsRecycleTaskDetailQueryDto parm); + + + } +} diff --git a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs new file mode 100644 index 00000000..392b4eb9 --- /dev/null +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs @@ -0,0 +1,38 @@ +using ZR.Model.FjhsRecycle.Dto; +using ZR.Model.FjhsRecycle; + +namespace ZR.Service.FjhsRecycle.IFjhsRecycleService +{ + /// + /// 回收任务主表service接口 + /// + public interface IFjhsRecycleTaskHeadService : IBaseService + { + PagedInfo GetList(FjhsRecycleTaskHeadQueryDto parm); + + //FjhsRecycleTaskHead GetInfo(int Id); + + List< FjhsRecycleTaskHeadDto> GetInfo(int Id); + List GetFjhsRecycleSampleList(int id); + List Getlist(int Id); + + FjhsRecycleTaskHead AddFjhsRecycleTaskHead(FjhsRecycleTaskHead parm); + int UpdateFjhsRecycleTaskHead(FjhsRecycleTaskHead parm); + + bool TruncateFjhsRecycleTaskHead(); + + int CanceFjhsRecycleTaskHead(int[] ids); + + (string, object, object) ImportFjhsRecycleTaskHead(List list); + + PagedInfo ExportList(FjhsRecycleTaskHeadQueryDto parm); + + + /// + /// 获取当天最大单据序号 + /// + /// 当前日期 + /// 最大序号+1(如果没有则返回1) + int GetMaxSequenceByDate(DateTime date); + } +} diff --git a/ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs new file mode 100644 index 00000000..3517f4ca --- /dev/null +++ b/ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs @@ -0,0 +1,80 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.FjhsRecycleImage.Dto; +using ZR.Model.FjhsRecycleImage; +using ZR.Repository; +using ZR.Service.FjhsRecycleImage.IFjhsRecycleImageService; + +namespace ZR.Service.FjhsRecycleImage +{ + /// + /// 回收任务明细图片表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailImageService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskDetailImageService : BaseService, IFjhsRecycleTaskDetailImageService + { + /// + /// 查询回收任务明细图片表列表 + /// + /// + /// + public PagedInfo GetList(FjhsRecycleTaskDetailImageQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public FjhsRecycleTaskDetailImage GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加回收任务明细图片表 + /// + /// + /// + public FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务明细图片表 + /// + /// + /// + public int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage model) + { + return Update(model, true); + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(FjhsRecycleTaskDetailImageQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs new file mode 100644 index 00000000..4a8b430e --- /dev/null +++ b/ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs @@ -0,0 +1,21 @@ +using ZR.Model.FjhsRecycleImage.Dto; +using ZR.Model.FjhsRecycleImage; + +namespace ZR.Service.FjhsRecycleImage.IFjhsRecycleImageService +{ + /// + /// 回收任务明细图片表service接口 + /// + public interface IFjhsRecycleTaskDetailImageService : IBaseService + { + PagedInfo GetList(FjhsRecycleTaskDetailImageQueryDto parm); + + FjhsRecycleTaskDetailImage GetInfo(int Id); + + + FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); + int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); + + + } +} diff --git a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs new file mode 100644 index 00000000..1f87015b --- /dev/null +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs @@ -0,0 +1,548 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.FjhsRecycleSampling.Dto; +using ZR.Model.FjhsRecycleSampling; +using ZR.Repository; +using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; +using ZR.Model.FjhsRecycle.Dto; +using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; + +namespace ZR.Service.FjhsRecycleSampling +{ + /// + /// 堪样任务Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleSamplingDetailService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleSamplingDetailService : BaseService, IFjhsRecycleSamplingDetailService + { + /// + /// 查询堪样任务列表 + /// + /// + /// + public PagedInfo GetList(FjhsRecycleSamplingDetailQueryDto parm) + { + //var predicate = QueryExp(parm); + + //var response = Queryable() + // .Where(predicate.ToExpression()) + // .ToPage(parm); + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.estimated_recycle_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + fjhs_recycle_task_head h + JOIN + fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize}; "; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + fjhs_recycle_task_head h + JOIN + fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number + WHERE + 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto + //{ + // DocNumber = g.DocNumber, + // DemandUnit = g.DemandUnit, + // Site = g.Site, + // UpdateTime = g.UpdateTime, + // CurrentProcessStatus = g.CurrentProcessStatus, + // CurrentExpectedStatus = g.CurrentExpectedStatus, + // ContactPhone = g.ContactPhone, + // ContactPerson = g.ContactPerson, + // StorageTime = g.StorageTime, + + // materialType = g.materialType, + // totalNumber = g.totalNumber + //} + + + //); + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + + + + } + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + // 示例8:按联系人查询 + if (!string.IsNullOrEmpty(parm.ContactPerson)) + { + string paramName = "@ContactPerson"; + whereConditions.Add($"h.contact_person = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.ContactPerson)); + } + + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + + + + ///// + ///// 获取详情 + ///// + ///// + ///// + //public FjhsRecycleSamplingDetail GetInfo(int Id) + //{ + // var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + // return response; + //} + + + + public List GetInfo(int Id) + { + var parm = new FjhsRecycleSamplingDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + h.current_process_status AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '待定' + END AS IsMeetRecycleCondition, + -- 添加主表其他需要的字段 + h.creator AS Creator, + h.create_time AS CreateTime, + h.updater AS Updater + FROM + fjhs_recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_sampling_quantity AS ActualSamplingQuantity, + d.estimated_recycle_quantity AS ApprovedQuantity, + d.remarks AS Remarks, + d.sampler AS Sampler, + d.sampling_time AS SamplingTime + FROM + fjhs_recycle_sampling_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM fjhs_recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + try + { + + // 执行主表查询 + var mainList = SqlQueryToList_T(mainSql, parameters); + + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + // 关联主表和明细表数据 + foreach (var mainItem in mainList) + { + // 为每个主表项分配对应的明细列表 + mainItem.materialDetails = detailList + // 假设通过DocNumber关联主表和明细表 + .Where(detail => detail.DocNumber == mainItem.DocNumber) + .ToList(); + + // 计算物料总数和种类数(从明细数据中统计) + if (mainItem.materialDetails != null && mainItem.materialDetails.Count > 0) + { + mainItem.totalNumber = mainItem.materialDetails + .Sum(d => d.ApprovedQuantity != null ? int.Parse(d.ApprovedQuantity) : 0); + + mainItem.materialType = mainItem.materialDetails + .Select(d => d.MaterialName) + .Distinct() + .Count(); + } + } + + + + + return mainList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + + + + + + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + + + /// + /// 添加堪样任务 + /// + /// + /// + public FjhsRecycleSamplingDetail AddFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改堪样任务 + /// + /// + /// + public int UpdateFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail model) + { + + + try + { + return Update(model, true); + + } + catch (Exception ex) + { + var m = ex.Message; + throw; + } + } + + /// + /// 清空堪样任务 + /// + /// + public bool TruncateFjhsRecycleSamplingDetail() + { + var newTableName = $"fjhs_recycle_sampling_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("fjhs_recycle_sampling_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入堪样任务 + /// + /// + public (string, object, object) ImportFjhsRecycleSamplingDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出堪样任务 + /// + /// + /// + public PagedInfo ExportList(FjhsRecycleSamplingDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new FjhsRecycleSamplingDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(FjhsRecycleSamplingDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AssetName), it => it.AssetName.Contains(parm.AssetName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs new file mode 100644 index 00000000..bc04dcdb --- /dev/null +++ b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs @@ -0,0 +1,25 @@ +using ZR.Model.FjhsRecycleSampling.Dto; +using ZR.Model.FjhsRecycleSampling; + +namespace ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService +{ + /// + /// 堪样任务service接口 + /// + public interface IFjhsRecycleSamplingDetailService : IBaseService + { + PagedInfo GetList(FjhsRecycleSamplingDetailQueryDto parm); + + List GetInfo(int Id); + + + FjhsRecycleSamplingDetail AddFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); + int UpdateFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); + + bool TruncateFjhsRecycleSamplingDetail(); + + (string, object, object) ImportFjhsRecycleSamplingDetail(List list); + + PagedInfo ExportList(FjhsRecycleSamplingDetailQueryDto parm); + } +} diff --git a/ZR.ServiceCore/Services/IService/ISysUserService.cs b/ZR.ServiceCore/Services/IService/ISysUserService.cs index 0cfa99ee..b5029f02 100644 --- a/ZR.ServiceCore/Services/IService/ISysUserService.cs +++ b/ZR.ServiceCore/Services/IService/ISysUserService.cs @@ -88,5 +88,14 @@ namespace ZR.ServiceCore.Services SysUser Login(LoginBodyDto user); void UpdateLoginInfo(string userIP, long userId); + + + + /// + /// 通过用户名查询用户信息 + /// + /// + /// + public SysUser SelectUser(string userName); } } diff --git a/ZR.ServiceCore/Services/SysUserService.cs b/ZR.ServiceCore/Services/SysUserService.cs index bb3bbc5a..cc75aa8e 100644 --- a/ZR.ServiceCore/Services/SysUserService.cs +++ b/ZR.ServiceCore/Services/SysUserService.cs @@ -1,4 +1,4 @@ -using Infrastructure; +using Infrastructure; using Infrastructure.Attribute; using System.Collections; using ZR.Common; @@ -367,5 +367,21 @@ namespace ZR.ServiceCore.Services { Update(new SysUser() { LoginIP = userIP, LoginDate = DateTime.Now, UserId = userId }, it => new { it.LoginIP, it.LoginDate }); } + + + + /// + /// 通过用户名查询用户信息 + /// + /// + /// + public SysUser SelectUser(string userName) + { + var user = Queryable().Filter(null, true).WithCache(60 * 5) + .Where(f => f.UserName == userName ).First(); + + return user; + } + } } -- Gitee From 88e33683c6b59a74924aa0f92ca9a71c18d9758a Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 18 Sep 2025 01:03:47 +0800 Subject: [PATCH 10/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=89=A9=E8=B5=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=9A=E5=8D=95=E6=8D=AE=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E3=80=81=E5=A0=AA=E6=A0=B7=E3=80=81=E5=9B=9E=E6=94=B6=E7=AD=89?= =?UTF-8?q?=E6=8B=8D=E7=85=A7=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87=E5=90=8E?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FjhsRecycleTaskDetailImageController.cs | 171 ++++++++++++ .../Controllers/Photo/PhotoController.cs | 260 +++++++++++------- .../Dto/FjhsRecycleTaskDetailImageDto.cs | 36 ++- .../FjhsRecycleTaskDetailImage.cs | 7 +- .../FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs | 10 +- .../FjhsRecycleTaskDetailImageService.cs | 79 +++++- .../IFjhsRecycleTaskDetailImageService.cs | 10 +- .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 25 ++ 8 files changed, 476 insertions(+), 122 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs rename ZR.Model/{FjhsRecycleImage => FjhsImage}/Dto/FjhsRecycleTaskDetailImageDto.cs (46%) rename ZR.Model/{FjhsRecycleImage => FjhsImage}/FjhsRecycleTaskDetailImage.cs (93%) rename ZR.Service/{FjhsRecycleImage => FjhsImage}/FjhsRecycleTaskDetailImageService.cs (41%) rename ZR.Service/{FjhsRecycleImage/IFjhsRecycleImageService => FjhsImage/IFjhsImageService}/IFjhsRecycleTaskDetailImageService.cs (58%) diff --git a/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs new file mode 100644 index 00000000..0204edaf --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.FjhsImage.Dto; +using ZR.Model.FjhsImage; +using ZR.Service.FjhsImage.IFjhsImageService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-09-17 +namespace ZR.Admin.WebApi.Controllers.FjhsImage +{ + /// + /// 回收任务明细图片表 + /// + [Verify] + [Route("FjhsImage/FjhsRecycleTaskDetailImage")] + public class FjhsRecycleTaskDetailImageController : BaseController + { + /// + /// 回收任务明细图片表接口 + /// + private readonly IFjhsRecycleTaskDetailImageService _FjhsRecycleTaskDetailImageService; + + public FjhsRecycleTaskDetailImageController(IFjhsRecycleTaskDetailImageService FjhsRecycleTaskDetailImageService) + { + _FjhsRecycleTaskDetailImageService = FjhsRecycleTaskDetailImageService; + } + + /// + /// 查询回收任务明细图片表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:list")] + public IActionResult QueryFjhsRecycleTaskDetailImage([FromQuery] FjhsRecycleTaskDetailImageQueryDto parm) + { + var response = _FjhsRecycleTaskDetailImageService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收任务明细图片表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:query")] + public IActionResult GetFjhsRecycleTaskDetailImage(int Id) + { + var response = _FjhsRecycleTaskDetailImageService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加回收任务明细图片表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:add")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleTaskDetailImage([FromBody] FjhsRecycleTaskDetailImageDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _FjhsRecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); + + return SUCCESS(response); + } + + /// + /// 更新回收任务明细图片表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:edit")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleTaskDetailImage([FromBody] FjhsRecycleTaskDetailImageDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _FjhsRecycleTaskDetailImageService.UpdateFjhsRecycleTaskDetailImage(modal); + + return ToResponse(response); + } + + /// + /// 删除回收任务明细图片表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:delete")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleTaskDetailImage([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_FjhsRecycleTaskDetailImageService.Delete(idArr)); + } + + /// + /// 导出回收任务明细图片表 + /// + /// + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:export")] + public IActionResult Export([FromQuery] FjhsRecycleTaskDetailImageQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _FjhsRecycleTaskDetailImageService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收任务明细图片表", "回收任务明细图片表"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空回收任务明细图片表 + /// + /// + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_FjhsRecycleTaskDetailImageService.TruncateFjhsRecycleTaskDetailImage()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "回收任务明细图片表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_FjhsRecycleTaskDetailImageService.ImportFjhsRecycleTaskDetailImage(list.Adapt>())); + } + + /// + /// 回收任务明细图片表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收任务明细图片表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskDetailImage"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs index 6ec2f64f..c387f234 100644 --- a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs +++ b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs @@ -1,6 +1,14 @@ using Microsoft.AspNetCore.Mvc; using ZR.Model.FjhsDetail.Dto; using ZR.Model.FjhsDetail; +using System.IO; +using System.IO; +using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; +using ZR.Service.FjhsRecycle.IFjhsRecycleService; +using ZR.Service.FjhsImage.IFjhsImageService; +using ZR.Model.FjhsImage; +using ZR.Model.FjhsRecycleSampling; +using ZR.Service.FjhsRecycleSampling; namespace ZR.Admin.WebApi.Controllers.Photo { @@ -10,136 +18,174 @@ namespace ZR.Admin.WebApi.Controllers.Photo public class PhotoController : BaseController { - ///// - ///// 拍照 - ///// - ///// - //[HttpPost] - //[ActionPermissionFilter(Permission = "Photo:add")] - //[Log(Title = "拍照", BusinessType = BusinessType.INSERT)] - //public IActionResult uploadPhotos([FromBody] FjhsRecycleDetailDto parm) - //{ - // var successCount = 0; - // var errorMessages = new System.Collections.Generic.List(); - - // if (Request.Files.Count == 0) - // return Json(new { success = false, error = "未接收到文件" }); - - // // 创建上传目录 - // var uploadPath = Server.MapPath("~/Uploads/Photos/"); - // if (!Directory.Exists(uploadPath)) - // Directory.CreateDirectory(uploadPath); - - // // 处理每个文件 - // foreach (string fileKey in Request.Files) - // { - // var file = Request.Files[fileKey]; - // if (file == null || file.ContentLength == 0) - // continue; - - // // 验证文件类型 - // var allowedTypes = new[] { "image/jpeg", "image/png" }; - // if (!allowedTypes.Contains(file.ContentType)) - // { - // errorMessages.Add($"{file.FileName}: 格式不支持"); - // continue; - // } - - // // 验证文件大小 - // if (file.ContentLength > 5 * 1024 * 1024) // 5MB - // { - // errorMessages.Add($"{file.FileName}: 超过大小限制"); - // continue; - // } - - // // 保存文件 - // try - // { - // var fileName = $"photo_{DateTime.Now:yyyyMMddHHmmssfff}_{successCount}.jpg"; - // var filePath = Path.Combine(uploadPath, fileName); - // file.SaveAs(filePath); - // successCount++; - // } - // catch (Exception ex) - // { - // errorMessages.Add($"{file.FileName}: 保存失败 - {ex.Message}"); - // } - // } - - // return Json(new - // { - // success = successCount > 0, - // successCount = successCount, - // errors = errorMessages - // }); - - - //} - - - - private readonly string _uploadPath; - - public PhotoController() + private readonly IFjhsRecycleTaskDetailImageService _FjhsRecycleTaskDetailImageService; + + // 照片存储路径相对位置 + //private readonly string _storagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Uploads/Photos"); + + + // 照片存储路径配置为D盘下的Uploads/Photos + private readonly string _storagePath = Path.Combine("D:", "Uploads", "Photos"); + + + public PhotoController(IFjhsRecycleTaskDetailImageService FjhsRecycleTaskDetailImageService) { - _uploadPath = Path.Combine(Directory.GetCurrentDirectory(), "Uploads", "Photos"); - if (!Directory.Exists(_uploadPath)) + _FjhsRecycleTaskDetailImageService = FjhsRecycleTaskDetailImageService; + + // 确保存储目录存在 + if (!Directory.Exists(_storagePath)) { - Directory.CreateDirectory(_uploadPath); + Directory.CreateDirectory(_storagePath); } } - [HttpPost("upload")] - public async Task Upload(IFormFileCollection photos) + public class PhotoUploadRequest { - if (photos == null || photos.Count == 0) - { - return BadRequest(new { success = false, error = "未接收到文件" }); - } + public string docNumber { get; set; } // 对应前端的"docNumber" + public string operatorName { get; set; } // 对应前端的"operator" + public List photos { get; set; } // 对应前端的"photos"(图片列表) + } + + + /// + /// 上传照片 + /// + /// 照片文件集合 + /// 上传结果 + /// - var allowedTypes = new[] { "image/jpeg", "image/png" }; - var maxSize = 5 * 1024 * 1024; // 5MB - var successCount = 0; - var errors = new List(); + [HttpPost("upload")] + //public async Task UploadPhotos(List photos) + public async Task UploadPhotos([FromForm] PhotoUploadRequest request) + { + var photos = request.photos; + var docNumber = request.docNumber; //单据编号 + var operatorName = request.operatorName; //操作人 + // 验证输入 + if (photos == null || photos.Count == 0) { return BadRequest(new { success = false, message = "未上传任何照片" }); } + var result = new UploadResult { SuccessCount = 0, PhotoPaths = new List(), Errors = new List() }; foreach (var photo in photos) { - if (!allowedTypes.Contains(photo.ContentType)) + try { - errors.Add($"{photo.FileName}: 格式不支持"); - continue; - } + // 验证文件类型 - if (photo.Length > maxSize) - { - errors.Add($"{photo.FileName}: 超过大小限制"); - continue; - } + if (!IsValidImageType(photo.ContentType)) + { + result.Errors.Add($"文件 {photo.FileName} 不是有效的图片类型"); + continue; + } - var fileName = $"photo_{DateTime.Now:yyyyMMddHHmmssfff}_{successCount}{Path.GetExtension(photo.FileName)}"; - var filePath = Path.Combine(_uploadPath, fileName); + // 验证文件大小(限制10MB以内) + + if (photo.Length > 10 * 1024 * 1024) + { + result.Errors.Add($"文件 {photo.FileName} 大小超过限制(最大10MB)"); + continue; + } + + // 生成唯一文件名(避免重复) + + var fileExtension = Path.GetExtension(photo.FileName); + //var fileName = $"{Guid.NewGuid()}{fileExtension}"; + var fileName = $"{Guid.NewGuid()}{fileExtension}"; + var fullPath = Path.Combine(_storagePath, fileName); + var relativePath = $"Uploads/Photos/{fileName}"; // 相对路径,用于存储到数据库 + + // 保存文件到服务器 + + using (var stream = new FileStream(fullPath, FileMode.Create)) + { + await photo.CopyToAsync(stream); + } - using (var stream = new FileStream(filePath, FileMode.Create)) - { - await photo.CopyToAsync(stream); - } - successCount++; + // 构造数据库实体对象 + var imageEntity = new FjhsRecycleTaskDetailImage + { + DocNumber = docNumber, + SampleImageUrl = relativePath, + Creator = operatorName, + CreateTime = DateTime.Now + // 若有其他字段需要设置,可在此添加 + }; + + + // 调用服务层方法将实体添加到数据库 + var modal = imageEntity.Adapt().ToCreate(HttpContext); + + var resulte = _FjhsRecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); + + // 记录成功信息(存储相对路径,便于前端访问) + + result.SuccessCount++; + result.PhotoPaths.Add($"Uploads/Photos/{fileName}"); + + _FjhsRecycleTaskDetailImageService.Adapt(photo); + + } + catch (Exception ex) { result.Errors.Add($"文件 {photo.FileName} 上传失败: {ex.Message}"); } } + return Ok(new { success = true, data = result }); + } + + + /// + /// 获取照片 + /// + /// 照片文件名 + /// 照片文件流 + /// - return Ok(new { success = successCount > 0, successCount, errors }); + [HttpGet("get/{fileName}")] + public IActionResult GetPhoto(string fileName) + { + var fullPath = Path.Combine(_storagePath, fileName); + + //临时注释 + //if (!System.IO.File.Exists(fullPath)) + //{ + // return NotFound(new { success = false, message = "照片不存在" }); + //} + var fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read); + var contentType = GetContentType(Path.GetExtension(fileName)); return File(fileStream, contentType, fileName); + } + + /// + /// 验证是否为有效的图片类型 + /// + /// + private bool IsValidImageType(string contentType) + { var validTypes = new List { "image/jpeg", "image/png", "image/gif", "image/bmp" }; + return validTypes.Contains(contentType); + } + + /// + /// 根据文件扩展名获取内容类型 + /// + /// + + private string GetContentType(string extension) + { + return extension.ToLower() switch { ".jpg" or ".jpeg" => "image/jpeg", ".png" => "image/png", ".gif" => "image/gif", ".bmp" => "image/bmp", _ => "application/octet-stream" }; + } + + /// + /// 上传结果模型 + /// + /// + public class UploadResult + { public int SuccessCount { get; set; } + public List PhotoPaths { get; set; } + public List Errors { get; set; } } - } - public class UploadResult - { - public bool Success { get; set; } - public int SuccessCount { get; set; } - public List Errors { get; set; } = new List(); } + } diff --git a/ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs b/ZR.Model/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs similarity index 46% rename from ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs rename to ZR.Model/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs index 9b07b36e..f2fefac2 100644 --- a/ZR.Model/FjhsRecycleImage/Dto/FjhsRecycleTaskDetailImageDto.cs +++ b/ZR.Model/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs @@ -1,5 +1,5 @@ - -namespace ZR.Model.FjhsRecycleImage.Dto + +namespace ZR.Model.FjhsImage.Dto { /// /// 回收任务明细图片表查询对象 @@ -7,6 +7,10 @@ namespace ZR.Model.FjhsRecycleImage.Dto public class FjhsRecycleTaskDetailImageQueryDto : PagerInfo { public string DocNumber { get; set; } + public string Address { get; set; } + public string Creator { get; set; } + public DateTime? BeginCreateTime { get; set; } + public DateTime? EndCreateTime { get; set; } } /// @@ -15,33 +19,59 @@ namespace ZR.Model.FjhsRecycleImage.Dto public class FjhsRecycleTaskDetailImageDto { [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] public int Id { get; set; } [Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + [ExcelColumn(Name = "单据编号(关联回收任务主表)")] + [ExcelColumnName("单据编号(关联回收任务主表)")] public string DocNumber { get; set; } - public string Address { get; set; } + [ExcelColumn(Name = "图片地址(存储图片路径或URL)")] + [ExcelColumnName("图片地址(存储图片路径或URL)")] + public string SampleImageUrl { get; set; } [Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] public string Creator { get; set; } [Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] public DateTime? CreateTime { get; set; } + [ExcelColumn(Name = "图片状态(如:有效、无效、审核中)")] + [ExcelColumnName("图片状态(如:有效、无效、审核中)")] public string Status { get; set; } + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] public string Remarks { get; set; } + [ExcelColumn(Name = "备用1")] + [ExcelColumnName("备用1")] public string Backup1 { get; set; } + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] public string Backup2 { get; set; } + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] public string Backup3 { get; set; } + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] public string Backup4 { get; set; } + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] public string Backup5 { get; set; } + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] public string Backup6 { get; set; } diff --git a/ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs b/ZR.Model/FjhsImage/FjhsRecycleTaskDetailImage.cs similarity index 93% rename from ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs rename to ZR.Model/FjhsImage/FjhsRecycleTaskDetailImage.cs index 05e1d4d7..5c56dd8b 100644 --- a/ZR.Model/FjhsRecycleImage/FjhsRecycleTaskDetailImage.cs +++ b/ZR.Model/FjhsImage/FjhsRecycleTaskDetailImage.cs @@ -1,5 +1,5 @@ - -namespace ZR.Model.FjhsRecycleImage + +namespace ZR.Model.FjhsImage { /// /// 回收任务明细图片表 @@ -22,7 +22,8 @@ namespace ZR.Model.FjhsRecycleImage /// /// 图片地址(存储图片路径或URL) /// - public string Address { get; set; } + [SugarColumn(ColumnName = "address")] + public string SampleImageUrl { get; set; } /// /// 创建人 diff --git a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs index 38245391..b15ade42 100644 --- a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs @@ -1,4 +1,6 @@  +using ZR.Model.FjhsImage.Dto; + namespace ZR.Model.FjhsRecycle.Dto { /// @@ -345,7 +347,10 @@ namespace ZR.Model.FjhsRecycle.Dto [ExcelColumnName("物料堪样详情")] public List sampleMaterialList { get; set; } - } + + [ExcelColumnName("物料堪样图片")] + public List sampleMaterialImages { get; set; } + } public class SampleMaterialList @@ -402,6 +407,9 @@ public class SampleMaterialList + + + } diff --git a/ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs similarity index 41% rename from ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs rename to ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs index 3517f4ca..1660cdb3 100644 --- a/ZR.Service/FjhsRecycleImage/FjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs @@ -1,11 +1,11 @@ -using Infrastructure.Attribute; +using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsRecycleImage.Dto; -using ZR.Model.FjhsRecycleImage; +using ZR.Model.FjhsImage.Dto; +using ZR.Model.FjhsImage; using ZR.Repository; -using ZR.Service.FjhsRecycleImage.IFjhsRecycleImageService; +using ZR.Service.FjhsImage.IFjhsImageService; -namespace ZR.Service.FjhsRecycleImage +namespace ZR.Service.FjhsImage { /// /// 回收任务明细图片表Service业务层处理 @@ -64,6 +64,70 @@ namespace ZR.Service.FjhsRecycleImage return Update(model, true); } + /// + /// 清空回收任务明细图片表 + /// + /// + public bool TruncateFjhsRecycleTaskDetailImage() + { + var newTableName = $"fjhs_recycle_task_detail_image_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("fjhs_recycle_task_detail_image", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务明细图片表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskDetailImage(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + .SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + .SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务明细图片表 + /// + /// + /// + public PagedInfo ExportList(FjhsRecycleTaskDetailImageQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new FjhsRecycleTaskDetailImageDto() + { + }, true) + .ToPage(parm); + + return response; + } + /// /// 查询导出表达式 /// @@ -74,6 +138,11 @@ namespace ZR.Service.FjhsRecycleImage var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Address), it => it.SampleImageUrl == parm.Address); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Creator), it => it.Creator == parm.Creator); + predicate = predicate.AndIF(parm.BeginCreateTime == null, it => it.CreateTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginCreateTime != null, it => it.CreateTime >= parm.BeginCreateTime); + predicate = predicate.AndIF(parm.EndCreateTime != null, it => it.CreateTime <= parm.EndCreateTime); return predicate; } } diff --git a/ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs similarity index 58% rename from ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs rename to ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs index 4a8b430e..4db5a164 100644 --- a/ZR.Service/FjhsRecycleImage/IFjhsRecycleImageService/IFjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs @@ -1,7 +1,7 @@ -using ZR.Model.FjhsRecycleImage.Dto; -using ZR.Model.FjhsRecycleImage; +using ZR.Model.FjhsImage.Dto; +using ZR.Model.FjhsImage; -namespace ZR.Service.FjhsRecycleImage.IFjhsRecycleImageService +namespace ZR.Service.FjhsImage.IFjhsImageService { /// /// 回收任务明细图片表service接口 @@ -15,7 +15,11 @@ namespace ZR.Service.FjhsRecycleImage.IFjhsRecycleImageService FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); + + bool TruncateFjhsRecycleTaskDetailImage(); + (string, object, object) ImportFjhsRecycleTaskDetailImage(List list); + PagedInfo ExportList(FjhsRecycleTaskDetailImageQueryDto parm); } } diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs index 88532bcb..869975c1 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -12,6 +12,7 @@ using System.Linq; using System.Collections.Generic; using Azure; using Aliyun.OSS; +using ZR.Model.FjhsImage.Dto; namespace ZR.Service.FjhsRecycle { @@ -854,7 +855,31 @@ namespace ZR.Service.FjhsRecycle // 给主DTO的物料详情集合赋值 mainDto.sampleMaterialList = details; + + + //result.Add(mainDto); + + + + var ImagesParm = new { DocNumber = "KY" + mainDto.sampleDocNumber }; + + string ImageSql = $@" + SELECT + + d.address AS SampleImageUrl + FROM + fjhs_recycle_task_detail_image d + WHERE + d.doc_number = @DocNumber;"; + + // 执行详情查询图片,转换FjhsRecycleTaskDetailImageDto列表 + var Images = SqlQueryToList_T(ImageSql, ImagesParm); + + // 给主DTO的物料详情集合赋值 + mainDto.sampleMaterialImages = Images; + result.Add(mainDto); + } return result; -- Gitee From 965c53f277f5c074efa09b1fbcb095cd309ad85c Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Wed, 24 Sep 2025 00:51:42 +0800 Subject: [PATCH 11/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=89=A9=E8=B5=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=9A1=E3=80=81=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=90=AC=E8=BF=90=E5=9B=9E=E6=94=B6=E6=B8=85=E5=8D=95=EF=BC=9B?= =?UTF-8?q?2=E3=80=81=E7=A1=AE=E8=AE=A4=E7=94=9F=E6=88=90=E5=9B=9E?= =?UTF-8?q?=E6=94=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/Controllers/BaseController.cs | 382 +++++++++++++++++- Infrastructure/ZR.Infrastructure.csproj | 3 +- .../FjhsRecycleTaskDetailImageController.cs | 4 +- .../FjhsRecycleTaskHeadController.cs | 75 +++- .../FjhsRecycleSamplingDetailController.cs | 35 +- .../Controllers/Photo/PhotoController.cs | 166 +++++++- ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 5 +- ZR.Model/DownM/RecycleMaterialDetail.cs | 55 +++ ZR.Model/DownM/TransportInfo.cs | 27 ++ .../FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs | 29 ++ ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs | 36 ++ .../Dto/FjhsRecycleSamplingDetailDto.cs | 115 ++---- ZR.Model/ZR.Model.csproj | 2 +- .../FjhsRecycleTaskDetailImageService.cs | 19 + .../IFjhsRecycleTaskDetailImageService.cs | 3 +- .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 90 ++++- .../IFjhsRecycleTaskHeadService.cs | 4 + .../FjhsRecycleSamplingDetailService.cs | 113 ++++++ .../IFjhsRecycleSamplingDetailService.cs | 3 + 19 files changed, 1047 insertions(+), 119 deletions(-) create mode 100644 ZR.Model/DownM/RecycleMaterialDetail.cs create mode 100644 ZR.Model/DownM/TransportInfo.cs diff --git a/Infrastructure/Controllers/BaseController.cs b/Infrastructure/Controllers/BaseController.cs index 79965b30..995eee6e 100644 --- a/Infrastructure/Controllers/BaseController.cs +++ b/Infrastructure/Controllers/BaseController.cs @@ -6,10 +6,16 @@ using Microsoft.AspNetCore.Mvc; using MiniExcelLibs; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; +using NPOI.SS.UserModel; +using NPOI.SS.Util; +using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; +using System.Drawing; using System.IO; +using System.Linq; using System.Web; +using ZR.Model.DownM; namespace Infrastructure.Controllers { @@ -84,6 +90,7 @@ namespace Infrastructure.Controllers /// protected IActionResult DownFile(string path, string fileName) { + if (!System.IO.File.Exists(path)) { return NotFound(); @@ -168,16 +175,27 @@ namespace Infrastructure.Controllers /// protected (string, string) ExportExcelMini(List list, string sheetName, string fileName) { - IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); - string sFileName = $"{fileName}_{DateTime.Now:MMdd-HHmmss}.xlsx"; - string fullPath = Path.Combine(webHostEnvironment.WebRootPath, "export", sFileName); + try + { + IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); + string sFileName = $"{fileName}_{DateTime.Now:MMdd-HHmmss}.xlsx"; + string fullPath = Path.Combine(webHostEnvironment.WebRootPath, "export", sFileName); - Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); + Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); - MiniExcel.SaveAs(fullPath, list, sheetName: sheetName); - return (sFileName, fullPath); + MiniExcel.SaveAs(fullPath, list, sheetName: sheetName); + return (sFileName, fullPath); + } + catch (Exception ex) + { + var msg = ex.Message; + + throw; + } } + + /// /// 导出多个工作表(Sheet) /// @@ -234,5 +252,357 @@ namespace Infrastructure.Controllers return (sFileName, fullPath); } + + + + #region 下载搬运回收清单 + + /// + /// 废旧系统中下载回收搬运清单 + /// + /// + /// + /// + /// + + protected (string, string) ExportRecycleBill( TransportInfo transportInfo, List dataList) + { + try + { + // 1. 初始化工作簿与工作表 + IWebHostEnvironment env = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); + string fileName = $"回收搬运单_{DateTime.Now:MMdd-HHmmss}.xlsx"; + string fullPath = Path.Combine(env.WebRootPath, "export", fileName); + Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); + + using (var workbook = new XSSFWorkbook()) + { + ISheet sheet = workbook.CreateSheet("回收搬运单"); + // 定义Excel最大列数(根据实际表头+签名区列数确定,这里按10列预留,可根据实际调整) + const int MAX_COLUMN_COUNT = 10; + + // 2. 构造【标题区】(第一部分) + CreateTitleArea(sheet, workbook, transportInfo); + + + + + // 3. 构造【物资明细表】(第二部分) + + string[] headers = { "序号", "需求单位", "局点", "设备名称", "厂家/型号", "计量单位", "计划回收数", "实际回收数量", "备注" }; + + CreateMaterialTable(sheet, workbook, dataList, headers); + + // 4. 构造【签名&备注区】(第三部分) + CreateSignatureArea(sheet, workbook, dataList); + + + // -------------------------- 核心:全局自动调整列宽 -------------------------- + // 列宽配置:索引对应列(0=序号,1=需求单位...),值为宽度(1/256字符) + int[] columnWidths = { + 256 * 14, // 序号(9个字符宽) + 256 * 18, // 需求单位(15个中文字符) + 256 * 18, // 局点(12个中文字符) + 256 * 25, // 设备名称(20个中文字符) + 256 * 18, // 厂家/型号(18个中文字符) + 256 * 18, // 计量单位(10个中文字符) + 256 * 16, // 计划回收数(12个中文字符) + 256 * 16, // 实际回收数量(12个中文字符) + 256 * 25, // 备注(25个中文字符) + 256 * 12 // (8个中文字符) + }; + + // 应用固定列宽 + for (int colIdx = 0; colIdx < columnWidths.Length; colIdx++) + { + sheet.SetColumnWidth(colIdx, columnWidths[colIdx]); + } + // ---------------------------------------------------------------------------- + + + + // 5. 保存文件 + using (var fs = new FileStream(fullPath, FileMode.Create)) + { + workbook.Write(fs); + } + + return (fileName, fullPath); + } + } + catch (Exception ex) + { + throw new Exception($"导出失败: {ex.Message}", ex); + } + } + + + + + // 接收外部数据 + private void CreateTitleArea(ISheet sheet, XSSFWorkbook workbook, TransportInfo transportInfo) + { + try + { + // 合并单元格:标题行(A1:J1) + CellRangeAddress titleMerge = new CellRangeAddress(0, 2, 0, 9); + sheet.AddMergedRegion(titleMerge); + + IRow titleRow = sheet.GetRow(0) ?? sheet.CreateRow(0); + ICell titleCell = titleRow.CreateCell(0); + titleCell.SetCellValue("中通服供应链股份有限公司四川分公司\n运输搬运单"); + + // 标题样式:居中、加粗、换行 + ICellStyle titleStyle = workbook.CreateCellStyle(); + IFont titleFont = workbook.CreateFont(); + titleFont.FontHeightInPoints = 14; + titleFont.IsBold = true; + titleStyle.SetFont(titleFont); + titleStyle.Alignment = HorizontalAlignment.Center; + titleStyle.VerticalAlignment = VerticalAlignment.Center; + titleStyle.WrapText = true; // 自动换行 + titleCell.CellStyle = titleStyle; + + // 客户问候行(A2:J2) + CellRangeAddress greetMerge = new CellRangeAddress(3, 4, 0, 9); + sheet.AddMergedRegion(greetMerge); + + IRow greetRow = sheet.GetRow(3) ?? sheet.CreateRow(3); + ICell greetCell = greetRow.CreateCell(0); + greetCell.SetCellValue("尊敬的客户:\n您好!下列货物请清点无误后签字确认,并加盖单位公章。注意:(请加盖单位主办公章,谢谢合作!)"); + + // 问候样式:居中、换行 + ICellStyle greetStyle = workbook.CreateCellStyle(); + greetStyle.Alignment = HorizontalAlignment.Center; + greetStyle.VerticalAlignment = VerticalAlignment.Center; + greetStyle.WrapText = true; + greetCell.CellStyle = greetStyle; + + // 使用外部传入的动态数据构建标签数组 + string[] labels = { + "编号:", transportInfo.Number, + "项目类型:", transportInfo.ProjectType, + "备注:", transportInfo.Remark, + "回收物资:", transportInfo.RecoveryMaterials, + "回收目的地:", transportInfo.RecoveryDestination, + "客户单位:", transportInfo.CustomerUnit, + "回收地点:", transportInfo.RecoveryLocation, + "联系人:", transportInfo.ContactPerson, + "联系人电话:", transportInfo.ContactPhone, + "配送方式:", transportInfo.DeliveryMethod, + "车辆型号:", transportInfo.VehicleModel, + "体积:", transportInfo.Volume, + "配送计划经办人:", transportInfo.DeliveryPlanner + }; + + // 修复循环索引计算错误(原代码有越界风险) + for (int i = 0; i < 3; i++) // 行:3行数据 + { + IRow infoRow = sheet.GetRow(i + 6) ?? sheet.CreateRow(i + 6); + for (int j = 0; j < 5; j++) // 每行列数:5组键值对 + { + int index = i * 10 + j * 2; // 修正索引计算方式 + if (index + 1 < labels.Length) // 避免数组越界 + { + infoRow.CreateCell(j * 2).SetCellValue(labels[index]); + infoRow.CreateCell(j * 2 + 1).SetCellValue(labels[index + 1]); + } + } + } + + + + + //// 自动调整列宽 + //for (int i = 0; i < labels.Length; i++) + //{ + // sheet.AutoSizeColumn(i); + // int width = (int)(sheet.GetColumnWidth(i) + 256); // 增加宽度避免挤压 + // sheet.SetColumnWidth(i, width > 65535 ? 65535 : width); + //} + + + } + catch (Exception ex) + { + var m = ex.Message; + throw; // 抛出异常便于上层处理 + } + } + + + + private void CreateMaterialTable(ISheet sheet, XSSFWorkbook workbook, + List dataList, + string[] headers) // 新增表头参数 + { + try + { + int startRowIdx = 10; // 从第11行开始(NPOI行索引10) + + // 表头行 + IRow headerRow = sheet.GetRow(startRowIdx) ?? sheet.CreateRow(startRowIdx); + + ICellStyle headerStyle = workbook.CreateCellStyle(); + IFont headerFont = workbook.CreateFont(); + headerFont.IsBold = true; + headerStyle.SetFont(headerFont); + headerStyle.FillForegroundColor = IndexedColors.Grey25Percent.Index; + headerStyle.FillPattern = FillPattern.SolidForeground; + + // 使用外部传入的表头数组 + for (int i = 0; i < headers.Length; i++) + { + ICell cell = headerRow.CreateCell(i); + cell.SetCellValue(headers[i]); + cell.CellStyle = headerStyle; + } + + // 数据行 + for (int i = 0; i < dataList.Count; i++) + { + IRow dataRow = sheet.GetRow(startRowIdx + 1 + i) ?? sheet.CreateRow(startRowIdx + 1 + i); + var item = dataList[i]; + + // 注意:这里需要根据实际的表头数量和顺序调整单元格赋值 + // 以下为示例,需根据你的Dto实际属性对应修改 + dataRow.CreateCell(0).SetCellValue(i + 1); // 序号(自增) + dataRow.CreateCell(1).SetCellValue(item.DemandUnit); + dataRow.CreateCell(2).SetCellValue(item.Site); + dataRow.CreateCell(3).SetCellValue(item.MaterialName); + dataRow.CreateCell(4).SetCellValue(item.Specification); + dataRow.CreateCell(5).SetCellValue(item.Unit); + dataRow.CreateCell(6).SetCellValue(item.PlanRecycleCount); + dataRow.CreateCell(7).SetCellValue(item.ActualRecycleCount); + dataRow.CreateCell(8).SetCellValue(item.Remarks); + } + + // 合计行 + IRow totalRow = sheet.GetRow(startRowIdx + 1 + dataList.Count) ?? sheet.CreateRow(startRowIdx + 1 + dataList.Count); + totalRow.CreateCell(0).SetCellValue("合计"); + + // 计算实际合计值(示例) + + int totalPlan = dataList.Sum(d => + { + // 先判断是否为null + if (d.PlanRecycleCount == null) + return 0; + + // 尝试转换为int,失败则返回0 + if (int.TryParse(d.PlanRecycleCount.ToString(), out int count)) + return count; + else + return 0; + }); + + + int totalActual = dataList.Sum(d => + { + // 先判断是否为null + if (d.ActualRecycleCount == null) + return 0; + + // 尝试转换为int,失败则返回0 + if (int.TryParse(d.ActualRecycleCount.ToString(), out int count)) + return count; + else + return 0; + }); + + + totalRow.CreateCell(6).SetCellValue(totalPlan); + totalRow.CreateCell(7).SetCellValue(totalActual); + + //// 自动调整列宽 + //for (int i = 0; i < headers.Length; i++) + //{ + // sheet.AutoSizeColumn(i); + // int width = (int)(sheet.GetColumnWidth(i) + 256); // 增加宽度避免挤压 + // sheet.SetColumnWidth(i, width > 65535 ? 65535 : width); + //} + } + catch (Exception ex) + { + var m = ex.Message; + throw; + } + } + + + + + private void CreateSignatureArea(ISheet sheet, XSSFWorkbook workbook, List dataList) + { + + + try + { + // int startRowIdx = 10 + dataList.Count; // 从物资表下方开始(需根据数据行数调整) + + int startRowIdx = 12 + dataList.Count; // 从物资表下方开始(需根据数据行数调整) + + // 合并签名区单元格 + CellRangeAddress signMerge1 = new CellRangeAddress(startRowIdx, startRowIdx, 0, 1); + CellRangeAddress signMerge2 = new CellRangeAddress(startRowIdx, startRowIdx, 2, 3); + CellRangeAddress signMerge3 = new CellRangeAddress(startRowIdx + 1, startRowIdx + 1, 0, 1); + CellRangeAddress signMerge4 = new CellRangeAddress(startRowIdx + 1, startRowIdx + 1, 2, 3); + sheet.AddMergedRegion(signMerge1); + sheet.AddMergedRegion(signMerge2); + sheet.AddMergedRegion(signMerge3); + sheet.AddMergedRegion(signMerge4); + + // 签名行 + IRow signRow1 = sheet.GetRow(startRowIdx) ?? sheet.CreateRow(startRowIdx); + signRow1.CreateCell(0).SetCellValue("交接单位(盖章)"); + signRow1.CreateCell(4).SetCellValue("收货单位(盖章)"); + + IRow signRow2 = sheet.GetRow(startRowIdx + 1) ?? sheet.CreateRow(startRowIdx + 1); + signRow2.CreateCell(0).SetCellValue("交接人(签字): "); + signRow2.CreateCell(4).SetCellValue("接收人:"); + signRow2.CreateCell(7).SetCellValue("联电话:"); + + IRow signRow21 = sheet.GetRow(startRowIdx + 2) ?? sheet.CreateRow(startRowIdx + 2); + + signRow21.CreateCell(7).SetCellValue("身份证号码:"); + + // 联系方式行 + IRow contactRow = sheet.GetRow(startRowIdx + 3) ?? sheet.CreateRow(startRowIdx + 3); + contactRow.CreateCell(0).SetCellValue("联系电话:"); + contactRow.CreateCell(4).SetCellValue("提货司机签字:"); + contactRow.CreateCell(7).SetCellValue("联系电话:"); + // 身份证行 + IRow idRow = sheet.GetRow(startRowIdx + 4) ?? sheet.CreateRow(startRowIdx + 4); + idRow.CreateCell(0).SetCellValue("身份证号码:"); + idRow.CreateCell(7).SetCellValue("身份证号码:"); + + + IRow idRow1 = sheet.GetRow(startRowIdx + 5) ?? sheet.CreateRow(startRowIdx + 5); + idRow1.CreateCell(0).SetCellValue("地点:"); + idRow1.CreateCell(4).SetCellValue("日期:"); + + // 备注行 + //CellRangeAddress remarkMerge = new CellRangeAddress(startRowIdx + 4, startRowIdx + 4, 0, 3); + CellRangeAddress remarkMerge = new CellRangeAddress(startRowIdx + 6, startRowIdx + 6, 0, 9); + sheet.AddMergedRegion(remarkMerge); + IRow remarkRow = sheet.GetRow(startRowIdx + 6) ?? sheet.CreateRow(startRowIdx + 6); + remarkRow.CreateCell(0).SetCellValue("注:本单一式四联(留底一联、承运方留一联、交接单位留二联) 加盖指定签收章对本单货物的确认,如有疑问请及时与配送负责人联系,请您在签字后加盖公章,签收时间请写签收日期时间。"); + remarkRow.Cells[0].CellStyle.WrapText = true; // 自动换行 + + } + catch (Exception ex) + { + var m = ex.Message; + throw; + } + + } + + + + #endregion + + + } } diff --git a/Infrastructure/ZR.Infrastructure.csproj b/Infrastructure/ZR.Infrastructure.csproj index 039ee5a0..45041689 100644 --- a/Infrastructure/ZR.Infrastructure.csproj +++ b/Infrastructure/ZR.Infrastructure.csproj @@ -14,10 +14,11 @@ + - + diff --git a/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs index 0204edaf..9140e5af 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using ZR.Model.FjhsImage.Dto; using ZR.Model.FjhsImage; using ZR.Service.FjhsImage.IFjhsImageService; @@ -34,6 +34,8 @@ namespace ZR.Admin.WebApi.Controllers.FjhsImage [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:list")] public IActionResult QueryFjhsRecycleTaskDetailImage([FromQuery] FjhsRecycleTaskDetailImageQueryDto parm) { + + var response = _FjhsRecycleTaskDetailImageService.GetList(parm); return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs index caa52ec0..441e5990 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs @@ -14,6 +14,11 @@ using Org.BouncyCastle.Crypto; using ZR.Service.FjhsRecycle; using SqlSugar; using System.Collections.Generic; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; +using NPOI.SS.Util; +using materialDetailsList = ZR.Model.FjhsRecycle.Dto.materialDetailsList; +using ZR.Model.DownM; //创建时间:2025-08-15 namespace ZR.Admin.WebApi.Controllers.FjhsRecycle @@ -556,17 +561,73 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:export")] public IActionResult Export([FromQuery] FjhsRecycleTaskHeadQueryDto parm) { - parm.PageNum = 1; - parm.PageSize = 100000; - var list = _FjhsRecycleTaskHeadService.ExportList(parm).Result; - if (list == null || list.Count <= 0) + + try { - return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _FjhsRecycleTaskHeadService.ExportList(parm).Result; + + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收任务主表", "回收任务主表"); + + return ExportExcel(result.Item2, result.Item1); + } + catch (Exception ex) + { + var msg = ex.Message; + throw; } - var result = ExportExcelMini(list, "回收任务主表", "回收任务主表"); - return ExportExcel(result.Item2, result.Item1); } + + + + + + + /// + /// 导出回收搬运任务清单 + /// + /// + [Log(Title = "导出回收搬运任务清单", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + //[HttpGet("RecycleExport")] + [HttpGet("RecycleExport/{id}")] + // [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:export")] + public IActionResult RecycleExport([FromRoute] string id) + { + + + + try + { + var ID = int.Parse(id); + + + var transportInfo = _FjhsRecycleTaskHeadService.GetTransportInfoList(ID).First(); + var RecycleMaterialDetail = _FjhsRecycleTaskHeadService.GetRecycleMaterialDetailList(ID); + + var m = ExportRecycleBill(transportInfo, RecycleMaterialDetail); + + return ExportExcel(m.Item2, m.Item1); + + + } + catch (Exception ex) + { + var msg = ex.Message; + throw; + } + } + + + + + + /// /// 清空回收任务主表 /// diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs index 5596e1c3..44bd3fb4 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs @@ -14,6 +14,8 @@ using ZR.Model.FjhsDetail; using ZR.Model.FjhsDetail.Dto; using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; using SqlSugar; +using MiniExcelLibs.Attributes; +using ZR.Service.FjhsRecycleSampling; //创建时间:2025-08-31 namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling @@ -89,7 +91,7 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling { // 1. 调用服务层获取物料详情(根据实际业务调整方法名) //var materialList = _FfjhsRecycleTaskDetailService.GetInfo(taskId); - var materialList = _FjhsRecycleSamplingDetailService.GetInfo(taskId); + var materialList = _FjhsRecycleSamplingDetailService.GetInfoMaterialDetailsList(taskId); // 2. 转换为DTO(若有物料详情的DTO) //var materialDtos = materialList.Adapt>(); @@ -324,18 +326,41 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling } + parm.CurrentProcessStatus = "1"; //当前流程状态 1 :待回收搬运 + parm.CurrentExpectedStatus = "1"; //当前预期状态 1:正常 ;2 即将预期;3、预期 + parm.UpdateTime = DateTime.Now; //修改时间; + + // 转换为实体并设置更新信息 - var main = parm.Adapt() - .ToUpdate(HttpContext); - // 调用服务更新 + var DocNumber = parm.DocNumber.Split(','); - var m = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + for (int i = 0; i < DocNumber.Count(); i++) + { + + var GetId = _FjhsRecycleSamplingDetailService.GetID(DocNumber[i]).First(); + + parm.DocNumber = DocNumber[i]; + parm.Id = GetId.Id; + + + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + } + + + foreach (materialDetailsList item in parm.materialDetails) { diff --git a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs index c387f234..c4a7bd44 100644 --- a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs +++ b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs @@ -2,15 +2,19 @@ using ZR.Model.FjhsDetail.Dto; using ZR.Model.FjhsDetail; using System.IO; -using System.IO; using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; using ZR.Service.FjhsRecycle.IFjhsRecycleService; using ZR.Service.FjhsImage.IFjhsImageService; using ZR.Model.FjhsImage; using ZR.Model.FjhsRecycleSampling; using ZR.Service.FjhsRecycleSampling; +using ZR.Service.FjhsImage; +using ZR.Service.FjhsDetail.IFjhsDetailService; +using ZR.Service.FjhsDetail; +using ZR.Model.FjhsRecycle.Dto; + -namespace ZR.Admin.WebApi.Controllers.Photo +namespace ZR.Admin.WebApi.Controllers.Photo1 { [ApiController] @@ -19,6 +23,7 @@ namespace ZR.Admin.WebApi.Controllers.Photo { private readonly IFjhsRecycleTaskDetailImageService _FjhsRecycleTaskDetailImageService; + private readonly IFjhsRecycleDetailService _FjhsRecycleDetailService; // 照片存储路径相对位置 //private readonly string _storagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Uploads/Photos"); @@ -28,9 +33,10 @@ namespace ZR.Admin.WebApi.Controllers.Photo private readonly string _storagePath = Path.Combine("D:", "Uploads", "Photos"); - public PhotoController(IFjhsRecycleTaskDetailImageService FjhsRecycleTaskDetailImageService) + public PhotoController(IFjhsRecycleTaskDetailImageService FjhsRecycleTaskDetailImageService, IFjhsRecycleDetailService FjhsRecycleDetailService) { _FjhsRecycleTaskDetailImageService = FjhsRecycleTaskDetailImageService; + _FjhsRecycleDetailService = FjhsRecycleDetailService; // 确保存储目录存在 if (!Directory.Exists(_storagePath)) @@ -77,11 +83,11 @@ namespace ZR.Admin.WebApi.Controllers.Photo continue; } - // 验证文件大小(限制10MB以内) + // 验证文件大小(限制100MB以内) - if (photo.Length > 10 * 1024 * 1024) + if (photo.Length > 100 * 1024 * 1024) { - result.Errors.Add($"文件 {photo.FileName} 大小超过限制(最大10MB)"); + result.Errors.Add($"文件 {photo.FileName} 大小超过限制(最大100MB)"); continue; } @@ -107,7 +113,8 @@ namespace ZR.Admin.WebApi.Controllers.Photo DocNumber = docNumber, SampleImageUrl = relativePath, Creator = operatorName, - CreateTime = DateTime.Now + CreateTime = DateTime.Now, + Remarks = fileName // 若有其他字段需要设置,可在此添加 }; @@ -138,18 +145,49 @@ namespace ZR.Admin.WebApi.Controllers.Photo /// 照片文件流 /// - [HttpGet("get/{fileName}")] + //[HttpGet("photoGet/{fileName}")] + [HttpGet("photoGet/Uploads/Photos/{fileName}")] public IActionResult GetPhoto(string fileName) { - var fullPath = Path.Combine(_storagePath, fileName); - - //临时注释 - //if (!System.IO.File.Exists(fullPath)) - //{ - // return NotFound(new { success = false, message = "照片不存在" }); - //} - var fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read); - var contentType = GetContentType(Path.GetExtension(fileName)); return File(fileStream, contentType, fileName); + + try + { + // 验证参数 + if (string.IsNullOrEmpty(fileName)) + { + return BadRequest("图片文件名不能为空"); + } + + // 构建完整的图片路径 + var fullPath = Path.Combine(_storagePath, fileName); + + + + + //// 检查文件是否存在 + //if (!System.IO.File.Exists(fullPath)) + //{ + // return NotFound(new { success = false, message = "照片不存在" }); + //} + + // 获取文件扩展名,用于设置正确的Content-Type + string fileExtension = Path.GetExtension(fullPath).ToLowerInvariant(); + string contentType = GetContentType(fileExtension); + + // 打开文件流并返回 + var fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read); + // var contentType = GetContentType(Path.GetExtension(fileName)); + + var re = File(fileStream, contentType, fileName); + return File(fileStream, contentType, fileName); + + } + catch (Exception ex ) + { + + return StatusCode(500, $"获取图片失败: {ex.Message}"); + // throw; + } } /// @@ -168,7 +206,13 @@ namespace ZR.Admin.WebApi.Controllers.Photo private string GetContentType(string extension) { - return extension.ToLower() switch { ".jpg" or ".jpeg" => "image/jpeg", ".png" => "image/png", ".gif" => "image/gif", ".bmp" => "image/bmp", _ => "application/octet-stream" }; + return extension.ToLower() switch + { ".jpg" or ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".gif" => "image/gif", + ".bmp" => "image/bmp", + _ => "application/octet-stream" + }; } /// @@ -183,6 +227,92 @@ namespace ZR.Admin.WebApi.Controllers.Photo + /// + /// 获取指定目录下的所有图片文件列表 + /// + [HttpGet("GetImageList")] + public IActionResult GetImageList() + { + try + { + // 检查目录是否存在 + if (!Directory.Exists(_storagePath)) + { + return NotFound("图片存储目录不存在"); + } + + // 获取所有图片文件 + string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp" }; + var imageFiles = Directory.GetFiles(_storagePath) + .Where(file => imageExtensions.Contains(Path.GetExtension(file).ToLowerInvariant())) + //.Select(file => new + //{ + // FileName = Path.GetFileName(file), + // LastModified = System.IO.File.GetLastWriteTime(file), + // FileSize = new FileInfo(file).Length + //}) + //.OrderByDescending(f => f.LastModified) + //.ToList(); + .Select(file => new + { + FileName = Path.GetFileName(file), + + FileSize = new FileInfo(file).Length + }) + + .ToList(); + + + return Ok(imageFiles); + } + catch (Exception ex) + { + // 记录错误日志 + return StatusCode(500, $"获取图片列表失败: {ex.Message}"); + } + } + + + + + + /// + /// 获取照片 + /// + /// 单据编号 + /// 照片文件流 + /// + + [HttpGet("recycleSiteImages/{docNumber}")] + public async Task getRecycleSiteImages(string docNumber) + { + // 1. 验证输入参数 + if (string.IsNullOrEmpty(docNumber)) + { + return BadRequest(new { success = false, message = "单据编号不能为空" }); + } + + try + { + // 2. 获取该单据对应的所有图片记录 + var imageRecords = _FjhsRecycleTaskDetailImageService.GetListAll(docNumber).ToArray(); + + return Ok(imageRecords); + } + catch (Exception ex) + { + + return StatusCode(500, $"获取图片信息失败: {ex.Message}"); + } + + + + } + + + + + } diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index df82d70f..96866802 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -19,11 +19,14 @@ - + + + + diff --git a/ZR.Model/DownM/RecycleMaterialDetail.cs b/ZR.Model/DownM/RecycleMaterialDetail.cs new file mode 100644 index 00000000..b80cbabd --- /dev/null +++ b/ZR.Model/DownM/RecycleMaterialDetail.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.DownM +{ + public class RecycleMaterialDetail + { + + /// + /// 需求单位 + /// + public string DemandUnit { get; set; } + + /// + /// 局点 + /// + public string Site { get; set; } + + /// + /// 设备名称 + /// + public string MaterialName { get; set; } + + /// + /// 厂家/型号 + /// + public string Specification { get; set; } + + /// + /// 计量单位 + /// + public string Unit { get; set; } + + /// + /// 计划回收数 + /// + public string PlanRecycleCount { get; set; } + + /// + /// 实际回收数量 + /// + public string ActualRecycleCount { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + + + } +} diff --git a/ZR.Model/DownM/TransportInfo.cs b/ZR.Model/DownM/TransportInfo.cs new file mode 100644 index 00000000..630d1b5e --- /dev/null +++ b/ZR.Model/DownM/TransportInfo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.DownM +{ + public class TransportInfo + { + public string Number { get; set; } // 编号 + public string ProjectType { get; set; } // 项目类型 + public string Remark { get; set; } // 备注 + public string RecoveryMaterials { get; set; } // 回收物资 + public string RecoveryDestination { get; set; } // 回收目的地 + public string CustomerUnit { get; set; } // 客户单位 + public string RecoveryLocation { get; set; } // 回收地点 + public string ContactPerson { get; set; } // 联系人 + public string ContactPhone { get; set; } // 联系人电话 + public string DeliveryMethod { get; set; } // 配送方式 + public string VehicleModel { get; set; } // 车辆型号 + public string Volume { get; set; } // 体积 + public string DeliveryPlanner { get; set; } // 配送计划经办人 + + + } +} diff --git a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs index b15ade42..79756d73 100644 --- a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs @@ -199,6 +199,35 @@ namespace ZR.Model.FjhsRecycle.Dto public string RecycleTime { get; set; } + /// + /// 回收物资 + /// + [ExcelColumnName("回收物资")] + public string RecoveryMaterials { get; set; } + + + + /// + /// 回收地点 + /// + [ExcelColumnName("回收地点")] + public string RecoveryLocation { get; set; } + + + /// + /// 体积 + /// + [ExcelColumnName("体积")] + public string Volume { get; set; } + + + /// + /// 配送方式 + /// + [ExcelColumnName("配送方式")] + public string DeliveryMethod { get; set; } + + } diff --git a/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs b/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs index 93e555e8..6dac1b87 100644 --- a/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs +++ b/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs @@ -140,6 +140,42 @@ namespace ZR.Model.FjhsRecycle [SugarColumn(ColumnName = "update_time")] public DateTime? UpdateTime { get; set; } + + + + + /// + /// 回收物资 + /// + [SugarColumn(ColumnName = "recovery_materials")] + public string RecoveryMaterials { get; set; } + + + + + + /// + /// 回收地点 + /// + [SugarColumn(ColumnName = "recovery_location")] + public string RecoveryLocation { get; set; } + + + + /// + /// 体积 + /// + [SugarColumn(ColumnName = "volume")] + public string Volume { get; set; } + + + + /// + /// 配送方式 + /// + [SugarColumn(ColumnName = "delivery_method")] + public string DeliveryMethod { get; set; } + /// /// 创建时间 /// diff --git a/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs index 61857ab2..e126a986 100644 --- a/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs +++ b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs @@ -37,58 +37,7 @@ namespace ZR.Model.FjhsRecycleSampling.Dto /// public class FjhsRecycleSamplingDetailDto { - //[ExcelColumn(Name = "备用1")] - //[ExcelColumnName("备用1")] - //public string Backup1 { get; set; } - - //[ExcelColumn(Name = "备用12")] - //[ExcelColumnName("备用12")] - //public string Backup12 { get; set; } - - //[ExcelColumn(Name = "备用11")] - //[ExcelColumnName("备用11")] - //public string Backup11 { get; set; } - - //[ExcelColumn(Name = "备用10")] - //[ExcelColumnName("备用10")] - //public string Backup10 { get; set; } - - //[ExcelColumn(Name = "备用9")] - //[ExcelColumnName("备用9")] - //public string Backup9 { get; set; } - - //[ExcelColumn(Name = "备用8")] - //[ExcelColumnName("备用8")] - //public string Backup8 { get; set; } - - //[ExcelColumn(Name = "备用7")] - //[ExcelColumnName("备用7")] - //public string Backup7 { get; set; } - - //[ExcelColumn(Name = "备用6")] - //[ExcelColumnName("备用6")] - //public string Backup6 { get; set; } - - //[ExcelColumn(Name = "备用5")] - //[ExcelColumnName("备用5")] - //public string Backup5 { get; set; } - - //[ExcelColumn(Name = "备用4")] - //[ExcelColumnName("备用4")] - //public string Backup4 { get; set; } - - //[ExcelColumn(Name = "备用3")] - //[ExcelColumnName("备用3")] - //public string Backup3 { get; set; } - - //[ExcelColumn(Name = "备用2")] - //[ExcelColumnName("备用2")] - //public string Backup2 { get; set; } - - //[Required(ErrorMessage = "自增主键ID不能为空")] - //[ExcelColumn(Name = "自增主键ID")] - //[ExcelColumnName("自增主键ID")] - //public int Id { get; set; } + [ExcelColumn(Name = "备注")] [ExcelColumnName("备注")] @@ -110,31 +59,7 @@ namespace ZR.Model.FjhsRecycleSampling.Dto [ExcelColumnName("预计回收数量")] public int? EstimatedRecycleQuantity { get; set; } - //[ExcelColumn(Name = "计量单位(卡片)")] - //[ExcelColumnName("计量单位(卡片)")] - //public string UnitCard { get; set; } - - //[ExcelColumn(Name = "规格程式")] - //[ExcelColumnName("规格程式")] - //public string Specification { get; set; } - - //[ExcelColumn(Name = "资产卡片号")] - //[ExcelColumnName("资产卡片号")] - //public string AssetCardNumber { get; set; } - - //[ExcelColumn(Name = "资产名称")] - //[ExcelColumnName("资产名称")] - //public string AssetName { get; set; } - - //[ExcelColumn(Name = "物料名称")] - //[ExcelColumnName("物料名称")] - //public string MaterialName { get; set; } - - //[Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] - //[ExcelColumn(Name = "单据编号(关联回收任务主表)")] - //[ExcelColumnName("单据编号(关联回收任务主表)")] - //public string DocNumber { get; set; } - + @@ -158,6 +83,42 @@ namespace ZR.Model.FjhsRecycleSampling.Dto [ExcelColumnName("配送经办人")] public string DeliveryManager { get; set; } + + + /// + /// 回收物资 + /// + [ExcelColumnName("回收物资")] + public string RecoveryMaterials { get; set; } + + + + /// + /// 回收地点 + /// + [ExcelColumnName("回收地点")] + public string RecoveryLocation { get; set; } + + + /// + /// 体积 + /// + [ExcelColumnName("体积")] + public string Volume { get; set; } + + + /// + /// 配送方式 + /// + [ExcelColumnName("配送方式")] + public string DeliveryMethod { get; set; } + + [ExcelColumn(Name = "车辆型号")] + [ExcelColumnName("车辆型号")] + public string VehicleModel { get; set; } + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] [ExcelColumnName("是否提交:0-未提交,1-已提交")] public string IsSubmitted { get; set; } diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index a204f357..a82a961b 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -7,7 +7,7 @@ - + diff --git a/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs index 1660cdb3..4e10e136 100644 --- a/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs @@ -44,6 +44,25 @@ namespace ZR.Service.FjhsImage return response; } + + /// + /// 获取详情 + /// + /// + /// + public List< FjhsRecycleTaskDetailImage> GetListAll(string docnumber) + { + var response = Queryable() + .Where(x => x.DocNumber == docnumber) + .ToList(); + ; + + return response; + } + + + + /// /// 添加回收任务明细图片表 /// diff --git a/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs index 4db5a164..3b3a3e8b 100644 --- a/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs @@ -1,4 +1,4 @@ -using ZR.Model.FjhsImage.Dto; +using ZR.Model.FjhsImage.Dto; using ZR.Model.FjhsImage; namespace ZR.Service.FjhsImage.IFjhsImageService @@ -12,6 +12,7 @@ namespace ZR.Service.FjhsImage.IFjhsImageService FjhsRecycleTaskDetailImage GetInfo(int Id); + List GetListAll(string docnumber); FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs index 869975c1..d15a2eff 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -13,6 +13,7 @@ using System.Collections.Generic; using Azure; using Aliyun.OSS; using ZR.Model.FjhsImage.Dto; +using ZR.Model.DownM; namespace ZR.Service.FjhsRecycle { @@ -536,7 +537,18 @@ namespace ZR.Service.FjhsRecycle /// public int UpdateFjhsRecycleTaskHead(FjhsRecycleTaskHead model) { - return Update(model, true); + + + try + { + return Update(model, true); + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } } @@ -888,6 +900,82 @@ namespace ZR.Service.FjhsRecycle + public List GetTransportInfoList(int id) + { + + + // 1. 查询主表信息(不含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.id AS Id, + h.number as number, + h.doc_type as ProjectType, + h.remarks as Remark, + h.recovery_materials as RecoveryMaterials, + h.recycle_destination as RecoveryDestination, + h.demand_unit as CustomerUnit, + h.recovery_location as RecoveryLocation, + h.contact_person as ContactPerson, + h.contact_phone as ContactPhone, + h.delivery_method as DeliveryMethod, + h.vehicle_model as VehicleModel, + h.volume as Volume, + h.delivery_manager as DeliveryPlanner + + + FROM + fjhs_recycle_task_head h + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + + return mainList; + + } + + + + + public List GetRecycleMaterialDetailList(int id) + { + + + // 1. 查询主表信息(不含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.demand_unit AS DemandUnit, + h.site AS Site, + d.material_name AS MaterialName, + d.specification as Specification, + d.unit_card as Unit, + d.expected_recycle_qty as PlanRecycleCount, + d.actual_recycle_qty as ActualRecycleCount, + d.remarks as Remarks + + + FROM + fjhs_recycle_task_head h + + LEFT JOIN fjhs_recycle_detail d + ON h.doc_number = d.doc_number + + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + + return mainList; + + } + + + + } } \ No newline at end of file diff --git a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs index 392b4eb9..816deaeb 100644 --- a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs @@ -1,5 +1,6 @@ using ZR.Model.FjhsRecycle.Dto; using ZR.Model.FjhsRecycle; +using ZR.Model.DownM; namespace ZR.Service.FjhsRecycle.IFjhsRecycleService { @@ -14,6 +15,9 @@ namespace ZR.Service.FjhsRecycle.IFjhsRecycleService List< FjhsRecycleTaskHeadDto> GetInfo(int Id); List GetFjhsRecycleSampleList(int id); + + List GetTransportInfoList(int id); + List GetRecycleMaterialDetailList(int id); List Getlist(int Id); FjhsRecycleTaskHead AddFjhsRecycleTaskHead(FjhsRecycleTaskHead parm); diff --git a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs index 1f87015b..9da54fa6 100644 --- a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs @@ -6,6 +6,7 @@ using ZR.Repository; using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; using ZR.Model.FjhsRecycle.Dto; using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +using MimeKit; namespace ZR.Service.FjhsRecycleSampling { @@ -159,6 +160,31 @@ namespace ZR.Service.FjhsRecycleSampling } + private (string WhereSql, SugarParameter[] Parameters) GetWhereDocNumber(FjhsRecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.DocNumber.ToString())) + { + string paramName = "@DocNumber"; + whereConditions.Add($"h.doc_number = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DocNumber)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleSamplingDetailQueryDto parm) { var whereConditions = new List(); @@ -316,6 +342,93 @@ namespace ZR.Service.FjhsRecycleSampling + public List GetInfoMaterialDetailsList(int Id) + { + var parm = new FjhsRecycleSamplingDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_sampling_quantity AS ActualSamplingQuantity, + d.estimated_recycle_quantity AS ApprovedQuantity, + d.remarks AS Remarks, + d.sampler AS Sampler, + d.sampling_time AS SamplingTime + FROM + fjhs_recycle_sampling_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM fjhs_recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + + try + { + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + return detailList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + } + + + public List GetID(string DocNumber) + { + var parm = new FjhsRecycleSamplingDetailQueryDto(); + parm.DocNumber = DocNumber; + + var (whereSql, parameters) = GetWhereDocNumber(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber + + FROM + fjhs_recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + try + { + // 执行主表查询 + var mainList = SqlQueryToList_T(mainSql, parameters); + + return mainList; + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } + + } + + + + + public List GetInfo(int Id) { var parm = new FjhsRecycleSamplingDetailQueryDto(); diff --git a/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs index bc04dcdb..e1816b57 100644 --- a/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs @@ -12,6 +12,9 @@ namespace ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService List GetInfo(int Id); + List GetID(string DocNumber); + + List GetInfoMaterialDetailsList(int Id); FjhsRecycleSamplingDetail AddFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); int UpdateFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); -- Gitee From a799970f15a52470f65425ff1924e271c7f6536e Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Wed, 24 Sep 2025 23:59:37 +0800 Subject: [PATCH 12/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=89=A9=E8=B5=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=9A=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FjhsRecycleTaskHeadController.cs | 40 +++++++++++++++++++ .../FjhsDetail/FjhsRecycleDetailService.cs | 16 ++++++-- .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 30 +++++++++----- .../FjhsRecycleSamplingDetailService.cs | 20 +++++++--- 4 files changed, 88 insertions(+), 18 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs index 441e5990..1dcdcec4 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs @@ -470,6 +470,46 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle } + if (parm.CurrentProcessStatus =="生成单据") + { + parm.CurrentProcessStatus = "0"; + } + + if (parm.CurrentProcessStatus == "待堪样") + { + parm.CurrentProcessStatus = "01"; + } + + if (parm.CurrentProcessStatus == "堪样暂存") + { + parm.CurrentProcessStatus = "02"; + } + + if (parm.CurrentProcessStatus == "堪样完成") + { + parm.CurrentProcessStatus = "03"; + } + + if (parm.CurrentProcessStatus == "待回收搬运") + { + parm.CurrentProcessStatus = "1"; + } + + if (parm.CurrentProcessStatus == "回收搬运暂存") + { + parm.CurrentProcessStatus = "11"; + } + + if (parm.CurrentProcessStatus == "完成") + { + parm.CurrentProcessStatus = "2"; + } + + if (parm.CurrentProcessStatus == "取消") + { + parm.CurrentProcessStatus = "99"; + } + var modal = parm.Adapt().ToUpdate(HttpContext); diff --git a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs index d0d6f855..bed30163 100644 --- a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs +++ b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs @@ -92,7 +92,7 @@ namespace ZR.Service.FjhsDetail JOIN fjhs_recycle_detail d ON h.doc_number = d.doc_number WHERE - 1=1 {whereSql} + h.current_process_status IN ('1','11') {whereSql} GROUP BY h.doc_number, h.demand_unit, h.site, h.update_time, h.current_process_status, h.current_expected_status, @@ -113,7 +113,7 @@ namespace ZR.Service.FjhsDetail JOIN fjhs_recycle_detail d ON h.doc_number = d.doc_number WHERE - 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + h.current_process_status IN ('1','11') {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 // 5. 执行查询(参数化传递,防止SQL注入) @@ -304,7 +304,17 @@ namespace ZR.Service.FjhsDetail h.demand_unit AS DemandUnit, h.site AS Site, h.update_time AS UpdateTime, - h.current_process_status AS CurrentProcessStatus, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, h.current_expected_status AS CurrentExpectedStatus, h.contact_phone AS ContactPhone, h.contact_person AS ContactPerson, diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs index d15a2eff..f388b3b2 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -173,7 +173,7 @@ namespace ZR.Service.FjhsRecycle LEFT JOIN fjhs_recycle_task_detail d ON h.doc_number = d.doc_number WHERE - 1=1 {whereSql} + h.current_process_status != '99' {whereSql} GROUP BY h.doc_number, h.demand_unit, h.site, h.update_time, h.current_process_status, h.current_expected_status, @@ -187,14 +187,14 @@ namespace ZR.Service.FjhsRecycle // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) string countSql = $@" - SELECT - COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 - FROM - fjhs_recycle_task_head h - LEFT JOIN - fjhs_recycle_task_detail d ON h.doc_number = d.doc_number - WHERE - 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + fjhs_recycle_task_head h + LEFT JOIN + fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status != '99' {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 // 5. 执行查询(参数化传递,防止SQL注入) @@ -397,7 +397,17 @@ namespace ZR.Service.FjhsRecycle h.demand_unit AS DemandUnit, h.site AS Site, h.update_time AS UpdateTime, - h.current_process_status AS CurrentProcessStatus, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, h.current_expected_status AS CurrentExpectedStatus, h.contact_phone AS ContactPhone, h.contact_person AS ContactPerson, diff --git a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs index 9da54fa6..011afa2b 100644 --- a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs @@ -87,7 +87,7 @@ namespace ZR.Service.FjhsRecycleSampling JOIN fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number WHERE - 1=1 {whereSql} + h.current_process_status IN ('01','02','03') {whereSql} GROUP BY h.doc_number, h.demand_unit, h.site, h.update_time, h.current_process_status, h.current_expected_status, @@ -108,7 +108,7 @@ namespace ZR.Service.FjhsRecycleSampling JOIN fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number WHERE - 1=1 {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + h.current_process_status IN ('01','02','03') {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 // 5. 执行查询(参数化传递,防止SQL注入) @@ -443,8 +443,18 @@ namespace ZR.Service.FjhsRecycleSampling h.doc_number AS DocNumber, h.demand_unit AS DemandUnit, h.site AS Site, - h.update_time AS UpdateTime, - h.current_process_status AS CurrentProcessStatus, + h.update_time AS UpdateTime, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, h.current_expected_status AS CurrentExpectedStatus, h.contact_phone AS ContactPhone, h.contact_person AS ContactPerson, @@ -452,7 +462,7 @@ namespace ZR.Service.FjhsRecycleSampling CASE WHEN h.is_meet_recycle_condition = 0 THEN '不具备' WHEN h.is_meet_recycle_condition = 1 THEN '具备' - ELSE '待定' + ELSE '具备' END AS IsMeetRecycleCondition, -- 添加主表其他需要的字段 h.creator AS Creator, -- Gitee From 273fc6de3191371be1d0a64cc666cf0d500a13cf Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Fri, 26 Sep 2025 17:29:05 +0800 Subject: [PATCH 13/29] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PmsAccountingDetailsController.cs | 155 +++ .../BaseInfo/Dto/PmsAccountingDetailsDto.cs | 776 ++++++++++++++ ZR.Model/BaseInfo/PmsAccountingDetails.cs | 946 ++++++++++++++++++ .../IPmsAccountingDetailsService.cs | 23 + .../BaseInfo/PmsAccountingDetailsService.cs | 140 +++ 5 files changed, 2040 insertions(+) create mode 100644 ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs create mode 100644 ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs create mode 100644 ZR.Model/BaseInfo/PmsAccountingDetails.cs create mode 100644 ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs create mode 100644 ZR.Service/BaseInfo/PmsAccountingDetailsService.cs diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs new file mode 100644 index 00000000..19c4ad35 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs @@ -0,0 +1,155 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Service.BaseInfo.IBaseInfoService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-09-26 +namespace ZR.Admin.WebApi.Controllers.BaseInfo +{ + /// + /// 核算明细 + /// + [Verify] + [Route("BaseInfo/PmsAccountingDetails")] + public class PmsAccountingDetailsController : BaseController + { + /// + /// 核算明细接口 + /// + private readonly IPmsAccountingDetailsService _PmsAccountingDetailsService; + + public PmsAccountingDetailsController(IPmsAccountingDetailsService PmsAccountingDetailsService) + { + _PmsAccountingDetailsService = PmsAccountingDetailsService; + } + + /// + /// 查询核算明细列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:list")] + public IActionResult QueryPmsAccountingDetails([FromQuery] PmsAccountingDetailsQueryDto parm) + { + var response = _PmsAccountingDetailsService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询核算明细详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:query")] + public IActionResult GetPmsAccountingDetails(int Id) + { + var response = _PmsAccountingDetailsService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加核算明细 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:add")] + [Log(Title = "核算明细", BusinessType = BusinessType.INSERT)] + public IActionResult AddPmsAccountingDetails([FromBody] PmsAccountingDetailsDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _PmsAccountingDetailsService.AddPmsAccountingDetails(modal); + + return SUCCESS(response); + } + + /// + /// 更新核算明细 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:edit")] + [Log(Title = "核算明细", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdatePmsAccountingDetails([FromBody] PmsAccountingDetailsDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _PmsAccountingDetailsService.UpdatePmsAccountingDetails(modal); + + return ToResponse(response); + } + + /// + /// 删除核算明细 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:delete")] + [Log(Title = "核算明细", BusinessType = BusinessType.DELETE)] + public IActionResult DeletePmsAccountingDetails([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_PmsAccountingDetailsService.Delete(idArr, "删除核算明细")); + } + + /// + /// 导出核算明细 + /// + /// + [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:export")] + public IActionResult Export([FromQuery] PmsAccountingDetailsQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsAccountingDetailsService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "核算明细", "核算明细"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "核算明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "pmsaccountingdetails:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_PmsAccountingDetailsService.ImportPmsAccountingDetails(list.Adapt>())); + } + + /// + /// 核算明细导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "核算明细模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "PmsAccountingDetails"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs new file mode 100644 index 00000000..e40d6fce --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs @@ -0,0 +1,776 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 核算明细查询对象 + /// + public class PmsAccountingDetailsQueryDto : PagerInfo + { + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + public string AOEmployeeCode { get; set; } + public string APDeptNameHR { get; set; } + public string ASDeptName { get; set; } + public string ATDeptName { get; set; } + public string AUCenterName { get; set; } + public string AVTeamName { get; set; } + public string AWEmployeeType { get; set; } + public string AXEmployeeType { get; set; } + } + + /// + /// 核算明细输入输出对象 + /// + public class PmsAccountingDetailsDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/PmsAccountingDetails.cs b/ZR.Model/BaseInfo/PmsAccountingDetails.cs new file mode 100644 index 00000000..d66986fc --- /dev/null +++ b/ZR.Model/BaseInfo/PmsAccountingDetails.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.BaseInfo +{ + /// + /// 核算明细 + /// + [SugarTable("pms_accounting_details")] + public class PmsAccountingDetails + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs new file mode 100644 index 00000000..66663a3e --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs @@ -0,0 +1,23 @@ +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; + +namespace ZR.Service.BaseInfo.IBaseInfoService +{ + /// + /// 核算明细service接口 + /// + public interface IPmsAccountingDetailsService : IBaseService + { + PagedInfo GetList(PmsAccountingDetailsQueryDto parm); + + PmsAccountingDetails GetInfo(int Id); + + + PmsAccountingDetails AddPmsAccountingDetails(PmsAccountingDetails parm); + int UpdatePmsAccountingDetails(PmsAccountingDetails parm); + + (string, object, object) ImportPmsAccountingDetails(List list); + + PagedInfo ExportList(PmsAccountingDetailsQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs new file mode 100644 index 00000000..ee5f0b7a --- /dev/null +++ b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs @@ -0,0 +1,140 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.BaseInfo.Dto; +using ZR.Model.BaseInfo; +using ZR.Repository; +using ZR.Service.BaseInfo.IBaseInfoService; + +namespace ZR.Service.BaseInfo +{ + /// + /// 核算明细Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsAccountingDetailsService), ServiceLifetime = LifeTime.Transient)] + public class PmsAccountingDetailsService : BaseService, IPmsAccountingDetailsService + { + /// + /// 查询核算明细列表 + /// + /// + /// + public PagedInfo GetList(PmsAccountingDetailsQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsAccountingDetails GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加核算明细 + /// + /// + /// + public PmsAccountingDetails AddPmsAccountingDetails(PmsAccountingDetails model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改核算明细 + /// + /// + /// + public int UpdatePmsAccountingDetails(PmsAccountingDetails model) + { + return Update(model, true, "修改核算明细"); + } + + /// + /// 导入核算明细 + /// + /// + public (string, object, object) ImportPmsAccountingDetails(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.AOEmployeeCode.IsEmpty(), "人员编码不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出核算明细 + /// + /// + /// + public PagedInfo ExportList(PmsAccountingDetailsQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsAccountingDetailsDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsAccountingDetailsQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AOEmployeeCode), it => it.AOEmployeeCode == parm.AOEmployeeCode); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.APDeptNameHR), it => it.APDeptNameHR == parm.APDeptNameHR); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ASDeptName), it => it.ASDeptName == parm.ASDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ATDeptName), it => it.ATDeptName == parm.ATDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AUCenterName), it => it.AUCenterName == parm.AUCenterName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AVTeamName), it => it.AVTeamName == parm.AVTeamName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AWEmployeeType), it => it.AWEmployeeType == parm.AWEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AXEmployeeType), it => it.AXEmployeeType == parm.AXEmployeeType); + return predicate; + } + } +} \ No newline at end of file -- Gitee From f05053cb64d261713d58f18fc64b5aacae8280c4 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Fri, 26 Sep 2025 23:37:17 +0800 Subject: [PATCH 14/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=EF=BC=9A=E5=9B=9E=E6=94=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E7=9A=84=E5=80=BC=E4=BB=8Efjhs=5Frecycle=5Fd?= =?UTF-8?q?etail=E4=B8=AD=E8=8E=B7=E5=8F=96=E5=80=BC=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=BA=E4=BB=8Efjhs=5Frecycle=5Ftask=5Fhead=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs index bed30163..a5180a0c 100644 --- a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs +++ b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs @@ -49,7 +49,7 @@ namespace ZR.Service.FjhsDetail SELECT h.id as Id, h.doc_number AS DocNumber, - d.HBdoc_number AS HBDocNumber, + h.number AS HBDocNumber, h.demand_unit AS DemandUnit, h.site AS Site, h.update_time AS UpdateTime, -- Gitee From 574871bd10843054cdb7c075035ff21e3c1135fa Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Sun, 28 Sep 2025 16:10:50 +0800 Subject: [PATCH 15/29] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=EF=BC=9A1=E3=80=81?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=B7=A5=E5=85=B7=E7=B1=BB=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/ImageTest.cs | 79 ++ Test/ZR.Test.csproj | 13 + .../Report/PmsAccrualItemProvideController.cs | 77 ++ .../Report/PmsAccrualItemSetController.cs | 77 ++ .../Report/PmsEmployeeCostController.cs | 77 ++ .../PmsEmployeeCostDetailsController.cs | 77 ++ .../PmsEmployeeCostStatisticController.cs | 77 ++ ZR.Admin.WebApi/appsettings.json | 2 +- ZR.Common/ImageHelper.cs | 473 +++++++++ ZR.Common/ZR.Common.csproj | 2 + .../Report/Dto/PmsAccrualItemProvideDto.cs | 769 ++++++++++++++ ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs | 769 ++++++++++++++ .../Report/Dto/PmsEmployeeCostDetailsDto.cs | 769 ++++++++++++++ ZR.Model/Report/Dto/PmsEmployeeCostDto.cs | 769 ++++++++++++++ .../Report/Dto/PmsEmployeeCostStatisticDto.cs | 769 ++++++++++++++ ZR.Model/Report/PmsAccrualItemProvide.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsAccrualItemSet.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsEmployeeCost.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsEmployeeCostDetails.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsEmployeeCostStatistic.cs | 946 ++++++++++++++++++ .../IPmsAccrualItemProvideService.cs | 21 + .../IPmsAccrualItemSetService.cs | 21 + .../IPmsEmployeeCostDetailsService.cs | 21 + .../IReportService/IPmsEmployeeCostService.cs | 21 + .../IPmsEmployeeCostStatisticService.cs | 21 + .../Report/PmsAccrualItemProvideService.cs | 94 ++ ZR.Service/Report/PmsAccrualItemSetService.cs | 94 ++ .../Report/PmsEmployeeCostDetailsService.cs | 94 ++ ZR.Service/Report/PmsEmployeeCostService.cs | 94 ++ .../Report/PmsEmployeeCostStatisticService.cs | 94 ++ ZRAdmin.sln | 6 + 31 files changed, 10109 insertions(+), 1 deletion(-) create mode 100644 Test/ImageTest.cs create mode 100644 Test/ZR.Test.csproj create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs create mode 100644 ZR.Common/ImageHelper.cs create mode 100644 ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs create mode 100644 ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs create mode 100644 ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs create mode 100644 ZR.Model/Report/Dto/PmsEmployeeCostDto.cs create mode 100644 ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs create mode 100644 ZR.Model/Report/PmsAccrualItemProvide.cs create mode 100644 ZR.Model/Report/PmsAccrualItemSet.cs create mode 100644 ZR.Model/Report/PmsEmployeeCost.cs create mode 100644 ZR.Model/Report/PmsEmployeeCostDetails.cs create mode 100644 ZR.Model/Report/PmsEmployeeCostStatistic.cs create mode 100644 ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsAccrualItemSetService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs create mode 100644 ZR.Service/Report/PmsAccrualItemProvideService.cs create mode 100644 ZR.Service/Report/PmsAccrualItemSetService.cs create mode 100644 ZR.Service/Report/PmsEmployeeCostDetailsService.cs create mode 100644 ZR.Service/Report/PmsEmployeeCostService.cs create mode 100644 ZR.Service/Report/PmsEmployeeCostStatisticService.cs diff --git a/Test/ImageTest.cs b/Test/ImageTest.cs new file mode 100644 index 00000000..e9e7775a --- /dev/null +++ b/Test/ImageTest.cs @@ -0,0 +1,79 @@ +using ImageProcessingToolkit; +using SixLabors.ImageSharp; +using SixLabors.ImageSharp.Formats.Png; +using SixLabors.ImageSharp.Processing; +using SixLabors.ImageSharp.Processing.Processors; + +namespace Test +{ + public class ImageTest + { + public void Test() + { + // 加载图片 + // 1. 加载图片 + var image = ImageHelper.LoadImage("input.jpg"); + + // 2. 裁剪图片 + var croppedImage = ImageHelper.Crop(image, 100, 100, 300, 200); + + // 3. 缩放图片 + var resizedImage = ImageHelper.Resize(image, 800, 600); + + // 4. 按比例缩放 + var scaledImage = ImageHelper.Scale(image, 0.5f); // 缩小到50% + + // 5. 旋转图片 + var rotatedImage = ImageHelper.Rotate(image, 45); // 旋转45度 + + // 6. 翻转图片 + var flippedImage = ImageHelper.Flip(image, FlipMode.Horizontal); // 水平翻转 + + // 7. 添加文字水印 + var textWatermarkedImage = ImageHelper.AddTextWatermark( + image, + "Sample Watermark", + 24, + Color.White, + new PointF(10, 10), + 0.7f); + + // 8. 添加图片水印 + var watermark = ImageHelper.LoadImage("watermark.png"); + var imageWatermarkedImage = ImageHelper.AddImageWatermark( + image, + watermark, + new Point(10, 10), + 0.5f, + new Size(100, 50)); + + // 9. 去除杂物/水印 + var cleanedImage = ImageHelper.RemoveObject(image, 50, 50, 100, 100); + + // 10. 图层合成 + var overlay = ImageHelper.LoadImage("overlay.png"); + var compositedImage = ImageHelper.Composite(image, overlay, new Point(0, 0), 0.5f); + + // 11. 格式转换 + var pngImage = ImageHelper.ConvertFormat(image, PngFormat.Instance); + + // 12. 图片压缩 + var compressedImage = ImageHelper.Compress(image, 80); // 80%质量 + + // 13. 灰度化 + var grayscaleImage = ImageHelper.Grayscale(image); + + // 14. 保存图片 + ImageHelper.SaveImage(compressedImage, "output.jpg"); + + // 15. 保存到字节数组 + byte[] imageBytes = ImageHelper.SaveImageToBytes(grayscaleImage); + + // 每个图片都需要释放资源 + image.Dispose(); + croppedImage.Dispose(); + resizedImage.Dispose(); + + } + } +} diff --git a/Test/ZR.Test.csproj b/Test/ZR.Test.csproj new file mode 100644 index 00000000..1e41cb67 --- /dev/null +++ b/Test/ZR.Test.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs new file mode 100644 index 00000000..d7653978 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-09-28 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 报账行信息集-发放 + /// + [Verify] + [Route("Report/PmsAccrualItemProvide")] + public class PmsAccrualItemProvideController : BaseController + { + /// + /// 报账行信息集-发放接口 + /// + private readonly IPmsAccrualItemProvideService _PmsAccrualItemProvideService; + + public PmsAccrualItemProvideController(IPmsAccrualItemProvideService PmsAccrualItemProvideService) + { + _PmsAccrualItemProvideService = PmsAccrualItemProvideService; + } + + /// + /// 查询报账行信息集-发放列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsAccrualItemProvide:list")] + public IActionResult QueryPmsAccrualItemProvide([FromQuery] PmsAccrualItemProvideQueryDto parm) + { + var response = _PmsAccrualItemProvideService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询报账行信息集-发放详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsAccrualItemProvide:query")] + public IActionResult GetPmsAccrualItemProvide(int Id) + { + var response = _PmsAccrualItemProvideService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出报账行信息集-发放 + /// + /// + [Log(Title = "报账行信息集-发放", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsAccrualItemProvide:export")] + public IActionResult Export([FromQuery] PmsAccrualItemProvideQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsAccrualItemProvideService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "报账行信息集-发放", "报账行信息集-发放"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs new file mode 100644 index 00000000..40cff64d --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-09-28 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 报账行信息集-计提 + /// + [Verify] + [Route("Report/PmsAccrualItemSet")] + public class PmsAccrualItemSetController : BaseController + { + /// + /// 报账行信息集-计提接口 + /// + private readonly IPmsAccrualItemSetService _PmsAccrualItemSetService; + + public PmsAccrualItemSetController(IPmsAccrualItemSetService PmsAccrualItemSetService) + { + _PmsAccrualItemSetService = PmsAccrualItemSetService; + } + + /// + /// 查询报账行信息集-计提列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsAccrualItemSet:list")] + public IActionResult QueryPmsAccrualItemSet([FromQuery] PmsAccrualItemSetQueryDto parm) + { + var response = _PmsAccrualItemSetService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询报账行信息集-计提详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsAccrualItemSet:query")] + public IActionResult GetPmsAccrualItemSet(int Id) + { + var response = _PmsAccrualItemSetService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出报账行信息集-计提 + /// + /// + [Log(Title = "报账行信息集-计提", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsAccrualItemSet:export")] + public IActionResult Export([FromQuery] PmsAccrualItemSetQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsAccrualItemSetService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "报账行信息集-计提", "报账行信息集-计提"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs new file mode 100644 index 00000000..cd3034c6 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-09-28 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 人工成本 + /// + [Verify] + [Route("Report/PmsEmployeeCost")] + public class PmsEmployeeCostController : BaseController + { + /// + /// 人工成本接口 + /// + private readonly IPmsEmployeeCostService _PmsEmployeeCostService; + + public PmsEmployeeCostController(IPmsEmployeeCostService PmsEmployeeCostService) + { + _PmsEmployeeCostService = PmsEmployeeCostService; + } + + /// + /// 查询人工成本列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:list")] + public IActionResult QueryPmsEmployeeCost([FromQuery] PmsEmployeeCostQueryDto parm) + { + var response = _PmsEmployeeCostService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询人工成本详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:query")] + public IActionResult GetPmsEmployeeCost(int Id) + { + var response = _PmsEmployeeCostService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出人工成本 + /// + /// + [Log(Title = "人工成本", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:export")] + public IActionResult Export([FromQuery] PmsEmployeeCostQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsEmployeeCostService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "人工成本", "人工成本"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs new file mode 100644 index 00000000..3d7249fb --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-09-28 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 核算明细 + /// + [Verify] + [Route("Report/PmsEmployeeCostDetails")] + public class PmsEmployeeCostDetailsController : BaseController + { + /// + /// 核算明细接口 + /// + private readonly IPmsEmployeeCostDetailsService _PmsEmployeeCostDetailsService; + + public PmsEmployeeCostDetailsController(IPmsEmployeeCostDetailsService PmsEmployeeCostDetailsService) + { + _PmsEmployeeCostDetailsService = PmsEmployeeCostDetailsService; + } + + /// + /// 查询核算明细列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostDetails:list")] + public IActionResult QueryPmsEmployeeCostDetails([FromQuery] PmsEmployeeCostDetailsQueryDto parm) + { + var response = _PmsEmployeeCostDetailsService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询核算明细详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostDetails:query")] + public IActionResult GetPmsEmployeeCostDetails(int Id) + { + var response = _PmsEmployeeCostDetailsService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出核算明细 + /// + /// + [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostDetails:export")] + public IActionResult Export([FromQuery] PmsEmployeeCostDetailsQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsEmployeeCostDetailsService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "核算明细", "核算明细"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs new file mode 100644 index 00000000..241d3322 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-09-28 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 核算明细 + /// + [Verify] + [Route("Report/PmsEmployeeCostStatistic")] + public class PmsEmployeeCostStatisticController : BaseController + { + /// + /// 核算明细接口 + /// + private readonly IPmsEmployeeCostStatisticService _PmsEmployeeCostStatisticService; + + public PmsEmployeeCostStatisticController(IPmsEmployeeCostStatisticService PmsEmployeeCostStatisticService) + { + _PmsEmployeeCostStatisticService = PmsEmployeeCostStatisticService; + } + + /// + /// 查询核算明细列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostStatistic:list")] + public IActionResult QueryPmsEmployeeCostStatistic([FromQuery] PmsEmployeeCostStatisticQueryDto parm) + { + var response = _PmsEmployeeCostStatisticService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询核算明细详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostStatistic:query")] + public IActionResult GetPmsEmployeeCostStatistic(int Id) + { + var response = _PmsEmployeeCostStatisticService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出核算明细 + /// + /// + [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostStatistic:export")] + public IActionResult Export([FromQuery] PmsEmployeeCostStatisticQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsEmployeeCostStatisticService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "核算明细", "核算明细"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index fb7f566c..5c47fa85 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -112,6 +112,6 @@ "author": "admin", "tablePrefix": "sys_", //"表前缀(生成类名不会包含表前缀,多个用逗号分隔)", "vuePath": "", //前端代码存储路径eg:D:\Work\ZRAdmin-Vue3 - "uniappPath": "D:\\Work" //h5前端代码存储路径 + "uniappPath": "C:\\Work" //h5前端代码存储路径 } } diff --git a/ZR.Common/ImageHelper.cs b/ZR.Common/ImageHelper.cs new file mode 100644 index 00000000..f8fcdd60 --- /dev/null +++ b/ZR.Common/ImageHelper.cs @@ -0,0 +1,473 @@ +using SixLabors.Fonts; +using SixLabors.ImageSharp; +using SixLabors.ImageSharp.Drawing.Processing; +using SixLabors.ImageSharp.Formats; +using SixLabors.ImageSharp.Formats.Bmp; +using SixLabors.ImageSharp.Formats.Gif; +using SixLabors.ImageSharp.Formats.Jpeg; +using SixLabors.ImageSharp.Formats.Png; +using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Processing; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Numerics; + +namespace ImageProcessingToolkit +{ + /// + /// 图片处理工具类,支持多种图片处理操作 + /// + public static class ImageHelper + { + #region 基本操作 + + /// + /// 加载图片 + /// + /// 图片路径 + /// Image对象 + public static Image LoadImage(string imagePath) + { + return Image.Load(imagePath); + } + + /// + /// 从字节数组加载图片 + /// + /// 图片字节数组 + /// Image对象 + public static Image LoadImage(byte[] imageBytes) + { + using var stream = new MemoryStream(imageBytes); + return Image.Load(stream); + } + + /// + /// 保存图片 + /// + /// 图片对象 + /// 输出路径 + /// 图片格式 + public static void SaveImage(Image image, string outputPath, IImageFormat format = null) + { + if (format == null) + format = GetFormatFromExtension(outputPath); + + image.Save(outputPath, GetEncoder(format)); + } + + /// + /// 保存图片到字节数组 + /// + /// 图片对象 + /// 图片格式 + /// 图片字节数组 + public static byte[] SaveImageToBytes(Image image, IImageFormat format = null) + { + if (format == null) + format = PngFormat.Instance; + + using var memoryStream = new MemoryStream(); + image.Save(memoryStream, GetEncoder(format)); + return memoryStream.ToArray(); + } + + #endregion + + #region 图片变换操作 + + /// + /// 裁剪图片 + /// + /// 图片对象 + /// 起始X坐标 + /// 起始Y坐标 + /// 宽度 + /// 高度 + /// 处理后的图片 + public static Image Crop(Image image, int x, int y, int width, int height) + { + var clone = image.Clone(ctx => ctx.Crop(new Rectangle(x, y, width, height))); + return clone; + } + + /// + /// 缩放图片 + /// + /// 图片对象 + /// 目标宽度 + /// 目标高度 + /// 缩放模式 + /// 处理后的图片 + public static Image Resize(Image image, int width, int height, ResizeMode mode = ResizeMode.Stretch) + { + var clone = image.Clone(ctx => ctx.Resize(new ResizeOptions + { + Size = new Size(width, height), + Mode = mode + })); + return clone; + } + + /// + /// 按比例缩放图片 + /// + /// 图片对象 + /// 缩放比例 + /// 处理后的图片 + public static Image Scale(Image image, float scale) + { + int newWidth = (int)(image.Width * scale); + int newHeight = (int)(image.Height * scale); + return Resize(image, newWidth, newHeight); + } + + /// + /// 旋转图片 + /// + /// 图片对象 + /// 旋转角度 + /// 处理后的图片 + public static Image Rotate(Image image, float degrees) + { + var clone = image.Clone(ctx => ctx.Rotate(degrees)); + return clone; + } + + /// + /// 翻转图片 + /// + /// 图片对象 + /// 翻转模式 + /// 处理后的图片 + public static Image Flip(Image image, FlipMode flipMode) + { + var clone = image.Clone(ctx => ctx.Flip(flipMode)); + return clone; + } + + #endregion + + #region 水印操作 + + /// + /// 添加文字水印(修复 FontFamily 类型转换问题) + /// + /// 图片对象 + /// 水印文字 + /// 字体大小 + /// 颜色 + /// 位置 + /// 透明度(0-1) + /// 字体文件路径(可选) + /// 处理后的图片 + public static Image AddTextWatermark(Image image, string text, float fontSize, Color color, + PointF position, float opacity = 1f, string fontPath = null) + { + Font font; + + try + { + if (!string.IsNullOrEmpty(fontPath) && File.Exists(fontPath)) + { + // 从文件加载字体 + var fontCollection = new FontCollection(); + var fontFamily = fontCollection.Add(fontPath); + font = new Font(fontFamily, fontSize); + } + else + { + // 尝试获取系统字体 + var fontFamilies = SystemFonts.Collection.Families.ToArray(); + + // 优先尝试常见字体 + var preferredFonts = new[] { "Arial", "Microsoft Sans Serif", "DejaVu Sans", "Liberation Sans", "SimSun" }; + + + FontFamily fontFamily = default; + bool fontFound = false; + + foreach (var fontName in preferredFonts) + { + var foundFamily = fontFamilies.FirstOrDefault(f => f.Name.Equals(fontName, StringComparison.OrdinalIgnoreCase)); + if (!foundFamily.Equals(default(FontFamily))) + { + fontFamily = foundFamily; + fontFound = true; + break; + } + } + + // 如果没有找到首选字体,使用第一个可用字体 + if (!fontFound && fontFamilies.Length > 0) + { + fontFamily = fontFamilies[0]; + fontFound = true; + } + + if (!fontFound) + throw new Exception("没有可用的系统字体"); + + // 这里不再有类型转换错误,因为fontFamily是非可空类型 + font = new Font(fontFamily, fontSize); + } + } + catch (Exception ex) + { + throw new Exception($"加载字体失败: {ex.Message}"); + } + + var clone = image.Clone(ctx => + { + var drawingOptions = new DrawingOptions + { + GraphicsOptions = new GraphicsOptions + { + ColorBlendingMode = PixelColorBlendingMode.Normal, + AlphaCompositionMode = PixelAlphaCompositionMode.SrcOver, + BlendPercentage = opacity + } + }; + + var textOptions = new RichTextOptions(font) + { + Origin = position, + HorizontalAlignment = HorizontalAlignment.Left, + VerticalAlignment = VerticalAlignment.Top, + WrappingLength = image.Width - position.X // 设置换行长度 + }; + + // 使用Fill而不是DrawText + ctx.DrawText(drawingOptions, textOptions, text, Brushes.Solid(color), null); + }); + + return clone; + } + + /// + /// 添加图片水印 + /// + /// 原图片 + /// 水印图片 + /// 位置 + /// 透明度(0-1) + /// 水印尺寸(可选) + /// 处理后的图片 + public static Image AddImageWatermark(Image image, Image watermarkImage, Point position, + float opacity = 1f, Size? size = null) + { + // 调整水印图片大小 + if (size.HasValue) + { + watermarkImage = Resize(watermarkImage, size.Value.Width, size.Value.Height); + } + + var clone = image.Clone(ctx => + { + ctx.DrawImage(watermarkImage, position, opacity); + }); + + return clone; + } + + #endregion + + #region 高级处理 + + /// + /// 去除图片中的杂物/水印(基于区域修复) + /// + /// 图片对象 + /// 起始X坐标 + /// 起始Y坐标 + /// 区域宽度 + /// 区域高度 + /// 处理后的图片 + public static Image RemoveObject(Image image, int x, int y, int width, int height) + { + // 这是一个简化的实现,实际应用中可能需要更复杂的算法 + // 这里使用周围像素的平均值来填充指定区域 + + var clone = image.CloneAs(); + var area = new Rectangle(x, y, width, height); + + // 获取周围区域的平均颜色 + var surroundingPixels = new List(); + + // 上边界 + if (y > 0) + { + for (int i = x; i < x + width; i++) + { + surroundingPixels.Add(clone[i, y - 1]); + } + } + + // 下边界 + if (y + height < clone.Height) + { + for (int i = x; i < x + width; i++) + { + surroundingPixels.Add(clone[i, y + height]); + } + } + + // 左边界 + if (x > 0) + { + for (int j = y; j < y + height; j++) + { + surroundingPixels.Add(clone[x - 1, j]); + } + } + + // 右边界 + if (x + width < clone.Width) + { + for (int j = y; j < y + height; j++) + { + surroundingPixels.Add(clone[x + width, j]); + } + } + + if (surroundingPixels.Count > 0) + { + // 计算平均颜色 + int totalR = 0, totalG = 0, totalB = 0, totalA = 0; + foreach (var pixel in surroundingPixels) + { + totalR += pixel.R; + totalG += pixel.G; + totalB += pixel.B; + totalA += pixel.A; + } + + var avgColor = new Rgba32( + (byte)(totalR / surroundingPixels.Count), + (byte)(totalG / surroundingPixels.Count), + (byte)(totalB / surroundingPixels.Count), + (byte)(totalA / surroundingPixels.Count)); + + // 填充区域 + for (int i = x; i < x + width; i++) + { + for (int j = y; j < y + height; j++) + { + clone[i, j] = avgColor; + } + } + } + + return clone; + } + + /// + /// 图层合成 + /// + /// 底层图片 + /// 上层图片 + /// 上层图片位置 + /// 上层图片透明度 + /// 合成后的图片 + public static Image Composite(Image baseImage, Image overlayImage, Point position, float opacity = 1f) + { + var clone = baseImage.Clone(ctx => + { + ctx.DrawImage(overlayImage, position, opacity); + }); + + return clone; + } + + /// + /// 格式转换 + /// + /// 图片对象 + /// 目标格式 + /// 转换后的图片 + public static Image ConvertFormat(Image image, IImageFormat format) + { + using var memoryStream = new MemoryStream(); + image.Save(memoryStream, GetEncoder(format)); + memoryStream.Seek(0, SeekOrigin.Begin); + return Image.Load(memoryStream); + } + + /// + /// 图片压缩 + /// + /// 图片对象 + /// 压缩质量(0-100) + /// 压缩后的图片 + public static Image Compress(Image image, int quality) + { + // 对于JPEG格式,使用质量参数 + if (image.Metadata.DecodedImageFormat?.Name == "JPEG" || + image.Metadata.DecodedImageFormat?.Name == "JPG") + { + var jpegEncoder = new JpegEncoder { Quality = quality }; + using var memoryStream = new MemoryStream(); + image.Save(memoryStream, jpegEncoder); + memoryStream.Seek(0, SeekOrigin.Begin); + return Image.Load(memoryStream); + } + + // 对于其他格式,可以调整尺寸或使用其他压缩策略 + return image; + } + + /// + /// 灰度化 + /// + /// 图片对象 + /// 灰度化后的图片 + public static Image Grayscale(Image image) + { + var clone = image.Clone(ctx => ctx.Grayscale()); + return clone; + } + + #endregion + + #region 辅助方法 + + /// + /// 根据文件扩展名获取图片格式 + /// + /// 文件路径 + /// 图片格式 + private static IImageFormat GetFormatFromExtension(string filePath) + { + var extension = Path.GetExtension(filePath).ToLowerInvariant(); + return extension switch + { + ".jpg" or ".jpeg" => JpegFormat.Instance, + ".png" => PngFormat.Instance, + ".gif" => GifFormat.Instance, + ".bmp" => BmpFormat.Instance, + _ => PngFormat.Instance + }; + } + + /// + /// 获取对应格式的编码器 + /// + /// 图片格式 + /// 图片编码器 + private static IImageEncoder GetEncoder(IImageFormat format) + { + return format switch + { + _ when format == JpegFormat.Instance => new JpegEncoder(), + _ when format == PngFormat.Instance => new PngEncoder(), + _ when format == GifFormat.Instance => new GifEncoder(), + _ when format == BmpFormat.Instance => new BmpEncoder(), + _ => new PngEncoder() + }; + } + + #endregion + } +} \ No newline at end of file diff --git a/ZR.Common/ZR.Common.csproj b/ZR.Common/ZR.Common.csproj index bbef2dad..b5707592 100644 --- a/ZR.Common/ZR.Common.csproj +++ b/ZR.Common/ZR.Common.csproj @@ -8,6 +8,8 @@ + + diff --git a/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs new file mode 100644 index 00000000..fb6de4d3 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs @@ -0,0 +1,769 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 报账行信息集-发放查询对象 + /// + public class PmsAccrualItemProvideQueryDto : PagerInfo + { + public string BDeptName { get; set; } + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + } + + /// + /// 报账行信息集-发放输入输出对象 + /// + public class PmsAccrualItemProvideDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs new file mode 100644 index 00000000..4c13edda --- /dev/null +++ b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs @@ -0,0 +1,769 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 报账行信息集-计提查询对象 + /// + public class PmsAccrualItemSetQueryDto : PagerInfo + { + public string BDeptName { get; set; } + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + } + + /// + /// 报账行信息集-计提输入输出对象 + /// + public class PmsAccrualItemSetDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs new file mode 100644 index 00000000..ac56377f --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs @@ -0,0 +1,769 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 核算明细查询对象 + /// + public class PmsEmployeeCostDetailsQueryDto : PagerInfo + { + public string BDeptName { get; set; } + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + } + + /// + /// 核算明细输入输出对象 + /// + public class PmsEmployeeCostDetailsDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs new file mode 100644 index 00000000..d0959dd6 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs @@ -0,0 +1,769 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 人工成本查询对象 + /// + public class PmsEmployeeCostQueryDto : PagerInfo + { + public string BDeptName { get; set; } + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + } + + /// + /// 人工成本输入输出对象 + /// + public class PmsEmployeeCostDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs new file mode 100644 index 00000000..7a0f4903 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs @@ -0,0 +1,769 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 核算明细查询对象 + /// + public class PmsEmployeeCostStatisticQueryDto : PagerInfo + { + public string BDeptName { get; set; } + public string CEmployeeName { get; set; } + public DateTime? BeginAMRecordMonth { get; set; } + public DateTime? EndAMRecordMonth { get; set; } + } + + /// + /// 核算明细输入输出对象 + /// + public class PmsEmployeeCostStatisticDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AAAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal ABTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal ACMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ADPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AETotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AFYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AGYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AHTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AIEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AJSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AMRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string ANEmployeeName { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AOEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string APDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AQFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ARCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string ASDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string ATDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AUCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AVTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AWEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AXEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public int? AYSex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AZArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public int? BAPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BBSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BCSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BDKPILevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BENormKPISalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BFPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BGBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BHYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BIComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BJPrepayKPISalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BKBackPayKPISalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BLSettlementKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BMOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BNComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BOKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BPCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BQPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BRTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BSLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BTHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BUMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BVProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BWAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BXAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal BYAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BZBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CAOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CBPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CCMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CDOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CEAVGPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CFLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CGWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal CHTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CIYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CJYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CKTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal CLPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CMPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CNPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal COMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CPMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CQBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CRNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CSNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CTWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CUProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CVProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CWAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CXAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CYProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CZCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DAMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DBHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DCAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DDLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DECityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DFPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DGPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DHPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DIPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DJAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DKAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DLAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DMAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DNBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DOBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DPBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DQBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DRBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DSBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DTBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DUBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DVBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DWBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DXBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DYBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DZBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EABackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EBMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal ECPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EDTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EEEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EFSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EGUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EHEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EIDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EJSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EKOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EMTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal ENMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EOWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EPOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EQPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ERHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal ESDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal ETOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EUManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EVOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EWTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal EXPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EYHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EZBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FATotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FBTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FCTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FDTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FETotalKPISalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FFTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FGTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FHTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FITotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FJTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FKTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FMTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FNTotalNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FOTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FPTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FSTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FTTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FUTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FWTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FXTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AWEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsAccrualItemProvide.cs b/ZR.Model/Report/PmsAccrualItemProvide.cs new file mode 100644 index 00000000..fe853186 --- /dev/null +++ b/ZR.Model/Report/PmsAccrualItemProvide.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 报账行信息集-发放 + /// + [SugarTable("pms_accounting_details")] + public class PmsAccrualItemProvide + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsAccrualItemSet.cs b/ZR.Model/Report/PmsAccrualItemSet.cs new file mode 100644 index 00000000..67ba44a8 --- /dev/null +++ b/ZR.Model/Report/PmsAccrualItemSet.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 报账行信息集-计提 + /// + [SugarTable("pms_accounting_details")] + public class PmsAccrualItemSet + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsEmployeeCost.cs b/ZR.Model/Report/PmsEmployeeCost.cs new file mode 100644 index 00000000..23a8ed8f --- /dev/null +++ b/ZR.Model/Report/PmsEmployeeCost.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 人工成本 + /// + [SugarTable("pms_accounting_details")] + public class PmsEmployeeCost + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsEmployeeCostDetails.cs b/ZR.Model/Report/PmsEmployeeCostDetails.cs new file mode 100644 index 00000000..a5a1fcb3 --- /dev/null +++ b/ZR.Model/Report/PmsEmployeeCostDetails.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 核算明细 + /// + [SugarTable("pms_accounting_details")] + public class PmsEmployeeCostDetails + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsEmployeeCostStatistic.cs b/ZR.Model/Report/PmsEmployeeCostStatistic.cs new file mode 100644 index 00000000..d9325cc2 --- /dev/null +++ b/ZR.Model/Report/PmsEmployeeCostStatistic.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 核算明细 + /// + [SugarTable("pms_accounting_details")] + public class PmsEmployeeCostStatistic + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AAAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal ABTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal ACMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ADPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AETotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AFYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AGYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AHTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AIEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AJSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AMRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string ANEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AOEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string APDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AQFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ARCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string ASDeptName { get; set; } + + /// + /// 部门名称 + /// + public string ATDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AUCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AVTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AWEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AXEmployeeType { get; set; } + + /// + /// 性别 + /// + public int? AYSex { get; set; } + + /// + /// 所在区域 + /// + public string AZArea { get; set; } + + /// + /// 是否党员 + /// + public int? BAPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BBSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BCSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BDKPILevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BENormKPISalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BFPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BGBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BHYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BIComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BJPrepayKPISalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BKBackPayKPISalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BLSettlementKPISalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BMOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BNComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BOKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BPCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BQPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BRTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BSLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BTHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BUMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BVProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BWAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BXAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal BYAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BZBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CAOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CBPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CCMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CDOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CEAVGPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CFLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CGWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal CHTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CIYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CJYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CKTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal CLPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CMPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CNPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal COMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CPMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CQBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CRNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CSNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CTWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CUProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CVProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CWAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CXAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CYProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CZCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DAMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DBHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DCAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DDLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DECityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DFPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DGPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DHPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DIPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DJAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DKAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DLAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DMAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DNBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DOBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DPBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DQBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DRBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DSBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DTBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DUBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DVBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DWBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DXBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DYBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DZBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EABackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EBMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal ECPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EDTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EEEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EFSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EGUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EHEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EIDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EJSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EKOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ELLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EMTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal ENMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EOWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EPOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EQPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ERHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal ESDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal ETOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EUManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EVOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EWTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal EXPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EYHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EZBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FATotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FBTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FCTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FDTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FETotalKPISalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FFTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FGTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FHTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FITotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FJTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FKTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FLTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FMTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FNTotalNoWorkPersonal { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FOTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FPTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FQTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FRTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FSTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FTTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FUTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FVTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FWTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FXTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs b/ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs new file mode 100644 index 00000000..d52c8c3c --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 报账行信息集-发放service接口 + /// + public interface IPmsAccrualItemProvideService : IBaseService + { + PagedInfo GetList(PmsAccrualItemProvideQueryDto parm); + + PmsAccrualItemProvide GetInfo(int Id); + + + PmsAccrualItemProvide AddPmsAccrualItemProvide(PmsAccrualItemProvide parm); + + + PagedInfo ExportList(PmsAccrualItemProvideQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsAccrualItemSetService.cs b/ZR.Service/Report/IReportService/IPmsAccrualItemSetService.cs new file mode 100644 index 00000000..80fbb654 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsAccrualItemSetService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 报账行信息集-计提service接口 + /// + public interface IPmsAccrualItemSetService : IBaseService + { + PagedInfo GetList(PmsAccrualItemSetQueryDto parm); + + PmsAccrualItemSet GetInfo(int Id); + + + PmsAccrualItemSet AddPmsAccrualItemSet(PmsAccrualItemSet parm); + + + PagedInfo ExportList(PmsAccrualItemSetQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs new file mode 100644 index 00000000..7a9c8e29 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 核算明细service接口 + /// + public interface IPmsEmployeeCostDetailsService : IBaseService + { + PagedInfo GetList(PmsEmployeeCostDetailsQueryDto parm); + + PmsEmployeeCostDetails GetInfo(int Id); + + + PmsEmployeeCostDetails AddPmsEmployeeCostDetails(PmsEmployeeCostDetails parm); + + + PagedInfo ExportList(PmsEmployeeCostDetailsQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs new file mode 100644 index 00000000..f943ae4e --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 人工成本service接口 + /// + public interface IPmsEmployeeCostService : IBaseService + { + PagedInfo GetList(PmsEmployeeCostQueryDto parm); + + PmsEmployeeCost GetInfo(int Id); + + + PmsEmployeeCost AddPmsEmployeeCost(PmsEmployeeCost parm); + + + PagedInfo ExportList(PmsEmployeeCostQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs new file mode 100644 index 00000000..41b0b977 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 核算明细service接口 + /// + public interface IPmsEmployeeCostStatisticService : IBaseService + { + PagedInfo GetList(PmsEmployeeCostStatisticQueryDto parm); + + PmsEmployeeCostStatistic GetInfo(int Id); + + + PmsEmployeeCostStatistic AddPmsEmployeeCostStatistic(PmsEmployeeCostStatistic parm); + + + PagedInfo ExportList(PmsEmployeeCostStatisticQueryDto parm); + } +} diff --git a/ZR.Service/Report/PmsAccrualItemProvideService.cs b/ZR.Service/Report/PmsAccrualItemProvideService.cs new file mode 100644 index 00000000..82cf44d4 --- /dev/null +++ b/ZR.Service/Report/PmsAccrualItemProvideService.cs @@ -0,0 +1,94 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 报账行信息集-发放Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsAccrualItemProvideService), ServiceLifetime = LifeTime.Transient)] + public class PmsAccrualItemProvideService : BaseService, IPmsAccrualItemProvideService + { + /// + /// 查询报账行信息集-发放列表 + /// + /// + /// + public PagedInfo GetList(PmsAccrualItemProvideQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsAccrualItemProvide GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加报账行信息集-发放 + /// + /// + /// + public PmsAccrualItemProvide AddPmsAccrualItemProvide(PmsAccrualItemProvide model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出报账行信息集-发放 + /// + /// + /// + public PagedInfo ExportList(PmsAccrualItemProvideQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsAccrualItemProvideDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsAccrualItemProvideQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsAccrualItemSetService.cs b/ZR.Service/Report/PmsAccrualItemSetService.cs new file mode 100644 index 00000000..60612b9e --- /dev/null +++ b/ZR.Service/Report/PmsAccrualItemSetService.cs @@ -0,0 +1,94 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 报账行信息集-计提Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsAccrualItemSetService), ServiceLifetime = LifeTime.Transient)] + public class PmsAccrualItemSetService : BaseService, IPmsAccrualItemSetService + { + /// + /// 查询报账行信息集-计提列表 + /// + /// + /// + public PagedInfo GetList(PmsAccrualItemSetQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsAccrualItemSet GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加报账行信息集-计提 + /// + /// + /// + public PmsAccrualItemSet AddPmsAccrualItemSet(PmsAccrualItemSet model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出报账行信息集-计提 + /// + /// + /// + public PagedInfo ExportList(PmsAccrualItemSetQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsAccrualItemSetDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsAccrualItemSetQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsEmployeeCostDetailsService.cs b/ZR.Service/Report/PmsEmployeeCostDetailsService.cs new file mode 100644 index 00000000..5ba8f65b --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostDetailsService.cs @@ -0,0 +1,94 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 核算明细Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsEmployeeCostDetailsService), ServiceLifetime = LifeTime.Transient)] + public class PmsEmployeeCostDetailsService : BaseService, IPmsEmployeeCostDetailsService + { + /// + /// 查询核算明细列表 + /// + /// + /// + public PagedInfo GetList(PmsEmployeeCostDetailsQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsEmployeeCostDetails GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加核算明细 + /// + /// + /// + public PmsEmployeeCostDetails AddPmsEmployeeCostDetails(PmsEmployeeCostDetails model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出核算明细 + /// + /// + /// + public PagedInfo ExportList(PmsEmployeeCostDetailsQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsEmployeeCostDetailsDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsEmployeeCostDetailsQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsEmployeeCostService.cs b/ZR.Service/Report/PmsEmployeeCostService.cs new file mode 100644 index 00000000..1c1fb5b6 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostService.cs @@ -0,0 +1,94 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 人工成本Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsEmployeeCostService), ServiceLifetime = LifeTime.Transient)] + public class PmsEmployeeCostService : BaseService, IPmsEmployeeCostService + { + /// + /// 查询人工成本列表 + /// + /// + /// + public PagedInfo GetList(PmsEmployeeCostQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsEmployeeCost GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加人工成本 + /// + /// + /// + public PmsEmployeeCost AddPmsEmployeeCost(PmsEmployeeCost model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出人工成本 + /// + /// + /// + public PagedInfo ExportList(PmsEmployeeCostQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsEmployeeCostDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsEmployeeCostQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsEmployeeCostStatisticService.cs b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs new file mode 100644 index 00000000..e1fe0085 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs @@ -0,0 +1,94 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 核算明细Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsEmployeeCostStatisticService), ServiceLifetime = LifeTime.Transient)] + public class PmsEmployeeCostStatisticService : BaseService, IPmsEmployeeCostStatisticService + { + /// + /// 查询核算明细列表 + /// + /// + /// + public PagedInfo GetList(PmsEmployeeCostStatisticQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsEmployeeCostStatistic GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加核算明细 + /// + /// + /// + public PmsEmployeeCostStatistic AddPmsEmployeeCostStatistic(PmsEmployeeCostStatistic model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出核算明细 + /// + /// + /// + public PagedInfo ExportList(PmsEmployeeCostStatisticQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsEmployeeCostStatisticDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsEmployeeCostStatisticQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); + predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); + predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZRAdmin.sln b/ZRAdmin.sln index 0c5700e7..de2b7e22 100644 --- a/ZRAdmin.sln +++ b/ZRAdmin.sln @@ -21,6 +21,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZR.CodeGenerator", "ZR.Code EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZR.ServiceCore", "ZR.ServiceCore\ZR.ServiceCore.csproj", "{4E2CC4E4-F109-4876-8498-912E13905765}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZR.Test", "Test\ZR.Test.csproj", "{3B52EEA1-5BA8-416A-AB6E-89B97DE988CA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -63,6 +65,10 @@ Global {4E2CC4E4-F109-4876-8498-912E13905765}.Debug|Any CPU.Build.0 = Debug|Any CPU {4E2CC4E4-F109-4876-8498-912E13905765}.Release|Any CPU.ActiveCfg = Release|Any CPU {4E2CC4E4-F109-4876-8498-912E13905765}.Release|Any CPU.Build.0 = Release|Any CPU + {3B52EEA1-5BA8-416A-AB6E-89B97DE988CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B52EEA1-5BA8-416A-AB6E-89B97DE988CA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B52EEA1-5BA8-416A-AB6E-89B97DE988CA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B52EEA1-5BA8-416A-AB6E-89B97DE988CA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE -- Gitee From eb8fcf14b22a835ccd18d8692928df2c91c47715 Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Mon, 29 Sep 2025 09:27:17 +0800 Subject: [PATCH 16/29] =?UTF-8?q?=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs | 11 +++++++++++ ZR.ServiceCore/ZR.ServiceCore.csproj | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs index ac56377f..7de19029 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs @@ -765,5 +765,16 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] public string AWEmployeeTypeLabel { get; set; } + + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal WorkInjuryCompanyTotal + { + get + { + return DWBackPayInjuryCompany + CTWorkInjuryCompany; + } + } } } \ No newline at end of file diff --git a/ZR.ServiceCore/ZR.ServiceCore.csproj b/ZR.ServiceCore/ZR.ServiceCore.csproj index b0cd1deb..a50e9bf2 100644 --- a/ZR.ServiceCore/ZR.ServiceCore.csproj +++ b/ZR.ServiceCore/ZR.ServiceCore.csproj @@ -15,7 +15,7 @@ - + -- Gitee From 3eaaf2b322922d5bca2d7a0674e77711e797030a Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Mon, 29 Sep 2025 10:52:30 +0800 Subject: [PATCH 17/29] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseInfo/Dto/PmsAccountingDetailsDto.cs | 2 +- ZR.Model/BaseInfo/PmsAccountingDetails.cs | 2 +- .../Report/Dto/PmsAccrualItemProvideDto.cs | 2 +- ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs | 2 +- .../Report/Dto/PmsEmployeeCostDetailsDto.cs | 2 +- ZR.Model/Report/Dto/PmsEmployeeCostDto.cs | 2 +- .../Report/Dto/PmsEmployeeCostStatisticDto.cs | 2 +- ZR.Model/Report/PmsAccrualItemProvide.cs | 2 +- ZR.Model/Report/PmsAccrualItemSet.cs | 2 +- ZR.Model/Report/PmsEmployeeCost.cs | 2 +- ZR.Model/Report/PmsEmployeeCostDetails.cs | 2 +- ZR.Model/Report/PmsEmployeeCostStatistic.cs | 2 +- .../Report/PmsEmployeeCostStatisticService.cs | 116 +++++++++++++++++- 13 files changed, 125 insertions(+), 15 deletions(-) diff --git a/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs index e40d6fce..1224d695 100644 --- a/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs +++ b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs @@ -706,7 +706,7 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/BaseInfo/PmsAccountingDetails.cs b/ZR.Model/BaseInfo/PmsAccountingDetails.cs index d66986fc..1a43d2b1 100644 --- a/ZR.Model/BaseInfo/PmsAccountingDetails.cs +++ b/ZR.Model/BaseInfo/PmsAccountingDetails.cs @@ -861,7 +861,7 @@ namespace ZR.Model.BaseInfo /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs index fb6de4d3..ec0efac3 100644 --- a/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs +++ b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs @@ -699,7 +699,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs index 4c13edda..84f1b115 100644 --- a/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs +++ b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs @@ -699,7 +699,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs index 7de19029..dff73cdf 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs @@ -699,7 +699,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs index d0959dd6..3aa9aba4 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs @@ -699,7 +699,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs index 7a0f4903..1af0e74f 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs @@ -699,7 +699,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] diff --git a/ZR.Model/Report/PmsAccrualItemProvide.cs b/ZR.Model/Report/PmsAccrualItemProvide.cs index fe853186..c458e156 100644 --- a/ZR.Model/Report/PmsAccrualItemProvide.cs +++ b/ZR.Model/Report/PmsAccrualItemProvide.cs @@ -861,7 +861,7 @@ namespace ZR.Model.Report /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Model/Report/PmsAccrualItemSet.cs b/ZR.Model/Report/PmsAccrualItemSet.cs index 67ba44a8..a2cde879 100644 --- a/ZR.Model/Report/PmsAccrualItemSet.cs +++ b/ZR.Model/Report/PmsAccrualItemSet.cs @@ -861,7 +861,7 @@ namespace ZR.Model.Report /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Model/Report/PmsEmployeeCost.cs b/ZR.Model/Report/PmsEmployeeCost.cs index 23a8ed8f..fbb528ea 100644 --- a/ZR.Model/Report/PmsEmployeeCost.cs +++ b/ZR.Model/Report/PmsEmployeeCost.cs @@ -861,7 +861,7 @@ namespace ZR.Model.Report /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Model/Report/PmsEmployeeCostDetails.cs b/ZR.Model/Report/PmsEmployeeCostDetails.cs index a5a1fcb3..e374fead 100644 --- a/ZR.Model/Report/PmsEmployeeCostDetails.cs +++ b/ZR.Model/Report/PmsEmployeeCostDetails.cs @@ -861,7 +861,7 @@ namespace ZR.Model.Report /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Model/Report/PmsEmployeeCostStatistic.cs b/ZR.Model/Report/PmsEmployeeCostStatistic.cs index d9325cc2..b5262898 100644 --- a/ZR.Model/Report/PmsEmployeeCostStatistic.cs +++ b/ZR.Model/Report/PmsEmployeeCostStatistic.cs @@ -861,7 +861,7 @@ namespace ZR.Model.Report /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalNoWorkPersonal { get; set; } + public decimal FNTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 diff --git a/ZR.Service/Report/PmsEmployeeCostStatisticService.cs b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs index e1fe0085..68a728e5 100644 --- a/ZR.Service/Report/PmsEmployeeCostStatisticService.cs +++ b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs @@ -1,9 +1,12 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.Report.Dto; +using ZR.Model.BaseInfo.Dto; using ZR.Model.Report; +using ZR.Model.Report.Dto; +using ZR.Model.System; using ZR.Repository; using ZR.Service.Report.IReportService; +using ZR.ServiceCore.Model.Dto; namespace ZR.Service.Report { @@ -23,9 +26,116 @@ namespace ZR.Service.Report var predicate = QueryExp(parm); var response = Queryable() - //.OrderBy("ASortNo asc") + .GroupBy(a => a.ATDeptName) .Where(predicate.ToExpression()) - .ToPage(parm); + //.OrderBy("ASortNo asc") + .Select(a => new PmsEmployeeCostStatisticDto() + { + ATDeptName = a.ATDeptName, + BHYearAllowance= SqlFunc.AggregateSum(a.BHYearAllowance), + BIComprehensiveAllowance = SqlFunc.AggregateSum(a.BIComprehensiveAllowance), + ANEmployeeName = SqlFunc.AggregateCount(a.ANEmployeeName).ToString(), + BLSettlementKPISalary = SqlFunc.AggregateSum(a.BLSettlementKPISalary), + BMOvertimeAllowance = SqlFunc.AggregateSum(a.BMOvertimeAllowance), + BNComputerAllowance = SqlFunc.AggregateSum(a.BNComputerAllowance), + BOKeyStaffAllowance = SqlFunc.AggregateSum(a.BOKeyStaffAllowance), + BPCertificateAllowance = SqlFunc.AggregateSum(a.BPCertificateAllowance), + BRTransportAllowance = SqlFunc.AggregateSum(a.BRTransportAllowance), + BUMarketDevelopBonus = SqlFunc.AggregateSum(a.BUMarketDevelopBonus), + BXAgentBonus = SqlFunc.AggregateSum(a.BXAgentBonus), + BYAgentOther = SqlFunc.AggregateSum(a.BYAgentOther), + CDOtherPay = SqlFunc.AggregateSum(a.CDOtherPay), + CEAVGPay = SqlFunc.AggregateSum(a.CEAVGPay), + CFLunchAllowance = SqlFunc.AggregateSum(a.CFLunchAllowance), + CGWomenAllowance = SqlFunc.AggregateSum(a.CGWomenAllowance), + BTHouseAllowance = SqlFunc.AggregateSum(a.BTHouseAllowance), + CKTargetBonus = SqlFunc.AggregateSum(a.CKTargetBonus), + COMedicalBaseCompany = SqlFunc.AggregateSum(a.COMedicalBaseCompany), + CQBigMedicalBaseCompany = SqlFunc.AggregateSum(a.CQBigMedicalBaseCompany), + CRNoWorkCompany = SqlFunc.AggregateSum(a.CRNoWorkCompany), + CTWorkInjuryCompany = SqlFunc.AggregateSum(a.CTWorkInjuryCompany), + CUProvidentFundCompany = SqlFunc.AggregateSum(a.CUProvidentFundCompany), + CWAnnuityCompany = SqlFunc.AggregateSum(a.CWAnnuityCompany), + DNBackPayPensionProvinceCompany = SqlFunc.AggregateSum(a.DNBackPayPensionProvinceCompany), + DPBackPayPensionCityCompany = SqlFunc.AggregateSum(a.DPBackPayPensionCityCompany), + DRBackPayMedicalCityCompany = SqlFunc.AggregateSum(a.DRBackPayMedicalCityCompany), + DTBackPayBigMedicalCompany = SqlFunc.AggregateSum(a.DTBackPayBigMedicalCompany), + DUBackPayUnemploymentCompany = SqlFunc.AggregateSum(a.DUBackPayUnemploymentCompany), + DWBackPayInjuryCompany = SqlFunc.AggregateSum(a.DWBackPayInjuryCompany), + DXBackPayHousingFundCompany = SqlFunc.AggregateSum(a.DXBackPayHousingFundCompany), + DZBackPayAnnuityCompany = SqlFunc.AggregateSum(a.DZBackPayAnnuityCompany), + EEEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.EEEmployerLiabilityInsurance), + EFSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.EFSupplementalMedicalInsurance), + EGUnionFee = SqlFunc.AggregateSum(a.EGUnionFee), + EHEducationFee = SqlFunc.AggregateSum(a.EHEducationFee), + EIDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.EIDisabilityGuaranteeFund), + EJSeveranceCompensation = SqlFunc.AggregateSum(a.EJSeveranceCompensation), + EKOtherFee = SqlFunc.AggregateSum(a.EKOtherFee), + ELLabourDispatchUnionFeeTax = SqlFunc.AggregateSum(a.ELLabourDispatchUnionFeeTax), + EUManagementFee = SqlFunc.AggregateSum(a.EUManagementFee), + EVOutsourcedTaxFee = SqlFunc.AggregateSum(a.EVOutsourcedTaxFee), + DFPensionProvinceCompany = SqlFunc.AggregateSum(a.DFPensionProvinceCompany), + DHPensionCityCompany = SqlFunc.AggregateSum(a.DHPensionCityCompany), + CNPensionBasePersonal = SqlFunc.AggregateSum(a.CNPensionBasePersonal), + CSNoWorkPersonal = SqlFunc.AggregateSum(a.CSNoWorkPersonal), + CVProvidentFundPersonal = SqlFunc.AggregateSum(a.CVProvidentFundPersonal), + CXAnnuityPersonal = SqlFunc.AggregateSum(a.CXAnnuityPersonal), + DGPensionProvincePersonal = SqlFunc.AggregateSum(a.DGPensionProvincePersonal), + DIPensionCityPersonal = SqlFunc.AggregateSum(a.DIPensionCityPersonal), + DOBackPayPensionProvincePersonal = SqlFunc.AggregateSum(a.DOBackPayPensionProvincePersonal), + DQBackPayPensionCityPersonal = SqlFunc.AggregateSum(a.DQBackPayPensionCityPersonal), + DSBackPayMedicalCityPersonal = SqlFunc.AggregateSum(a.DSBackPayMedicalCityPersonal), + DVBackPayUnemploymentPersonal = SqlFunc.AggregateSum(a.DVBackPayUnemploymentPersonal), + DYBackPayHousingFundPersonal = SqlFunc.AggregateSum(a.DYBackPayHousingFundPersonal), + EABackPayAnnuityPersonal = SqlFunc.AggregateSum(a.EABackPayAnnuityPersonal), + EQPensionCompany = SqlFunc.AggregateSum(a.EQPensionCompany), + ECPayAmount = SqlFunc.AggregateSum(a.ECPayAmount), + EDTotalSalary = SqlFunc.AggregateSum(a.EDTotalSalary), + BFPositionSalary = SqlFunc.AggregateSum(a.BFPositionSalary), + BGBackPayPositionSalary = SqlFunc.AggregateSum(a.BGBackPayPositionSalary), + BJPrepayKPISalary = SqlFunc.AggregateSum(a.BJPrepayKPISalary), + BKBackPayKPISalary = SqlFunc.AggregateSum(a.BKBackPayKPISalary), + BVProjectDeduction = SqlFunc.AggregateSum(a.BVProjectDeduction), + BWAttendanceDeduction = SqlFunc.AggregateSum(a.BWAttendanceDeduction), + BZBackPayOther = SqlFunc.AggregateSum(a.BZBackPayOther), + AFYearKpi1 = SqlFunc.AggregateSum(a.AFYearKpi1), + AGYearKpi2 = SqlFunc.AggregateSum(a.AGYearKpi2), + CLPresetProject = SqlFunc.AggregateSum(a.CLPresetProject), + EPOutsourcedPayables = SqlFunc.AggregateSum(a.EPOutsourcedPayables), + ESDeductionMealFee = SqlFunc.AggregateSum(a.ESDeductionMealFee), + ETOutsourcedFee = SqlFunc.AggregateSum(a.ETOutsourcedFee), + EWTaxPersonal = SqlFunc.AggregateSum(a.EWTaxPersonal), + FATotalSalary = SqlFunc.AggregateSum(a.FATotalSalary), + FBTotalPositionSalary = SqlFunc.AggregateSum(a.FBTotalPositionSalary), + FCTotalYearAllowance = SqlFunc.AggregateSum(a.FCTotalYearAllowance), + FDTotalCompAllowance = SqlFunc.AggregateSum(a.FDTotalCompAllowance), + FETotalKPISalary = SqlFunc.AggregateSum(a.FETotalKPISalary), + FFTotalOvertimeAllowance = SqlFunc.AggregateSum(a.FFTotalOvertimeAllowance), + FGTotalOther = SqlFunc.AggregateSum(a.FGTotalOther), + FJTotalPensionBaseCompany = SqlFunc.AggregateSum(a.FJTotalPensionBaseCompany), + FKTotalMedicalBaseCompany = SqlFunc.AggregateSum(a.FKTotalMedicalBaseCompany), + FLTotalBigMedicalBaseCompany = SqlFunc.AggregateSum(a.FLTotalBigMedicalBaseCompany), + FMTotalNoWorkCompany = SqlFunc.AggregateSum(a.FMTotalNoWorkCompany), + FNTotalInjuryCompany = SqlFunc.AggregateSum(a.FNTotalInjuryCompany), + FPTotalAnnuityCompany = SqlFunc.AggregateSum(a.FPTotalAnnuityCompany), + FHTotalLunchAllowance = SqlFunc.AggregateSum(a.FHTotalLunchAllowance), + FITotalWomenAllowance = SqlFunc.AggregateSum(a.FITotalWomenAllowance), + FSTotalUnionFee = SqlFunc.AggregateSum(a.FSTotalUnionFee), + FTTotalEducationFee = SqlFunc.AggregateSum(a.FTTotalEducationFee), + FUTotalLaborLeasingFee = SqlFunc.AggregateSum(a.FUTotalLaborLeasingFee), + FVTotalDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.FVTotalDisabilityGuaranteeFund), + FWTotalOutsourcedFee = SqlFunc.AggregateSum(a.FWTotalOutsourcedFee), + FXTotalOutsourcedTaxFee = SqlFunc.AggregateSum(a.FXTotalOutsourcedTaxFee), + FOTotalProvidentFundCompany = SqlFunc.AggregateSum(a.FOTotalProvidentFundCompany), + FQTotalEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.FQTotalEmployerLiabilityInsurance), + FRTotalSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.FRTotalSupplementalMedicalInsurance), + VTotalMonthlyPay = SqlFunc.AggregateSum(a.VTotalMonthlyPay), + NLiveAllowance = SqlFunc.AggregateSum(a.NLiveAllowance), + CAOtherFixedPay = SqlFunc.AggregateSum(a.CAOtherFixedPay), + CCMouthPresetProject = SqlFunc.AggregateSum(a.CCMouthPresetProject), + CHTotalMonthlyPay = SqlFunc.AggregateSum(a.CHTotalMonthlyPay) + }) + .ToPage(parm); return response; } -- Gitee From 16adba7dc2c1eeb548a749a268479d9ac638a1f4 Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Sat, 11 Oct 2025 14:48:05 +0800 Subject: [PATCH 18/29] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PmsAccountingDetailsController.cs | 32 +- .../Report/PmsAccrualItemProvideController.cs | 2 +- .../Report/PmsAccrualItemSetController.cs | 2 +- .../Report/PmsEmployeeCostController.cs | 96 +- .../PmsEmployeeCostDetailsController.cs | 16 +- .../PmsEmployeeCostStatisticController.cs | 16 +- .../Report/PmsEmployeeCostSumController.cs | 77 ++ .../Controllers/Report/PmsHrXtController.cs | 77 ++ .../Report/PmsOnetimePaymentController.cs | 77 ++ .../Report/PmsSalaryMonthlyController.cs | 77 ++ .../BaseInfo/Dto/PmsAccountingDetailsDto.cs | 327 +++--- ZR.Model/BaseInfo/PmsAccountingDetails.cs | 306 +++--- .../Report/Dto/PmsAccrualItemProvideDto.cs | 320 +++--- ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs | 320 +++--- .../Report/Dto/PmsEmployeeCostDetailsDto.cs | 335 +++---- ZR.Model/Report/Dto/PmsEmployeeCostDto.cs | 320 +++--- .../Report/Dto/PmsEmployeeCostStatisticDto.cs | 324 +++--- ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs | 771 ++++++++++++++ ZR.Model/Report/Dto/PmsHrXtDto.cs | 771 ++++++++++++++ ZR.Model/Report/Dto/PmsOnetimePaymentDto.cs | 771 ++++++++++++++ ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs | 771 ++++++++++++++ ZR.Model/Report/PmsAccrualItemProvide.cs | 306 +++--- ZR.Model/Report/PmsAccrualItemSet.cs | 306 +++--- ZR.Model/Report/PmsEmployeeCost.cs | 306 +++--- ZR.Model/Report/PmsEmployeeCostDetails.cs | 308 +++--- ZR.Model/Report/PmsEmployeeCostStatistic.cs | 308 +++--- ZR.Model/Report/PmsEmployeeCostSum.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsHrXt.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsOnetimePayment.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsSalaryMonthly.cs | 946 ++++++++++++++++++ ZR.Repository/BaseRepository.cs | 1 + .../IPmsAccountingDetailsService.cs | 2 + .../BaseInfo/PmsAccountingDetailsService.cs | 35 +- .../IPmsEmployeeCostDetailsService.cs | 2 +- .../IReportService/IPmsEmployeeCostService.cs | 4 + .../IPmsEmployeeCostStatisticService.cs | 2 +- .../IPmsEmployeeCostSumService.cs | 21 + .../Report/IReportService/IPmsHrXtService.cs | 21 + .../IPmsOnetimePaymentService.cs | 21 + .../IPmsSalaryMonthlyService.cs | 21 + .../Report/PmsAccrualItemProvideService.cs | 13 +- ZR.Service/Report/PmsAccrualItemSetService.cs | 13 +- .../Report/PmsEmployeeCostDetailsService.cs | 21 +- ZR.Service/Report/PmsEmployeeCostService.cs | 94 +- .../Report/PmsEmployeeCostStatisticService.cs | 237 ++--- .../Report/PmsEmployeeCostSumService.cs | 97 ++ ZR.Service/Report/PmsHrXtService.cs | 97 ++ ZR.Service/Report/PmsOnetimePaymentService.cs | 97 ++ ZR.Service/Report/PmsSalaryMonthlyService.cs | 97 ++ 49 files changed, 9942 insertions(+), 2080 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostSumController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsHrXtController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsOnetimePaymentController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsSalaryMonthlyController.cs create mode 100644 ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs create mode 100644 ZR.Model/Report/Dto/PmsHrXtDto.cs create mode 100644 ZR.Model/Report/Dto/PmsOnetimePaymentDto.cs create mode 100644 ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs create mode 100644 ZR.Model/Report/PmsEmployeeCostSum.cs create mode 100644 ZR.Model/Report/PmsHrXt.cs create mode 100644 ZR.Model/Report/PmsOnetimePayment.cs create mode 100644 ZR.Model/Report/PmsSalaryMonthly.cs create mode 100644 ZR.Service/Report/IReportService/IPmsEmployeeCostSumService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsHrXtService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsOnetimePaymentService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsSalaryMonthlyService.cs create mode 100644 ZR.Service/Report/PmsEmployeeCostSumService.cs create mode 100644 ZR.Service/Report/PmsHrXtService.cs create mode 100644 ZR.Service/Report/PmsOnetimePaymentService.cs create mode 100644 ZR.Service/Report/PmsSalaryMonthlyService.cs diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs index 19c4ad35..6ccb5e85 100644 --- a/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs @@ -5,7 +5,7 @@ using ZR.Service.BaseInfo.IBaseInfoService; using ZR.Admin.WebApi.Filters; using MiniExcelLibs; -//创建时间:2025-09-26 +//创建时间:2025-10-09 namespace ZR.Admin.WebApi.Controllers.BaseInfo { /// @@ -31,7 +31,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:list")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:list")] public IActionResult QueryPmsAccountingDetails([FromQuery] PmsAccountingDetailsQueryDto parm) { var response = _PmsAccountingDetailsService.GetList(parm); @@ -45,7 +45,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:query")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:query")] public IActionResult GetPmsAccountingDetails(int Id) { var response = _PmsAccountingDetailsService.GetInfo(Id); @@ -59,7 +59,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpPost] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:add")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:add")] [Log(Title = "核算明细", BusinessType = BusinessType.INSERT)] public IActionResult AddPmsAccountingDetails([FromBody] PmsAccountingDetailsDto parm) { @@ -75,7 +75,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpPut] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:edit")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:edit")] [Log(Title = "核算明细", BusinessType = BusinessType.UPDATE)] public IActionResult UpdatePmsAccountingDetails([FromBody] PmsAccountingDetailsDto parm) { @@ -90,7 +90,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// /// [HttpPost("delete/{ids}")] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:delete")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:delete")] [Log(Title = "核算明细", BusinessType = BusinessType.DELETE)] public IActionResult DeletePmsAccountingDetails([FromRoute]string ids) { @@ -105,7 +105,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [HttpGet("export")] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:export")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:export")] public IActionResult Export([FromQuery] PmsAccountingDetailsQueryDto parm) { parm.PageNum = 1; @@ -119,6 +119,22 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo return ExportExcel(result.Item2, result.Item1); } + /// + /// 清空核算明细 + /// + /// + [Log(Title = "核算明细", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_PmsAccountingDetailsService.TruncatePmsAccountingDetails()); + } + /// /// 导入 /// @@ -126,7 +142,7 @@ namespace ZR.Admin.WebApi.Controllers.BaseInfo /// [HttpPost("importData")] [Log(Title = "核算明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] - [ActionPermissionFilter(Permission = "pmsaccountingdetails:import")] + [ActionPermissionFilter(Permission = "PmsAccountingDetails:import")] public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) { List list = new(); diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs index d7653978..b2a6044d 100644 --- a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs +++ b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs @@ -4,7 +4,7 @@ using ZR.Model.Report; using ZR.Service.Report.IReportService; using ZR.Admin.WebApi.Filters; -//创建时间:2025-09-28 +//创建时间:2025-10-09 namespace ZR.Admin.WebApi.Controllers.Report { /// diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs index 40cff64d..8faeb2a9 100644 --- a/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs +++ b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemSetController.cs @@ -4,7 +4,7 @@ using ZR.Model.Report; using ZR.Service.Report.IReportService; using ZR.Admin.WebApi.Filters; -//创建时间:2025-09-28 +//创建时间:2025-10-10 namespace ZR.Admin.WebApi.Controllers.Report { /// diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs index cd3034c6..7bd7453b 100644 --- a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs @@ -3,8 +3,9 @@ using ZR.Model.Report.Dto; using ZR.Model.Report; using ZR.Service.Report.IReportService; using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; -//创建时间:2025-09-28 +//创建时间:2025-10-09 namespace ZR.Admin.WebApi.Controllers.Report { /// @@ -53,6 +54,51 @@ namespace ZR.Admin.WebApi.Controllers.Report return SUCCESS(info); } + /// + /// 添加人工成本 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:add")] + [Log(Title = "人工成本", BusinessType = BusinessType.INSERT)] + public IActionResult AddPmsEmployeeCost([FromBody] PmsEmployeeCostDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _PmsEmployeeCostService.AddPmsEmployeeCost(modal); + + return SUCCESS(response); + } + + /// + /// 更新人工成本 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:edit")] + [Log(Title = "人工成本", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdatePmsEmployeeCost([FromBody] PmsEmployeeCostDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _PmsEmployeeCostService.UpdatePmsEmployeeCost(modal); + + return ToResponse(response); + } + + /// + /// 删除人工成本 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:delete")] + [Log(Title = "人工成本", BusinessType = BusinessType.DELETE)] + public IActionResult DeletePmsEmployeeCost([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_PmsEmployeeCostService.Delete(idArr)); + } + /// /// 导出人工成本 /// @@ -73,5 +119,53 @@ namespace ZR.Admin.WebApi.Controllers.Report return ExportExcel(result.Item2, result.Item1); } + /// + /// 清空人工成本 + /// + /// + [Log(Title = "人工成本", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_PmsEmployeeCostService.TruncatePmsEmployeeCost()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "人工成本导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "PmsEmployeeCost:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_PmsEmployeeCostService.ImportPmsEmployeeCost(list.Adapt>())); + } + + /// + /// 人工成本导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "人工成本模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "PmsEmployeeCost"); + return ExportExcel(result.Item2, result.Item1); + } + } } \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs index 3d7249fb..e0fea7f5 100644 --- a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostDetailsController.cs @@ -4,18 +4,18 @@ using ZR.Model.Report; using ZR.Service.Report.IReportService; using ZR.Admin.WebApi.Filters; -//创建时间:2025-09-28 +//创建时间:2025-10-09 namespace ZR.Admin.WebApi.Controllers.Report { /// - /// 核算明细 + /// 人工成本明细 /// [Verify] [Route("Report/PmsEmployeeCostDetails")] public class PmsEmployeeCostDetailsController : BaseController { /// - /// 核算明细接口 + /// 人工成本明细接口 /// private readonly IPmsEmployeeCostDetailsService _PmsEmployeeCostDetailsService; @@ -25,7 +25,7 @@ namespace ZR.Admin.WebApi.Controllers.Report } /// - /// 查询核算明细列表 + /// 查询人工成本明细列表 /// /// /// @@ -39,7 +39,7 @@ namespace ZR.Admin.WebApi.Controllers.Report /// - /// 查询核算明细详情 + /// 查询人工成本明细详情 /// /// /// @@ -54,10 +54,10 @@ namespace ZR.Admin.WebApi.Controllers.Report } /// - /// 导出核算明细 + /// 导出人工成本明细 /// /// - [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [Log(Title = "人工成本明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [HttpGet("export")] [ActionPermissionFilter(Permission = "PmsEmployeeCostDetails:export")] public IActionResult Export([FromQuery] PmsEmployeeCostDetailsQueryDto parm) @@ -69,7 +69,7 @@ namespace ZR.Admin.WebApi.Controllers.Report { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } - var result = ExportExcelMini(list, "核算明细", "核算明细"); + var result = ExportExcelMini(list, "人工成本明细", "人工成本明细"); return ExportExcel(result.Item2, result.Item1); } diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs index 241d3322..f9755f67 100644 --- a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostStatisticController.cs @@ -4,18 +4,18 @@ using ZR.Model.Report; using ZR.Service.Report.IReportService; using ZR.Admin.WebApi.Filters; -//创建时间:2025-09-28 +//创建时间:2025-10-09 namespace ZR.Admin.WebApi.Controllers.Report { /// - /// 核算明细 + /// 统计 /// [Verify] [Route("Report/PmsEmployeeCostStatistic")] public class PmsEmployeeCostStatisticController : BaseController { /// - /// 核算明细接口 + /// 统计接口 /// private readonly IPmsEmployeeCostStatisticService _PmsEmployeeCostStatisticService; @@ -25,7 +25,7 @@ namespace ZR.Admin.WebApi.Controllers.Report } /// - /// 查询核算明细列表 + /// 查询统计列表 /// /// /// @@ -39,7 +39,7 @@ namespace ZR.Admin.WebApi.Controllers.Report /// - /// 查询核算明细详情 + /// 查询统计详情 /// /// /// @@ -54,10 +54,10 @@ namespace ZR.Admin.WebApi.Controllers.Report } /// - /// 导出核算明细 + /// 导出统计 /// /// - [Log(Title = "核算明细", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [Log(Title = "统计", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [HttpGet("export")] [ActionPermissionFilter(Permission = "PmsEmployeeCostStatistic:export")] public IActionResult Export([FromQuery] PmsEmployeeCostStatisticQueryDto parm) @@ -69,7 +69,7 @@ namespace ZR.Admin.WebApi.Controllers.Report { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } - var result = ExportExcelMini(list, "核算明细", "核算明细"); + var result = ExportExcelMini(list, "统计", "统计"); return ExportExcel(result.Item2, result.Item1); } diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostSumController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostSumController.cs new file mode 100644 index 00000000..44ca7324 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostSumController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-09 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 人工成本汇总 + /// + [Verify] + [Route("Report/PmsEmployeeCostSum")] + public class PmsEmployeeCostSumController : BaseController + { + /// + /// 人工成本汇总接口 + /// + private readonly IPmsEmployeeCostSumService _PmsEmployeeCostSumService; + + public PmsEmployeeCostSumController(IPmsEmployeeCostSumService PmsEmployeeCostSumService) + { + _PmsEmployeeCostSumService = PmsEmployeeCostSumService; + } + + /// + /// 查询人工成本汇总列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostSum:list")] + public IActionResult QueryPmsEmployeeCostSum([FromQuery] PmsEmployeeCostSumQueryDto parm) + { + var response = _PmsEmployeeCostSumService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询人工成本汇总详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostSum:query")] + public IActionResult GetPmsEmployeeCostSum(int Id) + { + var response = _PmsEmployeeCostSumService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出人工成本汇总 + /// + /// + [Log(Title = "人工成本汇总", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsEmployeeCostSum:export")] + public IActionResult Export([FromQuery] PmsEmployeeCostSumQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsEmployeeCostSumService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "人工成本汇总", "人工成本汇总"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsHrXtController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsHrXtController.cs new file mode 100644 index 00000000..b54c4e6d --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsHrXtController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-10 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// HRXT + /// + [Verify] + [Route("Report/PmsHrXt")] + public class PmsHrXtController : BaseController + { + /// + /// HRXT接口 + /// + private readonly IPmsHrXtService _PmsHrXtService; + + public PmsHrXtController(IPmsHrXtService PmsHrXtService) + { + _PmsHrXtService = PmsHrXtService; + } + + /// + /// 查询HRXT列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsHrXt:list")] + public IActionResult QueryPmsHrXt([FromQuery] PmsHrXtQueryDto parm) + { + var response = _PmsHrXtService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询HRXT详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsHrXt:query")] + public IActionResult GetPmsHrXt(int Id) + { + var response = _PmsHrXtService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出HRXT + /// + /// + [Log(Title = "HRXT", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsHrXt:export")] + public IActionResult Export([FromQuery] PmsHrXtQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsHrXtService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "HRXT", "HRXT"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsOnetimePaymentController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsOnetimePaymentController.cs new file mode 100644 index 00000000..d5a06153 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsOnetimePaymentController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 一次性发放 + /// + [Verify] + [Route("Report/PmsOnetimePayment")] + public class PmsOnetimePaymentController : BaseController + { + /// + /// 一次性发放接口 + /// + private readonly IPmsOnetimePaymentService _PmsOnetimePaymentService; + + public PmsOnetimePaymentController(IPmsOnetimePaymentService PmsOnetimePaymentService) + { + _PmsOnetimePaymentService = PmsOnetimePaymentService; + } + + /// + /// 查询一次性发放列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsOnetimePayment:list")] + public IActionResult QueryPmsOnetimePayment([FromQuery] PmsOnetimePaymentQueryDto parm) + { + var response = _PmsOnetimePaymentService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询一次性发放详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsOnetimePayment:query")] + public IActionResult GetPmsOnetimePayment(int Id) + { + var response = _PmsOnetimePaymentService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出一次性发放 + /// + /// + [Log(Title = "一次性发放", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsOnetimePayment:export")] + public IActionResult Export([FromQuery] PmsOnetimePaymentQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsOnetimePaymentService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "一次性发放", "一次性发放"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsSalaryMonthlyController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsSalaryMonthlyController.cs new file mode 100644 index 00000000..9175c788 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsSalaryMonthlyController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-10 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// 工资表-按月发 + /// + [Verify] + [Route("Report/PmsSalaryMonthly")] + public class PmsSalaryMonthlyController : BaseController + { + /// + /// 工资表-按月发接口 + /// + private readonly IPmsSalaryMonthlyService _PmsSalaryMonthlyService; + + public PmsSalaryMonthlyController(IPmsSalaryMonthlyService PmsSalaryMonthlyService) + { + _PmsSalaryMonthlyService = PmsSalaryMonthlyService; + } + + /// + /// 查询工资表-按月发列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsSalaryMonthly:list")] + public IActionResult QueryPmsSalaryMonthly([FromQuery] PmsSalaryMonthlyQueryDto parm) + { + var response = _PmsSalaryMonthlyService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询工资表-按月发详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsSalaryMonthly:query")] + public IActionResult GetPmsSalaryMonthly(int Id) + { + var response = _PmsSalaryMonthlyService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出工资表-按月发 + /// + /// + [Log(Title = "工资表-按月发", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsSalaryMonthly:export")] + public IActionResult Export([FromQuery] PmsSalaryMonthlyQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsSalaryMonthlyService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "工资表-按月发", "工资表-按月发"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs index 1224d695..fb5edd34 100644 --- a/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs +++ b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs @@ -6,17 +6,13 @@ namespace ZR.Model.BaseInfo.Dto /// public class PmsAccountingDetailsQueryDto : PagerInfo { - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } - public string AOEmployeeCode { get; set; } - public string APDeptNameHR { get; set; } - public string ASDeptName { get; set; } - public string ATDeptName { get; set; } - public string AUCenterName { get; set; } - public string AVTeamName { get; set; } - public string AWEmployeeType { get; set; } - public string AXEmployeeType { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// @@ -53,7 +49,7 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -133,43 +129,43 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -181,572 +177,571 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -771,6 +766,6 @@ namespace ZR.Model.BaseInfo.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/BaseInfo/PmsAccountingDetails.cs b/ZR.Model/BaseInfo/PmsAccountingDetails.cs index 1a43d2b1..4d33a346 100644 --- a/ZR.Model/BaseInfo/PmsAccountingDetails.cs +++ b/ZR.Model/BaseInfo/PmsAccountingDetails.cs @@ -46,7 +46,7 @@ namespace ZR.Model.BaseInfo /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.BaseInfo /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.BaseInfo /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs index ec0efac3..5f731080 100644 --- a/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs +++ b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs @@ -6,10 +6,13 @@ namespace ZR.Model.Report.Dto /// public class PmsAccrualItemProvideQueryDto : PagerInfo { - public string BDeptName { get; set; } - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// @@ -46,7 +49,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -126,43 +129,43 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -174,572 +177,571 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -764,6 +766,6 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs index 84f1b115..89083c38 100644 --- a/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs +++ b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs @@ -6,10 +6,13 @@ namespace ZR.Model.Report.Dto /// public class PmsAccrualItemSetQueryDto : PagerInfo { - public string BDeptName { get; set; } - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// @@ -46,7 +49,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -126,43 +129,43 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -174,572 +177,571 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -764,6 +766,6 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs index dff73cdf..218b8aa3 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs @@ -2,18 +2,21 @@ namespace ZR.Model.Report.Dto { /// - /// 核算明细查询对象 + /// 人工成本明细查询对象 /// public class PmsEmployeeCostDetailsQueryDto : PagerInfo { - public string BDeptName { get; set; } - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// - /// 核算明细输入输出对象 + /// 人工成本明细输入输出对象 /// public class PmsEmployeeCostDetailsDto { @@ -46,7 +49,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -126,43 +129,43 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -174,572 +177,571 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -764,17 +766,6 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } - - - [ExcelColumn(Name = "工伤单位缴纳额汇总")] - [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal WorkInjuryCompanyTotal - { - get - { - return DWBackPayInjuryCompany + CTWorkInjuryCompany; - } - } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs index 3aa9aba4..9f1e04d7 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs @@ -6,10 +6,13 @@ namespace ZR.Model.Report.Dto /// public class PmsEmployeeCostQueryDto : PagerInfo { - public string BDeptName { get; set; } - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// @@ -46,7 +49,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -126,43 +129,43 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -174,572 +177,571 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -764,6 +766,6 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs index 1af0e74f..8968ce42 100644 --- a/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs +++ b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs @@ -2,18 +2,21 @@ namespace ZR.Model.Report.Dto { /// - /// 核算明细查询对象 + /// 统计查询对象 /// public class PmsEmployeeCostStatisticQueryDto : PagerInfo { - public string BDeptName { get; set; } - public string CEmployeeName { get; set; } - public DateTime? BeginAMRecordMonth { get; set; } - public DateTime? EndAMRecordMonth { get; set; } + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } } /// - /// 核算明细输入输出对象 + /// 统计输入输出对象 /// public class PmsEmployeeCostStatisticDto { @@ -46,7 +49,7 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] [ExcelColumnName("绩效工资(含预发、补发、清算)")] - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] @@ -126,43 +129,43 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "代扣个人年金")] [ExcelColumnName("代扣个人年金")] - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } [ExcelColumn(Name = "代扣个人所得税")] [ExcelColumnName("代扣个人所得税")] - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "AK")] [ExcelColumnName("AK")] @@ -174,572 +177,571 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] [ExcelColumnName("时间")] - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } [ExcelColumn(Name = "姓名")] [ExcelColumnName("姓名")] - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } - [Required(ErrorMessage = "人员编码不能为空")] [ExcelColumn(Name = "人员编码")] [ExcelColumnName("人员编码")] - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } [ExcelColumn(Name = "HR系统部门名称")] [ExcelColumnName("HR系统部门名称")] - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } [ExcelColumn(Name = "费用分类")] [ExcelColumnName("费用分类")] - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } [ExcelColumn(Name = "公司名称")] [ExcelColumnName("公司名称")] - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } [ExcelColumn(Name = "部门名称(不分片区)")] [ExcelColumnName("部门名称(不分片区)")] - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } [ExcelColumn(Name = "部门名称")] [ExcelColumnName("部门名称")] - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } [ExcelColumn(Name = "中心名称")] [ExcelColumnName("中心名称")] - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } [ExcelColumn(Name = "班组名称")] [ExcelColumnName("班组名称")] - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } [ExcelColumn(Name = "人员类别")] [ExcelColumnName("人员类别")] - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } [ExcelColumn(Name = "用工分类")] [ExcelColumnName("用工分类")] - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } [ExcelColumn(Name = "性别")] [ExcelColumnName("性别")] - public int? AYSex { get; set; } + public string AySex { get; set; } [ExcelColumn(Name = "所在区域")] [ExcelColumnName("所在区域")] - public string AZArea { get; set; } + public string AzArea { get; set; } [ExcelColumn(Name = "是否党员")] [ExcelColumnName("是否党员")] - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } [ExcelColumn(Name = "岗级")] [ExcelColumnName("岗级")] - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } [ExcelColumn(Name = "档次")] [ExcelColumnName("档次")] - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } [ExcelColumn(Name = "绩效所在岗级")] [ExcelColumnName("绩效所在岗级")] - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } [ExcelColumn(Name = "月标准绩效")] [ExcelColumnName("月标准绩效")] - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } [ExcelColumn(Name = "月岗位工资")] [ExcelColumnName("月岗位工资")] - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } [ExcelColumn(Name = "补发岗位工资")] [ExcelColumnName("补发岗位工资")] - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴")] [ExcelColumnName("年功津贴")] - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴")] [ExcelColumnName("综合补贴")] - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } [ExcelColumn(Name = "月预发绩效工资")] [ExcelColumnName("月预发绩效工资")] - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } [ExcelColumn(Name = "补发绩效工资")] [ExcelColumnName("补发绩效工资")] - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } [ExcelColumn(Name = "清算绩效工资")] [ExcelColumnName("清算绩效工资")] - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } [ExcelColumn(Name = "加班工资")] [ExcelColumnName("加班工资")] - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } [ExcelColumn(Name = "计算机补贴")] [ExcelColumnName("计算机补贴")] - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } [ExcelColumn(Name = "骨干津贴")] [ExcelColumnName("骨干津贴")] - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } [ExcelColumn(Name = "证书及考试奖励")] [ExcelColumnName("证书及考试奖励")] - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } [ExcelColumn(Name = "通讯补助")] [ExcelColumnName("通讯补助")] - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } [ExcelColumn(Name = "交通补贴")] [ExcelColumnName("交通补贴")] - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } [ExcelColumn(Name = "生活补贴")] [ExcelColumnName("生活补贴")] - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } [ExcelColumn(Name = "租房补助")] [ExcelColumnName("租房补助")] - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } [ExcelColumn(Name = "绩效扣款(项目)")] [ExcelColumnName("绩效扣款(项目)")] - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } [ExcelColumn(Name = "绩效扣款(考勤)")] [ExcelColumnName("绩效扣款(考勤)")] - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } [ExcelColumn(Name = "代发奖金")] [ExcelColumnName("代发奖金")] - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } [ExcelColumn(Name = "代发其他")] [ExcelColumnName("代发其他")] - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } [ExcelColumn(Name = "补发其他工资")] [ExcelColumnName("补发其他工资")] - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } [ExcelColumn(Name = "其他固定发放")] [ExcelColumnName("其他固定发放")] - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } [ExcelColumn(Name = "计件计量工资")] [ExcelColumnName("计件计量工资")] - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } [ExcelColumn(Name = "月预设项目")] [ExcelColumnName("月预设项目")] - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } [ExcelColumn(Name = "其他工资")] [ExcelColumnName("其他工资")] - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } [ExcelColumn(Name = "平衡应发")] [ExcelColumnName("平衡应发")] - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } [ExcelColumn(Name = "午餐补助")] [ExcelColumnName("午餐补助")] - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费")] [ExcelColumnName("女员工卫生费")] - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } [ExcelColumn(Name = "月应发小计")] [ExcelColumnName("月应发小计")] - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } [ExcelColumn(Name = "年度绩效(一)")] [ExcelColumnName("年度绩效(一)")] - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } [ExcelColumn(Name = "年度绩效(二)")] [ExcelColumnName("年度绩效(二)")] - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } [ExcelColumn(Name = "目标奖")] [ExcelColumnName("目标奖")] - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } [ExcelColumn(Name = "预设项目")] [ExcelColumnName("预设项目")] - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额")] [ExcelColumnName("基本养老保险单位缴纳额")] - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本养老保险个人缴纳额")] [ExcelColumnName("基本养老保险个人缴纳额")] - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } [ExcelColumn(Name = "基本医疗保险单位缴纳额")] [ExcelColumnName("基本医疗保险单位缴纳额")] - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险个人缴纳额")] [ExcelColumnName("基本医疗保险个人缴纳额")] - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] [ExcelColumnName("大额医疗费用补助单位缴纳额")] - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额")] [ExcelColumnName("失业保险单位缴纳额")] - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } [ExcelColumn(Name = "失业保险个人缴纳额")] [ExcelColumnName("失业保险个人缴纳额")] - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } [ExcelColumn(Name = "工伤保险单位缴纳额")] [ExcelColumnName("工伤保险单位缴纳额")] - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } [ExcelColumn(Name = "住房公积金单位缴纳额")] [ExcelColumnName("住房公积金单位缴纳额")] - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } [ExcelColumn(Name = "住房公积金个人缴纳额")] [ExcelColumnName("住房公积金个人缴纳额")] - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } [ExcelColumn(Name = "省养老保险基数")] [ExcelColumnName("省养老保险基数")] - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } [ExcelColumn(Name = "市养老保险基数")] [ExcelColumnName("市养老保险基数")] - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } [ExcelColumn(Name = "医疗保险基数")] [ExcelColumnName("医疗保险基数")] - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } [ExcelColumn(Name = "公积金基数")] [ExcelColumnName("公积金基数")] - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } [ExcelColumn(Name = "年金基数")] [ExcelColumnName("年金基数")] - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } [ExcelColumn(Name = "上年月平均工资")] [ExcelColumnName("上年月平均工资")] - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] [ExcelColumnName("全体人员市州失业、工伤保险基数")] - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } [ExcelColumn(Name = "省养老保险单位缴纳额")] [ExcelColumnName("省养老保险单位缴纳额")] - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } [ExcelColumn(Name = "省养老保险个人缴纳额")] [ExcelColumnName("省养老保险个人缴纳额")] - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } [ExcelColumn(Name = "市养老保险单位缴纳额")] [ExcelColumnName("市养老保险单位缴纳额")] - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } [ExcelColumn(Name = "市养老保险个人缴纳额")] [ExcelColumnName("市养老保险个人缴纳额")] - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } [ExcelColumn(Name = "企业年金单位计提额")] [ExcelColumnName("企业年金单位计提额")] - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } [ExcelColumn(Name = "企业年金个人缴纳额")] [ExcelColumnName("企业年金个人缴纳额")] - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进个入人账户")] [ExcelColumnName("公司年金进个入人账户")] - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } [ExcelColumn(Name = "公司年金进入公共账户")] [ExcelColumnName("公司年金进入公共账户")] - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } [ExcelColumn(Name = "补省养老保险单位缴纳额")] [ExcelColumnName("补省养老保险单位缴纳额")] - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] [ExcelColumnName("补扣省养老保险个人缴纳额")] - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } [ExcelColumn(Name = "补市养老保险单位缴纳额")] [ExcelColumnName("补市养老保险单位缴纳额")] - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] [ExcelColumnName("补扣市养老保险个人缴纳额")] - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } [ExcelColumn(Name = "补市医疗保险单位缴纳额")] [ExcelColumnName("补市医疗保险单位缴纳额")] - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] [ExcelColumnName("补扣医疗保险个人缴纳额")] - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] [ExcelColumnName("补大额医疗费用补助单位缴纳额")] - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } [ExcelColumn(Name = "补失业保险单位缴纳额")] [ExcelColumnName("补失业保险单位缴纳额")] - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } [ExcelColumn(Name = "补扣失业保险个人缴纳额")] [ExcelColumnName("补扣失业保险个人缴纳额")] - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } [ExcelColumn(Name = "补工伤单位缴纳额")] [ExcelColumnName("补工伤单位缴纳额")] - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } [ExcelColumn(Name = "补公积金单位缴纳额")] [ExcelColumnName("补公积金单位缴纳额")] - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } [ExcelColumn(Name = "补公积金个人缴纳额")] [ExcelColumnName("补公积金个人缴纳额")] - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } [ExcelColumn(Name = "补企业年金单位缴纳额")] [ExcelColumnName("补企业年金单位缴纳额")] - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } [ExcelColumn(Name = "补企业年金个人缴纳额")] [ExcelColumnName("补企业年金个人缴纳额")] - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } [ExcelColumn(Name = "月应扣小计")] [ExcelColumnName("月应扣小计")] - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } [ExcelColumn(Name = "实发金额")] [ExcelColumnName("实发金额")] - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } [ExcelColumn(Name = "雇主责任险")] [ExcelColumnName("雇主责任险")] - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险")] [ExcelColumnName("补充医疗保险")] - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "工会经费")] [ExcelColumnName("工会经费")] - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } [ExcelColumn(Name = "教育经费")] [ExcelColumnName("教育经费")] - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } [ExcelColumn(Name = "残疾人保障金分摊")] [ExcelColumnName("残疾人保障金分摊")] - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "辞退补偿金")] [ExcelColumnName("辞退补偿金")] - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } [ExcelColumn(Name = "其他")] [ExcelColumnName("其他")] - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } [ExcelColumn(Name = "劳务派遣工会会费营业税金")] [ExcelColumnName("劳务派遣工会会费营业税金")] - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } [ExcelColumn(Name = "工资总额")] [ExcelColumnName("工资总额")] - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } [ExcelColumn(Name = "市场拓展奖励")] [ExcelColumnName("市场拓展奖励")] - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } [ExcelColumn(Name = "福利费")] [ExcelColumnName("福利费")] - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } [ExcelColumn(Name = "外包应发小计")] [ExcelColumnName("外包应发小计")] - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] [ExcelColumnName("五险一金、商业保险的单位缴费")] - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } [ExcelColumn(Name = "中秋国庆福利报销费")] [ExcelColumnName("中秋国庆福利报销费")] - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } [ExcelColumn(Name = "扣平项目(加班餐费)")] [ExcelColumnName("扣平项目(加班餐费)")] - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } [ExcelColumn(Name = "业务外包人员费用")] [ExcelColumnName("业务外包人员费用")] - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } [ExcelColumn(Name = "管理费")] [ExcelColumnName("管理费")] - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } [ExcelColumn(Name = "业务外包税费")] [ExcelColumnName("业务外包税费")] - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "个人所得税")] [ExcelColumnName("个人所得税")] - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } [ExcelColumn(Name = "税前应扣")] [ExcelColumnName("税前应扣")] - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } [ExcelColumn(Name = "公积金应纳税金额")] [ExcelColumnName("公积金应纳税金额")] - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } [ExcelColumn(Name = "平衡个税缴费基数")] [ExcelColumnName("平衡个税缴费基数")] - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } [ExcelColumn(Name = "工资总额汇总")] [ExcelColumnName("工资总额汇总")] - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } [ExcelColumn(Name = "岗位工资汇总")] [ExcelColumnName("岗位工资汇总")] - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } [ExcelColumn(Name = "年功津贴汇总")] [ExcelColumnName("年功津贴汇总")] - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } [ExcelColumn(Name = "综合补贴汇总")] [ExcelColumnName("综合补贴汇总")] - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } [ExcelColumn(Name = "绩效工资汇总")] [ExcelColumnName("绩效工资汇总")] - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } [ExcelColumn(Name = "加班工资汇总")] [ExcelColumnName("加班工资汇总")] - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } [ExcelColumn(Name = "其他工资(总额倒扣)")] [ExcelColumnName("其他工资(总额倒扣)")] - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } [ExcelColumn(Name = "午餐补助(人力口)汇总")] [ExcelColumnName("午餐补助(人力口)汇总")] - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } [ExcelColumn(Name = "女员工卫生费汇总")] [ExcelColumnName("女员工卫生费汇总")] - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] [ExcelColumnName("基本养老保险单位缴纳额汇总")] - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } [ExcelColumn(Name = "失业保险单位缴纳额汇总")] [ExcelColumnName("失业保险单位缴纳额汇总")] - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } [ExcelColumn(Name = "工伤单位缴纳额汇总")] [ExcelColumnName("工伤单位缴纳额汇总")] - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } [ExcelColumn(Name = "公积金单位缴纳额汇总")] [ExcelColumnName("公积金单位缴纳额汇总")] - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } [ExcelColumn(Name = "企业年金单位缴费汇总")] [ExcelColumnName("企业年金单位缴费汇总")] - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } [ExcelColumn(Name = "雇主责任险汇总")] [ExcelColumnName("雇主责任险汇总")] - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } [ExcelColumn(Name = "补充医疗保险汇总")] [ExcelColumnName("补充医疗保险汇总")] - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } [ExcelColumn(Name = "计提工会经费汇总")] [ExcelColumnName("计提工会经费汇总")] - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } [ExcelColumn(Name = "计提职工教育经费汇总")] [ExcelColumnName("计提职工教育经费汇总")] - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } [ExcelColumn(Name = "劳务租赁费汇总")] [ExcelColumnName("劳务租赁费汇总")] - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } [ExcelColumn(Name = "残疾人就业保障金汇总")] [ExcelColumnName("残疾人就业保障金汇总")] - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } [ExcelColumn(Name = "外包人员管理费用汇总")] [ExcelColumnName("外包人员管理费用汇总")] - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } [ExcelColumn(Name = "外包人员税金汇总")] [ExcelColumnName("外包人员税金汇总")] - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } [ExcelColumn(Name = "创建人")] [ExcelColumnName("创建人")] @@ -764,6 +766,6 @@ namespace ZR.Model.Report.Dto [ExcelColumn(Name = "人员类别")] - public string AWEmployeeTypeLabel { get; set; } + public string AwEmployeeTypeLabel { get; set; } } } \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs new file mode 100644 index 00000000..08232397 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 人工成本汇总查询对象 + /// + public class PmsEmployeeCostSumQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// 人工成本汇总输入输出对象 + /// + public class PmsEmployeeCostSumDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsHrXtDto.cs b/ZR.Model/Report/Dto/PmsHrXtDto.cs new file mode 100644 index 00000000..431abacb --- /dev/null +++ b/ZR.Model/Report/Dto/PmsHrXtDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// HRXT查询对象 + /// + public class PmsHrXtQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// HRXT输入输出对象 + /// + public class PmsHrXtDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsOnetimePaymentDto.cs b/ZR.Model/Report/Dto/PmsOnetimePaymentDto.cs new file mode 100644 index 00000000..a988e9ad --- /dev/null +++ b/ZR.Model/Report/Dto/PmsOnetimePaymentDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 一次性发放查询对象 + /// + public class PmsOnetimePaymentQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// 一次性发放输入输出对象 + /// + public class PmsOnetimePaymentDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs b/ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs new file mode 100644 index 00000000..2252fc21 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 工资表-按月发查询对象 + /// + public class PmsSalaryMonthlyQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// 工资表-按月发输入输出对象 + /// + public class PmsSalaryMonthlyDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsAccrualItemProvide.cs b/ZR.Model/Report/PmsAccrualItemProvide.cs index c458e156..3f88fe95 100644 --- a/ZR.Model/Report/PmsAccrualItemProvide.cs +++ b/ZR.Model/Report/PmsAccrualItemProvide.cs @@ -46,7 +46,7 @@ namespace ZR.Model.Report /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.Report /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.Report /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/PmsAccrualItemSet.cs b/ZR.Model/Report/PmsAccrualItemSet.cs index a2cde879..28dfdc16 100644 --- a/ZR.Model/Report/PmsAccrualItemSet.cs +++ b/ZR.Model/Report/PmsAccrualItemSet.cs @@ -46,7 +46,7 @@ namespace ZR.Model.Report /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.Report /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.Report /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/PmsEmployeeCost.cs b/ZR.Model/Report/PmsEmployeeCost.cs index fbb528ea..0c6fc20f 100644 --- a/ZR.Model/Report/PmsEmployeeCost.cs +++ b/ZR.Model/Report/PmsEmployeeCost.cs @@ -46,7 +46,7 @@ namespace ZR.Model.Report /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.Report /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.Report /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/PmsEmployeeCostDetails.cs b/ZR.Model/Report/PmsEmployeeCostDetails.cs index e374fead..a7edc8e4 100644 --- a/ZR.Model/Report/PmsEmployeeCostDetails.cs +++ b/ZR.Model/Report/PmsEmployeeCostDetails.cs @@ -2,7 +2,7 @@ namespace ZR.Model.Report { /// - /// 核算明细 + /// 人工成本明细 /// [SugarTable("pms_accounting_details")] public class PmsEmployeeCostDetails @@ -46,7 +46,7 @@ namespace ZR.Model.Report /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.Report /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.Report /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/PmsEmployeeCostStatistic.cs b/ZR.Model/Report/PmsEmployeeCostStatistic.cs index b5262898..23047f92 100644 --- a/ZR.Model/Report/PmsEmployeeCostStatistic.cs +++ b/ZR.Model/Report/PmsEmployeeCostStatistic.cs @@ -2,7 +2,7 @@ namespace ZR.Model.Report { /// - /// 核算明细 + /// 统计 /// [SugarTable("pms_accounting_details")] public class PmsEmployeeCostStatistic @@ -46,7 +46,7 @@ namespace ZR.Model.Report /// /// 绩效工资(含预发、补发、清算) /// - public decimal GKPISalary { get; set; } + public decimal GKpiSalary { get; set; } /// /// 加班工资 @@ -146,52 +146,52 @@ namespace ZR.Model.Report /// /// 代扣个人年金 /// - public decimal AAAnnuityPersonal { get; set; } + public decimal AaAnnuityPersonal { get; set; } /// /// 代扣个人所得税 /// - public decimal ABTaxPersonal { get; set; } + public decimal AbTaxPersonal { get; set; } /// /// 月应扣小计 /// - public decimal ACMouthDeductTotal { get; set; } + public decimal AcMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ADPayAmount { get; set; } + public decimal AdPayAmount { get; set; } /// /// 工资总额 /// - public decimal AETotalSalary { get; set; } + public decimal AeTotalSalary { get; set; } /// /// 年度绩效(一) /// - public decimal AFYearKpi1 { get; set; } + public decimal AfYearKpi1 { get; set; } /// /// 年度绩效(二) /// - public decimal AGYearKpi2 { get; set; } + public decimal AgYearKpi2 { get; set; } /// /// 目标奖 /// - public decimal AHTargetBonus { get; set; } + public decimal AhTargetBonus { get; set; } /// /// 雇主责任险 /// - public decimal AIEmployerLiabilityInsurance { get; set; } + public decimal AiEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal AJSupplementalMedicalInsurance { get; set; } + public decimal AjSupplementalMedicalInsurance { get; set; } /// /// AK @@ -206,712 +206,712 @@ namespace ZR.Model.Report /// /// 时间 /// - public DateTime? AMRecordMonth { get; set; } + public DateTime? AmRecordMonth { get; set; } /// /// 姓名 /// - public string ANEmployeeName { get; set; } + public string AnEmployeeName { get; set; } /// /// 人员编码 /// - public string AOEmployeeCode { get; set; } + public string AoEmployeeCode { get; set; } /// /// HR系统部门名称 /// - public string APDeptNameHR { get; set; } + public string ApDeptNameHR { get; set; } /// /// 费用分类 /// - public string AQFeeTypeName { get; set; } + public string AqFeeTypeName { get; set; } /// /// 公司名称 /// - public string ARCompanyName { get; set; } + public string ArCompanyName { get; set; } /// /// 部门名称(不分片区) /// - public string ASDeptName { get; set; } + public string AsDeptName { get; set; } /// /// 部门名称 /// - public string ATDeptName { get; set; } + public string AtDeptName { get; set; } /// /// 中心名称 /// - public string AUCenterName { get; set; } + public string AuCenterName { get; set; } /// /// 班组名称 /// - public string AVTeamName { get; set; } + public string AvTeamName { get; set; } /// /// 人员类别 /// - public string AWEmployeeType { get; set; } + public string AwEmployeeType { get; set; } /// /// 用工分类 /// - public string AXEmployeeType { get; set; } + public string AxEmployeeType { get; set; } /// /// 性别 /// - public int? AYSex { get; set; } + public string AySex { get; set; } /// /// 所在区域 /// - public string AZArea { get; set; } + public string AzArea { get; set; } /// /// 是否党员 /// - public int? BAPartyMember { get; set; } + public string BaPartyMember { get; set; } /// /// 岗级 /// - public string BBSalaryFristLevel { get; set; } + public string BbSalaryFristLevel { get; set; } /// /// 档次 /// - public string BCSalarySecondLevel { get; set; } + public string BcSalarySecondLevel { get; set; } /// /// 绩效所在岗级 /// - public string BDKPILevel { get; set; } + public string BdKpiLevel { get; set; } /// /// 月标准绩效 /// - public decimal BENormKPISalary { get; set; } + public decimal BeNormKpiSalary { get; set; } /// /// 月岗位工资 /// - public decimal BFPositionSalary { get; set; } + public decimal BfPositionSalary { get; set; } /// /// 补发岗位工资 /// - public decimal BGBackPayPositionSalary { get; set; } + public decimal BgBackPayPositionSalary { get; set; } /// /// 年功津贴 /// - public decimal BHYearAllowance { get; set; } + public decimal BhYearAllowance { get; set; } /// /// 综合补贴 /// - public decimal BIComprehensiveAllowance { get; set; } + public decimal BiComprehensiveAllowance { get; set; } /// /// 月预发绩效工资 /// - public decimal BJPrepayKPISalary { get; set; } + public decimal BjPrepayKpiSalary { get; set; } /// /// 补发绩效工资 /// - public decimal BKBackPayKPISalary { get; set; } + public decimal BkBackPayKpiSalary { get; set; } /// /// 清算绩效工资 /// - public decimal BLSettlementKPISalary { get; set; } + public decimal BlSettlementKpiSalary { get; set; } /// /// 加班工资 /// - public decimal BMOvertimeAllowance { get; set; } + public decimal BmOvertimeAllowance { get; set; } /// /// 计算机补贴 /// - public decimal BNComputerAllowance { get; set; } + public decimal BnComputerAllowance { get; set; } /// /// 骨干津贴 /// - public decimal BOKeyStaffAllowance { get; set; } + public decimal BoKeyStaffAllowance { get; set; } /// /// 证书及考试奖励 /// - public decimal BPCertificateAllowance { get; set; } + public decimal BpCertificateAllowance { get; set; } /// /// 通讯补助 /// - public decimal BQPhoneAllowance { get; set; } + public decimal BqPhoneAllowance { get; set; } /// /// 交通补贴 /// - public decimal BRTransportAllowance { get; set; } + public decimal BrTransportAllowance { get; set; } /// /// 生活补贴 /// - public decimal BSLiveAllowance { get; set; } + public decimal BsLiveAllowance { get; set; } /// /// 租房补助 /// - public decimal BTHouseAllowance { get; set; } + public decimal BtHouseAllowance { get; set; } /// /// 市场拓展奖励 /// - public decimal BUMarketDevelopBonus { get; set; } + public decimal BuMarketDevelopBonus { get; set; } /// /// 绩效扣款(项目) /// - public decimal BVProjectDeduction { get; set; } + public decimal BvProjectDeduction { get; set; } /// /// 绩效扣款(考勤) /// - public decimal BWAttendanceDeduction { get; set; } + public decimal BwAttendanceDeduction { get; set; } /// /// 代发奖金 /// - public decimal BXAgentBonus { get; set; } + public decimal BxAgentBonus { get; set; } /// /// 代发其他 /// - public decimal BYAgentOther { get; set; } + public decimal ByAgentOther { get; set; } /// /// 补发其他工资 /// - public decimal BZBackPayOther { get; set; } + public decimal BzBackPayOther { get; set; } /// /// 其他固定发放 /// - public decimal CAOtherFixedPay { get; set; } + public decimal CaOtherFixedPay { get; set; } /// /// 计件计量工资 /// - public decimal CBPieceRatePay { get; set; } + public decimal CbPieceRatePay { get; set; } /// /// 月预设项目 /// - public decimal CCMouthPresetProject { get; set; } + public decimal CcMouthPresetProject { get; set; } /// /// 其他工资 /// - public decimal CDOtherPay { get; set; } + public decimal CdOtherPay { get; set; } /// /// 平衡应发 /// - public decimal CEAVGPay { get; set; } + public decimal CeAvgPay { get; set; } /// /// 午餐补助 /// - public decimal CFLunchAllowance { get; set; } + public decimal CfLunchAllowance { get; set; } /// /// 女员工卫生费 /// - public decimal CGWomenAllowance { get; set; } + public decimal CgWomenAllowance { get; set; } /// /// 月应发小计 /// - public decimal CHTotalMonthlyPay { get; set; } + public decimal ChTotalMonthlyPay { get; set; } /// /// 年度绩效(一) /// - public decimal CIYearKpiPay1 { get; set; } + public decimal CiYearKpiPay1 { get; set; } /// /// 年度绩效(二) /// - public decimal CJYearKpiPay2 { get; set; } + public decimal CjYearKpiPay2 { get; set; } /// /// 目标奖 /// - public decimal CKTargetBonus { get; set; } + public decimal CkTargetBonus { get; set; } /// /// 预设项目 /// - public decimal CLPresetProject { get; set; } + public decimal ClPresetProject { get; set; } /// /// 基本养老保险单位缴纳额 /// - public decimal CMPensionBaseCompany { get; set; } + public decimal CmPensionBaseCompany { get; set; } /// /// 基本养老保险个人缴纳额 /// - public decimal CNPensionBasePersonal { get; set; } + public decimal CnPensionBasePersonal { get; set; } /// /// 基本医疗保险单位缴纳额 /// - public decimal COMedicalBaseCompany { get; set; } + public decimal CoMedicalBaseCompany { get; set; } /// /// 基本医疗保险个人缴纳额 /// - public decimal CPMedicalBasePersonal { get; set; } + public decimal CpMedicalBasePersonal { get; set; } /// /// 大额医疗费用补助单位缴纳额 /// - public decimal CQBigMedicalBaseCompany { get; set; } + public decimal CqBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额 /// - public decimal CRNoWorkCompany { get; set; } + public decimal CrNoWorkCompany { get; set; } /// /// 失业保险个人缴纳额 /// - public decimal CSNoWorkPersonal { get; set; } + public decimal CsNoWorkPersonal { get; set; } /// /// 工伤保险单位缴纳额 /// - public decimal CTWorkInjuryCompany { get; set; } + public decimal CtWorkInjuryCompany { get; set; } /// /// 住房公积金单位缴纳额 /// - public decimal CUProvidentFundCompany { get; set; } + public decimal CuProvidentFundCompany { get; set; } /// /// 住房公积金个人缴纳额 /// - public decimal CVProvidentFundPersonal { get; set; } + public decimal CvProvidentFundPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal CWAnnuityCompany { get; set; } + public decimal CwAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal CXAnnuityPersonal { get; set; } + public decimal CxAnnuityPersonal { get; set; } /// /// 省养老保险基数 /// - public decimal CYProvincePensionBase { get; set; } + public decimal CyProvincePensionBase { get; set; } /// /// 市养老保险基数 /// - public decimal CZCityPensionBase { get; set; } + public decimal CzCityPensionBase { get; set; } /// /// 医疗保险基数 /// - public decimal DAMedicalInsuranceBase { get; set; } + public decimal DaMedicalInsuranceBase { get; set; } /// /// 公积金基数 /// - public decimal DBHousingFundBase { get; set; } + public decimal DbHousingFundBase { get; set; } /// /// 年金基数 /// - public decimal DCAnnuityBase { get; set; } + public decimal DcAnnuityBase { get; set; } /// /// 上年月平均工资 /// - public decimal DDLastYearAvgSalary { get; set; } + public decimal DdLastYearAvgSalary { get; set; } /// /// 全体人员市州失业、工伤保险基数 /// - public decimal DECityUnemploymentInjuryBase { get; set; } + public decimal DeCityUnemploymentInjuryBase { get; set; } /// /// 省养老保险单位缴纳额 /// - public decimal DFPensionProvinceCompany { get; set; } + public decimal DfPensionProvinceCompany { get; set; } /// /// 省养老保险个人缴纳额 /// - public decimal DGPensionProvincePersonal { get; set; } + public decimal DgPensionProvincePersonal { get; set; } /// /// 市养老保险单位缴纳额 /// - public decimal DHPensionCityCompany { get; set; } + public decimal DhPensionCityCompany { get; set; } /// /// 市养老保险个人缴纳额 /// - public decimal DIPensionCityPersonal { get; set; } + public decimal DiPensionCityPersonal { get; set; } /// /// 企业年金单位计提额 /// - public decimal DJAnnuityCompany { get; set; } + public decimal DjAnnuityCompany { get; set; } /// /// 企业年金个人缴纳额 /// - public decimal DKAnnuityPersonal { get; set; } + public decimal DkAnnuityPersonal { get; set; } /// /// 公司年金进个入人账户 /// - public decimal DLAnnuityPersonal { get; set; } + public decimal DlAnnuityPersonal { get; set; } /// /// 公司年金进入公共账户 /// - public decimal DMAnnuityCompany { get; set; } + public decimal DmAnnuityCompany { get; set; } /// /// 补省养老保险单位缴纳额 /// - public decimal DNBackPayPensionProvinceCompany { get; set; } + public decimal DnBackPayPensionProvinceCompany { get; set; } /// /// 补扣省养老保险个人缴纳额 /// - public decimal DOBackPayPensionProvincePersonal { get; set; } + public decimal DoBackPayPensionProvincePersonal { get; set; } /// /// 补市养老保险单位缴纳额 /// - public decimal DPBackPayPensionCityCompany { get; set; } + public decimal DpBackPayPensionCityCompany { get; set; } /// /// 补扣市养老保险个人缴纳额 /// - public decimal DQBackPayPensionCityPersonal { get; set; } + public decimal DqBackPayPensionCityPersonal { get; set; } /// /// 补市医疗保险单位缴纳额 /// - public decimal DRBackPayMedicalCityCompany { get; set; } + public decimal DrBackPayMedicalCityCompany { get; set; } /// /// 补扣医疗保险个人缴纳额 /// - public decimal DSBackPayMedicalCityPersonal { get; set; } + public decimal DsBackPayMedicalCityPersonal { get; set; } /// /// 补大额医疗费用补助单位缴纳额 /// - public decimal DTBackPayBigMedicalCompany { get; set; } + public decimal DtBackPayBigMedicalCompany { get; set; } /// /// 补失业保险单位缴纳额 /// - public decimal DUBackPayUnemploymentCompany { get; set; } + public decimal DuBackPayUnemploymentCompany { get; set; } /// /// 补扣失业保险个人缴纳额 /// - public decimal DVBackPayUnemploymentPersonal { get; set; } + public decimal DvBackPayUnemploymentPersonal { get; set; } /// /// 补工伤单位缴纳额 /// - public decimal DWBackPayInjuryCompany { get; set; } + public decimal DwBackPayInjuryCompany { get; set; } /// /// 补公积金单位缴纳额 /// - public decimal DXBackPayHousingFundCompany { get; set; } + public decimal DxBackPayHousingFundCompany { get; set; } /// /// 补公积金个人缴纳额 /// - public decimal DYBackPayHousingFundPersonal { get; set; } + public decimal DyBackPayHousingFundPersonal { get; set; } /// /// 补企业年金单位缴纳额 /// - public decimal DZBackPayAnnuityCompany { get; set; } + public decimal DzBackPayAnnuityCompany { get; set; } /// /// 补企业年金个人缴纳额 /// - public decimal EABackPayAnnuityPersonal { get; set; } + public decimal EaBackPayAnnuityPersonal { get; set; } /// /// 月应扣小计 /// - public decimal EBMouthDeductTotal { get; set; } + public decimal EbMouthDeductTotal { get; set; } /// /// 实发金额 /// - public decimal ECPayAmount { get; set; } + public decimal EcPayAmount { get; set; } /// /// 工资总额 /// - public decimal EDTotalSalary { get; set; } + public decimal EdTotalSalary { get; set; } /// /// 雇主责任险 /// - public decimal EEEmployerLiabilityInsurance { get; set; } + public decimal EeEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险 /// - public decimal EFSupplementalMedicalInsurance { get; set; } + public decimal EfSupplementalMedicalInsurance { get; set; } /// /// 工会经费 /// - public decimal EGUnionFee { get; set; } + public decimal EgUnionFee { get; set; } /// /// 教育经费 /// - public decimal EHEducationFee { get; set; } + public decimal EhEducationFee { get; set; } /// /// 残疾人保障金分摊 /// - public decimal EIDisabilityGuaranteeFund { get; set; } + public decimal EiDisabilityGuaranteeFund { get; set; } /// /// 辞退补偿金 /// - public decimal EJSeveranceCompensation { get; set; } + public decimal EjSeveranceCompensation { get; set; } /// /// 其他 /// - public decimal EKOtherFee { get; set; } + public decimal EkOtherFee { get; set; } /// /// 劳务派遣工会会费营业税金 /// - public decimal ELLabourDispatchUnionFeeTax { get; set; } + public decimal ElLabourDispatchUnionFeeTax { get; set; } /// /// 工资总额 /// - public decimal EMTotalSalary { get; set; } + public decimal EmTotalSalary { get; set; } /// /// 市场拓展奖励 /// - public decimal ENMarketDevelopBonus { get; set; } + public decimal EnMarketDevelopBonus { get; set; } /// /// 福利费 /// - public decimal EOWelfareFee { get; set; } + public decimal EoWelfareFee { get; set; } /// /// 外包应发小计 /// - public decimal EPOutsourcedPayables { get; set; } + public decimal EpOutsourcedPayables { get; set; } /// /// 五险一金、商业保险的单位缴费 /// - public decimal EQPensionCompany { get; set; } + public decimal EqPensionCompany { get; set; } /// /// 中秋国庆福利报销费 /// - public decimal ERHolidayGift { get; set; } + public decimal ErHolidayGift { get; set; } /// /// 扣平项目(加班餐费) /// - public decimal ESDeductionMealFee { get; set; } + public decimal EsDeductionMealFee { get; set; } /// /// 业务外包人员费用 /// - public decimal ETOutsourcedFee { get; set; } + public decimal EtOutsourcedFee { get; set; } /// /// 管理费 /// - public decimal EUManagementFee { get; set; } + public decimal EuManagementFee { get; set; } /// /// 业务外包税费 /// - public decimal EVOutsourcedTaxFee { get; set; } + public decimal EvOutsourcedTaxFee { get; set; } /// /// 个人所得税 /// - public decimal EWTaxPersonal { get; set; } + public decimal EwTaxPersonal { get; set; } /// /// 税前应扣 /// - public decimal EXPreTax { get; set; } + public decimal ExPreTax { get; set; } /// /// 公积金应纳税金额 /// - public decimal EYHousingFundTaxable { get; set; } + public decimal EyHousingFundTaxable { get; set; } /// /// 平衡个税缴费基数 /// - public decimal EZBalancedPersonalTaxBase { get; set; } + public decimal EzBalancedPersonalTaxBase { get; set; } /// /// 工资总额汇总 /// - public decimal FATotalSalary { get; set; } + public decimal FaTotalSalary { get; set; } /// /// 岗位工资汇总 /// - public decimal FBTotalPositionSalary { get; set; } + public decimal FbTotalPositionSalary { get; set; } /// /// 年功津贴汇总 /// - public decimal FCTotalYearAllowance { get; set; } + public decimal FcTotalYearAllowance { get; set; } /// /// 综合补贴汇总 /// - public decimal FDTotalCompAllowance { get; set; } + public decimal FdTotalCompAllowance { get; set; } /// /// 绩效工资汇总 /// - public decimal FETotalKPISalary { get; set; } + public decimal FeTotalKpiSalary { get; set; } /// /// 加班工资汇总 /// - public decimal FFTotalOvertimeAllowance { get; set; } + public decimal FfTotalOvertimeAllowance { get; set; } /// /// 其他工资(总额倒扣) /// - public decimal FGTotalOther { get; set; } + public decimal FgTotalOther { get; set; } /// /// 午餐补助(人力口)汇总 /// - public decimal FHTotalLunchAllowance { get; set; } + public decimal FhTotalLunchAllowance { get; set; } /// /// 女员工卫生费汇总 /// - public decimal FITotalWomenAllowance { get; set; } + public decimal FiTotalWomenAllowance { get; set; } /// /// 基本养老保险单位缴纳额汇总 /// - public decimal FJTotalPensionBaseCompany { get; set; } + public decimal FjTotalPensionBaseCompany { get; set; } /// /// 基本医疗保险(含生育)单位缴纳额汇总 /// - public decimal FKTotalMedicalBaseCompany { get; set; } + public decimal FkTotalMedicalBaseCompany { get; set; } /// /// 大额医疗费用补助单位缴纳额汇总 /// - public decimal FLTotalBigMedicalBaseCompany { get; set; } + public decimal FlTotalBigMedicalBaseCompany { get; set; } /// /// 失业保险单位缴纳额汇总 /// - public decimal FMTotalNoWorkCompany { get; set; } + public decimal FmTotalNoWorkCompany { get; set; } /// /// 工伤单位缴纳额汇总 /// - public decimal FNTotalInjuryCompany { get; set; } + public decimal FnTotalInjuryCompany { get; set; } /// /// 公积金单位缴纳额汇总 /// - public decimal FOTotalProvidentFundCompany { get; set; } + public decimal FoTotalProvidentFundCompany { get; set; } /// /// 企业年金单位缴费汇总 /// - public decimal FPTotalAnnuityCompany { get; set; } + public decimal FpTotalAnnuityCompany { get; set; } /// /// 雇主责任险汇总 /// - public decimal FQTotalEmployerLiabilityInsurance { get; set; } + public decimal FqTotalEmployerLiabilityInsurance { get; set; } /// /// 补充医疗保险汇总 /// - public decimal FRTotalSupplementalMedicalInsurance { get; set; } + public decimal FrTotalSupplementalMedicalInsurance { get; set; } /// /// 计提工会经费汇总 /// - public decimal FSTotalUnionFee { get; set; } + public decimal FsTotalUnionFee { get; set; } /// /// 计提职工教育经费汇总 /// - public decimal FTTotalEducationFee { get; set; } + public decimal FtTotalEducationFee { get; set; } /// /// 劳务租赁费汇总 /// - public decimal FUTotalLaborLeasingFee { get; set; } + public decimal FuTotalLaborLeasingFee { get; set; } /// /// 残疾人就业保障金汇总 /// - public decimal FVTotalDisabilityGuaranteeFund { get; set; } + public decimal FvTotalDisabilityGuaranteeFund { get; set; } /// /// 外包人员管理费用汇总 /// - public decimal FWTotalOutsourcedFee { get; set; } + public decimal FwTotalOutsourcedFee { get; set; } /// /// 外包人员税金汇总 /// - public decimal FXTotalOutsourcedTaxFee { get; set; } + public decimal FxTotalOutsourcedTaxFee { get; set; } /// /// 创建人 diff --git a/ZR.Model/Report/PmsEmployeeCostSum.cs b/ZR.Model/Report/PmsEmployeeCostSum.cs new file mode 100644 index 00000000..b873ff96 --- /dev/null +++ b/ZR.Model/Report/PmsEmployeeCostSum.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 人工成本汇总 + /// + [SugarTable("pms_accounting_details")] + public class PmsEmployeeCostSum + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsHrXt.cs b/ZR.Model/Report/PmsHrXt.cs new file mode 100644 index 00000000..6f45cc67 --- /dev/null +++ b/ZR.Model/Report/PmsHrXt.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// HRXT + /// + [SugarTable("pms_accounting_details")] + public class PmsHrXt + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsOnetimePayment.cs b/ZR.Model/Report/PmsOnetimePayment.cs new file mode 100644 index 00000000..359b5959 --- /dev/null +++ b/ZR.Model/Report/PmsOnetimePayment.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 一次性发放 + /// + [SugarTable("pms_accounting_details")] + public class PmsOnetimePayment + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsSalaryMonthly.cs b/ZR.Model/Report/PmsSalaryMonthly.cs new file mode 100644 index 00000000..b171aded --- /dev/null +++ b/ZR.Model/Report/PmsSalaryMonthly.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// 工资表-按月发 + /// + [SugarTable("pms_accounting_details")] + public class PmsSalaryMonthly + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index 69cdd414..7005a33c 100644 --- a/ZR.Repository/BaseRepository.cs +++ b/ZR.Repository/BaseRepository.cs @@ -369,6 +369,7 @@ namespace ZR.Repository /// public static PagedInfo ToPage(this ISugarQueryable source, PagerInfo parm) { + var sql = source.ToSql(); var page = new PagedInfo(); var total = 0; page.PageSize = parm.PageSize; diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs index 66663a3e..f36e89b4 100644 --- a/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs +++ b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs @@ -15,6 +15,8 @@ namespace ZR.Service.BaseInfo.IBaseInfoService PmsAccountingDetails AddPmsAccountingDetails(PmsAccountingDetails parm); int UpdatePmsAccountingDetails(PmsAccountingDetails parm); + + bool TruncatePmsAccountingDetails(); (string, object, object) ImportPmsAccountingDetails(List list); diff --git a/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs index ee5f0b7a..ae70db72 100644 --- a/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs +++ b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs @@ -65,6 +65,20 @@ namespace ZR.Service.BaseInfo return Update(model, true, "修改核算明细"); } + /// + /// 清空核算明细 + /// + /// + public bool TruncatePmsAccountingDetails() + { + var newTableName = $"pms_accounting_details_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("pms_accounting_details", newTableName); + } + + return Truncate(); + } /// /// 导入核算明细 /// @@ -73,7 +87,6 @@ namespace ZR.Service.BaseInfo { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) - .SplitError(x => x.Item.AOEmployeeCode.IsEmpty(), "人员编码不能为空") //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) .ToStorage(); var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; @@ -122,18 +135,14 @@ namespace ZR.Service.BaseInfo { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AOEmployeeCode), it => it.AOEmployeeCode == parm.AOEmployeeCode); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.APDeptNameHR), it => it.APDeptNameHR == parm.APDeptNameHR); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ASDeptName), it => it.ASDeptName == parm.ASDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ATDeptName), it => it.ATDeptName == parm.ATDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AUCenterName), it => it.AUCenterName == parm.AUCenterName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AVTeamName), it => it.AVTeamName == parm.AVTeamName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AWEmployeeType), it => it.AWEmployeeType == parm.AWEmployeeType); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AXEmployeeType), it => it.AXEmployeeType == parm.AXEmployeeType); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs index 7a9c8e29..1a8ff797 100644 --- a/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostDetailsService.cs @@ -4,7 +4,7 @@ using ZR.Model.Report; namespace ZR.Service.Report.IReportService { /// - /// 核算明细service接口 + /// 人工成本明细service接口 /// public interface IPmsEmployeeCostDetailsService : IBaseService { diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs index f943ae4e..831445ab 100644 --- a/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs @@ -14,7 +14,11 @@ namespace ZR.Service.Report.IReportService PmsEmployeeCost AddPmsEmployeeCost(PmsEmployeeCost parm); + int UpdatePmsEmployeeCost(PmsEmployeeCost parm); + + bool TruncatePmsEmployeeCost(); + (string, object, object) ImportPmsEmployeeCost(List list); PagedInfo ExportList(PmsEmployeeCostQueryDto parm); } diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs index 41b0b977..fd64a4be 100644 --- a/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostStatisticService.cs @@ -4,7 +4,7 @@ using ZR.Model.Report; namespace ZR.Service.Report.IReportService { /// - /// 核算明细service接口 + /// 统计service接口 /// public interface IPmsEmployeeCostStatisticService : IBaseService { diff --git a/ZR.Service/Report/IReportService/IPmsEmployeeCostSumService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostSumService.cs new file mode 100644 index 00000000..57c11af4 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostSumService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 人工成本汇总service接口 + /// + public interface IPmsEmployeeCostSumService : IBaseService + { + PagedInfo GetList(PmsEmployeeCostSumQueryDto parm); + + PmsEmployeeCostSum GetInfo(int Id); + + + PmsEmployeeCostSum AddPmsEmployeeCostSum(PmsEmployeeCostSum parm); + + + PagedInfo ExportList(PmsEmployeeCostSumQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsHrXtService.cs b/ZR.Service/Report/IReportService/IPmsHrXtService.cs new file mode 100644 index 00000000..2f67315e --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsHrXtService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// HRXTservice接口 + /// + public interface IPmsHrXtService : IBaseService + { + PagedInfo GetList(PmsHrXtQueryDto parm); + + PmsHrXt GetInfo(int Id); + + + PmsHrXt AddPmsHrXt(PmsHrXt parm); + + + PagedInfo ExportList(PmsHrXtQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsOnetimePaymentService.cs b/ZR.Service/Report/IReportService/IPmsOnetimePaymentService.cs new file mode 100644 index 00000000..8d24e9eb --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsOnetimePaymentService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 一次性发放service接口 + /// + public interface IPmsOnetimePaymentService : IBaseService + { + PagedInfo GetList(PmsOnetimePaymentQueryDto parm); + + PmsOnetimePayment GetInfo(int Id); + + + PmsOnetimePayment AddPmsOnetimePayment(PmsOnetimePayment parm); + + + PagedInfo ExportList(PmsOnetimePaymentQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsSalaryMonthlyService.cs b/ZR.Service/Report/IReportService/IPmsSalaryMonthlyService.cs new file mode 100644 index 00000000..370f3830 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsSalaryMonthlyService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// 工资表-按月发service接口 + /// + public interface IPmsSalaryMonthlyService : IBaseService + { + PagedInfo GetList(PmsSalaryMonthlyQueryDto parm); + + PmsSalaryMonthly GetInfo(int Id); + + + PmsSalaryMonthly AddPmsSalaryMonthly(PmsSalaryMonthly parm); + + + PagedInfo ExportList(PmsSalaryMonthlyQueryDto parm); + } +} diff --git a/ZR.Service/Report/PmsAccrualItemProvideService.cs b/ZR.Service/Report/PmsAccrualItemProvideService.cs index 82cf44d4..09fb2602 100644 --- a/ZR.Service/Report/PmsAccrualItemProvideService.cs +++ b/ZR.Service/Report/PmsAccrualItemProvideService.cs @@ -83,11 +83,14 @@ namespace ZR.Service.Report { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/PmsAccrualItemSetService.cs b/ZR.Service/Report/PmsAccrualItemSetService.cs index 60612b9e..d7604e68 100644 --- a/ZR.Service/Report/PmsAccrualItemSetService.cs +++ b/ZR.Service/Report/PmsAccrualItemSetService.cs @@ -83,11 +83,14 @@ namespace ZR.Service.Report { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/PmsEmployeeCostDetailsService.cs b/ZR.Service/Report/PmsEmployeeCostDetailsService.cs index 5ba8f65b..b1429e23 100644 --- a/ZR.Service/Report/PmsEmployeeCostDetailsService.cs +++ b/ZR.Service/Report/PmsEmployeeCostDetailsService.cs @@ -8,13 +8,13 @@ using ZR.Service.Report.IReportService; namespace ZR.Service.Report { /// - /// 核算明细Service业务层处理 + /// 人工成本明细Service业务层处理 /// [AppService(ServiceType = typeof(IPmsEmployeeCostDetailsService), ServiceLifetime = LifeTime.Transient)] public class PmsEmployeeCostDetailsService : BaseService, IPmsEmployeeCostDetailsService { /// - /// 查询核算明细列表 + /// 查询人工成本明细列表 /// /// /// @@ -46,7 +46,7 @@ namespace ZR.Service.Report } /// - /// 添加核算明细 + /// 添加人工成本明细 /// /// /// @@ -56,7 +56,7 @@ namespace ZR.Service.Report } /// - /// 导出核算明细 + /// 导出人工成本明细 /// /// /// @@ -83,11 +83,14 @@ namespace ZR.Service.Report { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/PmsEmployeeCostService.cs b/ZR.Service/Report/PmsEmployeeCostService.cs index 1c1fb5b6..b59c0c1b 100644 --- a/ZR.Service/Report/PmsEmployeeCostService.cs +++ b/ZR.Service/Report/PmsEmployeeCostService.cs @@ -23,8 +23,35 @@ namespace ZR.Service.Report var predicate = QueryExp(parm); var response = Queryable() - //.OrderBy("ASortNo asc") + .GroupBy(a => a.AtDeptName) .Where(predicate.ToExpression()) + //.OrderBy("ASortNo asc") + .Select(a => new PmsEmployeeCost() + { + AtDeptName = a.AtDeptName, + FbTotalPositionSalary = SqlFunc.AggregateSum(a.FbTotalPositionSalary), + FcTotalYearAllowance = SqlFunc.AggregateSum(a.FcTotalYearAllowance), + FdTotalCompAllowance = SqlFunc.AggregateSum(a.FdTotalCompAllowance), + FeTotalKpiSalary = SqlFunc.AggregateSum(a.FeTotalKpiSalary), + FgTotalOther = SqlFunc.AggregateSum(a.FgTotalOther), + FhTotalLunchAllowance = SqlFunc.AggregateSum(a.FhTotalLunchAllowance), + FiTotalWomenAllowance = SqlFunc.AggregateSum(a.FiTotalWomenAllowance), + FjTotalPensionBaseCompany = SqlFunc.AggregateSum(a.FjTotalPensionBaseCompany), + FkTotalMedicalBaseCompany = SqlFunc.AggregateSum(a.FkTotalMedicalBaseCompany), + FlTotalBigMedicalBaseCompany = SqlFunc.AggregateSum(a.FlTotalBigMedicalBaseCompany), + FmTotalNoWorkCompany = SqlFunc.AggregateSum(a.FmTotalNoWorkCompany), + FnTotalInjuryCompany = SqlFunc.AggregateSum(a.FnTotalInjuryCompany), + FoTotalProvidentFundCompany = SqlFunc.AggregateSum(a.FoTotalProvidentFundCompany), + FpTotalAnnuityCompany = SqlFunc.AggregateSum(a.FpTotalAnnuityCompany), + FsTotalUnionFee = SqlFunc.AggregateSum(a.FsTotalUnionFee), + FtTotalEducationFee = SqlFunc.AggregateSum(a.FtTotalEducationFee), + FqTotalEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.FqTotalEmployerLiabilityInsurance), + FrTotalSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.FrTotalSupplementalMedicalInsurance), + ChTotalMonthlyPay = SqlFunc.AggregateSum(a.ChTotalMonthlyPay), + DfPensionProvinceCompany = SqlFunc.AggregateSum(a.DfPensionProvinceCompany), + DnBackPayPensionProvinceCompany = SqlFunc.AggregateSum(a.DnBackPayPensionProvinceCompany), + + }) .ToPage(parm); return response; @@ -55,6 +82,58 @@ namespace ZR.Service.Report return Insertable(model).ExecuteReturnEntity(); } + /// + /// 修改人工成本 + /// + /// + /// + public int UpdatePmsEmployeeCost(PmsEmployeeCost model) + { + return Update(model, true); + } + + /// + /// 清空人工成本 + /// + /// + public bool TruncatePmsEmployeeCost() + { + var newTableName = $"pms_accounting_details_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("pms_accounting_details", newTableName); + } + + return Truncate(); + } + /// + /// 导入人工成本 + /// + /// + public (string, object, object) ImportPmsEmployeeCost(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + /// /// 导出人工成本 /// @@ -83,11 +162,14 @@ namespace ZR.Service.Report { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/PmsEmployeeCostStatisticService.cs b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs index 68a728e5..8212fc43 100644 --- a/ZR.Service/Report/PmsEmployeeCostStatisticService.cs +++ b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs @@ -1,23 +1,20 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.BaseInfo.Dto; -using ZR.Model.Report; using ZR.Model.Report.Dto; -using ZR.Model.System; +using ZR.Model.Report; using ZR.Repository; using ZR.Service.Report.IReportService; -using ZR.ServiceCore.Model.Dto; namespace ZR.Service.Report { /// - /// 核算明细Service业务层处理 + /// 统计Service业务层处理 /// [AppService(ServiceType = typeof(IPmsEmployeeCostStatisticService), ServiceLifetime = LifeTime.Transient)] public class PmsEmployeeCostStatisticService : BaseService, IPmsEmployeeCostStatisticService { /// - /// 查询核算明细列表 + /// 查询统计列表 /// /// /// @@ -26,116 +23,119 @@ namespace ZR.Service.Report var predicate = QueryExp(parm); var response = Queryable() - .GroupBy(a => a.ATDeptName) + .GroupBy(a => a.AtDeptName) .Where(predicate.ToExpression()) //.OrderBy("ASortNo asc") - .Select(a => new PmsEmployeeCostStatisticDto() + .Select(a => new PmsEmployeeCostStatistic() { - ATDeptName = a.ATDeptName, - BHYearAllowance= SqlFunc.AggregateSum(a.BHYearAllowance), - BIComprehensiveAllowance = SqlFunc.AggregateSum(a.BIComprehensiveAllowance), - ANEmployeeName = SqlFunc.AggregateCount(a.ANEmployeeName).ToString(), - BLSettlementKPISalary = SqlFunc.AggregateSum(a.BLSettlementKPISalary), - BMOvertimeAllowance = SqlFunc.AggregateSum(a.BMOvertimeAllowance), - BNComputerAllowance = SqlFunc.AggregateSum(a.BNComputerAllowance), - BOKeyStaffAllowance = SqlFunc.AggregateSum(a.BOKeyStaffAllowance), - BPCertificateAllowance = SqlFunc.AggregateSum(a.BPCertificateAllowance), - BRTransportAllowance = SqlFunc.AggregateSum(a.BRTransportAllowance), - BUMarketDevelopBonus = SqlFunc.AggregateSum(a.BUMarketDevelopBonus), - BXAgentBonus = SqlFunc.AggregateSum(a.BXAgentBonus), - BYAgentOther = SqlFunc.AggregateSum(a.BYAgentOther), - CDOtherPay = SqlFunc.AggregateSum(a.CDOtherPay), - CEAVGPay = SqlFunc.AggregateSum(a.CEAVGPay), - CFLunchAllowance = SqlFunc.AggregateSum(a.CFLunchAllowance), - CGWomenAllowance = SqlFunc.AggregateSum(a.CGWomenAllowance), - BTHouseAllowance = SqlFunc.AggregateSum(a.BTHouseAllowance), - CKTargetBonus = SqlFunc.AggregateSum(a.CKTargetBonus), - COMedicalBaseCompany = SqlFunc.AggregateSum(a.COMedicalBaseCompany), - CQBigMedicalBaseCompany = SqlFunc.AggregateSum(a.CQBigMedicalBaseCompany), - CRNoWorkCompany = SqlFunc.AggregateSum(a.CRNoWorkCompany), - CTWorkInjuryCompany = SqlFunc.AggregateSum(a.CTWorkInjuryCompany), - CUProvidentFundCompany = SqlFunc.AggregateSum(a.CUProvidentFundCompany), - CWAnnuityCompany = SqlFunc.AggregateSum(a.CWAnnuityCompany), - DNBackPayPensionProvinceCompany = SqlFunc.AggregateSum(a.DNBackPayPensionProvinceCompany), - DPBackPayPensionCityCompany = SqlFunc.AggregateSum(a.DPBackPayPensionCityCompany), - DRBackPayMedicalCityCompany = SqlFunc.AggregateSum(a.DRBackPayMedicalCityCompany), - DTBackPayBigMedicalCompany = SqlFunc.AggregateSum(a.DTBackPayBigMedicalCompany), - DUBackPayUnemploymentCompany = SqlFunc.AggregateSum(a.DUBackPayUnemploymentCompany), - DWBackPayInjuryCompany = SqlFunc.AggregateSum(a.DWBackPayInjuryCompany), - DXBackPayHousingFundCompany = SqlFunc.AggregateSum(a.DXBackPayHousingFundCompany), - DZBackPayAnnuityCompany = SqlFunc.AggregateSum(a.DZBackPayAnnuityCompany), - EEEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.EEEmployerLiabilityInsurance), - EFSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.EFSupplementalMedicalInsurance), - EGUnionFee = SqlFunc.AggregateSum(a.EGUnionFee), - EHEducationFee = SqlFunc.AggregateSum(a.EHEducationFee), - EIDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.EIDisabilityGuaranteeFund), - EJSeveranceCompensation = SqlFunc.AggregateSum(a.EJSeveranceCompensation), - EKOtherFee = SqlFunc.AggregateSum(a.EKOtherFee), - ELLabourDispatchUnionFeeTax = SqlFunc.AggregateSum(a.ELLabourDispatchUnionFeeTax), - EUManagementFee = SqlFunc.AggregateSum(a.EUManagementFee), - EVOutsourcedTaxFee = SqlFunc.AggregateSum(a.EVOutsourcedTaxFee), - DFPensionProvinceCompany = SqlFunc.AggregateSum(a.DFPensionProvinceCompany), - DHPensionCityCompany = SqlFunc.AggregateSum(a.DHPensionCityCompany), - CNPensionBasePersonal = SqlFunc.AggregateSum(a.CNPensionBasePersonal), - CSNoWorkPersonal = SqlFunc.AggregateSum(a.CSNoWorkPersonal), - CVProvidentFundPersonal = SqlFunc.AggregateSum(a.CVProvidentFundPersonal), - CXAnnuityPersonal = SqlFunc.AggregateSum(a.CXAnnuityPersonal), - DGPensionProvincePersonal = SqlFunc.AggregateSum(a.DGPensionProvincePersonal), - DIPensionCityPersonal = SqlFunc.AggregateSum(a.DIPensionCityPersonal), - DOBackPayPensionProvincePersonal = SqlFunc.AggregateSum(a.DOBackPayPensionProvincePersonal), - DQBackPayPensionCityPersonal = SqlFunc.AggregateSum(a.DQBackPayPensionCityPersonal), - DSBackPayMedicalCityPersonal = SqlFunc.AggregateSum(a.DSBackPayMedicalCityPersonal), - DVBackPayUnemploymentPersonal = SqlFunc.AggregateSum(a.DVBackPayUnemploymentPersonal), - DYBackPayHousingFundPersonal = SqlFunc.AggregateSum(a.DYBackPayHousingFundPersonal), - EABackPayAnnuityPersonal = SqlFunc.AggregateSum(a.EABackPayAnnuityPersonal), - EQPensionCompany = SqlFunc.AggregateSum(a.EQPensionCompany), - ECPayAmount = SqlFunc.AggregateSum(a.ECPayAmount), - EDTotalSalary = SqlFunc.AggregateSum(a.EDTotalSalary), - BFPositionSalary = SqlFunc.AggregateSum(a.BFPositionSalary), - BGBackPayPositionSalary = SqlFunc.AggregateSum(a.BGBackPayPositionSalary), - BJPrepayKPISalary = SqlFunc.AggregateSum(a.BJPrepayKPISalary), - BKBackPayKPISalary = SqlFunc.AggregateSum(a.BKBackPayKPISalary), - BVProjectDeduction = SqlFunc.AggregateSum(a.BVProjectDeduction), - BWAttendanceDeduction = SqlFunc.AggregateSum(a.BWAttendanceDeduction), - BZBackPayOther = SqlFunc.AggregateSum(a.BZBackPayOther), - AFYearKpi1 = SqlFunc.AggregateSum(a.AFYearKpi1), - AGYearKpi2 = SqlFunc.AggregateSum(a.AGYearKpi2), - CLPresetProject = SqlFunc.AggregateSum(a.CLPresetProject), - EPOutsourcedPayables = SqlFunc.AggregateSum(a.EPOutsourcedPayables), - ESDeductionMealFee = SqlFunc.AggregateSum(a.ESDeductionMealFee), - ETOutsourcedFee = SqlFunc.AggregateSum(a.ETOutsourcedFee), - EWTaxPersonal = SqlFunc.AggregateSum(a.EWTaxPersonal), - FATotalSalary = SqlFunc.AggregateSum(a.FATotalSalary), - FBTotalPositionSalary = SqlFunc.AggregateSum(a.FBTotalPositionSalary), - FCTotalYearAllowance = SqlFunc.AggregateSum(a.FCTotalYearAllowance), - FDTotalCompAllowance = SqlFunc.AggregateSum(a.FDTotalCompAllowance), - FETotalKPISalary = SqlFunc.AggregateSum(a.FETotalKPISalary), - FFTotalOvertimeAllowance = SqlFunc.AggregateSum(a.FFTotalOvertimeAllowance), - FGTotalOther = SqlFunc.AggregateSum(a.FGTotalOther), - FJTotalPensionBaseCompany = SqlFunc.AggregateSum(a.FJTotalPensionBaseCompany), - FKTotalMedicalBaseCompany = SqlFunc.AggregateSum(a.FKTotalMedicalBaseCompany), - FLTotalBigMedicalBaseCompany = SqlFunc.AggregateSum(a.FLTotalBigMedicalBaseCompany), - FMTotalNoWorkCompany = SqlFunc.AggregateSum(a.FMTotalNoWorkCompany), - FNTotalInjuryCompany = SqlFunc.AggregateSum(a.FNTotalInjuryCompany), - FPTotalAnnuityCompany = SqlFunc.AggregateSum(a.FPTotalAnnuityCompany), - FHTotalLunchAllowance = SqlFunc.AggregateSum(a.FHTotalLunchAllowance), - FITotalWomenAllowance = SqlFunc.AggregateSum(a.FITotalWomenAllowance), - FSTotalUnionFee = SqlFunc.AggregateSum(a.FSTotalUnionFee), - FTTotalEducationFee = SqlFunc.AggregateSum(a.FTTotalEducationFee), - FUTotalLaborLeasingFee = SqlFunc.AggregateSum(a.FUTotalLaborLeasingFee), - FVTotalDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.FVTotalDisabilityGuaranteeFund), - FWTotalOutsourcedFee = SqlFunc.AggregateSum(a.FWTotalOutsourcedFee), - FXTotalOutsourcedTaxFee = SqlFunc.AggregateSum(a.FXTotalOutsourcedTaxFee), - FOTotalProvidentFundCompany = SqlFunc.AggregateSum(a.FOTotalProvidentFundCompany), - FQTotalEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.FQTotalEmployerLiabilityInsurance), - FRTotalSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.FRTotalSupplementalMedicalInsurance), + AtDeptName = a.AtDeptName, + AsDeptName = a.AsDeptName, + BDeptName = a.BDeptName, + BhYearAllowance = SqlFunc.AggregateSum(a.BhYearAllowance), + BiComprehensiveAllowance = SqlFunc.AggregateSum(a.BiComprehensiveAllowance), + AnEmployeeName = SqlFunc.AggregateCount(a.AnEmployeeName).ToString(), + BlSettlementKpiSalary = SqlFunc.AggregateSum(a.BlSettlementKpiSalary), + BmOvertimeAllowance = SqlFunc.AggregateSum(a.BmOvertimeAllowance), + BnComputerAllowance = SqlFunc.AggregateSum(a.BnComputerAllowance), + BoKeyStaffAllowance = SqlFunc.AggregateSum(a.BoKeyStaffAllowance), + BpCertificateAllowance = SqlFunc.AggregateSum(a.BpCertificateAllowance), + BrTransportAllowance = SqlFunc.AggregateSum(a.BrTransportAllowance), + BuMarketDevelopBonus = SqlFunc.AggregateSum(a.BuMarketDevelopBonus), + BxAgentBonus = SqlFunc.AggregateSum(a.BxAgentBonus), + ByAgentOther = SqlFunc.AggregateSum(a.ByAgentOther), + CdOtherPay = SqlFunc.AggregateSum(a.CdOtherPay), + CeAvgPay = SqlFunc.AggregateSum(a.CeAvgPay), + CfLunchAllowance = SqlFunc.AggregateSum(a.CfLunchAllowance), + CgWomenAllowance = SqlFunc.AggregateSum(a.CgWomenAllowance), + BtHouseAllowance = SqlFunc.AggregateSum(a.BtHouseAllowance), + CkTargetBonus = SqlFunc.AggregateSum(a.CkTargetBonus), + CoMedicalBaseCompany = SqlFunc.AggregateSum(a.CoMedicalBaseCompany), + CqBigMedicalBaseCompany = SqlFunc.AggregateSum(a.CqBigMedicalBaseCompany), + CrNoWorkCompany = SqlFunc.AggregateSum(a.CrNoWorkCompany), + CtWorkInjuryCompany = SqlFunc.AggregateSum(a.CtWorkInjuryCompany), + CuProvidentFundCompany = SqlFunc.AggregateSum(a.CuProvidentFundCompany), + CwAnnuityCompany = SqlFunc.AggregateSum(a.CwAnnuityCompany), + DnBackPayPensionProvinceCompany = SqlFunc.AggregateSum(a.DnBackPayPensionProvinceCompany), + DpBackPayPensionCityCompany = SqlFunc.AggregateSum(a.DpBackPayPensionCityCompany), + DrBackPayMedicalCityCompany = SqlFunc.AggregateSum(a.DrBackPayMedicalCityCompany), + DtBackPayBigMedicalCompany = SqlFunc.AggregateSum(a.DtBackPayBigMedicalCompany), + DuBackPayUnemploymentCompany = SqlFunc.AggregateSum(a.DuBackPayUnemploymentCompany), + DwBackPayInjuryCompany = SqlFunc.AggregateSum(a.DwBackPayInjuryCompany), + DxBackPayHousingFundCompany = SqlFunc.AggregateSum(a.DxBackPayHousingFundCompany), + DzBackPayAnnuityCompany = SqlFunc.AggregateSum(a.DzBackPayAnnuityCompany), + EeEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.EeEmployerLiabilityInsurance), + EfSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.EfSupplementalMedicalInsurance), + EgUnionFee = SqlFunc.AggregateSum(a.EgUnionFee), + EhEducationFee = SqlFunc.AggregateSum(a.EhEducationFee), + EiDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.EiDisabilityGuaranteeFund), + EjSeveranceCompensation = SqlFunc.AggregateSum(a.EjSeveranceCompensation), + EkOtherFee = SqlFunc.AggregateSum(a.EkOtherFee), + ElLabourDispatchUnionFeeTax = SqlFunc.AggregateSum(a.ElLabourDispatchUnionFeeTax), + EuManagementFee = SqlFunc.AggregateSum(a.EuManagementFee), + EvOutsourcedTaxFee = SqlFunc.AggregateSum(a.EvOutsourcedTaxFee), + DfPensionProvinceCompany = SqlFunc.AggregateSum(a.DfPensionProvinceCompany), + DhPensionCityCompany = SqlFunc.AggregateSum(a.DhPensionCityCompany), + CnPensionBasePersonal = SqlFunc.AggregateSum(a.CnPensionBasePersonal), + CpMedicalBasePersonal =SqlFunc.AggregateSum(a.CpMedicalBasePersonal), + CsNoWorkPersonal = SqlFunc.AggregateSum(a.CsNoWorkPersonal), + CvProvidentFundPersonal = SqlFunc.AggregateSum(a.CvProvidentFundPersonal), + CxAnnuityPersonal = SqlFunc.AggregateSum(a.CxAnnuityPersonal), + DgPensionProvincePersonal = SqlFunc.AggregateSum(a.DgPensionProvincePersonal), + DiPensionCityPersonal = SqlFunc.AggregateSum(a.DiPensionCityPersonal), + DoBackPayPensionProvincePersonal = SqlFunc.AggregateSum(a.DoBackPayPensionProvincePersonal), + DqBackPayPensionCityPersonal = SqlFunc.AggregateSum(a.DqBackPayPensionCityPersonal), + DsBackPayMedicalCityPersonal = SqlFunc.AggregateSum(a.DsBackPayMedicalCityPersonal), + DvBackPayUnemploymentPersonal = SqlFunc.AggregateSum(a.DvBackPayUnemploymentPersonal), + DyBackPayHousingFundPersonal = SqlFunc.AggregateSum(a.DyBackPayHousingFundPersonal), + EaBackPayAnnuityPersonal = SqlFunc.AggregateSum(a.EaBackPayAnnuityPersonal), + EqPensionCompany = SqlFunc.AggregateSum(a.EqPensionCompany), + EcPayAmount = SqlFunc.AggregateSum(a.EcPayAmount), + EdTotalSalary = SqlFunc.AggregateSum(a.EdTotalSalary), + BfPositionSalary = SqlFunc.AggregateSum(a.BfPositionSalary), + BgBackPayPositionSalary = SqlFunc.AggregateSum(a.BgBackPayPositionSalary), + BjPrepayKpiSalary = SqlFunc.AggregateSum(a.BjPrepayKpiSalary), + BkBackPayKpiSalary = SqlFunc.AggregateSum(a.BkBackPayKpiSalary), + BvProjectDeduction = SqlFunc.AggregateSum(a.BvProjectDeduction), + BwAttendanceDeduction = SqlFunc.AggregateSum(a.BwAttendanceDeduction), + BzBackPayOther = SqlFunc.AggregateSum(a.BzBackPayOther), + AfYearKpi1 = SqlFunc.AggregateSum(a.AfYearKpi1), + AgYearKpi2 = SqlFunc.AggregateSum(a.AgYearKpi2), + ClPresetProject = SqlFunc.AggregateSum(a.ClPresetProject), + EpOutsourcedPayables = SqlFunc.AggregateSum(a.EpOutsourcedPayables), + EsDeductionMealFee = SqlFunc.AggregateSum(a.EsDeductionMealFee), + EtOutsourcedFee = SqlFunc.AggregateSum(a.EtOutsourcedFee), + EwTaxPersonal = SqlFunc.AggregateSum(a.EwTaxPersonal), + FaTotalSalary = SqlFunc.AggregateSum(a.FaTotalSalary), + FbTotalPositionSalary = SqlFunc.AggregateSum(a.FbTotalPositionSalary), + FcTotalYearAllowance = SqlFunc.AggregateSum(a.FcTotalYearAllowance), + FdTotalCompAllowance = SqlFunc.AggregateSum(a.FdTotalCompAllowance), + FeTotalKpiSalary = SqlFunc.AggregateSum(a.FeTotalKpiSalary), + FfTotalOvertimeAllowance = SqlFunc.AggregateSum(a.FfTotalOvertimeAllowance), + FgTotalOther = SqlFunc.AggregateSum(a.FgTotalOther), + FjTotalPensionBaseCompany = SqlFunc.AggregateSum(a.FjTotalPensionBaseCompany), + FkTotalMedicalBaseCompany = SqlFunc.AggregateSum(a.FkTotalMedicalBaseCompany), + FlTotalBigMedicalBaseCompany = SqlFunc.AggregateSum(a.FlTotalBigMedicalBaseCompany), + FmTotalNoWorkCompany = SqlFunc.AggregateSum(a.FmTotalNoWorkCompany), + FnTotalInjuryCompany = SqlFunc.AggregateSum(a.FnTotalInjuryCompany), + FpTotalAnnuityCompany = SqlFunc.AggregateSum(a.FpTotalAnnuityCompany), + FhTotalLunchAllowance = SqlFunc.AggregateSum(a.FhTotalLunchAllowance), + FiTotalWomenAllowance = SqlFunc.AggregateSum(a.FiTotalWomenAllowance), + FsTotalUnionFee = SqlFunc.AggregateSum(a.FsTotalUnionFee), + FtTotalEducationFee = SqlFunc.AggregateSum(a.FtTotalEducationFee), + FuTotalLaborLeasingFee = SqlFunc.AggregateSum(a.FuTotalLaborLeasingFee), + FvTotalDisabilityGuaranteeFund = SqlFunc.AggregateSum(a.FvTotalDisabilityGuaranteeFund), + FwTotalOutsourcedFee = SqlFunc.AggregateSum(a.FwTotalOutsourcedFee), + FxTotalOutsourcedTaxFee = SqlFunc.AggregateSum(a.FxTotalOutsourcedTaxFee), + FoTotalProvidentFundCompany = SqlFunc.AggregateSum(a.FoTotalProvidentFundCompany), + FqTotalEmployerLiabilityInsurance = SqlFunc.AggregateSum(a.FqTotalEmployerLiabilityInsurance), + FrTotalSupplementalMedicalInsurance = SqlFunc.AggregateSum(a.FrTotalSupplementalMedicalInsurance), VTotalMonthlyPay = SqlFunc.AggregateSum(a.VTotalMonthlyPay), NLiveAllowance = SqlFunc.AggregateSum(a.NLiveAllowance), - CAOtherFixedPay = SqlFunc.AggregateSum(a.CAOtherFixedPay), - CCMouthPresetProject = SqlFunc.AggregateSum(a.CCMouthPresetProject), - CHTotalMonthlyPay = SqlFunc.AggregateSum(a.CHTotalMonthlyPay) + CaOtherFixedPay = SqlFunc.AggregateSum(a.CaOtherFixedPay), + CcMouthPresetProject = SqlFunc.AggregateSum(a.CcMouthPresetProject), + ChTotalMonthlyPay = SqlFunc.AggregateSum(a.ChTotalMonthlyPay) }) - .ToPage(parm); + .ToPage(parm); return response; } @@ -156,7 +156,7 @@ namespace ZR.Service.Report } /// - /// 添加核算明细 + /// 添加统计 /// /// /// @@ -166,7 +166,7 @@ namespace ZR.Service.Report } /// - /// 导出核算明细 + /// 导出统计 /// /// /// @@ -193,11 +193,14 @@ namespace ZR.Service.Report { var predicate = Expressionable.Create(); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.BDeptName), it => it.BDeptName == parm.BDeptName); - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CEmployeeName), it => it.CEmployeeName == parm.CEmployeeName); - predicate = predicate.AndIF(parm.BeginAMRecordMonth == null, it => it.AMRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); - predicate = predicate.AndIF(parm.BeginAMRecordMonth != null, it => it.AMRecordMonth >= parm.BeginAMRecordMonth); - predicate = predicate.AndIF(parm.EndAMRecordMonth != null, it => it.AMRecordMonth <= parm.EndAMRecordMonth); + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); return predicate; } } diff --git a/ZR.Service/Report/PmsEmployeeCostSumService.cs b/ZR.Service/Report/PmsEmployeeCostSumService.cs new file mode 100644 index 00000000..329dd949 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostSumService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 人工成本汇总Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsEmployeeCostSumService), ServiceLifetime = LifeTime.Transient)] + public class PmsEmployeeCostSumService : BaseService, IPmsEmployeeCostSumService + { + /// + /// 查询人工成本汇总列表 + /// + /// + /// + public PagedInfo GetList(PmsEmployeeCostSumQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsEmployeeCostSum GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加人工成本汇总 + /// + /// + /// + public PmsEmployeeCostSum AddPmsEmployeeCostSum(PmsEmployeeCostSum model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出人工成本汇总 + /// + /// + /// + public PagedInfo ExportList(PmsEmployeeCostSumQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsEmployeeCostSumDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsEmployeeCostSumQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsHrXtService.cs b/ZR.Service/Report/PmsHrXtService.cs new file mode 100644 index 00000000..f823bc75 --- /dev/null +++ b/ZR.Service/Report/PmsHrXtService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// HRXTService业务层处理 + /// + [AppService(ServiceType = typeof(IPmsHrXtService), ServiceLifetime = LifeTime.Transient)] + public class PmsHrXtService : BaseService, IPmsHrXtService + { + /// + /// 查询HRXT列表 + /// + /// + /// + public PagedInfo GetList(PmsHrXtQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsHrXt GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加HRXT + /// + /// + /// + public PmsHrXt AddPmsHrXt(PmsHrXt model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出HRXT + /// + /// + /// + public PagedInfo ExportList(PmsHrXtQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsHrXtDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsHrXtQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsOnetimePaymentService.cs b/ZR.Service/Report/PmsOnetimePaymentService.cs new file mode 100644 index 00000000..85b02841 --- /dev/null +++ b/ZR.Service/Report/PmsOnetimePaymentService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 一次性发放Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsOnetimePaymentService), ServiceLifetime = LifeTime.Transient)] + public class PmsOnetimePaymentService : BaseService, IPmsOnetimePaymentService + { + /// + /// 查询一次性发放列表 + /// + /// + /// + public PagedInfo GetList(PmsOnetimePaymentQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsOnetimePayment GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加一次性发放 + /// + /// + /// + public PmsOnetimePayment AddPmsOnetimePayment(PmsOnetimePayment model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出一次性发放 + /// + /// + /// + public PagedInfo ExportList(PmsOnetimePaymentQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsOnetimePaymentDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsOnetimePaymentQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsSalaryMonthlyService.cs b/ZR.Service/Report/PmsSalaryMonthlyService.cs new file mode 100644 index 00000000..b388e4b7 --- /dev/null +++ b/ZR.Service/Report/PmsSalaryMonthlyService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// 工资表-按月发Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsSalaryMonthlyService), ServiceLifetime = LifeTime.Transient)] + public class PmsSalaryMonthlyService : BaseService, IPmsSalaryMonthlyService + { + /// + /// 查询工资表-按月发列表 + /// + /// + /// + public PagedInfo GetList(PmsSalaryMonthlyQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsSalaryMonthly GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加工资表-按月发 + /// + /// + /// + public PmsSalaryMonthly AddPmsSalaryMonthly(PmsSalaryMonthly model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出工资表-按月发 + /// + /// + /// + public PagedInfo ExportList(PmsSalaryMonthlyQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsSalaryMonthlyDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsSalaryMonthlyQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file -- Gitee From 2e2284aecf926f34ef0eb31537afe83f87eaf765 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Wed, 15 Oct 2025 10:04:32 +0800 Subject: [PATCH 19/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E5=9B=9E=E6=94=B6?= =?UTF-8?q?=EF=BC=9A1=E3=80=81=E4=BC=98=E5=8C=96=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=AF=BC=E5=85=A5.xls=E6=A0=BC=E5=BC=8F=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E4=B8=8B=E8=BD=BD=E7=89=A9=E6=96=99?= =?UTF-8?q?=E6=A8=A1=E7=89=88=EF=BC=9B3=E3=80=81=E4=BC=98=E5=8C=96sql?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FjhsRecycleTaskHeadController.cs | 329 ++++++++++++++++-- .../FjhsRecycleSamplingDetailController.cs | 40 ++- ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 1 + .../ImportTemplate/MaterialImport.xlsx | Bin 0 -> 4267 bytes .../FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs | 4 +- ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs | 53 +++ .../FjhsRecycleTaskDetailService.cs | 78 +++-- .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 82 ++++- .../FjhsRecycleSamplingDetailService.cs | 1 + 9 files changed, 510 insertions(+), 78 deletions(-) create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/MaterialImport.xlsx create mode 100644 ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs index 1dcdcec4..4a50a8b8 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs @@ -19,6 +19,9 @@ using NPOI.XSSF.UserModel; using NPOI.SS.Util; using materialDetailsList = ZR.Model.FjhsRecycle.Dto.materialDetailsList; using ZR.Model.DownM; +using NPOI.HSSF.UserModel; +using NPOI.SS.Formula.Functions; +using NPOI.HPSF; //创建时间:2025-08-15 namespace ZR.Admin.WebApi.Controllers.FjhsRecycle @@ -250,6 +253,7 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle Specification = item.specification, UnitCard = item.unit, EstimatedRecycleQuantity = int.Parse(item.expectedRecycleQty), + }; @@ -354,6 +358,7 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle marterDetail.UnitCard = detail.unitCard; //计量单位 marterDetail.Specification = detail.specification; //规格型号 marterDetail.ApprovedQuantity = int.Parse(detail.approvedQuantity); //预计回收数据 + var marterDetailDate = marterDetail.Adapt().ToCreate(HttpContext); @@ -740,49 +745,130 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle // 获取文件后缀(如 .xlsx 或 .xls) var fileExtension = Path.GetExtension(formFile.FileName).ToLower(); - ExcelType excelType; // MiniExcel 的文件类型枚举 + //ExcelType excelType; // MiniExcel 的文件类型枚举 - // 根据后缀指定 ExcelType - if (fileExtension == ".xlsx") - { - excelType = ExcelType.XLSX; // .xlsx 格式 - } - else if (fileExtension == ".xls") - { - // excelType = ExcelType.XLSX; // .xls 格式(旧版) + //// 根据后缀指定 ExcelType + //if (fileExtension == ".xlsx") + //{ + // excelType = ExcelType.XLSX; // .xlsx 格式 + //} + //else if (fileExtension == ".xls") + //{ + // // excelType = ExcelType.XLSX; // .xls 格式(旧版) - excelType = ExcelType.XLSX; // .xls 格式(旧版)- 这里之前错误地写成了XLSX + // excelType = ExcelType.XLSX; // .xls 格式(旧版)- 这里之前错误地写成了XLSX - // 若为.xls,明确提示使用.xlsx;其他格式提示不支持 - var errorMsg = fileExtension == ".xls" - ? "请使用.xlsx格式文件,暂不支持.xls格式!" - : "不支持的文件类型!仅支持.xlsx格式"; - return ToResponse(ResultCode.FAIL, errorMsg); + // // 若为.xls,明确提示使用.xlsx;其他格式提示不支持 + // var errorMsg = fileExtension == ".xls" + // ? "请使用.xlsx格式文件,暂不支持.xls格式!" + // : "不支持的文件类型!仅支持.xlsx格式"; + // return ToResponse(ResultCode.FAIL, errorMsg); + + //} + //else + //{ + // return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); + //} - } - else - { - return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); - } //using (var stream = formFile.OpenReadStream()) //{ - // list_Detail = stream.Query(startCell: "A1").ToList(); + // // 关键修复:2. 将获取到的excelType传递给Query方法 + // list_Detail = stream.Query( + // startCell: "A1", + // excelType: excelType // 显式指定文件类型 + // ).ToList(); //} + + // 支持 .xlsx 和 .xls 格式 + if (fileExtension != ".xlsx" && fileExtension != ".xls") + { + return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); + } + using (var stream = formFile.OpenReadStream()) { - // 关键修复:2. 将获取到的excelType传递给Query方法 - list_Detail = stream.Query( - startCell: "A1", - excelType: excelType // 显式指定文件类型 - ).ToList(); + if (fileExtension == ".xlsx") + { + // 使用 MiniExcel 处理 .xlsx + list_Detail = stream.Query( + startCell: "A1", + excelType: ExcelType.XLSX + ).ToList(); + } + else // .xls 格式 + { + // 使用 NPOI 处理 .xls + IWorkbook workbook = new HSSFWorkbook(stream); + ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表 + + // 从第二行开始读取(跳过标题行) + for (int rowIndex = 1; rowIndex <= sheet.LastRowNum; rowIndex++) + { + IRow row = sheet.GetRow(rowIndex); + if (row == null) continue; + + var detailDto = new FjhsRecycleTaskDetailDto(); + + // 根据列索引映射数据(需要根据实际Excel结构调整) + detailDto.AssetName = row.GetCell(0)?.ToString(); + detailDto.AssetCardNumber = row.GetCell(2)?.ToString(); + detailDto.Specification = row.GetCell(16)?.ToString(); + detailDto.UnitCard = row.GetCell(17)?.ToString(); + // detailDto.ApprovedQuantity = row.GetCell(20)?.ToString(); + detailDto.MaterialName = row.GetCell(24)?.ToString(); + + + if (row.GetCell(20) != null) + { + // 尝试将单元格值转换为整数 + if (decimal.TryParse(row.GetCell(20).ToString()?.Trim(), out decimal result)) + { + detailDto.ApprovedQuantity =(int) result; + } + else + { + // 转换失败时的默认值(根据业务需求设置,如0或null) + detailDto.ApprovedQuantity = 0; + // 可选:记录日志,提示哪一行的哪一列转换失败 + // _logger.LogWarning($"行号 {row.RowNum + 1} 第21列无法转换为整数,值为:{cell.ToString()}"); + } + } + else + { + // 单元格为空时的默认值 + detailDto.ApprovedQuantity = 0; // 或 null(需字段允许为null) + } + + // ... 其他属性映射 + + // 特殊类型处理(如日期) + if (row.GetCell(27) != null) + { + if (row.GetCell(27).CellType == CellType.Numeric) + { + detailDto.StorageTime = row.GetCell(27).DateCellValue; + } + else + { + detailDto.StorageTime = DateTime.Parse(row.GetCell(27).ToString()); + } + } + + list_Detail.Add(detailDto); + } + } } + + + + // 1. 从明细中获取缴库时间(假设取第一条明细的缴库时间) if (list_Detail != null && list_Detail.Count > 0) @@ -880,5 +966,196 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycle public List TaskIds { get; set; } } + + + /// + /// 回收任务主表导入模板下载 + /// + /// + [HttpGet("materialImportTemplate")] + [Log(Title = "回收任务主表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult materialImportTemplateExcel() + { + //var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskHead"); + //return ExportExcel(result.Item2, result.Item1); + + var result = DownloadImportTemplate(new List(), "MaterialImport"); + return ExportExcel(result.Item2, result.Item1); + } + + + ///// + ///// 导入 + ///// + ///// + ///// + //[HttpPost("importData")] + //[Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + //public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + //{ + // List list = new(); + // using (var stream = formFile.OpenReadStream()) + // { + // list = stream.Query(startCell: "A1").ToList(); + // } + + // return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + //} + + + + /// + /// + /// + /// + /// + /// + [HttpPost("importMaterial")] + [Log(Title = "物料明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + public IActionResult importMaterial([FromForm(Name = "file")] IFormFile formFile) + { + + + // try + // { + + // // 这里是你的导入处理逻辑 + // // 实际项目中应该从文件中读取并处理数据 + // var materialList = new List + //{ + // new + // { + // materialName = "服务器", + // assetName = "戴尔R740", + // assetCardNumber = "ZC2025001", + // specification = "2U机架式", + // unitCard = "台", + // approvedQuantity = 5 + // }, + // // 可以添加更多物料对象... + //}; + + // // 构建返回结果 + // var result11 = new + // { + // code = 200, + // msg = "导入成功", + // data = new + // { + // materialList = materialList + // } + // }; + + // return Ok(result11); + + + // } + // catch (Exception) + // { + + // throw; + // } + + + + try + { + // 检查文件是否为空 + if (formFile == null || formFile.Length == 0) + { + return Ok(new + { + code = 400, + msg = "上传Excel文件内容为空", + data = (object)null + }); + } + + // 检查文件格式 + var fileExtension = Path.GetExtension(formFile.FileName).ToLower(); + //if (fileExtension != ".xlsx" && fileExtension != ".xls") + if (fileExtension != ".xlsx" ) + { + return Ok(new + { + code = 400, + msg = "请下载物料模版,需按模版填写后再上传", + data = (object)null + }); + } + + + // 关键步骤:判断文件名 + var fileName = formFile.FileName; //获取文件名 + + if (!fileName.Contains("MaterialImport") ) + { + // 不包含任何关键词时,返回提示 + string message = "请重新下载物料模版,需按模版填写后再上传"; + + return ToResponse(ResultCode.FAIL, message); + } + + + + + // 读取Excel文件内容 + using (var stream = formFile.OpenReadStream()) + { + // 假设使用NPOI或EPPlus等库读取Excel + // 这里以NPOI为例,实际使用时需要根据你的Excel操作库调整 + var materialList = new List(); + + + + if (fileExtension == ".xlsx") + { + // 使用 MiniExcel 处理 .xlsx + materialList = stream.Query( + startCell: "A1", + excelType: ExcelType.XLSX + ).ToList(); + } + + + + return Ok(new + { + code = 200, + msg = $"导入成功,共导入{materialList.Count}条物料明细", + data = new + { + materialList = materialList + } + }); + } + } + catch (Exception ex) + { + // 记录错误日志 + // _logger.LogError(ex, "物料导入失败"); + + return Ok(new + { + code = 500, + msg = $"导入失败:{ex.Message}", + data = (object)null + }); + } + + + + + + + } + + + + + } } \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs index 44bd3fb4..c1c9fdb0 100644 --- a/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs @@ -312,19 +312,23 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling try { - if (parm.IsMeetRecycleCondition == "不具备") - { - parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 - } - else if (parm.IsMeetRecycleCondition == "具备") - { - parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 - } - else - { - parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 - - } + //if (parm.IsMeetRecycleCondition == "不具备") + //{ + // parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + //} + //else if (parm.IsMeetRecycleCondition == "具备") + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + //} + //else if (parm.IsMeetRecycleCondition == "现场处理") + //{ + // parm.IsMeetRecycleCondition = "2"; // 或直接转换为整数类型 2 + //} + //else + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + //} parm.CurrentProcessStatus = "1"; //当前流程状态 1 :待回收搬运 parm.CurrentExpectedStatus = "1"; //当前预期状态 1:正常 ;2 即将预期;3、预期 @@ -449,11 +453,15 @@ namespace ZR.Admin.WebApi.Controllers.FjhsRecycleSampling { parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 } - else + else if (parm.IsMeetRecycleCondition == "现场处理") { - parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 - + parm.IsMeetRecycleCondition = "2"; // 或直接转换为整数类型 2 } + //else + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + //} diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 96866802..d842ca2b 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -20,6 +20,7 @@ + diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/MaterialImport.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/MaterialImport.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..608beca70868e501be56bec92b07df178d10160a GIT binary patch literal 4267 zcmZ`+2{@Gd7am*ou`iV@Lq&E;_Fc9}_N75Jwi-hSL&delAS3&leV6Qe491e(E!5ab z8e5o%Wc!cmrvF@b=K1EEdCqsb0Op zX)bWm@8QV7-u9(btF<-#dg&)rwcse_;k8M$_WSI2{S1S%t~_PMv*z{*R8=##uS<_5 zTLQzBdZ`mH+A|DnY(I-_}K7seqG zVpqH~1LW?P7S+d5-3{u2D*BY|1;tiHpM>YSCFt~2Ma%l63FfJsSI_?7#j~uC+c)E5 zF%BYirN(vzU=JEci!HZEj^nUp7K(QFX4K5Jb(VVB<^T-?fS)Mk2HL#!O2;4NE_<(YSPzco0ZOuk)_Ze02St zV{A{Zn7|X9P*{kGR{^q(>!ephhV$hadR6XeL%S(gQz{Q#Zv>mV(Eur$pX%De4$N25 z=S8%(2#ety2)z!c84P3!cwJ?r$eSw6?EAt7nT#{>y0yF|l-D{2(RmcUO?DTUUWZ9 z|J2){P1X^1i&guIN(RgOV=q&{4!O0^g;mG<)cTy>dwR)wb2qE;HTqBCvsW$ICeZVyJT&9CH%3vG$L7pY&CD*cu_5Et5wWuw%ld>i#i-2gV~qeI87Ii3V!RIftC-u=7-NHz+bsH{#b+ zdsdx+X?whVDr=aOm)t2RS{TQQX6L2r*{+~9oFMT)rVdMBRpJZmlS=BwxJspp@2WHBagmXWaPsB=vB|K(N%%^|LIE32oyH!!`0ya@%$Z z_LG@uwh+g=irQ)oLZRXfMmhCa!hHpyVH^_YI<>Cr(=_H{A1(A6o;EEJ36)~IYS4WN zEN~9?{A22U)@9>9^=;IqpY#i<%$4(loNTdC`8P#}>ytvBQWa4gm?cpNPQ`y;dxmJa zC{PnW`?3cW(JWKvEVt%IrE=H9WUJvt_Fr+k*EW~Q@ip{sr5L{y{%QcPA@}i>#{RR) zyjiCeIMw5?>Oh4kID-PVdR8!y`Q<)| z^`|B2B$-;Fwrh>P??9Tl)uFDVJRyJv^|O?l(ez zcTAH^Rx33m3z3y5e|-k1pu;I2FnL9Rj=YnzK?GDTZ}KiUUM+#2I-AS zQOCG3vX~u1dG%>Gh1I#m+ya5|LQ}32ta02P?1*qN-&X1{tt{G6TwPjE!w_y zw1mcII+V~kj^t|BmJ>p2g@!oQ53Qvd5$ZbtmMcNxk1vS%b<~JIe!1ba-8<%>%Igb9 z3TSiOY3+s#ie)MoBh=i<6GOE&arHypna-hC7uQ=kC{=-Bm&y#<5jjvSPxF!`e5inY z%U~>9ZY`esePPK-u_gEe`t89yhuN8KV)xplN4M{7*zK=8#Mw6`rfmcFMr6M8`Zig3 zK2&V_E`<@n?Bqk`!5oo@o-sXIE34Sb_q!k6aNGCq$-L$BtaKBjGcD6R*gW@9!PsldXfVV1zWIin%`JU6FUT=qGKR!XAz<_tEGgvI%m_0=q# zK6Q!_CS7k|;YFDsz`tR!&t}T+*!H(gdG<>^p2%gq^;c5=CiEwjh(VP*?PB!G!^NR* z$J`qE(c=T1Y$r>~g^~7s5hMH#y;+)zEIQi6JjFL=a0jb%`AV--CoUIiyeFDUVdcOH z@qCeOEf;dJnJM8WzuG3*nnVMBuKIQeB)Nxr3TS2?krdoJ*#Avtv4R=fRi>!Cm z&A6DaMUSQKYGNLJkBCOec=2wqsK%ciknDNT*D<%qe^%)FcugIK#JpYiqfy*v9d;=1 zg}F*Wt~)Zi$70KWf#hUZ#~C((rmVh()zL0*CCygB}>fA>Z1T$&%hm zz_w1!U^c$51#$O(f!?;4@IHsyljab3$12f#3eg%53P)8}e<`W1i+jovM~#dB@bqql zp7C>Qwxy}k^UX^Qnqa@v(!_v?da*R>J_5> zO{kXDFf#xvQP1E}8C@#V56`q5d+IO0x8$$k!*By{#m@|fL(gFtZn?PJ{h?q;as3W4 zdJSK`6I=B$vzTp154^ zbM`DA(aZ}vw)2|F5lY&1Ior>JXNRyWacve%X%?QNT_RfMhL&;zvvnCp;ea;Mpdq7t0HUuaes1pK=&=>XIF+G;A|3#sp!@ov;l>DcbxcTpqskaRpVa zo7T0oRHU7cF)7V~2d_7GxAfZ2ADbhqe3^8V_`vuO0|2Lf2IpsD{28JjsZll3tluui z9P<85nD2`wrt`4aI(}_7*3psEuFJC>MSdVm@Wwm#IzAW?jyIYcY2NTi)8{J<_Um@; z+y2oEO^WNjV;?}h;>72hUc(%50)?kTyug*@?J=7oPka!LHJxbIC;`3NAa(J8Iq`L- zy0@q10_Ozm6=@(JK6I0FOAZP$#?wyl1Pv911F@9*MqhQDh`g**h3YnRQ{}f^BY2hD z=3CnVg=mP>v^yWy7$~I_HE&(xEqWpERaOb#oWZC9W+Z@Bfvjf1f{a-VH2L+-*K#9cQl%{uQySgwt^I7+$QdIb6%jvte4IuuxV<(nW z)kbO08hW#P<4FW2qVDIYmItfT^M^I(EmrH{(@U zkxDwvoPGlRmyxn;L)r8towDpayzIga0<;4%XEz$A&WN;Dscbf;p7 z%{$?r)~_bnP0!{3)>aSH2s`Pzu!hb+PTSTDYNdc zI%|`Y;*K%tUaR<-$GK?H-O*Q50Zl2W1IadOYK+{x#6f8Kj`V^^x75KBUk|Jw_e?4) zJNa};?O$dBPm7~k$hMvZ4_K_kqMXxm7@EA5EaVayOpXK==P033sO>uSNXV<2ETm1j5bb2;n(CfesOV?=gg~gyYzeD>FXtekt0&hBHDG z!iIi?!j7K;@hHE$;eWJuLO{ZXdIY#Y0QhHnB}5_YQ%5M{6ollC?OKF@go=LzI8FH* y@E`prbS6~9Bj;VJAI|@wkAygc!f=G6Ky$2280eCnIDCi-|1QGI@zUXT3-})hEe7}i literal 0 HcmV?d00001 diff --git a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs index 79756d73..7ecaea05 100644 --- a/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs @@ -51,8 +51,8 @@ namespace ZR.Model.FjhsRecycle.Dto [ExcelColumnName("备用2")] public string Backup2 { get; set; } - [ExcelColumn(Name = "备用1")] - [ExcelColumnName("备用1")] + [ExcelColumn(Name = "系统流程单据号")] + [ExcelColumnName("系统流程单据号")] public string Backup1 { get; set; } [ExcelColumn(Name = "备注")] diff --git a/ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs b/ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs new file mode 100644 index 00000000..296da571 --- /dev/null +++ b/ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.FjhsRecycle.Dto +{ + public class MaterialImportDto + { + /// + /// 物料名称 + /// + [DisplayName("物料名称")] + + public string MaterialName { get; set; } + + /// + /// 资产名称 + /// + [DisplayName("资产名称")] + + public string AssetName { get; set; } + + /// + /// 资产卡片号 + /// + [DisplayName("资产卡片号")] + + public string AssetCardNumber { get; set; } + + /// + /// 规格程式 + /// + [DisplayName("规格程式")] + + public string Specification { get; set; } + + /// + /// 计量单位 + /// + [DisplayName("计量单位")] + + public string unitCard { get; set; } + + /// + /// 预计回收数量 + /// + [DisplayName("预计回收数量")] + public string approvedQuantity { get; set; } + } +} diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs index 240738f1..83c7bb92 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs @@ -99,32 +99,67 @@ namespace ZR.Service.FjhsRecycle + // string mainSql = $@" + //SELECT + // DISTINCT + + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNumber, + // d.specification AS specification, + // d.unit_card AS unitCard, + // d.approved_quantity AS approvedQuantity, + // s.actual_sampling_quantity AS sampleQty, + // s.sampling_time AS sampleTime, + // r.actual_recycle_qty AS ActualRecycleQty, + // r.recycle_time as RecycleTime + // FROM + + // fjhs_recycle_task_detail d + + // left JOIN + // fjhs_recycle_task_head h + // ON h.doc_number = d.doc_number + + // left JOIN fjhs_recycle_sampling_detail s + // ON s.doc_number = d.doc_number AND d.material_name = s.material_name + + //LEFT JOIN fjhs_recycle_detail r ON r.doc_number = h.doc_number + + // WHERE + // 1=1 {whereSql} "; + + + + + string mainSql = $@" - SELECT - DISTINCT - - d.material_name AS materialName, - d.asset_name AS assetName, - d.asset_card_number AS assetCardNumber, - d.specification AS specification, - d.unit_card AS unitCard, - d.approved_quantity AS approvedQuantity, - s.actual_sampling_quantity AS sampleQty, - s.sampling_time AS sampleTime, - r.actual_recycle_qty AS ActualRecycleQty, - r.recycle_time as RecycleTime - FROM + + SELECT + DISTINCT + + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNumber, + d.specification AS specification, + d.unit_card AS unitCard, + d.approved_quantity AS approvedQuantity, + s.actual_sampling_quantity AS sampleQty, + s.sampling_time AS sampleTime, + r.actual_recycle_qty AS ActualRecycleQty, + r.recycle_time as RecycleTime + FROM - fjhs_recycle_task_detail d + fjhs_recycle_task_detail d - left JOIN - fjhs_recycle_task_head h - ON h.doc_number = d.doc_number + JOIN + fjhs_recycle_task_head h + ON h.doc_number = d.doc_number - left JOIN fjhs_recycle_sampling_detail s - ON s.doc_number = d.doc_number AND d.material_name = s.material_name + left JOIN fjhs_recycle_sampling_detail s + ON s.doc_number = d.doc_number AND d.material_name = s.material_name and d.asset_card_number = s.asset_card_number - LEFT JOIN fjhs_recycle_detail r ON r.doc_number = h.doc_number + left JOIN fjhs_recycle_detail r ON r.doc_number = h.doc_number AND d.material_name = r.material_name and d.asset_card_number = r.asset_card_number WHERE 1=1 {whereSql} "; @@ -133,7 +168,6 @@ namespace ZR.Service.FjhsRecycle - var response = SqlQueryToList_T(mainSql, parameters).ToArray(); diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs index f388b3b2..23b22802 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -133,7 +133,8 @@ namespace ZR.Service.FjhsRecycle h.doc_number AS DocNumber, h.demand_unit AS DemandUnit, h.site AS Site, - h.update_time AS UpdateTime, + h.update_time AS UpdateTime, + h.backup1 AS Backup1, CASE WHEN h.current_process_status = '0' THEN '生成单据' @@ -390,6 +391,71 @@ namespace ZR.Service.FjhsRecycle var (whereSql, parameters) = GetWhereSqlID(parm); + // string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.backup1 AS Backup1, + // CASE + // WHEN h.current_process_status = '0' THEN '生成单据' + // WHEN h.current_process_status = '01' THEN '待堪样' + // WHEN h.current_process_status = '02' THEN '堪样暂存' + // WHEN h.current_process_status = '03' THEN '堪样完成' + // WHEN h.current_process_status = '1' THEN '待回收搬运' + // WHEN h.current_process_status = '11' THEN '回收搬运暂存' + // WHEN h.current_process_status = '2' THEN '完成' + // WHEN h.current_process_status = '99' THEN '取消' + // ELSE '未知任务状态' + // END AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // CASE + // WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + // WHEN h.is_meet_recycle_condition = 1 THEN '具备' + // WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' + // ELSE '具备' + // END AS IsMeetRecycleCondition, + + // r.actual_recycle_qty AS actualRecycleQty, + // r.recycle_time as recycleTime, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNo, + // d.specification AS specification, + // d.unit_card AS unit, + //s.actual_sampling_quantity AS sampleQty, + // s.remarks AS sampleRemark , + // s.sampler AS sampler, + // s.sampling_time AS sampleTime, + // d.approved_quantity AS expectedRecycleQty, + // SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + // COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + // THEN d.material_name END) AS materialType + // FROM + // fjhs_recycle_task_head h + // LEFT JOIN + // fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + + // LEFT JOIN + // fjhs_recycle_sampling_detail s ON h.doc_number = s.doc_number + + // LEFT JOIN + // fjhs_recycle_detail r ON r.doc_number =h.doc_number + // WHERE + // 1=1 {whereSql} + // GROUP BY + // h.doc_number, h.demand_unit, h.site, h.update_time, + // h.current_process_status, h.current_expected_status, + // h.contact_phone, h.contact_person"; + + + + string mainSql = $@" SELECT h.id as Id, @@ -397,6 +463,7 @@ namespace ZR.Service.FjhsRecycle h.demand_unit AS DemandUnit, h.site AS Site, h.update_time AS UpdateTime, + h.backup1 AS Backup1, CASE WHEN h.current_process_status = '0' THEN '生成单据' WHEN h.current_process_status = '01' THEN '待堪样' @@ -415,20 +482,16 @@ namespace ZR.Service.FjhsRecycle CASE WHEN h.is_meet_recycle_condition = 0 THEN '不具备' WHEN h.is_meet_recycle_condition = 1 THEN '具备' + WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' ELSE '具备' END AS IsMeetRecycleCondition, - r.actual_recycle_qty AS actualRecycleQty, - r.recycle_time as recycleTime, + d.material_name AS materialName, d.asset_name AS assetName, d.asset_card_number AS assetCardNo, d.specification AS specification, d.unit_card AS unit, - s.actual_sampling_quantity AS sampleQty, - s.remarks AS sampleRemark , - s.sampler AS sampler, - s.sampling_time AS sampleTime, d.approved_quantity AS expectedRecycleQty, SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' @@ -438,11 +501,6 @@ namespace ZR.Service.FjhsRecycle LEFT JOIN fjhs_recycle_task_detail d ON h.doc_number = d.doc_number - LEFT JOIN - fjhs_recycle_sampling_detail s ON h.doc_number = s.doc_number - - LEFT JOIN - fjhs_recycle_detail r ON r.doc_number =h.doc_number WHERE 1=1 {whereSql} GROUP BY diff --git a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs index 011afa2b..c3104774 100644 --- a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs @@ -462,6 +462,7 @@ namespace ZR.Service.FjhsRecycleSampling CASE WHEN h.is_meet_recycle_condition = 0 THEN '不具备' WHEN h.is_meet_recycle_condition = 1 THEN '具备' + WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' ELSE '具备' END AS IsMeetRecycleCondition, -- 添加主表其他需要的字段 -- Gitee From dd47cebc39dc8d7ed0a03fe8e9b27017c65dcda0 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Wed, 15 Oct 2025 17:13:40 +0800 Subject: [PATCH 20/29] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A1=E3=80=81=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E9=97=AE=E9=A2=98=E5=91=86=E8=A1=A8=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=9B=B4=E6=8E=A5=E5=AF=BC=E5=85=A5=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E7=94=A8=E5=86=8D=E4=BF=AE=E6=94=B9=E6=A0=87=E9=A2=98=EF=BC=9B?= =?UTF-8?q?2=E3=80=81=E4=BC=98=E5=8C=96=EF=BC=9A=E7=9C=81=E5=85=AC?= =?UTF-8?q?=E5=8F=B8=E6=AF=8F=E6=97=A5=E5=8F=91=E9=9C=80=E6=B1=82=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=A1=A8=EF=BC=8C=E4=B8=8D=E7=94=A8=E5=86=8D=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=8E=9F=E5=A7=8B=E9=9C=80=E6=B1=82=E8=A1=A8=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E6=A0=B7=E5=BC=8F=EF=BC=9B3=E3=80=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96sql=EF=BC=9A=E6=9F=A5=E8=AF=A2=E6=97=B6=E8=A7=A3?= =?UTF-8?q?=E5=86=B3100%=E7=9A=84=E9=9C=80=E6=B1=82=E5=8D=A0=E6=AF=94?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=A2=9C=E8=89=B2=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Knowledge/ZskQdRawdataController.cs | 86 +++++++++++++++++-- ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs | 60 +++++++++++++ ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs | 24 ++++-- ZR.Service/Knowledge/ZskQdRawdataService.cs | 8 +- 4 files changed, 159 insertions(+), 19 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs index bea1f7d5..0aa5cb85 100644 --- a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs +++ b/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs @@ -182,15 +182,51 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge try { + //string fileName = ""; + + //List list = new(); + //using (var stream = formFile.OpenReadStream()) + //{ + // list = stream.Query(startCell: "A1").ToList(); + + // // 关键步骤:给每个 DTO 赋值文件名 + // fileName = formFile.FileName; //获取文件名 + + // if (!fileName.Contains("备货未入账") && + // !fileName.Contains("到货未入库") && + // !fileName.Contains("工程问题呆滞")) + // { + // // 不包含任何关键词时,返回提示 + // string message = "文件名不满足要求,请确认文件名包含:备货未入账、到货未入库、工程问题呆滞中的任意一个"; + + // return ToResponse(ResultCode.FAIL, message); + // } + + // foreach (var dto in list) + // {var m = dto.DataSource; + + // dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource + // } + + + + //} + + ////return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); + //return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); + + + string fileName = ""; List list = new(); + List listGCWT = new(); using (var stream = formFile.OpenReadStream()) { - list = stream.Query(startCell: "A1").ToList(); + // 关键步骤:给每个 DTO 赋值文件名 - fileName = formFile.FileName; //获取文件名 + fileName = formFile.FileName; //获取文件名 if (!fileName.Contains("备货未入账") && !fileName.Contains("到货未入库") && @@ -202,16 +238,44 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge return ToResponse(ResultCode.FAIL, message); } - foreach (var dto in list) - {var m = dto.DataSource; - dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource + if (fileName.Contains("工程问题呆滞")) + { + listGCWT = stream.Query(startCell: "A1").ToList(); + + foreach (var dto in listGCWT) + { + dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource + } + + + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(listGCWT.Adapt>(), fileName)); + } + else + { + list = stream.Query(startCell: "A1").ToList(); + + foreach (var dto in list) + { + dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource + } + + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); } + + + + + } //return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>())); - return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); + //return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); + + + + } catch (Exception ex) { @@ -232,7 +296,10 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge [AllowAnonymous] public IActionResult ImportTemplateExcel() { - var result = DownloadImportTemplate(new List() { }, "ZskQdRawdata"); + //var result = DownloadImportTemplate(new List() { }, "ZskQdRawdata"); + //return ExportExcel(result.Item2, result.Item1); + + var result = DownloadImportTemplate(new List(), "ZskQdRawdata"); return ExportExcel(result.Item2, result.Item1); } @@ -263,7 +330,8 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge List list = new(); using (var stream = formFile.OpenReadStream()) { - list = stream.Query(startCell: "A1").ToList(); + list = stream.Query(startCell: "A2").ToList(); + // 关键步骤:给每个 DTO 赋值文件名 fileName = formFile.FileName; //获取文件名 @@ -280,7 +348,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge dto.Notes = fileName; // 将文件名存入 DTO 的 DataSource } - list = list.Where(x => x.MaterialCode != null).ToList(); + //list = list.Where(x => x.MaterialCode != null).ToList(); return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); } diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs b/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs index 0d1739d2..5f1edee2 100644 --- a/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs +++ b/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs @@ -69,5 +69,65 @@ namespace ZR.Model.Knowledge.Dto + } + + + + + /// + /// 订单知识库输入输出对象,只用于工程问题的导入 + /// + public class ZskQdRawdataDtoGCWT + { + [ExcelColumn(Name = "主键,自增ID")] + [ExcelColumnName("主键,自增ID")] + public long Id { get; set; } + + [ExcelColumn(Name = "数据来源")] + [ExcelColumnName("数据来源")] + public string DataSource { get; set; } + + [ExcelColumn(Name = "订单号")] + [ExcelColumnName("订单号")] + public string OrderNumber { get; set; } + + [ExcelColumn(Name = "物料编码")] + [ExcelColumnName("物料编码")] + public string MaterialCode { get; set; } + + [ExcelColumn(Name = "物料名称")] + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "下单配置编码")] + [ExcelColumnName("下单配置编码")] + public string OrderConfigurationCode { get; set; } + + [ExcelColumn(Name = "规格型号")] + [ExcelColumnName("规格型号")] + public string SpecificationModel { get; set; } + + [ExcelColumn(Name = "计量单位")] + [ExcelColumnName("计量单位")] + public string UnitofMeasurement { get; set; } + + [ExcelColumn(Name = "实物数量")] + [ExcelColumnName("实物数量")] + public string ActualQuantity { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "最近修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("最近修改时间")] + public DateTime? LastEditTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Notes { get; set; } + + + } } \ No newline at end of file diff --git a/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs index 122fd5ac..34ba08fc 100644 --- a/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs +++ b/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs @@ -18,27 +18,39 @@ namespace ZR.Model.Knowledge.Dto [ExcelColumnName("主键,自增ID")] public long Id { get; set; } - [ExcelColumn(Name = "物资名称")] + //[ExcelColumn(Name = "物资名称")] + //[ExcelColumnName("物资名称")] + [ExcelColumn(Index = 1)] [ExcelColumnName("物资名称")] public string MaterialName { get; set; } - [ExcelColumn(Name = "物料编码")] + //[ExcelColumn(Name = "物料编码")] + //[ExcelColumnName("物料编码")] + [ExcelColumn(Index = 2)] [ExcelColumnName("物料编码")] public string MaterialCode { get; set; } - [ExcelColumn(Name = "规格型号")] + //[ExcelColumn(Name = "规格型号")] + //[ExcelColumnName("规格型号")] + [ExcelColumn(Index = 3)] [ExcelColumnName("规格型号")] public string SpecificationModel { get; set; } - [ExcelColumn(Name = "需求量")] + //[ExcelColumn(Name = "需求量")] + //[ExcelColumnName("需求量")] + [ExcelColumn(Index = 4)] [ExcelColumnName("需求量")] public string RequiredQuantity { get; set; } - [ExcelColumn(Name = "已领用量")] + //[ExcelColumn(Name = "已领用量")] + //[ExcelColumnName("已领用量")] + [ExcelColumn(Index = 5)] [ExcelColumnName("已领用量")] public string QuantityIssued { get; set; } - [ExcelColumn(Name = "领用占比需求")] + //[ExcelColumn(Name = "领用占比需求")] + //[ExcelColumnName("领用占比需求")] + [ExcelColumn(Index = 6)] [ExcelColumnName("领用占比需求")] public decimal RequirementforIssuanceProportion { get; set; } diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/ZskQdRawdataService.cs index 2d74b364..691a49c1 100644 --- a/ZR.Service/Knowledge/ZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/ZskQdRawdataService.cs @@ -202,8 +202,8 @@ namespace ZR.Service.Knowledge QuantityIssued = req.QuantityIssued, QuantityUsed = req.RequiredQuantity - req.QuantityIssued, RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, - AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) - + //AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色")) }); var response1 = query1.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto @@ -230,8 +230,8 @@ namespace ZR.Service.Knowledge QuantityIssued = req.QuantityIssued, QuantityUsed = req.RequiredQuantity - req.QuantityIssued, RequirementforIssuanceProportion = req.RequirementforIssuanceProportion, - AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) - + // AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 100, "橙色", ""))) + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色")) }); var mergedList = response.ToList().Union(response1.ToList()).ToList(); -- Gitee From 968a25543862b6c4158c5ae781d4fab58deedd46 Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Thu, 16 Oct 2025 15:41:00 +0800 Subject: [PATCH 21/29] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Report/PmsHousingFundAllController.cs | 77 ++ .../Report/PmsHousingFundBackPayController.cs | 77 ++ .../Report/PmsProvincePensionAllController.cs | 77 ++ .../PmsProvincePensionBackPayController.cs | 77 ++ .../PmsSocialInsuranceCityController.cs | 77 ++ .../PmsSocialInsuranceCompanyController.cs | 77 ++ ZR.Model/Report/Dto/PmsHousingFundAllDto.cs | 771 ++++++++++++++ .../Report/Dto/PmsHousingFundBackPayDto.cs | 771 ++++++++++++++ .../Report/Dto/PmsProvincePensionAllDto.cs | 771 ++++++++++++++ .../Dto/PmsProvincePensionBackPayDto.cs | 771 ++++++++++++++ .../Report/Dto/PmsSocialInsuranceCityDto.cs | 771 ++++++++++++++ .../Dto/PmsSocialInsuranceCompanyDto.cs | 771 ++++++++++++++ ZR.Model/Report/PmsHousingFundAll.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsHousingFundBackPay.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsProvincePensionAll.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsProvincePensionBackPay.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsSocialInsuranceCity.cs | 946 ++++++++++++++++++ ZR.Model/Report/PmsSocialInsuranceCompany.cs | 946 ++++++++++++++++++ .../IPmsHousingFundAllService.cs | 21 + .../IPmsHousingFundBackPayService.cs | 21 + .../IPmsProvincePensionAllService.cs | 21 + .../IPmsProvincePensionBackPayService.cs | 21 + .../IPmsSocialInsuranceCityService.cs | 21 + .../IPmsSocialInsuranceCompanyService.cs | 21 + ZR.Service/Report/PmsHousingFundAllService.cs | 97 ++ .../Report/PmsHousingFundBackPayService.cs | 97 ++ .../Report/PmsProvincePensionAllService.cs | 97 ++ .../PmsProvincePensionBackPayService.cs | 97 ++ .../Report/PmsSocialInsuranceCityService.cs | 97 ++ .../PmsSocialInsuranceCompanyService.cs | 97 ++ 30 files changed, 11472 insertions(+) create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsHousingFundAllController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsHousingFundBackPayController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionAllController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionBackPayController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCompanyController.cs create mode 100644 ZR.Model/Report/Dto/PmsHousingFundAllDto.cs create mode 100644 ZR.Model/Report/Dto/PmsHousingFundBackPayDto.cs create mode 100644 ZR.Model/Report/Dto/PmsProvincePensionAllDto.cs create mode 100644 ZR.Model/Report/Dto/PmsProvincePensionBackPayDto.cs create mode 100644 ZR.Model/Report/Dto/PmsSocialInsuranceCityDto.cs create mode 100644 ZR.Model/Report/Dto/PmsSocialInsuranceCompanyDto.cs create mode 100644 ZR.Model/Report/PmsHousingFundAll.cs create mode 100644 ZR.Model/Report/PmsHousingFundBackPay.cs create mode 100644 ZR.Model/Report/PmsProvincePensionAll.cs create mode 100644 ZR.Model/Report/PmsProvincePensionBackPay.cs create mode 100644 ZR.Model/Report/PmsSocialInsuranceCity.cs create mode 100644 ZR.Model/Report/PmsSocialInsuranceCompany.cs create mode 100644 ZR.Service/Report/IReportService/IPmsHousingFundAllService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsHousingFundBackPayService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsProvincePensionAllService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsProvincePensionBackPayService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsSocialInsuranceCityService.cs create mode 100644 ZR.Service/Report/IReportService/IPmsSocialInsuranceCompanyService.cs create mode 100644 ZR.Service/Report/PmsHousingFundAllService.cs create mode 100644 ZR.Service/Report/PmsHousingFundBackPayService.cs create mode 100644 ZR.Service/Report/PmsProvincePensionAllService.cs create mode 100644 ZR.Service/Report/PmsProvincePensionBackPayService.cs create mode 100644 ZR.Service/Report/PmsSocialInsuranceCityService.cs create mode 100644 ZR.Service/Report/PmsSocialInsuranceCompanyService.cs diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundAllController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundAllController.cs new file mode 100644 index 00000000..a4fa8294 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundAllController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G公积 + /// + [Verify] + [Route("Report/PmsHousingFundAll")] + public class PmsHousingFundAllController : BaseController + { + /// + /// G公积接口 + /// + private readonly IPmsHousingFundAllService _PmsHousingFundAllService; + + public PmsHousingFundAllController(IPmsHousingFundAllService PmsHousingFundAllService) + { + _PmsHousingFundAllService = PmsHousingFundAllService; + } + + /// + /// 查询G公积列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsHousingFundAll:list")] + public IActionResult QueryPmsHousingFundAll([FromQuery] PmsHousingFundAllQueryDto parm) + { + var response = _PmsHousingFundAllService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G公积详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsHousingFundAll:query")] + public IActionResult GetPmsHousingFundAll(int Id) + { + var response = _PmsHousingFundAllService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G公积 + /// + /// + [Log(Title = "G公积", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsHousingFundAll:export")] + public IActionResult Export([FromQuery] PmsHousingFundAllQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsHousingFundAllService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G公积", "G公积"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundBackPayController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundBackPayController.cs new file mode 100644 index 00000000..f39e225d --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundBackPayController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G公积-补 + /// + [Verify] + [Route("Report/PmsHousingFundBackPay")] + public class PmsHousingFundBackPayController : BaseController + { + /// + /// G公积-补接口 + /// + private readonly IPmsHousingFundBackPayService _PmsHousingFundBackPayService; + + public PmsHousingFundBackPayController(IPmsHousingFundBackPayService PmsHousingFundBackPayService) + { + _PmsHousingFundBackPayService = PmsHousingFundBackPayService; + } + + /// + /// 查询G公积-补列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsHousingFundBackPay:list")] + public IActionResult QueryPmsHousingFundBackPay([FromQuery] PmsHousingFundBackPayQueryDto parm) + { + var response = _PmsHousingFundBackPayService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G公积-补详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsHousingFundBackPay:query")] + public IActionResult GetPmsHousingFundBackPay(int Id) + { + var response = _PmsHousingFundBackPayService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G公积-补 + /// + /// + [Log(Title = "G公积-补", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsHousingFundBackPay:export")] + public IActionResult Export([FromQuery] PmsHousingFundBackPayQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsHousingFundBackPayService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G公积-补", "G公积-补"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionAllController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionAllController.cs new file mode 100644 index 00000000..1b79d47c --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionAllController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G省养-总 + /// + [Verify] + [Route("Report/PmsProvincePensionAll")] + public class PmsProvincePensionAllController : BaseController + { + /// + /// G省养-总接口 + /// + private readonly IPmsProvincePensionAllService _PmsProvincePensionAllService; + + public PmsProvincePensionAllController(IPmsProvincePensionAllService PmsProvincePensionAllService) + { + _PmsProvincePensionAllService = PmsProvincePensionAllService; + } + + /// + /// 查询G省养-总列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsProvincePensionAll:list")] + public IActionResult QueryPmsProvincePensionAll([FromQuery] PmsProvincePensionAllQueryDto parm) + { + var response = _PmsProvincePensionAllService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G省养-总详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsProvincePensionAll:query")] + public IActionResult GetPmsProvincePensionAll(int Id) + { + var response = _PmsProvincePensionAllService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G省养-总 + /// + /// + [Log(Title = "G省养-总", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsProvincePensionAll:export")] + public IActionResult Export([FromQuery] PmsProvincePensionAllQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsProvincePensionAllService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G省养-总", "G省养-总"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionBackPayController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionBackPayController.cs new file mode 100644 index 00000000..dab89e9c --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionBackPayController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G省养-补 + /// + [Verify] + [Route("Report/PmsProvincePensionBackPay")] + public class PmsProvincePensionBackPayController : BaseController + { + /// + /// G省养-补接口 + /// + private readonly IPmsProvincePensionBackPayService _PmsProvincePensionBackPayService; + + public PmsProvincePensionBackPayController(IPmsProvincePensionBackPayService PmsProvincePensionBackPayService) + { + _PmsProvincePensionBackPayService = PmsProvincePensionBackPayService; + } + + /// + /// 查询G省养-补列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsProvincePensionBackPay:list")] + public IActionResult QueryPmsProvincePensionBackPay([FromQuery] PmsProvincePensionBackPayQueryDto parm) + { + var response = _PmsProvincePensionBackPayService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G省养-补详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsProvincePensionBackPay:query")] + public IActionResult GetPmsProvincePensionBackPay(int Id) + { + var response = _PmsProvincePensionBackPayService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G省养-补 + /// + /// + [Log(Title = "G省养-补", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsProvincePensionBackPay:export")] + public IActionResult Export([FromQuery] PmsProvincePensionBackPayQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsProvincePensionBackPayService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G省养-补", "G省养-补"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs new file mode 100644 index 00000000..3406af32 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G市社 + /// + [Verify] + [Route("Report/PmsSocialInsuranceCity")] + public class PmsSocialInsuranceCityController : BaseController + { + /// + /// G市社接口 + /// + private readonly IPmsSocialInsuranceCityService _PmsSocialInsuranceCityService; + + public PmsSocialInsuranceCityController(IPmsSocialInsuranceCityService PmsSocialInsuranceCityService) + { + _PmsSocialInsuranceCityService = PmsSocialInsuranceCityService; + } + + /// + /// 查询G市社列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCity:list")] + public IActionResult QueryPmsSocialInsuranceCity([FromQuery] PmsSocialInsuranceCityQueryDto parm) + { + var response = _PmsSocialInsuranceCityService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G市社详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCity:query")] + public IActionResult GetPmsSocialInsuranceCity(int Id) + { + var response = _PmsSocialInsuranceCityService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G市社 + /// + /// + [Log(Title = "G市社", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCity:export")] + public IActionResult Export([FromQuery] PmsSocialInsuranceCityQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsSocialInsuranceCityService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G市社", "G市社"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCompanyController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCompanyController.cs new file mode 100644 index 00000000..c04feda1 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCompanyController.cs @@ -0,0 +1,77 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; + +//创建时间:2025-10-11 +namespace ZR.Admin.WebApi.Controllers.Report +{ + /// + /// G五险两金-单位 + /// + [Verify] + [Route("Report/PmsSocialInsuranceCompany")] + public class PmsSocialInsuranceCompanyController : BaseController + { + /// + /// G五险两金-单位接口 + /// + private readonly IPmsSocialInsuranceCompanyService _PmsSocialInsuranceCompanyService; + + public PmsSocialInsuranceCompanyController(IPmsSocialInsuranceCompanyService PmsSocialInsuranceCompanyService) + { + _PmsSocialInsuranceCompanyService = PmsSocialInsuranceCompanyService; + } + + /// + /// 查询G五险两金-单位列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCompany:list")] + public IActionResult QueryPmsSocialInsuranceCompany([FromQuery] PmsSocialInsuranceCompanyQueryDto parm) + { + var response = _PmsSocialInsuranceCompanyService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询G五险两金-单位详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCompany:query")] + public IActionResult GetPmsSocialInsuranceCompany(int Id) + { + var response = _PmsSocialInsuranceCompanyService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 导出G五险两金-单位 + /// + /// + [Log(Title = "G五险两金-单位", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "PmsSocialInsuranceCompany:export")] + public IActionResult Export([FromQuery] PmsSocialInsuranceCompanyQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsSocialInsuranceCompanyService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "G五险两金-单位", "G五险两金-单位"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsHousingFundAllDto.cs b/ZR.Model/Report/Dto/PmsHousingFundAllDto.cs new file mode 100644 index 00000000..6ecf1a88 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsHousingFundAllDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G公积查询对象 + /// + public class PmsHousingFundAllQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G公积输入输出对象 + /// + public class PmsHousingFundAllDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsHousingFundBackPayDto.cs b/ZR.Model/Report/Dto/PmsHousingFundBackPayDto.cs new file mode 100644 index 00000000..25a4e9a7 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsHousingFundBackPayDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G公积-补查询对象 + /// + public class PmsHousingFundBackPayQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G公积-补输入输出对象 + /// + public class PmsHousingFundBackPayDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsProvincePensionAllDto.cs b/ZR.Model/Report/Dto/PmsProvincePensionAllDto.cs new file mode 100644 index 00000000..ccd6ce8d --- /dev/null +++ b/ZR.Model/Report/Dto/PmsProvincePensionAllDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G省养-总查询对象 + /// + public class PmsProvincePensionAllQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G省养-总输入输出对象 + /// + public class PmsProvincePensionAllDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsProvincePensionBackPayDto.cs b/ZR.Model/Report/Dto/PmsProvincePensionBackPayDto.cs new file mode 100644 index 00000000..cd43d09a --- /dev/null +++ b/ZR.Model/Report/Dto/PmsProvincePensionBackPayDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G省养-补查询对象 + /// + public class PmsProvincePensionBackPayQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G省养-补输入输出对象 + /// + public class PmsProvincePensionBackPayDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsSocialInsuranceCityDto.cs b/ZR.Model/Report/Dto/PmsSocialInsuranceCityDto.cs new file mode 100644 index 00000000..6f82b2ee --- /dev/null +++ b/ZR.Model/Report/Dto/PmsSocialInsuranceCityDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G市社查询对象 + /// + public class PmsSocialInsuranceCityQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G市社输入输出对象 + /// + public class PmsSocialInsuranceCityDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/Dto/PmsSocialInsuranceCompanyDto.cs b/ZR.Model/Report/Dto/PmsSocialInsuranceCompanyDto.cs new file mode 100644 index 00000000..3fbd3782 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsSocialInsuranceCompanyDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// G五险两金-单位查询对象 + /// + public class PmsSocialInsuranceCompanyQueryDto : PagerInfo + { + public DateTime? BeginAmRecordMonth { get; set; } + public DateTime? EndAmRecordMonth { get; set; } + public string AnEmployeeName { get; set; } + public string AqFeeTypeName { get; set; } + public string AtDeptName { get; set; } + public string AwEmployeeType { get; set; } + public string AxEmployeeType { get; set; } + } + + /// + /// G五险两金-单位输入输出对象 + /// + public class PmsSocialInsuranceCompanyDto + { + [ExcelIgnore] + public int? Id { get; set; } + + [ExcelColumn(Name = "序号")] + [ExcelColumnName("序号")] + public int? ASortNo { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string BDeptName { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string CEmployeeName { get; set; } + + [ExcelColumn(Name = "岗位工资")] + [ExcelColumnName("岗位工资")] + public decimal DPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal EYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal FComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资(含预发、补发、清算)")] + [ExcelColumnName("绩效工资(含预发、补发、清算)")] + public decimal GKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal HOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal IComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal JKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal KCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal LPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal MTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal NLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal OHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal PMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "其他应发")] + [ExcelColumnName("其他应发")] + public decimal QOtherPayable { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal RProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal SAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal TLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal UWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal VTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "代扣个人养老保险")] + [ExcelColumnName("代扣个人养老保险")] + public decimal WPensionPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人医疗保险")] + [ExcelColumnName("代扣个人医疗保险")] + public decimal XMedicalPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人失业保险")] + [ExcelColumnName("代扣个人失业保险")] + public decimal YNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人公积金")] + [ExcelColumnName("代扣个人公积金")] + public decimal ZProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人年金")] + [ExcelColumnName("代扣个人年金")] + public decimal AaAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "代扣个人所得税")] + [ExcelColumnName("代扣个人所得税")] + public decimal AbTaxPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal AcMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal AdPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal AeTotalSalary { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal AfYearKpi1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal AgYearKpi2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal AhTargetBonus { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal AiEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal AjSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "AK")] + [ExcelColumnName("AK")] + public decimal Ak { get; set; } + + [ExcelColumn(Name = "AL")] + [ExcelColumnName("AL")] + public decimal Al { get; set; } + + [ExcelColumn(Name = "时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("时间")] + public DateTime? AmRecordMonth { get; set; } + + [ExcelColumn(Name = "姓名")] + [ExcelColumnName("姓名")] + public string AnEmployeeName { get; set; } + + [ExcelColumn(Name = "人员编码")] + [ExcelColumnName("人员编码")] + public string AoEmployeeCode { get; set; } + + [ExcelColumn(Name = "HR系统部门名称")] + [ExcelColumnName("HR系统部门名称")] + public string ApDeptNameHR { get; set; } + + [ExcelColumn(Name = "费用分类")] + [ExcelColumnName("费用分类")] + public string AqFeeTypeName { get; set; } + + [ExcelColumn(Name = "公司名称")] + [ExcelColumnName("公司名称")] + public string ArCompanyName { get; set; } + + [ExcelColumn(Name = "部门名称(不分片区)")] + [ExcelColumnName("部门名称(不分片区)")] + public string AsDeptName { get; set; } + + [ExcelColumn(Name = "部门名称")] + [ExcelColumnName("部门名称")] + public string AtDeptName { get; set; } + + [ExcelColumn(Name = "中心名称")] + [ExcelColumnName("中心名称")] + public string AuCenterName { get; set; } + + [ExcelColumn(Name = "班组名称")] + [ExcelColumnName("班组名称")] + public string AvTeamName { get; set; } + + [ExcelColumn(Name = "人员类别")] + [ExcelColumnName("人员类别")] + public string AwEmployeeType { get; set; } + + [ExcelColumn(Name = "用工分类")] + [ExcelColumnName("用工分类")] + public string AxEmployeeType { get; set; } + + [ExcelColumn(Name = "性别")] + [ExcelColumnName("性别")] + public string AySex { get; set; } + + [ExcelColumn(Name = "所在区域")] + [ExcelColumnName("所在区域")] + public string AzArea { get; set; } + + [ExcelColumn(Name = "是否党员")] + [ExcelColumnName("是否党员")] + public string BaPartyMember { get; set; } + + [ExcelColumn(Name = "岗级")] + [ExcelColumnName("岗级")] + public string BbSalaryFristLevel { get; set; } + + [ExcelColumn(Name = "档次")] + [ExcelColumnName("档次")] + public string BcSalarySecondLevel { get; set; } + + [ExcelColumn(Name = "绩效所在岗级")] + [ExcelColumnName("绩效所在岗级")] + public string BdKpiLevel { get; set; } + + [ExcelColumn(Name = "月标准绩效")] + [ExcelColumnName("月标准绩效")] + public decimal BeNormKpiSalary { get; set; } + + [ExcelColumn(Name = "月岗位工资")] + [ExcelColumnName("月岗位工资")] + public decimal BfPositionSalary { get; set; } + + [ExcelColumn(Name = "补发岗位工资")] + [ExcelColumnName("补发岗位工资")] + public decimal BgBackPayPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal BhYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [ExcelColumnName("综合补贴")] + public decimal BiComprehensiveAllowance { get; set; } + + [ExcelColumn(Name = "月预发绩效工资")] + [ExcelColumnName("月预发绩效工资")] + public decimal BjPrepayKpiSalary { get; set; } + + [ExcelColumn(Name = "补发绩效工资")] + [ExcelColumnName("补发绩效工资")] + public decimal BkBackPayKpiSalary { get; set; } + + [ExcelColumn(Name = "清算绩效工资")] + [ExcelColumnName("清算绩效工资")] + public decimal BlSettlementKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资")] + [ExcelColumnName("加班工资")] + public decimal BmOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "计算机补贴")] + [ExcelColumnName("计算机补贴")] + public decimal BnComputerAllowance { get; set; } + + [ExcelColumn(Name = "骨干津贴")] + [ExcelColumnName("骨干津贴")] + public decimal BoKeyStaffAllowance { get; set; } + + [ExcelColumn(Name = "证书及考试奖励")] + [ExcelColumnName("证书及考试奖励")] + public decimal BpCertificateAllowance { get; set; } + + [ExcelColumn(Name = "通讯补助")] + [ExcelColumnName("通讯补助")] + public decimal BqPhoneAllowance { get; set; } + + [ExcelColumn(Name = "交通补贴")] + [ExcelColumnName("交通补贴")] + public decimal BrTransportAllowance { get; set; } + + [ExcelColumn(Name = "生活补贴")] + [ExcelColumnName("生活补贴")] + public decimal BsLiveAllowance { get; set; } + + [ExcelColumn(Name = "租房补助")] + [ExcelColumnName("租房补助")] + public decimal BtHouseAllowance { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal BuMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "绩效扣款(项目)")] + [ExcelColumnName("绩效扣款(项目)")] + public decimal BvProjectDeduction { get; set; } + + [ExcelColumn(Name = "绩效扣款(考勤)")] + [ExcelColumnName("绩效扣款(考勤)")] + public decimal BwAttendanceDeduction { get; set; } + + [ExcelColumn(Name = "代发奖金")] + [ExcelColumnName("代发奖金")] + public decimal BxAgentBonus { get; set; } + + [ExcelColumn(Name = "代发其他")] + [ExcelColumnName("代发其他")] + public decimal ByAgentOther { get; set; } + + [ExcelColumn(Name = "补发其他工资")] + [ExcelColumnName("补发其他工资")] + public decimal BzBackPayOther { get; set; } + + [ExcelColumn(Name = "其他固定发放")] + [ExcelColumnName("其他固定发放")] + public decimal CaOtherFixedPay { get; set; } + + [ExcelColumn(Name = "计件计量工资")] + [ExcelColumnName("计件计量工资")] + public decimal CbPieceRatePay { get; set; } + + [ExcelColumn(Name = "月预设项目")] + [ExcelColumnName("月预设项目")] + public decimal CcMouthPresetProject { get; set; } + + [ExcelColumn(Name = "其他工资")] + [ExcelColumnName("其他工资")] + public decimal CdOtherPay { get; set; } + + [ExcelColumn(Name = "平衡应发")] + [ExcelColumnName("平衡应发")] + public decimal CeAvgPay { get; set; } + + [ExcelColumn(Name = "午餐补助")] + [ExcelColumnName("午餐补助")] + public decimal CfLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费")] + [ExcelColumnName("女员工卫生费")] + public decimal CgWomenAllowance { get; set; } + + [ExcelColumn(Name = "月应发小计")] + [ExcelColumnName("月应发小计")] + public decimal ChTotalMonthlyPay { get; set; } + + [ExcelColumn(Name = "年度绩效(一)")] + [ExcelColumnName("年度绩效(一)")] + public decimal CiYearKpiPay1 { get; set; } + + [ExcelColumn(Name = "年度绩效(二)")] + [ExcelColumnName("年度绩效(二)")] + public decimal CjYearKpiPay2 { get; set; } + + [ExcelColumn(Name = "目标奖")] + [ExcelColumnName("目标奖")] + public decimal CkTargetBonus { get; set; } + + [ExcelColumn(Name = "预设项目")] + [ExcelColumnName("预设项目")] + public decimal ClPresetProject { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额")] + [ExcelColumnName("基本养老保险单位缴纳额")] + public decimal CmPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本养老保险个人缴纳额")] + [ExcelColumnName("基本养老保险个人缴纳额")] + public decimal CnPensionBasePersonal { get; set; } + + [ExcelColumn(Name = "基本医疗保险单位缴纳额")] + [ExcelColumnName("基本医疗保险单位缴纳额")] + public decimal CoMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险个人缴纳额")] + [ExcelColumnName("基本医疗保险个人缴纳额")] + public decimal CpMedicalBasePersonal { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额")] + [ExcelColumnName("大额医疗费用补助单位缴纳额")] + public decimal CqBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额")] + [ExcelColumnName("失业保险单位缴纳额")] + public decimal CrNoWorkCompany { get; set; } + + [ExcelColumn(Name = "失业保险个人缴纳额")] + [ExcelColumnName("失业保险个人缴纳额")] + public decimal CsNoWorkPersonal { get; set; } + + [ExcelColumn(Name = "工伤保险单位缴纳额")] + [ExcelColumnName("工伤保险单位缴纳额")] + public decimal CtWorkInjuryCompany { get; set; } + + [ExcelColumn(Name = "住房公积金单位缴纳额")] + [ExcelColumnName("住房公积金单位缴纳额")] + public decimal CuProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "住房公积金个人缴纳额")] + [ExcelColumnName("住房公积金个人缴纳额")] + public decimal CvProvidentFundPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal CwAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal CxAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "省养老保险基数")] + [ExcelColumnName("省养老保险基数")] + public decimal CyProvincePensionBase { get; set; } + + [ExcelColumn(Name = "市养老保险基数")] + [ExcelColumnName("市养老保险基数")] + public decimal CzCityPensionBase { get; set; } + + [ExcelColumn(Name = "医疗保险基数")] + [ExcelColumnName("医疗保险基数")] + public decimal DaMedicalInsuranceBase { get; set; } + + [ExcelColumn(Name = "公积金基数")] + [ExcelColumnName("公积金基数")] + public decimal DbHousingFundBase { get; set; } + + [ExcelColumn(Name = "年金基数")] + [ExcelColumnName("年金基数")] + public decimal DcAnnuityBase { get; set; } + + [ExcelColumn(Name = "上年月平均工资")] + [ExcelColumnName("上年月平均工资")] + public decimal DdLastYearAvgSalary { get; set; } + + [ExcelColumn(Name = "全体人员市州失业、工伤保险基数")] + [ExcelColumnName("全体人员市州失业、工伤保险基数")] + public decimal DeCityUnemploymentInjuryBase { get; set; } + + [ExcelColumn(Name = "省养老保险单位缴纳额")] + [ExcelColumnName("省养老保险单位缴纳额")] + public decimal DfPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "省养老保险个人缴纳额")] + [ExcelColumnName("省养老保险个人缴纳额")] + public decimal DgPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "市养老保险单位缴纳额")] + [ExcelColumnName("市养老保险单位缴纳额")] + public decimal DhPensionCityCompany { get; set; } + + [ExcelColumn(Name = "市养老保险个人缴纳额")] + [ExcelColumnName("市养老保险个人缴纳额")] + public decimal DiPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "企业年金单位计提额")] + [ExcelColumnName("企业年金单位计提额")] + public decimal DjAnnuityCompany { get; set; } + + [ExcelColumn(Name = "企业年金个人缴纳额")] + [ExcelColumnName("企业年金个人缴纳额")] + public decimal DkAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进个入人账户")] + [ExcelColumnName("公司年金进个入人账户")] + public decimal DlAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "公司年金进入公共账户")] + [ExcelColumnName("公司年金进入公共账户")] + public decimal DmAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补省养老保险单位缴纳额")] + [ExcelColumnName("补省养老保险单位缴纳额")] + public decimal DnBackPayPensionProvinceCompany { get; set; } + + [ExcelColumn(Name = "补扣省养老保险个人缴纳额")] + [ExcelColumnName("补扣省养老保险个人缴纳额")] + public decimal DoBackPayPensionProvincePersonal { get; set; } + + [ExcelColumn(Name = "补市养老保险单位缴纳额")] + [ExcelColumnName("补市养老保险单位缴纳额")] + public decimal DpBackPayPensionCityCompany { get; set; } + + [ExcelColumn(Name = "补扣市养老保险个人缴纳额")] + [ExcelColumnName("补扣市养老保险个人缴纳额")] + public decimal DqBackPayPensionCityPersonal { get; set; } + + [ExcelColumn(Name = "补市医疗保险单位缴纳额")] + [ExcelColumnName("补市医疗保险单位缴纳额")] + public decimal DrBackPayMedicalCityCompany { get; set; } + + [ExcelColumn(Name = "补扣医疗保险个人缴纳额")] + [ExcelColumnName("补扣医疗保险个人缴纳额")] + public decimal DsBackPayMedicalCityPersonal { get; set; } + + [ExcelColumn(Name = "补大额医疗费用补助单位缴纳额")] + [ExcelColumnName("补大额医疗费用补助单位缴纳额")] + public decimal DtBackPayBigMedicalCompany { get; set; } + + [ExcelColumn(Name = "补失业保险单位缴纳额")] + [ExcelColumnName("补失业保险单位缴纳额")] + public decimal DuBackPayUnemploymentCompany { get; set; } + + [ExcelColumn(Name = "补扣失业保险个人缴纳额")] + [ExcelColumnName("补扣失业保险个人缴纳额")] + public decimal DvBackPayUnemploymentPersonal { get; set; } + + [ExcelColumn(Name = "补工伤单位缴纳额")] + [ExcelColumnName("补工伤单位缴纳额")] + public decimal DwBackPayInjuryCompany { get; set; } + + [ExcelColumn(Name = "补公积金单位缴纳额")] + [ExcelColumnName("补公积金单位缴纳额")] + public decimal DxBackPayHousingFundCompany { get; set; } + + [ExcelColumn(Name = "补公积金个人缴纳额")] + [ExcelColumnName("补公积金个人缴纳额")] + public decimal DyBackPayHousingFundPersonal { get; set; } + + [ExcelColumn(Name = "补企业年金单位缴纳额")] + [ExcelColumnName("补企业年金单位缴纳额")] + public decimal DzBackPayAnnuityCompany { get; set; } + + [ExcelColumn(Name = "补企业年金个人缴纳额")] + [ExcelColumnName("补企业年金个人缴纳额")] + public decimal EaBackPayAnnuityPersonal { get; set; } + + [ExcelColumn(Name = "月应扣小计")] + [ExcelColumnName("月应扣小计")] + public decimal EbMouthDeductTotal { get; set; } + + [ExcelColumn(Name = "实发金额")] + [ExcelColumnName("实发金额")] + public decimal EcPayAmount { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EdTotalSalary { get; set; } + + [ExcelColumn(Name = "雇主责任险")] + [ExcelColumnName("雇主责任险")] + public decimal EeEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险")] + [ExcelColumnName("补充医疗保险")] + public decimal EfSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "工会经费")] + [ExcelColumnName("工会经费")] + public decimal EgUnionFee { get; set; } + + [ExcelColumn(Name = "教育经费")] + [ExcelColumnName("教育经费")] + public decimal EhEducationFee { get; set; } + + [ExcelColumn(Name = "残疾人保障金分摊")] + [ExcelColumnName("残疾人保障金分摊")] + public decimal EiDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "辞退补偿金")] + [ExcelColumnName("辞退补偿金")] + public decimal EjSeveranceCompensation { get; set; } + + [ExcelColumn(Name = "其他")] + [ExcelColumnName("其他")] + public decimal EkOtherFee { get; set; } + + [ExcelColumn(Name = "劳务派遣工会会费营业税金")] + [ExcelColumnName("劳务派遣工会会费营业税金")] + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + [ExcelColumn(Name = "工资总额")] + [ExcelColumnName("工资总额")] + public decimal EmTotalSalary { get; set; } + + [ExcelColumn(Name = "市场拓展奖励")] + [ExcelColumnName("市场拓展奖励")] + public decimal EnMarketDevelopBonus { get; set; } + + [ExcelColumn(Name = "福利费")] + [ExcelColumnName("福利费")] + public decimal EoWelfareFee { get; set; } + + [ExcelColumn(Name = "外包应发小计")] + [ExcelColumnName("外包应发小计")] + public decimal EpOutsourcedPayables { get; set; } + + [ExcelColumn(Name = "五险一金、商业保险的单位缴费")] + [ExcelColumnName("五险一金、商业保险的单位缴费")] + public decimal EqPensionCompany { get; set; } + + [ExcelColumn(Name = "中秋国庆福利报销费")] + [ExcelColumnName("中秋国庆福利报销费")] + public decimal ErHolidayGift { get; set; } + + [ExcelColumn(Name = "扣平项目(加班餐费)")] + [ExcelColumnName("扣平项目(加班餐费)")] + public decimal EsDeductionMealFee { get; set; } + + [ExcelColumn(Name = "业务外包人员费用")] + [ExcelColumnName("业务外包人员费用")] + public decimal EtOutsourcedFee { get; set; } + + [ExcelColumn(Name = "管理费")] + [ExcelColumnName("管理费")] + public decimal EuManagementFee { get; set; } + + [ExcelColumn(Name = "业务外包税费")] + [ExcelColumnName("业务外包税费")] + public decimal EvOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "个人所得税")] + [ExcelColumnName("个人所得税")] + public decimal EwTaxPersonal { get; set; } + + [ExcelColumn(Name = "税前应扣")] + [ExcelColumnName("税前应扣")] + public decimal ExPreTax { get; set; } + + [ExcelColumn(Name = "公积金应纳税金额")] + [ExcelColumnName("公积金应纳税金额")] + public decimal EyHousingFundTaxable { get; set; } + + [ExcelColumn(Name = "平衡个税缴费基数")] + [ExcelColumnName("平衡个税缴费基数")] + public decimal EzBalancedPersonalTaxBase { get; set; } + + [ExcelColumn(Name = "工资总额汇总")] + [ExcelColumnName("工资总额汇总")] + public decimal FaTotalSalary { get; set; } + + [ExcelColumn(Name = "岗位工资汇总")] + [ExcelColumnName("岗位工资汇总")] + public decimal FbTotalPositionSalary { get; set; } + + [ExcelColumn(Name = "年功津贴汇总")] + [ExcelColumnName("年功津贴汇总")] + public decimal FcTotalYearAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴汇总")] + [ExcelColumnName("综合补贴汇总")] + public decimal FdTotalCompAllowance { get; set; } + + [ExcelColumn(Name = "绩效工资汇总")] + [ExcelColumnName("绩效工资汇总")] + public decimal FeTotalKpiSalary { get; set; } + + [ExcelColumn(Name = "加班工资汇总")] + [ExcelColumnName("加班工资汇总")] + public decimal FfTotalOvertimeAllowance { get; set; } + + [ExcelColumn(Name = "其他工资(总额倒扣)")] + [ExcelColumnName("其他工资(总额倒扣)")] + public decimal FgTotalOther { get; set; } + + [ExcelColumn(Name = "午餐补助(人力口)汇总")] + [ExcelColumnName("午餐补助(人力口)汇总")] + public decimal FhTotalLunchAllowance { get; set; } + + [ExcelColumn(Name = "女员工卫生费汇总")] + [ExcelColumnName("女员工卫生费汇总")] + public decimal FiTotalWomenAllowance { get; set; } + + [ExcelColumn(Name = "基本养老保险单位缴纳额汇总")] + [ExcelColumnName("基本养老保险单位缴纳额汇总")] + public decimal FjTotalPensionBaseCompany { get; set; } + + [ExcelColumn(Name = "基本医疗保险(含生育)单位缴纳额汇总")] + [ExcelColumnName("基本医疗保险(含生育)单位缴纳额汇总")] + public decimal FkTotalMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "大额医疗费用补助单位缴纳额汇总")] + [ExcelColumnName("大额医疗费用补助单位缴纳额汇总")] + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + [ExcelColumn(Name = "失业保险单位缴纳额汇总")] + [ExcelColumnName("失业保险单位缴纳额汇总")] + public decimal FmTotalNoWorkCompany { get; set; } + + [ExcelColumn(Name = "工伤单位缴纳额汇总")] + [ExcelColumnName("工伤单位缴纳额汇总")] + public decimal FnTotalInjuryCompany { get; set; } + + [ExcelColumn(Name = "公积金单位缴纳额汇总")] + [ExcelColumnName("公积金单位缴纳额汇总")] + public decimal FoTotalProvidentFundCompany { get; set; } + + [ExcelColumn(Name = "企业年金单位缴费汇总")] + [ExcelColumnName("企业年金单位缴费汇总")] + public decimal FpTotalAnnuityCompany { get; set; } + + [ExcelColumn(Name = "雇主责任险汇总")] + [ExcelColumnName("雇主责任险汇总")] + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + [ExcelColumn(Name = "补充医疗保险汇总")] + [ExcelColumnName("补充医疗保险汇总")] + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + [ExcelColumn(Name = "计提工会经费汇总")] + [ExcelColumnName("计提工会经费汇总")] + public decimal FsTotalUnionFee { get; set; } + + [ExcelColumn(Name = "计提职工教育经费汇总")] + [ExcelColumnName("计提职工教育经费汇总")] + public decimal FtTotalEducationFee { get; set; } + + [ExcelColumn(Name = "劳务租赁费汇总")] + [ExcelColumnName("劳务租赁费汇总")] + public decimal FuTotalLaborLeasingFee { get; set; } + + [ExcelColumn(Name = "残疾人就业保障金汇总")] + [ExcelColumnName("残疾人就业保障金汇总")] + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + [ExcelColumn(Name = "外包人员管理费用汇总")] + [ExcelColumnName("外包人员管理费用汇总")] + public decimal FwTotalOutsourcedFee { get; set; } + + [ExcelColumn(Name = "外包人员税金汇总")] + [ExcelColumnName("外包人员税金汇总")] + public decimal FxTotalOutsourcedTaxFee { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreateBy { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "更新人")] + [ExcelColumnName("更新人")] + public string UpdateBy { get; set; } + + [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("更新时间")] + public DateTime? UpdateTime { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remark { get; set; } + + + + [ExcelColumn(Name = "人员类别")] + public string AwEmployeeTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsHousingFundAll.cs b/ZR.Model/Report/PmsHousingFundAll.cs new file mode 100644 index 00000000..a7a54f81 --- /dev/null +++ b/ZR.Model/Report/PmsHousingFundAll.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G公积 + /// + [SugarTable("pms_accounting_details")] + public class PmsHousingFundAll + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsHousingFundBackPay.cs b/ZR.Model/Report/PmsHousingFundBackPay.cs new file mode 100644 index 00000000..21a3e024 --- /dev/null +++ b/ZR.Model/Report/PmsHousingFundBackPay.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G公积-补 + /// + [SugarTable("pms_accounting_details")] + public class PmsHousingFundBackPay + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsProvincePensionAll.cs b/ZR.Model/Report/PmsProvincePensionAll.cs new file mode 100644 index 00000000..2cf40fab --- /dev/null +++ b/ZR.Model/Report/PmsProvincePensionAll.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G省养-总 + /// + [SugarTable("pms_accounting_details")] + public class PmsProvincePensionAll + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsProvincePensionBackPay.cs b/ZR.Model/Report/PmsProvincePensionBackPay.cs new file mode 100644 index 00000000..c0b0996e --- /dev/null +++ b/ZR.Model/Report/PmsProvincePensionBackPay.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G省养-补 + /// + [SugarTable("pms_accounting_details")] + public class PmsProvincePensionBackPay + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsSocialInsuranceCity.cs b/ZR.Model/Report/PmsSocialInsuranceCity.cs new file mode 100644 index 00000000..3fc32c0b --- /dev/null +++ b/ZR.Model/Report/PmsSocialInsuranceCity.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G市社 + /// + [SugarTable("pms_accounting_details")] + public class PmsSocialInsuranceCity + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Report/PmsSocialInsuranceCompany.cs b/ZR.Model/Report/PmsSocialInsuranceCompany.cs new file mode 100644 index 00000000..025cccc7 --- /dev/null +++ b/ZR.Model/Report/PmsSocialInsuranceCompany.cs @@ -0,0 +1,946 @@ + +namespace ZR.Model.Report +{ + /// + /// G五险两金-单位 + /// + [SugarTable("pms_accounting_details")] + public class PmsSocialInsuranceCompany + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int? Id { get; set; } + + /// + /// 序号 + /// + public int? ASortNo { get; set; } + + /// + /// 部门名称 + /// + public string BDeptName { get; set; } + + /// + /// 姓名 + /// + public string CEmployeeName { get; set; } + + /// + /// 岗位工资 + /// + public decimal DPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal EYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal FComprehensiveAllowance { get; set; } + + /// + /// 绩效工资(含预发、补发、清算) + /// + public decimal GKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal HOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal IComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal JKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal KCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal LPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal MTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal NLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal OHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal PMarketDevelopBonus { get; set; } + + /// + /// 其他应发 + /// + public decimal QOtherPayable { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal RProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal SAttendanceDeduction { get; set; } + + /// + /// 午餐补助 + /// + public decimal TLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal UWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal VTotalMonthlyPay { get; set; } + + /// + /// 代扣个人养老保险 + /// + public decimal WPensionPersonal { get; set; } + + /// + /// 代扣个人医疗保险 + /// + public decimal XMedicalPersonal { get; set; } + + /// + /// 代扣个人失业保险 + /// + public decimal YNoWorkPersonal { get; set; } + + /// + /// 代扣个人公积金 + /// + public decimal ZProvidentFundPersonal { get; set; } + + /// + /// 代扣个人年金 + /// + public decimal AaAnnuityPersonal { get; set; } + + /// + /// 代扣个人所得税 + /// + public decimal AbTaxPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal AcMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal AdPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal AeTotalSalary { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal AfYearKpi1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal AgYearKpi2 { get; set; } + + /// + /// 目标奖 + /// + public decimal AhTargetBonus { get; set; } + + /// + /// 雇主责任险 + /// + public decimal AiEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal AjSupplementalMedicalInsurance { get; set; } + + /// + /// AK + /// + public decimal Ak { get; set; } + + /// + /// AL + /// + public decimal Al { get; set; } + + /// + /// 时间 + /// + public DateTime? AmRecordMonth { get; set; } + + /// + /// 姓名 + /// + public string AnEmployeeName { get; set; } + + /// + /// 人员编码 + /// + public string AoEmployeeCode { get; set; } + + /// + /// HR系统部门名称 + /// + public string ApDeptNameHR { get; set; } + + /// + /// 费用分类 + /// + public string AqFeeTypeName { get; set; } + + /// + /// 公司名称 + /// + public string ArCompanyName { get; set; } + + /// + /// 部门名称(不分片区) + /// + public string AsDeptName { get; set; } + + /// + /// 部门名称 + /// + public string AtDeptName { get; set; } + + /// + /// 中心名称 + /// + public string AuCenterName { get; set; } + + /// + /// 班组名称 + /// + public string AvTeamName { get; set; } + + /// + /// 人员类别 + /// + public string AwEmployeeType { get; set; } + + /// + /// 用工分类 + /// + public string AxEmployeeType { get; set; } + + /// + /// 性别 + /// + public string AySex { get; set; } + + /// + /// 所在区域 + /// + public string AzArea { get; set; } + + /// + /// 是否党员 + /// + public string BaPartyMember { get; set; } + + /// + /// 岗级 + /// + public string BbSalaryFristLevel { get; set; } + + /// + /// 档次 + /// + public string BcSalarySecondLevel { get; set; } + + /// + /// 绩效所在岗级 + /// + public string BdKpiLevel { get; set; } + + /// + /// 月标准绩效 + /// + public decimal BeNormKpiSalary { get; set; } + + /// + /// 月岗位工资 + /// + public decimal BfPositionSalary { get; set; } + + /// + /// 补发岗位工资 + /// + public decimal BgBackPayPositionSalary { get; set; } + + /// + /// 年功津贴 + /// + public decimal BhYearAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal BiComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal BjPrepayKpiSalary { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal BkBackPayKpiSalary { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal BlSettlementKpiSalary { get; set; } + + /// + /// 加班工资 + /// + public decimal BmOvertimeAllowance { get; set; } + + /// + /// 计算机补贴 + /// + public decimal BnComputerAllowance { get; set; } + + /// + /// 骨干津贴 + /// + public decimal BoKeyStaffAllowance { get; set; } + + /// + /// 证书及考试奖励 + /// + public decimal BpCertificateAllowance { get; set; } + + /// + /// 通讯补助 + /// + public decimal BqPhoneAllowance { get; set; } + + /// + /// 交通补贴 + /// + public decimal BrTransportAllowance { get; set; } + + /// + /// 生活补贴 + /// + public decimal BsLiveAllowance { get; set; } + + /// + /// 租房补助 + /// + public decimal BtHouseAllowance { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal BuMarketDevelopBonus { get; set; } + + /// + /// 绩效扣款(项目) + /// + public decimal BvProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal BwAttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal BxAgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal ByAgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal BzBackPayOther { get; set; } + + /// + /// 其他固定发放 + /// + public decimal CaOtherFixedPay { get; set; } + + /// + /// 计件计量工资 + /// + public decimal CbPieceRatePay { get; set; } + + /// + /// 月预设项目 + /// + public decimal CcMouthPresetProject { get; set; } + + /// + /// 其他工资 + /// + public decimal CdOtherPay { get; set; } + + /// + /// 平衡应发 + /// + public decimal CeAvgPay { get; set; } + + /// + /// 午餐补助 + /// + public decimal CfLunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal CgWomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + public decimal ChTotalMonthlyPay { get; set; } + + /// + /// 年度绩效(一) + /// + public decimal CiYearKpiPay1 { get; set; } + + /// + /// 年度绩效(二) + /// + public decimal CjYearKpiPay2 { get; set; } + + /// + /// 目标奖 + /// + public decimal CkTargetBonus { get; set; } + + /// + /// 预设项目 + /// + public decimal ClPresetProject { get; set; } + + /// + /// 基本养老保险单位缴纳额 + /// + public decimal CmPensionBaseCompany { get; set; } + + /// + /// 基本养老保险个人缴纳额 + /// + public decimal CnPensionBasePersonal { get; set; } + + /// + /// 基本医疗保险单位缴纳额 + /// + public decimal CoMedicalBaseCompany { get; set; } + + /// + /// 基本医疗保险个人缴纳额 + /// + public decimal CpMedicalBasePersonal { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额 + /// + public decimal CqBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额 + /// + public decimal CrNoWorkCompany { get; set; } + + /// + /// 失业保险个人缴纳额 + /// + public decimal CsNoWorkPersonal { get; set; } + + /// + /// 工伤保险单位缴纳额 + /// + public decimal CtWorkInjuryCompany { get; set; } + + /// + /// 住房公积金单位缴纳额 + /// + public decimal CuProvidentFundCompany { get; set; } + + /// + /// 住房公积金个人缴纳额 + /// + public decimal CvProvidentFundPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal CwAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal CxAnnuityPersonal { get; set; } + + /// + /// 省养老保险基数 + /// + public decimal CyProvincePensionBase { get; set; } + + /// + /// 市养老保险基数 + /// + public decimal CzCityPensionBase { get; set; } + + /// + /// 医疗保险基数 + /// + public decimal DaMedicalInsuranceBase { get; set; } + + /// + /// 公积金基数 + /// + public decimal DbHousingFundBase { get; set; } + + /// + /// 年金基数 + /// + public decimal DcAnnuityBase { get; set; } + + /// + /// 上年月平均工资 + /// + public decimal DdLastYearAvgSalary { get; set; } + + /// + /// 全体人员市州失业、工伤保险基数 + /// + public decimal DeCityUnemploymentInjuryBase { get; set; } + + /// + /// 省养老保险单位缴纳额 + /// + public decimal DfPensionProvinceCompany { get; set; } + + /// + /// 省养老保险个人缴纳额 + /// + public decimal DgPensionProvincePersonal { get; set; } + + /// + /// 市养老保险单位缴纳额 + /// + public decimal DhPensionCityCompany { get; set; } + + /// + /// 市养老保险个人缴纳额 + /// + public decimal DiPensionCityPersonal { get; set; } + + /// + /// 企业年金单位计提额 + /// + public decimal DjAnnuityCompany { get; set; } + + /// + /// 企业年金个人缴纳额 + /// + public decimal DkAnnuityPersonal { get; set; } + + /// + /// 公司年金进个入人账户 + /// + public decimal DlAnnuityPersonal { get; set; } + + /// + /// 公司年金进入公共账户 + /// + public decimal DmAnnuityCompany { get; set; } + + /// + /// 补省养老保险单位缴纳额 + /// + public decimal DnBackPayPensionProvinceCompany { get; set; } + + /// + /// 补扣省养老保险个人缴纳额 + /// + public decimal DoBackPayPensionProvincePersonal { get; set; } + + /// + /// 补市养老保险单位缴纳额 + /// + public decimal DpBackPayPensionCityCompany { get; set; } + + /// + /// 补扣市养老保险个人缴纳额 + /// + public decimal DqBackPayPensionCityPersonal { get; set; } + + /// + /// 补市医疗保险单位缴纳额 + /// + public decimal DrBackPayMedicalCityCompany { get; set; } + + /// + /// 补扣医疗保险个人缴纳额 + /// + public decimal DsBackPayMedicalCityPersonal { get; set; } + + /// + /// 补大额医疗费用补助单位缴纳额 + /// + public decimal DtBackPayBigMedicalCompany { get; set; } + + /// + /// 补失业保险单位缴纳额 + /// + public decimal DuBackPayUnemploymentCompany { get; set; } + + /// + /// 补扣失业保险个人缴纳额 + /// + public decimal DvBackPayUnemploymentPersonal { get; set; } + + /// + /// 补工伤单位缴纳额 + /// + public decimal DwBackPayInjuryCompany { get; set; } + + /// + /// 补公积金单位缴纳额 + /// + public decimal DxBackPayHousingFundCompany { get; set; } + + /// + /// 补公积金个人缴纳额 + /// + public decimal DyBackPayHousingFundPersonal { get; set; } + + /// + /// 补企业年金单位缴纳额 + /// + public decimal DzBackPayAnnuityCompany { get; set; } + + /// + /// 补企业年金个人缴纳额 + /// + public decimal EaBackPayAnnuityPersonal { get; set; } + + /// + /// 月应扣小计 + /// + public decimal EbMouthDeductTotal { get; set; } + + /// + /// 实发金额 + /// + public decimal EcPayAmount { get; set; } + + /// + /// 工资总额 + /// + public decimal EdTotalSalary { get; set; } + + /// + /// 雇主责任险 + /// + public decimal EeEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险 + /// + public decimal EfSupplementalMedicalInsurance { get; set; } + + /// + /// 工会经费 + /// + public decimal EgUnionFee { get; set; } + + /// + /// 教育经费 + /// + public decimal EhEducationFee { get; set; } + + /// + /// 残疾人保障金分摊 + /// + public decimal EiDisabilityGuaranteeFund { get; set; } + + /// + /// 辞退补偿金 + /// + public decimal EjSeveranceCompensation { get; set; } + + /// + /// 其他 + /// + public decimal EkOtherFee { get; set; } + + /// + /// 劳务派遣工会会费营业税金 + /// + public decimal ElLabourDispatchUnionFeeTax { get; set; } + + /// + /// 工资总额 + /// + public decimal EmTotalSalary { get; set; } + + /// + /// 市场拓展奖励 + /// + public decimal EnMarketDevelopBonus { get; set; } + + /// + /// 福利费 + /// + public decimal EoWelfareFee { get; set; } + + /// + /// 外包应发小计 + /// + public decimal EpOutsourcedPayables { get; set; } + + /// + /// 五险一金、商业保险的单位缴费 + /// + public decimal EqPensionCompany { get; set; } + + /// + /// 中秋国庆福利报销费 + /// + public decimal ErHolidayGift { get; set; } + + /// + /// 扣平项目(加班餐费) + /// + public decimal EsDeductionMealFee { get; set; } + + /// + /// 业务外包人员费用 + /// + public decimal EtOutsourcedFee { get; set; } + + /// + /// 管理费 + /// + public decimal EuManagementFee { get; set; } + + /// + /// 业务外包税费 + /// + public decimal EvOutsourcedTaxFee { get; set; } + + /// + /// 个人所得税 + /// + public decimal EwTaxPersonal { get; set; } + + /// + /// 税前应扣 + /// + public decimal ExPreTax { get; set; } + + /// + /// 公积金应纳税金额 + /// + public decimal EyHousingFundTaxable { get; set; } + + /// + /// 平衡个税缴费基数 + /// + public decimal EzBalancedPersonalTaxBase { get; set; } + + /// + /// 工资总额汇总 + /// + public decimal FaTotalSalary { get; set; } + + /// + /// 岗位工资汇总 + /// + public decimal FbTotalPositionSalary { get; set; } + + /// + /// 年功津贴汇总 + /// + public decimal FcTotalYearAllowance { get; set; } + + /// + /// 综合补贴汇总 + /// + public decimal FdTotalCompAllowance { get; set; } + + /// + /// 绩效工资汇总 + /// + public decimal FeTotalKpiSalary { get; set; } + + /// + /// 加班工资汇总 + /// + public decimal FfTotalOvertimeAllowance { get; set; } + + /// + /// 其他工资(总额倒扣) + /// + public decimal FgTotalOther { get; set; } + + /// + /// 午餐补助(人力口)汇总 + /// + public decimal FhTotalLunchAllowance { get; set; } + + /// + /// 女员工卫生费汇总 + /// + public decimal FiTotalWomenAllowance { get; set; } + + /// + /// 基本养老保险单位缴纳额汇总 + /// + public decimal FjTotalPensionBaseCompany { get; set; } + + /// + /// 基本医疗保险(含生育)单位缴纳额汇总 + /// + public decimal FkTotalMedicalBaseCompany { get; set; } + + /// + /// 大额医疗费用补助单位缴纳额汇总 + /// + public decimal FlTotalBigMedicalBaseCompany { get; set; } + + /// + /// 失业保险单位缴纳额汇总 + /// + public decimal FmTotalNoWorkCompany { get; set; } + + /// + /// 工伤单位缴纳额汇总 + /// + public decimal FnTotalInjuryCompany { get; set; } + + /// + /// 公积金单位缴纳额汇总 + /// + public decimal FoTotalProvidentFundCompany { get; set; } + + /// + /// 企业年金单位缴费汇总 + /// + public decimal FpTotalAnnuityCompany { get; set; } + + /// + /// 雇主责任险汇总 + /// + public decimal FqTotalEmployerLiabilityInsurance { get; set; } + + /// + /// 补充医疗保险汇总 + /// + public decimal FrTotalSupplementalMedicalInsurance { get; set; } + + /// + /// 计提工会经费汇总 + /// + public decimal FsTotalUnionFee { get; set; } + + /// + /// 计提职工教育经费汇总 + /// + public decimal FtTotalEducationFee { get; set; } + + /// + /// 劳务租赁费汇总 + /// + public decimal FuTotalLaborLeasingFee { get; set; } + + /// + /// 残疾人就业保障金汇总 + /// + public decimal FvTotalDisabilityGuaranteeFund { get; set; } + + /// + /// 外包人员管理费用汇总 + /// + public decimal FwTotalOutsourcedFee { get; set; } + + /// + /// 外包人员税金汇总 + /// + public decimal FxTotalOutsourcedTaxFee { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Service/Report/IReportService/IPmsHousingFundAllService.cs b/ZR.Service/Report/IReportService/IPmsHousingFundAllService.cs new file mode 100644 index 00000000..b07d1bcb --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsHousingFundAllService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G公积service接口 + /// + public interface IPmsHousingFundAllService : IBaseService + { + PagedInfo GetList(PmsHousingFundAllQueryDto parm); + + PmsHousingFundAll GetInfo(int Id); + + + PmsHousingFundAll AddPmsHousingFundAll(PmsHousingFundAll parm); + + + PagedInfo ExportList(PmsHousingFundAllQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsHousingFundBackPayService.cs b/ZR.Service/Report/IReportService/IPmsHousingFundBackPayService.cs new file mode 100644 index 00000000..2e9b458c --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsHousingFundBackPayService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G公积-补service接口 + /// + public interface IPmsHousingFundBackPayService : IBaseService + { + PagedInfo GetList(PmsHousingFundBackPayQueryDto parm); + + PmsHousingFundBackPay GetInfo(int Id); + + + PmsHousingFundBackPay AddPmsHousingFundBackPay(PmsHousingFundBackPay parm); + + + PagedInfo ExportList(PmsHousingFundBackPayQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsProvincePensionAllService.cs b/ZR.Service/Report/IReportService/IPmsProvincePensionAllService.cs new file mode 100644 index 00000000..0d9d93ab --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsProvincePensionAllService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G省养-总service接口 + /// + public interface IPmsProvincePensionAllService : IBaseService + { + PagedInfo GetList(PmsProvincePensionAllQueryDto parm); + + PmsProvincePensionAll GetInfo(int Id); + + + PmsProvincePensionAll AddPmsProvincePensionAll(PmsProvincePensionAll parm); + + + PagedInfo ExportList(PmsProvincePensionAllQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsProvincePensionBackPayService.cs b/ZR.Service/Report/IReportService/IPmsProvincePensionBackPayService.cs new file mode 100644 index 00000000..4e976ca3 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsProvincePensionBackPayService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G省养-补service接口 + /// + public interface IPmsProvincePensionBackPayService : IBaseService + { + PagedInfo GetList(PmsProvincePensionBackPayQueryDto parm); + + PmsProvincePensionBackPay GetInfo(int Id); + + + PmsProvincePensionBackPay AddPmsProvincePensionBackPay(PmsProvincePensionBackPay parm); + + + PagedInfo ExportList(PmsProvincePensionBackPayQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsSocialInsuranceCityService.cs b/ZR.Service/Report/IReportService/IPmsSocialInsuranceCityService.cs new file mode 100644 index 00000000..9d0451f1 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsSocialInsuranceCityService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G市社service接口 + /// + public interface IPmsSocialInsuranceCityService : IBaseService + { + PagedInfo GetList(PmsSocialInsuranceCityQueryDto parm); + + PmsSocialInsuranceCity GetInfo(int Id); + + + PmsSocialInsuranceCity AddPmsSocialInsuranceCity(PmsSocialInsuranceCity parm); + + + PagedInfo ExportList(PmsSocialInsuranceCityQueryDto parm); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsSocialInsuranceCompanyService.cs b/ZR.Service/Report/IReportService/IPmsSocialInsuranceCompanyService.cs new file mode 100644 index 00000000..d69ba826 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsSocialInsuranceCompanyService.cs @@ -0,0 +1,21 @@ +using ZR.Model.Report.Dto; +using ZR.Model.Report; + +namespace ZR.Service.Report.IReportService +{ + /// + /// G五险两金-单位service接口 + /// + public interface IPmsSocialInsuranceCompanyService : IBaseService + { + PagedInfo GetList(PmsSocialInsuranceCompanyQueryDto parm); + + PmsSocialInsuranceCompany GetInfo(int Id); + + + PmsSocialInsuranceCompany AddPmsSocialInsuranceCompany(PmsSocialInsuranceCompany parm); + + + PagedInfo ExportList(PmsSocialInsuranceCompanyQueryDto parm); + } +} diff --git a/ZR.Service/Report/PmsHousingFundAllService.cs b/ZR.Service/Report/PmsHousingFundAllService.cs new file mode 100644 index 00000000..7ac9412b --- /dev/null +++ b/ZR.Service/Report/PmsHousingFundAllService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G公积Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsHousingFundAllService), ServiceLifetime = LifeTime.Transient)] + public class PmsHousingFundAllService : BaseService, IPmsHousingFundAllService + { + /// + /// 查询G公积列表 + /// + /// + /// + public PagedInfo GetList(PmsHousingFundAllQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsHousingFundAll GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G公积 + /// + /// + /// + public PmsHousingFundAll AddPmsHousingFundAll(PmsHousingFundAll model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G公积 + /// + /// + /// + public PagedInfo ExportList(PmsHousingFundAllQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsHousingFundAllDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsHousingFundAllQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsHousingFundBackPayService.cs b/ZR.Service/Report/PmsHousingFundBackPayService.cs new file mode 100644 index 00000000..e9490882 --- /dev/null +++ b/ZR.Service/Report/PmsHousingFundBackPayService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G公积-补Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsHousingFundBackPayService), ServiceLifetime = LifeTime.Transient)] + public class PmsHousingFundBackPayService : BaseService, IPmsHousingFundBackPayService + { + /// + /// 查询G公积-补列表 + /// + /// + /// + public PagedInfo GetList(PmsHousingFundBackPayQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsHousingFundBackPay GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G公积-补 + /// + /// + /// + public PmsHousingFundBackPay AddPmsHousingFundBackPay(PmsHousingFundBackPay model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G公积-补 + /// + /// + /// + public PagedInfo ExportList(PmsHousingFundBackPayQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsHousingFundBackPayDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsHousingFundBackPayQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsProvincePensionAllService.cs b/ZR.Service/Report/PmsProvincePensionAllService.cs new file mode 100644 index 00000000..10bd1ccd --- /dev/null +++ b/ZR.Service/Report/PmsProvincePensionAllService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G省养-总Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsProvincePensionAllService), ServiceLifetime = LifeTime.Transient)] + public class PmsProvincePensionAllService : BaseService, IPmsProvincePensionAllService + { + /// + /// 查询G省养-总列表 + /// + /// + /// + public PagedInfo GetList(PmsProvincePensionAllQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsProvincePensionAll GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G省养-总 + /// + /// + /// + public PmsProvincePensionAll AddPmsProvincePensionAll(PmsProvincePensionAll model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G省养-总 + /// + /// + /// + public PagedInfo ExportList(PmsProvincePensionAllQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsProvincePensionAllDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsProvincePensionAllQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsProvincePensionBackPayService.cs b/ZR.Service/Report/PmsProvincePensionBackPayService.cs new file mode 100644 index 00000000..92c052fa --- /dev/null +++ b/ZR.Service/Report/PmsProvincePensionBackPayService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G省养-补Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsProvincePensionBackPayService), ServiceLifetime = LifeTime.Transient)] + public class PmsProvincePensionBackPayService : BaseService, IPmsProvincePensionBackPayService + { + /// + /// 查询G省养-补列表 + /// + /// + /// + public PagedInfo GetList(PmsProvincePensionBackPayQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsProvincePensionBackPay GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G省养-补 + /// + /// + /// + public PmsProvincePensionBackPay AddPmsProvincePensionBackPay(PmsProvincePensionBackPay model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G省养-补 + /// + /// + /// + public PagedInfo ExportList(PmsProvincePensionBackPayQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsProvincePensionBackPayDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsProvincePensionBackPayQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsSocialInsuranceCityService.cs b/ZR.Service/Report/PmsSocialInsuranceCityService.cs new file mode 100644 index 00000000..928e2573 --- /dev/null +++ b/ZR.Service/Report/PmsSocialInsuranceCityService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G市社Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsSocialInsuranceCityService), ServiceLifetime = LifeTime.Transient)] + public class PmsSocialInsuranceCityService : BaseService, IPmsSocialInsuranceCityService + { + /// + /// 查询G市社列表 + /// + /// + /// + public PagedInfo GetList(PmsSocialInsuranceCityQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsSocialInsuranceCity GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G市社 + /// + /// + /// + public PmsSocialInsuranceCity AddPmsSocialInsuranceCity(PmsSocialInsuranceCity model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G市社 + /// + /// + /// + public PagedInfo ExportList(PmsSocialInsuranceCityQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsSocialInsuranceCityDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsSocialInsuranceCityQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Report/PmsSocialInsuranceCompanyService.cs b/ZR.Service/Report/PmsSocialInsuranceCompanyService.cs new file mode 100644 index 00000000..a7a42c2c --- /dev/null +++ b/ZR.Service/Report/PmsSocialInsuranceCompanyService.cs @@ -0,0 +1,97 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Repository; +using ZR.Service.Report.IReportService; + +namespace ZR.Service.Report +{ + /// + /// G五险两金-单位Service业务层处理 + /// + [AppService(ServiceType = typeof(IPmsSocialInsuranceCompanyService), ServiceLifetime = LifeTime.Transient)] + public class PmsSocialInsuranceCompanyService : BaseService, IPmsSocialInsuranceCompanyService + { + /// + /// 查询G五险两金-单位列表 + /// + /// + /// + public PagedInfo GetList(PmsSocialInsuranceCompanyQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("ASortNo asc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsSocialInsuranceCompany GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加G五险两金-单位 + /// + /// + /// + public PmsSocialInsuranceCompany AddPmsSocialInsuranceCompany(PmsSocialInsuranceCompany model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 导出G五险两金-单位 + /// + /// + /// + public PagedInfo ExportList(PmsSocialInsuranceCompanyQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsSocialInsuranceCompanyDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsSocialInsuranceCompanyQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginAmRecordMonth == null, it => it.AmRecordMonth >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginAmRecordMonth != null, it => it.AmRecordMonth >= parm.BeginAmRecordMonth); + predicate = predicate.AndIF(parm.EndAmRecordMonth != null, it => it.AmRecordMonth <= parm.EndAmRecordMonth); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AnEmployeeName), it => it.AnEmployeeName == parm.AnEmployeeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AqFeeTypeName), it => it.AqFeeTypeName == parm.AqFeeTypeName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AtDeptName), it => it.AtDeptName == parm.AtDeptName); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AwEmployeeType), it => it.AwEmployeeType == parm.AwEmployeeType); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AxEmployeeType), it => it.AxEmployeeType == parm.AxEmployeeType); + return predicate; + } + } +} \ No newline at end of file -- Gitee From 09cc6e9b6bbda33ec49a719ec01d867a2f647fa6 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Fri, 17 Oct 2025 00:48:52 +0800 Subject: [PATCH 22/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E5=9B=9E=E6=94=B6?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=92=8C=E7=9F=A5=E8=AF=86=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83=EF=BC=88?= =?UTF-8?q?1=E3=80=81=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E6=8C=89=E7=B3=BB=E7=BB=9F=E7=BB=B4=E5=BA=A6=E8=81=9A?= =?UTF-8?q?=E5=90=88=EF=BC=8C=E4=BB=A5=E7=B3=BB=E7=BB=9F=E4=B8=BA=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E8=BF=9B=E8=A1=8C=E6=96=87=E4=BB=B6=E5=BD=92=E7=B1=BB?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/ZskDataProcessor.cs | 2 +- ...ntroller.cs => KnowledgeBaseController.cs} | 44 +- .../Controllers/Photo/PhotoController.cs | 44 +- .../Recycle/RecycleDetailController.cs | 296 +++++ .../RecycleSamplingDetailController.cs | 604 +++++++++ .../RecycleTaskDetailImageController.cs | 173 +++ .../Recycle/RecycleTaskHeadController.cs | 1159 +++++++++++++++++ ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 19 + ...wdataDto.cs => KnowledgeBaseRawdataDto.cs} | 6 +- ...=> KnowledgeBaseRawdataLeftRequiredDto.cs} | 2 +- ...iredDto.cs => KnowledgeBaseRequiredDto.cs} | 4 +- ...skQdRawdata.cs => KnowledgeBaseRawdata.cs} | 4 +- ...gsRequired.cs => KnowledgeBaseRequired.cs} | 4 +- ZR.Model/Recycle/Dto/MaterialImportDto.cs | 53 + ZR.Model/Recycle/Dto/RecycleDetailDto.cs | 430 ++++++ .../Recycle/Dto/RecycleSamplingDetailDto.cs | 299 +++++ ZR.Model/Recycle/Dto/RecycleTaskDetailDto.cs | 131 ++ .../Recycle/Dto/RecycleTaskDetailImageDto.cs | 82 ++ ZR.Model/Recycle/Dto/RecycleTaskHeadDto.cs | 440 +++++++ ZR.Model/Recycle/RecycleDetail.cs | 145 +++ ZR.Model/Recycle/RecycleSamplingDetail.cs | 140 ++ ZR.Model/Recycle/RecycleTaskDetail.cs | 135 ++ ZR.Model/Recycle/RecycleTaskDetailImage.cs | 80 ++ ZR.Model/Recycle/RecycleTaskHead.cs | 207 +++ ZR.Model/ZR.Model.csproj | 19 + .../FjhsDetail/FjhsRecycleDetailService.cs | 43 +- .../IFjhsRecycleDetailService.cs | 18 +- .../FjhsRecycleTaskDetailImageService.cs | 31 +- .../IFjhsRecycleTaskDetailImageService.cs | 20 +- .../FjhsRecycleTaskDetailService.cs | 32 +- .../FjhsRecycle/FjhsRecycleTaskHeadService.cs | 54 +- .../IFjhsRecycleTaskDetailService.cs | 18 +- .../IFjhsRecycleTaskHeadService.cs | 22 +- .../FjhsRecycleSamplingDetailService.cs | 56 +- .../IFjhsRecycleSamplingDetailService.cs | 22 +- ...ice.cs => IKnowledgeBaseRawdataService.cs} | 14 +- ...ce.cs => IKnowledgeBaseRequiredService.cs} | 14 +- ...vice.cs => KnowledgeBaseRawdataService.cs} | 48 +- ...ice.cs => KnowledgeBaseRequiredService.cs} | 32 +- .../IRecycleService/IRecycleDetailService.cs | 26 + .../IRecycleSamplingDetailService.cs | 28 + .../IRecycleTaskDetailImageService.cs | 26 + .../IRecycleTaskDetailService.cs | 28 + .../IRecycleTaskHeadService.cs | 42 + ZR.Service/Recycle/RecycleDetailService.cs | 538 ++++++++ .../Recycle/RecycleSamplingDetailService.cs | 672 ++++++++++ .../Recycle/RecycleTaskDetailImageService.cs | 169 +++ .../Recycle/RecycleTaskDetailService.cs | 285 ++++ ZR.Service/Recycle/RecycleTaskHeadService.cs | 1049 +++++++++++++++ ZR.Service/ZR.Service.csproj | 17 + 50 files changed, 7560 insertions(+), 266 deletions(-) rename ZR.Admin.WebApi/Controllers/Knowledge/{ZskQdRawdataController.cs => KnowledgeBaseController.cs} (87%) create mode 100644 ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Recycle/RecycleSamplingDetailController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskDetailImageController.cs create mode 100644 ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskHeadController.cs rename ZR.Model/Knowledge/Dto/{ZskQdRawdataDto.cs => KnowledgeBaseRawdataDto.cs} (96%) rename ZR.Model/Knowledge/Dto/{ZskQdRawdataLeftSgsRequiredDto.cs => KnowledgeBaseRawdataLeftRequiredDto.cs} (98%) rename ZR.Model/Knowledge/Dto/{ZskSgsRequiredDto.cs => KnowledgeBaseRequiredDto.cs} (95%) rename ZR.Model/Knowledge/{ZskQdRawdata.cs => KnowledgeBaseRawdata.cs} (95%) rename ZR.Model/Knowledge/{ZskSgsRequired.cs => KnowledgeBaseRequired.cs} (94%) create mode 100644 ZR.Model/Recycle/Dto/MaterialImportDto.cs create mode 100644 ZR.Model/Recycle/Dto/RecycleDetailDto.cs create mode 100644 ZR.Model/Recycle/Dto/RecycleSamplingDetailDto.cs create mode 100644 ZR.Model/Recycle/Dto/RecycleTaskDetailDto.cs create mode 100644 ZR.Model/Recycle/Dto/RecycleTaskDetailImageDto.cs create mode 100644 ZR.Model/Recycle/Dto/RecycleTaskHeadDto.cs create mode 100644 ZR.Model/Recycle/RecycleDetail.cs create mode 100644 ZR.Model/Recycle/RecycleSamplingDetail.cs create mode 100644 ZR.Model/Recycle/RecycleTaskDetail.cs create mode 100644 ZR.Model/Recycle/RecycleTaskDetailImage.cs create mode 100644 ZR.Model/Recycle/RecycleTaskHead.cs rename ZR.Service/Knowledge/IKnowledgeService/{IZskQdRawdataService.cs => IKnowledgeBaseRawdataService.cs} (49%) rename ZR.Service/Knowledge/IKnowledgeService/{IZskSgsRequiredService.cs => IKnowledgeBaseRequiredService.cs} (32%) rename ZR.Service/Knowledge/{ZskQdRawdataService.cs => KnowledgeBaseRawdataService.cs} (93%) rename ZR.Service/Knowledge/{ZskSgsRequiredService.cs => KnowledgeBaseRequiredService.cs} (76%) create mode 100644 ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs create mode 100644 ZR.Service/Recycle/IRecycleService/IRecycleSamplingDetailService.cs create mode 100644 ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailImageService.cs create mode 100644 ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailService.cs create mode 100644 ZR.Service/Recycle/IRecycleService/IRecycleTaskHeadService.cs create mode 100644 ZR.Service/Recycle/RecycleDetailService.cs create mode 100644 ZR.Service/Recycle/RecycleSamplingDetailService.cs create mode 100644 ZR.Service/Recycle/RecycleTaskDetailImageService.cs create mode 100644 ZR.Service/Recycle/RecycleTaskDetailService.cs create mode 100644 ZR.Service/Recycle/RecycleTaskHeadService.cs diff --git a/Infrastructure/ZskDataProcessor.cs b/Infrastructure/ZskDataProcessor.cs index 357c1f27..96adb7e3 100644 --- a/Infrastructure/ZskDataProcessor.cs +++ b/Infrastructure/ZskDataProcessor.cs @@ -16,7 +16,7 @@ namespace ZR.Infrastructure /// /// 原始数据列表 /// 处理后的列表 - public static List ProcessColumnA(List dataList) + public static List ProcessColumnA(List dataList) { if (dataList == null || dataList.Count == 0) return dataList; diff --git a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/KnowledgeBaseController.cs similarity index 87% rename from ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs rename to ZR.Admin.WebApi/Controllers/Knowledge/KnowledgeBaseController.cs index 0aa5cb85..ae37d4bb 100644 --- a/ZR.Admin.WebApi/Controllers/Knowledge/ZskQdRawdataController.cs +++ b/ZR.Admin.WebApi/Controllers/Knowledge/KnowledgeBaseController.cs @@ -15,16 +15,16 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge /// 订单知识库 /// [Verify] - [Route("knowledge/ZskQdRawdata")] - public class ZskQdRawdataController : BaseController + [Route("knowledge/KnowledgeBase")] + public class KnowledgeBaseController : BaseController { /// /// 订单知识库接口 /// - private readonly IZskQdRawdataService _ZskQdRawdataService; - private readonly IZskSgsRequiredService _ZskSgsRequiredService; + private readonly IKnowledgeBaseRawdataService _ZskQdRawdataService; + private readonly IKnowledgeBaseRequiredService _ZskSgsRequiredService; - public ZskQdRawdataController(IZskQdRawdataService ZskQdRawdataService, IZskSgsRequiredService ZskSgsRequiredService) + public KnowledgeBaseController(IKnowledgeBaseRawdataService ZskQdRawdataService, IKnowledgeBaseRequiredService ZskSgsRequiredService) { _ZskQdRawdataService = ZskQdRawdataService; _ZskSgsRequiredService = ZskSgsRequiredService; @@ -61,7 +61,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge { var response = _ZskQdRawdataService.GetInfo(Id); - var info = response.Adapt(); + var info = response.Adapt(); return SUCCESS(info); } @@ -72,9 +72,9 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge [HttpPost] [ActionPermissionFilter(Permission = "zskqdrawdata:add")] [Log(Title = "订单知识库", BusinessType = BusinessType.INSERT)] - public IActionResult AddZskQdRawdata([FromBody] ZskQdRawdataDto parm) + public IActionResult AddZskQdRawdata([FromBody] KnowledgeBaseRawdataDto parm) { - var modal = parm.Adapt().ToCreate(HttpContext); + var modal = parm.Adapt().ToCreate(HttpContext); var response = _ZskQdRawdataService.AddZskQdRawdata(modal); @@ -88,9 +88,9 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge [HttpPut] [ActionPermissionFilter(Permission = "zskqdrawdata:edit")] [Log(Title = "订单知识库", BusinessType = BusinessType.UPDATE)] - public IActionResult UpdateZskQdRawdata([FromBody] ZskQdRawdataDto parm) + public IActionResult UpdateZskQdRawdata([FromBody] KnowledgeBaseRawdataDto parm) { - var modal = parm.Adapt().ToUpdate(HttpContext); + var modal = parm.Adapt().ToUpdate(HttpContext); var response = _ZskQdRawdataService.UpdateZskQdRawdata(modal); return ToResponse(response); @@ -130,7 +130,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge // return ExportExcel(result.Item2, result.Item1); //} - public IActionResult Export([FromQuery] ZskQdRawdataQueryDto parm) + public IActionResult Export([FromQuery] KnowledgeBaseRawdataQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; @@ -219,8 +219,8 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge string fileName = ""; - List list = new(); - List listGCWT = new(); + List list = new(); + List listGCWT = new(); using (var stream = formFile.OpenReadStream()) { @@ -241,7 +241,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge if (fileName.Contains("工程问题呆滞")) { - listGCWT = stream.Query(startCell: "A1").ToList(); + listGCWT = stream.Query(startCell: "A1").ToList(); foreach (var dto in listGCWT) { @@ -249,18 +249,18 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge } - return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(listGCWT.Adapt>(), fileName)); + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(listGCWT.Adapt>(), fileName)); } else { - list = stream.Query(startCell: "A1").ToList(); + list = stream.Query(startCell: "A1").ToList(); foreach (var dto in list) { dto.DataSource = fileName; // 将文件名存入 DTO 的 DataSource } - return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); + return SUCCESS(_ZskQdRawdataService.ImportZskQdRawdata(list.Adapt>(), fileName)); } @@ -299,7 +299,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge //var result = DownloadImportTemplate(new List() { }, "ZskQdRawdata"); //return ExportExcel(result.Item2, result.Item1); - var result = DownloadImportTemplate(new List(), "ZskQdRawdata"); + var result = DownloadImportTemplate(new List(), "ZskQdRawdata"); return ExportExcel(result.Item2, result.Item1); } @@ -327,10 +327,10 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge { string fileName = ""; - List list = new(); + List list = new(); using (var stream = formFile.OpenReadStream()) { - list = stream.Query(startCell: "A2").ToList(); + list = stream.Query(startCell: "A2").ToList(); // 关键步骤:给每个 DTO 赋值文件名 @@ -350,7 +350,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge //list = list.Where(x => x.MaterialCode != null).ToList(); - return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); + return SUCCESS(_ZskSgsRequiredService.ImportZskSgsRequired(list.Adapt>())); } catch (Exception ex) { @@ -371,7 +371,7 @@ namespace ZR.Admin.WebApi.Controllers.Knowledge [AllowAnonymous] public IActionResult ImportXqTemplateExcel() { - var result = DownloadImportTemplate(new List() { }, "ZskSgsRequired"); + var result = DownloadImportTemplate(new List() { }, "ZskSgsRequired"); return ExportExcel(result.Item2, result.Item1); } diff --git a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs index c4a7bd44..27202fc8 100644 --- a/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs +++ b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs @@ -1,17 +1,17 @@ using Microsoft.AspNetCore.Mvc; -using ZR.Model.FjhsDetail.Dto; -using ZR.Model.FjhsDetail; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using System.IO; -using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; -using ZR.Service.FjhsRecycle.IFjhsRecycleService; -using ZR.Service.FjhsImage.IFjhsImageService; -using ZR.Model.FjhsImage; -using ZR.Model.FjhsRecycleSampling; -using ZR.Service.FjhsRecycleSampling; -using ZR.Service.FjhsImage; -using ZR.Service.FjhsDetail.IFjhsDetailService; -using ZR.Service.FjhsDetail; -using ZR.Model.FjhsRecycle.Dto; +using ZR.Service.Recycle.IRecycleService; +//using ZR.Service.FjhsRecycle.IFjhsRecycleService; +//using ZR.Service.FjhsImage.IFjhsImageService; +////using ZR.Model.FjhsImage; +////using ZR.Model.FjhsRecycleSampling; +//using ZR.Service.FjhsRecycleSampling; +//using ZR.Service.FjhsImage; +//using ZR.Service.FjhsDetail.IFjhsDetailService; +//using ZR.Service.FjhsDetail; +//using ZR.Model.FjhsRecycle.Dto; namespace ZR.Admin.WebApi.Controllers.Photo1 @@ -22,8 +22,8 @@ namespace ZR.Admin.WebApi.Controllers.Photo1 public class PhotoController : BaseController { - private readonly IFjhsRecycleTaskDetailImageService _FjhsRecycleTaskDetailImageService; - private readonly IFjhsRecycleDetailService _FjhsRecycleDetailService; + private readonly IRecycleTaskDetailImageService _RecycleTaskDetailImageService; + private readonly IRecycleDetailService _RecycleDetailService; // 照片存储路径相对位置 //private readonly string _storagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Uploads/Photos"); @@ -33,10 +33,10 @@ namespace ZR.Admin.WebApi.Controllers.Photo1 private readonly string _storagePath = Path.Combine("D:", "Uploads", "Photos"); - public PhotoController(IFjhsRecycleTaskDetailImageService FjhsRecycleTaskDetailImageService, IFjhsRecycleDetailService FjhsRecycleDetailService) + public PhotoController(IRecycleTaskDetailImageService RecycleTaskDetailImageService, IRecycleDetailService RecycleDetailService) { - _FjhsRecycleTaskDetailImageService = FjhsRecycleTaskDetailImageService; - _FjhsRecycleDetailService = FjhsRecycleDetailService; + _RecycleTaskDetailImageService = RecycleTaskDetailImageService; + _RecycleDetailService = RecycleDetailService; // 确保存储目录存在 if (!Directory.Exists(_storagePath)) @@ -108,7 +108,7 @@ namespace ZR.Admin.WebApi.Controllers.Photo1 // 构造数据库实体对象 - var imageEntity = new FjhsRecycleTaskDetailImage + var imageEntity = new RecycleTaskDetailImage { DocNumber = docNumber, SampleImageUrl = relativePath, @@ -120,16 +120,16 @@ namespace ZR.Admin.WebApi.Controllers.Photo1 // 调用服务层方法将实体添加到数据库 - var modal = imageEntity.Adapt().ToCreate(HttpContext); + var modal = imageEntity.Adapt().ToCreate(HttpContext); - var resulte = _FjhsRecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); + var resulte = _RecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); // 记录成功信息(存储相对路径,便于前端访问) result.SuccessCount++; result.PhotoPaths.Add($"Uploads/Photos/{fileName}"); - _FjhsRecycleTaskDetailImageService.Adapt(photo); + _RecycleTaskDetailImageService.Adapt(photo); } catch (Exception ex) { result.Errors.Add($"文件 {photo.FileName} 上传失败: {ex.Message}"); } @@ -295,7 +295,7 @@ namespace ZR.Admin.WebApi.Controllers.Photo1 try { // 2. 获取该单据对应的所有图片记录 - var imageRecords = _FjhsRecycleTaskDetailImageService.GetListAll(docNumber).ToArray(); + var imageRecords = _RecycleTaskDetailImageService.GetListAll(docNumber).ToArray(); return Ok(imageRecords); } diff --git a/ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs b/ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs new file mode 100644 index 00000000..2ecb08d1 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs @@ -0,0 +1,296 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Service.Recycle.IRecycleService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +//using ZR.Model.Recycle; +//using ZR.Model.FjhsRecycleSampling.Dto; +//using ZR.Model.FjhsRecycleSampling; +//using ZR.Service.FjhsRecycle.IFjhsRecycleService; + +//创建时间:2025-09-10 +namespace ZR.Admin.WebApi.Controllers.Recycle +{ + /// + /// 回收明细表 + /// + [Verify] + [Route("Recycle/RecycleDetail")] + public class RecycleDetailController : BaseController + { + /// + /// 回收明细表接口 + /// + private readonly IRecycleDetailService _RecycleDetailService; + private readonly IRecycleTaskHeadService _RecycleTaskHeadService; + + public RecycleDetailController(IRecycleDetailService RecycleDetailService, IRecycleTaskHeadService RecycleTaskHeadService) + { + _RecycleDetailService = RecycleDetailService; + _RecycleTaskHeadService = RecycleTaskHeadService; + } + + + + /// + /// 更新回收任务 + /// + /// + //[HttpPut] + [HttpPost("updateFjhsRecycleSamplingDetail")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecycledetail:edit")] + [Log(Title = "回收任务", BusinessType = BusinessType.UPDATE)] + public IActionResult updateFjhsRecycleSamplingDetail([FromBody] RecycleDetailDto parm) + { + + + //var modal = parm.materialDetails.Adapt().ToUpdate(HttpContext); + //var response = _FjhsRecycleSamplingDetailService.UpdateFjhsRecycleSamplingDetail(modal); + + //return ToResponse(response); + + + // 基础参数验证 + if (parm == null) + { + return BadRequest("参数不能为空"); + } + + if (parm.materialDetails == null || !parm.materialDetails.Any()) + { + return BadRequest("没有需要更新的材料详情数据"); + } + + + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + + + try + { + + // 转换为实体并设置更新信息 + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + + foreach (var item in parm.materialDetails) + { + // 单个项目验证 + if (item == null /*|| item.Id <= 0*/) // 假设Id是必须的标识字段 + { + return BadRequest("存在无效的材料详情记录"); + } + + + + + + + // 转换为实体并设置更新信息 + var modal = item.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + var updateSuccess = _RecycleDetailService + .UpdateFjhsRecycleDetail(modal); + + // 处理单个更新失败的情况 + if (updateSuccess <= 0) + { + return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + } + } + + + + // 所有更新成功 + return Ok($"成功更新 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + // 直接返回异常信息(生产环境建议只返回通用信息) + return StatusCode(500, $"系统异常:{ex.Message}"); + } + + } + + + + + /// + /// 查询回收明细表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:list")] + public IActionResult QueryFjhsRecycleDetail([FromQuery] RecycleDetailQueryDto parm) + { + var response = _RecycleDetailService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收明细表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:query")] + public IActionResult GetFjhsRecycleDetail(int Id) + { + + + + try + { + var response = _RecycleDetailService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } + } + + /// + /// 添加回收明细表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:add")] + [Log(Title = "回收明细表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleDetail([FromBody] RecycleDetailDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _RecycleDetailService.AddFjhsRecycleDetail(modal); + + return SUCCESS(response); + } + + /// + /// 更新回收明细表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:edit")] + [Log(Title = "回收明细表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleDetail([FromBody] RecycleDetailDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _RecycleDetailService.UpdateFjhsRecycleDetail(modal); + + return ToResponse(response); + } + + /// + /// 删除回收明细表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:delete")] + [Log(Title = "回收明细表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleDetail([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_RecycleDetailService.Delete(idArr)); + } + + /// + /// 导出回收明细表 + /// + /// + [Log(Title = "回收明细表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:export")] + public IActionResult Export([FromQuery] RecycleDetailQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _RecycleDetailService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收明细表", "回收明细表"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空回收明细表 + /// + /// + [Log(Title = "回收明细表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_RecycleDetailService.TruncateFjhsRecycleDetail()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "回收明细表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycledetail:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_RecycleDetailService.ImportFjhsRecycleDetail(list.Adapt>())); + } + + /// + /// 回收明细表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收明细表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleDetail"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Recycle/RecycleSamplingDetailController.cs b/ZR.Admin.WebApi/Controllers/Recycle/RecycleSamplingDetailController.cs new file mode 100644 index 00000000..9b4ba9a8 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Recycle/RecycleSamplingDetailController.cs @@ -0,0 +1,604 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Service.Recycle.IRecycleService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +//using ZR.Model.FjhsRecycle.Dto; +//using ZR.Service.FjhsRecycle.IFjhsRecycleService; +//using ZR.Service.FjhsRecycle; +////using ZR.Model.FjhsRecycle; +//using ZR.Service.FjhsDetail.IFjhsDetailService; +//using ZR.Service.FjhsDetail; +//using ZR.Model.FjhsDetail; +//using ZR.Model.FjhsDetail.Dto; +//using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +using SqlSugar; +using MiniExcelLibs.Attributes; +//using ZR.Service.FjhsRecycleSampling; + +//创建时间:2025-08-31 +namespace ZR.Admin.WebApi.Controllers.Recycle +{ + /// + /// 堪样任务 + /// + [Verify] + [Route("Recycle/RecycleSamplingDetail")] + public class RecycleSamplingDetailController : BaseController + { + /// + /// 堪样任务接口 + /// + private readonly IRecycleSamplingDetailService _RecycleSamplingDetailService; + + private readonly IRecycleTaskDetailService _RecycleTaskDetailService; + + private readonly IRecycleTaskHeadService _RecycleTaskHeadService; + + private readonly IRecycleDetailService _RecycleDetailService; + + public RecycleSamplingDetailController(IRecycleSamplingDetailService RecycleSamplingDetailService, IRecycleTaskDetailService RecycleTaskDetailService , IRecycleTaskHeadService RecycleTaskHeadService, IRecycleDetailService RecycleDetailService) + { + _RecycleSamplingDetailService = RecycleSamplingDetailService; + _RecycleTaskDetailService = RecycleTaskDetailService; + _RecycleTaskHeadService = RecycleTaskHeadService; + _RecycleDetailService = RecycleDetailService; + } + + /// + /// 查询堪样任务列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:list")] + public IActionResult QueryFjhsRecycleSamplingDetail([FromQuery] RecycleSamplingDetailQueryDto parm) + { + var response = _RecycleSamplingDetailService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询堪样任务详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:query")] + public IActionResult GetFjhsRecycleSamplingDetail(int Id) + { + var response = _RecycleSamplingDetailService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + + + + + + // 新增:获取回收任务的物料详情列表 + /// + /// 查询回收任务关联的物料详情 + /// + /// 回收任务主表ID(关联查询条件) + /// 物料详情列表 + [HttpGet("material/{taskId}")] // 路由匹配前端的 "material/{taskId}" + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:query")] // 复用主表的查询权限 + public IActionResult GetFjhsRecycleTaskMaterial(int taskId) + { + // 1. 调用服务层获取物料详情(根据实际业务调整方法名) + //var materialList = _FfjhsRecycleTaskDetailService.GetInfo(taskId); + var materialList = _RecycleSamplingDetailService.GetInfoMaterialDetailsList(taskId); + + // 2. 转换为DTO(若有物料详情的DTO) + //var materialDtos = materialList.Adapt>(); + + var materialDtos = materialList.Adapt(); + + // 3. 返回统一格式的成功响应(与主表接口保持一致) + return SUCCESS(materialDtos); + } + + + + /// + /// 添加堪样任务 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "堪样任务", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleSamplingDetail([FromBody] RecycleSamplingDetailDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _RecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + return SUCCESS(response); + } + + + + // 新增DTO类(通常放在Models/Dtos目录) + public class GenerateMergeTaskDto + { + // 与前端传递的参数名保持一致(taskIds) + public List TaskIds { get; set; } + + public string CurrentUser { get; set; } + } + + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + /// + /// 生成合并回收任务 + /// + /// + /// + + //[HttpPost] + [HttpPost("generateMergeTask")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "生成合并回收任务", BusinessType = BusinessType.INSERT)] + // public IActionResult generateMergeTask([FromBody] FjhsRecycleSamplingDetailDto parm) + + public IActionResult generateMergeTask([FromBody] GenerateMergeTaskDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + + + //var response = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + + //return SUCCESS(response); + + + + + try + { + + // 转换为实体并设置更新信息 + + string HBDH = ""; + + // 调用服务更新 + + foreach (var SelectId in parm.TaskIds) + { + + RecycleSamplingDetailDto reulte = _RecycleSamplingDetailService.GetInfo(int.Parse(SelectId.ToString())).First(); + + + if (string.IsNullOrEmpty(HBDH)) + { + HBDH = "HBDH_" + reulte.DocNumber + "_" + parm.TaskIds.Count;//合并单号} + } + + foreach (SamplingMaterialDetailsList item in reulte.materialDetails) + { + + + var modalTask = new RecycleDetailDto() + { + MaterialName = item.MaterialName, + AssetName = item.AssetName, + AssetCardNumber = item.AssetCardNumber, + Specification = item.Specification, + UnitCard = item.UnitCard, + ExpectedRecycleQty = item.ApprovedQuantity, + DocNumber = item.DocNumber, + HBDocNumber = HBDH + + }; + + var HSDate = modalTask.Adapt().ToCreate(HttpContext); + + var AddSuccess = _RecycleDetailService.AddFjhsRecycleDetail(HSDate); + + + + } + + + + + + + + + + RecycleTaskHeadDto resql = new RecycleTaskHeadDto() { + Id = int.Parse(SelectId.ToString()), + Updater = parm.CurrentUser, + UpdateTime = new DateTime(), + CurrentProcessStatus = "1" // 1表示设置状态为待回收搬运 + + + }; + + + var main = resql.Adapt() + .ToUpdate(HttpContext); + + var m2 = _RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + } + + + + + //// 所有更新成功 + return Ok($"合并回收搬运任务成功"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + + + + + + } + + + + + + + + /// + /// 添加生成回收任务 + /// + /// + /// + + //[HttpPost] + [HttpPost("submitAndGenerateRecycle")] // 关键:添加路由后缀,与前端URL对应 + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:add")] + [Log(Title = "堪样任务", BusinessType = BusinessType.INSERT)] + public IActionResult submitAndGenerateRecycle([FromBody] RecycleSamplingDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + + + //var response = _FjhsRecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + + //return SUCCESS(response); + + + + + try + { + + //if (parm.IsMeetRecycleCondition == "不具备") + //{ + // parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + //} + //else if (parm.IsMeetRecycleCondition == "具备") + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + //} + //else if (parm.IsMeetRecycleCondition == "现场处理") + //{ + // parm.IsMeetRecycleCondition = "2"; // 或直接转换为整数类型 2 + //} + //else + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + //} + + parm.CurrentProcessStatus = "1"; //当前流程状态 1 :待回收搬运 + parm.CurrentExpectedStatus = "1"; //当前预期状态 1:正常 ;2 即将预期;3、预期 + parm.UpdateTime = DateTime.Now; //修改时间; + + + + + // 转换为实体并设置更新信息 + + + var DocNumber = parm.DocNumber.Split(','); + + + for (int i = 0; i < DocNumber.Count(); i++) + { + + var GetId = _RecycleSamplingDetailService.GetID(DocNumber[i]).First(); + + parm.DocNumber = DocNumber[i]; + parm.Id = GetId.Id; + + + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + } + + + + + + foreach (SamplingMaterialDetailsList item in parm.materialDetails) + { + var modalTask = new RecycleDetailDto() + { + MaterialName = item.MaterialName, + AssetName = item.AssetName, + AssetCardNumber = item.AssetCardNumber, + Specification = item.Specification, + UnitCard = item.UnitCard, + ExpectedRecycleQty = item.ApprovedQuantity, + DocNumber = item.DocNumber, + + }; + + var HSDate = modalTask.Adapt().ToCreate(HttpContext); + + var AddSuccess = _RecycleDetailService.AddFjhsRecycleDetail(HSDate); + + + // 处理单个更新失败的情况 + //if (AddSuccess.) + //{ + // return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + //} + } + + + + // 所有更新成功 + return Ok($"添加成功 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + + + + + + } + + + /// + /// 更新堪样任务 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:edit")] + [Log(Title = "堪样任务", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleSamplingDetail([FromBody] RecycleSamplingDetailDto parm) + { + + + //var modal = parm.materialDetails.Adapt().ToUpdate(HttpContext); + //var response = _FjhsRecycleSamplingDetailService.UpdateFjhsRecycleSamplingDetail(modal); + + //return ToResponse(response); + + + // 基础参数验证 + if (parm == null) + { + return BadRequest("参数不能为空"); + } + + if (parm.materialDetails == null || !parm.materialDetails.Any()) + { + return BadRequest("没有需要更新的材料详情数据"); + } + + try + { + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else if (parm.IsMeetRecycleCondition == "现场处理") + { + parm.IsMeetRecycleCondition = "2"; // 或直接转换为整数类型 2 + } + //else + //{ + // parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + //} + + + + + // 转换为实体并设置更新信息 + var main = parm.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + + + + var m = _RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(main); + + + foreach (var item in parm.materialDetails) + { + // 单个项目验证 + if (item == null /*|| item.Id <= 0*/) // 假设Id是必须的标识字段 + { + return BadRequest("存在无效的材料详情记录"); + } + + + + + + + // 转换为实体并设置更新信息 + var modal = item.Adapt() + .ToUpdate(HttpContext); + + // 调用服务更新 + var updateSuccess = _RecycleSamplingDetailService + .UpdateFjhsRecycleSamplingDetail(modal); + + // 处理单个更新失败的情况 + if (updateSuccess <=0 ) + { + return StatusCode(500, $"更新失败,ID: {item.MaterialName}"); + } + } + + + + // 所有更新成功 + return Ok($"成功更新 {parm.materialDetails.Count} 条材料详情记录"); + } + catch (Exception ex) + { + // 直接返回异常信息(生产环境建议只返回通用信息) + return StatusCode(500, $"系统异常:{ex.Message}"); + } + + } + + /// + /// 删除堪样任务 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:delete")] + [Log(Title = "堪样任务", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleSamplingDetail([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_RecycleSamplingDetailService.Delete(idArr)); + } + + /// + /// 导出堪样任务 + /// + /// + [Log(Title = "堪样任务", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:export")] + public IActionResult Export([FromQuery] RecycleSamplingDetailQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _RecycleSamplingDetailService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "堪样任务", "堪样任务"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空堪样任务 + /// + /// + [Log(Title = "堪样任务", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_RecycleSamplingDetailService.TruncateFjhsRecycleSamplingDetail()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "堪样任务导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecyclesamplingdetail:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_RecycleSamplingDetailService.ImportFjhsRecycleSamplingDetail(list.Adapt>())); + } + + /// + /// 堪样任务导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "堪样任务模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleSamplingDetail"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskDetailImageController.cs b/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskDetailImageController.cs new file mode 100644 index 00000000..b5797948 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskDetailImageController.cs @@ -0,0 +1,173 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Service.Recycle.IRecycleService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-09-17 +namespace ZR.Admin.WebApi.Controllers.Recycle +{ + /// + /// 回收任务明细图片表 + /// + [Verify] + [Route("Recycle/RecycleTaskDetailImage")] + public class RecycleTaskDetailImageController : BaseController + { + /// + /// 回收任务明细图片表接口 + /// + private readonly IRecycleTaskDetailImageService _RecycleTaskDetailImageService; + + public RecycleTaskDetailImageController(IRecycleTaskDetailImageService RecycleTaskDetailImageService) + { + _RecycleTaskDetailImageService = RecycleTaskDetailImageService; + } + + /// + /// 查询回收任务明细图片表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:list")] + public IActionResult QueryFjhsRecycleTaskDetailImage([FromQuery] RecycleTaskDetailImageQueryDto parm) + { + + + var response = _RecycleTaskDetailImageService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收任务明细图片表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:query")] + public IActionResult GetFjhsRecycleTaskDetailImage(int Id) + { + var response = _RecycleTaskDetailImageService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加回收任务明细图片表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:add")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleTaskDetailImage([FromBody] RecycleTaskDetailImageDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _RecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); + + return SUCCESS(response); + } + + /// + /// 更新回收任务明细图片表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:edit")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleTaskDetailImage([FromBody] RecycleTaskDetailImageDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _RecycleTaskDetailImageService.UpdateFjhsRecycleTaskDetailImage(modal); + + return ToResponse(response); + } + + /// + /// 删除回收任务明细图片表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:delete")] + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleTaskDetailImage([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_RecycleTaskDetailImageService.Delete(idArr)); + } + + /// + /// 导出回收任务明细图片表 + /// + /// + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:export")] + public IActionResult Export([FromQuery] RecycleTaskDetailImageQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _RecycleTaskDetailImageService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收任务明细图片表", "回收任务明细图片表"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空回收任务明细图片表 + /// + /// + [Log(Title = "回收任务明细图片表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_RecycleTaskDetailImageService.TruncateFjhsRecycleTaskDetailImage()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "回收任务明细图片表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskdetailimage:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_RecycleTaskDetailImageService.ImportFjhsRecycleTaskDetailImage(list.Adapt>())); + } + + /// + /// 回收任务明细图片表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收任务明细图片表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskDetailImage"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskHeadController.cs new file mode 100644 index 00000000..5e741a28 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Recycle/RecycleTaskHeadController.cs @@ -0,0 +1,1159 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Service.Recycle.IRecycleService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; +//using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; +//using ZR.Service.FjhsRecycleSampling; +using Aliyun.OSS; +using Microsoft.IdentityModel.Tokens; +using Org.BouncyCastle.Crypto; +//using ZR.Service.FjhsRecycle; +using SqlSugar; +using System.Collections.Generic; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; +using NPOI.SS.Util; +//using materialDetailsList = ZR.Model.FjhsRecycle.Dto.materialDetailsList; +using ZR.Model.DownM; +using NPOI.HSSF.UserModel; +using NPOI.SS.Formula.Functions; +using NPOI.HPSF; + +//创建时间:2025-08-15 +namespace ZR.Admin.WebApi.Controllers.Recycle +{ + /// + /// 回收任务主表 + /// + [Verify] + [Route("Recycle/RecycleTaskHead")] + public class RecycleTaskHeadController : BaseController + { + /// + /// 回收任务主表接口 + /// + private readonly IRecycleTaskHeadService _RecycleTaskHeadService; + + private readonly IRecycleTaskDetailService _RecycleTaskDetailService; + private readonly IRecycleSamplingDetailService _RecycleSamplingDetailService; + + private readonly ISysUserService _sysUserService; + + public RecycleTaskHeadController(IRecycleTaskHeadService RecycleTaskHeadService, IRecycleTaskDetailService RecycleTaskDetailService, ISysUserService sysUserService, IRecycleSamplingDetailService RecycleSamplingDetailService) + { + _RecycleTaskHeadService = RecycleTaskHeadService; + _RecycleTaskDetailService = RecycleTaskDetailService; + _RecycleSamplingDetailService = RecycleSamplingDetailService; + _sysUserService = sysUserService; + } + + /// + /// 查询回收任务主表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:list")] + public IActionResult QueryFjhsRecycleTaskHead([FromQuery] RecycleTaskHeadQueryDto parm) + { + var response = _RecycleTaskHeadService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询回收任务主表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult GetFjhsRecycleTaskHead(int Id) + { + var response = _RecycleTaskHeadService.GetInfo(Id).First(); + + var info = response.Adapt(); + return SUCCESS(info); + } + + + + + /// + /// 查询堪样任务表和主表详情,在这里暂时没有用,需要查前handlePreview按钮对应的逻辑 + /// + /// + /// + [HttpGet("sampleList/{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult getFjhsRecycleSampleList(int Id) + { + var response = _RecycleTaskHeadService.GetFjhsRecycleSampleList(Id).First(); + + var info = response.Adapt(); + + //var info = ""; + + + + return SUCCESS(info); + } + + + + /// + /// 搬运回收清单 + /// + /// + /// + [HttpGet("transport/{Id}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + public IActionResult transport(int Id) + { + var response = _RecycleTaskHeadService.GetFjhsRecycleSampleList(Id).First(); + + var info = response.Adapt(); + + //var info = ""; + + + + return SUCCESS(info); + } + + + + + ///// + ///// 查询回收任务主表详情 + ///// + ///// + ///// + //[HttpGet("{Id}")] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] + //public IActionResult getFjhsRecycleTaskMaterial(int Id) + //{ + // var response = _FjhsRecycleTaskHeadService.GetInfo(Id); + + // var info = response.Adapt(); + // return SUCCESS(info); + //} + + + + // 新增:获取回收任务的物料详情列表 + /// + /// 查询回收任务关联的物料详情 + /// + /// 回收任务主表ID(关联查询条件) + /// 物料详情列表 + [HttpGet("material/{taskId}")] // 路由匹配前端的 "material/{taskId}" + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:query")] // 复用主表的查询权限 + public IActionResult GetFjhsRecycleTaskMaterial(int taskId) + { + // 1. 调用服务层获取物料详情(根据实际业务调整方法名) + var materialList = _RecycleTaskDetailService.GetInfo(taskId); + + // 2. 转换为DTO(若有物料详情的DTO) + //var materialDtos = materialList.Adapt>(); + + var materialDtos = materialList.Adapt(); + + // 3. 返回统一格式的成功响应(与主表接口保持一致) + return SUCCESS(materialDtos); + } + + + + + /// + /// 保存回收任务后生成堪样任务 + /// + /// 回收任务主键ID + /// 请求头中的当前用户名(用于日志和权限) + /// + [HttpPost("generateSample")] // 接口路径与前端一致 + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:generateSample")] // 对应权限 + [Log(Title = "回收任务生成堪样", BusinessType = BusinessType.OTHER)] // 日志记录 + public IActionResult GenerateSampleTask( + // [FromQuery] long taskId, // 从查询参数获取回收任务ID(与前端params对应) + // [FromBody] List taskIds, // 接收ID数组(参数名改为taskIds,避免歧义) + // [FromBody] GenerateSampleRequest request, // 从请求体获取ID列表 + [FromBody] GenerateSampleRequest taskIds, + + //[FromHeader(Name = "updater")] string username) // 从请求头获取用户名 + [FromHeader(Name = "username")] string username) // 从请求头获取用户名 + { + // 1.参数校验 + //if (taskId <= 0) + //{ + // return ToResponse(ResultCode.FAIL, "回收任务ID不能为空"); + //} + + //if (taskIds == null || taskIds.Count == 0) + //{ + // return ToResponse(ResultCode.FAIL, "回收任务ID列表不能为空"); + //} + //if (taskIds.Any(id => id <= 0)) + //{ + // return ToResponse(ResultCode.FAIL, "存在无效的回收任务ID"); + //} + + if (string.IsNullOrEmpty(username)) + { + return ToResponse(ResultCode.FAIL, "未获取到当前用户信息"); + } + + // var taskIds = Tools.SplitAndConvert(taskId.ToString()); + + try + { + foreach (var taskId1 in taskIds.TaskIds) + { + + var response = _RecycleTaskHeadService.Getlist(taskId1.ParseToInt()); + + + + + + if (string.IsNullOrEmpty(response.First().Site)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前局点不能为空"); + } + + if (string.IsNullOrEmpty(response.First().DemandUnit)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前需求单位不能为空"); + } + + if (string.IsNullOrEmpty(response.First().ContactPerson)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前联系人不能为空"); + } + + if (string.IsNullOrEmpty(response.First().ContactPhone)) + { + return ToResponse(ResultCode.FAIL, "生成堪样任务前联系电话不能为空"); + } + + + foreach (var item in response) + { + var requst = new RecycleSamplingDetail + { + DocNumber = item.DocNumber, + MaterialName = item.materialName, + AssetName = item.assetName, + AssetCardNumber = item.assetCardNo, + Specification = item.specification, + UnitCard = item.unit, + EstimatedRecycleQuantity = int.Parse(item.expectedRecycleQty), + + + + }; + + + var modal = requst.Adapt().ToCreate(HttpContext); + + var resulte = _RecycleSamplingDetailService.AddFjhsRecycleSamplingDetail(modal); + + } + + + + + + + var requsetTask = new RecycleTaskHead() + { + CurrentProcessStatus = "01", + Id = response.First().Id, + }; + + + + var m =_RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(requsetTask); + + + // return SUCCESS(resulte); + } + return SUCCESS("批量生成堪样任务成功"); + } + catch (Exception ex) + { + var resulte = ex.Message; + + throw; + } + + + + } + + + + + /// + /// 添加回收任务主表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.INSERT)] + public IActionResult AddFjhsRecycleTaskHead([FromBody] RecycleTaskHeadDto parm) + { + + + + + + + // 2. 生成单据编号:当前年月日(yyyyMMdd) + 序号 + // 假设序号从1开始,实际应用中可能需要从数据库获取最大序号 + string datePart = DateTime.Now.ToString("yyyyMMdd"); + DateTime datePart1 = DateTime.Now; + + int sequence = _RecycleTaskHeadService.GetMaxSequenceByDate(datePart1); // 这里可以根据实际情况从数据库获取最新序号 + + var username = parm.Creator; //创建人 + var city = _sysUserService.SelectUser(username).City; //归属地 + + // 3. 创建主表数据并设置相关字段 + + + parm.DocNumber = $"FJ{datePart}{sequence:D4}";// 格式如:FJ202508250001 单据编号 + parm.CurrentProcessStatus = "0"; //当前流程状态 + parm.CurrentExpectedStatus = "1"; //当前预期状态 + parm.BelongArea = city; //归属地 + parm.CreateTime = datePart1; //创建时间 + + + + + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _RecycleTaskHeadService.AddFjhsRecycleTaskHead(modal); + + // 4 处理明细数据,可以在这里为明细设置关联的单据编号 + + RecycleTaskDetail marterDetail = new RecycleTaskDetail(); + + foreach (var detail in parm.materialDetails) + { + + + marterDetail.DocNumber = parm.DocNumber; // 关联主表单据编号 + marterDetail.CreateTime = DateTime.Now; + marterDetail.Creator = username;//创建人 + marterDetail.StorageTime = parm.StorageTime; //缴库时间 + marterDetail.AssetName = detail.assetName; //资产名称 + marterDetail.AssetCardNumber = detail.assetCardNumber; //资产卡片号 + marterDetail.MaterialName = detail.materialName; //物料名称 + marterDetail.UnitCard = detail.unitCard; //计量单位 + marterDetail.Specification = detail.specification; //规格型号 + marterDetail.ApprovedQuantity = int.Parse(detail.approvedQuantity); //预计回收数据 + + + + var marterDetailDate = marterDetail.Adapt().ToCreate(HttpContext); + var response1 = _RecycleTaskDetailService.AddFjhsRecycleTaskDetail(marterDetailDate); + + + } + + + + + + + return SUCCESS(response); + } + + /// + /// 新增回收任务物料明细 + /// + /// + //[HttpPost("addDetail/{parm}")] + // 修正:移除{parm},路由仅为"addDetail"(与前端路径对应) + [HttpPost("addDetail")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务物料明细", BusinessType = BusinessType.INSERT)] + public IActionResult addFjhsRecycleTaskDetail([FromBody] RecycleTaskDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + //var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + + //return SUCCESS(response); + + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _RecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + return SUCCESS(response); + } + catch (Exception ex) + { + // 日志记录 + return StatusCode(500, "添加失败:" + ex.Message); + } + + + + } + + + + + /// + /// 新增图片上传 + /// + /// + //[HttpPost("addDetail/{parm}")] + // 修正:移除{parm},路由仅为"addDetail"(与前端路径对应) + [HttpPost("Image")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:add")] + [Log(Title = "回收任务物料明细", BusinessType = BusinessType.INSERT)] + public IActionResult uploadImageRelation([FromBody] RecycleTaskDetailDto parm) + { + //var modal = parm.Adapt().ToCreate(HttpContext); + + //var response = _FfjhsRecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + + //return SUCCESS(response); + + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _RecycleTaskDetailService.AddFjhsRecycleTaskDetail(modal); + return SUCCESS(response); + } + catch (Exception ex) + { + // 日志记录 + return StatusCode(500, "添加失败:" + ex.Message); + } + + + + } + + + + + + + /// + /// 更新回收任务主表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:edit")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateFjhsRecycleTaskHead([FromBody] RecycleTaskHeadDto parm) + { + //var username1 = username; + + + if (parm.IsMeetRecycleCondition == "不具备") + { + parm.IsMeetRecycleCondition = "0"; // 或直接转换为整数类型 0 + } + else if (parm.IsMeetRecycleCondition == "具备") + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + } + else + { + parm.IsMeetRecycleCondition = "1"; // 或直接转换为整数类型 1 + + } + + if (parm.CurrentProcessStatus =="生成单据") + { + parm.CurrentProcessStatus = "0"; + } + + if (parm.CurrentProcessStatus == "待堪样") + { + parm.CurrentProcessStatus = "01"; + } + + if (parm.CurrentProcessStatus == "堪样暂存") + { + parm.CurrentProcessStatus = "02"; + } + + if (parm.CurrentProcessStatus == "堪样完成") + { + parm.CurrentProcessStatus = "03"; + } + + if (parm.CurrentProcessStatus == "待回收搬运") + { + parm.CurrentProcessStatus = "1"; + } + + if (parm.CurrentProcessStatus == "回收搬运暂存") + { + parm.CurrentProcessStatus = "11"; + } + + if (parm.CurrentProcessStatus == "完成") + { + parm.CurrentProcessStatus = "2"; + } + + if (parm.CurrentProcessStatus == "取消") + { + parm.CurrentProcessStatus = "99"; + } + + + + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _RecycleTaskHeadService.UpdateFjhsRecycleTaskHead(modal); + + return ToResponse(response); + + + + //// 1. 参数校验 + //if (parm == null) + //{ + // return ToResponse(ResultCode.FAIL, "参数不能为空"); + //} + + //if (string.IsNullOrEmpty(username)) + //{ + // return ToResponse(ResultCode.FAIL, "未获取到用户信息"); + //} + + //if (parm.Id <= 0) + //{ + // return ToResponse(ResultCode.FAIL, "主键ID不能为空"); + //} + + //// 2. 转换DTO为实体并设置审计字段 + //var modal = parm.Adapt(); + + //// 3. 设置更新人信息(关键修改点) + //modal.Updater = username; // 更新修改人 + //modal.UpdateTime = DateTime.Now; // 更新修改时间 + + //// 4. 如果需要,可以在这里补充其他业务逻辑 + //// 例如:验证当前用户是否有权限修改该记录 + //// var user = _sysUserService.SelectUser(username); + //// if (user == null) + //// { + //// return ToResponse(ResultCode.FAIL, "用户不存在"); + //// } + + //// 5. 调用服务层执行更新操作 + //var response = _FjhsRecycleTaskHeadService.UpdateFjhsRecycleTaskHead(modal); + + //return ToResponse(response); + + } + + + + + /// + /// 删除回收任务主表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:delete")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteFjhsRecycleTaskHead([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_RecycleTaskHeadService.Delete(idArr)); + } + + + + /// + /// 取消回收任务主表 + /// + /// + [HttpPost("cance/{ids}")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:cance")] + [Log(Title = "回收任务主表", BusinessType = BusinessType.DELETE)] + public IActionResult CanceFjhsRecycleTaskHead([FromRoute] string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_RecycleTaskHeadService.CanceFjhsRecycleTaskHead(idArr)); + } + + + + /// + /// 导出回收任务主表 + /// + /// + [Log(Title = "回收任务主表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:export")] + public IActionResult Export([FromQuery] RecycleTaskHeadQueryDto parm) + { + + try + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _RecycleTaskHeadService.ExportList(parm).Result; + + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "回收任务主表", "回收任务主表"); + + return ExportExcel(result.Item2, result.Item1); + } + catch (Exception ex) + { + var msg = ex.Message; + throw; + } + } + + + + + + + + /// + /// 导出回收搬运任务清单 + /// + /// + [Log(Title = "导出回收搬运任务清单", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + //[HttpGet("RecycleExport")] + [HttpGet("RecycleExport/{id}")] + // [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:export")] + public IActionResult RecycleExport([FromRoute] string id) + { + + + + try + { + var ID = int.Parse(id); + + + var transportInfo = _RecycleTaskHeadService.GetTransportInfoList(ID).First(); + var RecycleMaterialDetail = _RecycleTaskHeadService.GetRecycleMaterialDetailList(ID); + + var m = ExportRecycleBill(transportInfo, RecycleMaterialDetail); + + return ExportExcel(m.Item2, m.Item1); + + + } + catch (Exception ex) + { + var msg = ex.Message; + throw; + } + } + + + + + + + /// + /// 清空回收任务主表 + /// + /// + [Log(Title = "回收任务主表", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_RecycleTaskHeadService.TruncateFjhsRecycleTaskHead()); + } + + ///// + ///// 导入 + ///// + ///// + ///// + //[HttpPost("importData")] + //[Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + //public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + //{ + // List list = new(); + // using (var stream = formFile.OpenReadStream()) + // { + // list = stream.Query(startCell: "A1").ToList(); + // } + + // return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + //} + + + /// + /// 导入 + /// + /// + /// 从请求头获取用户名 + /// + [HttpPost("importData")] + [Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile, [FromHeader(Name = "userName")] string username) + { + //List list = new(); + + + //using (var stream = formFile.OpenReadStream()) + //{ + // list = stream.Query(startCell: "A1").ToList(); + //} + + //return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + try + { + + List list = new(); + List list_Detail = new(); + var storageTime = DateTime.Now; + + + // --------------- 关键修复:1. 校验并获取 Excel 文件类型 --------------- + if (formFile == null || formFile.Length == 0) + { + return ToResponse(ResultCode.FAIL, "请选择上传的Excel文件"); + } + + // 获取文件后缀(如 .xlsx 或 .xls) + var fileExtension = Path.GetExtension(formFile.FileName).ToLower(); + //ExcelType excelType; // MiniExcel 的文件类型枚举 + + //// 根据后缀指定 ExcelType + //if (fileExtension == ".xlsx") + //{ + // excelType = ExcelType.XLSX; // .xlsx 格式 + //} + //else if (fileExtension == ".xls") + //{ + // // excelType = ExcelType.XLSX; // .xls 格式(旧版) + + // excelType = ExcelType.XLSX; // .xls 格式(旧版)- 这里之前错误地写成了XLSX + + // // 若为.xls,明确提示使用.xlsx;其他格式提示不支持 + // var errorMsg = fileExtension == ".xls" + // ? "请使用.xlsx格式文件,暂不支持.xls格式!" + // : "不支持的文件类型!仅支持.xlsx格式"; + // return ToResponse(ResultCode.FAIL, errorMsg); + + //} + //else + //{ + // return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); + //} + + + + //using (var stream = formFile.OpenReadStream()) + //{ + // // 关键修复:2. 将获取到的excelType传递给Query方法 + // list_Detail = stream.Query( + // startCell: "A1", + // excelType: excelType // 显式指定文件类型 + // ).ToList(); + //} + + + + // 支持 .xlsx 和 .xls 格式 + if (fileExtension != ".xlsx" && fileExtension != ".xls") + { + return ToResponse(ResultCode.FAIL, "不支持的文件类型!仅支持 .xlsx 和 .xls 格式"); + } + + using (var stream = formFile.OpenReadStream()) + { + if (fileExtension == ".xlsx") + { + // 使用 MiniExcel 处理 .xlsx + list_Detail = stream.Query( + startCell: "A1", + excelType: ExcelType.XLSX + ).ToList(); + } + else // .xls 格式 + { + // 使用 NPOI 处理 .xls + IWorkbook workbook = new HSSFWorkbook(stream); + ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表 + + // 从第二行开始读取(跳过标题行) + for (int rowIndex = 1; rowIndex <= sheet.LastRowNum; rowIndex++) + { + IRow row = sheet.GetRow(rowIndex); + if (row == null) continue; + + var detailDto = new RecycleTaskDetailDto(); + + // 根据列索引映射数据(需要根据实际Excel结构调整) + detailDto.AssetName = row.GetCell(0)?.ToString(); + detailDto.AssetCardNumber = row.GetCell(2)?.ToString(); + detailDto.Specification = row.GetCell(16)?.ToString(); + detailDto.UnitCard = row.GetCell(17)?.ToString(); + // detailDto.ApprovedQuantity = row.GetCell(20)?.ToString(); + detailDto.MaterialName = row.GetCell(24)?.ToString(); + + + if (row.GetCell(20) != null) + { + // 尝试将单元格值转换为整数 + if (decimal.TryParse(row.GetCell(20).ToString()?.Trim(), out decimal result)) + { + detailDto.ApprovedQuantity =(int) result; + } + else + { + // 转换失败时的默认值(根据业务需求设置,如0或null) + detailDto.ApprovedQuantity = 0; + // 可选:记录日志,提示哪一行的哪一列转换失败 + // _logger.LogWarning($"行号 {row.RowNum + 1} 第21列无法转换为整数,值为:{cell.ToString()}"); + } + } + else + { + // 单元格为空时的默认值 + detailDto.ApprovedQuantity = 0; // 或 null(需字段允许为null) + } + + // ... 其他属性映射 + + // 特殊类型处理(如日期) + if (row.GetCell(27) != null) + { + if (row.GetCell(27).CellType == CellType.Numeric) + { + detailDto.StorageTime = row.GetCell(27).DateCellValue; + } + else + { + detailDto.StorageTime = DateTime.Parse(row.GetCell(27).ToString()); + } + } + + list_Detail.Add(detailDto); + } + } + } + + + + + + + + // 1. 从明细中获取缴库时间(假设取第一条明细的缴库时间) + + if (list_Detail != null && list_Detail.Count > 0) + { + // 假设明细中有StorageTime字段存储缴库时间 + if (list_Detail[0].StorageTime.HasValue) + { + storageTime = list_Detail[0].StorageTime.Value; + } + } + + // 2. 生成单据编号:当前年月日(yyyyMMdd) + 序号 + // 假设序号从1开始,实际应用中可能需要从数据库获取最大序号 + string datePart = DateTime.Now.ToString("yyyyMMdd"); + DateTime datePart1 = DateTime.Now; + + int sequence = _RecycleTaskHeadService.GetMaxSequenceByDate(datePart1); // 这里可以根据实际情况从数据库获取最新序号 + + var usr = username; //创建人 + var city = _sysUserService.SelectUser(username).City; //归属地 + + // 3. 创建主表数据并设置相关字段 + var headDto = new RecycleTaskHeadDto + { + DocNumber = $"FJ{datePart}{sequence:D4}", // 格式如:202508250001 + CurrentProcessStatus = "0", // 当前流程状态 0 表示生成单据 + CurrentExpectedStatus = "1", // 当前逾期状态 1表示正常 + StorageTime = storageTime, // 缴库时间 + CreateTime = DateTime.Now, + Creator = username, //创建人 + + BelongArea = city, //归属地 + + }; + list.Add(headDto); + + // 4 处理明细数据,可以在这里为明细设置关联的单据编号 + + foreach (var detail in list_Detail) + { + detail.DocNumber = headDto.DocNumber; // 关联主表单据编号 + detail.CreateTime = DateTime.Now; + detail.Creator = username;//创建人 + } + + + + var result1 = SUCCESS(_RecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + + // 导入明细数据 + var result_Detail = SUCCESS(_RecycleTaskDetailService.ImportFjhsRecycleTaskDetail(list_Detail.Adapt>())); + + + // 导入主表数据 + return result1; + + } + catch (Exception ex) + { + var result = ex.Message; + + + throw; + } + + + + + + } + + + + + + + /// + /// 回收任务主表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "回收任务主表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskHead"); + return ExportExcel(result.Item2, result.Item1); + } + + + // 新增请求模型类(用于接收前端传递的参数) + public class GenerateSampleRequest + { + // 字段名要与前端传递的JSON键名一致 + public List TaskIds { get; set; } + } + + + + /// + /// 回收任务物料明细导入模板下载 + /// + /// + [HttpGet("materialImportTemplate")] + [Log(Title = "回收任务物料明细模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult materialImportTemplateExcel() + { + //var result = DownloadImportTemplate(new List() { }, "FjhsRecycleTaskHead"); + //return ExportExcel(result.Item2, result.Item1); + + var result = DownloadImportTemplate(new List(), "MaterialImport"); + return ExportExcel(result.Item2, result.Item1); + } + + + ///// + ///// 导入 + ///// + ///// + ///// + //[HttpPost("importData")] + //[Log(Title = "回收任务主表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + //[ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + //public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + //{ + // List list = new(); + // using (var stream = formFile.OpenReadStream()) + // { + // list = stream.Query(startCell: "A1").ToList(); + // } + + // return SUCCESS(_FjhsRecycleTaskHeadService.ImportFjhsRecycleTaskHead(list.Adapt>())); + //} + + + + /// + /// + /// + /// + /// + /// + [HttpPost("importMaterial")] + [Log(Title = "物料明细导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "fjhsrecycletaskhead:import")] + public IActionResult importMaterial([FromForm(Name = "file")] IFormFile formFile) + { + + + // try + // { + + // // 这里是你的导入处理逻辑 + // // 实际项目中应该从文件中读取并处理数据 + // var materialList = new List + //{ + // new + // { + // materialName = "服务器", + // assetName = "戴尔R740", + // assetCardNumber = "ZC2025001", + // specification = "2U机架式", + // unitCard = "台", + // approvedQuantity = 5 + // }, + // // 可以添加更多物料对象... + //}; + + // // 构建返回结果 + // var result11 = new + // { + // code = 200, + // msg = "导入成功", + // data = new + // { + // materialList = materialList + // } + // }; + + // return Ok(result11); + + + // } + // catch (Exception) + // { + + // throw; + // } + + + + try + { + // 检查文件是否为空 + if (formFile == null || formFile.Length == 0) + { + return Ok(new + { + code = 400, + msg = "上传Excel文件内容为空", + data = (object)null + }); + } + + // 检查文件格式 + var fileExtension = Path.GetExtension(formFile.FileName).ToLower(); + //if (fileExtension != ".xlsx" && fileExtension != ".xls") + if (fileExtension != ".xlsx" ) + { + return Ok(new + { + code = 400, + msg = "请下载物料模版,需按模版填写后再上传", + data = (object)null + }); + } + + + // 关键步骤:判断文件名 + var fileName = formFile.FileName; //获取文件名 + + if (!fileName.Contains("MaterialImport") ) + { + // 不包含任何关键词时,返回提示 + string message = "请重新下载物料模版,需按模版填写后再上传"; + + return ToResponse(ResultCode.FAIL, message); + } + + + + + // 读取Excel文件内容 + using (var stream = formFile.OpenReadStream()) + { + // 假设使用NPOI或EPPlus等库读取Excel + // 这里以NPOI为例,实际使用时需要根据你的Excel操作库调整 + var materialList = new List(); + + + + if (fileExtension == ".xlsx") + { + // 使用 MiniExcel 处理 .xlsx + materialList = stream.Query( + startCell: "A1", + excelType: ExcelType.XLSX + ).ToList(); + } + + + + return Ok(new + { + code = 200, + msg = $"导入成功,共导入{materialList.Count}条物料明细", + data = new + { + materialList = materialList + } + }); + } + } + catch (Exception ex) + { + // 记录错误日志 + // _logger.LogError(ex, "物料导入失败"); + + return Ok(new + { + code = 500, + msg = $"导入失败:{ex.Message}", + data = (object)null + }); + } + + + + + + + } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index d842ca2b..39296e4f 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -10,6 +10,24 @@ 1701;1702;1591,8603,8602,8604,8600,8618 + + + + + + + + + + + + + + + + + + @@ -31,6 +49,7 @@ + diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs similarity index 96% rename from ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs rename to ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs index 5f1edee2..a73f3864 100644 --- a/ZR.Model/Knowledge/Dto/ZskQdRawdataDto.cs +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs @@ -4,7 +4,7 @@ namespace ZR.Model.Knowledge.Dto /// /// 订单知识库查询对象 /// - public class ZskQdRawdataQueryDto : PagerInfo + public class KnowledgeBaseRawdataQueryDto : PagerInfo { public string DataSource { get; set; } public string OrderNumber { get; set; } @@ -17,7 +17,7 @@ namespace ZR.Model.Knowledge.Dto /// /// 订单知识库输入输出对象 /// - public class ZskQdRawdataDto + public class KnowledgeBaseRawdataDto { [ExcelColumn(Name = "主键,自增ID")] [ExcelColumnName("主键,自增ID")] @@ -77,7 +77,7 @@ namespace ZR.Model.Knowledge.Dto /// /// 订单知识库输入输出对象,只用于工程问题的导入 /// - public class ZskQdRawdataDtoGCWT + public class KnowledgeBaseRawdataDtoGCWT { [ExcelColumn(Name = "主键,自增ID")] [ExcelColumnName("主键,自增ID")] diff --git a/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataLeftRequiredDto.cs similarity index 98% rename from ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs rename to ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataLeftRequiredDto.cs index 5d0fe77f..97181fb3 100644 --- a/ZR.Model/Knowledge/Dto/ZskQdRawdataLeftSgsRequiredDto.cs +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataLeftRequiredDto.cs @@ -31,7 +31,7 @@ namespace ZR.Model.Knowledge.Dto /// 订单知识库输入输出对象 /// - public class ZskQdRawdataLeftSgsRequiredDto + public class KnowledgeBaseRawdataLeftRequiredDto { [ExcelColumn(Name = "主键,自增ID")] [ExcelColumnName("主键,自增ID")] diff --git a/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRequiredDto.cs similarity index 95% rename from ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs rename to ZR.Model/Knowledge/Dto/KnowledgeBaseRequiredDto.cs index 34ba08fc..18ca8d0d 100644 --- a/ZR.Model/Knowledge/Dto/ZskSgsRequiredDto.cs +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRequiredDto.cs @@ -4,7 +4,7 @@ namespace ZR.Model.Knowledge.Dto /// /// 省公司每日需求表查询对象 /// - public class ZskSgsRequiredQueryDto : PagerInfo + public class KnowledgeBaseRequiredQueryDto : PagerInfo { public decimal RequirementforIssuanceProportion { get; set; } } @@ -12,7 +12,7 @@ namespace ZR.Model.Knowledge.Dto /// /// 省公司每日需求表输入输出对象 /// - public class ZskSgsRequiredDto + public class KnowledgeBaseRequiredDto { [ExcelColumn(Name = "主键,自增ID")] [ExcelColumnName("主键,自增ID")] diff --git a/ZR.Model/Knowledge/ZskQdRawdata.cs b/ZR.Model/Knowledge/KnowledgeBaseRawdata.cs similarity index 95% rename from ZR.Model/Knowledge/ZskQdRawdata.cs rename to ZR.Model/Knowledge/KnowledgeBaseRawdata.cs index 44ce7cae..a7269aa2 100644 --- a/ZR.Model/Knowledge/ZskQdRawdata.cs +++ b/ZR.Model/Knowledge/KnowledgeBaseRawdata.cs @@ -6,8 +6,8 @@ namespace ZR.Model.Knowledge /// /// 订单知识库 /// - [SugarTable("zsk_qd_rawdata")] - public class ZskQdRawdata + [SugarTable("knowledge_base_rawdata")] + public class KnowledgeBaseRawdata { /// /// 主键,自增ID diff --git a/ZR.Model/Knowledge/ZskSgsRequired.cs b/ZR.Model/Knowledge/KnowledgeBaseRequired.cs similarity index 94% rename from ZR.Model/Knowledge/ZskSgsRequired.cs rename to ZR.Model/Knowledge/KnowledgeBaseRequired.cs index 9d790b15..11c4c3ac 100644 --- a/ZR.Model/Knowledge/ZskSgsRequired.cs +++ b/ZR.Model/Knowledge/KnowledgeBaseRequired.cs @@ -4,8 +4,8 @@ namespace ZR.Model.Knowledge /// /// 省公司每日需求表 /// - [SugarTable("zsk_sgs_required")] - public class ZskSgsRequired + [SugarTable("knowledge_base_required")] + public class KnowledgeBaseRequired { /// /// 主键,自增ID diff --git a/ZR.Model/Recycle/Dto/MaterialImportDto.cs b/ZR.Model/Recycle/Dto/MaterialImportDto.cs new file mode 100644 index 00000000..e8333e2c --- /dev/null +++ b/ZR.Model/Recycle/Dto/MaterialImportDto.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.Recycle.Dto +{ + public class MaterialImportDto + { + /// + /// 物料名称 + /// + [DisplayName("物料名称")] + + public string MaterialName { get; set; } + + /// + /// 资产名称 + /// + [DisplayName("资产名称")] + + public string AssetName { get; set; } + + /// + /// 资产卡片号 + /// + [DisplayName("资产卡片号")] + + public string AssetCardNumber { get; set; } + + /// + /// 规格程式 + /// + [DisplayName("规格程式")] + + public string Specification { get; set; } + + /// + /// 计量单位 + /// + [DisplayName("计量单位")] + + public string unitCard { get; set; } + + /// + /// 预计回收数量 + /// + [DisplayName("预计回收数量")] + public string approvedQuantity { get; set; } + } +} diff --git a/ZR.Model/Recycle/Dto/RecycleDetailDto.cs b/ZR.Model/Recycle/Dto/RecycleDetailDto.cs new file mode 100644 index 00000000..b653118c --- /dev/null +++ b/ZR.Model/Recycle/Dto/RecycleDetailDto.cs @@ -0,0 +1,430 @@ + +namespace ZR.Model.Recycle.Dto +{ + /// + /// 回收明细表查询对象 + /// + public class RecycleDetailQueryDto : PagerInfo + { + //public string DocNumber { get; set; } + + public string AssetName { get; set; } + public string MaterialName { get; set; } + public string DocNumber { get; set; } + + public string demandUnit { get; set; } + + public string ContactPerson { get; set; } + + public string HBdocNumber { get; set; } + + + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public int Id { get; set; } + + + } + + /// + /// 回收明细表输入输出对象 + /// + public class RecycleDetailDto + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string Id { get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + + [ExcelColumn(Name = "合并单据编号")] + [ExcelColumnName("合并单据编号")] + public string HBDocNumber { get; set; } + + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public string ExpectedRecycleQty { get; set; } + + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + + + + [ExcelColumnName("回收物料明细详情")] + public List materialDetails + { + get; set; + + + } + + + } + + + public class RecycleMaterialDetailsList + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string Id { get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string ApprovedQuantity { get; set; } + + + + [ExcelColumnName("实际回收数量")] + public string ActualRecycleQty { get; set; } + + + [ExcelColumnName("回收备注")] + public string Remarks { get; set; } + + + [ExcelColumnName("回收人")] + public string RecycleUser { get; set; } + + + //[ExcelColumnName("堪样时间")] + //public string SampleTimer { get; set; } + + [ExcelColumnName("回收时间")] + public DateTime? RecycleTime { get; set; } + + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + } + + + + public class RecycleDetailDtoList + { + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + [ExcelColumn(Name = "合并单据编号")] + [ExcelColumnName("合并单据编号")] + public string HBDocNumber { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + + [ExcelColumnName("物料明细详情")] + public List materialDetails { get; set; } + + } + + + + +} \ No newline at end of file diff --git a/ZR.Model/Recycle/Dto/RecycleSamplingDetailDto.cs b/ZR.Model/Recycle/Dto/RecycleSamplingDetailDto.cs new file mode 100644 index 00000000..fb10881b --- /dev/null +++ b/ZR.Model/Recycle/Dto/RecycleSamplingDetailDto.cs @@ -0,0 +1,299 @@ + +namespace ZR.Model.Recycle.Dto +{ + /// + /// 堪样任务查询对象 + /// + public class RecycleSamplingDetailQueryDto : PagerInfo + { + public string AssetName { get; set; } + public string MaterialName { get; set; } + public string DocNumber { get; set; } + + public string demandUnit { get; set; } + + public string ContactPerson { get; set; } + + + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public int Id { get; set; } + + + + + } + + /// + /// 堪样任务输入输出对象 + /// + public class RecycleSamplingDetailDto + { + + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "堪样人")] + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + [ExcelColumn(Name = "堪样时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "实际堪样数量")] + [ExcelColumnName("实际堪样数量")] + public int? ActualSamplingQuantity { get; set; } + + [ExcelColumn(Name = "预计回收数量")] + [ExcelColumnName("预计回收数量")] + public int? EstimatedRecycleQuantity { get; set; } + + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + + + /// + /// 回收物资 + /// + [ExcelColumnName("回收物资")] + public string RecoveryMaterials { get; set; } + + + + /// + /// 回收地点 + /// + [ExcelColumnName("回收地点")] + public string RecoveryLocation { get; set; } + + + /// + /// 体积 + /// + [ExcelColumnName("体积")] + public string Volume { get; set; } + + + /// + /// 配送方式 + /// + [ExcelColumnName("配送方式")] + public string DeliveryMethod { get; set; } + + [ExcelColumn(Name = "车辆型号")] + [ExcelColumnName("车辆型号")] + public string VehicleModel { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + + [ExcelColumnName("堪样物料明细详情")] + public List materialDetails { get; set; } + + } + + + public class SamplingMaterialDetailsList + { + + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + + [ExcelColumnName("ID")] + public string ID{ get; set; } + + + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string Specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string UnitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string ApprovedQuantity { get; set; } + + + + [ExcelColumnName("实际堪样数量")] + public string ActualSamplingQuantity { get; set; } + + + [ExcelColumnName("堪样备注")] + public string Remarks { get; set; } + + + [ExcelColumnName("堪样人")] + public string Sampler { get; set; } + + + //[ExcelColumnName("堪样时间")] + //public string SampleTimer { get; set; } + + [ExcelColumnName("堪样时间")] + public DateTime? SamplingTime { get; set; } + + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + + + + + + + } + + + + + + + +} \ No newline at end of file diff --git a/ZR.Model/Recycle/Dto/RecycleTaskDetailDto.cs b/ZR.Model/Recycle/Dto/RecycleTaskDetailDto.cs new file mode 100644 index 00000000..521d0ac5 --- /dev/null +++ b/ZR.Model/Recycle/Dto/RecycleTaskDetailDto.cs @@ -0,0 +1,131 @@ + +namespace ZR.Model.Recycle.Dto +{ + /// + /// 回收任务明细表查询对象 + /// + public class RecycleTaskDetailQueryDto : PagerInfo + { + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + } + + /// + /// 回收任务明细表输入输出对象 + /// + public class RecycleTaskDetailDto + { + [ExcelColumn(Name = "实际回收数量")] + [ExcelColumnName("实际回收数量")] + public int? ActualRecycleQuantity { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + [ExcelColumnName("实际堪样数量")] + public string sampleQty { get; set; } + + + + [ExcelColumnName("堪样时间")] + public string sampleTime { get; set; } + + + [ExcelColumn(Name = "备用9")] + [ExcelColumnName("备用9")] + public string Backup9 { get; set; } + + [ExcelColumn(Name = "备用8")] + [ExcelColumnName("备用8")] + public string Backup8 { get; set; } + + [ExcelColumn(Name = "备用7")] + [ExcelColumnName("备用7")] + public string Backup7 { get; set; } + + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] + public string Backup6 { get; set; } + + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] + public string Backup5 { get; set; } + + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] + public string Backup4 { get; set; } + + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] + public string Backup3 { get; set; } + + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] + public string Backup2 { get; set; } + + [ExcelColumn(Name = "备用1")] + [ExcelColumnName("备用1")] + public string Backup1 { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + //[Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumn(Name = "物料名称")] + [ExcelColumnName("物料名称")] + public string MaterialName { get; set; } + + [ExcelColumn(Name = "数量(核定)")] + [ExcelColumnName("数量(核定)")] + public int? ApprovedQuantity { get; set; } + + [ExcelColumn(Name = "计量单位(卡片)")] + [ExcelColumnName("计量单位(卡片)")] + public string UnitCard { get; set; } + + [ExcelColumn(Name = "规格程式")] + [ExcelColumnName("规格程式")] + public string Specification { get; set; } + + [ExcelColumn(Name = "资产卡片号")] + [ExcelColumnName("资产卡片号")] + public string AssetCardNumber { get; set; } + + //[Required(ErrorMessage = "资产名称不能为空")] + [ExcelColumn(Name = "资产名称")] + [ExcelColumnName("资产名称")] + public string AssetName { get; set; } + + //[Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + [ExcelColumn(Name = "单据编号(关联回收任务主表)")] + [ExcelColumnName("单据编号(关联回收任务主表)")] + public string DocNumber { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/Dto/RecycleTaskDetailImageDto.cs b/ZR.Model/Recycle/Dto/RecycleTaskDetailImageDto.cs new file mode 100644 index 00000000..13648263 --- /dev/null +++ b/ZR.Model/Recycle/Dto/RecycleTaskDetailImageDto.cs @@ -0,0 +1,82 @@ + +namespace ZR.Model.Recycle.Dto +{ + /// + /// 回收任务明细图片表查询对象 + /// + public class RecycleTaskDetailImageQueryDto : PagerInfo + { + public string DocNumber { get; set; } + public string Address { get; set; } + public string Creator { get; set; } + public DateTime? BeginCreateTime { get; set; } + public DateTime? EndCreateTime { get; set; } + } + + /// + /// 回收任务明细图片表输入输出对象 + /// + public class RecycleTaskDetailImageDto + { + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [Required(ErrorMessage = "单据编号(关联回收任务主表)不能为空")] + [ExcelColumn(Name = "单据编号(关联回收任务主表)")] + [ExcelColumnName("单据编号(关联回收任务主表)")] + public string DocNumber { get; set; } + + [ExcelColumn(Name = "图片地址(存储图片路径或URL)")] + [ExcelColumnName("图片地址(存储图片路径或URL)")] + public string SampleImageUrl { get; set; } + + [Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + [Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + [ExcelColumn(Name = "图片状态(如:有效、无效、审核中)")] + [ExcelColumnName("图片状态(如:有效、无效、审核中)")] + public string Status { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "备用1")] + [ExcelColumnName("备用1")] + public string Backup1 { get; set; } + + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] + public string Backup2 { get; set; } + + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] + public string Backup3 { get; set; } + + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] + public string Backup4 { get; set; } + + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] + public string Backup5 { get; set; } + + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] + public string Backup6 { get; set; } + + + + [ExcelColumn(Name = "图片状态(如:有效、无效、审核中)")] + public string StatusLabel { get; set; } + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/Dto/RecycleTaskHeadDto.cs b/ZR.Model/Recycle/Dto/RecycleTaskHeadDto.cs new file mode 100644 index 00000000..4cd9003c --- /dev/null +++ b/ZR.Model/Recycle/Dto/RecycleTaskHeadDto.cs @@ -0,0 +1,440 @@ + +using ZR.Model.Recycle.Dto; + +namespace ZR.Model.Recycle.Dto +{ + /// + /// 回收任务主表查询对象 + /// + public class RecycleTaskHeadQueryDto : PagerInfo + { + public string Site { get; set; } + public string DemandUnit { get; set; } + public string CurrentExpectedStatus { get; set; } + public string CurrentProcessStatus { get; set; } + public DateTime? BeginUpdateTime { get; set; } + public DateTime? EndUpdateTime { get; set; } + + public DateTime? BeginStorageTime { get; set; } + public DateTime? EndStorageTime { get; set; } + + public string DocNumber { get; set; } + public int Id { get; set; } + } + + /// + /// 回收任务主表输入输出对象 + /// + public class RecycleTaskHeadDto + { + [ExcelColumn(Name = "车辆型号")] + [ExcelColumnName("车辆型号")] + public string VehicleModel { get; set; } + + [ExcelColumn(Name = "备用6")] + [ExcelColumnName("备用6")] + public string Backup6 { get; set; } + + [ExcelColumn(Name = "备用5")] + [ExcelColumnName("备用5")] + public string Backup5 { get; set; } + + [ExcelColumn(Name = "备用4")] + [ExcelColumnName("备用4")] + public string Backup4 { get; set; } + + [ExcelColumn(Name = "备用3")] + [ExcelColumnName("备用3")] + public string Backup3 { get; set; } + + [ExcelColumn(Name = "备用2")] + [ExcelColumnName("备用2")] + public string Backup2 { get; set; } + + [ExcelColumn(Name = "系统流程单据号")] + [ExcelColumnName("系统流程单据号")] + public string Backup1 { get; set; } + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string Site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string DemandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string ContactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string ContactPerson { get; set; } + + [ExcelColumn(Name = "配送经办人")] + [ExcelColumnName("配送经办人")] + public string DeliveryManager { get; set; } + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + [ExcelColumn(Name = "编号")] + [ExcelColumnName("编号")] + public string Number { get; set; } + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string IsMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + //[Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + //[Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "单据编号")] + [ExcelColumnName("单据编号")] + public string DocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? StorageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNo { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unit { get; set; } + + [ExcelColumnName("预计回收数量")] + public string expectedRecycleQty { get; set; } + + [ExcelColumnName("堪样数量")] + public string SampleQty { get; set; } + + [ExcelColumnName("堪样时间")] + public string SampleTime { get; set; } + + [ExcelColumnName("物料明细详情")] + public List materialDetails { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + /// + /// 回收物资 + /// + [ExcelColumnName("回收物资")] + public string RecoveryMaterials { get; set; } + + + + /// + /// 回收地点 + /// + [ExcelColumnName("回收地点")] + public string RecoveryLocation { get; set; } + + + /// + /// 体积 + /// + [ExcelColumnName("体积")] + public string Volume { get; set; } + + + /// + /// 配送方式 + /// + [ExcelColumnName("配送方式")] + public string DeliveryMethod { get; set; } + + + } + + + public class materialDetailsList + { + + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string approvedQuantity { get; set; } + + + } + + + + + /// + /// 回收任务主表输入输出对象 + /// + public class RecycleTaskHeadDtoSampling + { + + [ExcelColumn(Name = "备注")] + [ExcelColumnName("备注")] + public string Remarks { get; set; } + + [ExcelColumn(Name = "局点")] + [ExcelColumnName("局点")] + public string site { get; set; } + + [ExcelColumn(Name = "需求单位")] + [ExcelColumnName("需求单位")] + public string demandUnit { get; set; } + + [ExcelColumn(Name = "联系人电话")] + [ExcelColumnName("联系人电话")] + public string contactPhone { get; set; } + + [ExcelColumn(Name = "联系人")] + [ExcelColumnName("联系人")] + public string contactPerson { get; set; } + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + [ExcelColumnName("是否提交:0-未提交,1-已提交")] + public string IsSubmitted { get; set; } + + [Required(ErrorMessage = "自增主键ID不能为空")] + [ExcelColumn(Name = "自增主键ID")] + [ExcelColumnName("自增主键ID")] + public int Id { get; set; } + + [ExcelColumn(Name = "回收目的地")] + [ExcelColumnName("回收目的地")] + public string RecycleDestination { get; set; } + + + //[Required(ErrorMessage = "是否满足回收条件:0-否,1-是不能为空")] + [ExcelColumn(Name = "是否满足回收条件:0-否,1-是")] + [ExcelColumnName("是否满足回收条件:0-否,1-是")] + public string isMeetRecycleCondition { get; set; } + + [ExcelColumn(Name = "归属地")] + [ExcelColumnName("归属地")] + public string BelongArea { get; set; } + + [ExcelColumn(Name = "当前预期状态")] + [ExcelColumnName("当前预期状态")] + public string CurrentExpectedStatus { get; set; } + + [Required(ErrorMessage = "当前流程状态不能为空")] + [ExcelColumn(Name = "当前流程状态")] + [ExcelColumnName("当前流程状态")] + public string CurrentProcessStatus { get; set; } + + [ExcelColumn(Name = "修改人")] + [ExcelColumnName("修改人")] + public string Updater { get; set; } + + //[Required(ErrorMessage = "创建人不能为空")] + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string Creator { get; set; } + + //[Required(ErrorMessage = "修改时间不能为空")] + [ExcelColumn(Name = "修改时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("修改时间")] + public DateTime? UpdateTime { get; set; } + + //[Required(ErrorMessage = "创建时间不能为空")] + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreateTime { get; set; } + + //[Required(ErrorMessage = "单据类型不能为空")] + [ExcelColumn(Name = "单据类型")] + [ExcelColumnName("单据类型")] + public string DocType { get; set; } + + [Required(ErrorMessage = "单据编号不能为空")] + [ExcelColumn(Name = "堪样单据编号")] + [ExcelColumnName("堪样单据编号")] + public string sampleDocNumber { get; set; } + + + + [ExcelColumn(Name = "是否提交:0-未提交,1-已提交")] + public string IsSubmittedLabel { get; set; } + + + [ExcelColumn(Name = "缴库时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("缴库时间")] + public DateTime? storageTime { get; set; } + + [ExcelColumnName("物料种类")] + public int materialType { get; set; } + + [ExcelColumnName("总数")] + public int? totalNumber { get; set; } + + + + + [ExcelColumnName("物料堪样详情")] + public List sampleMaterialList { get; set; } + + [ExcelColumnName("物料堪样图片")] + public List sampleMaterialImages { get; set; } + } + + +public class SampleMaterialList + +{ + [ExcelColumnName("物料名称")] + public string materialName { get; set; } + + + [ExcelColumnName("资产名称")] + public string assetName { get; set; } + + + + [ExcelColumnName("资产卡片号")] + public string assetCardNumber { get; set; } + + [ExcelColumnName("资产规格")] + public string specification { get; set; } + + + + [ExcelColumnName("计量单位")] + public string unitCard { get; set; } + + [ExcelColumnName("预计回收数量")] + public string approvedQuantity { get; set; } + + + [ExcelColumnName("实际堪样数量")] + public string sampleQty { get; set; } + + [ExcelColumnName("堪样备注")] + public string sampleRemark { get; set; } + + [ExcelColumnName("堪样人")] + public string sampler { get; set; } + + [ExcelColumnName("堪样时间")] + public string sampleTime { get; set; } + + + [ExcelColumnName("回收数量")] + public string ActualRecycleQty { get; set; } + + [ExcelColumnName("回收时间")] + public string RecycleTime { get; set; } + + + + + + } + + + + + + +} + + diff --git a/ZR.Model/Recycle/RecycleDetail.cs b/ZR.Model/Recycle/RecycleDetail.cs new file mode 100644 index 00000000..fdcb85fc --- /dev/null +++ b/ZR.Model/Recycle/RecycleDetail.cs @@ -0,0 +1,145 @@ + +namespace ZR.Model.Recycle +{ + /// + /// 回收明细表 + /// + [SugarTable("recycle_detail")] + public class RecycleDetail + { + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用12 + /// + public string Backup12 { get; set; } + + /// + /// 备用11 + /// + public string Backup11 { get; set; } + + /// + /// 备用10 + /// + public string Backup10 { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 合并单号 + /// + [SugarColumn(ColumnName = "HBdoc_number")] + public string HBDocNumber { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 回收人 + /// + [SugarColumn(ColumnName = "recycle_user")] + public string RecycleUser { get; set; } + + /// + /// 回收时间(格式:YYYY-MM-DD HH:MM:SS) + /// + [SugarColumn(ColumnName = "recycle_time")] + public DateTime? RecycleTime { get; set; } + + /// + /// 实际回收数量 + /// + [SugarColumn(ColumnName = "actual_recycle_qty")] + public int? ActualRecycleQty { get; set; } + + /// + /// 预计回收数量 + /// + [SugarColumn(ColumnName = "expected_recycle_qty")] + public int? ExpectedRecycleQty { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/RecycleSamplingDetail.cs b/ZR.Model/Recycle/RecycleSamplingDetail.cs new file mode 100644 index 00000000..de15fb60 --- /dev/null +++ b/ZR.Model/Recycle/RecycleSamplingDetail.cs @@ -0,0 +1,140 @@ + +namespace ZR.Model.Recycle +{ + /// + /// 堪样任务 + /// + [SugarTable("recycle_sampling_detail")] + public class RecycleSamplingDetail + { + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备用12 + /// + public string Backup12 { get; set; } + + /// + /// 备用11 + /// + public string Backup11 { get; set; } + + /// + /// 备用10 + /// + public string Backup10 { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int ID { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 堪样人 + /// + public string Sampler { get; set; } + + /// + /// 堪样时间 + /// + [SugarColumn(ColumnName = "sampling_time")] + public DateTime? SamplingTime { get; set; } + + /// + /// 实际堪样数量 + /// + [SugarColumn(ColumnName = "actual_sampling_quantity")] + public int? ActualSamplingQuantity { get; set; } + + /// + /// 预计回收数量 + /// + [SugarColumn(ColumnName = "estimated_recycle_quantity")] + public int? EstimatedRecycleQuantity { get; set; } + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/RecycleTaskDetail.cs b/ZR.Model/Recycle/RecycleTaskDetail.cs new file mode 100644 index 00000000..e333465b --- /dev/null +++ b/ZR.Model/Recycle/RecycleTaskDetail.cs @@ -0,0 +1,135 @@ + +namespace ZR.Model.Recycle +{ + /// + /// 回收任务明细表 + /// + [SugarTable("recycle_task_detail")] + public class RecycleTaskDetail + { + /// + /// 实际回收数量 + /// + [SugarColumn(ColumnName = "actual_recycle_quantity")] + public int? ActualRecycleQuantity { get; set; } + + /// + /// 备用9 + /// + public string Backup9 { get; set; } + + /// + /// 备用8 + /// + public string Backup8 { get; set; } + + /// + /// 备用7 + /// + public string Backup7 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 缴库时间 + /// + [SugarColumn(ColumnName = "storage_time")] + public DateTime? StorageTime { get; set; } + + /// + /// 物料名称 + /// + [SugarColumn(ColumnName = "material_name")] + public string MaterialName { get; set; } + + /// + /// 数量(核定) + /// + [SugarColumn(ColumnName = "approved_quantity")] + public int? ApprovedQuantity { get; set; } + + /// + /// 计量单位(卡片) + /// + [SugarColumn(ColumnName = "unit_card")] + public string UnitCard { get; set; } + + /// + /// 规格程式 + /// + public string Specification { get; set; } + + /// + /// 资产卡片号 + /// + [SugarColumn(ColumnName = "asset_card_number")] + public string AssetCardNumber { get; set; } + + /// + /// 资产名称 + /// + [SugarColumn(ColumnName = "asset_name")] + public string AssetName { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/RecycleTaskDetailImage.cs b/ZR.Model/Recycle/RecycleTaskDetailImage.cs new file mode 100644 index 00000000..75927899 --- /dev/null +++ b/ZR.Model/Recycle/RecycleTaskDetailImage.cs @@ -0,0 +1,80 @@ + +namespace ZR.Model.Recycle +{ + /// + /// 回收任务明细图片表 + /// + [SugarTable("recycle_task_detail_image")] + public class RecycleTaskDetailImage + { + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 单据编号(关联回收任务主表) + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + /// + /// 图片地址(存储图片路径或URL) + /// + [SugarColumn(ColumnName = "address")] + public string SampleImageUrl { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 图片状态(如:有效、无效、审核中) + /// + public string Status { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Recycle/RecycleTaskHead.cs b/ZR.Model/Recycle/RecycleTaskHead.cs new file mode 100644 index 00000000..c6e6de87 --- /dev/null +++ b/ZR.Model/Recycle/RecycleTaskHead.cs @@ -0,0 +1,207 @@ + +namespace ZR.Model.Recycle +{ + /// + /// 回收任务主表 + /// + [SugarTable("recycle_task_head")] + public class RecycleTaskHead + { + /// + /// 车辆型号 + /// + [SugarColumn(ColumnName = "vehicle_model")] + public string VehicleModel { get; set; } + + /// + /// 备用6 + /// + public string Backup6 { get; set; } + + /// + /// 备用5 + /// + public string Backup5 { get; set; } + + /// + /// 备用4 + /// + public string Backup4 { get; set; } + + /// + /// 备用3 + /// + public string Backup3 { get; set; } + + /// + /// 备用2 + /// + public string Backup2 { get; set; } + + /// + /// 备用1 + /// + public string Backup1 { get; set; } + + /// + /// 备注 + /// + public string Remarks { get; set; } + + /// + /// 局点 + /// + public string Site { get; set; } + + /// + /// 需求单位 + /// + [SugarColumn(ColumnName = "demand_unit")] + public string DemandUnit { get; set; } + + /// + /// 联系人电话 + /// + [SugarColumn(ColumnName = "contact_phone")] + public string ContactPhone { get; set; } + + /// + /// 联系人 + /// + [SugarColumn(ColumnName = "contact_person")] + public string ContactPerson { get; set; } + + /// + /// 配送经办人 + /// + [SugarColumn(ColumnName = "delivery_manager")] + public string DeliveryManager { get; set; } + + /// + /// 是否提交:0-未提交,1-已提交 + /// + [SugarColumn(ColumnName = "is_submitted")] + public string IsSubmitted { get; set; } + + /// + /// 自增主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 回收目的地 + /// + [SugarColumn(ColumnName = "recycle_destination")] + public string RecycleDestination { get; set; } + + /// + /// 编号 + /// + public string Number { get; set; } + + /// + /// 是否满足回收条件:0-否,1-是 + /// + [SugarColumn(ColumnName = "is_meet_recycle_condition")] + public string IsMeetRecycleCondition { get; set; } + + /// + /// 归属地 + /// + [SugarColumn(ColumnName = "belong_area")] + public string BelongArea { get; set; } + + /// + /// 当前预期状态 + /// + [SugarColumn(ColumnName = "current_expected_status")] + public string CurrentExpectedStatus { get; set; } + + /// + /// 当前流程状态 + /// + [SugarColumn(ColumnName = "current_process_status")] + public string CurrentProcessStatus { get; set; } + + /// + /// 修改人 + /// + public string Updater { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + + /// + /// 修改时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + + + + + /// + /// 回收物资 + /// + [SugarColumn(ColumnName = "recovery_materials")] + public string RecoveryMaterials { get; set; } + + + + + + /// + /// 回收地点 + /// + [SugarColumn(ColumnName = "recovery_location")] + public string RecoveryLocation { get; set; } + + + + /// + /// 体积 + /// + [SugarColumn(ColumnName = "volume")] + public string Volume { get; set; } + + + + /// + /// 配送方式 + /// + [SugarColumn(ColumnName = "delivery_method")] + public string DeliveryMethod { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 单据类型 + /// + [SugarColumn(ColumnName = "doc_type")] + public string DocType { get; set; } + + /// + /// 单据编号 + /// + [SugarColumn(ColumnName = "doc_number")] + public string DocNumber { get; set; } + + + /// + /// 缴库时间(关联回收任务主表) + /// + [SugarColumn(ColumnName = "storage_time")] + public DateTime? StorageTime { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index a82a961b..00a03587 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -6,10 +6,29 @@ 1701;1702;1591;1570 + + + + + + + + + + + + + + + + + + + diff --git a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs index a5180a0c..357cb765 100644 --- a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs +++ b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs @@ -1,11 +1,12 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsDetail.Dto; -using ZR.Model.FjhsDetail; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Repository; using ZR.Service.FjhsDetail.IFjhsDetailService; -using ZR.Model.FjhsRecycleSampling.Dto; -using materialDetailsList = ZR.Model.FjhsDetail.Dto.materialDetailsList; +//using ZR.Model.FjhsRecycleSampling.Dto; +//using materialDetailsList = ZR.Model.FjhsDetail.Dto.materialDetailsList; + namespace ZR.Service.FjhsDetail { @@ -13,14 +14,14 @@ namespace ZR.Service.FjhsDetail /// 回收明细表Service业务层处理 /// [AppService(ServiceType = typeof(IFjhsRecycleDetailService), ServiceLifetime = LifeTime.Transient)] - public class FjhsRecycleDetailService : BaseService, IFjhsRecycleDetailService + public class FjhsRecycleDetailService : BaseService, IFjhsRecycleDetailService { /// /// 查询回收明细表列表 /// /// /// - public PagedInfo GetList(FjhsRecycleDetailQueryDto parm) + public PagedInfo GetList(RecycleDetailQueryDto parm) { //var predicate = QueryExp(parm); @@ -117,13 +118,13 @@ namespace ZR.Service.FjhsDetail // 5. 执行查询(参数化传递,防止SQL注入) - var pageData = SqlQueryToList_T(mainSql, parameters); + var pageData = SqlQueryToList_T(mainSql, parameters); int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 // 6. 构建并返回分页结果 - return new PagedInfo + return new PagedInfo { TotalNum = totalCount, //Result = re, @@ -150,7 +151,7 @@ namespace ZR.Service.FjhsDetail // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleDetailQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleDetailQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -278,7 +279,7 @@ namespace ZR.Service.FjhsDetail /// //public FjhsRecycleDetail GetInfo(int Id) - public List GetInfo(int Id) + public List GetInfo(int Id) { @@ -291,7 +292,7 @@ namespace ZR.Service.FjhsDetail - var parm = new FjhsRecycleDetailQueryDto(); + var parm = new RecycleDetailQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -363,10 +364,10 @@ namespace ZR.Service.FjhsDetail // 执行主表查询 // var mainList = SqlQueryToList_T(mainSql, parameters); - var mainList = SqlQueryToList_T(mainSql, parameters); + var mainList = SqlQueryToList_T(mainSql, parameters); // 执行明细表查询 - var detailList = SqlQueryToList_T(mxSQL, parameters); + var detailList = SqlQueryToList_T(mxSQL, parameters); // 关联主表和明细表数据 foreach (var mainItem in mainList) @@ -408,7 +409,7 @@ namespace ZR.Service.FjhsDetail - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleDetailQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleDetailQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -443,7 +444,7 @@ namespace ZR.Service.FjhsDetail /// /// /// - public FjhsRecycleDetail AddFjhsRecycleDetail(FjhsRecycleDetail model) + public RecycleDetail AddFjhsRecycleDetail(RecycleDetail model) { return Insertable(model).ExecuteReturnEntity(); } @@ -453,7 +454,7 @@ namespace ZR.Service.FjhsDetail /// /// /// - public int UpdateFjhsRecycleDetail(FjhsRecycleDetail model) + public int UpdateFjhsRecycleDetail(RecycleDetail model) { return Update(model, true); @@ -477,7 +478,7 @@ namespace ZR.Service.FjhsDetail /// 导入回收明细表 /// /// - public (string, object, object) ImportFjhsRecycleDetail(List list) + public (string, object, object) ImportFjhsRecycleDetail(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -507,13 +508,13 @@ namespace ZR.Service.FjhsDetail /// /// /// - public PagedInfo ExportList(FjhsRecycleDetailQueryDto parm) + public PagedInfo ExportList(RecycleDetailQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new FjhsRecycleDetailDto() + .Select((it) => new RecycleDetailDto() { }, true) .ToPage(parm); @@ -526,9 +527,9 @@ namespace ZR.Service.FjhsDetail /// /// /// - private static Expressionable QueryExp(FjhsRecycleDetailQueryDto parm) + private static Expressionable QueryExp(RecycleDetailQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); return predicate; diff --git a/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs index 3a76bd3c..fec9cead 100644 --- a/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs +++ b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs @@ -1,26 +1,26 @@ -using ZR.Model.FjhsDetail.Dto; -using ZR.Model.FjhsDetail; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; namespace ZR.Service.FjhsDetail.IFjhsDetailService { /// /// 回收明细表service接口 /// - public interface IFjhsRecycleDetailService : IBaseService + public interface IFjhsRecycleDetailService : IBaseService { - PagedInfo GetList(FjhsRecycleDetailQueryDto parm); + PagedInfo GetList(RecycleDetailQueryDto parm); // FjhsRecycleDetail GetInfo(int Id); - List GetInfo(int Id); + List GetInfo(int Id); - FjhsRecycleDetail AddFjhsRecycleDetail(FjhsRecycleDetail parm); - int UpdateFjhsRecycleDetail(FjhsRecycleDetail parm); + RecycleDetail AddFjhsRecycleDetail(RecycleDetail parm); + int UpdateFjhsRecycleDetail(RecycleDetail parm); bool TruncateFjhsRecycleDetail(); - (string, object, object) ImportFjhsRecycleDetail(List list); + (string, object, object) ImportFjhsRecycleDetail(List list); - PagedInfo ExportList(FjhsRecycleDetailQueryDto parm); + PagedInfo ExportList(RecycleDetailQueryDto parm); } } diff --git a/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs index 4e10e136..ee42791b 100644 --- a/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs @@ -1,30 +1,31 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsImage.Dto; -using ZR.Model.FjhsImage; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Repository; using ZR.Service.FjhsImage.IFjhsImageService; + namespace ZR.Service.FjhsImage { /// /// 回收任务明细图片表Service业务层处理 /// [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailImageService), ServiceLifetime = LifeTime.Transient)] - public class FjhsRecycleTaskDetailImageService : BaseService, IFjhsRecycleTaskDetailImageService + public class FjhsRecycleTaskDetailImageService : BaseService, IFjhsRecycleTaskDetailImageService { - /// + /// RecycleTaskDetailImage RecycleTaskDetailImage /// 查询回收任务明细图片表列表 /// /// /// - public PagedInfo GetList(FjhsRecycleTaskDetailImageQueryDto parm) + public PagedInfo GetList(RecycleTaskDetailImageQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } @@ -35,7 +36,7 @@ namespace ZR.Service.FjhsImage /// /// /// - public FjhsRecycleTaskDetailImage GetInfo(int Id) + public RecycleTaskDetailImage GetInfo(int Id) { var response = Queryable() .Where(x => x.Id == Id) @@ -50,7 +51,7 @@ namespace ZR.Service.FjhsImage /// /// /// - public List< FjhsRecycleTaskDetailImage> GetListAll(string docnumber) + public List< RecycleTaskDetailImage> GetListAll(string docnumber) { var response = Queryable() .Where(x => x.DocNumber == docnumber) @@ -68,7 +69,7 @@ namespace ZR.Service.FjhsImage /// /// /// - public FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage model) + public RecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(RecycleTaskDetailImage model) { return Insertable(model).ExecuteReturnEntity(); } @@ -78,7 +79,7 @@ namespace ZR.Service.FjhsImage /// /// /// - public int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage model) + public int UpdateFjhsRecycleTaskDetailImage(RecycleTaskDetailImage model) { return Update(model, true); } @@ -101,7 +102,7 @@ namespace ZR.Service.FjhsImage /// 导入回收任务明细图片表 /// /// - public (string, object, object) ImportFjhsRecycleTaskDetailImage(List list) + public (string, object, object) ImportFjhsRecycleTaskDetailImage(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -133,13 +134,13 @@ namespace ZR.Service.FjhsImage /// /// /// - public PagedInfo ExportList(FjhsRecycleTaskDetailImageQueryDto parm) + public PagedInfo ExportList(RecycleTaskDetailImageQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new FjhsRecycleTaskDetailImageDto() + .Select((it) => new RecycleTaskDetailImageDto() { }, true) .ToPage(parm); @@ -152,9 +153,9 @@ namespace ZR.Service.FjhsImage /// /// /// - private static Expressionable QueryExp(FjhsRecycleTaskDetailImageQueryDto parm) + private static Expressionable QueryExp(RecycleTaskDetailImageQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Address), it => it.SampleImageUrl == parm.Address); diff --git a/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs index 3b3a3e8b..dc39b288 100644 --- a/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs +++ b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs @@ -1,26 +1,26 @@ -using ZR.Model.FjhsImage.Dto; -using ZR.Model.FjhsImage; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; namespace ZR.Service.FjhsImage.IFjhsImageService { /// /// 回收任务明细图片表service接口 /// - public interface IFjhsRecycleTaskDetailImageService : IBaseService + public interface IFjhsRecycleTaskDetailImageService : IBaseService { - PagedInfo GetList(FjhsRecycleTaskDetailImageQueryDto parm); + PagedInfo GetList(RecycleTaskDetailImageQueryDto parm); - FjhsRecycleTaskDetailImage GetInfo(int Id); + RecycleTaskDetailImage GetInfo(int Id); - List GetListAll(string docnumber); + List GetListAll(string docnumber); - FjhsRecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); - int UpdateFjhsRecycleTaskDetailImage(FjhsRecycleTaskDetailImage parm); + RecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(RecycleTaskDetailImage parm); + int UpdateFjhsRecycleTaskDetailImage(RecycleTaskDetailImage parm); bool TruncateFjhsRecycleTaskDetailImage(); - (string, object, object) ImportFjhsRecycleTaskDetailImage(List list); + (string, object, object) ImportFjhsRecycleTaskDetailImage(List list); - PagedInfo ExportList(FjhsRecycleTaskDetailImageQueryDto parm); + PagedInfo ExportList(RecycleTaskDetailImageQueryDto parm); } } diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs index 83c7bb92..acf2da22 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs @@ -1,7 +1,7 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsRecycle.Dto; -using ZR.Model.FjhsRecycle; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Repository; using ZR.Service.FjhsRecycle.IFjhsRecycleService; @@ -11,27 +11,27 @@ namespace ZR.Service.FjhsRecycle /// 回收任务明细表Service业务层处理 /// [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailService), ServiceLifetime = LifeTime.Transient)] - public class FjhsRecycleTaskDetailService : BaseService, IFjhsRecycleTaskDetailService + public class FjhsRecycleTaskDetailService : BaseService, IFjhsRecycleTaskDetailService { /// /// 查询回收任务明细表列表 /// /// /// - public PagedInfo GetList(FjhsRecycleTaskDetailQueryDto parm) + public PagedInfo GetList(RecycleTaskDetailQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleTaskHeadQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleTaskHeadQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -59,7 +59,7 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public FjhsRecycleTaskDetailDto[] GetInfo(int Id) + public RecycleTaskDetailDto[] GetInfo(int Id) { //var response = Queryable() // .Where(x => x.Id == Id) @@ -67,7 +67,7 @@ namespace ZR.Service.FjhsRecycle - var parm = new FjhsRecycleTaskHeadQueryDto(); + var parm = new RecycleTaskHeadQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -168,7 +168,7 @@ namespace ZR.Service.FjhsRecycle - var response = SqlQueryToList_T(mainSql, parameters).ToArray(); + var response = SqlQueryToList_T(mainSql, parameters).ToArray(); @@ -181,7 +181,7 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public FjhsRecycleTaskDetail AddFjhsRecycleTaskDetail(FjhsRecycleTaskDetail model) + public RecycleTaskDetail AddFjhsRecycleTaskDetail(RecycleTaskDetail model) { return Insertable(model).ExecuteReturnEntity(); } @@ -191,7 +191,7 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public int UpdateFjhsRecycleTaskDetail(FjhsRecycleTaskDetail model) + public int UpdateFjhsRecycleTaskDetail(RecycleTaskDetail model) { return Update(model, true); @@ -216,7 +216,7 @@ namespace ZR.Service.FjhsRecycle /// 导入回收任务明细表 /// /// - public (string, object, object) ImportFjhsRecycleTaskDetail(List list) + public (string, object, object) ImportFjhsRecycleTaskDetail(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -249,13 +249,13 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public PagedInfo ExportList(FjhsRecycleTaskDetailQueryDto parm) + public PagedInfo ExportList(RecycleTaskDetailQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new FjhsRecycleTaskDetailDto() + .Select((it) => new RecycleTaskDetailDto() { }, true) .ToPage(parm); @@ -268,9 +268,9 @@ namespace ZR.Service.FjhsRecycle /// /// /// - private static Expressionable QueryExp(FjhsRecycleTaskDetailQueryDto parm) + private static Expressionable QueryExp(RecycleTaskDetailQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(parm.BeginStorageTime == null, it => it.StorageTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); predicate = predicate.AndIF(parm.BeginStorageTime != null, it => it.StorageTime >= parm.BeginStorageTime); diff --git a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs index 23b22802..23fb0ec7 100644 --- a/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs @@ -1,7 +1,7 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsRecycle.Dto; -using ZR.Model.FjhsRecycle; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Repository; using ZR.Service.FjhsRecycle.IFjhsRecycleService; using ZR.Model.Knowledge; @@ -12,7 +12,7 @@ using System.Linq; using System.Collections.Generic; using Azure; using Aliyun.OSS; -using ZR.Model.FjhsImage.Dto; +//using ZR.Model.FjhsImage.Dto; using ZR.Model.DownM; namespace ZR.Service.FjhsRecycle @@ -21,14 +21,14 @@ namespace ZR.Service.FjhsRecycle /// 回收任务主表Service业务层处理 /// [AppService(ServiceType = typeof(IFjhsRecycleTaskHeadService), ServiceLifetime = LifeTime.Transient)] - public class FjhsRecycleTaskHeadService : BaseService, IFjhsRecycleTaskHeadService + public class FjhsRecycleTaskHeadService : BaseService, IFjhsRecycleTaskHeadService { /// /// 查询回收任务主表列表 /// /// /// - public PagedInfo GetList(FjhsRecycleTaskHeadQueryDto parm) + public PagedInfo GetList(RecycleTaskHeadQueryDto parm) { //var predicate = QueryExp(parm); @@ -199,7 +199,7 @@ namespace ZR.Service.FjhsRecycle // 5. 执行查询(参数化传递,防止SQL注入) - var pageData = SqlQueryToList_T(mainSql, parameters); + var pageData = SqlQueryToList_T(mainSql, parameters); int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto @@ -222,7 +222,7 @@ namespace ZR.Service.FjhsRecycle //); // 6. 构建并返回分页结果 - return new PagedInfo + return new PagedInfo { TotalNum = totalCount, //Result = re, @@ -245,7 +245,7 @@ namespace ZR.Service.FjhsRecycle // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleTaskHeadQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleTaskHeadQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -344,7 +344,7 @@ namespace ZR.Service.FjhsRecycle } - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleTaskHeadQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleTaskHeadQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -384,9 +384,9 @@ namespace ZR.Service.FjhsRecycle //} - public List GetInfo(int Id) + public List GetInfo(int Id) { - var parm = new FjhsRecycleTaskHeadQueryDto(); + var parm = new RecycleTaskHeadQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -513,7 +513,7 @@ namespace ZR.Service.FjhsRecycle try { - var response = SqlQueryToList_T(mainSql, parameters); + var response = SqlQueryToList_T(mainSql, parameters); return response; @@ -539,9 +539,9 @@ namespace ZR.Service.FjhsRecycle - public List Getlist(int Id) + public List Getlist(int Id) { - var parm = new FjhsRecycleTaskHeadQueryDto(); + var parm = new RecycleTaskHeadQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -572,7 +572,7 @@ namespace ZR.Service.FjhsRecycle - var response = SqlQueryToList_T(mainSql, parameters); + var response = SqlQueryToList_T(mainSql, parameters); return response; @@ -593,7 +593,7 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public FjhsRecycleTaskHead AddFjhsRecycleTaskHead(FjhsRecycleTaskHead model) + public RecycleTaskHead AddFjhsRecycleTaskHead(RecycleTaskHead model) { return Insertable(model).ExecuteReturnEntity(); } @@ -603,7 +603,7 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public int UpdateFjhsRecycleTaskHead(FjhsRecycleTaskHead model) + public int UpdateFjhsRecycleTaskHead(RecycleTaskHead model) { @@ -639,7 +639,7 @@ namespace ZR.Service.FjhsRecycle // 核心逻辑:where条件筛选出“ID在ids数组中的任务”,columns指定“将CurrentProcessStatus设为‘取消任务’” int affectedRows = Update( where: t => ids.Contains(t.Id), // where条件:任务ID在传入的ids数组中(需确保实体主键是Id) - columns: t => new FjhsRecycleTaskHead // 更新内容:仅修改状态字段 + columns: t => new RecycleTaskHead // 更新内容:仅修改状态字段 { // 关键:赋值实体属性(需与FjhsRecycleTaskHead类的属性名完全一致!) // 若数据库字段是current_process_status,实体类属性通常是CurrentProcessStatus(PascalCase命名规范) @@ -674,7 +674,7 @@ namespace ZR.Service.FjhsRecycle /// 导入回收任务主表 /// /// - public (string, object, object) ImportFjhsRecycleTaskHead(List list) + public (string, object, object) ImportFjhsRecycleTaskHead(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -710,13 +710,13 @@ namespace ZR.Service.FjhsRecycle /// /// /// - public PagedInfo ExportList(FjhsRecycleTaskHeadQueryDto parm) + public PagedInfo ExportList(RecycleTaskHeadQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new FjhsRecycleTaskHeadDto() + .Select((it) => new RecycleTaskHeadDto() { }, true) .ToPage(parm); @@ -729,9 +729,9 @@ namespace ZR.Service.FjhsRecycle /// /// /// - private static Expressionable QueryExp(FjhsRecycleTaskHeadQueryDto parm) + private static Expressionable QueryExp(RecycleTaskHeadQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Site), it => it.Site.Contains(parm.Site)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DemandUnit), it => it.DemandUnit.Contains(parm.DemandUnit)); @@ -857,9 +857,9 @@ namespace ZR.Service.FjhsRecycle - public List GetFjhsRecycleSampleList(int id) + public List GetFjhsRecycleSampleList(int id) { - var result = new List(); + var result = new List(); // 1. 查询主表信息(不含物料详情) var mainParm = new { Id = id }; @@ -902,7 +902,7 @@ namespace ZR.Service.FjhsRecycle h.id = @Id;"; // 执行主表查询,获取主记录列表(通常为单条,按ID查询) - var mainList = SqlQueryToList_T(mainSql, mainParm); + var mainList = SqlQueryToList_T(mainSql, mainParm); if (mainList == null || !mainList.Any()) { return result; // 无主记录时返回空列表 @@ -953,7 +953,7 @@ namespace ZR.Service.FjhsRecycle d.doc_number = @DocNumber;"; // 执行详情查询图片,转换FjhsRecycleTaskDetailImageDto列表 - var Images = SqlQueryToList_T(ImageSql, ImagesParm); + var Images = SqlQueryToList_T(ImageSql, ImagesParm); // 给主DTO的物料详情集合赋值 mainDto.sampleMaterialImages = Images; diff --git a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs index e10e2117..332f98e8 100644 --- a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs @@ -1,27 +1,27 @@ -using ZR.Model.FjhsRecycle.Dto; -using ZR.Model.FjhsRecycle; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; namespace ZR.Service.FjhsRecycle.IFjhsRecycleService { /// /// 回收任务明细表service接口 /// - public interface IFjhsRecycleTaskDetailService : IBaseService + public interface IFjhsRecycleTaskDetailService : IBaseService { - PagedInfo GetList(FjhsRecycleTaskDetailQueryDto parm); + PagedInfo GetList(RecycleTaskDetailQueryDto parm); //FjhsRecycleTaskDetail GetInfo(int Id); - FjhsRecycleTaskDetailDto[] GetInfo(int Id); + RecycleTaskDetailDto[] GetInfo(int Id); - FjhsRecycleTaskDetail AddFjhsRecycleTaskDetail(FjhsRecycleTaskDetail parm); - int UpdateFjhsRecycleTaskDetail(FjhsRecycleTaskDetail parm); + RecycleTaskDetail AddFjhsRecycleTaskDetail(RecycleTaskDetail parm); + int UpdateFjhsRecycleTaskDetail(RecycleTaskDetail parm); bool TruncateFjhsRecycleTaskDetail(); - (string, object, object) ImportFjhsRecycleTaskDetail(List list); + (string, object, object) ImportFjhsRecycleTaskDetail(List list); - PagedInfo ExportList(FjhsRecycleTaskDetailQueryDto parm); + PagedInfo ExportList(RecycleTaskDetailQueryDto parm); } diff --git a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs index 816deaeb..73164c93 100644 --- a/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs @@ -1,5 +1,5 @@ -using ZR.Model.FjhsRecycle.Dto; -using ZR.Model.FjhsRecycle; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Model.DownM; namespace ZR.Service.FjhsRecycle.IFjhsRecycleService @@ -7,29 +7,29 @@ namespace ZR.Service.FjhsRecycle.IFjhsRecycleService /// /// 回收任务主表service接口 /// - public interface IFjhsRecycleTaskHeadService : IBaseService + public interface IFjhsRecycleTaskHeadService : IBaseService { - PagedInfo GetList(FjhsRecycleTaskHeadQueryDto parm); + PagedInfo GetList(RecycleTaskHeadQueryDto parm); //FjhsRecycleTaskHead GetInfo(int Id); - List< FjhsRecycleTaskHeadDto> GetInfo(int Id); - List GetFjhsRecycleSampleList(int id); + List< RecycleTaskHeadDto> GetInfo(int Id); + List GetFjhsRecycleSampleList(int id); List GetTransportInfoList(int id); List GetRecycleMaterialDetailList(int id); - List Getlist(int Id); + List Getlist(int Id); - FjhsRecycleTaskHead AddFjhsRecycleTaskHead(FjhsRecycleTaskHead parm); - int UpdateFjhsRecycleTaskHead(FjhsRecycleTaskHead parm); + RecycleTaskHead AddFjhsRecycleTaskHead(RecycleTaskHead parm); + int UpdateFjhsRecycleTaskHead(RecycleTaskHead parm); bool TruncateFjhsRecycleTaskHead(); int CanceFjhsRecycleTaskHead(int[] ids); - (string, object, object) ImportFjhsRecycleTaskHead(List list); + (string, object, object) ImportFjhsRecycleTaskHead(List list); - PagedInfo ExportList(FjhsRecycleTaskHeadQueryDto parm); + PagedInfo ExportList(RecycleTaskHeadQueryDto parm); /// diff --git a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs index c3104774..191e0383 100644 --- a/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs @@ -1,11 +1,11 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using ZR.Model.FjhsRecycleSampling.Dto; -using ZR.Model.FjhsRecycleSampling; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; using ZR.Repository; using ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService; -using ZR.Model.FjhsRecycle.Dto; -using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +//using ZR.Model.FjhsRecycle.Dto; +//using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; using MimeKit; namespace ZR.Service.FjhsRecycleSampling @@ -14,14 +14,14 @@ namespace ZR.Service.FjhsRecycleSampling /// 堪样任务Service业务层处理 /// [AppService(ServiceType = typeof(IFjhsRecycleSamplingDetailService), ServiceLifetime = LifeTime.Transient)] - public class FjhsRecycleSamplingDetailService : BaseService, IFjhsRecycleSamplingDetailService + public class FjhsRecycleSamplingDetailService : BaseService, IFjhsRecycleSamplingDetailService { /// /// 查询堪样任务列表 /// /// /// - public PagedInfo GetList(FjhsRecycleSamplingDetailQueryDto parm) + public PagedInfo GetList(RecycleSamplingDetailQueryDto parm) { //var predicate = QueryExp(parm); @@ -112,7 +112,7 @@ namespace ZR.Service.FjhsRecycleSampling // 5. 执行查询(参数化传递,防止SQL注入) - var pageData = SqlQueryToList_T(mainSql, parameters); + var pageData = SqlQueryToList_T(mainSql, parameters); int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto @@ -135,7 +135,7 @@ namespace ZR.Service.FjhsRecycleSampling //); // 6. 构建并返回分页结果 - return new PagedInfo + return new PagedInfo { TotalNum = totalCount, //Result = re, @@ -160,7 +160,7 @@ namespace ZR.Service.FjhsRecycleSampling } - private (string WhereSql, SugarParameter[] Parameters) GetWhereDocNumber(FjhsRecycleSamplingDetailQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereDocNumber(RecycleSamplingDetailQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -185,7 +185,7 @@ namespace ZR.Service.FjhsRecycleSampling - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(FjhsRecycleSamplingDetailQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleSamplingDetailQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -211,7 +211,7 @@ namespace ZR.Service.FjhsRecycleSampling // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) - private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(FjhsRecycleSamplingDetailQueryDto parm) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleSamplingDetailQueryDto parm) { var whereConditions = new List(); var parameters = new List(); // 改为SugarParameter列表 @@ -342,9 +342,9 @@ namespace ZR.Service.FjhsRecycleSampling - public List GetInfoMaterialDetailsList(int Id) + public List GetInfoMaterialDetailsList(int Id) { - var parm = new FjhsRecycleSamplingDetailQueryDto(); + var parm = new RecycleSamplingDetailQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -376,7 +376,7 @@ namespace ZR.Service.FjhsRecycleSampling try { // 执行明细表查询 - var detailList = SqlQueryToList_T(mxSQL, parameters); + var detailList = SqlQueryToList_T(mxSQL, parameters); return detailList; } @@ -390,9 +390,9 @@ namespace ZR.Service.FjhsRecycleSampling } - public List GetID(string DocNumber) + public List GetID(string DocNumber) { - var parm = new FjhsRecycleSamplingDetailQueryDto(); + var parm = new RecycleSamplingDetailQueryDto(); parm.DocNumber = DocNumber; var (whereSql, parameters) = GetWhereDocNumber(parm); @@ -412,7 +412,7 @@ namespace ZR.Service.FjhsRecycleSampling try { // 执行主表查询 - var mainList = SqlQueryToList_T(mainSql, parameters); + var mainList = SqlQueryToList_T(mainSql, parameters); return mainList; } @@ -429,9 +429,9 @@ namespace ZR.Service.FjhsRecycleSampling - public List GetInfo(int Id) + public List GetInfo(int Id) { - var parm = new FjhsRecycleSamplingDetailQueryDto(); + var parm = new RecycleSamplingDetailQueryDto(); parm.Id = Id; var (whereSql, parameters) = GetWhereSqlID(parm); @@ -502,10 +502,10 @@ namespace ZR.Service.FjhsRecycleSampling { // 执行主表查询 - var mainList = SqlQueryToList_T(mainSql, parameters); + var mainList = SqlQueryToList_T(mainSql, parameters); // 执行明细表查询 - var detailList = SqlQueryToList_T(mxSQL, parameters); + var detailList = SqlQueryToList_T(mxSQL, parameters); // 关联主表和明细表数据 foreach (var mainItem in mainList) @@ -566,7 +566,7 @@ namespace ZR.Service.FjhsRecycleSampling /// /// /// - public FjhsRecycleSamplingDetail AddFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail model) + public RecycleSamplingDetail AddFjhsRecycleSamplingDetail(RecycleSamplingDetail model) { return Insertable(model).ExecuteReturnEntity(); } @@ -576,7 +576,7 @@ namespace ZR.Service.FjhsRecycleSampling /// /// /// - public int UpdateFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail model) + public int UpdateFjhsRecycleSamplingDetail(RecycleSamplingDetail model) { @@ -610,7 +610,7 @@ namespace ZR.Service.FjhsRecycleSampling /// 导入堪样任务 /// /// - public (string, object, object) ImportFjhsRecycleSamplingDetail(List list) + public (string, object, object) ImportFjhsRecycleSamplingDetail(List list) { var x = Context.Storageable(list) .SplitInsert(it => !it.Any()) @@ -640,13 +640,13 @@ namespace ZR.Service.FjhsRecycleSampling /// /// /// - public PagedInfo ExportList(FjhsRecycleSamplingDetailQueryDto parm) + public PagedInfo ExportList(RecycleSamplingDetailQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new FjhsRecycleSamplingDetailDto() + .Select((it) => new RecycleSamplingDetailDto() { }, true) .ToPage(parm); @@ -659,9 +659,9 @@ namespace ZR.Service.FjhsRecycleSampling /// /// /// - private static Expressionable QueryExp(FjhsRecycleSamplingDetailQueryDto parm) + private static Expressionable QueryExp(RecycleSamplingDetailQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AssetName), it => it.AssetName.Contains(parm.AssetName)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName)); diff --git a/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs index e1816b57..2505db36 100644 --- a/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs +++ b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs @@ -1,28 +1,28 @@ -using ZR.Model.FjhsRecycleSampling.Dto; -using ZR.Model.FjhsRecycleSampling; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; namespace ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService { /// /// 堪样任务service接口 /// - public interface IFjhsRecycleSamplingDetailService : IBaseService + public interface IFjhsRecycleSamplingDetailService : IBaseService { - PagedInfo GetList(FjhsRecycleSamplingDetailQueryDto parm); + PagedInfo GetList(RecycleSamplingDetailQueryDto parm); - List GetInfo(int Id); + List GetInfo(int Id); - List GetID(string DocNumber); + List GetID(string DocNumber); - List GetInfoMaterialDetailsList(int Id); + List GetInfoMaterialDetailsList(int Id); - FjhsRecycleSamplingDetail AddFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); - int UpdateFjhsRecycleSamplingDetail(FjhsRecycleSamplingDetail parm); + RecycleSamplingDetail AddFjhsRecycleSamplingDetail(RecycleSamplingDetail parm); + int UpdateFjhsRecycleSamplingDetail(RecycleSamplingDetail parm); bool TruncateFjhsRecycleSamplingDetail(); - (string, object, object) ImportFjhsRecycleSamplingDetail(List list); + (string, object, object) ImportFjhsRecycleSamplingDetail(List list); - PagedInfo ExportList(FjhsRecycleSamplingDetailQueryDto parm); + PagedInfo ExportList(RecycleSamplingDetailQueryDto parm); } } diff --git a/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs similarity index 49% rename from ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs rename to ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs index bc3458b1..6848b715 100644 --- a/ZR.Service/Knowledge/IKnowledgeService/IZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs @@ -7,24 +7,24 @@ namespace ZR.Service.Knowledge.IKnowledgeService /// /// 订单知识库service接口 /// - public interface IZskQdRawdataService : IBaseService + public interface IKnowledgeBaseRawdataService : IBaseService { //PagedInfo GetList(ZskQdRawdataQueryDto parm); - PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm); + PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm); - ZskQdRawdata GetInfo(long Id); + KnowledgeBaseRawdata GetInfo(long Id); - ZskQdRawdata AddZskQdRawdata(ZskQdRawdata parm); - int UpdateZskQdRawdata(ZskQdRawdata parm); + KnowledgeBaseRawdata AddZskQdRawdata(KnowledgeBaseRawdata parm); + int UpdateZskQdRawdata(KnowledgeBaseRawdata parm); bool TruncateZskQdRawdata(); //(string, object, object) ImportZskQdRawdata(List list); - (string, object, object) ImportZskQdRawdata(List list, string fildName); + (string, object, object) ImportZskQdRawdata(List list, string fildName); - PagedInfo ExportList(ZskQdRawdataQueryDto parm); + PagedInfo ExportList(KnowledgeBaseRawdataQueryDto parm); //PagedInfo ExportList(ZskQdRawdataLeftSgsRequiredQueryDto parm); } } diff --git a/ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs similarity index 32% rename from ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs rename to ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs index 5e4c9d53..8e400f31 100644 --- a/ZR.Service/Knowledge/IKnowledgeService/IZskSgsRequiredService.cs +++ b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs @@ -6,20 +6,20 @@ namespace ZR.Service.Knowledge.IKnowledgeService /// /// 省公司每日需求表service接口 /// - public interface IZskSgsRequiredService : IBaseService + public interface IKnowledgeBaseRequiredService : IBaseService { - PagedInfo GetList(ZskSgsRequiredQueryDto parm); + PagedInfo GetList(KnowledgeBaseRequiredQueryDto parm); - ZskSgsRequired GetInfo(long Id); + KnowledgeBaseRequired GetInfo(long Id); - ZskSgsRequired AddZskSgsRequired(ZskSgsRequired parm); - int UpdateZskSgsRequired(ZskSgsRequired parm); + KnowledgeBaseRequired AddZskSgsRequired(KnowledgeBaseRequired parm); + int UpdateZskSgsRequired(KnowledgeBaseRequired parm); bool TruncateZskSgsRequired(); - (string, object, object) ImportZskSgsRequired(List list); + (string, object, object) ImportZskSgsRequired(List list); - PagedInfo ExportList(ZskSgsRequiredQueryDto parm); + PagedInfo ExportList(KnowledgeBaseRequiredQueryDto parm); } } diff --git a/ZR.Service/Knowledge/ZskQdRawdataService.cs b/ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs similarity index 93% rename from ZR.Service/Knowledge/ZskQdRawdataService.cs rename to ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs index 691a49c1..b16216a0 100644 --- a/ZR.Service/Knowledge/ZskQdRawdataService.cs +++ b/ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs @@ -13,8 +13,8 @@ namespace ZR.Service.Knowledge /// /// 订单知识库Service业务层处理 /// - [AppService(ServiceType = typeof(IZskQdRawdataService), ServiceLifetime = LifeTime.Transient)] - public class ZskQdRawdataService : BaseService, IZskQdRawdataService + [AppService(ServiceType = typeof(IKnowledgeBaseRawdataService), ServiceLifetime = LifeTime.Transient)] + public class KnowledgeBaseRawdataService : BaseService, IKnowledgeBaseRawdataService { /// /// 查询订单知识库列表 @@ -32,7 +32,7 @@ namespace ZR.Service.Knowledge // return response; //} - public PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm) + public PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm) { try @@ -40,11 +40,11 @@ namespace ZR.Service.Knowledge var predicate = QueryExp(parm); var query = Queryable() - .LeftJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 + .LeftJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 .Where(predicate.ToExpression()); var query1 = Queryable() - .RightJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 + .RightJoin((raw, req) => raw.MaterialCode == req.MaterialCode) // 左连接条件 .Where(predicate.ToExpression()); @@ -177,7 +177,7 @@ namespace ZR.Service.Knowledge //}).MergeTable(); - var response = query.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto + var response = query.Select((raw, req) => new KnowledgeBaseRawdataLeftRequiredDto { SgsMaterialCode = req.MaterialCode, @@ -206,7 +206,7 @@ namespace ZR.Service.Knowledge AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色")) }); - var response1 = query1.Select((raw, req) => new ZskQdRawdataLeftSgsRequiredDto + var response1 = query1.Select((raw, req) => new KnowledgeBaseRawdataLeftRequiredDto { SgsMaterialCode = req.MaterialCode, @@ -243,7 +243,7 @@ namespace ZR.Service.Knowledge // 判断 DataSource 是否为空(包括 null、空字符串、纯空格) if (string.IsNullOrWhiteSpace(item.DataSource)) { - return new ZskQdRawdataLeftSgsRequiredDto + return new KnowledgeBaseRawdataLeftRequiredDto { // 基础字段保持不变 Id = item.Id, @@ -317,7 +317,7 @@ namespace ZR.Service.Knowledge .ToList(); // 5. 返回分页结果 - return new PagedInfo + return new PagedInfo { TotalNum = totalCount, Result = pageData, @@ -348,7 +348,7 @@ namespace ZR.Service.Knowledge /// /// /// - public ZskQdRawdata GetInfo(long Id) + public KnowledgeBaseRawdata GetInfo(long Id) { var response = Queryable() .Where(x => x.Id == Id) @@ -362,7 +362,7 @@ namespace ZR.Service.Knowledge /// /// /// - public ZskQdRawdata AddZskQdRawdata(ZskQdRawdata model) + public KnowledgeBaseRawdata AddZskQdRawdata(KnowledgeBaseRawdata model) { return Insertable(model).ExecuteReturnEntity(); } @@ -372,7 +372,7 @@ namespace ZR.Service.Knowledge /// /// /// - public int UpdateZskQdRawdata(ZskQdRawdata model) + public int UpdateZskQdRawdata(KnowledgeBaseRawdata model) { return Update(model, true); } @@ -419,14 +419,14 @@ namespace ZR.Service.Knowledge var parameter = new SugarParameter[] { }; - var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata"; + var str_sql = "INSERT INTO knowledge_base_rawdata_bak SELECT * from knowledge_base_rawdata"; var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak if (insert_sum > 0) { - var del_sql = "DELETE FROM zsk_qd_rawdata"; + var del_sql = "DELETE FROM knowledge_base_rawdata"; var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 @@ -455,7 +455,7 @@ namespace ZR.Service.Knowledge /// 导入订单知识库 /// /// - public (string, object, object) ImportZskQdRawdata(List list, string fildName) + public (string, object, object) ImportZskQdRawdata(List list, string fildName) { // var x = Context.Storageable(list) @@ -522,7 +522,7 @@ namespace ZR.Service.Knowledge - var select_sql = "SELECT DISTINCT DataSource FROM zsk_qd_rawdata"; + var select_sql = "SELECT DISTINCT DataSource FROM knowledge_base_rawdata"; var select_name = Context.Ado.GetDataTable(select_sql); bool existsTargetSource = false; @@ -575,7 +575,7 @@ namespace ZR.Service.Knowledge // var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata "; //var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata WHERE DataSource LIKE '%' + @DataSource + '%'"; - var str_sql = "INSERT INTO zsk_qd_rawdata_bak SELECT * from zsk_qd_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; + var str_sql = "INSERT INTO knowledge_base_rawdata_bak SELECT * from knowledge_base_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak @@ -583,7 +583,7 @@ namespace ZR.Service.Knowledge { //var del_sql = "DELETE FROM zsk_qd_rawdata WHERE DataSource LIKE '%' + @DataSource + '%'"; - var del_sql = "DELETE FROM zsk_qd_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; + var del_sql = "DELETE FROM knowledge_base_rawdata WHERE DataSource LIKE CONCAT('%', @DataSource, '%')"; var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_qd_rawdata表中的数据全部删除 } @@ -646,13 +646,13 @@ namespace ZR.Service.Knowledge // return response; //} - public PagedInfo ExportList(ZskQdRawdataQueryDto parm) + public PagedInfo ExportList(KnowledgeBaseRawdataQueryDto parm) { var predicate = QueryExp1(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new ZskQdRawdataDto() + .Select((it) => new KnowledgeBaseRawdataDto() { }, true) .ToPage(parm); @@ -666,9 +666,9 @@ namespace ZR.Service.Knowledge /// /// /// - private static Expressionable QueryExp1(ZskQdRawdataQueryDto parm) + private static Expressionable QueryExp1(KnowledgeBaseRawdataQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), it => it.DataSource.Contains(parm.DataSource)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), it => it.OrderNumber == parm.OrderNumber); @@ -679,11 +679,11 @@ namespace ZR.Service.Knowledge return predicate; } - private static Expressionable QueryExp(ZskQdRawdataLeftSgsRequiredQueryDto parm) + private static Expressionable QueryExp(ZskQdRawdataLeftSgsRequiredQueryDto parm) { // 创建一个基于两个实体的查询条件表达式 //var predicate = Expressionable.Create(); - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); // 映射左表(ZskQdRawdata)的查询条件 //predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DataSource), // (raw, req, dto) => raw.DataSource.Contains(parm.DataSource)); diff --git a/ZR.Service/Knowledge/ZskSgsRequiredService.cs b/ZR.Service/Knowledge/KnowledgeBaseRequiredService.cs similarity index 76% rename from ZR.Service/Knowledge/ZskSgsRequiredService.cs rename to ZR.Service/Knowledge/KnowledgeBaseRequiredService.cs index 51b03cc6..b423b077 100644 --- a/ZR.Service/Knowledge/ZskSgsRequiredService.cs +++ b/ZR.Service/Knowledge/KnowledgeBaseRequiredService.cs @@ -10,21 +10,21 @@ namespace ZR.Service.Knowledge /// /// 省公司每日需求表Service业务层处理 /// - [AppService(ServiceType = typeof(IZskSgsRequiredService), ServiceLifetime = LifeTime.Transient)] - public class ZskSgsRequiredService : BaseService, IZskSgsRequiredService + [AppService(ServiceType = typeof(IKnowledgeBaseRequiredService), ServiceLifetime = LifeTime.Transient)] + public class KnowledgeBaseRequiredService : BaseService, IKnowledgeBaseRequiredService { /// /// 查询省公司每日需求表列表 /// /// /// - public PagedInfo GetList(ZskSgsRequiredQueryDto parm) + public PagedInfo GetList(KnowledgeBaseRequiredQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } @@ -35,7 +35,7 @@ namespace ZR.Service.Knowledge /// /// /// - public ZskSgsRequired GetInfo(long Id) + public KnowledgeBaseRequired GetInfo(long Id) { var response = Queryable() .Where(x => x.Id == Id) @@ -49,7 +49,7 @@ namespace ZR.Service.Knowledge /// /// /// - public ZskSgsRequired AddZskSgsRequired(ZskSgsRequired model) + public KnowledgeBaseRequired AddZskSgsRequired(KnowledgeBaseRequired model) { return Insertable(model).ExecuteReturnEntity(); } @@ -59,7 +59,7 @@ namespace ZR.Service.Knowledge /// /// /// - public int UpdateZskSgsRequired(ZskSgsRequired model) + public int UpdateZskSgsRequired(KnowledgeBaseRequired model) { return Update(model, true); } @@ -70,10 +70,10 @@ namespace ZR.Service.Knowledge /// public bool TruncateZskSgsRequired() { - var newTableName = $"zsk_sgs_required_{DateTime.Now:yyyyMMdd}"; + var newTableName = $"knowledge_base_required_{DateTime.Now:yyyyMMdd}"; if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) { - Context.DbMaintenance.BackupTable("zsk_sgs_required", newTableName); + Context.DbMaintenance.BackupTable("knowledge_base_required", newTableName); } return Truncate(); @@ -82,7 +82,7 @@ namespace ZR.Service.Knowledge /// 导入省公司每日需求表 /// /// - public (string, object, object) ImportZskSgsRequired(List list) + public (string, object, object) ImportZskSgsRequired(List list) { @@ -90,14 +90,14 @@ namespace ZR.Service.Knowledge var parameter = new SugarParameter[] { }; - var str_sql = "INSERT INTO zsk_sgs_required_bak SELECT * from zsk_sgs_required"; + var str_sql = "INSERT INTO knowledge_base_required_bak SELECT * from knowledge_base_required"; var insert_sum = Context.Ado.ExecuteCommand(str_sql, parameter); //将zsk_sgs_required表中的数据备份到zsk_sgs_required_bak if (insert_sum > 0) { - var del_sql = "DELETE FROM zsk_sgs_required"; + var del_sql = "DELETE FROM knowledge_base_required"; var del_sum = Context.Ado.ExecuteCommand(del_sql, parameter);//将zsk_sgs_required表中的数据全部删除 } @@ -132,13 +132,13 @@ namespace ZR.Service.Knowledge /// /// /// - public PagedInfo ExportList(ZskSgsRequiredQueryDto parm) + public PagedInfo ExportList(KnowledgeBaseRequiredQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) - .Select((it) => new ZskSgsRequiredDto() + .Select((it) => new KnowledgeBaseRequiredDto() { }, true) .ToPage(parm); @@ -151,9 +151,9 @@ namespace ZR.Service.Knowledge /// /// /// - private static Expressionable QueryExp(ZskSgsRequiredQueryDto parm) + private static Expressionable QueryExp(KnowledgeBaseRequiredQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RequirementforIssuanceProportion.ToString()), it => it.RequirementforIssuanceProportion == parm.RequirementforIssuanceProportion); return predicate; diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs new file mode 100644 index 00000000..f704527e --- /dev/null +++ b/ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs @@ -0,0 +1,26 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.Recycle.IRecycleService +{ + /// + /// 回收明细表service接口 + /// + public interface IRecycleDetailService : IBaseService + { + PagedInfo GetList(RecycleDetailQueryDto parm); + + // FjhsRecycleDetail GetInfo(int Id); + List GetInfo(int Id); + + + RecycleDetail AddFjhsRecycleDetail(RecycleDetail parm); + int UpdateFjhsRecycleDetail(RecycleDetail parm); + + bool TruncateFjhsRecycleDetail(); + + (string, object, object) ImportFjhsRecycleDetail(List list); + + PagedInfo ExportList(RecycleDetailQueryDto parm); + } +} diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleSamplingDetailService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleSamplingDetailService.cs new file mode 100644 index 00000000..5e978884 --- /dev/null +++ b/ZR.Service/Recycle/IRecycleService/IRecycleSamplingDetailService.cs @@ -0,0 +1,28 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.Recycle.IRecycleService +{ + /// + /// 堪样任务service接口 + /// + public interface IRecycleSamplingDetailService : IBaseService + { + PagedInfo GetList(RecycleSamplingDetailQueryDto parm); + + List GetInfo(int Id); + + List GetID(string DocNumber); + + List GetInfoMaterialDetailsList(int Id); + + RecycleSamplingDetail AddFjhsRecycleSamplingDetail(RecycleSamplingDetail parm); + int UpdateFjhsRecycleSamplingDetail(RecycleSamplingDetail parm); + + bool TruncateFjhsRecycleSamplingDetail(); + + (string, object, object) ImportFjhsRecycleSamplingDetail(List list); + + PagedInfo ExportList(RecycleSamplingDetailQueryDto parm); + } +} diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailImageService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailImageService.cs new file mode 100644 index 00000000..6a006cfc --- /dev/null +++ b/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailImageService.cs @@ -0,0 +1,26 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.Recycle.IRecycleService +{ + /// + /// 回收任务明细图片表service接口 + /// + public interface IRecycleTaskDetailImageService : IBaseService + { + PagedInfo GetList(RecycleTaskDetailImageQueryDto parm); + + RecycleTaskDetailImage GetInfo(int Id); + + List GetListAll(string docnumber); + + RecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(RecycleTaskDetailImage parm); + int UpdateFjhsRecycleTaskDetailImage(RecycleTaskDetailImage parm); + + bool TruncateFjhsRecycleTaskDetailImage(); + + (string, object, object) ImportFjhsRecycleTaskDetailImage(List list); + + PagedInfo ExportList(RecycleTaskDetailImageQueryDto parm); + } +} diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailService.cs new file mode 100644 index 00000000..c4ccbcf4 --- /dev/null +++ b/ZR.Service/Recycle/IRecycleService/IRecycleTaskDetailService.cs @@ -0,0 +1,28 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.Recycle.IRecycleService +{ + /// + /// 回收任务明细表service接口 + /// + public interface IRecycleTaskDetailService : IBaseService + { + PagedInfo GetList(RecycleTaskDetailQueryDto parm); + + //FjhsRecycleTaskDetail GetInfo(int Id); + RecycleTaskDetailDto[] GetInfo(int Id); + + + RecycleTaskDetail AddFjhsRecycleTaskDetail(RecycleTaskDetail parm); + int UpdateFjhsRecycleTaskDetail(RecycleTaskDetail parm); + + bool TruncateFjhsRecycleTaskDetail(); + + (string, object, object) ImportFjhsRecycleTaskDetail(List list); + + PagedInfo ExportList(RecycleTaskDetailQueryDto parm); + + + } +} diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleTaskHeadService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleTaskHeadService.cs new file mode 100644 index 00000000..4e6abfe1 --- /dev/null +++ b/ZR.Service/Recycle/IRecycleService/IRecycleTaskHeadService.cs @@ -0,0 +1,42 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Model.DownM; + +namespace ZR.Service.Recycle.IRecycleService +{ + /// + /// 回收任务主表service接口 + /// + public interface IRecycleTaskHeadService : IBaseService + { + PagedInfo GetList(RecycleTaskHeadQueryDto parm); + + //FjhsRecycleTaskHead GetInfo(int Id); + + List< RecycleTaskHeadDto> GetInfo(int Id); + List GetFjhsRecycleSampleList(int id); + + List GetTransportInfoList(int id); + List GetRecycleMaterialDetailList(int id); + List Getlist(int Id); + + RecycleTaskHead AddFjhsRecycleTaskHead(RecycleTaskHead parm); + int UpdateFjhsRecycleTaskHead(RecycleTaskHead parm); + + bool TruncateFjhsRecycleTaskHead(); + + int CanceFjhsRecycleTaskHead(int[] ids); + + (string, object, object) ImportFjhsRecycleTaskHead(List list); + + PagedInfo ExportList(RecycleTaskHeadQueryDto parm); + + + /// + /// 获取当天最大单据序号 + /// + /// 当前日期 + /// 最大序号+1(如果没有则返回1) + int GetMaxSequenceByDate(DateTime date); + } +} diff --git a/ZR.Service/Recycle/RecycleDetailService.cs b/ZR.Service/Recycle/RecycleDetailService.cs new file mode 100644 index 00000000..6620c4f7 --- /dev/null +++ b/ZR.Service/Recycle/RecycleDetailService.cs @@ -0,0 +1,538 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Repository; +using ZR.Service.Recycle.IRecycleService; +//using ZR.Model.FjhsRecycleSampling.Dto; +//using materialDetailsList = ZR.Model.FjhsDetail.Dto.materialDetailsList; + + +namespace ZR.Service.Recycle +{ + /// + /// 回收明细表Service业务层处理 + /// + [AppService(ServiceType = typeof(IRecycleDetailService), ServiceLifetime = LifeTime.Transient)] + public class RecycleDetailService : BaseService, IRecycleDetailService + { + /// + /// 查询回收明细表列表 + /// + /// + /// + public PagedInfo GetList(RecycleDetailQueryDto parm) + { + //var predicate = QueryExp(parm); + + //var response = Queryable() + // .Where(predicate.ToExpression()) + // .ToPage(parm); + + //return response; + + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.number AS HBDocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.expected_recycle_qty, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + recycle_task_head h + JOIN + recycle_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status IN ('1','11') {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize}; "; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + recycle_task_head h + JOIN + recycle_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status IN ('1','11') {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + + + } + + + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + // 示例8:按联系人查询 + if (!string.IsNullOrEmpty(parm.ContactPerson)) + { + string paramName = "@ContactPerson"; + whereConditions.Add($"h.contact_person = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.ContactPerson)); + } + + + + // 示例9:合并单号查询 + if (!string.IsNullOrEmpty(parm.HBdocNumber)) + { + string paramName = "@HBdocNumber"; + whereConditions.Add($"d.HBdoc_number = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.HBdocNumber)); + } + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + /// + /// 获取详情 + /// + /// + /// + //public FjhsRecycleDetail GetInfo(int Id) + + public List GetInfo(int Id) + { + + + + //var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + //return response; + + + + var parm = new RecycleDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '待定' + END AS IsMeetRecycleCondition, + -- 添加主表其他需要的字段 + h.creator AS Creator, + h.create_time AS CreateTime, + h.updater AS Updater + FROM + recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_recycle_qty AS ActualRecycleQty, + d.expected_recycle_qty AS ApprovedQuantity, + d.remarks AS Remarks, + d.recycle_user AS RecycleUser, + d.recycle_time AS RecycleTime + FROM + recycle_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + try + { + + // 执行主表查询 + // var mainList = SqlQueryToList_T(mainSql, parameters); + + var mainList = SqlQueryToList_T(mainSql, parameters); + + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + // 关联主表和明细表数据 + foreach (var mainItem in mainList) + { + // 为每个主表项分配对应的明细列表 + mainItem.materialDetails = detailList + // 假设通过DocNumber关联主表和明细表 + .Where(detail => detail.DocNumber == mainItem.DocNumber) + .ToList(); + + // 计算物料总数和种类数(从明细数据中统计) + if (mainItem.materialDetails != null && mainItem.materialDetails.Count > 0) + { + mainItem.totalNumber = mainItem.materialDetails + .Sum(d => d.ApprovedQuantity != null ? int.Parse(d.ApprovedQuantity) : 0); + + mainItem.materialType = mainItem.materialDetails + .Select(d => d.MaterialName) + .Distinct() + .Count(); + } + } + + + + + return mainList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + + } + + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + + + /// + /// 添加回收明细表 + /// + /// + /// + public RecycleDetail AddFjhsRecycleDetail(RecycleDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收明细表 + /// + /// + /// + public int UpdateFjhsRecycleDetail(RecycleDetail model) + { + return Update(model, true); + + } + + /// + /// 清空回收明细表 + /// + /// + public bool TruncateFjhsRecycleDetail() + { + var newTableName = $"recycle_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("recycle_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收明细表 + /// + /// + public (string, object, object) ImportFjhsRecycleDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收明细表 + /// + /// + /// + public PagedInfo ExportList(RecycleDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new RecycleDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(RecycleDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Recycle/RecycleSamplingDetailService.cs b/ZR.Service/Recycle/RecycleSamplingDetailService.cs new file mode 100644 index 00000000..9a8bdecf --- /dev/null +++ b/ZR.Service/Recycle/RecycleSamplingDetailService.cs @@ -0,0 +1,672 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Repository; +using ZR.Service.Recycle.IRecycleService; +//using ZR.Model.FjhsRecycle.Dto; +//using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +using MimeKit; + +namespace ZR.Service.Recycle +{ + /// + /// 堪样任务Service业务层处理 + /// + [AppService(ServiceType = typeof(IRecycleSamplingDetailService), ServiceLifetime = LifeTime.Transient)] + public class RecycleSamplingDetailService : BaseService, IRecycleSamplingDetailService + { + /// + /// 查询堪样任务列表 + /// + /// + /// + public PagedInfo GetList(RecycleSamplingDetailQueryDto parm) + { + //var predicate = QueryExp(parm); + + //var response = Queryable() + // .Where(predicate.ToExpression()) + // .ToPage(parm); + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.estimated_recycle_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + recycle_task_head h + JOIN + recycle_sampling_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status IN ('01','02','03') {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize}; "; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + recycle_task_head h + JOIN + recycle_sampling_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status IN ('01','02','03') {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto + //{ + // DocNumber = g.DocNumber, + // DemandUnit = g.DemandUnit, + // Site = g.Site, + // UpdateTime = g.UpdateTime, + // CurrentProcessStatus = g.CurrentProcessStatus, + // CurrentExpectedStatus = g.CurrentExpectedStatus, + // ContactPhone = g.ContactPhone, + // ContactPerson = g.ContactPerson, + // StorageTime = g.StorageTime, + + // materialType = g.materialType, + // totalNumber = g.totalNumber + //} + + + //); + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + + + + } + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereDocNumber(RecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.DocNumber.ToString())) + { + string paramName = "@DocNumber"; + whereConditions.Add($"h.doc_number = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DocNumber)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleSamplingDetailQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + // 示例8:按联系人查询 + if (!string.IsNullOrEmpty(parm.ContactPerson)) + { + string paramName = "@ContactPerson"; + whereConditions.Add($"h.contact_person = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.ContactPerson)); + } + + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + + + + + + + + ///// + ///// 获取详情 + ///// + ///// + ///// + //public FjhsRecycleSamplingDetail GetInfo(int Id) + //{ + // var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + // return response; + //} + + + + public List GetInfoMaterialDetailsList(int Id) + { + var parm = new RecycleSamplingDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_sampling_quantity AS ActualSamplingQuantity, + d.estimated_recycle_quantity AS ApprovedQuantity, + d.remarks AS Remarks, + d.sampler AS Sampler, + d.sampling_time AS SamplingTime + FROM + recycle_sampling_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM fjhs_recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + + try + { + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + return detailList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + } + + + public List GetID(string DocNumber) + { + var parm = new RecycleSamplingDetailQueryDto(); + parm.DocNumber = DocNumber; + + var (whereSql, parameters) = GetWhereDocNumber(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber + + FROM + recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + try + { + // 执行主表查询 + var mainList = SqlQueryToList_T(mainSql, parameters); + + return mainList; + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } + + } + + + + + + public List GetInfo(int Id) + { + var parm = new RecycleSamplingDetailQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // 主表查询SQL - 获取主表信息 + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' + ELSE '具备' + END AS IsMeetRecycleCondition, + -- 添加主表其他需要的字段 + h.creator AS Creator, + h.create_time AS CreateTime, + h.updater AS Updater + FROM + recycle_task_head h + + WHERE + 1=1 {whereSql}"; + + // 明细表查询SQL - 获取当前主表关联的明细数据 + string mxSQL = $@" + SELECT + d.id AS ID, + d.doc_number AS DocNumber, + d.material_name AS MaterialName, + d.asset_name AS AssetName, + d.asset_card_number AS AssetCardNumber, + d.specification AS Specification, + d.unit_card AS UnitCard, + d.actual_sampling_quantity AS ActualSamplingQuantity, + d.estimated_recycle_quantity AS ApprovedQuantity, + d.remarks AS Remarks, + d.sampler AS Sampler, + d.sampling_time AS SamplingTime + FROM + recycle_sampling_detail d + WHERE + d.doc_number IN ( + SELECT doc_number FROM recycle_task_head h + WHERE 1=1 {whereSql} + )"; + + try + { + + // 执行主表查询 + var mainList = SqlQueryToList_T(mainSql, parameters); + + // 执行明细表查询 + var detailList = SqlQueryToList_T(mxSQL, parameters); + + // 关联主表和明细表数据 + foreach (var mainItem in mainList) + { + // 为每个主表项分配对应的明细列表 + mainItem.materialDetails = detailList + // 假设通过DocNumber关联主表和明细表 + .Where(detail => detail.DocNumber == mainItem.DocNumber) + .ToList(); + + // 计算物料总数和种类数(从明细数据中统计) + if (mainItem.materialDetails != null && mainItem.materialDetails.Count > 0) + { + mainItem.totalNumber = mainItem.materialDetails + .Sum(d => d.ApprovedQuantity != null ? int.Parse(d.ApprovedQuantity) : 0); + + mainItem.materialType = mainItem.materialDetails + .Select(d => d.MaterialName) + .Distinct() + .Count(); + } + } + + + + + return mainList; + } + catch (Exception EX) + { + var result = EX.Message; + throw; + } + + + + + + + + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + + + /// + /// 添加堪样任务 + /// + /// + /// + public RecycleSamplingDetail AddFjhsRecycleSamplingDetail(RecycleSamplingDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改堪样任务 + /// + /// + /// + public int UpdateFjhsRecycleSamplingDetail(RecycleSamplingDetail model) + { + + + try + { + return Update(model, true); + + } + catch (Exception ex) + { + var m = ex.Message; + throw; + } + } + + /// + /// 清空堪样任务 + /// + /// + public bool TruncateFjhsRecycleSamplingDetail() + { + var newTableName = $"recycle_sampling_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("recycle_sampling_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入堪样任务 + /// + /// + public (string, object, object) ImportFjhsRecycleSamplingDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出堪样任务 + /// + /// + /// + public PagedInfo ExportList(RecycleSamplingDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new RecycleSamplingDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(RecycleSamplingDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AssetName), it => it.AssetName.Contains(parm.AssetName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Recycle/RecycleTaskDetailImageService.cs b/ZR.Service/Recycle/RecycleTaskDetailImageService.cs new file mode 100644 index 00000000..ce7c6080 --- /dev/null +++ b/ZR.Service/Recycle/RecycleTaskDetailImageService.cs @@ -0,0 +1,169 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Repository; +using ZR.Service.Recycle.IRecycleService; + + +namespace ZR.Service.Recycle +{ + /// + /// 回收任务明细图片表Service业务层处理 + /// + [AppService(ServiceType = typeof(IRecycleTaskDetailImageService), ServiceLifetime = LifeTime.Transient)] + public class RecycleTaskDetailImageService : BaseService, IRecycleTaskDetailImageService + { + /// RecycleTaskDetailImage RecycleTaskDetailImage + /// 查询回收任务明细图片表列表 + /// + /// + /// + public PagedInfo GetList(RecycleTaskDetailImageQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public RecycleTaskDetailImage GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public List< RecycleTaskDetailImage> GetListAll(string docnumber) + { + var response = Queryable() + .Where(x => x.DocNumber == docnumber) + .ToList(); + ; + + return response; + } + + + + + /// + /// 添加回收任务明细图片表 + /// + /// + /// + public RecycleTaskDetailImage AddFjhsRecycleTaskDetailImage(RecycleTaskDetailImage model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务明细图片表 + /// + /// + /// + public int UpdateFjhsRecycleTaskDetailImage(RecycleTaskDetailImage model) + { + return Update(model, true); + } + + /// + /// 清空回收任务明细图片表 + /// + /// + public bool TruncateFjhsRecycleTaskDetailImage() + { + var newTableName = $"recycle_task_detail_image_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("recycle_task_detail_image", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务明细图片表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskDetailImage(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + .SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + .SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务明细图片表 + /// + /// + /// + public PagedInfo ExportList(RecycleTaskDetailImageQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new RecycleTaskDetailImageDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(RecycleTaskDetailImageQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Address), it => it.SampleImageUrl == parm.Address); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Creator), it => it.Creator == parm.Creator); + predicate = predicate.AndIF(parm.BeginCreateTime == null, it => it.CreateTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginCreateTime != null, it => it.CreateTime >= parm.BeginCreateTime); + predicate = predicate.AndIF(parm.EndCreateTime != null, it => it.CreateTime <= parm.EndCreateTime); + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Recycle/RecycleTaskDetailService.cs b/ZR.Service/Recycle/RecycleTaskDetailService.cs new file mode 100644 index 00000000..234b15db --- /dev/null +++ b/ZR.Service/Recycle/RecycleTaskDetailService.cs @@ -0,0 +1,285 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Repository; +using ZR.Service.Recycle.IRecycleService; + +namespace ZR.Service.Recycle +{ + /// + /// 回收任务明细表Service业务层处理 + /// + [AppService(ServiceType = typeof(IRecycleTaskDetailService), ServiceLifetime = LifeTime.Transient)] + public class RecycleTaskDetailService : BaseService, IRecycleTaskDetailService + { + /// + /// 查询回收任务明细表列表 + /// + /// + /// + public PagedInfo GetList(RecycleTaskDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + /// + /// 获取详情 + /// + /// + /// + public RecycleTaskDetailDto[] GetInfo(int Id) + { + //var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + + + var parm = new RecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + //string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.current_process_status AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNumber, + // d.specification AS specification, + // d.unit_card AS unitCard, + // d.approved_quantity approvedQuantity + // FROM + // fjhs_recycle_task_head h + // LEFT JOIN + // fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + // WHERE + // 1=1 {whereSql} "; + + + + // string mainSql = $@" + //SELECT + // DISTINCT + + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNumber, + // d.specification AS specification, + // d.unit_card AS unitCard, + // d.approved_quantity AS approvedQuantity, + // s.actual_sampling_quantity AS sampleQty, + // s.sampling_time AS sampleTime, + // r.actual_recycle_qty AS ActualRecycleQty, + // r.recycle_time as RecycleTime + // FROM + + // fjhs_recycle_task_detail d + + // left JOIN + // fjhs_recycle_task_head h + // ON h.doc_number = d.doc_number + + // left JOIN fjhs_recycle_sampling_detail s + // ON s.doc_number = d.doc_number AND d.material_name = s.material_name + + //LEFT JOIN fjhs_recycle_detail r ON r.doc_number = h.doc_number + + // WHERE + // 1=1 {whereSql} "; + + + + + + string mainSql = $@" + + SELECT + DISTINCT + + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNumber, + d.specification AS specification, + d.unit_card AS unitCard, + d.approved_quantity AS approvedQuantity, + s.actual_sampling_quantity AS sampleQty, + s.sampling_time AS sampleTime, + r.actual_recycle_qty AS ActualRecycleQty, + r.recycle_time as RecycleTime + FROM + + recycle_task_detail d + + JOIN + recycle_task_head h + ON h.doc_number = d.doc_number + + left JOIN recycle_sampling_detail s + ON s.doc_number = d.doc_number AND d.material_name = s.material_name and d.asset_card_number = s.asset_card_number + + left JOIN recycle_detail r ON r.doc_number = h.doc_number AND d.material_name = r.material_name and d.asset_card_number = r.asset_card_number + + WHERE + 1=1 {whereSql} "; + + + + + + var response = SqlQueryToList_T(mainSql, parameters).ToArray(); + + + + + return response; + } + + /// + /// 添加回收任务明细表 + /// + /// + /// + public RecycleTaskDetail AddFjhsRecycleTaskDetail(RecycleTaskDetail model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务明细表 + /// + /// + /// + public int UpdateFjhsRecycleTaskDetail(RecycleTaskDetail model) + { + return Update(model, true); + + + } + + /// + /// 清空回收任务明细表 + /// + /// + public bool TruncateFjhsRecycleTaskDetail() + { + var newTableName = $"recycle_task_detail_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("recycle_task_detail", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务明细表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskDetail(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + .SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + .SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + .SplitError(x => x.Item.AssetName.IsEmpty(), "资产名称不能为空") + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号(关联回收任务主表)不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务明细表 + /// + /// + /// + public PagedInfo ExportList(RecycleTaskDetailQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new RecycleTaskDetailDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(RecycleTaskDetailQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.BeginStorageTime == null, it => it.StorageTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginStorageTime != null, it => it.StorageTime >= parm.BeginStorageTime); + predicate = predicate.AndIF(parm.EndStorageTime != null, it => it.StorageTime <= parm.EndStorageTime); + return predicate; + } + + + + + } +} \ No newline at end of file diff --git a/ZR.Service/Recycle/RecycleTaskHeadService.cs b/ZR.Service/Recycle/RecycleTaskHeadService.cs new file mode 100644 index 00000000..e93e9b99 --- /dev/null +++ b/ZR.Service/Recycle/RecycleTaskHeadService.cs @@ -0,0 +1,1049 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Repository; +using ZR.Service.Recycle.IRecycleService; +using ZR.Model.Knowledge; +using ZR.Model.Knowledge.Dto; +using SqlSugar; +using System; +using System.Linq; +using System.Collections.Generic; +using Azure; +using Aliyun.OSS; +//using ZR.Model.FjhsImage.Dto; +using ZR.Model.DownM; + +namespace ZR.Service.Recycle +{ + /// + /// 回收任务主表Service业务层处理 + /// + [AppService(ServiceType = typeof(IRecycleTaskHeadService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskHeadService : BaseService, IRecycleTaskHeadService + { + /// + /// 查询回收任务主表列表 + /// + /// + /// + public PagedInfo GetList(RecycleTaskHeadQueryDto parm) + { + //var predicate = QueryExp(parm); + + // var response = Queryable() + // .LeftJoin((raw, req) => raw.DocNumber == req.DocNumber) // 左连接条件 + + + // .Where(predicate.ToExpression()) + + ////.Select((raw, req) => new FjhsRecycleTaskHeadDto + ////{ + + //// materialType = req.MaterialName, + //// totalNumber =req.ApprovedQuantity, + + //// DocNumber = raw.DocNumber, + + //// DemandUnit = raw.DemandUnit, + //// Site = raw.Site, + //// StorageTime = req.StorageTime, + //// UpdateTime = raw.UpdateTime, + //// CurrentProcessStatus =raw.CurrentProcessStatus, + //// CurrentExpectedStatus =raw.CurrentExpectedStatus, + //// ContactPhone =raw.ContactPhone, + //// ContactPerson =raw.ContactPerson, + + + ////}) + + //// 按主表唯一标识分组(确保每个主表记录对应一组明细) + // .GroupBy(g => g.Head.DocNumber) + // // 分组后聚合统计 + // .Select(g => new FjhsRecycleTaskHeadDto + // { + // // 主表字段直接从分组的Head中取(因分组键是DocNumber,组内Head信息一致) + // DocNumber = g.First().Head.DocNumber, + // DemandUnit = g.First().Head.DemandUnit, + // Site = g.First().Head.Site, + // UpdateTime = g.First().Head.UpdateTime, + // CurrentProcessStatus = g.First().Head.CurrentProcessStatus, + // CurrentExpectedStatus = g.First().Head.CurrentExpectedStatus, + // ContactPhone = g.First().Head.ContactPhone, + // ContactPerson = g.First().Head.ContactPerson, + // StorageTime = g.First().Detail.StorageTime, // 若StorageTime需取明细的,这里取第一个(或根据业务调整) + + // // 统计:ApprovedQuantity的总和(处理可能的null,默认0) + // totalNumber = g.Sum(item => item.Detail.ApprovedQuantity ?? 0), + + // // 统计:MaterialName去重后的个数(过滤null值后去重计数) + // materialType = g + // .Select(item => item.Detail.MaterialName) + // .Where(name => !string.IsNullOrEmpty(name)) // 排除null或空字符串 + // .Distinct() + // .Count() + // }) + + // .ToPage(parm); + + //var sql = "SELECT h.doc_number, h.demand_unit, h.site, h.update_time, h.current_process_status, h.current_expected_status, h.contact_phone, h.contact_person, MIN(d.storage_time) AS StorageTime, SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' THEN d.material_name END) AS materialType FROM fjhs_recycle_task_head h LEFT JOIN fjhs_recycle_task_detail d ON h.doc_number = d.doc_number WHERE 1=1 GROUP BY h.doc_number, h.demand_unit ORDER BY h.update_time DESC "; + + //var list = SqlQueryToList(sql, null); + //var response = list.ToList(); + + + // // 4. 手动分页(计算总条数、当前页数据) + // int pageIndex = Math.Max(parm.PageNum, 1); // 页码校正(至少为1) + //int pageSize = Math.Max(parm.PageSize, 10); // 页大小校正(默认10条) + //int totalCount = response.Count; + //var pageData = response + // .Skip((pageIndex - 1) * pageSize) // 跳过前N条 + // .Take(pageSize) // 取当前页数据 + // .ToList(); + + //// 5. 返回分页结果 + //return new PagedInfo + //{ + // TotalNum = totalCount, + // Result = pageData, + // PageIndex = pageIndex, + // PageSize = pageSize + //}; + + + + + try + { + + + // 1. 处理分页参数(确保合法值) + int pageIndex = Math.Max(parm.PageNum, 1); // 页码至少为1 + int pageSize = Math.Max(parm.PageSize, 10); // 页大小默认10条 + int skipCount = (pageIndex - 1) * pageSize; // 跳过的记录数 + + // 2. 构建查询条件(将predicate转换为SQL条件,参数化防止注入) + var (whereSql, parameters) = GetWhereSqlAndParameters(parm); + + // 3. 构建主查询SQL(数据库端分页,避免内存全量查询) + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + h.backup1 AS Backup1, + + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '已完成' + WHEN h.current_process_status = '99' THEN '取消' + + END AS CurrentProcessStatus, + + + + CASE + WHEN h.current_expected_status = '1' THEN '正常' + WHEN h.current_expected_status = '2' THEN '即将逾期' + WHEN h.current_expected_status = '3' THEN '逾期' + + END AS CurrentExpectedStatus, + + + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN 0 + WHEN h.is_meet_recycle_condition = 1 THEN 1 + ELSE 1 + END AS IsMeetRecycleCondition, + SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + recycle_task_head h + LEFT JOIN + recycle_task_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status != '99' {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person + ORDER BY + h.update_time DESC , + h.create_time DESC + + LIMIT {skipCount}, {pageSize};"; + + + // 3. 2 总条数查询SQL(单独查总记录数,避免用当前页数据Count冒充) + string countSql = $@" + SELECT + COUNT(DISTINCT h.doc_number) -- 按主表唯一标识计数,避免重复 + FROM + recycle_task_head h + LEFT JOIN + recycle_task_detail d ON h.doc_number = d.doc_number + WHERE + h.current_process_status != '99' {whereSql};"; // 复用相同查询条件,确保总条数与结果匹配 + + + // 5. 执行查询(参数化传递,防止SQL注入) + var pageData = SqlQueryToList_T(mainSql, parameters); + int totalCount = SqlQuerySingle(countSql, parameters); // 获取总条数 + + //var re = pageData.Select(g => new FjhsRecycleTaskHeadDto + //{ + // DocNumber = g.DocNumber, + // DemandUnit = g.DemandUnit, + // Site = g.Site, + // UpdateTime = g.UpdateTime, + // CurrentProcessStatus = g.CurrentProcessStatus, + // CurrentExpectedStatus = g.CurrentExpectedStatus, + // ContactPhone = g.ContactPhone, + // ContactPerson = g.ContactPerson, + // StorageTime = g.StorageTime, + + // materialType = g.materialType, + // totalNumber = g.totalNumber + //} + + + //); + + // 6. 构建并返回分页结果 + return new PagedInfo + { + TotalNum = totalCount, + //Result = re, + Result = pageData, + PageIndex = pageIndex, + PageSize = pageSize, + TotalPage = (int)Math.Ceiling(totalCount / (double)pageSize) // 计算总页数 + }; + + } + catch (Exception ex) + { + var message = ex.Message; + throw; + } + + + + } + + + // 辅助方法:将查询条件转换为SQL片段和参数(核心:处理predicate,参数化) + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlAndParameters(RecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + // 示例1:按单据号模糊查询 + if (!string.IsNullOrEmpty(parm.DocNumber)) + { + string paramName = "@DocNumber"; // 参数名(需与SQL中一致) + whereConditions.Add($"h.doc_number LIKE {paramName}"); + parameters.Add(new SugarParameter(paramName, $"%{parm.DocNumber}%")); // 创建SugarParameter + } + + // 示例2:按站点精确查询 + if (!string.IsNullOrEmpty(parm.Site)) + { + string paramName = "@Site"; + whereConditions.Add($"h.site = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Site)); + } + + // 示例3:按处理状态查询 + if (!string.IsNullOrEmpty(parm.CurrentProcessStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_process_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentProcessStatus)); + } + + + + + + + // 示例4:按更新时间范围查询 + if (parm.BeginUpdateTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.update_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginUpdateTime.Value)); + } + if (parm.EndUpdateTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.update_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndUpdateTime.Value)); + } + + + // 示例5:按缴库时间范围查询 + if (parm.BeginStorageTime.HasValue) + { + string paramName = "@StartTime"; + whereConditions.Add($"h.storage_time >= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.BeginStorageTime.Value)); + } + if (parm.EndStorageTime.HasValue) + { + string paramName = "@EndTime"; + whereConditions.Add($"h.storage_time <= {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.EndStorageTime.Value)); + } + + + // 示例6:按需求单位精确查询 + if (!string.IsNullOrEmpty(parm.DemandUnit)) + { + string paramName = "@Site"; + whereConditions.Add($"h.demand_unit = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.DemandUnit)); + } + + // 示例7:按逾期状态查询 + if (!string.IsNullOrEmpty(parm.CurrentExpectedStatus)) + { + string paramName = "@CurrentProcessStatus"; + whereConditions.Add($"h.current_expected_status = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.CurrentExpectedStatus)); + } + + + + + //// 示例5:按id查询 + //if (!string.IsNullOrEmpty(parm.Id.ToString())) + //{ + // string paramName = "@Id"; + // whereConditions.Add($"h.id = {paramName}"); + // parameters.Add(new SugarParameter(paramName, parm.Id)); + //} + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + private (string WhereSql, SugarParameter[] Parameters) GetWhereSqlID(RecycleTaskHeadQueryDto parm) + { + var whereConditions = new List(); + var parameters = new List(); // 改为SugarParameter列表 + + + + + // 示例5:按id查询 + if (!string.IsNullOrEmpty(parm.Id.ToString())) + { + string paramName = "@Id"; + whereConditions.Add($"h.id = {paramName}"); + parameters.Add(new SugarParameter(paramName, parm.Id)); + } + + + + // 拼接条件SQL + 转换为SugarParameter数组 + string whereSql = whereConditions.Any() ? " AND " + string.Join(" AND ", whereConditions) : ""; + return (whereSql, parameters.ToArray()); // 返回数组 + } + + + /// + /// 获取详情 + /// + /// + /// 表示查询结果是1条还是多条,more =true表示多条 + /// + //public FjhsRecycleTaskHead GetInfo(int Id) + //{ + // var response = Queryable() + // .Where(x => x.Id == Id) + // .First(); + + // return response; + //} + + + public List GetInfo(int Id) + { + var parm = new RecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + // string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.backup1 AS Backup1, + // CASE + // WHEN h.current_process_status = '0' THEN '生成单据' + // WHEN h.current_process_status = '01' THEN '待堪样' + // WHEN h.current_process_status = '02' THEN '堪样暂存' + // WHEN h.current_process_status = '03' THEN '堪样完成' + // WHEN h.current_process_status = '1' THEN '待回收搬运' + // WHEN h.current_process_status = '11' THEN '回收搬运暂存' + // WHEN h.current_process_status = '2' THEN '完成' + // WHEN h.current_process_status = '99' THEN '取消' + // ELSE '未知任务状态' + // END AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // CASE + // WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + // WHEN h.is_meet_recycle_condition = 1 THEN '具备' + // WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' + // ELSE '具备' + // END AS IsMeetRecycleCondition, + + // r.actual_recycle_qty AS actualRecycleQty, + // r.recycle_time as recycleTime, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNo, + // d.specification AS specification, + // d.unit_card AS unit, + //s.actual_sampling_quantity AS sampleQty, + // s.remarks AS sampleRemark , + // s.sampler AS sampler, + // s.sampling_time AS sampleTime, + // d.approved_quantity AS expectedRecycleQty, + // SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + // COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + // THEN d.material_name END) AS materialType + // FROM + // fjhs_recycle_task_head h + // LEFT JOIN + // fjhs_recycle_task_detail d ON h.doc_number = d.doc_number + + // LEFT JOIN + // fjhs_recycle_sampling_detail s ON h.doc_number = s.doc_number + + // LEFT JOIN + // fjhs_recycle_detail r ON r.doc_number =h.doc_number + // WHERE + // 1=1 {whereSql} + // GROUP BY + // h.doc_number, h.demand_unit, h.site, h.update_time, + // h.current_process_status, h.current_expected_status, + // h.contact_phone, h.contact_person"; + + + + + string mainSql = $@" + SELECT + h.id as Id, + h.doc_number AS DocNumber, + h.demand_unit AS DemandUnit, + h.site AS Site, + h.update_time AS UpdateTime, + h.backup1 AS Backup1, + CASE + WHEN h.current_process_status = '0' THEN '生成单据' + WHEN h.current_process_status = '01' THEN '待堪样' + WHEN h.current_process_status = '02' THEN '堪样暂存' + WHEN h.current_process_status = '03' THEN '堪样完成' + WHEN h.current_process_status = '1' THEN '待回收搬运' + WHEN h.current_process_status = '11' THEN '回收搬运暂存' + WHEN h.current_process_status = '2' THEN '完成' + WHEN h.current_process_status = '99' THEN '取消' + ELSE '未知任务状态' + END AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS ContactPhone, + h.contact_person AS ContactPerson, + h.storage_time AS StorageTime, + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + WHEN h.is_meet_recycle_condition = 2 THEN '现场处理' + ELSE '具备' + END AS IsMeetRecycleCondition, + + + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNo, + d.specification AS specification, + d.unit_card AS unit, + d.approved_quantity AS expectedRecycleQty, + SUM(COALESCE(d.approved_quantity, 0)) AS totalNumber, + COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + THEN d.material_name END) AS materialType + FROM + recycle_task_head h + LEFT JOIN + recycle_task_detail d ON h.doc_number = d.doc_number + + WHERE + 1=1 {whereSql} + GROUP BY + h.doc_number, h.demand_unit, h.site, h.update_time, + h.current_process_status, h.current_expected_status, + h.contact_phone, h.contact_person"; + + + + + try + { + var response = SqlQueryToList_T(mainSql, parameters); + + + return response; + + } + catch (Exception EX) + { + var result =EX.Message; + throw; + } + + + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + public List Getlist(int Id) + { + var parm = new RecycleTaskHeadQueryDto(); + parm.Id = Id; + + var (whereSql, parameters) = GetWhereSqlID(parm); + + string mainSql = $@" + SELECT + h.id AS Id, + h.doc_number AS DocNumber , + h.site AS Site, + h.demand_unit AS DemandUnit , + h.contact_person AS ContactPerson, + h.contact_phone as ContactPhone, + b.material_name as materialName, + b.asset_name AS assetName, + b.asset_card_number AS assetCardNo, + b.specification AS specification , + b.unit_card as unit, + b.approved_quantity AS expectedRecycleQty + FROM recycle_task_head h + LEFT JOIN recycle_task_detail b + + ON h.doc_number = b.doc_number + WHERE + 1=1 {whereSql} "; + + + + + + + var response = SqlQueryToList_T(mainSql, parameters); + + return response; + + //var response = SqlQueryToList_T(mainSql, parameters).First(); + + //return response; + + + + + } + + + + + /// + /// 添加回收任务主表 + /// + /// + /// + public RecycleTaskHead AddFjhsRecycleTaskHead(RecycleTaskHead model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改回收任务主表 + /// + /// + /// + public int UpdateFjhsRecycleTaskHead(RecycleTaskHead model) + { + + + try + { + return Update(model, true); + } + catch (Exception ex) + { + var m = ex.Message; + + throw; + } + + } + + + /// + /// 取消回收任务主表 + /// + /// + /// + public int CanceFjhsRecycleTaskHead(int[] ids) + { + + // 1. 参数校验:避免空数组/空引用导致的SQL错误 + if (ids == null || ids.Length == 0) + { + throw new ArgumentNullException(nameof(ids), "取消任务的ID数组不能为空!"); + } + + // 2. 调用BaseRepository的【条件批量更新】重载,高效修改状态 + // 核心逻辑:where条件筛选出“ID在ids数组中的任务”,columns指定“将CurrentProcessStatus设为‘取消任务’” + int affectedRows = Update( + where: t => ids.Contains(t.Id), // where条件:任务ID在传入的ids数组中(需确保实体主键是Id) + columns: t => new RecycleTaskHead // 更新内容:仅修改状态字段 + { + // 关键:赋值实体属性(需与FjhsRecycleTaskHead类的属性名完全一致!) + // 若数据库字段是current_process_status,实体类属性通常是CurrentProcessStatus(PascalCase命名规范) + CurrentProcessStatus = "99", // 取消任务 99 + UpdateTime = DateTime.Now, + } + ); + + // 3. 返回受影响行数(前端可通过此判断是否更新成功) + return affectedRows; + + } + + + + + /// + /// 清空回收任务主表 + /// + /// + public bool TruncateFjhsRecycleTaskHead() + { + var newTableName = $"recycle_task_head_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("recycle_task_head", newTableName); + } + + return Truncate(); + } + /// + /// 导入回收任务主表 + /// + /// + public (string, object, object) ImportFjhsRecycleTaskHead(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.SplitError(x => x.Item.IsMeetRecycleCondition.IsEmpty(), "是否满足回收条件:0-否,1-是不能为空") + //.SplitError(x => x.Item.CurrentProcessStatus.IsEmpty(), "当前流程状态不能为空") + //.SplitError(x => x.Item.Creator.IsEmpty(), "创建人不能为空") + //.SplitError(x => x.Item.UpdateTime.IsEmpty(), "修改时间不能为空") + //.SplitError(x => x.Item.CreateTime.IsEmpty(), "创建时间不能为空") + //.SplitError(x => x.Item.DocType.IsEmpty(), "单据类型不能为空") + .SplitError(x => x.Item.DocNumber.IsEmpty(), "单据编号不能为空") + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出回收任务主表 + /// + /// + /// + public PagedInfo ExportList(RecycleTaskHeadQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new RecycleTaskHeadDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(RecycleTaskHeadQueryDto parm) + { + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Site), it => it.Site.Contains(parm.Site)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DemandUnit), it => it.DemandUnit.Contains(parm.DemandUnit)); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CurrentExpectedStatus), it => it.CurrentExpectedStatus == parm.CurrentExpectedStatus); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CurrentProcessStatus), it => it.CurrentProcessStatus == parm.CurrentProcessStatus); + //predicate = predicate.AndIF(parm.BeginUpdateTime == null, it => it.UpdateTime >= DateTime.Now.ToShortDateString().ParseToDateTime()); + predicate = predicate.AndIF(parm.BeginUpdateTime != null, it => it.UpdateTime >= parm.BeginUpdateTime); + predicate = predicate.AndIF(parm.EndUpdateTime != null, it => it.UpdateTime <= parm.EndUpdateTime); + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.DocNumber), it => it.DocNumber == parm.DocNumber); + return predicate; + } + + + /// + /// 获取当天最大单据序号 + /// + /// 当前日期 + /// 序号(从1开始递增) + public int GetMaxSequenceByDate(DateTime date) + { + // 1. 定义日期前缀(与单据编号格式保持一致:yyyyMMdd) + string datePrefix =$"FJ{date.ToString("yyyyMMdd")}" ; + + // 2. 关键:先查询当天所有单据编号到内存(ToList()),避免表达式树限制 + // 注意:需明确指定主表实体(FjhsRecycleTaskHead),因为DocNumber是主表字段 + // 若当前服务是DetailService,建议将此方法移到FjhsRecycleTaskHeadService(符合单一职责) + var todayDocNumbers = Queryable() + .Where(h => h.DocNumber.StartsWith(datePrefix)) // 筛选当天单据 + .Select(h => h.DocNumber) // 只查单据编号,减少数据传输 + .ToList(); // 加载到内存,后续用LINQ to Objects处理 + + // 3. 处理空集合:无当天记录时直接返回1 + if (todayDocNumbers == null || !todayDocNumbers.Any()) + { + return 1; + } + + // 4. 在内存中提取序号并找最大值(支持语句体和out参数) + int maxSeq = 0; + foreach (var docNumber in todayDocNumbers) + { + // 校验单据编号格式(确保长度足够,避免截取异常) + if (string.IsNullOrWhiteSpace(docNumber) || docNumber.Length <= 8) + { + continue; // 跳过格式错误的单据编号 + } + + // 提取序号部分(截取yyyyMMdd后的字符,如"202508250001"截取后4位为"0001") + string seqStr = docNumber.Substring(10); + if (int.TryParse(seqStr, out int currentSeq) && currentSeq > maxSeq) + { + maxSeq = currentSeq; // 更新最大序号 + } + } + + // 5. 最大序号+1,确保下一个序号递增 + return maxSeq + 1; + } + + + // public List getFjhsRecycleSampleList(int Id) + // { + // var parm = new FjhsRecycleTaskHeadQueryDto(); + // parm.Id = Id; + + // var (whereSql, parameters) = GetWhereSqlID(parm); + + // string mainSql = $@" + // SELECT + // h.id as Id, + // h.doc_number AS DocNumber, + // h.demand_unit AS DemandUnit, + // h.site AS Site, + // h.update_time AS UpdateTime, + // h.current_process_status AS CurrentProcessStatus, + // h.current_expected_status AS CurrentExpectedStatus, + // h.contact_phone AS ContactPhone, + // h.contact_person AS ContactPerson, + // h.storage_time AS StorageTime, + // CASE + // WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + // WHEN h.is_meet_recycle_condition = 1 THEN '具备' + // ELSE '待定' + // END AS IsMeetRecycleCondition, + // d.material_name AS materialName, + // d.asset_name AS assetName, + // d.asset_card_number AS assetCardNo, + // d.specification AS specification, + // d.unit_card AS unit, + // d.estimated_recycle_quantity AS expectedRecycleQty, + // SUM(COALESCE(d.estimated_recycle_quantity, 0)) AS totalNumber, + // COUNT(DISTINCT CASE WHEN d.material_name IS NOT NULL AND d.material_name != '' + // THEN d.material_name END) AS materialType + //FROM + // fjhs_recycle_task_head h + //LEFT JOIN + // fjhs_recycle_sampling_detail d ON h.doc_number = d.doc_number + + // WHERE + // 1=1 {whereSql} + // GROUP BY + // h.doc_number, h.demand_unit, h.site, h.update_time, + // h.current_process_status, h.current_expected_status, + // h.contact_phone, h.contact_person"; + + + + + + + // var response = SqlQueryToList_T(mainSql, parameters); + + // return response; + + // //var response = SqlQueryToList_T(mainSql, parameters).First(); + + // //return response; + + + + + // } + + + + public List GetFjhsRecycleSampleList(int id) + { + var result = new List(); + + // 1. 查询主表信息(不含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.id AS Id, + h.doc_number AS sampleDocNumber, -- 对应DTO的SampleDocNumber + h.demand_unit AS demandUnit, + h.site AS site, + h.update_time AS UpdateTime, + h.current_process_status AS CurrentProcessStatus, + h.current_expected_status AS CurrentExpectedStatus, + h.contact_phone AS contactPhone, + h.contact_person AS contactPerson, + h.storage_time AS StorageTime, + -- 转换是否满足回收条件(0→不具备,1→具备,其他→待定) + CASE + WHEN h.is_meet_recycle_condition = 0 THEN '不具备' + WHEN h.is_meet_recycle_condition = 1 THEN '具备' + ELSE '待定' + END AS isMeetRecycleCondition, + -- 计算物料总数(子查询:该主记录下所有物料的预计回收数量之和) + (SELECT SUM(COALESCE(d.estimated_recycle_quantity, 0)) + FROM fjhs_recycle_sampling_detail d + WHERE d.doc_number = h.doc_number) AS totalNumber, + -- 计算物料种类数(子查询:去重后的物料名称数量) + (SELECT COUNT(DISTINCT d.material_name) + FROM fjhs_recycle_sampling_detail d + WHERE d.doc_number = h.doc_number + AND d.material_name IS NOT NULL + AND d.material_name != '') AS materialType, + h.remarks AS remarks, + h.creator AS creator, + h.updater AS updater, + h.create_time AS CreateTime, + h.doc_type AS DocType + FROM + recycle_task_head h + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + if (mainList == null || !mainList.Any()) + { + return result; // 无主记录时返回空列表 + } + + // 2. 为每条主记录查询对应的物料详情 + foreach (var mainDto in mainList) + { + // 详情查询参数:使用主记录的单据编号关联 + var detailParm = new { DocNumber = mainDto.sampleDocNumber }; + string detailSql = $@" + SELECT + d.material_name AS materialName, + d.asset_name AS assetName, + d.asset_card_number AS assetCardNumber, + d.specification AS specification, + d.unit_card AS unitCard, + d.estimated_recycle_quantity AS approvedQuantity, + d.actual_sampling_quantity AS sampleQty, + d.remarks AS sampleRemark , + d.sampler AS sampler, + d.sampling_time AS sampleTime + FROM + recycle_sampling_detail d + WHERE + d.doc_number = @DocNumber;"; + // 执行详情查询,转换为SampleMaterialList列表 + var details = SqlQueryToList_T(detailSql, detailParm); + + // 给主DTO的物料详情集合赋值 + mainDto.sampleMaterialList = details; + + + + //result.Add(mainDto); + + + + var ImagesParm = new { DocNumber = "KY" + mainDto.sampleDocNumber }; + + string ImageSql = $@" + SELECT + + d.address AS SampleImageUrl + FROM + recycle_task_detail_image d + WHERE + d.doc_number = @DocNumber;"; + + // 执行详情查询图片,转换FjhsRecycleTaskDetailImageDto列表 + var Images = SqlQueryToList_T(ImageSql, ImagesParm); + + // 给主DTO的物料详情集合赋值 + mainDto.sampleMaterialImages = Images; + + result.Add(mainDto); + + } + + return result; + } + + + + + public List GetTransportInfoList(int id) + { + + + // 1. 查询主表信息(不含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.id AS Id, + h.number as number, + h.doc_type as ProjectType, + h.remarks as Remark, + h.recovery_materials as RecoveryMaterials, + h.recycle_destination as RecoveryDestination, + h.demand_unit as CustomerUnit, + h.recovery_location as RecoveryLocation, + h.contact_person as ContactPerson, + h.contact_phone as ContactPhone, + h.delivery_method as DeliveryMethod, + h.vehicle_model as VehicleModel, + h.volume as Volume, + h.delivery_manager as DeliveryPlanner + + + FROM + recycle_task_head h + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + + return mainList; + + } + + + + + public List GetRecycleMaterialDetailList(int id) + { + + + // 1. 查询主表信息(含物料详情) + var mainParm = new { Id = id }; + string mainSql = $@" + SELECT + h.demand_unit AS DemandUnit, + h.site AS Site, + d.material_name AS MaterialName, + d.specification as Specification, + d.unit_card as Unit, + d.expected_recycle_qty as PlanRecycleCount, + d.actual_recycle_qty as ActualRecycleCount, + d.remarks as Remarks + + + FROM + recycle_task_head h + + LEFT JOIN recycle_detail d + ON h.doc_number = d.doc_number + + WHERE + h.id = @Id;"; + + // 执行主表查询,获取主记录列表(通常为单条,按ID查询) + var mainList = SqlQueryToList_T(mainSql, mainParm); + + return mainList; + + } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Service/ZR.Service.csproj b/ZR.Service/ZR.Service.csproj index 35209bc0..e9c2489d 100644 --- a/ZR.Service/ZR.Service.csproj +++ b/ZR.Service/ZR.Service.csproj @@ -8,8 +8,25 @@ 1591 + + + + + + + + + + + + + + + + + -- Gitee From a51d996c35a44741a69a3f4f611b2ad33954dc3f Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Fri, 17 Oct 2025 03:10:10 +0800 Subject: [PATCH 23/29] =?UTF-8?q?=E5=BA=9F=E6=97=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=EF=BC=9A=E5=A4=84=E7=90=86=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=8E=E7=BB=B4=E6=8A=A4=E4=B8=AD=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E5=A0=AA=E6=A0=B7=E6=B8=85=E5=8D=95=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/Recycle/RecycleTaskHeadService.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ZR.Service/Recycle/RecycleTaskHeadService.cs b/ZR.Service/Recycle/RecycleTaskHeadService.cs index e93e9b99..6ecefc17 100644 --- a/ZR.Service/Recycle/RecycleTaskHeadService.cs +++ b/ZR.Service/Recycle/RecycleTaskHeadService.cs @@ -14,6 +14,7 @@ using Azure; using Aliyun.OSS; //using ZR.Model.FjhsImage.Dto; using ZR.Model.DownM; +using NPOI.HSSF.Record.Aggregates; namespace ZR.Service.Recycle { @@ -859,6 +860,11 @@ namespace ZR.Service.Recycle public List GetFjhsRecycleSampleList(int id) { + + try + { + + var result = new List(); // 1. 查询主表信息(不含物料详情) @@ -883,11 +889,11 @@ namespace ZR.Service.Recycle END AS isMeetRecycleCondition, -- 计算物料总数(子查询:该主记录下所有物料的预计回收数量之和) (SELECT SUM(COALESCE(d.estimated_recycle_quantity, 0)) - FROM fjhs_recycle_sampling_detail d + FROM recycle_sampling_detail d WHERE d.doc_number = h.doc_number) AS totalNumber, -- 计算物料种类数(子查询:去重后的物料名称数量) (SELECT COUNT(DISTINCT d.material_name) - FROM fjhs_recycle_sampling_detail d + FROM recycle_sampling_detail d WHERE d.doc_number = h.doc_number AND d.material_name IS NOT NULL AND d.material_name != '') AS materialType, @@ -963,6 +969,15 @@ namespace ZR.Service.Recycle } return result; + + + } + catch (Exception ex) + { + var m =ex.Message; + + throw; + } } -- Gitee From 5deb98966d7c52cfa47196b8b87c17f983844749 Mon Sep 17 00:00:00 2001 From: songbomao Date: Fri, 17 Oct 2025 09:30:45 +0800 Subject: [PATCH 24/29] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4docMa?= =?UTF-8?q?nage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: songbomao --- .../DocManage/DocBaseOrgController.cs | 171 ++++++++++++++++++ ZR.Model/DocManage/DocBaseOrg.cs | 41 +++++ ZR.Model/DocManage/Dto/DocBaseOrgDto.cs | 40 ++++ ZR.Service/DocManage/DocBaseOrgService.cs | 140 ++++++++++++++ .../IDocManageService/IDocBaseOrgService.cs | 25 +++ 5 files changed, 417 insertions(+) create mode 100644 ZR.Admin.WebApi/Controllers/DocManage/DocBaseOrgController.cs create mode 100644 ZR.Model/DocManage/DocBaseOrg.cs create mode 100644 ZR.Model/DocManage/Dto/DocBaseOrgDto.cs create mode 100644 ZR.Service/DocManage/DocBaseOrgService.cs create mode 100644 ZR.Service/DocManage/IDocManageService/IDocBaseOrgService.cs diff --git a/ZR.Admin.WebApi/Controllers/DocManage/DocBaseOrgController.cs b/ZR.Admin.WebApi/Controllers/DocManage/DocBaseOrgController.cs new file mode 100644 index 00000000..401d4cce --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/DocManage/DocBaseOrgController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.DocManage.Dto; +using ZR.Model.DocManage; +using ZR.Service.DocManage.IDocManageService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-10-13 +namespace ZR.Admin.WebApi.Controllers.DocManage +{ + /// + /// 全省仓库代码 + /// + [Verify] + [Route("docManage/DocBaseOrg")] + public class DocBaseOrgController : BaseController + { + /// + /// 全省仓库代码接口 + /// + private readonly IDocBaseOrgService _DocBaseOrgService; + + public DocBaseOrgController(IDocBaseOrgService DocBaseOrgService) + { + _DocBaseOrgService = DocBaseOrgService; + } + + /// + /// 查询全省仓库代码列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "docbaseorg:list")] + public IActionResult QueryDocBaseOrg([FromQuery] DocBaseOrgQueryDto parm) + { + var response = _DocBaseOrgService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询全省仓库代码详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "docbaseorg:query")] + public IActionResult GetDocBaseOrg(int Id) + { + var response = _DocBaseOrgService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加全省仓库代码 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "docbaseorg:add")] + [Log(Title = "全省仓库代码", BusinessType = BusinessType.INSERT)] + public IActionResult AddDocBaseOrg([FromBody] DocBaseOrgDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _DocBaseOrgService.AddDocBaseOrg(modal); + + return SUCCESS(response); + } + + /// + /// 更新全省仓库代码 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "docbaseorg:edit")] + [Log(Title = "全省仓库代码", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateDocBaseOrg([FromBody] DocBaseOrgDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _DocBaseOrgService.UpdateDocBaseOrg(modal); + + return ToResponse(response); + } + + /// + /// 删除全省仓库代码 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "docbaseorg:delete")] + [Log(Title = "全省仓库代码", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteDocBaseOrg([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_DocBaseOrgService.Delete(idArr)); + } + + /// + /// 导出全省仓库代码 + /// + /// + [Log(Title = "全省仓库代码", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "docbaseorg:export")] + public IActionResult Export([FromQuery] DocBaseOrgQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _DocBaseOrgService.ExportList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + var result = ExportExcelMini(list, "全省仓库代码", "全省仓库代码"); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 清空全省仓库代码 + /// + /// + [Log(Title = "全省仓库代码", BusinessType = BusinessType.CLEAN)] + [ActionPermissionFilter(Permission = "docbaseorg:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_DocBaseOrgService.TruncateDocBaseOrg()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "全省仓库代码导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "docbaseorg:import")] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_DocBaseOrgService.ImportDocBaseOrg(list.Adapt>())); + } + + /// + /// 全省仓库代码导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "全省仓库代码模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "DocBaseOrg"); + return ExportExcel(result.Item2, result.Item1); + } + + } +} \ No newline at end of file diff --git a/ZR.Model/DocManage/DocBaseOrg.cs b/ZR.Model/DocManage/DocBaseOrg.cs new file mode 100644 index 00000000..ddfd90be --- /dev/null +++ b/ZR.Model/DocManage/DocBaseOrg.cs @@ -0,0 +1,41 @@ + +namespace ZR.Model.DocManage +{ + /// + /// 全省仓库代码 + /// + [SugarTable("doc_base_org")] + public class DocBaseOrg + { + /// + /// 主键自增 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 机构名称 + /// + [SugarColumn(ColumnName = "org_name")] + public string OrgName { get; set; } + + /// + /// 机构代码 + /// + [SugarColumn(ColumnName = "org_code")] + public string OrgCode { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "created_time")] + public DateTime? CreatedTime { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "created_user")] + public string CreatedUser { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/DocManage/Dto/DocBaseOrgDto.cs b/ZR.Model/DocManage/Dto/DocBaseOrgDto.cs new file mode 100644 index 00000000..e8653299 --- /dev/null +++ b/ZR.Model/DocManage/Dto/DocBaseOrgDto.cs @@ -0,0 +1,40 @@ + +namespace ZR.Model.DocManage.Dto +{ + /// + /// 全省仓库代码查询对象 + /// + public class DocBaseOrgQueryDto : PagerInfo + { + } + + /// + /// 全省仓库代码输入输出对象 + /// + public class DocBaseOrgDto + { + [Required(ErrorMessage = "主键自增不能为空")] + [ExcelColumn(Name = "主键自增")] + [ExcelColumnName("主键自增")] + public int Id { get; set; } + + [ExcelColumn(Name = "机构名称")] + [ExcelColumnName("机构名称")] + public string OrgName { get; set; } + + [ExcelColumn(Name = "机构代码")] + [ExcelColumnName("机构代码")] + public string OrgCode { get; set; } + + [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)] + [ExcelColumnName("创建时间")] + public DateTime? CreatedTime { get; set; } + + [ExcelColumn(Name = "创建人")] + [ExcelColumnName("创建人")] + public string CreatedUser { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Service/DocManage/DocBaseOrgService.cs b/ZR.Service/DocManage/DocBaseOrgService.cs new file mode 100644 index 00000000..dca6a72a --- /dev/null +++ b/ZR.Service/DocManage/DocBaseOrgService.cs @@ -0,0 +1,140 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model.DocManage.Dto; +using ZR.Model.DocManage; +using ZR.Repository; +using ZR.Service.DocManage.IDocManageService; + +namespace ZR.Service.DocManage +{ + /// + /// 全省仓库代码Service业务层处理 + /// + [AppService(ServiceType = typeof(IDocBaseOrgService), ServiceLifetime = LifeTime.Transient)] + public class DocBaseOrgService : BaseService, IDocBaseOrgService + { + /// + /// 查询全省仓库代码列表 + /// + /// + /// + public PagedInfo GetList(DocBaseOrgQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public DocBaseOrg GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加全省仓库代码 + /// + /// + /// + public DocBaseOrg AddDocBaseOrg(DocBaseOrg model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改全省仓库代码 + /// + /// + /// + public int UpdateDocBaseOrg(DocBaseOrg model) + { + return Update(model, true); + } + + /// + /// 清空全省仓库代码 + /// + /// + public bool TruncateDocBaseOrg() + { + var newTableName = $"doc_base_org_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("doc_base_org", newTableName); + } + + return Truncate(); + } + /// + /// 导入全省仓库代码 + /// + /// + public (string, object, object) ImportDocBaseOrg(List list) + { + var x = Context.Storageable(list) + .SplitInsert(it => !it.Any()) + //.WhereColumns(it => it.UserName)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + + string msg = $"插入{x.InsertList.Count} 更新{x.UpdateList.Count} 错误数据{x.ErrorList.Count} 不计算数据{x.IgnoreList.Count} 删除数据{x.DeleteList.Count} 总共{x.TotalList.Count}"; + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("错误" + item.StorageMessage); + } + foreach (var item in x.IgnoreList) + { + Console.WriteLine("忽略" + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } + + /// + /// 导出全省仓库代码 + /// + /// + /// + public PagedInfo ExportList(DocBaseOrgQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new DocBaseOrgDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(DocBaseOrgQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/DocManage/IDocManageService/IDocBaseOrgService.cs b/ZR.Service/DocManage/IDocManageService/IDocBaseOrgService.cs new file mode 100644 index 00000000..f693cf37 --- /dev/null +++ b/ZR.Service/DocManage/IDocManageService/IDocBaseOrgService.cs @@ -0,0 +1,25 @@ +using ZR.Model.DocManage.Dto; +using ZR.Model.DocManage; + +namespace ZR.Service.DocManage.IDocManageService +{ + /// + /// 全省仓库代码service接口 + /// + public interface IDocBaseOrgService : IBaseService + { + PagedInfo GetList(DocBaseOrgQueryDto parm); + + DocBaseOrg GetInfo(int Id); + + + DocBaseOrg AddDocBaseOrg(DocBaseOrg parm); + int UpdateDocBaseOrg(DocBaseOrg parm); + + bool TruncateDocBaseOrg(); + + (string, object, object) ImportDocBaseOrg(List list); + + PagedInfo ExportList(DocBaseOrgQueryDto parm); + } +} -- Gitee From 9f8f9370dabd58863053ca70a57a52c37a515adc Mon Sep 17 00:00:00 2001 From: songbomao Date: Fri, 17 Oct 2025 09:40:35 +0800 Subject: [PATCH 25/29] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: songbomao --- Infrastructure/ZR.Infrastructure.csproj | 2 +- ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 2 +- ZR.Admin.WebApi/appsettings.json | 6 ++---- ZR.Model/ZR.Model.csproj | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Infrastructure/ZR.Infrastructure.csproj b/Infrastructure/ZR.Infrastructure.csproj index 039ee5a0..9e4cd7d1 100644 --- a/Infrastructure/ZR.Infrastructure.csproj +++ b/Infrastructure/ZR.Infrastructure.csproj @@ -17,7 +17,7 @@ - + diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index df82d70f..55cb360b 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -19,7 +19,7 @@ - + diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index fb7f566c..48f9d4ec 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -8,9 +8,7 @@ }, "dbConfigs": [ { - //"Conn": "Data Source=192.168.107.252;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;", - //"Conn": "Data Source=10.218.14.130;Initial Catalog=Salary_test;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", - "Conn": "Data Source=10.218.14.130;Initial Catalog=Salary;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", + "Conn": "Data Source=10.218.14.130;Initial Catalog=salary;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;", "DbType": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true @@ -25,7 +23,7 @@ "Conn": "Data Source=10.218.14.130;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;Initial Catalog={dbName};", "DbType": 0, "IsAutoCloseConnection": true, - "DbName": "Salary_test" //代码生成默认连接数据库,Oracle库是实例的名称 + "DbName": "salary" //代码生成默认连接数据库,Oracle库是实例的名称 }, "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 "corsUrls": [ "http://localhost:8887", "http://localhost:8886" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index a204f357..a82a961b 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -7,7 +7,7 @@ - + -- Gitee From d88e68835a7a7dbffe0d8f08cebd2a34c98d243c Mon Sep 17 00:00:00 2001 From: csl <790825059@qq.com> Date: Thu, 30 Oct 2025 10:17:33 +0800 Subject: [PATCH 26/29] =?UTF-8?q?token=E7=A7=98=E9=92=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/appsettings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index ac61feac..580c587a 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -28,9 +28,9 @@ "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 "corsUrls": [ "http://localhost:8887", "http://localhost:8886" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 "JwtSettings": { - "Issuer": "ZRAdmin.NET", //即token的签发者。 - "Audience": "ZRAdmin.NET", //指该token是服务于哪个群体的(群体范围) - "SecretKey": "SecretKey-ZRADMIN.NET-202311281883838", + "Issuer": "SCgyl", //即token的签发者。 + "Audience": "SCgyl", //指该token是服务于哪个群体的(群体范围) + "SecretKey": "SecretKey-SCgyl-C34DA29467A0E68E0585", "Expire": 1440, //jwt登录过期时间(分) "RefreshTokenTime": 30, //分钟 "TokenType": "Bearer" -- Gitee From f68ffc7381fb145df06d878b507eca58ff8341c9 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 30 Oct 2025 16:48:17 +0800 Subject: [PATCH 27/29] =?UTF-8?q?=E6=B8=97=E9=80=8F=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=90=8E=E6=95=B4=E6=94=B9=E4=BC=98=E5=8C=96=EF=BC=9A1?= =?UTF-8?q?=E3=80=81=E4=BC=A0=E8=BE=93=E8=BF=87=E7=A8=8B=E4=B8=AD=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=B4=A6=E5=8F=B7=E5=8A=A0=E5=AF=86=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E5=AF=86=E7=A0=81=E5=8A=A0=E5=AF=86=E7=94=B1=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E7=9A=84md5=E5=8A=A0=E5=AF=86=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BAAES=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../System/SysProfileController.cs | 10 +- .../Controllers/System/SysUserController.cs | 14 +- ZR.Admin.WebApi/appsettings.json | 6 +- ZR.Common/AesHelper.cs | 182 ++++++++++++++++++ ZR.ServiceCore/Services/SysLoginService.cs | 107 +++++++--- ZR.ServiceCore/Services/SysUserService.cs | 4 +- 6 files changed, 287 insertions(+), 36 deletions(-) create mode 100644 ZR.Common/AesHelper.cs diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index 7e0004c7..aaeae3eb 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Filters; using ZR.Model.System; using ZR.Model.System.Dto; @@ -85,8 +85,12 @@ namespace ZR.Admin.WebApi.Controllers.System { long userId = HttpContext.GetUId(); SysUser user = UserService.GetFirst(f => f.UserId == userId); - string oldMd5 = NETCore.Encrypt.EncryptProvider.Md5(oldPassword); - string newMd5 = NETCore.Encrypt.EncryptProvider.Md5(newPassword); + //string oldMd5 = NETCore.Encrypt.EncryptProvider.Md5(oldPassword); + //string newMd5 = NETCore.Encrypt.EncryptProvider.Md5(newPassword); + + string oldMd5 =AesHelper.Encrypt(oldPassword); + string newMd5 = AesHelper.Encrypt(newPassword); + if (!user.Password.Equals(oldMd5, StringComparison.OrdinalIgnoreCase)) { diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs index bcc6647a..fc5c4021 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using MiniExcelLibs; using SqlSugar; using ZR.Admin.WebApi.Filters; @@ -91,8 +91,11 @@ namespace ZR.Admin.WebApi.Controllers.System { return ToResponse(ApiResult.Error($"新增用户 '{user.UserName}'失败,登录账号已存在")); } + //MD5加密 + //user.Password = NETCore.Encrypt.EncryptProvider.Md5(user.Password); - user.Password = NETCore.Encrypt.EncryptProvider.Md5(user.Password); + //AES加密 + user.Password = AesHelper.Encrypt(user.Password); return SUCCESS(UserService.InsertUser(user)); } @@ -157,8 +160,11 @@ namespace ZR.Admin.WebApi.Controllers.System [ActionPermissionFilter(Permission = "system:user:resetPwd")] public IActionResult ResetPwd([FromBody] SysUserDto sysUser) { - //密码md5 - sysUser.Password = NETCore.Encrypt.EncryptProvider.Md5(sysUser.Password); + ////密码md5 + //sysUser.Password = NETCore.Encrypt.EncryptProvider.Md5(sysUser.Password); + + //密码AES加密 + sysUser.Password = AesHelper.Encrypt(sysUser.Password); int result = UserService.ResetPwd(sysUser.UserId, sysUser.Password); return ToResponse(result); diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 5c47fa85..e3d6f10d 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -22,13 +22,15 @@ //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 //"Conn": "Data Source=LAPTOP-STKF2M8H\\SQLEXPRESS;User ID=admin;Password=admin123;Initial Catalog={dbName};", //"Conn": "Data Source=192.168.107.252;Persist Security Info=True;User ID=root;Password=1eZuUljjLp.1;port=3306;SslMode=none;Charset=utf8;Initial Catalog={dbName};", + //"Conn": "Data Source=10.218.14.130;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;Initial Catalog={dbName};", "Conn": "Data Source=10.218.14.130;Persist Security Info=True;User ID=root;Password=Ztfgylsc@2025;port=13049;SslMode=none;Charset=utf8;Initial Catalog={dbName};", "DbType": 0, "IsAutoCloseConnection": true, "DbName": "Salary_test" //代码生成默认连接数据库,Oracle库是实例的名称 - }, + }, + "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 - "corsUrls": [ "http://localhost:8887", "http://localhost:8886" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 + "corsUrls": [ "http://localhost:8887", "http://localhost:8886", "http://localhost:9002", "http://localhost:8101" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 "JwtSettings": { "Issuer": "ZRAdmin.NET", //即token的签发者。 "Audience": "ZRAdmin.NET", //指该token是服务于哪个群体的(群体范围) diff --git a/ZR.Common/AesHelper.cs b/ZR.Common/AesHelper.cs new file mode 100644 index 00000000..a403aaf5 --- /dev/null +++ b/ZR.Common/AesHelper.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Common +{//AES加密和解密工具 + public class AesHelper + { + #region 配置参数(需与前端完全一致) + /// + /// AES-256 密钥(32个单字节字符:字母/数字/符号,UTF8编码后32字节) + /// 注意:禁止含中文/多字节字符,否则编码后长度会超32字节 + /// + private static readonly string AesKey = "P8k2X7zR3T5fB1vCdE6aS8gH0jL2mNq6"; + + /// + /// AES 偏移量(16个单字节字符:字母/数字/符号,UTF8编码后16字节) + /// 注意:CBC模式必须配置IV,且需与前端一致 + /// + private static readonly string AesIv = "bY3Df6Gk9Jn2Qr5T"; + #endregion + + #region 核心方法:加密(与前端 aesEncrypt 对应) + /// + /// AES-256-CBC 加密 + /// + /// 待加密明文(字符串) + /// 加密后Base64字符串(与前端输出格式一致) + /// 参数异常(如明文为空) + /// 加密过程异常(如密钥配置错误) + public static string Encrypt(string plainText) + { + // 1. 基础参数校验 + if (string.IsNullOrWhiteSpace(plainText)) + throw new ArgumentException("待加密明文不能为空", nameof(plainText)); + + // 2. 密钥/IV 编码与长度校验 + byte[] keyBytes = Encoding.UTF8.GetBytes(AesKey); + byte[] ivBytes = Encoding.UTF8.GetBytes(AesIv); + ValidateKeyAndIvLength(keyBytes, ivBytes); + + try + { + // 3. 初始化AES算法(固定CBC模式+PKCS7填充,与前端一致) + using var aesAlg = Aes.Create(); + aesAlg.KeySize = 256; // 密钥长度256位(固定) + aesAlg.BlockSize = 128; // 块大小128位(AES固定值) + aesAlg.Mode = CipherMode.CBC; + aesAlg.Padding = PaddingMode.PKCS7; + aesAlg.Key = keyBytes; + aesAlg.IV = ivBytes; + + // 4. 创建加密器并执行加密 + ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV); + using var msEncrypt = new MemoryStream(); + using var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write); + using var swEncrypt = new StreamWriter(csEncrypt, Encoding.UTF8); + + // 写入明文并完成加密 + swEncrypt.Write(plainText); + swEncrypt.Flush(); + csEncrypt.FlushFinalBlock(); // 处理填充数据 + + // 5. 加密结果转为Base64字符串(前端接收格式) + byte[] cipherBytes = msEncrypt.ToArray(); + return Convert.ToBase64String(cipherBytes); + } + catch (CryptographicException ex) + { + throw new CryptographicException("AES加密失败:" + ex.Message, ex); + } + catch (Exception ex) + { + throw new Exception("加密过程异常:" + ex.Message, ex); + } + } + #endregion + + #region 核心方法:解密(与前端加密数据对应) + /// + /// AES-256-CBC 解密 + /// + /// 前端加密后的Base64字符串 + /// 解密后的明文 + /// 参数异常(如密文为空/非Base64格式) + /// 解密过程异常(如密钥不匹配/密文篡改) + public static string Decrypt(string encryptedBase64) + { + // 1. 基础参数校验 + if (string.IsNullOrWhiteSpace(encryptedBase64)) + throw new ArgumentException("待解密密文不能为空", nameof(encryptedBase64)); + if (!IsBase64String(encryptedBase64)) + throw new ArgumentException("密文格式错误,需为Base64字符串", nameof(encryptedBase64)); + + // 2. 密钥/IV 编码与长度校验(提前暴露配置问题) + byte[] keyBytes = Encoding.UTF8.GetBytes(AesKey); + byte[] ivBytes = Encoding.UTF8.GetBytes(AesIv); + ValidateKeyAndIvLength(keyBytes, ivBytes); + + try + { + // 3. 密文Base64转字节数组 + byte[] cipherBytes = Convert.FromBase64String(encryptedBase64); + + // 4. 初始化AES算法(与加密配置完全一致) + using var aesAlg = Aes.Create(); + aesAlg.KeySize = 256; + aesAlg.BlockSize = 128; + aesAlg.Mode = CipherMode.CBC; + aesAlg.Padding = PaddingMode.PKCS7; + aesAlg.Key = keyBytes; + aesAlg.IV = ivBytes; + + // 5. 创建解密器并执行解密 + ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); + using var msDecrypt = new MemoryStream(cipherBytes); + using var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read); + using var srDecrypt = new StreamReader(csDecrypt, Encoding.UTF8); + + // 读取解密后的明文 + return srDecrypt.ReadToEnd(); + } + catch (CryptographicException ex) + { + // 常见解密失败原因:密钥不匹配、密文被篡改、IV错误 + throw new CryptographicException("AES解密失败(可能密钥不匹配或密文篡改):" + ex.Message, ex); + } + catch (Exception ex) + { + throw new Exception("解密过程异常:" + ex.Message, ex); + } + } + #endregion + + #region 辅助方法:密钥/IV长度校验(核心防错逻辑) + /// + /// 校验AES密钥(32字节)和IV(16字节)长度,不符合则抛异常 + /// + private static void ValidateKeyAndIvLength(byte[] keyBytes, byte[] ivBytes) + { + // AES-256 强制密钥32字节(256位) + if (keyBytes.Length != 32) + { + throw new ArgumentException( + $"AES密钥长度错误!需32字节(UTF8编码后),当前{keyBytes.Length}字节。" + + "请检查密钥是否为32个单字节字符(禁止中文/多字节字符)", + nameof(AesKey) + ); + } + + // CBC模式强制IV16字节(128位) + if (ivBytes.Length != 16) + { + throw new ArgumentException( + $"AES偏移量(IV)长度错误!需16字节(UTF8编码后),当前{ivBytes.Length}字节。" + + "请检查IV是否为16个单字节字符(禁止中文/多字节字符)", + nameof(AesIv) + ); + } + } + #endregion + + #region 辅助方法:Base64格式校验 + /// + /// 判断字符串是否为合法Base64格式 + /// + private static bool IsBase64String(string input) + { + input = input.Trim(); + // Base64字符串长度必须是4的倍数,且仅含Base64允许字符 + return (input.Length % 4 == 0) && + System.Text.RegularExpressions.Regex.IsMatch(input, @"^[A-Za-z0-9\+/]*={0,2}$", + System.Text.RegularExpressions.RegexOptions.None); + } + #endregion + + } +} diff --git a/ZR.ServiceCore/Services/SysLoginService.cs b/ZR.ServiceCore/Services/SysLoginService.cs index 5ffea070..3849df12 100644 --- a/ZR.ServiceCore/Services/SysLoginService.cs +++ b/ZR.ServiceCore/Services/SysLoginService.cs @@ -39,42 +39,97 @@ namespace ZR.ServiceCore.Services /// /// /// + //public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor) + //{ + // if (loginBody.Password.Length != 32) + // { + // loginBody.Password = NETCore.Encrypt.EncryptProvider.Md5(loginBody.Password); + // } + // SysUser user = SysUserService.Login(loginBody); + // logininfor.UserName = loginBody.Username; + // logininfor.Status = "1"; + // logininfor.LoginTime = DateTime.Now; + // logininfor.Ipaddr = loginBody.LoginIP; + // logininfor.ClientId = loginBody.ClientId; + + // ClientInfo clientInfo = httpContextAccessor.HttpContext.GetClientInfo(); + // logininfor.Browser = clientInfo.ToString(); + // logininfor.Os = clientInfo.OS.ToString(); + + // if (user == null || user.UserId <= 0) + // { + // logininfor.Msg = _localizer["login_pwd_error"].Value; + // AddLoginInfo(logininfor); + // throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + // } + // logininfor.UserId = user.UserId; + // if (user.Status == 1) + // { + // logininfor.Msg = _localizer["login_user_disabled"].Value;//該用戶已禁用 + // AddLoginInfo(logininfor); + // throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + // } + + // logininfor.Status = "0"; + // logininfor.Msg = "登录成功"; + // AddLoginInfo(logininfor); + // SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); + // return user; + //} + + public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor) { - if (loginBody.Password.Length != 32) + //if (loginBody.Password.Length != 32) + //{ + // loginBody.Password = NETCore.Encrypt.EncryptProvider.Md5(loginBody.Password); + //} + try { - loginBody.Password = NETCore.Encrypt.EncryptProvider.Md5(loginBody.Password); - } - SysUser user = SysUserService.Login(loginBody); - logininfor.UserName = loginBody.Username; - logininfor.Status = "1"; - logininfor.LoginTime = DateTime.Now; - logininfor.Ipaddr = loginBody.LoginIP; - logininfor.ClientId = loginBody.ClientId; + //AES解密账号和密码 + loginBody.Username = AesHelper.Decrypt(loginBody.Username); + loginBody.Password = AesHelper.Decrypt(loginBody.Password); + //AES加密密码 + loginBody.Password = AesHelper.Encrypt(loginBody.Password); + + SysUser user = SysUserService.Login(loginBody); + logininfor.UserName = loginBody.Username; + logininfor.Status = "1"; + logininfor.LoginTime = DateTime.Now; + logininfor.Ipaddr = loginBody.LoginIP; + logininfor.ClientId = loginBody.ClientId; - ClientInfo clientInfo = httpContextAccessor.HttpContext.GetClientInfo(); - logininfor.Browser = clientInfo.ToString(); - logininfor.Os = clientInfo.OS.ToString(); + ClientInfo clientInfo = httpContextAccessor.HttpContext.GetClientInfo(); + logininfor.Browser = clientInfo.ToString(); + logininfor.Os = clientInfo.OS.ToString(); - if (user == null || user.UserId <= 0) - { - logininfor.Msg = _localizer["login_pwd_error"].Value; + if (user == null || user.UserId <= 0) + { + logininfor.Msg = _localizer["login_pwd_error"].Value; + AddLoginInfo(logininfor); + throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + } + logininfor.UserId = user.UserId; + if (user.Status == 1) + { + logininfor.Msg = _localizer["login_user_disabled"].Value;//該用戶已禁用 + AddLoginInfo(logininfor); + throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + } + + logininfor.Status = "0"; + logininfor.Msg = "登录成功"; AddLoginInfo(logininfor); - throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); + return user; } - logininfor.UserId = user.UserId; - if (user.Status == 1) + catch (Exception ex) { - logininfor.Msg = _localizer["login_user_disabled"].Value;//該用戶已禁用 - AddLoginInfo(logininfor); - throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.Msg, false); + var m = ex.Message; + throw; } - logininfor.Status = "0"; - logininfor.Msg = "登录成功"; - AddLoginInfo(logininfor); - SysUserService.UpdateLoginInfo(loginBody.LoginIP, user.UserId); - return user; + } /// diff --git a/ZR.ServiceCore/Services/SysUserService.cs b/ZR.ServiceCore/Services/SysUserService.cs index cc75aa8e..fa6b98ed 100644 --- a/ZR.ServiceCore/Services/SysUserService.cs +++ b/ZR.ServiceCore/Services/SysUserService.cs @@ -257,7 +257,9 @@ namespace ZR.ServiceCore.Services throw new CustomException("用户名不符合要求"); } //密码md5 - string password = NETCore.Encrypt.EncryptProvider.Md5(dto.Password); + //string password = NETCore.Encrypt.EncryptProvider.Md5(dto.Password); + //密码AES加密 + string password = AesHelper.Encrypt(dto.Password); var ip_info = IpTool.Search(dto.UserIP); SysUser user = new() { -- Gitee From 91424627066d403af327d51b52feadab5d01d77e Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 30 Oct 2025 16:59:45 +0800 Subject: [PATCH 28/29] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/appsettings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index e3d6f10d..bb0500ca 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -15,6 +15,7 @@ "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true } + //...下面添加更多的数据库源 ], //代码生成数据库配置 -- Gitee From 7ccd09bf66e6ee8303720df74cd39f28e9b07fe8 Mon Sep 17 00:00:00 2001 From: chentiebo <2361876293@qq.com> Date: Thu, 30 Oct 2025 17:19:22 +0800 Subject: [PATCH 29/29] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E7=AB=AF=E5=8F=A39002=E5=92=8C8101?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 580c587a..82b4e12b 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -26,7 +26,7 @@ "DbName": "salary" //代码生成默认连接数据库,Oracle库是实例的名称 }, "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 - "corsUrls": [ "http://localhost:8887", "http://localhost:8886" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 + "corsUrls": [ "http://localhost:8887", "http://localhost:8886", "http://localhost:9002", "http://localhost:8101" ], //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开 "JwtSettings": { "Issuer": "SCgyl", //即token的签发者。 "Audience": "SCgyl", //指该token是服务于哪个群体的(群体范围) -- Gitee