diff --git a/Infrastructure/Controllers/BaseController.cs b/Infrastructure/Controllers/BaseController.cs index 79965b309812d5c370fd0a8f8bd81d79c3b2dfd4..995eee6e56b16ad14c655bef6c8a4dd0e5c3e152 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 c7ee5e653701a7c835387d6a28ed54bb77e8de7b..450416890b9e9456fc31a8522b5b36d16ed6b23f 100644 --- a/Infrastructure/ZR.Infrastructure.csproj +++ b/Infrastructure/ZR.Infrastructure.csproj @@ -14,13 +14,18 @@ + - + + + + + diff --git a/Infrastructure/ZskDataProcessor.cs b/Infrastructure/ZskDataProcessor.cs new file mode 100644 index 0000000000000000000000000000000000000000..96adb7e3e48e870d6e81be896c1540b5d3898b95 --- /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/Test/ImageTest.cs b/Test/ImageTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..e9e7775a3689f6a1d748aacfb8207371ac80f59e --- /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 0000000000000000000000000000000000000000..1e41cb6783ce248970d92a6294dd4a8175d9f89f --- /dev/null +++ b/Test/ZR.Test.csproj @@ -0,0 +1,13 @@ + + + + net8.0 + enable + enable + + + + + + + diff --git a/ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/EmployeeController.cs new file mode 100644 index 0000000000000000000000000000000000000000..1958f167cb314747d54f4c6d4b42bab7f32f70fa --- /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/PmsAccountingDetailsController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.cs new file mode 100644 index 0000000000000000000000000000000000000000..6ccb5e856e7463f01980f590d0c760c4d7de9e1f --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsAccountingDetailsController.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-10-09 +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); + } + + /// + /// 清空核算明细 + /// + /// + [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()); + } + + /// + /// 导入 + /// + /// + /// + [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.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.cs b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.cs new file mode 100644 index 0000000000000000000000000000000000000000..28d2243362eb05abb553be512da83d977dc99000 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/BaseInfo/PmsMonthSalaryController.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-23 +namespace ZR.Admin.WebApi.Controllers.BaseInfo +{ + /// + /// 每月工资明细表 + /// + [Verify] + [Route("BaseInfo/PmsMonthSalary")] + public class PmsMonthSalaryController : BaseController + { + /// + /// 每月工资明细表接口 + /// + private readonly IPmsMonthSalaryService _PmsMonthSalaryService; + + public PmsMonthSalaryController(IPmsMonthSalaryService PmsMonthSalaryService) + { + _PmsMonthSalaryService = PmsMonthSalaryService; + } + + /// + /// 查询每月工资明细表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "pmsmonthsalary:list")] + public IActionResult QueryPmsMonthSalary([FromQuery] PmsMonthSalaryQueryDto parm) + { + var response = _PmsMonthSalaryService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询每月工资明细表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "pmsmonthsalary:query")] + public IActionResult GetPmsMonthSalary(int Id) + { + var response = _PmsMonthSalaryService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加每月工资明细表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "pmsmonthsalary:add")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.INSERT)] + public IActionResult AddPmsMonthSalary([FromBody] PmsMonthSalaryDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _PmsMonthSalaryService.AddPmsMonthSalary(modal); + + return SUCCESS(response); + } + + /// + /// 更新每月工资明细表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "pmsmonthsalary:edit")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdatePmsMonthSalary([FromBody] PmsMonthSalaryDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _PmsMonthSalaryService.UpdatePmsMonthSalary(modal); + + return ToResponse(response); + } + + /// + /// 删除每月工资明细表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "pmsmonthsalary:delete")] + [Log(Title = "每月工资明细表", BusinessType = BusinessType.DELETE)] + public IActionResult DeletePmsMonthSalary([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_PmsMonthSalaryService.Delete(idArr)); + } + + /// + /// 导出每月工资明细表 + /// + /// + [Log(Title = "每月工资明细表", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("export")] + [ActionPermissionFilter(Permission = "pmsmonthsalary:export")] + public IActionResult Export([FromQuery] PmsMonthSalaryQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _PmsMonthSalaryService.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 = "pmsmonthsalary:delete")] + [HttpPost("clean")] + public IActionResult Clear() + { + if (!HttpContextExtension.IsAdmin(HttpContext)) + { + return ToResponse(ResultCode.FAIL, "操作失败"); + } + return SUCCESS(_PmsMonthSalaryService.TruncatePmsMonthSalary()); + } + + /// + /// 导入 + /// + /// + /// + [HttpPost("importData")] + [Log(Title = "每月工资明细表导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)] + [ActionPermissionFilter(Permission = "pmsmonthsalary: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(_PmsMonthSalaryService.ImportPmsMonthSalary(list.Adapt>())); + } + + /// + /// 每月工资明细表导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "每月工资明细表模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + var result = DownloadImportTemplate(new List() { }, "PmsMonthSalary"); + 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 0000000000000000000000000000000000000000..af28ce24a4eac0d874a8e3cc1d343a5383e015da --- /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/DocManage/DocBaseOrgController.cs b/ZR.Admin.WebApi/Controllers/DocManage/DocBaseOrgController.cs new file mode 100644 index 0000000000000000000000000000000000000000..401d4cceb4fdd4a4af07905f3060602d814071e6 --- /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.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs b/ZR.Admin.WebApi/Controllers/FjhsDetail/FjhsRecycleDetailController.cs new file mode 100644 index 0000000000000000000000000000000000000000..cf49f4b09a4e538e6c2a90bb1c159ab29f1ac445 --- /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/FjhsImage/FjhsRecycleTaskDetailImageController.cs b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs new file mode 100644 index 0000000000000000000000000000000000000000..9140e5afde8442d40c6bbeb01e0910b70f831283 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsImage/FjhsRecycleTaskDetailImageController.cs @@ -0,0 +1,173 @@ +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/FjhsRecycle/FjhsRecycleTaskHeadController.cs b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs new file mode 100644 index 0000000000000000000000000000000000000000..4a50a8b83b898f4fcb8ec3b79df416421d18481e --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycle/FjhsRecycleTaskHeadController.cs @@ -0,0 +1,1161 @@ +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; +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.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 + + } + + 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 = _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) + { + + try + { + 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; + } + } + + + + + + + + /// + /// 导出回收搬运任务清单 + /// + /// + [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; + } + } + + + + + + + /// + /// 清空回收任务主表 + /// + /// + [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()) + //{ + // // 关键修复: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 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) + { + // 假设明细中有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; } + } + + + + /// + /// 回收任务主表导入模板下载 + /// + /// + [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 new file mode 100644 index 0000000000000000000000000000000000000000..c1c9fdb08473d0cfe81bef4fff8e3b3e3941414a --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/FjhsRecycleSampling/FjhsRecycleSamplingDetailController.cs @@ -0,0 +1,604 @@ +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; +using MiniExcelLibs.Attributes; +using ZR.Service.FjhsRecycleSampling; + +//创建时间: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.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] 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 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 = _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) + { + 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 if (parm.IsMeetRecycleCondition == "现场处理") + { + parm.IsMeetRecycleCondition = "2"; // 或直接转换为整数类型 2 + } + //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/Knowledge/KnowledgeBaseController.cs b/ZR.Admin.WebApi/Controllers/Knowledge/KnowledgeBaseController.cs new file mode 100644 index 0000000000000000000000000000000000000000..ae37d4bb2acec09ca473bc9719930e33f955f35b --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Knowledge/KnowledgeBaseController.cs @@ -0,0 +1,381 @@ +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; +using ZR.Infrastructure; + +//创建时间:2025-07-07 +namespace ZR.Admin.WebApi.Controllers.Knowledge +{ + /// + /// 订单知识库 + /// + [Verify] + [Route("knowledge/KnowledgeBase")] + public class KnowledgeBaseController : BaseController + { + /// + /// 订单知识库接口 + /// + private readonly IKnowledgeBaseRawdataService _ZskQdRawdataService; + private readonly IKnowledgeBaseRequiredService _ZskSgsRequiredService; + + public KnowledgeBaseController(IKnowledgeBaseRawdataService ZskQdRawdataService, IKnowledgeBaseRequiredService 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] KnowledgeBaseRawdataDto 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] KnowledgeBaseRawdataDto 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] KnowledgeBaseRawdataQueryDto 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 + { + //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()) + { + + + // 关键步骤:给每个 DTO 赋值文件名 + fileName = formFile.FileName; //获取文件名 + + if (!fileName.Contains("备货未入账") && + !fileName.Contains("到货未入库") && + !fileName.Contains("工程问题呆滞")) + { + // 不包含任何关键词时,返回提示 + string message = "文件名不满足要求,请确认文件名包含:备货未入账、到货未入库、工程问题呆滞中的任意一个"; + + return ToResponse(ResultCode.FAIL, message); + } + + + 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)); + + + + + } + 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); + + 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")] + [ActionPermissionFilter(Permission = "zskqdrawdata: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 + { + + string fileName = ""; + List list = new(); + using (var stream = formFile.OpenReadStream()) + { + list = stream.Query(startCell: "A2").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) + { + 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/Controllers/Photo/PhotoController.cs b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs new file mode 100644 index 0000000000000000000000000000000000000000..27202fc8876a86313debaf3e1aac91d3b835a56c --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Photo/PhotoController.cs @@ -0,0 +1,321 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using System.IO; +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 +{ + + [ApiController] + [Route("api/[controller]")] + public class PhotoController : BaseController + { + + private readonly IRecycleTaskDetailImageService _RecycleTaskDetailImageService; + private readonly IRecycleDetailService _RecycleDetailService; + + // 照片存储路径相对位置 + //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(IRecycleTaskDetailImageService RecycleTaskDetailImageService, IRecycleDetailService RecycleDetailService) + { + _RecycleTaskDetailImageService = RecycleTaskDetailImageService; + _RecycleDetailService = RecycleDetailService; + + // 确保存储目录存在 + if (!Directory.Exists(_storagePath)) + { + Directory.CreateDirectory(_storagePath); + } + } + + public class PhotoUploadRequest + { + public string docNumber { get; set; } // 对应前端的"docNumber" + public string operatorName { get; set; } // 对应前端的"operator" + public List photos { get; set; } // 对应前端的"photos"(图片列表) + } + + + /// + /// 上传照片 + /// + /// 照片文件集合 + /// 上传结果 + /// + + [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) + { + try + { + // 验证文件类型 + + if (!IsValidImageType(photo.ContentType)) + { + result.Errors.Add($"文件 {photo.FileName} 不是有效的图片类型"); + continue; + } + + // 验证文件大小(限制100MB以内) + + if (photo.Length > 100 * 1024 * 1024) + { + result.Errors.Add($"文件 {photo.FileName} 大小超过限制(最大100MB)"); + 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); + } + + + // 构造数据库实体对象 + var imageEntity = new RecycleTaskDetailImage + { + DocNumber = docNumber, + SampleImageUrl = relativePath, + Creator = operatorName, + CreateTime = DateTime.Now, + Remarks = fileName + // 若有其他字段需要设置,可在此添加 + }; + + + // 调用服务层方法将实体添加到数据库 + var modal = imageEntity.Adapt().ToCreate(HttpContext); + + var resulte = _RecycleTaskDetailImageService.AddFjhsRecycleTaskDetailImage(modal); + + // 记录成功信息(存储相对路径,便于前端访问) + + result.SuccessCount++; + result.PhotoPaths.Add($"Uploads/Photos/{fileName}"); + + _RecycleTaskDetailImageService.Adapt(photo); + + } + catch (Exception ex) { result.Errors.Add($"文件 {photo.FileName} 上传失败: {ex.Message}"); } + } + return Ok(new { success = true, data = result }); + } + + + /// + /// 获取照片 + /// + /// 照片文件名 + /// 照片文件流 + /// + + //[HttpGet("photoGet/{fileName}")] + [HttpGet("photoGet/Uploads/Photos/{fileName}")] + public IActionResult GetPhoto(string 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; + } + } + + /// + /// 验证是否为有效的图片类型 + /// + /// + 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; } + } + + + + /// + /// 获取指定目录下的所有图片文件列表 + /// + [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 = _RecycleTaskDetailImageService.GetListAll(docNumber).ToArray(); + + return Ok(imageRecords); + } + catch (Exception ex) + { + + return StatusCode(500, $"获取图片信息失败: {ex.Message}"); + } + + + + } + + + + + + + } + + + +} diff --git a/ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs b/ZR.Admin.WebApi/Controllers/Recycle/RecycleDetailController.cs new file mode 100644 index 0000000000000000000000000000000000000000..2ecb08d1043e962ecedd1975628a4649ac3ccc8b --- /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 0000000000000000000000000000000000000000..9b4ba9a8606de62ada8f43df1a97392fd1714c68 --- /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 0000000000000000000000000000000000000000..b579794808177a6b22a29ea1a5afa4d25084ce2c --- /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 0000000000000000000000000000000000000000..5e741a289a93c96444f8b8ad91385a99871c32e2 --- /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/Controllers/Report/AccountingDetailsController.cs b/ZR.Admin.WebApi/Controllers/Report/AccountingDetailsController.cs new file mode 100644 index 0000000000000000000000000000000000000000..934ded2f0601c2ae9aa8977afb0e1a10ad3efb56 --- /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.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsAccrualItemProvideController.cs new file mode 100644 index 0000000000000000000000000000000000000000..b2a6044d52c243b414ce3bf9afc429acda8daaa8 --- /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-10-09 +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 0000000000000000000000000000000000000000..8faeb2a980122585c4cbfd975897d84bf9da284e --- /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-10-10 +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 0000000000000000000000000000000000000000..7bd7453bf5f56d67c574741e41c3b9c7bd97b061 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostController.cs @@ -0,0 +1,171 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Report.Dto; +using ZR.Model.Report; +using ZR.Service.Report.IReportService; +using ZR.Admin.WebApi.Filters; +using MiniExcelLibs; + +//创建时间:2025-10-09 +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); + } + + /// + /// 添加人工成本 + /// + /// + [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)); + } + + /// + /// 导出人工成本 + /// + /// + [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); + } + + /// + /// 清空人工成本 + /// + /// + [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 new file mode 100644 index 0000000000000000000000000000000000000000..e0fea7f5cad23144dd61208b46c3ccfc5455e1c2 --- /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-10-09 +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 0000000000000000000000000000000000000000..f9755f67de16ba722a8b72416ea812008389b736 --- /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-10-09 +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/Controllers/Report/PmsEmployeeCostSumController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsEmployeeCostSumController.cs new file mode 100644 index 0000000000000000000000000000000000000000..44ca73244092d41af34133ea7a5d9dab57f13c40 --- /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/PmsHousingFundAllController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsHousingFundAllController.cs new file mode 100644 index 0000000000000000000000000000000000000000..a4fa829424b66bc4d02c3f1a6c841648ea7bb118 --- /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 0000000000000000000000000000000000000000..f39e225d9ce0d042cff7308c29b546982bf08855 --- /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/PmsHrXtController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsHrXtController.cs new file mode 100644 index 0000000000000000000000000000000000000000..b54c4e6dfb27f26552548129f2791172b2eb8cb1 --- /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 0000000000000000000000000000000000000000..d5a061532140e0e51d696bc20aafaea804254c39 --- /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/PmsProvincePensionAllController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsProvincePensionAllController.cs new file mode 100644 index 0000000000000000000000000000000000000000..1b79d47cbe99542178cbf084b22b51e80a7a03fd --- /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 0000000000000000000000000000000000000000..dab89e9c28dbccb530e29ddccef53016979e6207 --- /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/PmsSalaryMonthlyController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsSalaryMonthlyController.cs new file mode 100644 index 0000000000000000000000000000000000000000..9175c788a782fe51d131bbd7d6c43303e5af92df --- /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.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs b/ZR.Admin.WebApi/Controllers/Report/PmsSocialInsuranceCityController.cs new file mode 100644 index 0000000000000000000000000000000000000000..3406af32181cbef6f83076dd2f9912c224a63156 --- /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 0000000000000000000000000000000000000000..c04feda15af1f2ac665164d9368e13c5a7c1ea4e --- /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.Admin.WebApi/Controllers/System/CompanyController.cs b/ZR.Admin.WebApi/Controllers/System/CompanyController.cs new file mode 100644 index 0000000000000000000000000000000000000000..36821e5834151a9992d3bf19bd7cb0eda292907d --- /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/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index 7e0004c739652575c496e57519235f1edf85fb66..aaeae3ebb58ba51e9635af9c7b2ab2bd4d28fa7a 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 bcc6647a0a8d861076143bf9805e59199e4e145d..fc5c4021269b50694bbf9d34b413a8ea6b33c87a 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/Program.cs b/ZR.Admin.WebApi/Program.cs index 748191d8534dcf740a388d0aa17672f390b2b99c..32386aeecdd9e99f41d4236fd55b34535060c7fd 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; @@ -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") @@ -88,6 +96,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 +168,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 0000000000000000000000000000000000000000..4724941d7266815a7e1e007f9c7d8afdf6c3e8ad --- /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/Properties/PublishProfiles/FolderProfile2.pubxml b/ZR.Admin.WebApi/Properties/PublishProfiles/FolderProfile2.pubxml new file mode 100644 index 0000000000000000000000000000000000000000..4724941d7266815a7e1e007f9c7d8afdf6c3e8ad --- /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.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 0fb7da2f3828792b19aab739857af8dc30562298..39296e4f2da78d2290ba8ceb1a9559f1d02c0206 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 + + + + + + + + + + + + + + + + + + @@ -19,13 +37,19 @@ + + + + + + diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index ec13dd3b10eea5cc1dee6815eb4ccf4dde07a7fc..82b4e12b8f7547cf2f5769d1b96bd88e891163c4 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -1,4 +1,4 @@ -{ +{ "Logging": { "LogLevel": { "Default": "Information", @@ -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=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 } @@ -18,17 +18,19 @@ //代码生成数据库配置 "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};", + "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": "ZrAdmin" //代码生成默认连接数据库,Oracle库是实例的名称 - }, + "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": "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" @@ -37,7 +39,7 @@ "ShowDbLog": true, //是否打印db日志 "InitDb": false, //是否初始化db "DemoMode": false, //是否演示模式 - "SingleLogin": false, //是否允许多设备/浏览器登录 + "SingleLogin": false, //是否允许多设备/浏览器登录 "workId": 1, //雪花id唯一数字 "sqlExecutionTime": 5, //Sql执行时间超过多少秒记录日志并警报 "Upload": { @@ -108,6 +110,6 @@ "author": "admin", "tablePrefix": "sys_", //"表前缀(生成类名不会包含表前缀,多个用逗号分隔)", "vuePath": "", //前端代码存储路径eg:D:\Work\ZRAdmin-Vue3 - "uniappPath": "D:\\Work" //h5前端代码存储路径 + "uniappPath": "C:\\Work" //h5前端代码存储路径 } } 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 Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/FjhsRecycleTaskHead.xlsx differ 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 Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/MaterialImport.xlsx differ 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 Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskQdRawdata.xlsx differ 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 Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/ZskSgsRequired.xlsx differ diff --git a/ZR.Common/AesHelper.cs b/ZR.Common/AesHelper.cs new file mode 100644 index 0000000000000000000000000000000000000000..a403aaf5d7fe1b5dddcee8eaab8278ac7054aced --- /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.Common/ImageHelper.cs b/ZR.Common/ImageHelper.cs new file mode 100644 index 0000000000000000000000000000000000000000..f8fcdd60d11461980ca418a34401a79513eb145c --- /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 bbef2dad49000cf5a8e2ea34c73619fad19c151d..b570759281dd42e84c949d76099f191b30ec606b 100644 --- a/ZR.Common/ZR.Common.csproj +++ b/ZR.Common/ZR.Common.csproj @@ -8,6 +8,8 @@ + + diff --git a/ZR.Model/BaseInfo/Dto/EmployeeDto.cs b/ZR.Model/BaseInfo/Dto/EmployeeDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..1b2a84b4d48689d5db2d0ff2978c8a116f431bef --- /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/PmsAccountingDetailsDto.cs b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..fb5edd34bfe318ff573344584c505d111a1e17c3 --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/PmsAccountingDetailsDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 核算明细查询对象 + /// + public class PmsAccountingDetailsQueryDto : 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 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; } + + [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/BaseInfo/Dto/PmsMonthSalaryDto.cs b/ZR.Model/BaseInfo/Dto/PmsMonthSalaryDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..4a6b2cfc8b493233683d2e9f761184934a65c273 --- /dev/null +++ b/ZR.Model/BaseInfo/Dto/PmsMonthSalaryDto.cs @@ -0,0 +1,324 @@ + +namespace ZR.Model.BaseInfo.Dto +{ + /// + /// 每月工资明细表查询对象 + /// + public class PmsMonthSalaryQueryDto : PagerInfo + { + public DateTime? RecordMonth { get; set; } + public string EmployeeCode { get; set; } + public string EmployeeName { get; set; } + } + + /// + /// 每月工资明细表输入输出对象 + /// + public class PmsMonthSalaryDto + { + [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; } + + [ExcelColumn(Name = "人员id")] + [ExcelColumnName("人员id")] + public int? EmployeeId { get; set; } + + [Required(ErrorMessage = "人员编码不能为空")] + [ExcelIgnore] + 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 SalarySupplement { get; set; } + + [ExcelColumn(Name = "年功津贴")] + [ExcelColumnName("年功津贴")] + public decimal SeniorityAllowance { get; set; } + + [ExcelColumn(Name = "综合补贴")] + [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; } + + [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 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 OtherSupplement { 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 BalancePayableAVG { 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 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; } + + + + } +} \ 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 0000000000000000000000000000000000000000..cc93d6035d9944cea3473fe7c06a1afabbca48da --- /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 0000000000000000000000000000000000000000..fd1569ba8be06fb4d5c53dabf103cd19ca49ac23 --- /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 long 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/PmsAccountingDetails.cs b/ZR.Model/BaseInfo/PmsAccountingDetails.cs new file mode 100644 index 0000000000000000000000000000000000000000..4d33a3468f36ad930ed92b880666e701b95f2bf9 --- /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 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/BaseInfo/PmsMonthSalary.cs b/ZR.Model/BaseInfo/PmsMonthSalary.cs new file mode 100644 index 0000000000000000000000000000000000000000..0503944922d679bb9ecb524921e2769561bde4a7 --- /dev/null +++ b/ZR.Model/BaseInfo/PmsMonthSalary.cs @@ -0,0 +1,396 @@ + +namespace ZR.Model.BaseInfo +{ + /// + /// 每月工资明细表 + /// + [SugarTable("pms_month_salary")] + public class PmsMonthSalary + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 记录月份 + /// + 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 SalarySupplement { get; set; } + + /// + /// 年功津贴 + /// + public decimal SeniorityAllowance { get; set; } + + /// + /// 综合补贴 + /// + public decimal ComprehensiveAllowance { get; set; } + + /// + /// 月预发绩效工资 + /// + public decimal AdvancePerformancePay { get; set; } + + /// + /// 补发绩效工资 + /// + public decimal PerformanceSupplement { get; set; } + + /// + /// 清算绩效工资 + /// + public decimal SettlementPerformancePay { 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 ProjectDeduction { get; set; } + + /// + /// 绩效扣款(考勤) + /// + public decimal AttendanceDeduction { get; set; } + + /// + /// 代发奖金 + /// + public decimal AgentBonus { get; set; } + + /// + /// 代发其他 + /// + public decimal AgentOther { get; set; } + + /// + /// 补发其他工资 + /// + public decimal OtherSupplement { get; set; } + + /// + /// 其他固定发放 + /// + public decimal FixedPayment { get; set; } + + /// + /// 计件计量工资 + /// + public decimal PieceworkWage { get; set; } + + /// + /// 月预设项目 + /// + public decimal ProjectPreset { get; set; } + + /// + /// 其他工资 + /// + public decimal OtherIncome { get; set; } + + /// + /// 平衡应发 + /// + public decimal BalancePayableAVG { get; set; } + + /// + /// 午餐补助 + /// + public decimal LunchAllowance { get; set; } + + /// + /// 女员工卫生费 + /// + public decimal WomenAllowance { get; set; } + + /// + /// 月应发小计 + /// + 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; } + + /// + /// 创建人 + /// + [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/BaseInfo/SalaryLevel.cs b/ZR.Model/BaseInfo/SalaryLevel.cs new file mode 100644 index 0000000000000000000000000000000000000000..b4a124441a2065b917f30e538c6ec92bf2809179 --- /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/DocManage/DocBaseOrg.cs b/ZR.Model/DocManage/DocBaseOrg.cs new file mode 100644 index 0000000000000000000000000000000000000000..ddfd90be2d233a7f91ba71cca1fc30261826444c --- /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 0000000000000000000000000000000000000000..e8653299c8ac2662f5dfcb5b616ef8bdf3b4bc53 --- /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.Model/DownM/RecycleMaterialDetail.cs b/ZR.Model/DownM/RecycleMaterialDetail.cs new file mode 100644 index 0000000000000000000000000000000000000000..b80cbabd45fdf58cfbe6babc9372552931c17942 --- /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 0000000000000000000000000000000000000000..630d1b5ef373cbe22d4cb2e2f04016a5b3e2dff0 --- /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/FjhsDetail/Dto/FjhsRecycleDetailDto.cs b/ZR.Model/FjhsDetail/Dto/FjhsRecycleDetailDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..115e8bd7f1ad3bada1e0a2224a67c2ecada23c34 --- /dev/null +++ b/ZR.Model/FjhsDetail/Dto/FjhsRecycleDetailDto.cs @@ -0,0 +1,433 @@ + +namespace ZR.Model.FjhsDetail.Dto +{ + /// + /// 回收明细表查询对象 + /// + 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 0000000000000000000000000000000000000000..c90be7fc94647933bb644f510de5132124a00a0f --- /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/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs b/ZR.Model/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..f2fefac2d5e72d23e2da288c194c089ab853c11a --- /dev/null +++ b/ZR.Model/FjhsImage/Dto/FjhsRecycleTaskDetailImageDto.cs @@ -0,0 +1,82 @@ + +namespace ZR.Model.FjhsImage.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; } + } + + /// + /// 回收任务明细图片表输入输出对象 + /// + 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; } + + [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/FjhsImage/FjhsRecycleTaskDetailImage.cs b/ZR.Model/FjhsImage/FjhsRecycleTaskDetailImage.cs new file mode 100644 index 0000000000000000000000000000000000000000..5c56dd8b9fb28e390630cc2a989cad1b17672300 --- /dev/null +++ b/ZR.Model/FjhsImage/FjhsRecycleTaskDetailImage.cs @@ -0,0 +1,80 @@ + +namespace ZR.Model.FjhsImage +{ + /// + /// 回收任务明细图片表 + /// + [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) + /// + [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/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskDetailDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..b06281cefcebe6f5402ce683bbc4ea02228c50cc --- /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 0000000000000000000000000000000000000000..7ecaea05af1ca54b214ff43625f5173c3d042220 --- /dev/null +++ b/ZR.Model/FjhsRecycle/Dto/FjhsRecycleTaskHeadDto.cs @@ -0,0 +1,444 @@ + +using ZR.Model.FjhsImage.Dto; + +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 = "系统流程单据号")] + [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 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; } + + [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/FjhsRecycle/Dto/MaterialImportDto.cs b/ZR.Model/FjhsRecycle/Dto/MaterialImportDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..296da57166e2b9b941c3ac7009244a159ae28fe0 --- /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.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs b/ZR.Model/FjhsRecycle/FjhsRecycleTaskDetail.cs new file mode 100644 index 0000000000000000000000000000000000000000..2fd5312ae2cf4c871e989ee7175741f99649e406 --- /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 0000000000000000000000000000000000000000..6dac1b872ef1b8baa73d32520326ff75433853a7 --- /dev/null +++ b/ZR.Model/FjhsRecycle/FjhsRecycleTaskHead.cs @@ -0,0 +1,207 @@ + +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 = "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/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..e126a986b6bfff1dca9df605688e5fac1ab3e08e --- /dev/null +++ b/ZR.Model/FjhsRecycleSampling/Dto/FjhsRecycleSamplingDetailDto.cs @@ -0,0 +1,302 @@ + +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 = "备注")] + [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 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 0000000000000000000000000000000000000000..cdf4d598f86828c0bf56bc00ee6618a2e6a90dff --- /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.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..a73f386491f15b32ab83da6396ae89381fcd754e --- /dev/null +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataDto.cs @@ -0,0 +1,133 @@ + +namespace ZR.Model.Knowledge.Dto +{ + /// + /// 订单知识库查询对象 + /// + public class KnowledgeBaseRawdataQueryDto : 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 KnowledgeBaseRawdataDto + { + [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; } + + + + } + + + + + /// + /// 订单知识库输入输出对象,只用于工程问题的导入 + /// + public class KnowledgeBaseRawdataDtoGCWT + { + [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/KnowledgeBaseRawdataLeftRequiredDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataLeftRequiredDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..97181fb33d081c4d0dfb1820485ed5d02d5bf186 --- /dev/null +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRawdataLeftRequiredDto.cs @@ -0,0 +1,118 @@ +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 string orderConfigurationCode { get; set; } //下单配置编码 + + + + } + + + /// + /// 订单知识库输入输出对象 + /// + + public class KnowledgeBaseRawdataLeftRequiredDto + { + [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; } + + + 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/Dto/KnowledgeBaseRequiredDto.cs b/ZR.Model/Knowledge/Dto/KnowledgeBaseRequiredDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..18ca8d0da3b04ff99fc87444fd8be74fededdefd --- /dev/null +++ b/ZR.Model/Knowledge/Dto/KnowledgeBaseRequiredDto.cs @@ -0,0 +1,72 @@ + +namespace ZR.Model.Knowledge.Dto +{ + /// + /// 省公司每日需求表查询对象 + /// + public class KnowledgeBaseRequiredQueryDto : PagerInfo + { + public decimal RequirementforIssuanceProportion { get; set; } + } + + /// + /// 省公司每日需求表输入输出对象 + /// + public class KnowledgeBaseRequiredDto + { + [ExcelColumn(Name = "主键,自增ID")] + [ExcelColumnName("主键,自增ID")] + public long Id { get; set; } + + //[ExcelColumn(Name = "物资名称")] + //[ExcelColumnName("物资名称")] + [ExcelColumn(Index = 1)] + [ExcelColumnName("物资名称")] + public string MaterialName { get; set; } + + //[ExcelColumn(Name = "物料编码")] + //[ExcelColumnName("物料编码")] + [ExcelColumn(Index = 2)] + [ExcelColumnName("物料编码")] + public string MaterialCode { get; set; } + + //[ExcelColumn(Name = "规格型号")] + //[ExcelColumnName("规格型号")] + [ExcelColumn(Index = 3)] + [ExcelColumnName("规格型号")] + public string SpecificationModel { get; set; } + + //[ExcelColumn(Name = "需求量")] + //[ExcelColumnName("需求量")] + [ExcelColumn(Index = 4)] + [ExcelColumnName("需求量")] + public string RequiredQuantity { get; set; } + + //[ExcelColumn(Name = "已领用量")] + //[ExcelColumnName("已领用量")] + [ExcelColumn(Index = 5)] + [ExcelColumnName("已领用量")] + public string QuantityIssued { get; set; } + + //[ExcelColumn(Name = "领用占比需求")] + //[ExcelColumnName("领用占比需求")] + [ExcelColumn(Index = 6)] + [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/KnowledgeBaseRawdata.cs b/ZR.Model/Knowledge/KnowledgeBaseRawdata.cs new file mode 100644 index 0000000000000000000000000000000000000000..a7269aa27fd5691a53b278d53e3c2ddbade86ecf --- /dev/null +++ b/ZR.Model/Knowledge/KnowledgeBaseRawdata.cs @@ -0,0 +1,79 @@ + +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace ZR.Model.Knowledge +{ + /// + /// 订单知识库 + /// + [SugarTable("knowledge_base_rawdata")] + public class KnowledgeBaseRawdata + { + /// + /// 主键,自增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; } + /// + /// 下单配置编码 + /// + + // public string orderConfigurationCode { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/Knowledge/KnowledgeBaseRequired.cs b/ZR.Model/Knowledge/KnowledgeBaseRequired.cs new file mode 100644 index 0000000000000000000000000000000000000000..11c4c3ac0b3548f0dcbec3e6a0f5222b6fd8986c --- /dev/null +++ b/ZR.Model/Knowledge/KnowledgeBaseRequired.cs @@ -0,0 +1,62 @@ + +namespace ZR.Model.Knowledge +{ + /// + /// 省公司每日需求表 + /// + [SugarTable("knowledge_base_required")] + public class KnowledgeBaseRequired + { + /// + /// 主键,自增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.Model/Recycle/Dto/MaterialImportDto.cs b/ZR.Model/Recycle/Dto/MaterialImportDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..e8333e2c8a8127dc56feca8d2624eb6a847ead07 --- /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 0000000000000000000000000000000000000000..b653118c3ac6a2bed9c71e16ae0639960859cca3 --- /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 0000000000000000000000000000000000000000..fb10881b458600f51190210e0a6ada3ae0b8b774 --- /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 0000000000000000000000000000000000000000..521d0ac5437f78dcb1d6eafde2fc220d4719fc1a --- /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 0000000000000000000000000000000000000000..13648263dc8e2e015259374acd0cc08af0d192b7 --- /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 0000000000000000000000000000000000000000..4cd9003ca3bb8db2b85651e7e5251d008eff9b13 --- /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 0000000000000000000000000000000000000000..fdcb85fc4b0addba5f90b074994c9fc0204c4072 --- /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 0000000000000000000000000000000000000000..de15fb60fa9a0953dc03b69532d0273c66b5a0bc --- /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 0000000000000000000000000000000000000000..e333465b3afb9b43a123f55b634f199bc0508f13 --- /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 0000000000000000000000000000000000000000..759278999709691fd56d83dec214602a185495da --- /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 0000000000000000000000000000000000000000..c6e6de87f4cfdbdf25f8b06ab7fc9b6b8b18d5cf --- /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/Report/Dto/AccountingDetailsDto.cs b/ZR.Model/Report/Dto/AccountingDetailsDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..0bc240832d075202ffa4b3e8d8147da7ad267b5f --- /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.Model/Report/Dto/PmsAccrualItemProvideDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..5f73108015b759327653e1642cfa79876773691f --- /dev/null +++ b/ZR.Model/Report/Dto/PmsAccrualItemProvideDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 报账行信息集-发放查询对象 + /// + public class PmsAccrualItemProvideQueryDto : 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 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; } + + [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/PmsAccrualItemSetDto.cs b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..89083c38792972fd876acf60172f8464d7b9b477 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsAccrualItemSetDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 报账行信息集-计提查询对象 + /// + public class PmsAccrualItemSetQueryDto : 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 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; } + + [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/PmsEmployeeCostDetailsDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..218b8aa30ae192ff414cf73ad420d0d1d424980f --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDetailsDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 人工成本明细查询对象 + /// + public class PmsEmployeeCostDetailsQueryDto : 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 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; } + + [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/PmsEmployeeCostDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..9f1e04d787ed5b023fd3d0bed2f47738725f344a --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 人工成本查询对象 + /// + public class PmsEmployeeCostQueryDto : 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 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; } + + [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/PmsEmployeeCostStatisticDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..8968ce42b777b877a2f4ceadd9e3f43d68c906e9 --- /dev/null +++ b/ZR.Model/Report/Dto/PmsEmployeeCostStatisticDto.cs @@ -0,0 +1,771 @@ + +namespace ZR.Model.Report.Dto +{ + /// + /// 统计查询对象 + /// + public class PmsEmployeeCostStatisticQueryDto : 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 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; } + + [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/PmsEmployeeCostSumDto.cs b/ZR.Model/Report/Dto/PmsEmployeeCostSumDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..0823239775f58da392596356a45b8b88b91a954d --- /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/PmsHousingFundAllDto.cs b/ZR.Model/Report/Dto/PmsHousingFundAllDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..6ecf1a8870a884fcac0af32e45c536a7289d9103 --- /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 0000000000000000000000000000000000000000..25a4e9a7ba2d0c00eb54580b3fc9924d1ddd9c00 --- /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/PmsHrXtDto.cs b/ZR.Model/Report/Dto/PmsHrXtDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..431abacbd68f7a4da6709003241d81dbfadb3250 --- /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 0000000000000000000000000000000000000000..a988e9ad0092d57c27ac128fddb4a9f4b7af103a --- /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/PmsProvincePensionAllDto.cs b/ZR.Model/Report/Dto/PmsProvincePensionAllDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..ccd6ce8de1986e807a17ec1bbf5feb276585111f --- /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 0000000000000000000000000000000000000000..cd43d09acd6826f09b2b32b91a948527fd125d87 --- /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/PmsSalaryMonthlyDto.cs b/ZR.Model/Report/Dto/PmsSalaryMonthlyDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..2252fc21246a3e2597eb78735016aa33932fda38 --- /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/Dto/PmsSocialInsuranceCityDto.cs b/ZR.Model/Report/Dto/PmsSocialInsuranceCityDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..6f82b2eeebc855b482e0c72f41dbf9a2541d90b6 --- /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 0000000000000000000000000000000000000000..3fbd378292a9e86301e3fa1d8435c96969c24588 --- /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/PmsAccrualItemProvide.cs b/ZR.Model/Report/PmsAccrualItemProvide.cs new file mode 100644 index 0000000000000000000000000000000000000000..3f88fe95384e6b18d9ebf324cd3c815712374d9c --- /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 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/PmsAccrualItemSet.cs b/ZR.Model/Report/PmsAccrualItemSet.cs new file mode 100644 index 0000000000000000000000000000000000000000..28dfdc16544a9b508ef179282b80487a00e9a33a --- /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 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/PmsEmployeeCost.cs b/ZR.Model/Report/PmsEmployeeCost.cs new file mode 100644 index 0000000000000000000000000000000000000000..0c6fc20f77611081886662672d6247d1b4ca5d71 --- /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 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/PmsEmployeeCostDetails.cs b/ZR.Model/Report/PmsEmployeeCostDetails.cs new file mode 100644 index 0000000000000000000000000000000000000000..a7edc8e4f9e32ea39167c809d2e11073d1abcaae --- /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 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/PmsEmployeeCostStatistic.cs b/ZR.Model/Report/PmsEmployeeCostStatistic.cs new file mode 100644 index 0000000000000000000000000000000000000000..23047f92d1cacf45f9063ff26d3bf65f166eb42b --- /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 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/PmsEmployeeCostSum.cs b/ZR.Model/Report/PmsEmployeeCostSum.cs new file mode 100644 index 0000000000000000000000000000000000000000..b873ff96c1643dc1572bfd2d739a0678f79550af --- /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/PmsHousingFundAll.cs b/ZR.Model/Report/PmsHousingFundAll.cs new file mode 100644 index 0000000000000000000000000000000000000000..a7a54f8193efc76313a01f83ace80c6937e491bb --- /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 0000000000000000000000000000000000000000..21a3e024cdaf29cceca05733d803a9e6f8c17a4e --- /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/PmsHrXt.cs b/ZR.Model/Report/PmsHrXt.cs new file mode 100644 index 0000000000000000000000000000000000000000..6f45cc67a8c490866d3b2294cd8ea0f5010c557d --- /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 0000000000000000000000000000000000000000..359b59596ad9d7da2fcf7b4485a2b42dc453936e --- /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/PmsProvincePensionAll.cs b/ZR.Model/Report/PmsProvincePensionAll.cs new file mode 100644 index 0000000000000000000000000000000000000000..2cf40fab460932cf79b9ea7cb99d967ef2d520a4 --- /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 0000000000000000000000000000000000000000..c0b0996e4965f334b78f8645a8a191ccb5cecf98 --- /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/PmsSalaryMonthly.cs b/ZR.Model/Report/PmsSalaryMonthly.cs new file mode 100644 index 0000000000000000000000000000000000000000..b171aded50bddc6e32e712f6ba041c46c70f8d01 --- /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.Model/Report/PmsSocialInsuranceCity.cs b/ZR.Model/Report/PmsSocialInsuranceCity.cs new file mode 100644 index 0000000000000000000000000000000000000000..3fc32c0beffc79c31d3d5059a00d74c96d09f515 --- /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 0000000000000000000000000000000000000000..025cccc73f2c2e13cfbe32d18727be35270659e2 --- /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.Model/System/Company.cs b/ZR.Model/System/Company.cs new file mode 100644 index 0000000000000000000000000000000000000000..29ce7fb25ef90130e6cefb454d5a9b7ecb1e006e --- /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 0000000000000000000000000000000000000000..3c050e7151dccb8d4275140394093dd38cdf2a18 --- /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.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index a204f357e655420b5c30446e8705ebe91d76f6ca..00a035873e212eb8d32cd3bb87ed3930c1b6cd27 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -7,9 +7,28 @@ - + + + + + + + + + + + + + + + + + + + + diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index 476d945c5fdd723cd9b1e3d853b779a7e18714e1..7005a33c038a50585b7921c251c95999a2d74131 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); + } + + + + /// /// 根据主值查询单条数据 /// @@ -331,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.Repository/IBaseRepository.cs b/ZR.Repository/IBaseRepository.cs index c8cba010d8b77447df8f2c9bfbe971e277a63d95..c2af68b455a26ae630e9f0b1fdc8233dd87626cb 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/BaseInfo/EmployeeService.cs b/ZR.Service/BaseInfo/EmployeeService.cs new file mode 100644 index 0000000000000000000000000000000000000000..9221c03061d37b3d59703059a4f31c3d39975732 --- /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 0000000000000000000000000000000000000000..fdfbf0a6d6be67390832d2ccd1365ce11ffe9c29 --- /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/IPmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs new file mode 100644 index 0000000000000000000000000000000000000000..f36e89b49c6e03d07efd86444caa5e12b18aed6a --- /dev/null +++ b/ZR.Service/BaseInfo/IBaseInfoService/IPmsAccountingDetailsService.cs @@ -0,0 +1,25 @@ +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); + + bool TruncatePmsAccountingDetails(); + + (string, object, object) ImportPmsAccountingDetails(List list); + + PagedInfo ExportList(PmsAccountingDetailsQueryDto parm); + } +} diff --git a/ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs b/ZR.Service/BaseInfo/IBaseInfoService/IPmsMonthSalaryService.cs new file mode 100644 index 0000000000000000000000000000000000000000..1f9d5b72bfeea5ea4452ecc2f9a431b78fbb41ac --- /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/IBaseInfoService/ISalaryLevelService.cs b/ZR.Service/BaseInfo/IBaseInfoService/ISalaryLevelService.cs new file mode 100644 index 0000000000000000000000000000000000000000..a0276ac21872b755f82fa7deaa69f897e0300abf --- /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/PmsAccountingDetailsService.cs b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs new file mode 100644 index 0000000000000000000000000000000000000000..ae70db72c44417abd4dd72078c59cd7f002bdb08 --- /dev/null +++ b/ZR.Service/BaseInfo/PmsAccountingDetailsService.cs @@ -0,0 +1,149 @@ +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 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(); + } + /// + /// 导入核算明细 + /// + /// + public (string, object, object) ImportPmsAccountingDetails(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(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(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/BaseInfo/PmsMonthSalaryService.cs b/ZR.Service/BaseInfo/PmsMonthSalaryService.cs new file mode 100644 index 0000000000000000000000000000000000000000..d87ab013bced88142d107a409648a0b2f59ace80 --- /dev/null +++ b/ZR.Service/BaseInfo/PmsMonthSalaryService.cs @@ -0,0 +1,146 @@ +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(IPmsMonthSalaryService), ServiceLifetime = LifeTime.Transient)] + public class PmsMonthSalaryService : BaseService, IPmsMonthSalaryService + { + /// + /// 查询每月工资明细表列表 + /// + /// + /// + public PagedInfo GetList(PmsMonthSalaryQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + //.OrderBy("RecordMonth desc") + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public PmsMonthSalary GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加每月工资明细表 + /// + /// + /// + public PmsMonthSalary AddPmsMonthSalary(PmsMonthSalary model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改每月工资明细表 + /// + /// + /// + public int UpdatePmsMonthSalary(PmsMonthSalary model) + { + return Update(model, true); + } + + /// + /// 清空每月工资明细表 + /// + /// + 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) ImportPmsMonthSalary(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(PmsMonthSalaryQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new PmsMonthSalaryDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(PmsMonthSalaryQueryDto parm) + { + 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; + } + } +} \ 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 0000000000000000000000000000000000000000..0b59b04da54a985ec69bba3122a9e06e22135f1d --- /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/DocManage/DocBaseOrgService.cs b/ZR.Service/DocManage/DocBaseOrgService.cs new file mode 100644 index 0000000000000000000000000000000000000000..dca6a72a8607489054b3d36b4e48c342d92dbb77 --- /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 0000000000000000000000000000000000000000..f693cf37a9bd371b29fde5259dfee80b09e6cd5b --- /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); + } +} diff --git a/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..357cb765dd4c07f90117424daf519257c880d844 --- /dev/null +++ b/ZR.Service/FjhsDetail/FjhsRecycleDetailService.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.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(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 + fjhs_recycle_task_head h + JOIN + fjhs_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 + fjhs_recycle_task_head h + JOIN + fjhs_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 + 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(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 = $"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(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/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..fec9cead5568b18cb9fe1e46b6ca79653fd726b4 --- /dev/null +++ b/ZR.Service/FjhsDetail/IFjhsDetailService/IFjhsRecycleDetailService.cs @@ -0,0 +1,26 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.FjhsDetail.IFjhsDetailService +{ + /// + /// 回收明细表service接口 + /// + public interface IFjhsRecycleDetailService : 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/FjhsImage/FjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.cs new file mode 100644 index 0000000000000000000000000000000000000000..ee42791b8e880be0b51f7275c027fac30713eab7 --- /dev/null +++ b/ZR.Service/FjhsImage/FjhsRecycleTaskDetailImageService.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.FjhsImage.IFjhsImageService; + + +namespace ZR.Service.FjhsImage +{ + /// + /// 回收任务明细图片表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailImageService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskDetailImageService : BaseService, IFjhsRecycleTaskDetailImageService + { + /// 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 = $"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(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/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs new file mode 100644 index 0000000000000000000000000000000000000000..dc39b288f25ddf4d1dabaf520e8217e7e438e74f --- /dev/null +++ b/ZR.Service/FjhsImage/IFjhsImageService/IFjhsRecycleTaskDetailImageService.cs @@ -0,0 +1,26 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.FjhsImage.IFjhsImageService +{ + /// + /// 回收任务明细图片表service接口 + /// + public interface IFjhsRecycleTaskDetailImageService : 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/FjhsRecycle/FjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..acf2da222e251cc036ecec23b58f90a951a077b8 --- /dev/null +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskDetailService.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.FjhsRecycle.IFjhsRecycleService; + +namespace ZR.Service.FjhsRecycle +{ + /// + /// 回收任务明细表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskDetailService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskDetailService : BaseService, IFjhsRecycleTaskDetailService + { + /// + /// 查询回收任务明细表列表 + /// + /// + /// + 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 + + fjhs_recycle_task_detail d + + 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 and d.asset_card_number = s.asset_card_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} "; + + + + + + 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 = $"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(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/FjhsRecycle/FjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.cs new file mode 100644 index 0000000000000000000000000000000000000000..23fb0ec7fbfada8b894139ed28a00f90fa40bd78 --- /dev/null +++ b/ZR.Service/FjhsRecycle/FjhsRecycleTaskHeadService.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.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; +//using ZR.Model.FjhsImage.Dto; +using ZR.Model.DownM; + +namespace ZR.Service.FjhsRecycle +{ + /// + /// 回收任务主表Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleTaskHeadService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleTaskHeadService : BaseService, IFjhsRecycleTaskHeadService + { + /// + /// 查询回收任务主表列表 + /// + /// + /// + 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 + 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} + 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 + 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 + 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"; + + + + + 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 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 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 = $"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(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 + 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); + + + + 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; + } + + + + + 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/IFjhsRecycleTaskDetailService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..332f98e8338065102a79ecfb9417b2fd6c212ca1 --- /dev/null +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskDetailService.cs @@ -0,0 +1,28 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.FjhsRecycle.IFjhsRecycleService +{ + /// + /// 回收任务明细表service接口 + /// + public interface IFjhsRecycleTaskDetailService : 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/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs new file mode 100644 index 0000000000000000000000000000000000000000..73164c9391258151297bb6a0eef8731c48ee7911 --- /dev/null +++ b/ZR.Service/FjhsRecycle/IFjhsRecycleService/IFjhsRecycleTaskHeadService.cs @@ -0,0 +1,42 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; +using ZR.Model.DownM; + +namespace ZR.Service.FjhsRecycle.IFjhsRecycleService +{ + /// + /// 回收任务主表service接口 + /// + public interface IFjhsRecycleTaskHeadService : 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/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..191e038323e993b6aa713716e283994d5f6ebdb9 --- /dev/null +++ b/ZR.Service/FjhsRecycleSampling/FjhsRecycleSamplingDetailService.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.FjhsRecycleSampling.IFjhsRecycleSamplingService; +//using ZR.Model.FjhsRecycle.Dto; +//using materialDetailsList = ZR.Model.FjhsRecycleSampling.Dto.materialDetailsList; +using MimeKit; + +namespace ZR.Service.FjhsRecycleSampling +{ + /// + /// 堪样任务Service业务层处理 + /// + [AppService(ServiceType = typeof(IFjhsRecycleSamplingDetailService), ServiceLifetime = LifeTime.Transient)] + public class FjhsRecycleSamplingDetailService : BaseService, IFjhsRecycleSamplingDetailService + { + /// + /// 查询堪样任务列表 + /// + /// + /// + 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 + fjhs_recycle_task_head h + JOIN + fjhs_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 + fjhs_recycle_task_head h + JOIN + fjhs_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 + 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 RecycleSamplingDetailQueryDto(); + 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 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 + 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 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 = $"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(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/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..2505db36e0b299bf4d421cab937b6f80a60cfba3 --- /dev/null +++ b/ZR.Service/FjhsRecycleSampling/IFjhsRecycleSamplingService/IFjhsRecycleSamplingDetailService.cs @@ -0,0 +1,28 @@ +using ZR.Model.Recycle.Dto; +using ZR.Model.Recycle; + +namespace ZR.Service.FjhsRecycleSampling.IFjhsRecycleSamplingService +{ + /// + /// 堪样任务service接口 + /// + public interface IFjhsRecycleSamplingDetailService : 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/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs new file mode 100644 index 0000000000000000000000000000000000000000..6848b7158420c6444d99f600088a628d81aec9bc --- /dev/null +++ b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRawdataService.cs @@ -0,0 +1,30 @@ +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace ZR.Service.Knowledge.IKnowledgeService +{ + /// + /// 订单知识库service接口 + /// + public interface IKnowledgeBaseRawdataService : IBaseService + { + //PagedInfo GetList(ZskQdRawdataQueryDto parm); + PagedInfo GetList(ZskQdRawdataLeftSgsRequiredQueryDto parm); + + KnowledgeBaseRawdata GetInfo(long Id); + + + KnowledgeBaseRawdata AddZskQdRawdata(KnowledgeBaseRawdata parm); + int UpdateZskQdRawdata(KnowledgeBaseRawdata parm); + + bool TruncateZskQdRawdata(); + + //(string, object, object) ImportZskQdRawdata(List list); + + (string, object, object) ImportZskQdRawdata(List list, string fildName); + + PagedInfo ExportList(KnowledgeBaseRawdataQueryDto parm); + //PagedInfo ExportList(ZskQdRawdataLeftSgsRequiredQueryDto parm); + } +} diff --git a/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs new file mode 100644 index 0000000000000000000000000000000000000000..8e400f312c01bc3fc194a430bc2e283bf6198b9e --- /dev/null +++ b/ZR.Service/Knowledge/IKnowledgeService/IKnowledgeBaseRequiredService.cs @@ -0,0 +1,25 @@ +using ZR.Model.Knowledge.Dto; +using ZR.Model.Knowledge; + +namespace ZR.Service.Knowledge.IKnowledgeService +{ + /// + /// 省公司每日需求表service接口 + /// + public interface IKnowledgeBaseRequiredService : IBaseService + { + PagedInfo GetList(KnowledgeBaseRequiredQueryDto parm); + + KnowledgeBaseRequired GetInfo(long Id); + + + KnowledgeBaseRequired AddZskSgsRequired(KnowledgeBaseRequired parm); + int UpdateZskSgsRequired(KnowledgeBaseRequired parm); + + bool TruncateZskSgsRequired(); + + (string, object, object) ImportZskSgsRequired(List list); + + PagedInfo ExportList(KnowledgeBaseRequiredQueryDto parm); + } +} diff --git a/ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs b/ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b16216a0a9c59a4e84b8a9b2436a6e5fc1828fa8 --- /dev/null +++ b/ZR.Service/Knowledge/KnowledgeBaseRawdataService.cs @@ -0,0 +1,772 @@ +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; +using System.Data; + +namespace ZR.Service.Knowledge +{ + /// + /// 订单知识库Service业务层处理 + /// + [AppService(ServiceType = typeof(IKnowledgeBaseRawdataService), ServiceLifetime = LifeTime.Transient)] + public class KnowledgeBaseRawdataService : BaseService, IKnowledgeBaseRawdataService + { + /// + /// 查询订单知识库列表 + /// + /// + /// + //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 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 KnowledgeBaseRawdataLeftRequiredDto + { + + 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, "橙色", ""))) + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色")) + }); + + var response1 = query1.Select((raw, req) => new KnowledgeBaseRawdataLeftRequiredDto + { + + 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, "橙色", ""))) + AlertStatus = SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 < 80, "绿色", SqlFunc.IIF(req.RequirementforIssuanceProportion * 100 > 100, "红色", "橙色")) + }); + + var mergedList = response.ToList().Union(response1.ToList()).ToList(); + + + // 1. 处理 DataSource 为空的项:补全字段 + mergedList = mergedList.Select(item => + { + // 判断 DataSource 是否为空(包括 null、空字符串、纯空格) + if (string.IsNullOrWhiteSpace(item.DataSource)) + { + return new KnowledgeBaseRawdataLeftRequiredDto + { + // 基础字段保持不变 + 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)) + { + 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) + { + var m =ex.Message; + return null; + + } + + + + + } + + + + /// + /// 获取详情 + /// + /// + /// + public KnowledgeBaseRawdata GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加订单知识库 + /// + /// + /// + public KnowledgeBaseRawdata AddZskQdRawdata(KnowledgeBaseRawdata model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改订单知识库 + /// + /// + /// + public int UpdateZskQdRawdata(KnowledgeBaseRawdata 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); + //} + + //#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 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 knowledge_base_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 ) + { + var m = ex.Message; + + return false; + + + } + } + /// + /// 导入订单知识库 + /// + /// + public (string, object, object) ImportZskQdRawdata(List list, string fildName) + { + + // 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 + + + #region 将zsk_qd_rawdata表中的数据备份到zsk_qd_rawdata_bak + + + + var select_sql = "SELECT DISTINCT DataSource FROM knowledge_base_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) + }; + + // 如果zsk_qd_rawdata表中存在相同的数据来源,需要先备份,再删除这部分相同的数据来源 + if (existsTargetSource) + { + + // 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 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 + + if (insert_sum > 0) + { + + //var del_sql = "DELETE FROM zsk_qd_rawdata WHERE DataSource LIKE '%' + @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表中的数据全部删除 + } + + } + + + #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(KnowledgeBaseRawdataQueryDto parm) + { + var predicate = QueryExp1(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new KnowledgeBaseRawdataDto() + { + }, true) + .ToPage(parm); + + return response; + } + + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp1(KnowledgeBaseRawdataQueryDto 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) + || + // 右表(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 + || + // 右表(req)不为 null 且其 DataSource 包含参数值(避免空引用) + (req.MaterialCode != null && req.MaterialCode ==parm.MaterialCode) + + ); + + predicate = predicate.AndIF(!string.IsNullOrEmpty(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 + || + // 右表(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); + + var m = parm.RequirementforIssuanceProportion.ToString(); + + + + + return predicate; + } + } +} \ No newline at end of file diff --git a/ZR.Service/Knowledge/KnowledgeBaseRequiredService.cs b/ZR.Service/Knowledge/KnowledgeBaseRequiredService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b423b077e9adc0ae4151c4f1a26f6c20d3afb685 --- /dev/null +++ b/ZR.Service/Knowledge/KnowledgeBaseRequiredService.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(IKnowledgeBaseRequiredService), ServiceLifetime = LifeTime.Transient)] + public class KnowledgeBaseRequiredService : BaseService, IKnowledgeBaseRequiredService + { + /// + /// 查询省公司每日需求表列表 + /// + /// + /// + public PagedInfo GetList(KnowledgeBaseRequiredQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public KnowledgeBaseRequired GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加省公司每日需求表 + /// + /// + /// + public KnowledgeBaseRequired AddZskSgsRequired(KnowledgeBaseRequired model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改省公司每日需求表 + /// + /// + /// + public int UpdateZskSgsRequired(KnowledgeBaseRequired model) + { + return Update(model, true); + } + + /// + /// 清空省公司每日需求表 + /// + /// + public bool TruncateZskSgsRequired() + { + var newTableName = $"knowledge_base_required_{DateTime.Now:yyyyMMdd}"; + if (Queryable().Any() && !Context.DbMaintenance.IsAnyTable(newTableName)) + { + Context.DbMaintenance.BackupTable("knowledge_base_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 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 knowledge_base_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(KnowledgeBaseRequiredQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .Select((it) => new KnowledgeBaseRequiredDto() + { + }, true) + .ToPage(parm); + + return response; + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(KnowledgeBaseRequiredQueryDto 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 diff --git a/ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs b/ZR.Service/Recycle/IRecycleService/IRecycleDetailService.cs new file mode 100644 index 0000000000000000000000000000000000000000..f704527e7fac18ad7dff35109f9a79839c1f9163 --- /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 0000000000000000000000000000000000000000..5e978884670c5eed2a141c4802c70035eff4bb61 --- /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 0000000000000000000000000000000000000000..6a006cfc534c33295bf69a015ea92d4d5e940a00 --- /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 0000000000000000000000000000000000000000..c4ccbcf4771814a2d5b3525f1b019a08b059b2c3 --- /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 0000000000000000000000000000000000000000..4e6abfe181f10e9d74e4aa6593aedd9d86f6bdce --- /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 0000000000000000000000000000000000000000..6620c4f7e3335f009d48d78d1550d2ec450dee3c --- /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 0000000000000000000000000000000000000000..9a8bdecfdce266315ef016c3ee9dcd4b3d237a99 --- /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 0000000000000000000000000000000000000000..ce7c608078dda8a1a93a5367bd6f4224ff2b85c7 --- /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 0000000000000000000000000000000000000000..234b15dba5e11fd19943caf7f3e8b5e6cea2a618 --- /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 0000000000000000000000000000000000000000..6ecefc1708b77af082be4fba63f3836a474ae0ba --- /dev/null +++ b/ZR.Service/Recycle/RecycleTaskHeadService.cs @@ -0,0 +1,1064 @@ +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; +using NPOI.HSSF.Record.Aggregates; + +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) + { + + try + { + + + 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 recycle_sampling_detail d + WHERE d.doc_number = h.doc_number) AS totalNumber, + -- 计算物料种类数(子查询:去重后的物料名称数量) + (SELECT COUNT(DISTINCT d.material_name) + 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, + 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; + + + } + catch (Exception ex) + { + var m =ex.Message; + + throw; + } + } + + + + + 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/Report/AccountingDetailsService.cs b/ZR.Service/Report/AccountingDetailsService.cs new file mode 100644 index 0000000000000000000000000000000000000000..6424ac2877867dd788d83ab0567c957ad3c6f6e8 --- /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 0000000000000000000000000000000000000000..8d78f99b636783a8c8e117007e04d33914ee3f1b --- /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); + } +} diff --git a/ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs b/ZR.Service/Report/IReportService/IPmsAccrualItemProvideService.cs new file mode 100644 index 0000000000000000000000000000000000000000..d52c8c3cc5a20e242c67506cee35e2119272c293 --- /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 0000000000000000000000000000000000000000..80fbb6548daaa235df62780b18caadc5546c781a --- /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 0000000000000000000000000000000000000000..1a8ff797d0a2fe15729852683443344af7334ee6 --- /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 0000000000000000000000000000000000000000..831445abcc7e3ba27de0d21adbce9ab4b186d661 --- /dev/null +++ b/ZR.Service/Report/IReportService/IPmsEmployeeCostService.cs @@ -0,0 +1,25 @@ +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); + 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 new file mode 100644 index 0000000000000000000000000000000000000000..fd64a4be5969d18ed2b81d85c7712d9676e249fb --- /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/IReportService/IPmsEmployeeCostSumService.cs b/ZR.Service/Report/IReportService/IPmsEmployeeCostSumService.cs new file mode 100644 index 0000000000000000000000000000000000000000..57c11af40dce5042b57b78e618d540621b9b7566 --- /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/IPmsHousingFundAllService.cs b/ZR.Service/Report/IReportService/IPmsHousingFundAllService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b07d1bcb401cbc3ab787d9ce433c2922ee0d1b28 --- /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 0000000000000000000000000000000000000000..2e9b458c6472bdc43cab620fe64c9f252c989f8c --- /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/IPmsHrXtService.cs b/ZR.Service/Report/IReportService/IPmsHrXtService.cs new file mode 100644 index 0000000000000000000000000000000000000000..2f67315ecabd64f4760e42ff3ebce6777a449ba4 --- /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 0000000000000000000000000000000000000000..8d24e9eb81792164f23bfff596a6dae70e43e7cf --- /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/IPmsProvincePensionAllService.cs b/ZR.Service/Report/IReportService/IPmsProvincePensionAllService.cs new file mode 100644 index 0000000000000000000000000000000000000000..0d9d93abff00db7d9ea12b966784d00f589cbb27 --- /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 0000000000000000000000000000000000000000..4e976ca30956fc52951d57a7e844a566272f9e17 --- /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/IPmsSalaryMonthlyService.cs b/ZR.Service/Report/IReportService/IPmsSalaryMonthlyService.cs new file mode 100644 index 0000000000000000000000000000000000000000..370f3830d75cb1105dc64c1e9d45d1c9a64ad6a4 --- /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/IReportService/IPmsSocialInsuranceCityService.cs b/ZR.Service/Report/IReportService/IPmsSocialInsuranceCityService.cs new file mode 100644 index 0000000000000000000000000000000000000000..9d0451f1552eb7ca843508d85288116192ba9aea --- /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 0000000000000000000000000000000000000000..d69ba82621d4aed42de727b1218bf339cf8c73f1 --- /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/PmsAccrualItemProvideService.cs b/ZR.Service/Report/PmsAccrualItemProvideService.cs new file mode 100644 index 0000000000000000000000000000000000000000..09fb2602135b58a6028a72f171d4702f765c0138 --- /dev/null +++ b/ZR.Service/Report/PmsAccrualItemProvideService.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(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(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/PmsAccrualItemSetService.cs b/ZR.Service/Report/PmsAccrualItemSetService.cs new file mode 100644 index 0000000000000000000000000000000000000000..d7604e68b8837562e10e275ef83341a580da72fd --- /dev/null +++ b/ZR.Service/Report/PmsAccrualItemSetService.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(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(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/PmsEmployeeCostDetailsService.cs b/ZR.Service/Report/PmsEmployeeCostDetailsService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b1429e2301e716478da0068c64fb685980dc0852 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostDetailsService.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(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(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/PmsEmployeeCostService.cs b/ZR.Service/Report/PmsEmployeeCostService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b59c0c1b202c8a53f9efc8dcf72402b38303f314 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostService.cs @@ -0,0 +1,176 @@ +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() + .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; + } + + + /// + /// 获取详情 + /// + /// + /// + 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 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); + } + + /// + /// 导出人工成本 + /// + /// + /// + 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(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/PmsEmployeeCostStatisticService.cs b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs new file mode 100644 index 0000000000000000000000000000000000000000..8212fc431a36f737bd273825c941c1eedad1a192 --- /dev/null +++ b/ZR.Service/Report/PmsEmployeeCostStatisticService.cs @@ -0,0 +1,207 @@ +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() + .GroupBy(a => a.AtDeptName) + .Where(predicate.ToExpression()) + //.OrderBy("ASortNo asc") + .Select(a => new PmsEmployeeCostStatistic() + { + 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) + }) + .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(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/PmsEmployeeCostSumService.cs b/ZR.Service/Report/PmsEmployeeCostSumService.cs new file mode 100644 index 0000000000000000000000000000000000000000..329dd94947721494471b955162165909b0a2e339 --- /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/PmsHousingFundAllService.cs b/ZR.Service/Report/PmsHousingFundAllService.cs new file mode 100644 index 0000000000000000000000000000000000000000..7ac9412b6f6b91fe87bf883a4279bee6747535d3 --- /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 0000000000000000000000000000000000000000..e9490882058ba183a2ec3afc470b33ae42895bb3 --- /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/PmsHrXtService.cs b/ZR.Service/Report/PmsHrXtService.cs new file mode 100644 index 0000000000000000000000000000000000000000..f823bc75283ab8ce19bb69b81a62ee5fb28a68cf --- /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 0000000000000000000000000000000000000000..85b02841d2310e90e89d9227d35fd32fbf9457e2 --- /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/PmsProvincePensionAllService.cs b/ZR.Service/Report/PmsProvincePensionAllService.cs new file mode 100644 index 0000000000000000000000000000000000000000..10bd1ccdd51769bf37f643f8edb0a2ded0179b9a --- /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 0000000000000000000000000000000000000000..92c052faa59dc76d2d83b63744789e6d0168ac71 --- /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/PmsSalaryMonthlyService.cs b/ZR.Service/Report/PmsSalaryMonthlyService.cs new file mode 100644 index 0000000000000000000000000000000000000000..b388e4b7ef7ae3f7c5b92fa3c2b0e7b7d406d00c --- /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 diff --git a/ZR.Service/Report/PmsSocialInsuranceCityService.cs b/ZR.Service/Report/PmsSocialInsuranceCityService.cs new file mode 100644 index 0000000000000000000000000000000000000000..928e25732e62142b799f950847781554484dcf13 --- /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 0000000000000000000000000000000000000000..a7a42c2c29259fe797e87de9f979a8b8566cf060 --- /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 diff --git a/ZR.Service/System/CompanyService.cs b/ZR.Service/System/CompanyService.cs new file mode 100644 index 0000000000000000000000000000000000000000..bf580216adb06e306259d7fc975fa3a2558a31bc --- /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 0000000000000000000000000000000000000000..1f65ea7045637ea6b5d7bea4eb5ad168b02b2b80 --- /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); + + + } +} diff --git a/ZR.Service/ZR.Service.csproj b/ZR.Service/ZR.Service.csproj index 35209bc02c119a14d86c42bcfafcb9973e57ab7d..e9c2489da8af903d40ee11a03a22cc7ff103b55c 100644 --- a/ZR.Service/ZR.Service.csproj +++ b/ZR.Service/ZR.Service.csproj @@ -8,8 +8,25 @@ 1591 + + + + + + + + + + + + + + + + + diff --git a/ZR.ServiceCore/Services/IService/ISysUserService.cs b/ZR.ServiceCore/Services/IService/ISysUserService.cs index 0cfa99ee27e8969e3af1c46c9f851cbccc1d14ff..b5029f02ad0e7189fe122786afec27bfa59da466 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/SysLoginService.cs b/ZR.ServiceCore/Services/SysLoginService.cs index 5ffea07036248d327a1e31cf819517b6482dccc2..3849df12074f8bfe86f68d3c6eb4e49e38de476b 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 bb3bbc5adcb4f835078f2f542a463a9cba067f72..fa6b98edd76947c0fb34d84c601d33b64056ae83 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; @@ -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() { @@ -367,5 +369,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; + } + } } diff --git a/ZR.ServiceCore/ZR.ServiceCore.csproj b/ZR.ServiceCore/ZR.ServiceCore.csproj index b0cd1deb176f46561d55e2e087d69111e73eb2ec..a50e9bf2babf15d087289dade94755a237be3705 100644 --- a/ZR.ServiceCore/ZR.ServiceCore.csproj +++ b/ZR.ServiceCore/ZR.ServiceCore.csproj @@ -15,7 +15,7 @@ - + diff --git a/ZRAdmin.sln b/ZRAdmin.sln index 0c5700e7246c9dc848e1a1c1c60e4d8f1e87050a..de2b7e22dc71ca66a02526d2b0b11c4743ee8206 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