From 9a1da3269d526fe4656f703f43fb169742bd67da Mon Sep 17 00:00:00 2001 From: lh Date: Wed, 10 Dec 2025 15:13:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=91=A8=E6=8A=A5=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpProjectReportDetailController.java | 4 +++- .../oa/erp/domain/ErpProjectReportDetail.java | 2 +- .../erp/domain/bo/ErpProjectReportDetailBo.java | 2 +- .../erp/domain/vo/ErpProjectReportDetailVo.java | 15 +++++++++------ .../service/IErpProjectReportDetailService.java | 3 ++- .../impl/ErpProjectReportDetailServiceImpl.java | 8 ++++++-- .../service/impl/ErpProjectReportServiceImpl.java | 15 ++++++++++++++- 7 files changed, 36 insertions(+), 13 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpProjectReportDetailController.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpProjectReportDetailController.java index 6c55eff3..6f6cb035 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpProjectReportDetailController.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpProjectReportDetailController.java @@ -119,7 +119,7 @@ public class ErpProjectReportDetailController extends BaseController { } /** - * 提交合同信息并提交流程 + * 提交项目周报明细并提交流程 * @param wrapper * @return */ @@ -132,4 +132,6 @@ public class ErpProjectReportDetailController extends BaseController { ErpProjectReportDetailBo projectDetailReport = wrapper.getProjectDetailReport(); return R.ok(erpProjectReportDetailService.projectReportSubmitAndFlowStart(projectReport, projectDetailReport)); } + + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectReportDetail.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectReportDetail.java index 8b7bb2a9..a8740358 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectReportDetail.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectReportDetail.java @@ -79,7 +79,7 @@ public class ErpProjectReportDetail extends TenantEntity { /** * 计划完成率 */ - private Long plannedCompletionRate; + private Double plannedCompletionRate; /** * 周报情况说明 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpProjectReportDetailBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpProjectReportDetailBo.java index c66444f7..e775aa1d 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpProjectReportDetailBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpProjectReportDetailBo.java @@ -80,7 +80,7 @@ public class ErpProjectReportDetailBo extends BaseEntity { /** * 计划完成率 */ - private Long plannedCompletionRate; + private Double plannedCompletionRate; /** * 周报情况说明 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectReportDetailVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectReportDetailVo.java index 23a14dce..e7672aba 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectReportDetailVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectReportDetailVo.java @@ -2,6 +2,7 @@ package org.dromara.oa.erp.domain.vo; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; +import cn.idev.excel.annotation.write.style.ColumnWidth; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.common.excel.annotation.ExcelDictFormat; @@ -47,30 +48,31 @@ public class ErpProjectReportDetailVo implements Serializable { /** * 部门名称 */ - @ExcelProperty(value = "部门名称") +// @ExcelProperty(value = "部门名称") private String deptName; /** * 项目经理名称 */ - @ExcelProperty(value = "项目经理名称") +// @ExcelProperty(value = "项目经理名称") private String managerName; /** * 部门负责人名称 */ - @ExcelProperty(value = "部门负责人名称") +// @ExcelProperty(value = "部门负责人名称") private String chargeName; /** * 分管副总名称 */ - @ExcelProperty(value = "分管副总名称") +// @ExcelProperty(value = "分管副总名称") private String deputyName; /** * 填写日期 */ @ExcelProperty(value = "填写日期") + @ColumnWidth(20) // 设置列宽为20个字符 private Date fillTime; /** @@ -113,7 +115,7 @@ public class ErpProjectReportDetailVo implements Serializable { * 计划完成率 */ @ExcelProperty(value = "计划完成率") - private Long plannedCompletionRate; + private Double plannedCompletionRate; /** * 周报情况说明 @@ -131,7 +133,8 @@ public class ErpProjectReportDetailVo implements Serializable { /** * 周报状态(1暂存 2审批中 3可用) */ - @ExcelProperty(value = "周报状态(1暂存 2审批中 3可用)") + @ExcelProperty(value = "周报状态(1暂存 2审批中 3可用)", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=暂存,2=审批中,3=可用") private String projectReportStatus; /** diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectReportDetailService.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectReportDetailService.java index eddfdd78..38fc5291 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectReportDetailService.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpProjectReportDetailService.java @@ -71,9 +71,10 @@ public interface IErpProjectReportDetailService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** - * 提交项目周报并提交流程 + * 提交项目周报明细并提交流程 * @param * @return */ ErpProjectReportDetailVo projectReportSubmitAndFlowStart(ErpProjectReportBo projectReport, ErpProjectReportDetailBo projectDetailReport); + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportDetailServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportDetailServiceImpl.java index 6e4e61ed..6d0b7691 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportDetailServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportDetailServiceImpl.java @@ -84,6 +84,7 @@ public class ErpProjectReportDetailServiceImpl implements IErpProjectReportDetai @Override public TableDataInfo queryPageList(ErpProjectReportDetailBo bo, PageQuery pageQuery) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); + lqw.orderByDesc(ErpProjectReportDetail::getFillTime); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -179,8 +180,7 @@ public class ErpProjectReportDetailServiceImpl implements IErpProjectReportDetai } /** - * 提交项目周报信息并提交流程 - * + * 提交项目周报明细并提交流程 * @param projectReport * @param projectDetailReport * @return @@ -194,9 +194,13 @@ public class ErpProjectReportDetailServiceImpl implements IErpProjectReportDetai erpProjectReportService.updateByBo(projectReport); } else { erpProjectReportService.insertByBo(projectReport); + projectDetailReport.setReportId(projectReport.getReportId()); + projectDetailReport.setProjectId(projectReport.getProjectId()); } } else { erpProjectReportService.insertByBo(projectReport); + projectDetailReport.setReportId(projectReport.getReportId()); + projectDetailReport.setProjectId(projectReport.getProjectId()); } ErpProjectReportDetail erpProjectReportDetail = MapstructUtils.convert(projectDetailReport, ErpProjectReportDetail.class); validEntityBeforeSave(erpProjectReportDetail); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportServiceImpl.java index 1c32c9c9..d4ffd4ec 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectReportServiceImpl.java @@ -10,11 +10,15 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.oa.erp.domain.ErpProjectContracts; import org.dromara.oa.erp.domain.ErpProjectReport; +import org.dromara.oa.erp.domain.ErpProjectReportDetail; import org.dromara.oa.erp.domain.bo.ErpProjectReportBo; import org.dromara.oa.erp.domain.vo.ErpProjectReportVo; +import org.dromara.oa.erp.mapper.ErpProjectReportDetailMapper; import org.dromara.oa.erp.mapper.ErpProjectReportMapper; +import org.dromara.oa.erp.service.IErpProjectReportDetailService; import org.dromara.oa.erp.service.IErpProjectReportService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -32,6 +36,9 @@ public class ErpProjectReportServiceImpl implements IErpProjectReportService { private final ErpProjectReportMapper baseMapper; + private final ErpProjectReportDetailMapper erpProjectReportDetailMapper; + + /** * 查询项目周报信息 * @@ -143,10 +150,16 @@ public class ErpProjectReportServiceImpl implements IErpProjectReportService { * @return 是否删除成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } - return baseMapper.deleteByIds(ids) > 0; + boolean p = baseMapper.deleteByIds(ids) > 0; + // 构建删除条件,根据reportIds删除所有相关的明细 + MPJLambdaWrapper wrapper = JoinWrappers.lambda(ErpProjectReportDetail.class) + .in(ErpProjectReportDetail::getReportId, ids); + boolean pd = erpProjectReportDetailMapper.delete(wrapper) > 0; + return p && pd; } }