From 6867192f4eebd0b4de922cbe88df1cce4e6b7f75 Mon Sep 17 00:00:00 2001 From: yangk Date: Wed, 13 May 2026 16:12:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa/erp):=20=E4=BC=98=E5=8C=96ERP=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E6=B1=87=E6=80=BB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在ErpTimesheetSummaryBo中新增summaryIds字段用于汇总工时ID集合查询 - 为ErpTimesheetSummaryVo添加部门名称、部门负责人和汇总人姓名字段 - 修改数据库查询映射,增加用户关联查询获取汇总人姓名 - 更新查询条件构建逻辑,支持按汇总工时ID集合进行筛选 - 优化Excel导出配置,调整字段显示名称并移除部分ID字段的导出 - 为日期字段添加时间格式化和列宽设置 --- .../erp/domain/bo/ErpTimesheetSummaryBo.java | 5 +++ .../vo/ErpTimesheetStandardMonthVo.java | 14 ++++-- .../erp/domain/vo/ErpTimesheetSummaryVo.java | 43 +++++++++++-------- .../impl/ErpTimesheetSummaryServiceImpl.java | 3 +- .../oa/erp/ErpTimesheetSummaryMapper.xml | 3 +- 5 files changed, 43 insertions(+), 25 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpTimesheetSummaryBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpTimesheetSummaryBo.java index 1e8ada03..22f1dc56 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpTimesheetSummaryBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpTimesheetSummaryBo.java @@ -92,4 +92,9 @@ public class ErpTimesheetSummaryBo extends BaseEntity { */ private List summaryDetailList; + /** + * 汇总工时ID集合 + */ + private Long[] summaryIds; + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetStandardMonthVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetStandardMonthVo.java index 0bcb6338..dcd46cb3 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetStandardMonthVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetStandardMonthVo.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.oa.erp.domain.ErpTimesheetStandardMonth; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; +import cn.idev.excel.annotation.format.DateTimeFormat; +import cn.idev.excel.annotation.write.style.ColumnWidth; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; @@ -34,37 +36,41 @@ public class ErpTimesheetStandardMonthVo implements Serializable { /** * 月标准工时ID */ - @ExcelProperty(value = "月标准工时ID") +// @ExcelProperty(value = "月标准工时ID") private Long standardMonthId; /** * 月份编码(YYYYMM,如202604) */ - @ExcelProperty(value = "月份编码(YYYYMM,如202604)") + @ExcelProperty(value = "月份编码") private String monthCode; /** * 月份显示名(如2026年4月) */ - @ExcelProperty(value = "月份显示名(如2026年4月)") + @ExcelProperty(value = "月份显示名") private String monthLabel; /** * 起始日期 */ @ExcelProperty(value = "起始日期") + @DateTimeFormat("yyyy-MM-dd") + @ColumnWidth(20) private Date startDate; /** * 截止日期 */ @ExcelProperty(value = "截止日期") + @DateTimeFormat("yyyy-MM-dd") + @ColumnWidth(20) private Date endDate; /** * 月标准工时天数(如21.0、21.5) */ - @ExcelProperty(value = "月标准工时天数(如21.0、21.5)") + @ExcelProperty(value = "月标准工时天数") private BigDecimal standardDays; /** diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetSummaryVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetSummaryVo.java index 3ef2e37f..19f359a8 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetSummaryVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpTimesheetSummaryVo.java @@ -33,7 +33,7 @@ public class ErpTimesheetSummaryVo implements Serializable { /** * 汇总工时ID */ - @ExcelProperty(value = "汇总工时ID") +// @ExcelProperty(value = "汇总工时ID") private Long summaryId; /** @@ -51,43 +51,59 @@ public class ErpTimesheetSummaryVo implements Serializable { /** * 部门ID */ - @ExcelProperty(value = "部门ID") private Long deptId; + /** + * 部门名称 + */ + @ExcelProperty(value = "部门名称") + private String deptName; + /** * 汇总人(部门负责人)用户ID */ - @ExcelProperty(value = "汇总人(部门负责人)用户ID") private Long userId; + /** + * 部门负责人 + */ + @ExcelProperty(value = "部门负责人") + private String leaderName; + + /** + * 汇总人姓名 + */ +// @ExcelProperty(value = "汇总人姓名") + private String userName; + /** * 关联月标准工时ID */ - @ExcelProperty(value = "关联月标准工时ID") +// @ExcelProperty(value = "关联月标准工时ID") private Long standardMonthId; /** * 月标准工时天数(冗余,取自标准月表) */ - @ExcelProperty(value = "月标准工时天数(冗余,取自标准月表)") + @ExcelProperty(value = "月标准工时天数") private BigDecimal standardDays; /** * 项目工时合计(天) */ - @ExcelProperty(value = "项目工时合计(天)") + @ExcelProperty(value = "项目工时合计") private BigDecimal totalProjectHours; /** * 部门工时合计(天) */ - @ExcelProperty(value = "部门工时合计(天)") + @ExcelProperty(value = "部门工时合计") private BigDecimal totalDeptHours; /** * 总工时合计(天) */ - @ExcelProperty(value = "总工时合计(天)") + @ExcelProperty(value = "总工时合计") private BigDecimal totalHours; /** @@ -102,17 +118,6 @@ public class ErpTimesheetSummaryVo implements Serializable { @ExcelProperty(value = "备注") private String remark; - /** - * 部门名称 - */ - @ExcelProperty(value = "部门名称") - private String deptName; - - /** - * 负责人姓名 - */ - @ExcelProperty(value = "负责人姓名") - private String leaderName; /** * 汇总明细子表列表 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetSummaryServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetSummaryServiceImpl.java index 9e3880c1..e79fd83f 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetSummaryServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetSummaryServiceImpl.java @@ -110,7 +110,8 @@ public class ErpTimesheetSummaryServiceImpl implements IErpTimesheetSummaryServi bo.getTotalProjectHours()) .eq(bo.getTotalDeptHours() != null, ErpTimesheetSummary::getTotalDeptHours, bo.getTotalDeptHours()) .eq(bo.getTotalHours() != null, ErpTimesheetSummary::getTotalHours, bo.getTotalHours()) - .eq(bo.getStaffCount() != null, ErpTimesheetSummary::getStaffCount, bo.getStaffCount()); + .eq(bo.getStaffCount() != null, ErpTimesheetSummary::getStaffCount, bo.getStaffCount()) + .in(bo.getSummaryIds() != null && bo.getSummaryIds().length > 0, ErpTimesheetSummary::getSummaryId, (Object[]) bo.getSummaryIds()); return lqw; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpTimesheetSummaryMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpTimesheetSummaryMapper.xml index 68cfab38..dca3a259 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpTimesheetSummaryMapper.xml +++ b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpTimesheetSummaryMapper.xml @@ -7,10 +7,11 @@