From a464a1236d3890d231dc5a5fdcb82a89a0f3b610 Mon Sep 17 00:00:00 2001 From: dfdg <2710245601@qq.com> Date: Mon, 20 Oct 2025 20:07:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9C=8D=E5=8A=A1=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E3=80=81=E9=87=87=E8=B4=AD=E8=BF=9B=E5=BA=A6=E3=80=81?= =?UTF-8?q?=E7=AB=A3=E5=B7=A5=E3=80=81=E7=AB=A3=E5=B7=A5=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=95=E9=83=A8=E8=AE=A1=E9=87=8F=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/ISysDeptService.java | 2 + .../service/impl/SysDeptServiceImpl.java | 5 + .../XzdCsContractInformationServiceImpl.java | 6 +- .../org/dromara/xzd/enums/XzdClassEnum.java | 1 + .../java/org/dromara/xzd/enums/ZxdEnum.java | 2 + .../settlement/domain/XzdJsCghtCgrkqd.java | 182 +++++++++ .../settlement/domain/XzdJsCghtJstzqd.java | 296 +++++++++++++++ .../settlement/domain/bo/XzdJsCgJinduBo.java | 26 +- .../settlement/domain/bo/XzdJsCgJungonBo.java | 8 + .../domain/bo/XzdJsCgJungonEditBo.java | 11 +- .../domain/bo/XzdJsCghtCgrkqdBo.java | 187 ++++++++++ .../domain/bo/XzdJsCghtJstzqdBo.java | 296 +++++++++++++++ .../domain/bo/XzdJsZhfwJinduBo.java | 20 + .../settlement/domain/vo/XzdJsCgJinduVo.java | 28 +- .../domain/vo/XzdJsCgJungonEditVo.java | 9 +- .../settlement/domain/vo/XzdJsCgJungonVo.java | 8 + .../domain/vo/XzdJsCghtCgrkqdVo.java | 219 +++++++++++ .../domain/vo/XzdJsCghtJstzqdVo.java | 347 ++++++++++++++++++ .../domain/vo/XzdJsZhfwJinduVo.java | 20 + .../mapper/XzdJsCghtCgrkqdMapper.java | 15 + .../mapper/XzdJsCghtJstzqdMapper.java | 15 + .../service/IXzdJsCghtCgrkqdService.java | 70 ++++ .../service/IXzdJsCghtJstzqdService.java | 70 ++++ .../service/impl/XzdJsCgJinduServiceImpl.java | 122 +++++- .../impl/XzdJsCgJungonEditServiceImpl.java | 77 ++-- .../impl/XzdJsCgJungonServiceImpl.java | 61 ++- .../impl/XzdJsCghtCgrkqdServiceImpl.java | 159 ++++++++ .../impl/XzdJsCghtJstzqdServiceImpl.java | 173 +++++++++ .../impl/XzdJsZhfwJinduServiceImpl.java | 105 +++++- .../xzd/settlement/XzdJsCghtCgrkqdMapper.xml | 7 + .../xzd/settlement/XzdJsCghtJstzqdMapper.xml | 7 + 31 files changed, 2467 insertions(+), 87 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/XzdJsCghtCgrkqd.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/XzdJsCghtJstzqd.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtCgrkqdBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtJstzqdBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtCgrkqdVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtJstzqdVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtCgrkqdMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtJstzqdMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtCgrkqdService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtJstzqdService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtCgrkqdServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtJstzqdServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtCgrkqdMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtJstzqdMapper.xml diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java index 55db0954..82e1b0ee 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java @@ -165,4 +165,6 @@ public interface ISysDeptService { int deleteDeptById(Long deptId); List querListDept(); + + String selectDeptNameById(Long id); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index 6267a5c1..411786ee 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -538,6 +538,11 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { return sysDeptVos; } + @Override + public String selectDeptNameById(Long id) { + return baseMapper.selectById(id).getDeptName(); + } + /** * 获取当前部门的祖先ID、自己ID、以及所有祖先的“同级部门ID” * diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/comprehensive/service/impl/XzdCsContractInformationServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/comprehensive/service/impl/XzdCsContractInformationServiceImpl.java index 17f6aad5..0396a053 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/comprehensive/service/impl/XzdCsContractInformationServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/comprehensive/service/impl/XzdCsContractInformationServiceImpl.java @@ -142,9 +142,9 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl kkyjlx; + /** + * 合同内清单 + */ + List htnqd; + + /** + * 变更增加清单 + */ + List bgzjqd; + + /** + * 合同外清单 + */ + List htwqd; + + /** + * 采购入库清单 + */ + List cgrkqd; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonBo.java index 2849b567..b806dd8c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonBo.java @@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import java.math.BigDecimal; @@ -146,7 +147,14 @@ public class XzdJsCgJungonBo extends BaseEntity { */ private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + /** + * 决算清单 + */ + List jsqd; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonEditBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonEditBo.java index 1c77dd56..84b07069 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonEditBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCgJungonEditBo.java @@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import java.math.BigDecimal; @@ -52,7 +53,7 @@ public class XzdJsCgJungonEditBo extends BaseEntity { /** * 决算单号(带*,必填) */ - @NotBlank(message = "决算单号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "决算单号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class }) private Long finalAccountCode; /** @@ -102,6 +103,14 @@ public class XzdJsCgJungonEditBo extends BaseEntity { */ private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + /** + * 决算调整清单 + */ + List jstzqd; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtCgrkqdBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtCgrkqdBo.java new file mode 100644 index 00000000..a97edd84 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtCgrkqdBo.java @@ -0,0 +1,187 @@ +package org.dromara.xzd.settlement.domain.bo; + +import org.dromara.xzd.settlement.domain.XzdJsCghtCgrkqd; +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_js_cght_cgrkqd + * + * @author Lion Li + * @date 2025-10-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdJsCghtCgrkqd.class, reverseConvertGenerate = false) +public class XzdJsCghtCgrkqdBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 主表id + */ +// @NotNull(message = "主表id不能为空", groups = { EditGroup.class }) + private Long mainDocId; + + /** + * 编码 + */ + private String code; + + /** + * 合同清单名称 + */ + private String contractName; + + /** + * 项目名称 + */ + private String projectName; + + /** + * 资源编码 + */ + private String resourceCode; + + /** + * 资源名称 + */ + private String resourceName; + + /** + * 规格 + */ + private String specification; + + /** + * 品牌 + */ + private String brand; + + /** + * 计量单位 + */ + private String unit; + + /** + * 单价 + */ + private BigDecimal price; + + /** + * 含税单价 + */ +// @NotNull(message = "含税单价不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal taxIncludedPrice; + + /** + * 累计入库数量 + */ + private BigDecimal cumulativeInventoryQuantity; + + /** + * 累计退货数量 + */ + private BigDecimal cumulativeIssueQuantity; + + /** + * 累计实际入库数量 + */ + private BigDecimal cumulativeActualInventoryQuantity; + + /** + * 本期结算数量 + */ +// @NotNull(message = "本期结算数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal currentIssueQuantity; + + /** + * 本期结算不含税金额 + */ + private BigDecimal currentIssueInvalidQuantity; + + /** + * 本期审批数量 + */ +// @NotNull(message = "本期审批数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal currentApprovedQuantity; + + /** + * 本期结算金额 + */ +// @NotNull(message = "本期结算金额不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal currentIssueAmount; + + /** + * 本期结算本币金额 + */ + private BigDecimal currentIssueAmountInCurrency; + + /** + * 本期审批金额 + */ +// @NotNull(message = "本期审批金额不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal currentIssueTaxAmount; + + /** + * 税率 + */ + private BigDecimal taxRate; + + /** + * 税额 + */ + private BigDecimal taxAmount; + + /** + * WBS + */ + private String wbs; + + /** + * CBS + */ + private String cbs; + + /** + * 引用来源 + */ + private String source; + + /** + * 进度完成百分比 + */ + private BigDecimal selectionCompletionPercentage; + + /** + * CBS预算总额 + */ + private BigDecimal cbsBudgetTotal; + + /** + * CBS余额 + */ + private BigDecimal cbsBalance; + + /** + * 备注 + */ + private String remark; + + /** + * 合同累计签订成本预算金额 + */ + private BigDecimal costBudgetAmount; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtJstzqdBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtJstzqdBo.java new file mode 100644 index 00000000..ffb7c005 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsCghtJstzqdBo.java @@ -0,0 +1,296 @@ +package org.dromara.xzd.settlement.domain.bo; + +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; +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_js_cght_jstzqd + * + * @author Lion Li + * @date 2025-10-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdJsCghtJstzqd.class, reverseConvertGenerate = false) +public class XzdJsCghtJstzqdBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 主表id + */ +// @NotNull(message = "主表id不能为空", groups = { EditGroup.class }) + private Long mainDocId; + + /** + * 类型 1决算清单 2决算清单调整 + */ + private String type; + + /** + * 编码 + */ + private String code; + + /** + * 合同清单名称 + */ + private String contractListName; + + /** + * 项目名称 + */ + private String projectName; + + /** + * 资源编码 + */ + private String resourceCode; + + /** + * 资源名称 + */ + private String resourceName; + + /** + * 资源别名 + */ + private String resourceAlias; + + /** + * 清单编号 + */ + private String listNumber; + + /** + * 工程量清单名称 + */ + private String engineeringListName; + + /** + * 原规格 + */ + private String originalSpecification; + + /** + * 规格 + */ + private String specification; + + /** + * 原工程量类型 + */ + private String originalEngineeringType; + + /** + * 工程量类型 + */ + private String engineeringType; + + /** + * 计量单位 + */ + private String unit; + + /** + * 原决算数量 + */ + private BigDecimal originalBudgetQuantity; + + /** + * 原决算单价 + */ + private BigDecimal originalBudgetUnitPrice; + + /** + * 原决算含税单价 + */ + private BigDecimal originalBudgetTaxUnitPrice; + + /** + * 原决算金额 + */ + private BigDecimal originalBudgetAmount; + + /** + * 原本币决算金额 + */ + private BigDecimal originalBudgetLocalCurrencyAmount; + + /** + * 原决算价税合计 + */ + private BigDecimal originalBudgetTaxAmount; + + /** + * 原本币价税合计 + */ + private BigDecimal originalBudgetLocalCurrencyTaxAmount; + + /** + * 原税率 + */ + private BigDecimal originalTaxRate; + + /** + * 原决算税额 + */ + private BigDecimal originalTaxAmount; + + /** + * 调整后决算数量 + */ + private BigDecimal adjustedBudgetQuantity; + + /** + * 调整后决算单价 + */ + private BigDecimal adjustedBudgetUnitPrice; + + /** + * 调整后决算含税单价 + */ + private BigDecimal adjustedBudgetTaxUnitPrice; + + /** + * 调整后决算金额 + */ + private BigDecimal adjustedBudgetAmount; + + /** + * 调整后本币金额 + */ + private BigDecimal adjustedBudgetLocalCurrencyAmount; + + /** + * 调整后决算价税合计 + */ + private BigDecimal adjustedBudgetTaxAmount; + + /** + * 调整后本币价税合计 + */ + private BigDecimal adjustedBudgetLocalCurrencyTaxAmount; + + /** + * 调整后税率 + */ + private BigDecimal adjustedTaxRate; + + /** + * 调整后税额 + */ + private BigDecimal adjustedTaxAmount; + + /** + * 项目特征 + */ + private String projectFeature; + + /** + * 送审造价 + */ + private BigDecimal selectedAuditCost; + /** + * 本币送审造价 + */ + private BigDecimal localCurrencySelectedAuditCost; + /** + * 审定造价 + */ + private BigDecimal approvedCost; + /** + * 本币审定造价 + */ + private BigDecimal localCurrencyApprovedCost; + /** + * 累计结算 + */ + private BigDecimal cumulativeSettlement; + /** + * 决算与结算差额 + */ + private BigDecimal finalSettlementDifference; + /** + * 浮动百分比 + */ + private BigDecimal floatingPercentage; + + /** + * 原WBS + */ + private String originalWbs; + + /** + * WBS + */ + private String wbs; + + /** + * 原CBS + */ + private String originalCbs; + + /** + * CBS + */ + private String cbs; + + /** + * 成本预算总额 + */ + private Long costBudgetTotal; + + /** + * 合同累计签订成本预算金额 + */ + private Long contractCumulativeSignedCostBudgetAmount; + + /** + * 成本预算余额 + */ + private Long costBudgetBalance; + + /** + * 数据来源 + */ + private String dataSource; + + /** + * 备注 + */ + private String remark; + + /** + * 事物特性 + */ + private String objectCharacteristics; + + /** + * 辅助项1 + */ + private String auxiliaryItem1; + + /** + * 辅助项2 + */ + private String auxiliaryItem2; + + /** + * 辅助项3 + */ + private String auxiliaryItem3; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsZhfwJinduBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsZhfwJinduBo.java index 84a4e75a..030cd628 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsZhfwJinduBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/bo/XzdJsZhfwJinduBo.java @@ -1,5 +1,7 @@ package org.dromara.xzd.settlement.domain.bo; +import org.dromara.xzd.settlement.domain.XzdAlterationInventory; +import org.dromara.xzd.settlement.domain.XzdContractInventory; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu; import org.dromara.common.mybatis.core.domain.BaseEntity; @@ -166,6 +168,24 @@ public class XzdJsZhfwJinduBo extends BaseEntity { */ private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + /** + * 合同内清单 + */ + List htnqd; + + /** + * 变更增加清单 + */ + List bgzjqd; + + /** + * 合同外清单 + */ + List htwqd; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJinduVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJinduVo.java index 534282eb..dce7c5ba 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJinduVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJinduVo.java @@ -1,14 +1,14 @@ package org.dromara.xzd.settlement.domain.vo; import java.math.BigDecimal; -import org.dromara.xzd.settlement.domain.XzdJsCgJindu; + +import org.dromara.xzd.settlement.domain.*; 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 org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import java.io.Serial; import java.io.Serializable; @@ -220,5 +220,29 @@ public class XzdJsCgJinduVo implements Serializable { @ExcelProperty(value = "文件ID") private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + + + /** + * 合同内清单 + */ + List htnqd; + + /** + * 变更增加清单 + */ + List bgzjqd; + + /** + * 合同外清单 + */ + List htwqd; + + /** + * 采购入库清单 + */ + List cgrkqd; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonEditVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonEditVo.java index 152d3f83..e7839ee7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonEditVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonEditVo.java @@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import java.io.Serial; @@ -126,7 +127,13 @@ public class XzdJsCgJungonEditVo implements Serializable { */ private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; - + /** + * 决算调整清单 + */ + List jstzqd; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonVo.java index b0c400c3..69566a89 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCgJungonVo.java @@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import java.io.Serial; @@ -188,7 +189,14 @@ public class XzdJsCgJungonVo implements Serializable { @ExcelProperty(value = "文件ID") private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + /** + * 决算清单 + */ + List jsqd; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtCgrkqdVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtCgrkqdVo.java new file mode 100644 index 00000000..fc7d769a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtCgrkqdVo.java @@ -0,0 +1,219 @@ +package org.dromara.xzd.settlement.domain.vo; + +import java.math.BigDecimal; +import org.dromara.xzd.settlement.domain.XzdJsCghtCgrkqd; +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_js_cght_cgrkqd + * + * @author Lion Li + * @date 2025-10-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdJsCghtCgrkqd.class) +public class XzdJsCghtCgrkqdVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 主表id + */ + @ExcelProperty(value = "主表id") + private Long mainDocId; + + /** + * 编码 + */ + @ExcelProperty(value = "编码") + private String code; + + /** + * 合同清单名称 + */ + @ExcelProperty(value = "合同清单名称") + private String contractName; + + /** + * 项目名称 + */ + @ExcelProperty(value = "项目名称") + private String projectName; + + /** + * 资源编码 + */ + @ExcelProperty(value = "资源编码") + private String resourceCode; + + /** + * 资源名称 + */ + @ExcelProperty(value = "资源名称") + private String resourceName; + + /** + * 规格 + */ + @ExcelProperty(value = "规格") + private String specification; + + /** + * 品牌 + */ + @ExcelProperty(value = "品牌") + private String brand; + + /** + * 计量单位 + */ + @ExcelProperty(value = "计量单位") + private String unit; + + /** + * 单价 + */ + @ExcelProperty(value = "单价") + private BigDecimal price; + + /** + * 含税单价 + */ + @ExcelProperty(value = "含税单价") + private BigDecimal taxIncludedPrice; + + /** + * 累计入库数量 + */ + @ExcelProperty(value = "累计入库数量") + private BigDecimal cumulativeInventoryQuantity; + + /** + * 累计退货数量 + */ + @ExcelProperty(value = "累计退货数量") + private BigDecimal cumulativeIssueQuantity; + + /** + * 累计实际入库数量 + */ + @ExcelProperty(value = "累计实际入库数量") + private BigDecimal cumulativeActualInventoryQuantity; + + /** + * 本期结算数量 + */ + @ExcelProperty(value = "本期结算数量") + private BigDecimal currentIssueQuantity; + + /** + * 本期结算不含税金额 + */ + @ExcelProperty(value = "本期结算不含税金额") + private BigDecimal currentIssueInvalidQuantity; + + /** + * 本期审批数量 + */ + @ExcelProperty(value = "本期审批数量") + private BigDecimal currentApprovedQuantity; + + /** + * 本期结算金额 + */ + @ExcelProperty(value = "本期结算金额") + private BigDecimal currentIssueAmount; + + /** + * 本期结算本币金额 + */ + @ExcelProperty(value = "本期结算本币金额") + private BigDecimal currentIssueAmountInCurrency; + + /** + * 本期审批金额 + */ + @ExcelProperty(value = "本期审批金额") + private BigDecimal currentIssueTaxAmount; + + /** + * 税率 + */ + @ExcelProperty(value = "税率") + private BigDecimal taxRate; + + /** + * 税额 + */ + @ExcelProperty(value = "税额") + private BigDecimal taxAmount; + + /** + * WBS + */ + @ExcelProperty(value = "WBS") + private String wbs; + + /** + * CBS + */ + @ExcelProperty(value = "CBS") + private String cbs; + + /** + * 引用来源 + */ + @ExcelProperty(value = "引用来源") + private String source; + + /** + * 进度完成百分比 + */ + @ExcelProperty(value = "进度完成百分比") + private BigDecimal selectionCompletionPercentage; + + /** + * CBS预算总额 + */ + @ExcelProperty(value = "CBS预算总额") + private BigDecimal cbsBudgetTotal; + + /** + * CBS余额 + */ + @ExcelProperty(value = "CBS余额") + private BigDecimal cbsBalance; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 合同累计签订成本预算金额 + */ + @ExcelProperty(value = "合同累计签订成本预算金额") + private BigDecimal costBudgetAmount; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtJstzqdVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtJstzqdVo.java new file mode 100644 index 00000000..7076d0ac --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsCghtJstzqdVo.java @@ -0,0 +1,347 @@ +package org.dromara.xzd.settlement.domain.vo; + +import java.math.BigDecimal; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; +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_js_cght_jstzqd + * + * @author Lion Li + * @date 2025-10-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdJsCghtJstzqd.class) +public class XzdJsCghtJstzqdVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 主表id + */ + @ExcelProperty(value = "主表id") + private Long mainDocId; + + /** + * 类型 1决算清单 2决算清单调整 + */ + private String type; + + /** + * 编码 + */ + private String code; + + /** + * 合同清单名称 + */ + private String contractListName; + + /** + * 项目名称 + */ + @ExcelProperty(value = "项目名称") + private String projectName; + + /** + * 资源编码 + */ + @ExcelProperty(value = "资源编码") + private String resourceCode; + + /** + * 资源名称 + */ + @ExcelProperty(value = "资源名称") + private String resourceName; + + /** + * 资源别名 + */ + @ExcelProperty(value = "资源别名") + private String resourceAlias; + + /** + * 清单编号 + */ + @ExcelProperty(value = "清单编号") + private String listNumber; + + /** + * 工程量清单名称 + */ + @ExcelProperty(value = "工程量清单名称") + private String engineeringListName; + + /** + * 原规格 + */ + @ExcelProperty(value = "原规格") + private String originalSpecification; + + /** + * 规格 + */ + @ExcelProperty(value = "规格") + private String specification; + + /** + * 原工程量类型 + */ + @ExcelProperty(value = "原工程量类型") + private String originalEngineeringType; + + /** + * 工程量类型 + */ + @ExcelProperty(value = "工程量类型") + private String engineeringType; + + /** + * 计量单位 + */ + @ExcelProperty(value = "计量单位") + private String unit; + + /** + * 原决算数量 + */ + @ExcelProperty(value = "原决算数量") + private BigDecimal originalBudgetQuantity; + + /** + * 原决算单价 + */ + @ExcelProperty(value = "原决算单价") + private BigDecimal originalBudgetUnitPrice; + + /** + * 原决算含税单价 + */ + @ExcelProperty(value = "原决算含税单价") + private BigDecimal originalBudgetTaxUnitPrice; + + /** + * 原决算金额 + */ + @ExcelProperty(value = "原决算金额") + private BigDecimal originalBudgetAmount; + + /** + * 原本币决算金额 + */ + @ExcelProperty(value = "原本币决算金额") + private BigDecimal originalBudgetLocalCurrencyAmount; + + /** + * 原决算价税合计 + */ + @ExcelProperty(value = "原决算价税合计") + private BigDecimal originalBudgetTaxAmount; + + /** + * 原本币价税合计 + */ + @ExcelProperty(value = "原本币价税合计") + private BigDecimal originalBudgetLocalCurrencyTaxAmount; + + /** + * 原税率 + */ + @ExcelProperty(value = "原税率") + private BigDecimal originalTaxRate; + + /** + * 原决算税额 + */ + @ExcelProperty(value = "原决算税额") + private BigDecimal originalTaxAmount; + + /** + * 调整后决算数量 + */ + @ExcelProperty(value = "调整后决算数量") + private BigDecimal adjustedBudgetQuantity; + + /** + * 调整后决算单价 + */ + @ExcelProperty(value = "调整后决算单价") + private BigDecimal adjustedBudgetUnitPrice; + + /** + * 调整后决算含税单价 + */ + @ExcelProperty(value = "调整后决算含税单价") + private BigDecimal adjustedBudgetTaxUnitPrice; + + /** + * 调整后决算金额 + */ + @ExcelProperty(value = "调整后决算金额") + private BigDecimal adjustedBudgetAmount; + + /** + * 调整后本币金额 + */ + @ExcelProperty(value = "调整后本币金额") + private BigDecimal adjustedBudgetLocalCurrencyAmount; + + /** + * 调整后决算价税合计 + */ + @ExcelProperty(value = "调整后决算价税合计") + private BigDecimal adjustedBudgetTaxAmount; + + /** + * 调整后本币价税合计 + */ + @ExcelProperty(value = "调整后本币价税合计") + private BigDecimal adjustedBudgetLocalCurrencyTaxAmount; + + /** + * 调整后税率 + */ + @ExcelProperty(value = "调整后税率") + private BigDecimal adjustedTaxRate; + + /** + * 调整后税额 + */ + @ExcelProperty(value = "调整后税额") + private BigDecimal adjustedTaxAmount; + + /** + * 项目特征 + */ + @ExcelProperty(value = "项目特征") + private String projectFeature; + + /** + * 送审造价 + */ + private BigDecimal selectedAuditCost; + /** + * 本币送审造价 + */ + private BigDecimal localCurrencySelectedAuditCost; + /** + * 审定造价 + */ + private BigDecimal approvedCost; + /** + * 本币审定造价 + */ + private BigDecimal localCurrencyApprovedCost; + /** + * 累计结算 + */ + private BigDecimal cumulativeSettlement; + /** + * 决算与结算差额 + */ + private BigDecimal finalSettlementDifference; + /** + * 浮动百分比 + */ + private BigDecimal floatingPercentage; + + /** + * 原WBS + */ + @ExcelProperty(value = "原WBS") + private String originalWbs; + + /** + * WBS + */ + @ExcelProperty(value = "WBS") + private String wbs; + + /** + * 原CBS + */ + @ExcelProperty(value = "原CBS") + private String originalCbs; + + /** + * CBS + */ + @ExcelProperty(value = "CBS") + private String cbs; + + /** + * 成本预算总额 + */ + @ExcelProperty(value = "成本预算总额") + private Long costBudgetTotal; + + /** + * 合同累计签订成本预算金额 + */ + @ExcelProperty(value = "合同累计签订成本预算金额") + private Long contractCumulativeSignedCostBudgetAmount; + + /** + * 成本预算余额 + */ + @ExcelProperty(value = "成本预算余额") + private Long costBudgetBalance; + + /** + * 数据来源 + */ + @ExcelProperty(value = "数据来源") + private String dataSource; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 事物特性 + */ + @ExcelProperty(value = "事物特性") + private String objectCharacteristics; + + /** + * 辅助项1 + */ + @ExcelProperty(value = "辅助项1") + private String auxiliaryItem1; + + /** + * 辅助项2 + */ + @ExcelProperty(value = "辅助项2") + private String auxiliaryItem2; + + /** + * 辅助项3 + */ + @ExcelProperty(value = "辅助项3") + private String auxiliaryItem3; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsZhfwJinduVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsZhfwJinduVo.java index da0a9ff8..ccd066d7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsZhfwJinduVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/domain/vo/XzdJsZhfwJinduVo.java @@ -2,6 +2,8 @@ package org.dromara.xzd.settlement.domain.vo; import java.math.BigDecimal; +import org.dromara.xzd.settlement.domain.XzdAlterationInventory; +import org.dromara.xzd.settlement.domain.XzdContractInventory; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; @@ -202,6 +204,24 @@ public class XzdJsZhfwJinduVo implements Serializable { @ExcelProperty(value = "文件ID") private String fileId; + /** + * 奖励与扣款 + */ List kkyjlx; + /** + * 合同内清单 + */ + List htnqd; + + /** + * 变更增加清单 + */ + List bgzjqd; + + /** + * 合同外清单 + */ + List htwqd; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtCgrkqdMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtCgrkqdMapper.java new file mode 100644 index 00000000..81dfb1cf --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtCgrkqdMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.settlement.mapper; + +import org.dromara.xzd.settlement.domain.XzdJsCghtCgrkqd; +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtCgrkqdVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 结算-采购合同进度结算-采购入库清单Mapper接口 + * + * @author Lion Li + * @date 2025-10-20 + */ +public interface XzdJsCghtCgrkqdMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtJstzqdMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtJstzqdMapper.java new file mode 100644 index 00000000..b9f4aa63 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/mapper/XzdJsCghtJstzqdMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.settlement.mapper; + +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtJstzqdVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 采购合同竣工结算-决算清单(调整)Mapper接口 + * + * @author Lion Li + * @date 2025-10-20 + */ +public interface XzdJsCghtJstzqdMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtCgrkqdService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtCgrkqdService.java new file mode 100644 index 00000000..ef215111 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtCgrkqdService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.settlement.service; + +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtCgrkqdVo; +import org.dromara.xzd.settlement.domain.bo.XzdJsCghtCgrkqdBo; +import org.dromara.xzd.settlement.domain.XzdJsCghtCgrkqd; +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-20 + */ +public interface IXzdJsCghtCgrkqdService extends IService{ + + /** + * 查询结算-采购合同进度结算-采购入库清单 + * + * @param id 主键 + * @return 结算-采购合同进度结算-采购入库清单 + */ + XzdJsCghtCgrkqdVo queryById(Long id); + + /** + * 分页查询结算-采购合同进度结算-采购入库清单列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 结算-采购合同进度结算-采购入库清单分页列表 + */ + TableDataInfo queryPageList(XzdJsCghtCgrkqdBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的结算-采购合同进度结算-采购入库清单列表 + * + * @param bo 查询条件 + * @return 结算-采购合同进度结算-采购入库清单列表 + */ + List queryList(XzdJsCghtCgrkqdBo bo); + + /** + * 新增结算-采购合同进度结算-采购入库清单 + * + * @param bo 结算-采购合同进度结算-采购入库清单 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdJsCghtCgrkqdBo bo); + + /** + * 修改结算-采购合同进度结算-采购入库清单 + * + * @param bo 结算-采购合同进度结算-采购入库清单 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdJsCghtCgrkqdBo 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/settlement/service/IXzdJsCghtJstzqdService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtJstzqdService.java new file mode 100644 index 00000000..3a7a5328 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/IXzdJsCghtJstzqdService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.settlement.service; + +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtJstzqdVo; +import org.dromara.xzd.settlement.domain.bo.XzdJsCghtJstzqdBo; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; +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-20 + */ +public interface IXzdJsCghtJstzqdService extends IService{ + + /** + * 查询采购合同竣工结算-决算清单(调整) + * + * @param id 主键 + * @return 采购合同竣工结算-决算清单(调整) + */ + XzdJsCghtJstzqdVo queryById(Long id); + + /** + * 分页查询采购合同竣工结算-决算清单(调整)列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 采购合同竣工结算-决算清单(调整)分页列表 + */ + TableDataInfo queryPageList(XzdJsCghtJstzqdBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的采购合同竣工结算-决算清单(调整)列表 + * + * @param bo 查询条件 + * @return 采购合同竣工结算-决算清单(调整)列表 + */ + List queryList(XzdJsCghtJstzqdBo bo); + + /** + * 新增采购合同竣工结算-决算清单(调整) + * + * @param bo 采购合同竣工结算-决算清单(调整) + * @return 是否新增成功 + */ + Boolean insertByBo(XzdJsCghtJstzqdBo bo); + + /** + * 修改采购合同竣工结算-决算清单(调整) + * + * @param bo 采购合同竣工结算-决算清单(调整) + * @return 是否修改成功 + */ + Boolean updateByBo(XzdJsCghtJstzqdBo 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/settlement/service/impl/XzdJsCgJinduServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJinduServiceImpl.java index df315fdd..4db04d64 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJinduServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJinduServiceImpl.java @@ -21,19 +21,18 @@ import org.dromara.xzd.domain.XzdDeductionItems; import org.dromara.xzd.domain.XzdSettlementRules; import org.dromara.xzd.domain.dto.QuerCorrespondentDto; import org.dromara.xzd.enums.XzdClassEnum; +import org.dromara.xzd.enums.ZxdEnum; import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.service.impl.XzdProjectServiceImpl; import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl; -import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; +import org.dromara.xzd.settlement.domain.*; import org.dromara.xzd.settlement.domain.bo.XzdJsDeductionItemsBo; -import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService; +import org.dromara.xzd.settlement.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.dromara.xzd.settlement.domain.bo.XzdJsCgJinduBo; import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo; -import org.dromara.xzd.settlement.domain.XzdJsCgJindu; import org.dromara.xzd.settlement.mapper.XzdJsCgJinduMapper; -import org.dromara.xzd.settlement.service.IXzdJsCgJinduService; import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -67,6 +66,15 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl {item.setPrimaryMeterId(add.getId());}); + alterationInventoryService.saveBatch(bo.getBgzjqd()); + } + List list = new ArrayList<>(); + //合同内清单和合同外清单 + if (bo.getHtnqd() != null && !bo.getHtnqd().isEmpty()) { + list.addAll(bo.getHtnqd()); + } + if (bo.getHtwqd() != null && !bo.getHtwqd().isEmpty()) { + list.addAll(bo.getHtwqd()); + } + if (!list.isEmpty()) { + list.forEach(item -> {item.setPrimaryMeterId(add.getId());}); + contractInventoryService.saveBatch(list); + } + //采购入库清单 + if (bo.getCgrkqd() != null && !bo.getCgrkqd().isEmpty()) { + bo.getCgrkqd().forEach(item->{item.setMainDocId(add.getId());}); + jsCghtCgrkqdService.saveBatch(bo.getCgrkqd()); } - deductionItemsService.saveBatch(bo.getKkyjlx()); return flag; } @@ -186,18 +215,42 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl().eq(XzdJsDeductionItems::getMainDocId, update.getId())); + alterationInventoryService.remove(new LambdaQueryWrapper().eq(XzdAlterationInventory::getPrimaryMeterId, update.getId())); + contractInventoryService.remove(new LambdaQueryWrapper().eq(XzdContractInventory::getPrimaryMeterId, update.getId())); + jsCghtCgrkqdService.remove(new LambdaQueryWrapper().eq(XzdJsCghtCgrkqd::getMainDocId, update.getId())); //生成奖励与扣款数据 String tableName = XzdClassEnum.JS_CG_JINDU.getClassName(); - if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) { - throw new ServiceException("扣款与奖励项不能为空"); + if (bo.getKkyjlx() != null && !bo.getKkyjlx().isEmpty()) { + //合同条款-扣款与奖励项 + for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { + kkyjlx.setTableName(tableName); + kkyjlx.setMainDocId(update.getId()); + } + //新增奖励与扣款数据 + deductionItemsService.saveBatch(bo.getKkyjlx()); } - //合同条款-扣款与奖励项 - for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { - kkyjlx.setTableName(tableName); - kkyjlx.setMainDocId(update.getId()); + //变更增加清单 + if (bo.getBgzjqd() != null && !bo.getBgzjqd().isEmpty()) { + bo.getBgzjqd().forEach(item -> {item.setPrimaryMeterId(bo.getId());}); + alterationInventoryService.saveBatch(bo.getBgzjqd()); + } + List list = new ArrayList<>(); + //合同内清单和合同外清单 + if (bo.getHtnqd() != null && !bo.getHtnqd().isEmpty()) { + list.addAll(bo.getHtnqd()); + } + if (bo.getHtwqd() != null && !bo.getHtwqd().isEmpty()) { + list.addAll(bo.getHtwqd()); + } + if (!list.isEmpty()) { + list.forEach(item -> {item.setPrimaryMeterId(bo.getId());}); + contractInventoryService.saveBatch(list); + } + //采购入库清单 + if (bo.getCgrkqd() != null && !bo.getCgrkqd().isEmpty()) { + bo.getCgrkqd().forEach(item->{item.setMainDocId(bo.getId());}); + jsCghtCgrkqdService.saveBatch(bo.getCgrkqd()); } - //新增奖励与扣款数据 - deductionItemsService.saveBatch(bo.getKkyjlx()); return baseMapper.updateById(update) > 0; } @@ -236,6 +289,9 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl().in(XzdJsDeductionItems::getMainDocId, ids)); + alterationInventoryService.remove(new LambdaQueryWrapper().in(XzdAlterationInventory::getPrimaryMeterId, ids)); + contractInventoryService.remove(new LambdaQueryWrapper().in(XzdContractInventory::getPrimaryMeterId, ids)); + jsCghtCgrkqdService.remove(new LambdaQueryWrapper().in(XzdJsCghtCgrkqd::getMainDocId, ids)); return baseMapper.deleteByIds(ids) > 0; } @@ -278,5 +334,33 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl list = deductionItemsService.list(lambdaQueryWrapper2); vo.setKkyjlx(list); + //变更增加清单 + List list1 = alterationInventoryService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdAlterationInventory::getPrimaryMeterId, vo.getId()) + .eq(XzdAlterationInventory::getContractType, ZxdEnum.CAIGOUHET.getTypeValue())); + vo.setBgzjqd(list1); + + //获取合同内外清单 + List list2 = contractInventoryService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdContractInventory::getPrimaryMeterId, vo.getId()) + .eq(XzdContractInventory::getContractType, ZxdEnum.CAIGOUHET.getTypeValue())); + if (list2 != null && !list2.isEmpty()){ + List nList = new ArrayList<>(); + List wList = new ArrayList<>(); + for (XzdContractInventory item : list2) { + if (ZxdEnum.HETONGLEIXING.getTypeValue().equals(item.getType())) { + wList.add(item); + } else { + nList.add(item); + } + } + //合同内清单 + vo.setHtnqd(nList); + //合同外清单 + vo.setHtwqd(wList); + } + //采购入库清单 + List list3 = jsCghtCgrkqdService.getBaseMapper().selectList(new LambdaQueryWrapper().eq(XzdJsCghtCgrkqd::getMainDocId, vo.getId())); + vo.setCgrkqd(list3); } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonEditServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonEditServiceImpl.java index 384b9a49..7b73d732 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonEditServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonEditServiceImpl.java @@ -1,7 +1,6 @@ package org.dromara.xzd.settlement.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -11,18 +10,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.common.utils.BatchNumberGenerator; -import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.service.impl.SysDeptServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.xzd.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService; import org.dromara.xzd.enums.XzdClassEnum; -import org.dromara.xzd.service.IXzdCorrespondentList; +import org.dromara.xzd.enums.ZxdEnum; import org.dromara.xzd.service.impl.XzdProjectServiceImpl; -import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; -import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo; -import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo; import org.dromara.xzd.settlement.service.IXzdJsCgJungonService; +import org.dromara.xzd.settlement.service.IXzdJsCghtJstzqdService; import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -67,6 +64,9 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl {item.setMainDocId(add.getId());}); + jsCghtJstzqdService.saveBatch(bo.getJstzqd()); } - deductionItemsService.saveBatch(bo.getKkyjlx()); return flag; } @@ -171,18 +175,25 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl().eq(XzdJsDeductionItems::getMainDocId, update.getId())); + jsCghtJstzqdService.remove(new LambdaQueryWrapper() + .eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_TZ.getTypeValue()) + .eq(XzdJsCghtJstzqd::getMainDocId, update.getId())); //生成奖励与扣款数据 - String tableName = XzdClassEnum.JS_CG_JUNGON.getClassName(); - if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) { - throw new ServiceException("扣款与奖励项不能为空"); + String tableName = XzdClassEnum.XZD_JS_CG_JUNGON_EDIT.getClassName(); + if (bo.getKkyjlx() != null && !bo.getKkyjlx().isEmpty()) { + //合同条款-扣款与奖励项 + for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { + kkyjlx.setTableName(tableName); + kkyjlx.setMainDocId(update.getId()); + } + //新增奖励与扣款数据 + deductionItemsService.saveBatch(bo.getKkyjlx()); } - //合同条款-扣款与奖励项 - for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { - kkyjlx.setTableName(tableName); - kkyjlx.setMainDocId(update.getId()); + //决算清单 + if (bo.getJstzqd() != null && !bo.getJstzqd().isEmpty()) { + bo.getJstzqd().forEach(item -> {item.setMainDocId(bo.getId());}); + jsCghtJstzqdService.saveBatch(bo.getJstzqd()); } - //新增奖励与扣款数据 - deductionItemsService.saveBatch(bo.getKkyjlx()); return baseMapper.updateById(update) > 0; } @@ -220,6 +231,9 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl().in(XzdJsDeductionItems::getMainDocId, ids)); + jsCghtJstzqdService.remove(new LambdaQueryWrapper().eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_TZ.getTypeValue()) + .in(XzdJsCghtJstzqd::getMainDocId, ids)); return baseMapper.deleteByIds(ids) > 0; } @@ -251,9 +265,9 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl lambdaQueryWrapper2 = new LambdaQueryWrapper<>(); lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId()); List list = deductionItemsService.list(lambdaQueryWrapper2); - vo.setKkyjlx(list); + if (list != null && !list.isEmpty()) { + vo.setKkyjlx(list); + } + //决算清单 + List list1 = jsCghtJstzqdService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdJsCghtJstzqd::getMainDocId, vo.getId()) + .eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_TZ.getTypeValue())); + if (list1 != null && !list1.isEmpty()) { + vo.setJstzqd(list1); + } } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonServiceImpl.java index d358f3ee..2133c6a1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCgJungonServiceImpl.java @@ -14,11 +14,14 @@ import org.dromara.common.utils.BatchNumberGenerator; import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.xzd.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService; import org.dromara.xzd.enums.XzdClassEnum; +import org.dromara.xzd.enums.ZxdEnum; import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.service.impl.XzdProjectServiceImpl; import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo; +import org.dromara.xzd.settlement.service.IXzdJsCghtJstzqdService; import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -60,6 +63,8 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl {item.setMainDocId(add.getId());}); + jsCghtCgrkqdService.saveBatch(bo.getJsqd()); } - deductionItemsService.saveBatch(bo.getKkyjlx()); return flag; } @@ -176,18 +185,25 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl().eq(XzdJsDeductionItems::getMainDocId, update.getId())); + jsCghtCgrkqdService.remove(new LambdaQueryWrapper() + .eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_S.getTypeValue()) + .eq(XzdJsCghtJstzqd::getMainDocId, update.getId())); //生成奖励与扣款数据 - String tableName = XzdClassEnum.JS_CG_JINDU.getClassName(); - if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) { - throw new ServiceException("扣款与奖励项不能为空"); + String tableName = XzdClassEnum.JS_CG_JUNGON.getClassName(); + if (bo.getKkyjlx() != null && !bo.getKkyjlx().isEmpty()) { + //合同条款-扣款与奖励项 + for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { + kkyjlx.setTableName(tableName); + kkyjlx.setMainDocId(update.getId()); + } + //新增奖励与扣款数据 + deductionItemsService.saveBatch(bo.getKkyjlx()); } - //合同条款-扣款与奖励项 - for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { - kkyjlx.setTableName(tableName); - kkyjlx.setMainDocId(update.getId()); + //决算清单 + if (bo.getJsqd() != null && !bo.getJsqd().isEmpty()) { + bo.getJsqd().forEach(item -> {item.setMainDocId(bo.getId());}); + jsCghtCgrkqdService.saveBatch(bo.getJsqd()); } - //新增奖励与扣款数据 - deductionItemsService.saveBatch(bo.getKkyjlx()); return baseMapper.updateById(update) > 0; } @@ -226,6 +242,8 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl().in(XzdJsDeductionItems::getMainDocId, ids)); + jsCghtCgrkqdService.remove(new LambdaQueryWrapper().eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_S.getTypeValue()) + .in(XzdJsCghtJstzqd::getMainDocId, ids)); return baseMapper.deleteByIds(ids) > 0; } @@ -306,6 +324,15 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl lambdaQueryWrapper2 = new LambdaQueryWrapper<>(); lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId()); List list = deductionItemsService.list(lambdaQueryWrapper2); - vo.setKkyjlx(list); + if (list != null && !list.isEmpty()) { + vo.setKkyjlx(list); + } + //决算清单 + List list1 = jsCghtCgrkqdService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdJsCghtJstzqd::getMainDocId, vo.getId()) + .eq(XzdJsCghtJstzqd::getType, ZxdEnum.SFWJSD_S.getTypeValue())); + if (list1 != null && !list1.isEmpty()) { + vo.setJsqd(list1); + } } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtCgrkqdServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtCgrkqdServiceImpl.java new file mode 100644 index 00000000..d023e29b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtCgrkqdServiceImpl.java @@ -0,0 +1,159 @@ +package org.dromara.xzd.settlement.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.settlement.domain.bo.XzdJsCghtCgrkqdBo; +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtCgrkqdVo; +import org.dromara.xzd.settlement.domain.XzdJsCghtCgrkqd; +import org.dromara.xzd.settlement.mapper.XzdJsCghtCgrkqdMapper; +import org.dromara.xzd.settlement.service.IXzdJsCghtCgrkqdService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 结算-采购合同进度结算-采购入库清单Service业务层处理 + * + * @author Lion Li + * @date 2025-10-20 + */ +@RequiredArgsConstructor +@Service +public class XzdJsCghtCgrkqdServiceImpl extends ServiceImpl implements IXzdJsCghtCgrkqdService { + + private final XzdJsCghtCgrkqdMapper baseMapper; + + /** + * 查询结算-采购合同进度结算-采购入库清单 + * + * @param id 主键 + * @return 结算-采购合同进度结算-采购入库清单 + */ + @Override + public XzdJsCghtCgrkqdVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询结算-采购合同进度结算-采购入库清单列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 结算-采购合同进度结算-采购入库清单分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdJsCghtCgrkqdBo 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(XzdJsCghtCgrkqdBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdJsCghtCgrkqdBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdJsCghtCgrkqd::getId); + lqw.eq(bo.getMainDocId() != null, XzdJsCghtCgrkqd::getMainDocId, bo.getMainDocId()); + lqw.eq(StringUtils.isNotBlank(bo.getCode()), XzdJsCghtCgrkqd::getCode, bo.getCode()); + lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsCghtCgrkqd::getContractName, bo.getContractName()); + lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdJsCghtCgrkqd::getProjectName, bo.getProjectName()); + lqw.eq(StringUtils.isNotBlank(bo.getResourceCode()), XzdJsCghtCgrkqd::getResourceCode, bo.getResourceCode()); + lqw.like(StringUtils.isNotBlank(bo.getResourceName()), XzdJsCghtCgrkqd::getResourceName, bo.getResourceName()); + lqw.eq(StringUtils.isNotBlank(bo.getSpecification()), XzdJsCghtCgrkqd::getSpecification, bo.getSpecification()); + lqw.eq(StringUtils.isNotBlank(bo.getBrand()), XzdJsCghtCgrkqd::getBrand, bo.getBrand()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), XzdJsCghtCgrkqd::getUnit, bo.getUnit()); + lqw.eq(bo.getPrice() != null, XzdJsCghtCgrkqd::getPrice, bo.getPrice()); + lqw.eq(bo.getTaxIncludedPrice() != null, XzdJsCghtCgrkqd::getTaxIncludedPrice, bo.getTaxIncludedPrice()); + lqw.eq(bo.getCumulativeInventoryQuantity() != null, XzdJsCghtCgrkqd::getCumulativeInventoryQuantity, bo.getCumulativeInventoryQuantity()); + lqw.eq(bo.getCumulativeIssueQuantity() != null, XzdJsCghtCgrkqd::getCumulativeIssueQuantity, bo.getCumulativeIssueQuantity()); + lqw.eq(bo.getCumulativeActualInventoryQuantity() != null, XzdJsCghtCgrkqd::getCumulativeActualInventoryQuantity, bo.getCumulativeActualInventoryQuantity()); + lqw.eq(bo.getCurrentIssueQuantity() != null, XzdJsCghtCgrkqd::getCurrentIssueQuantity, bo.getCurrentIssueQuantity()); + lqw.eq(bo.getCurrentIssueInvalidQuantity() != null, XzdJsCghtCgrkqd::getCurrentIssueInvalidQuantity, bo.getCurrentIssueInvalidQuantity()); + lqw.eq(bo.getCurrentApprovedQuantity() != null, XzdJsCghtCgrkqd::getCurrentApprovedQuantity, bo.getCurrentApprovedQuantity()); + lqw.eq(bo.getCurrentIssueAmount() != null, XzdJsCghtCgrkqd::getCurrentIssueAmount, bo.getCurrentIssueAmount()); + lqw.eq(bo.getCurrentIssueAmountInCurrency() != null, XzdJsCghtCgrkqd::getCurrentIssueAmountInCurrency, bo.getCurrentIssueAmountInCurrency()); + lqw.eq(bo.getCurrentIssueTaxAmount() != null, XzdJsCghtCgrkqd::getCurrentIssueTaxAmount, bo.getCurrentIssueTaxAmount()); + lqw.eq(bo.getTaxRate() != null, XzdJsCghtCgrkqd::getTaxRate, bo.getTaxRate()); + lqw.eq(bo.getTaxAmount() != null, XzdJsCghtCgrkqd::getTaxAmount, bo.getTaxAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdJsCghtCgrkqd::getWbs, bo.getWbs()); + lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdJsCghtCgrkqd::getCbs, bo.getCbs()); + lqw.eq(StringUtils.isNotBlank(bo.getSource()), XzdJsCghtCgrkqd::getSource, bo.getSource()); + lqw.eq(bo.getSelectionCompletionPercentage() != null, XzdJsCghtCgrkqd::getSelectionCompletionPercentage, bo.getSelectionCompletionPercentage()); + lqw.eq(bo.getCbsBudgetTotal() != null, XzdJsCghtCgrkqd::getCbsBudgetTotal, bo.getCbsBudgetTotal()); + lqw.eq(bo.getCbsBalance() != null, XzdJsCghtCgrkqd::getCbsBalance, bo.getCbsBalance()); + lqw.eq(bo.getCostBudgetAmount() != null, XzdJsCghtCgrkqd::getCostBudgetAmount, bo.getCostBudgetAmount()); + return lqw; + } + + /** + * 新增结算-采购合同进度结算-采购入库清单 + * + * @param bo 结算-采购合同进度结算-采购入库清单 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdJsCghtCgrkqdBo bo) { + XzdJsCghtCgrkqd add = MapstructUtils.convert(bo, XzdJsCghtCgrkqd.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改结算-采购合同进度结算-采购入库清单 + * + * @param bo 结算-采购合同进度结算-采购入库清单 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdJsCghtCgrkqdBo bo) { + XzdJsCghtCgrkqd update = MapstructUtils.convert(bo, XzdJsCghtCgrkqd.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdJsCghtCgrkqd 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/settlement/service/impl/XzdJsCghtJstzqdServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtJstzqdServiceImpl.java new file mode 100644 index 00000000..a0b0e292 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsCghtJstzqdServiceImpl.java @@ -0,0 +1,173 @@ +package org.dromara.xzd.settlement.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.settlement.domain.bo.XzdJsCghtJstzqdBo; +import org.dromara.xzd.settlement.domain.vo.XzdJsCghtJstzqdVo; +import org.dromara.xzd.settlement.domain.XzdJsCghtJstzqd; +import org.dromara.xzd.settlement.mapper.XzdJsCghtJstzqdMapper; +import org.dromara.xzd.settlement.service.IXzdJsCghtJstzqdService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 采购合同竣工结算-决算清单(调整)Service业务层处理 + * + * @author Lion Li + * @date 2025-10-20 + */ +@RequiredArgsConstructor +@Service +public class XzdJsCghtJstzqdServiceImpl extends ServiceImpl implements IXzdJsCghtJstzqdService { + + private final XzdJsCghtJstzqdMapper baseMapper; + + /** + * 查询采购合同竣工结算-决算清单(调整) + * + * @param id 主键 + * @return 采购合同竣工结算-决算清单(调整) + */ + @Override + public XzdJsCghtJstzqdVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询采购合同竣工结算-决算清单(调整)列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 采购合同竣工结算-决算清单(调整)分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdJsCghtJstzqdBo 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(XzdJsCghtJstzqdBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdJsCghtJstzqdBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdJsCghtJstzqd::getId); + lqw.eq(bo.getMainDocId() != null, XzdJsCghtJstzqd::getMainDocId, bo.getMainDocId()); + lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdJsCghtJstzqd::getProjectName, bo.getProjectName()); + lqw.eq(StringUtils.isNotBlank(bo.getResourceCode()), XzdJsCghtJstzqd::getResourceCode, bo.getResourceCode()); + lqw.like(StringUtils.isNotBlank(bo.getResourceName()), XzdJsCghtJstzqd::getResourceName, bo.getResourceName()); + lqw.eq(StringUtils.isNotBlank(bo.getResourceAlias()), XzdJsCghtJstzqd::getResourceAlias, bo.getResourceAlias()); + lqw.eq(StringUtils.isNotBlank(bo.getListNumber()), XzdJsCghtJstzqd::getListNumber, bo.getListNumber()); + lqw.like(StringUtils.isNotBlank(bo.getEngineeringListName()), XzdJsCghtJstzqd::getEngineeringListName, bo.getEngineeringListName()); + lqw.eq(StringUtils.isNotBlank(bo.getOriginalSpecification()), XzdJsCghtJstzqd::getOriginalSpecification, bo.getOriginalSpecification()); + lqw.eq(StringUtils.isNotBlank(bo.getSpecification()), XzdJsCghtJstzqd::getSpecification, bo.getSpecification()); + lqw.eq(StringUtils.isNotBlank(bo.getOriginalEngineeringType()), XzdJsCghtJstzqd::getOriginalEngineeringType, bo.getOriginalEngineeringType()); + lqw.eq(StringUtils.isNotBlank(bo.getEngineeringType()), XzdJsCghtJstzqd::getEngineeringType, bo.getEngineeringType()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), XzdJsCghtJstzqd::getUnit, bo.getUnit()); + lqw.eq(bo.getOriginalBudgetQuantity() != null, XzdJsCghtJstzqd::getOriginalBudgetQuantity, bo.getOriginalBudgetQuantity()); + lqw.eq(bo.getOriginalBudgetUnitPrice() != null, XzdJsCghtJstzqd::getOriginalBudgetUnitPrice, bo.getOriginalBudgetUnitPrice()); + lqw.eq(bo.getOriginalBudgetTaxUnitPrice() != null, XzdJsCghtJstzqd::getOriginalBudgetTaxUnitPrice, bo.getOriginalBudgetTaxUnitPrice()); + lqw.eq(bo.getOriginalBudgetAmount() != null, XzdJsCghtJstzqd::getOriginalBudgetAmount, bo.getOriginalBudgetAmount()); + lqw.eq(bo.getOriginalBudgetLocalCurrencyAmount() != null, XzdJsCghtJstzqd::getOriginalBudgetLocalCurrencyAmount, bo.getOriginalBudgetLocalCurrencyAmount()); + lqw.eq(bo.getOriginalBudgetTaxAmount() != null, XzdJsCghtJstzqd::getOriginalBudgetTaxAmount, bo.getOriginalBudgetTaxAmount()); + lqw.eq(bo.getOriginalBudgetLocalCurrencyTaxAmount() != null, XzdJsCghtJstzqd::getOriginalBudgetLocalCurrencyTaxAmount, bo.getOriginalBudgetLocalCurrencyTaxAmount()); + lqw.eq(bo.getOriginalTaxRate() != null, XzdJsCghtJstzqd::getOriginalTaxRate, bo.getOriginalTaxRate()); + lqw.eq(bo.getOriginalTaxAmount() != null, XzdJsCghtJstzqd::getOriginalTaxAmount, bo.getOriginalTaxAmount()); + lqw.eq(bo.getAdjustedBudgetQuantity() != null, XzdJsCghtJstzqd::getAdjustedBudgetQuantity, bo.getAdjustedBudgetQuantity()); + lqw.eq(bo.getAdjustedBudgetUnitPrice() != null, XzdJsCghtJstzqd::getAdjustedBudgetUnitPrice, bo.getAdjustedBudgetUnitPrice()); + lqw.eq(bo.getAdjustedBudgetTaxUnitPrice() != null, XzdJsCghtJstzqd::getAdjustedBudgetTaxUnitPrice, bo.getAdjustedBudgetTaxUnitPrice()); + lqw.eq(bo.getAdjustedBudgetAmount() != null, XzdJsCghtJstzqd::getAdjustedBudgetAmount, bo.getAdjustedBudgetAmount()); + lqw.eq(bo.getAdjustedBudgetLocalCurrencyAmount() != null, XzdJsCghtJstzqd::getAdjustedBudgetLocalCurrencyAmount, bo.getAdjustedBudgetLocalCurrencyAmount()); + lqw.eq(bo.getAdjustedBudgetTaxAmount() != null, XzdJsCghtJstzqd::getAdjustedBudgetTaxAmount, bo.getAdjustedBudgetTaxAmount()); + lqw.eq(bo.getAdjustedBudgetLocalCurrencyTaxAmount() != null, XzdJsCghtJstzqd::getAdjustedBudgetLocalCurrencyTaxAmount, bo.getAdjustedBudgetLocalCurrencyTaxAmount()); + lqw.eq(bo.getAdjustedTaxRate() != null, XzdJsCghtJstzqd::getAdjustedTaxRate, bo.getAdjustedTaxRate()); + lqw.eq(bo.getAdjustedTaxAmount() != null, XzdJsCghtJstzqd::getAdjustedTaxAmount, bo.getAdjustedTaxAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getProjectFeature()), XzdJsCghtJstzqd::getProjectFeature, bo.getProjectFeature()); + lqw.eq(StringUtils.isNotBlank(bo.getOriginalWbs()), XzdJsCghtJstzqd::getOriginalWbs, bo.getOriginalWbs()); + lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdJsCghtJstzqd::getWbs, bo.getWbs()); + lqw.eq(StringUtils.isNotBlank(bo.getOriginalCbs()), XzdJsCghtJstzqd::getOriginalCbs, bo.getOriginalCbs()); + lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdJsCghtJstzqd::getCbs, bo.getCbs()); + lqw.eq(bo.getCostBudgetTotal() != null, XzdJsCghtJstzqd::getCostBudgetTotal, bo.getCostBudgetTotal()); + lqw.eq(bo.getContractCumulativeSignedCostBudgetAmount() != null, XzdJsCghtJstzqd::getContractCumulativeSignedCostBudgetAmount, bo.getContractCumulativeSignedCostBudgetAmount()); + lqw.eq(bo.getCostBudgetBalance() != null, XzdJsCghtJstzqd::getCostBudgetBalance, bo.getCostBudgetBalance()); + lqw.eq(StringUtils.isNotBlank(bo.getDataSource()), XzdJsCghtJstzqd::getDataSource, bo.getDataSource()); + lqw.eq(StringUtils.isNotBlank(bo.getObjectCharacteristics()), XzdJsCghtJstzqd::getObjectCharacteristics, bo.getObjectCharacteristics()); + lqw.eq(StringUtils.isNotBlank(bo.getAuxiliaryItem1()), XzdJsCghtJstzqd::getAuxiliaryItem1, bo.getAuxiliaryItem1()); + lqw.eq(StringUtils.isNotBlank(bo.getAuxiliaryItem2()), XzdJsCghtJstzqd::getAuxiliaryItem2, bo.getAuxiliaryItem2()); + lqw.eq(StringUtils.isNotBlank(bo.getAuxiliaryItem3()), XzdJsCghtJstzqd::getAuxiliaryItem3, bo.getAuxiliaryItem3()); + return lqw; + } + + /** + * 新增采购合同竣工结算-决算清单(调整) + * + * @param bo 采购合同竣工结算-决算清单(调整) + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdJsCghtJstzqdBo bo) { + XzdJsCghtJstzqd add = MapstructUtils.convert(bo, XzdJsCghtJstzqd.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改采购合同竣工结算-决算清单(调整) + * + * @param bo 采购合同竣工结算-决算清单(调整) + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdJsCghtJstzqdBo bo) { + XzdJsCghtJstzqd update = MapstructUtils.convert(bo, XzdJsCghtJstzqd.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdJsCghtJstzqd 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/settlement/service/impl/XzdJsZhfwJinduServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsZhfwJinduServiceImpl.java index a263937f..6829fd26 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsZhfwJinduServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/settlement/service/impl/XzdJsZhfwJinduServiceImpl.java @@ -16,11 +16,16 @@ import org.dromara.system.service.impl.SysDeptServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.xzd.comprehensive.service.IXzdCsContractInformationService; import org.dromara.xzd.enums.XzdClassEnum; +import org.dromara.xzd.enums.ZxdEnum; import org.dromara.xzd.service.IXzdCorrespondentList; import org.dromara.xzd.service.impl.XzdProjectServiceImpl; +import org.dromara.xzd.settlement.domain.XzdAlterationInventory; +import org.dromara.xzd.settlement.domain.XzdContractInventory; import org.dromara.xzd.settlement.domain.XzdJsDeductionItems; import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo; import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo; +import org.dromara.xzd.settlement.service.IXzdAlterationInventoryService; +import org.dromara.xzd.settlement.service.IXzdContractInventoryService; import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -61,6 +66,13 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl {item.setPrimaryMeterId(add.getId());}); + alterationInventoryService.saveBatch(bo.getBgzjqd()); + } + List list = new ArrayList<>(); + //合同内清单和合同外清单 + if (bo.getHtnqd() != null && !bo.getHtnqd().isEmpty()) { + list.addAll(bo.getHtnqd()); + } + if (bo.getHtwqd() != null && !bo.getHtwqd().isEmpty()) { + list.addAll(bo.getHtwqd()); + } + if (!list.isEmpty()) { + list.forEach(item -> {item.setPrimaryMeterId(add.getId());}); + contractInventoryService.saveBatch(list); } - deductionItemsService.saveBatch(bo.getKkyjlx()); return flag; } @@ -179,18 +208,36 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl().eq(XzdJsDeductionItems::getMainDocId, update.getId())); + alterationInventoryService.remove(new LambdaQueryWrapper().eq(XzdAlterationInventory::getPrimaryMeterId, update.getId())); + contractInventoryService.remove(new LambdaQueryWrapper().eq(XzdContractInventory::getPrimaryMeterId, update.getId())); //生成奖励与扣款数据 String tableName = XzdClassEnum.JS_ZHFW_JINDU.getClassName(); - if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) { - throw new ServiceException("扣款与奖励项不能为空"); + if (bo.getKkyjlx() != null && !bo.getKkyjlx().isEmpty()) { + //合同条款-扣款与奖励项 + for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { + kkyjlx.setTableName(tableName); + kkyjlx.setMainDocId(update.getId()); + } + //新增奖励与扣款数据 + deductionItemsService.saveBatch(bo.getKkyjlx()); } - //合同条款-扣款与奖励项 - for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) { - kkyjlx.setTableName(tableName); - kkyjlx.setMainDocId(update.getId()); + //变更增加清单 + if (bo.getBgzjqd() != null && !bo.getBgzjqd().isEmpty()) { + bo.getBgzjqd().forEach(item -> {item.setPrimaryMeterId(bo.getId());}); + alterationInventoryService.saveBatch(bo.getBgzjqd()); + } + List list = new ArrayList<>(); + //合同内清单和合同外清单 + if (bo.getHtnqd() != null && !bo.getHtnqd().isEmpty()) { + list.addAll(bo.getHtnqd()); + } + if (bo.getHtwqd() != null && !bo.getHtwqd().isEmpty()) { + list.addAll(bo.getHtwqd()); + } + if (!list.isEmpty()) { + list.forEach(item -> {item.setPrimaryMeterId(bo.getId());}); + contractInventoryService.saveBatch(list); } - //新增奖励与扣款数据 - deductionItemsService.saveBatch(bo.getKkyjlx()); return baseMapper.updateById(update) > 0; } @@ -229,6 +276,8 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl().in(XzdJsDeductionItems::getMainDocId, ids)); + alterationInventoryService.remove(new LambdaQueryWrapper().eq(XzdAlterationInventory::getContractType, ZxdEnum.ZONHEFUWUHET.getTypeValue()).in(XzdAlterationInventory::getPrimaryMeterId, ids)); + contractInventoryService.remove(new LambdaQueryWrapper().eq(XzdContractInventory::getContractType, ZxdEnum.ZONHEFUWUHET.getTypeValue()).in(XzdContractInventory::getPrimaryMeterId, ids)); return baseMapper.deleteByIds(ids) > 0; } @@ -271,5 +320,31 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl list = deductionItemsService.list(lambdaQueryWrapper2); vo.setKkyjlx(list); + + //变更增加清单 + List list1 = alterationInventoryService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdAlterationInventory::getPrimaryMeterId, vo.getId()) + .eq(XzdAlterationInventory::getContractType, ZxdEnum.ZONHEFUWUHET.getTypeValue())); + vo.setBgzjqd(list1); + + //获取合同内外清单 + List list2 = contractInventoryService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(XzdContractInventory::getPrimaryMeterId, vo.getId()) + .eq(XzdContractInventory::getContractType, ZxdEnum.ZONHEFUWUHET.getTypeValue())); + if (list2 != null && !list2.isEmpty()){ + List nList = new ArrayList<>(); + List wList = new ArrayList<>(); + for (XzdContractInventory item : list2) { + if (ZxdEnum.HETONGLEIXING.getTypeValue().equals(item.getType())) { + wList.add(item); + } else { + nList.add(item); + } + } + //合同内清单 + vo.setHtnqd(nList); + //合同外清单 + vo.setHtwqd(wList); + } } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtCgrkqdMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtCgrkqdMapper.xml new file mode 100644 index 00000000..c3ca14a0 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtCgrkqdMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtJstzqdMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtJstzqdMapper.xml new file mode 100644 index 00000000..ece6de6a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/settlement/XzdJsCghtJstzqdMapper.xml @@ -0,0 +1,7 @@ + + + + +