From bfc3ea60fdb3dae1d2586d45e593b58e10c588be Mon Sep 17 00:00:00 2001 From: dfdg <2710245601@qq.com> Date: Fri, 17 Oct 2025 10:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=8B=E9=A1=B9=E4=B8=8E=E6=88=90=E6=9C=AC-?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E9=A2=84=E7=AE=97-=E5=AE=8C=E5=B7=A5?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E5=A1=AB=E6=8A=A5=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/XzdCbysWgcbtbController.java | 105 +++++++++++++ .../XzdCbysWgcbtbFubiaoController.java | 105 +++++++++++++ .../costBudget/domain/XzdCbysWgcbtb.java | 112 +++++++++++++ .../domain/XzdCbysWgcbtbFubiao.java | 122 +++++++++++++++ .../costBudget/domain/bo/XzdCbysWgcbtbBo.java | 114 ++++++++++++++ .../domain/bo/XzdCbysWgcbtbFubiaoBo.java | 121 ++++++++++++++ .../domain/vo/XzdCbysWgcbtbFubiaoVo.java | 148 ++++++++++++++++++ .../costBudget/domain/vo/XzdCbysWgcbtbVo.java | 138 ++++++++++++++++ .../mapper/XzdCbysWgcbtbFubiaoMapper.java | 15 ++ .../mapper/XzdCbysWgcbtbMapper.java | 15 ++ .../service/IXzdCbysWgcbtbFubiaoService.java | 70 +++++++++ .../service/IXzdCbysWgcbtbService.java | 70 +++++++++ .../impl/XzdCbysWgcbtbFubiaoServiceImpl.java | 148 ++++++++++++++++++ .../impl/XzdCbysWgcbtbServiceImpl.java | 145 +++++++++++++++++ .../controller/XzdSfkCaigouFkController.java | 2 +- .../XzdSfkZonhefuwuFkController.java | 2 +- .../costBudget/XzdCbysWgcbtbFubiaoMapper.xml | 7 + .../costBudget/XzdCbysWgcbtbMapper.xml | 7 + 18 files changed, 1444 insertions(+), 2 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbFubiaoController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtb.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtbFubiao.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbFubiaoBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbFubiaoVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbFubiaoMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbFubiaoService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbFubiaoServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbFubiaoMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbMapper.xml diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbController.java new file mode 100644 index 00000000..084338cf --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbController.java @@ -0,0 +1,105 @@ +package org.dromara.xzd.costProjectApproval.costBudget.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbBo; +import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysWgcbtbService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 立项及成本-成本预算-完工成本填报 + * + * @author Lion Li + * @date 2025-10-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/costBudget/cbysWgcbtb") +public class XzdCbysWgcbtbController extends BaseController { + + private final IXzdCbysWgcbtbService xzdCbysWgcbtbService; + + /** + * 查询立项及成本-成本预算-完工成本填报列表 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:list") + @GetMapping("/list") + public TableDataInfo list(XzdCbysWgcbtbBo bo, PageQuery pageQuery) { + return xzdCbysWgcbtbService.queryPageList(bo, pageQuery); + } + + /** + * 导出立项及成本-成本预算-完工成本填报列表 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:export") + @Log(title = "立项及成本-成本预算-完工成本填报", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XzdCbysWgcbtbBo bo, HttpServletResponse response) { + List list = xzdCbysWgcbtbService.queryList(bo); + ExcelUtil.exportExcel(list, "立项及成本-成本预算-完工成本填报", XzdCbysWgcbtbVo.class, response); + } + + /** + * 获取立项及成本-成本预算-完工成本填报详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(xzdCbysWgcbtbService.queryById(id)); + } + + /** + * 新增立项及成本-成本预算-完工成本填报 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:add") + @Log(title = "立项及成本-成本预算-完工成本填报", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XzdCbysWgcbtbBo bo) { + return toAjax(xzdCbysWgcbtbService.insertByBo(bo)); + } + + /** + * 修改立项及成本-成本预算-完工成本填报 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:edit") + @Log(title = "立项及成本-成本预算-完工成本填报", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XzdCbysWgcbtbBo bo) { + return toAjax(xzdCbysWgcbtbService.updateByBo(bo)); + } + + /** + * 删除立项及成本-成本预算-完工成本填报 + * + * @param ids 主键串 + */ + @SaCheckPermission("costBudget:cbysWgcbtb:remove") + @Log(title = "立项及成本-成本预算-完工成本填报", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(xzdCbysWgcbtbService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbFubiaoController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbFubiaoController.java new file mode 100644 index 00000000..7161993e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/controller/XzdCbysWgcbtbFubiaoController.java @@ -0,0 +1,105 @@ +package org.dromara.xzd.costProjectApproval.costBudget.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbFubiaoVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbFubiaoBo; +import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysWgcbtbFubiaoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 立项及成本-成本预算-附 + * + * @author Lion Li + * @date 2025-10-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/costBudget/cbysWgcbtbFubiao") +public class XzdCbysWgcbtbFubiaoController extends BaseController { + + private final IXzdCbysWgcbtbFubiaoService xzdCbysWgcbtbFubiaoService; + + /** + * 查询立项及成本-成本预算-附列表 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:list") + @GetMapping("/list") + public TableDataInfo list(XzdCbysWgcbtbFubiaoBo bo, PageQuery pageQuery) { + return xzdCbysWgcbtbFubiaoService.queryPageList(bo, pageQuery); + } + + /** + * 导出立项及成本-成本预算-附列表 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:export") + @Log(title = "立项及成本-成本预算-附", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XzdCbysWgcbtbFubiaoBo bo, HttpServletResponse response) { + List list = xzdCbysWgcbtbFubiaoService.queryList(bo); + ExcelUtil.exportExcel(list, "立项及成本-成本预算-附", XzdCbysWgcbtbFubiaoVo.class, response); + } + + /** + * 获取立项及成本-成本预算-附详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(xzdCbysWgcbtbFubiaoService.queryById(id)); + } + + /** + * 新增立项及成本-成本预算-附 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:add") + @Log(title = "立项及成本-成本预算-附", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XzdCbysWgcbtbFubiaoBo bo) { + return toAjax(xzdCbysWgcbtbFubiaoService.insertByBo(bo)); + } + + /** + * 修改立项及成本-成本预算-附 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:edit") + @Log(title = "立项及成本-成本预算-附", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XzdCbysWgcbtbFubiaoBo bo) { + return toAjax(xzdCbysWgcbtbFubiaoService.updateByBo(bo)); + } + + /** + * 删除立项及成本-成本预算-附 + * + * @param ids 主键串 + */ + @SaCheckPermission("costBudget:cbysWgcbtbFubiao:remove") + @Log(title = "立项及成本-成本预算-附", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(xzdCbysWgcbtbFubiaoService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtb.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtb.java new file mode 100644 index 00000000..fd4ea41e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtb.java @@ -0,0 +1,112 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.time.LocalDate; + +/** + * 立项及成本-成本预算-完工成本填报对象 xzd_cbys_wgcbtb + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xzd_cbys_wgcbtb") +public class XzdCbysWgcbtb extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID,自增 + */ + @TableId(value = "id") + private Long id; + + /** + * 单据编码(带*,必填) + */ + private String docCode; + + /** + * 单据标题(带*,必填) + */ + private String docTitle; + + /** + * 单据日期 + */ + private LocalDate docDate; + + /** + * 预算分类 + */ + private String budgetCategory; + + /** + * 工程项目 + */ + private Long projectId; + + /** + * 项目责任人 + */ + private Long projectLeader; + + /** + * 开工日期 + */ + private LocalDate startDate; + + /** + * 竣工日期 + */ + private LocalDate completionDate; + + /** + * 年度 + */ + private Integer year; + + /** + * 月份 + */ + private Integer month; + + /** + * 统计周期 + */ + private String statCycle; + + /** + * 来源单据类型 + */ + private String sourceDocType; + + /** + * 备注 + */ + private String remark; + + /** + * 启用按科目属性分页签编制模式(0=未启用,1=启用) + */ + private Long enableAccountAttrTab; + + /** + * 单据引用 + */ + private String documentReference; + + /** + * 文件ID + */ + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtbFubiao.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtbFubiao.java new file mode 100644 index 00000000..377b2d94 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/XzdCbysWgcbtbFubiao.java @@ -0,0 +1,122 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.math.BigDecimal; + +import java.io.Serial; + +/** + * 立项及成本-成本预算-附对象 xzd_cbys_wgcbtb_fubiao + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xzd_cbys_wgcbtb_fubiao") +public class XzdCbysWgcbtbFubiao extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 关联单据主表的ID(外键,指向单据基础信息表等主表) + */ + private Long mainDocId; + + /** + * 预算项编码 + */ + private String budgetItemCode; + + /** + * 预算项标题 + */ + private String budgetItemTitle; + + /** + * BOQ编码 + */ + private String boq; + + /** + * WBS编码 + */ + private String wbs; + + /** + * CBS编码 + */ + private String cbs; + + /** + * 单位 + */ + private String unit; + + /** + * 单价 + */ + private BigDecimal unitPrice; + + /** + * 计划数量 + */ + private BigDecimal planQuantity; + + /** + * 累计计划数量 + */ + private BigDecimal cumulativePlanQuantity; + + /** + * 计划金额 + */ + private BigDecimal planAmount; + + /** + * 累计计划金额 + */ + private BigDecimal cumulativePlanAmount; + + /** + * 完工数量 + */ + private BigDecimal completedQuantity; + + /** + * 累计完工数量 + */ + private BigDecimal cumulativeCompletedQuantity; + + /** + * 完工金额 + */ + private BigDecimal completedAmount; + + /** + * 累计完工金额 + */ + private BigDecimal cumulativeCompletedAmount; + + /** + * 单据引用 + */ + private String documentReference; + + /** + * 文件ID + */ + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbBo.java new file mode 100644 index 00000000..2e884b5e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbBo.java @@ -0,0 +1,114 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain.bo; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.time.LocalDate; + +/** + * 立项及成本-成本预算-完工成本填报业务对象 xzd_cbys_wgcbtb + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdCbysWgcbtb.class, reverseConvertGenerate = false) +public class XzdCbysWgcbtbBo extends BaseEntity { + + /** + * 主键ID,自增 + */ + @NotNull(message = "主键ID,自增不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 单据编码(带*,必填) + */ + @NotBlank(message = "单据编码(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String docCode; + + /** + * 单据标题(带*,必填) + */ + @NotBlank(message = "单据标题(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String docTitle; + + /** + * 单据日期 + */ + private LocalDate docDate; + + /** + * 预算分类 + */ + private String budgetCategory; + + /** + * 工程项目 + */ + private Long projectId; + + /** + * 项目责任人 + */ + private Long projectLeader; + + /** + * 开工日期 + */ + private LocalDate startDate; + + /** + * 竣工日期 + */ + private LocalDate completionDate; + + /** + * 年度 + */ + private Integer year; + + /** + * 月份 + */ + private Integer month; + + /** + * 统计周期 + */ + private String statCycle; + + /** + * 来源单据类型 + */ + private String sourceDocType; + + /** + * 备注 + */ + private String remark; + + /** + * 启用按科目属性分页签编制模式(0=未启用,1=启用) + */ + private Long enableAccountAttrTab; + + /** + * 单据引用 + */ + private String documentReference; + + /** + * 文件ID + */ + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbFubiaoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbFubiaoBo.java new file mode 100644 index 00000000..3a8a55f8 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/bo/XzdCbysWgcbtbFubiaoBo.java @@ -0,0 +1,121 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain.bo; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtbFubiao; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +/** + * 立项及成本-成本预算-附业务对象 xzd_cbys_wgcbtb_fubiao + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdCbysWgcbtbFubiao.class, reverseConvertGenerate = false) +public class XzdCbysWgcbtbFubiaoBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 关联单据主表的ID(外键,指向单据基础信息表等主表) + */ + private Long mainDocId; + + /** + * 预算项编码 + */ + private String budgetItemCode; + + /** + * 预算项标题 + */ + private String budgetItemTitle; + + /** + * BOQ编码 + */ + private String boq; + + /** + * WBS编码 + */ + private String wbs; + + /** + * CBS编码 + */ + private String cbs; + + /** + * 单位 + */ + private String unit; + + /** + * 单价 + */ + private BigDecimal unitPrice; + + /** + * 计划数量 + */ + private BigDecimal planQuantity; + + /** + * 累计计划数量 + */ + private BigDecimal cumulativePlanQuantity; + + /** + * 计划金额 + */ + private BigDecimal planAmount; + + /** + * 累计计划金额 + */ + private BigDecimal cumulativePlanAmount; + + /** + * 完工数量 + */ + private BigDecimal completedQuantity; + + /** + * 累计完工数量 + */ + private BigDecimal cumulativeCompletedQuantity; + + /** + * 完工金额 + */ + private BigDecimal completedAmount; + + /** + * 累计完工金额 + */ + private BigDecimal cumulativeCompletedAmount; + + /** + * 单据引用 + */ + private String documentReference; + + /** + * 文件ID + */ + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbFubiaoVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbFubiaoVo.java new file mode 100644 index 00000000..dbb2fad9 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbFubiaoVo.java @@ -0,0 +1,148 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain.vo; + +import java.math.BigDecimal; +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtbFubiao; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 立项及成本-成本预算-附视图对象 xzd_cbys_wgcbtb_fubiao + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdCbysWgcbtbFubiao.class) +public class XzdCbysWgcbtbFubiaoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 关联单据主表的ID(外键,指向单据基础信息表等主表) + */ + @ExcelProperty(value = "关联单据主表的ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "外=键,指向单据基础信息表等主表") + private Long mainDocId; + + /** + * 预算项编码 + */ + @ExcelProperty(value = "预算项编码") + private String budgetItemCode; + + /** + * 预算项标题 + */ + @ExcelProperty(value = "预算项标题") + private String budgetItemTitle; + + /** + * BOQ编码 + */ + @ExcelProperty(value = "BOQ编码") + private String boq; + + /** + * WBS编码 + */ + @ExcelProperty(value = "WBS编码") + private String wbs; + + /** + * CBS编码 + */ + @ExcelProperty(value = "CBS编码") + private String cbs; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 单价 + */ + @ExcelProperty(value = "单价") + private BigDecimal unitPrice; + + /** + * 计划数量 + */ + @ExcelProperty(value = "计划数量") + private BigDecimal planQuantity; + + /** + * 累计计划数量 + */ + @ExcelProperty(value = "累计计划数量") + private BigDecimal cumulativePlanQuantity; + + /** + * 计划金额 + */ + @ExcelProperty(value = "计划金额") + private BigDecimal planAmount; + + /** + * 累计计划金额 + */ + @ExcelProperty(value = "累计计划金额") + private BigDecimal cumulativePlanAmount; + + /** + * 完工数量 + */ + @ExcelProperty(value = "完工数量") + private BigDecimal completedQuantity; + + /** + * 累计完工数量 + */ + @ExcelProperty(value = "累计完工数量") + private BigDecimal cumulativeCompletedQuantity; + + /** + * 完工金额 + */ + @ExcelProperty(value = "完工金额") + private BigDecimal completedAmount; + + /** + * 累计完工金额 + */ + @ExcelProperty(value = "累计完工金额") + private BigDecimal cumulativeCompletedAmount; + + /** + * 单据引用 + */ + @ExcelProperty(value = "单据引用") + private String documentReference; + + /** + * 文件ID + */ + @ExcelProperty(value = "文件ID") + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbVo.java new file mode 100644 index 00000000..4a898ac8 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/domain/vo/XzdCbysWgcbtbVo.java @@ -0,0 +1,138 @@ +package org.dromara.xzd.costProjectApproval.costBudget.domain.vo; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Date; + + + +/** + * 立项及成本-成本预算-完工成本填报视图对象 xzd_cbys_wgcbtb + * + * @author Lion Li + * @date 2025-10-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdCbysWgcbtb.class) +public class XzdCbysWgcbtbVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID,自增 + */ + @ExcelProperty(value = "主键ID,自增") + private Long id; + + /** + * 单据编码(带*,必填) + */ + @ExcelProperty(value = "单据编码", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "带=*,必填") + private String docCode; + + /** + * 单据标题(带*,必填) + */ + @ExcelProperty(value = "单据标题", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "带=*,必填") + private String docTitle; + + /** + * 单据日期 + */ + @ExcelProperty(value = "单据日期") + private LocalDate docDate; + + /** + * 预算分类 + */ + @ExcelProperty(value = "预算分类") + private String budgetCategory; + + /** + * 工程项目 + */ + @ExcelProperty(value = "工程项目") + private Long projectId; + + /** + * 项目责任人 + */ + @ExcelProperty(value = "项目责任人") + private Long projectLeader; + + /** + * 开工日期 + */ + @ExcelProperty(value = "开工日期") + private LocalDate startDate; + + /** + * 竣工日期 + */ + @ExcelProperty(value = "竣工日期") + private LocalDate completionDate; + + /** + * 年度 + */ + @ExcelProperty(value = "年度") + private Integer year; + + /** + * 月份 + */ + @ExcelProperty(value = "月份") + private Integer month; + + /** + * 统计周期 + */ + @ExcelProperty(value = "统计周期") + private String statCycle; + + /** + * 来源单据类型 + */ + @ExcelProperty(value = "来源单据类型") + private String sourceDocType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 启用按科目属性分页签编制模式(0=未启用,1=启用) + */ + @ExcelProperty(value = "启用按科目属性分页签编制模式", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==未启用,1=启用") + private Long enableAccountAttrTab; + + /** + * 单据引用 + */ + @ExcelProperty(value = "单据引用") + private String documentReference; + + /** + * 文件ID + */ + @ExcelProperty(value = "文件ID") + private String fileId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbFubiaoMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbFubiaoMapper.java new file mode 100644 index 00000000..6fb8c46b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbFubiaoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.costProjectApproval.costBudget.mapper; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtbFubiao; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbFubiaoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 立项及成本-成本预算-附Mapper接口 + * + * @author Lion Li + * @date 2025-10-17 + */ +public interface XzdCbysWgcbtbFubiaoMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbMapper.java new file mode 100644 index 00000000..bba074a6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/mapper/XzdCbysWgcbtbMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.costProjectApproval.costBudget.mapper; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 立项及成本-成本预算-完工成本填报Mapper接口 + * + * @author Lion Li + * @date 2025-10-17 + */ +public interface XzdCbysWgcbtbMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbFubiaoService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbFubiaoService.java new file mode 100644 index 00000000..dddee337 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbFubiaoService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.costProjectApproval.costBudget.service; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbFubiaoVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbFubiaoBo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtbFubiao; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + +/** + * 立项及成本-成本预算-附Service接口 + * + * @author Lion Li + * @date 2025-10-17 + */ +public interface IXzdCbysWgcbtbFubiaoService extends IService{ + + /** + * 查询立项及成本-成本预算-附 + * + * @param id 主键 + * @return 立项及成本-成本预算-附 + */ + XzdCbysWgcbtbFubiaoVo queryById(Long id); + + /** + * 分页查询立项及成本-成本预算-附列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 立项及成本-成本预算-附分页列表 + */ + TableDataInfo queryPageList(XzdCbysWgcbtbFubiaoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的立项及成本-成本预算-附列表 + * + * @param bo 查询条件 + * @return 立项及成本-成本预算-附列表 + */ + List queryList(XzdCbysWgcbtbFubiaoBo bo); + + /** + * 新增立项及成本-成本预算-附 + * + * @param bo 立项及成本-成本预算-附 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdCbysWgcbtbFubiaoBo bo); + + /** + * 修改立项及成本-成本预算-附 + * + * @param bo 立项及成本-成本预算-附 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdCbysWgcbtbFubiaoBo bo); + + /** + * 校验并批量删除立项及成本-成本预算-附信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbService.java new file mode 100644 index 00000000..45c968f2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/IXzdCbysWgcbtbService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.costProjectApproval.costBudget.service; + +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbBo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + +/** + * 立项及成本-成本预算-完工成本填报Service接口 + * + * @author Lion Li + * @date 2025-10-17 + */ +public interface IXzdCbysWgcbtbService extends IService{ + + /** + * 查询立项及成本-成本预算-完工成本填报 + * + * @param id 主键 + * @return 立项及成本-成本预算-完工成本填报 + */ + XzdCbysWgcbtbVo queryById(Long id); + + /** + * 分页查询立项及成本-成本预算-完工成本填报列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 立项及成本-成本预算-完工成本填报分页列表 + */ + TableDataInfo queryPageList(XzdCbysWgcbtbBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的立项及成本-成本预算-完工成本填报列表 + * + * @param bo 查询条件 + * @return 立项及成本-成本预算-完工成本填报列表 + */ + List queryList(XzdCbysWgcbtbBo bo); + + /** + * 新增立项及成本-成本预算-完工成本填报 + * + * @param bo 立项及成本-成本预算-完工成本填报 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdCbysWgcbtbBo bo); + + /** + * 修改立项及成本-成本预算-完工成本填报 + * + * @param bo 立项及成本-成本预算-完工成本填报 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdCbysWgcbtbBo bo); + + /** + * 校验并批量删除立项及成本-成本预算-完工成本填报信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbFubiaoServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbFubiaoServiceImpl.java new file mode 100644 index 00000000..aa8b49d1 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbFubiaoServiceImpl.java @@ -0,0 +1,148 @@ +package org.dromara.xzd.costProjectApproval.costBudget.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbFubiaoBo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbFubiaoVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtbFubiao; +import org.dromara.xzd.costProjectApproval.costBudget.mapper.XzdCbysWgcbtbFubiaoMapper; +import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysWgcbtbFubiaoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 立项及成本-成本预算-附Service业务层处理 + * + * @author Lion Li + * @date 2025-10-17 + */ +@RequiredArgsConstructor +@Service +public class XzdCbysWgcbtbFubiaoServiceImpl extends ServiceImpl implements IXzdCbysWgcbtbFubiaoService { + + private final XzdCbysWgcbtbFubiaoMapper baseMapper; + + /** + * 查询立项及成本-成本预算-附 + * + * @param id 主键 + * @return 立项及成本-成本预算-附 + */ + @Override + public XzdCbysWgcbtbFubiaoVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询立项及成本-成本预算-附列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 立项及成本-成本预算-附分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdCbysWgcbtbFubiaoBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的立项及成本-成本预算-附列表 + * + * @param bo 查询条件 + * @return 立项及成本-成本预算-附列表 + */ + @Override + public List queryList(XzdCbysWgcbtbFubiaoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdCbysWgcbtbFubiaoBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdCbysWgcbtbFubiao::getId); + lqw.eq(bo.getMainDocId() != null, XzdCbysWgcbtbFubiao::getMainDocId, bo.getMainDocId()); + lqw.eq(StringUtils.isNotBlank(bo.getBudgetItemCode()), XzdCbysWgcbtbFubiao::getBudgetItemCode, bo.getBudgetItemCode()); + lqw.eq(StringUtils.isNotBlank(bo.getBudgetItemTitle()), XzdCbysWgcbtbFubiao::getBudgetItemTitle, bo.getBudgetItemTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getBoq()), XzdCbysWgcbtbFubiao::getBoq, bo.getBoq()); + lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdCbysWgcbtbFubiao::getWbs, bo.getWbs()); + lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdCbysWgcbtbFubiao::getCbs, bo.getCbs()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), XzdCbysWgcbtbFubiao::getUnit, bo.getUnit()); + lqw.eq(bo.getUnitPrice() != null, XzdCbysWgcbtbFubiao::getUnitPrice, bo.getUnitPrice()); + lqw.eq(bo.getPlanQuantity() != null, XzdCbysWgcbtbFubiao::getPlanQuantity, bo.getPlanQuantity()); + lqw.eq(bo.getCumulativePlanQuantity() != null, XzdCbysWgcbtbFubiao::getCumulativePlanQuantity, bo.getCumulativePlanQuantity()); + lqw.eq(bo.getPlanAmount() != null, XzdCbysWgcbtbFubiao::getPlanAmount, bo.getPlanAmount()); + lqw.eq(bo.getCumulativePlanAmount() != null, XzdCbysWgcbtbFubiao::getCumulativePlanAmount, bo.getCumulativePlanAmount()); + lqw.eq(bo.getCompletedQuantity() != null, XzdCbysWgcbtbFubiao::getCompletedQuantity, bo.getCompletedQuantity()); + lqw.eq(bo.getCumulativeCompletedQuantity() != null, XzdCbysWgcbtbFubiao::getCumulativeCompletedQuantity, bo.getCumulativeCompletedQuantity()); + lqw.eq(bo.getCompletedAmount() != null, XzdCbysWgcbtbFubiao::getCompletedAmount, bo.getCompletedAmount()); + lqw.eq(bo.getCumulativeCompletedAmount() != null, XzdCbysWgcbtbFubiao::getCumulativeCompletedAmount, bo.getCumulativeCompletedAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdCbysWgcbtbFubiao::getDocumentReference, bo.getDocumentReference()); + lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdCbysWgcbtbFubiao::getFileId, bo.getFileId()); + return lqw; + } + + /** + * 新增立项及成本-成本预算-附 + * + * @param bo 立项及成本-成本预算-附 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdCbysWgcbtbFubiaoBo bo) { + XzdCbysWgcbtbFubiao add = MapstructUtils.convert(bo, XzdCbysWgcbtbFubiao.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改立项及成本-成本预算-附 + * + * @param bo 立项及成本-成本预算-附 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdCbysWgcbtbFubiaoBo bo) { + XzdCbysWgcbtbFubiao update = MapstructUtils.convert(bo, XzdCbysWgcbtbFubiao.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdCbysWgcbtbFubiao entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除立项及成本-成本预算-附信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbServiceImpl.java new file mode 100644 index 00000000..550e830e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/costProjectApproval/costBudget/service/impl/XzdCbysWgcbtbServiceImpl.java @@ -0,0 +1,145 @@ +package org.dromara.xzd.costProjectApproval.costBudget.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.xzd.costProjectApproval.costBudget.domain.bo.XzdCbysWgcbtbBo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.vo.XzdCbysWgcbtbVo; +import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysWgcbtb; +import org.dromara.xzd.costProjectApproval.costBudget.mapper.XzdCbysWgcbtbMapper; +import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysWgcbtbService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 立项及成本-成本预算-完工成本填报Service业务层处理 + * + * @author Lion Li + * @date 2025-10-17 + */ +@RequiredArgsConstructor +@Service +public class XzdCbysWgcbtbServiceImpl extends ServiceImpl implements IXzdCbysWgcbtbService { + + private final XzdCbysWgcbtbMapper baseMapper; + + /** + * 查询立项及成本-成本预算-完工成本填报 + * + * @param id 主键 + * @return 立项及成本-成本预算-完工成本填报 + */ + @Override + public XzdCbysWgcbtbVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询立项及成本-成本预算-完工成本填报列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 立项及成本-成本预算-完工成本填报分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdCbysWgcbtbBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的立项及成本-成本预算-完工成本填报列表 + * + * @param bo 查询条件 + * @return 立项及成本-成本预算-完工成本填报列表 + */ + @Override + public List queryList(XzdCbysWgcbtbBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdCbysWgcbtbBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdCbysWgcbtb::getId); + lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdCbysWgcbtb::getDocCode, bo.getDocCode()); + lqw.eq(StringUtils.isNotBlank(bo.getDocTitle()), XzdCbysWgcbtb::getDocTitle, bo.getDocTitle()); + lqw.eq(bo.getDocDate() != null, XzdCbysWgcbtb::getDocDate, bo.getDocDate()); + lqw.eq(StringUtils.isNotBlank(bo.getBudgetCategory()), XzdCbysWgcbtb::getBudgetCategory, bo.getBudgetCategory()); + lqw.eq(bo.getProjectId() != null, XzdCbysWgcbtb::getProjectId, bo.getProjectId()); + lqw.eq(bo.getProjectLeader() != null, XzdCbysWgcbtb::getProjectLeader, bo.getProjectLeader()); + lqw.eq(bo.getStartDate() != null, XzdCbysWgcbtb::getStartDate, bo.getStartDate()); + lqw.eq(bo.getCompletionDate() != null, XzdCbysWgcbtb::getCompletionDate, bo.getCompletionDate()); + lqw.eq(bo.getYear() != null, XzdCbysWgcbtb::getYear, bo.getYear()); + lqw.eq(bo.getMonth() != null, XzdCbysWgcbtb::getMonth, bo.getMonth()); + lqw.eq(StringUtils.isNotBlank(bo.getStatCycle()), XzdCbysWgcbtb::getStatCycle, bo.getStatCycle()); + lqw.eq(StringUtils.isNotBlank(bo.getSourceDocType()), XzdCbysWgcbtb::getSourceDocType, bo.getSourceDocType()); + lqw.eq(bo.getEnableAccountAttrTab() != null, XzdCbysWgcbtb::getEnableAccountAttrTab, bo.getEnableAccountAttrTab()); + lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdCbysWgcbtb::getDocumentReference, bo.getDocumentReference()); + lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdCbysWgcbtb::getFileId, bo.getFileId()); + return lqw; + } + + /** + * 新增立项及成本-成本预算-完工成本填报 + * + * @param bo 立项及成本-成本预算-完工成本填报 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdCbysWgcbtbBo bo) { + XzdCbysWgcbtb add = MapstructUtils.convert(bo, XzdCbysWgcbtb.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改立项及成本-成本预算-完工成本填报 + * + * @param bo 立项及成本-成本预算-完工成本填报 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdCbysWgcbtbBo bo) { + XzdCbysWgcbtb update = MapstructUtils.convert(bo, XzdCbysWgcbtb.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdCbysWgcbtb entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除立项及成本-成本预算-完工成本填报信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkCaigouFkController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkCaigouFkController.java index 95d5d5b6..73d6eaf6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkCaigouFkController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkCaigouFkController.java @@ -61,7 +61,7 @@ public class XzdSfkCaigouFkController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("paymentsReceipts:sfkCaigouFk:query") +// @SaCheckPermission("paymentsReceipts:sfkCaigouFk:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkZonhefuwuFkController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkZonhefuwuFkController.java index a5eabb80..ad00cc34 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkZonhefuwuFkController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/paymentsReceipts/controller/XzdSfkZonhefuwuFkController.java @@ -61,7 +61,7 @@ public class XzdSfkZonhefuwuFkController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("paymentsReceipts:sfkZonhefuwuFk:query") +// @SaCheckPermission("paymentsReceipts:sfkZonhefuwuFk:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbFubiaoMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbFubiaoMapper.xml new file mode 100644 index 00000000..304f6929 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbFubiaoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbMapper.xml new file mode 100644 index 00000000..b8f73a1d --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/costProjectApproval/costBudget/XzdCbysWgcbtbMapper.xml @@ -0,0 +1,7 @@ + + + + +