From f7b9d2f431e602ebe80ea1418848d0a36f16ed69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Sun, 12 Oct 2025 19:32:10 +0800 Subject: [PATCH] =?UTF-8?q?10-12-=E6=94=AF=E4=BB=98=E6=9D=A1=E6=AC=BE?= =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/xzd/domain/XzdContractClause.java | 56 +++++++ .../xzd/domain/XzdSettlementRules.java | 91 +++++++++++ .../xzd/domain/bo/XzdContractClauseBo.java | 56 +++++++ .../xzd/domain/bo/XzdContractDetailsBo.java | 14 +- .../xzd/domain/bo/XzdSettlementRulesBo.java | 90 +++++++++++ .../xzd/domain/vo/XzdContractClauseVo.java | 64 ++++++++ .../xzd/domain/vo/XzdSettlementRulesVo.java | 111 ++++++++++++++ .../xzd/mapper/XzdContractClauseMapper.java | 15 ++ .../xzd/mapper/XzdSettlementRulesMapper.java | 15 ++ .../service/IXzdContractClauseService.java | 70 +++++++++ .../service/IXzdSettlementRulesService.java | 70 +++++++++ .../impl/XzdContractClauseServiceImpl.java | 135 +++++++++++++++++ .../impl/XzdContractDetailsServiceImpl.java | 20 ++- .../impl/XzdDeductionItemsServiceImpl.java | 1 + .../impl/XzdSettlementRulesServiceImpl.java | 142 ++++++++++++++++++ 15 files changed, 944 insertions(+), 6 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdContractClause.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSettlementRules.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractClauseBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementRulesBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdContractClauseVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSettlementRulesVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdContractClauseMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdSettlementRulesMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdContractClauseService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdSettlementRulesService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractClauseServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdSettlementRulesServiceImpl.java diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdContractClause.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdContractClause.java new file mode 100644 index 00000000..9aa34b7e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdContractClause.java @@ -0,0 +1,56 @@ +package org.dromara.xzd.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 合同条款-合同条款对象 xzd_contract_clause + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xzd_contract_clause") +public class XzdContractClause extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 表名 + */ + private String tableName; + + /** + * 承包合同信息ID + */ + private Long contractDetailsId; + + /** + * 合同条款 + */ + private String contractClause; + + /** + * 内容 + */ + private String content; + + /** + * 变更内容 + */ + private String changeContent; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSettlementRules.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSettlementRules.java new file mode 100644 index 00000000..c7d15738 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSettlementRules.java @@ -0,0 +1,91 @@ +package org.dromara.xzd.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 支付条款对象 xzd_settlement_rules + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xzd_settlement_rules") +public class XzdSettlementRules extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 承包合同信息ID + */ + private Long contractDetailsId; + + /** + * 类型(1结算 2决算 3预收款) + */ + private String type; + + /** + * 结算周期(1施工节点 2月) + */ + private String settlementCycle; + + /** + * 结算账龄(天) + */ + private Long settlementAging; + + /** + * 里程碑节点 + */ + private String milestoneNode; + + /** + * 选择值(1合同金额 2本期结算金额 3累计结算金额 4累计结算百分比) + */ + private String selectValue; + + /** + * 比较符 + */ + private String comparisonSymbol; + + /** + * 比较值 + */ + private String comparisonValue; + + /** + * 收款账龄(天) + */ + private Long collectionAging; + + /** + * 收款基数(1合同金额 2本期结算金额) + */ + private Long collectionBase; + + /** + * 收款比例(%) + */ + private Long collectionRatio; + + /** + * 备注 + */ + private String remarks; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractClauseBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractClauseBo.java new file mode 100644 index 00000000..4187e421 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractClauseBo.java @@ -0,0 +1,56 @@ +package org.dromara.xzd.domain.bo; + +import org.dromara.xzd.domain.XzdContractClause; +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.*; + +/** + * 合同条款-合同条款业务对象 xzd_contract_clause + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdContractClause.class, reverseConvertGenerate = false) +public class XzdContractClauseBo extends BaseEntity { + + /** + * + */ + private Long id; + + /** + * 表名 + */ + @NotBlank(message = "表名不能为空", groups = { AddGroup.class, EditGroup.class }) + private String tableName; + + /** + * 承包合同信息ID + */ + @NotNull(message = "承包合同信息ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long contractDetailsId; + + /** + * 合同条款 + */ + private String contractClause; + + /** + * 内容 + */ + private String content; + + /** + * 变更内容 + */ + private String changeContent; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractDetailsBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractDetailsBo.java index 2222712a..2488732d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractDetailsBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdContractDetailsBo.java @@ -1,7 +1,6 @@ package org.dromara.xzd.domain.bo; -import org.dromara.xzd.domain.XzdContractAdvanceInfo; -import org.dromara.xzd.domain.XzdContractDetails; +import org.dromara.xzd.domain.*; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -9,7 +8,6 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; -import org.dromara.xzd.domain.XzdDeductionItems; import java.util.Date; import java.util.List; @@ -237,4 +235,14 @@ public class XzdContractDetailsBo extends BaseEntity { */ private List kkyjlx; + /** + * 合同条款 + */ + private List httk; + + /** + * 支付条款 + */ + private List zftk; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementRulesBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementRulesBo.java new file mode 100644 index 00000000..33176fa8 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementRulesBo.java @@ -0,0 +1,90 @@ +package org.dromara.xzd.domain.bo; + +import org.dromara.xzd.domain.XzdSettlementRules; +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.*; + +/** + * 支付条款业务对象 xzd_settlement_rules + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdSettlementRules.class, reverseConvertGenerate = false) +public class XzdSettlementRulesBo extends BaseEntity { + + /** + * + */ + private Long id; + + /** + * 承包合同信息ID + */ + @NotNull(message = "承包合同信息ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long contractDetailsId; + + /** + * 类型(1结算 2决算 3预收款) + */ + private String type; + + /** + * 结算周期(1施工节点 2月) + */ + private String settlementCycle; + + /** + * 结算账龄(天) + */ + private Long settlementAging; + + /** + * 里程碑节点 + */ + private String milestoneNode; + + /** + * 选择值(1合同金额 2本期结算金额 3累计结算金额 4累计结算百分比) + */ + private String selectValue; + + /** + * 比较符 + */ + private String comparisonSymbol; + + /** + * 比较值 + */ + private String comparisonValue; + + /** + * 收款账龄(天) + */ + private Long collectionAging; + + /** + * 收款基数(1合同金额 2本期结算金额) + */ + private Long collectionBase; + + /** + * 收款比例(%) + */ + private Long collectionRatio; + + /** + * 备注 + */ + private String remarks; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdContractClauseVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdContractClauseVo.java new file mode 100644 index 00000000..592e5d3a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdContractClauseVo.java @@ -0,0 +1,64 @@ +package org.dromara.xzd.domain.vo; + +import org.dromara.xzd.domain.XzdContractClause; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * 合同条款-合同条款视图对象 xzd_contract_clause + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdContractClause.class) +public class XzdContractClauseVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 表名 + */ + @ExcelProperty(value = "表名") + private String tableName; + + /** + * 承包合同信息ID + */ + @ExcelProperty(value = "承包合同信息ID") + private Long contractDetailsId; + + /** + * 合同条款 + */ + @ExcelProperty(value = "合同条款") + private String contractClause; + + /** + * 内容 + */ + @ExcelProperty(value = "内容") + private String content; + + /** + * 变更内容 + */ + @ExcelProperty(value = "变更内容") + private String changeContent; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSettlementRulesVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSettlementRulesVo.java new file mode 100644 index 00000000..4a5e4b8b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSettlementRulesVo.java @@ -0,0 +1,111 @@ +package org.dromara.xzd.domain.vo; + +import org.dromara.xzd.domain.XzdSettlementRules; +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; + + +/** + * 支付条款视图对象 xzd_settlement_rules + * + * @author Lion Li + * @date 2025-10-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdSettlementRules.class) +public class XzdSettlementRulesVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 承包合同信息ID + */ + @ExcelProperty(value = "承包合同信息ID") + private Long contractDetailsId; + + /** + * 类型(1结算 2决算 3预收款) + */ + @ExcelProperty(value = "类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=结算,2=决算,3=预收款") + private String type; + + /** + * 结算周期(1施工节点 2月) + */ + @ExcelProperty(value = "结算周期", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=施工节点,2=月") + private String settlementCycle; + + /** + * 结算账龄(天) + */ + @ExcelProperty(value = "结算账龄(天)") + private Long settlementAging; + + /** + * 里程碑节点 + */ + @ExcelProperty(value = "里程碑节点") + private String milestoneNode; + + /** + * 选择值(1合同金额 2本期结算金额 3累计结算金额 4累计结算百分比) + */ + @ExcelProperty(value = "选择值", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=合同金额,2=本期结算金额,3=累计结算金额,4=累计结算百分比") + private String selectValue; + + /** + * 比较符 + */ + @ExcelProperty(value = "比较符") + private String comparisonSymbol; + + /** + * 比较值 + */ + @ExcelProperty(value = "比较值") + private String comparisonValue; + + /** + * 收款账龄(天) + */ + @ExcelProperty(value = "收款账龄(天)") + private Long collectionAging; + + /** + * 收款基数(1合同金额 2本期结算金额) + */ + @ExcelProperty(value = "收款基数(1合同金额 2本期结算金额)") + private Long collectionBase; + + /** + * 收款比例(%) + */ + @ExcelProperty(value = "收款比例(%)") + private Long collectionRatio; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remarks; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdContractClauseMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdContractClauseMapper.java new file mode 100644 index 00000000..fa122e72 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdContractClauseMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.mapper; + +import org.dromara.xzd.domain.XzdContractClause; +import org.dromara.xzd.domain.vo.XzdContractClauseVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 合同条款-合同条款Mapper接口 + * + * @author Lion Li + * @date 2025-10-12 + */ +public interface XzdContractClauseMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdSettlementRulesMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdSettlementRulesMapper.java new file mode 100644 index 00000000..fb71c787 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdSettlementRulesMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.mapper; + +import org.dromara.xzd.domain.XzdSettlementRules; +import org.dromara.xzd.domain.vo.XzdSettlementRulesVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 支付条款Mapper接口 + * + * @author Lion Li + * @date 2025-10-12 + */ +public interface XzdSettlementRulesMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdContractClauseService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdContractClauseService.java new file mode 100644 index 00000000..f1c51549 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdContractClauseService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.service; + +import org.dromara.xzd.domain.vo.XzdContractClauseVo; +import org.dromara.xzd.domain.bo.XzdContractClauseBo; +import org.dromara.xzd.domain.XzdContractClause; +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-12 + */ +public interface IXzdContractClauseService extends IService{ + + /** + * 查询合同条款-合同条款 + * + * @param id 主键 + * @return 合同条款-合同条款 + */ + XzdContractClauseVo queryById(Long id); + + /** + * 分页查询合同条款-合同条款列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 合同条款-合同条款分页列表 + */ + TableDataInfo queryPageList(XzdContractClauseBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的合同条款-合同条款列表 + * + * @param bo 查询条件 + * @return 合同条款-合同条款列表 + */ + List queryList(XzdContractClauseBo bo); + + /** + * 新增合同条款-合同条款 + * + * @param bo 合同条款-合同条款 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdContractClauseBo bo); + + /** + * 修改合同条款-合同条款 + * + * @param bo 合同条款-合同条款 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdContractClauseBo 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/service/IXzdSettlementRulesService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdSettlementRulesService.java new file mode 100644 index 00000000..a4943fa4 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdSettlementRulesService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.service; + +import org.dromara.xzd.domain.vo.XzdSettlementRulesVo; +import org.dromara.xzd.domain.bo.XzdSettlementRulesBo; +import org.dromara.xzd.domain.XzdSettlementRules; +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-12 + */ +public interface IXzdSettlementRulesService extends IService{ + + /** + * 查询支付条款 + * + * @param id 主键 + * @return 支付条款 + */ + XzdSettlementRulesVo queryById(Long id); + + /** + * 分页查询支付条款列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 支付条款分页列表 + */ + TableDataInfo queryPageList(XzdSettlementRulesBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的支付条款列表 + * + * @param bo 查询条件 + * @return 支付条款列表 + */ + List queryList(XzdSettlementRulesBo bo); + + /** + * 新增支付条款 + * + * @param bo 支付条款 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdSettlementRulesBo bo); + + /** + * 修改支付条款 + * + * @param bo 支付条款 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdSettlementRulesBo 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/service/impl/XzdContractClauseServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractClauseServiceImpl.java new file mode 100644 index 00000000..f4bcecde --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractClauseServiceImpl.java @@ -0,0 +1,135 @@ +package org.dromara.xzd.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.domain.bo.XzdContractClauseBo; +import org.dromara.xzd.domain.vo.XzdContractClauseVo; +import org.dromara.xzd.domain.XzdContractClause; +import org.dromara.xzd.mapper.XzdContractClauseMapper; +import org.dromara.xzd.service.IXzdContractClauseService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 合同条款-合同条款Service业务层处理 + * + * @author Lion Li + * @date 2025-10-12 + */ +@RequiredArgsConstructor +@Service +public class XzdContractClauseServiceImpl extends ServiceImpl implements IXzdContractClauseService { + + private final XzdContractClauseMapper baseMapper; + + /** + * 查询合同条款-合同条款 + * + * @param id 主键 + * @return 合同条款-合同条款 + */ + @Override + public XzdContractClauseVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询合同条款-合同条款列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 合同条款-合同条款分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdContractClauseBo 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(XzdContractClauseBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdContractClauseBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdContractClause::getId); + lqw.like(StringUtils.isNotBlank(bo.getTableName()), XzdContractClause::getTableName, bo.getTableName()); + lqw.eq(bo.getContractDetailsId() != null, XzdContractClause::getContractDetailsId, bo.getContractDetailsId()); + lqw.eq(StringUtils.isNotBlank(bo.getContractClause()), XzdContractClause::getContractClause, bo.getContractClause()); + lqw.eq(StringUtils.isNotBlank(bo.getContent()), XzdContractClause::getContent, bo.getContent()); + lqw.eq(StringUtils.isNotBlank(bo.getChangeContent()), XzdContractClause::getChangeContent, bo.getChangeContent()); + return lqw; + } + + /** + * 新增合同条款-合同条款 + * + * @param bo 合同条款-合同条款 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdContractClauseBo bo) { + XzdContractClause add = MapstructUtils.convert(bo, XzdContractClause.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改合同条款-合同条款 + * + * @param bo 合同条款-合同条款 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdContractClauseBo bo) { + XzdContractClause update = MapstructUtils.convert(bo, XzdContractClause.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdContractClause 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/service/impl/XzdContractDetailsServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java index cd5f27d7..6594c933 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java @@ -11,13 +11,12 @@ 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.dromara.xzd.domain.XzdContractAdvanceInfo; -import org.dromara.xzd.domain.XzdDeductionItems; +import org.dromara.ctr.domain.ContractPaymentClause; +import org.dromara.xzd.domain.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.dromara.xzd.domain.bo.XzdContractDetailsBo; import org.dromara.xzd.domain.vo.XzdContractDetailsVo; -import org.dromara.xzd.domain.XzdContractDetails; import org.dromara.xzd.mapper.XzdContractDetailsMapper; import org.dromara.xzd.service.IXzdContractDetailsService; import org.springframework.transaction.annotation.Transactional; @@ -41,6 +40,10 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl implements IXzdSettlementRulesService { + + private final XzdSettlementRulesMapper baseMapper; + + /** + * 查询支付条款 + * + * @param id 主键 + * @return 支付条款 + */ + @Override + public XzdSettlementRulesVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询支付条款列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 支付条款分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdSettlementRulesBo 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(XzdSettlementRulesBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdSettlementRulesBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdSettlementRules::getId); + lqw.eq(bo.getContractDetailsId() != null, XzdSettlementRules::getContractDetailsId, bo.getContractDetailsId()); + lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdSettlementRules::getType, bo.getType()); + lqw.eq(StringUtils.isNotBlank(bo.getSettlementCycle()), XzdSettlementRules::getSettlementCycle, bo.getSettlementCycle()); + lqw.eq(bo.getSettlementAging() != null, XzdSettlementRules::getSettlementAging, bo.getSettlementAging()); + lqw.eq(StringUtils.isNotBlank(bo.getMilestoneNode()), XzdSettlementRules::getMilestoneNode, bo.getMilestoneNode()); + lqw.eq(StringUtils.isNotBlank(bo.getSelectValue()), XzdSettlementRules::getSelectValue, bo.getSelectValue()); + lqw.eq(StringUtils.isNotBlank(bo.getComparisonSymbol()), XzdSettlementRules::getComparisonSymbol, bo.getComparisonSymbol()); + lqw.eq(StringUtils.isNotBlank(bo.getComparisonValue()), XzdSettlementRules::getComparisonValue, bo.getComparisonValue()); + lqw.eq(bo.getCollectionAging() != null, XzdSettlementRules::getCollectionAging, bo.getCollectionAging()); + lqw.eq(bo.getCollectionBase() != null, XzdSettlementRules::getCollectionBase, bo.getCollectionBase()); + lqw.eq(bo.getCollectionRatio() != null, XzdSettlementRules::getCollectionRatio, bo.getCollectionRatio()); + lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdSettlementRules::getRemarks, bo.getRemarks()); + return lqw; + } + + /** + * 新增支付条款 + * + * @param bo 支付条款 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdSettlementRulesBo bo) { + XzdSettlementRules add = MapstructUtils.convert(bo, XzdSettlementRules.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改支付条款 + * + * @param bo 支付条款 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdSettlementRulesBo bo) { + XzdSettlementRules update = MapstructUtils.convert(bo, XzdSettlementRules.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdSettlementRules entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除支付条款信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +}