部门修改和变更增加清单,合同内清单

This commit is contained in:
lg
2025-10-20 14:29:59 +08:00
parent 9f0105d88a
commit de9d7d34d6
22 changed files with 1721 additions and 5 deletions

View File

@ -70,5 +70,6 @@ public interface IXzdPurchaseContractInformationService extends IService<XzdPurc
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
String queryCodeById(Long id);
}

View File

@ -19,7 +19,7 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("appreciation_invoice")
@TableName("xzd_appreciation_invoice")
public class AppreciationInvoice extends BaseEntity {
@Serial

View File

@ -14,7 +14,7 @@ import java.io.Serial;
* @date 2025-10-17
*/
@Data
@TableName("tax_info")
@TableName("xzd_tax_info")
public class TaxInfo {
@Serial

View File

@ -0,0 +1,169 @@
package org.dromara.xzd.settlement.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 变更增加清单对象 xzd_alteration_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_alteration_inventory")
public class XzdAlterationInventory extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 编码
*/
private String code;
/**
* 合同清单名称
*/
private String contractListName;
/**
* 项目名称
*/
private String project;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 计量单位
*/
private String unitOfMeasurement;
/**
* 规格
*/
private String specs;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 含税单价
*/
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算数量
*/
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算不含税金额
*/
private BigDecimal currentPeriodSettlementExcludingTaxAmount;
/**
* 本期审批数量
*/
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* WBS
*/
private String wbs;
/**
* 累计结算金额
*/
private BigDecimal cumulativeSettlementAmount;
/**
* CBS
*/
private String cbs;
/**
* CBS预算总额
*/
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建时间
*/
private Date createdAt;
/**
* 更新时间
*/
private Date updatedAt;
}

View File

@ -0,0 +1,199 @@
package org.dromara.xzd.settlement.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 合同内(外)清单对象 xzd_contract_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_contract_inventory")
public class XzdContractInventory extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 合同类型1、承包合同2、分包合同3、采购合同4综合服务合同
*/
private String contractType;
/**
* 类型 1合同外清单 2合同内清单
*/
private String type;
/**
* 编码
*/
private String code;
/**
* 主表id
*/
private Long primaryMeterId;
/**
* 合同清单名称
*/
private String contractListName;
/**
* 项目名称
*/
private String project;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 计量单位
*/
private String unitOfMeasurement;
/**
* 规格
*/
private String specs;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 含税单价
*/
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算不含税金额
*/
private BigDecimal settlementAmountExcludingTax;
/**
* 本期结算数量
*/
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算百分比
*/
private BigDecimal bqjsbfb;
/**
* 本期结算
*/
private BigDecimal currentPeriodSettlement;
/**
* 本期审批数量
*/
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* WBS
*/
private String wbs;
/**
* 累计结算金额
*/
private BigDecimal cumulativeSettlementAmount;
/**
* 累计结算合同占比
*/
private BigDecimal ljjshtzb;
/**
* CBS
*/
private String cbs;
/**
* CBS预算总额
*/
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建时间
*/
private Date createdAt;
/**
* 更新时间
*/
private Date updatedAt;
}

View File

@ -0,0 +1,168 @@
package org.dromara.xzd.settlement.domain.bo;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
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;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 变更增加清单业务对象 xzd_alteration_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdAlterationInventory.class, reverseConvertGenerate = false)
public class XzdAlterationInventoryBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 编码
*/
private String code;
/**
* 合同清单名称
*/
private String contractListName;
/**
* 项目名称
*/
private String project;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 计量单位
*/
private String unitOfMeasurement;
/**
* 规格
*/
private String specs;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 含税单价
*/
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算数量
*/
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算不含税金额
*/
private BigDecimal currentPeriodSettlementExcludingTaxAmount;
/**
* 本期审批数量
*/
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* WBS
*/
private String wbs;
/**
* 累计结算金额
*/
private BigDecimal cumulativeSettlementAmount;
/**
* CBS
*/
private String cbs;
/**
* CBS预算总额
*/
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建时间
*/
private Date createdAt;
/**
* 更新时间
*/
private Date updatedAt;
}

View File

@ -0,0 +1,198 @@
package org.dromara.xzd.settlement.domain.bo;
import org.dromara.xzd.settlement.domain.XzdContractInventory;
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;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 合同内(外)清单业务对象 xzd_contract_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdContractInventory.class, reverseConvertGenerate = false)
public class XzdContractInventoryBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 合同类型1、承包合同2、分包合同3、采购合同4综合服务合同
*/
private String contractType;
/**
* 类型 1合同外清单 2合同内清单
*/
private String type;
/**
* 编码
*/
private String code;
/**
* 主表id
*/
private Long primaryMeterId;
/**
* 合同清单名称
*/
private String contractListName;
/**
* 项目名称
*/
private String project;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 计量单位
*/
private String unitOfMeasurement;
/**
* 规格
*/
private String specs;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 含税单价
*/
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算不含税金额
*/
private BigDecimal settlementAmountExcludingTax;
/**
* 本期结算数量
*/
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算百分比
*/
private BigDecimal bqjsbfb;
/**
* 本期结算
*/
private BigDecimal currentPeriodSettlement;
/**
* 本期审批数量
*/
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* WBS
*/
private String wbs;
/**
* 累计结算金额
*/
private BigDecimal cumulativeSettlementAmount;
/**
* 累计结算合同占比
*/
private BigDecimal ljjshtzb;
/**
* CBS
*/
private String cbs;
/**
* CBS预算总额
*/
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 创建时间
*/
private Date createdAt;
/**
* 更新时间
*/
private Date updatedAt;
}

View File

@ -0,0 +1,203 @@
package org.dromara.xzd.settlement.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
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_alteration_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdAlterationInventory.class)
public class XzdAlterationInventoryVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 编码
*/
@ExcelProperty(value = "编码")
private String code;
/**
* 合同清单名称
*/
@ExcelProperty(value = "合同清单名称")
private String contractListName;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String project;
/**
* 资源编码
*/
@ExcelProperty(value = "资源编码")
private String resourceCode;
/**
* 资源名称
*/
@ExcelProperty(value = "资源名称")
private String resourceName;
/**
* 计量单位
*/
@ExcelProperty(value = "计量单位")
private String unitOfMeasurement;
/**
* 规格
*/
@ExcelProperty(value = "规格")
private String specs;
/**
* 单价
*/
@ExcelProperty(value = "单价")
private BigDecimal unitPrice;
/**
* 含税单价
*/
@ExcelProperty(value = "含税单价")
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算数量
*/
@ExcelProperty(value = "本期结算数量")
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算不含税金额
*/
@ExcelProperty(value = "本期结算不含税金额")
private BigDecimal currentPeriodSettlementExcludingTaxAmount;
/**
* 本期审批数量
*/
@ExcelProperty(value = "本期审批数量")
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
@ExcelProperty(value = "本期结算金额")
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
@ExcelProperty(value = "本期审批金额")
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
@ExcelProperty(value = "税率")
private BigDecimal taxRate;
/**
* 税额
*/
@ExcelProperty(value = "税额")
private BigDecimal taxAmount;
/**
* WBS
*/
@ExcelProperty(value = "WBS")
private String wbs;
/**
* 累计结算金额
*/
@ExcelProperty(value = "累计结算金额")
private BigDecimal cumulativeSettlementAmount;
/**
* CBS
*/
@ExcelProperty(value = "CBS")
private String cbs;
/**
* CBS预算总额
*/
@ExcelProperty(value = "CBS预算总额")
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
@ExcelProperty(value = "CBS余额")
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
@ExcelProperty(value = "合同累计签订成本预算金额")
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createdAt;
/**
* 更新时间
*/
@ExcelProperty(value = "更新时间")
private Date updatedAt;
}

View File

@ -0,0 +1,240 @@
package org.dromara.xzd.settlement.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.settlement.domain.XzdContractInventory;
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_contract_inventory
*
* @author Lion Li
* @date 2025-10-20
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdContractInventory.class)
public class XzdContractInventoryVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 合同类型1、承包合同2、分包合同3、采购合同4综合服务合同
*/
@ExcelProperty(value = "合同类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=、承包合同2、分包合同3、采购合同4综合服务合同")
private String contractType;
/**
* 类型 1合同外清单 2合同内清单
*/
@ExcelProperty(value = "类型 1合同外清单 2合同内清单")
private String type;
/**
* 编码
*/
@ExcelProperty(value = "编码")
private String code;
/**
* 主表id
*/
@ExcelProperty(value = "主表id")
private Long primaryMeterId;
/**
* 合同清单名称
*/
@ExcelProperty(value = "合同清单名称")
private String contractListName;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String project;
/**
* 资源编码
*/
@ExcelProperty(value = "资源编码")
private String resourceCode;
/**
* 资源名称
*/
@ExcelProperty(value = "资源名称")
private String resourceName;
/**
* 计量单位
*/
@ExcelProperty(value = "计量单位")
private String unitOfMeasurement;
/**
* 规格
*/
@ExcelProperty(value = "规格")
private String specs;
/**
* 单价
*/
@ExcelProperty(value = "单价")
private BigDecimal unitPrice;
/**
* 含税单价
*/
@ExcelProperty(value = "含税单价")
private BigDecimal taxInclusiveUnitPrice;
/**
* 本期结算不含税金额
*/
@ExcelProperty(value = "本期结算不含税金额")
private BigDecimal settlementAmountExcludingTax;
/**
* 本期结算数量
*/
@ExcelProperty(value = "本期结算数量")
private BigDecimal currentPeriodSettlementQuantity;
/**
* 本期结算百分比
*/
@ExcelProperty(value = "本期结算百分比")
private BigDecimal bqjsbfb;
/**
* 本期结算
*/
@ExcelProperty(value = "本期结算")
private BigDecimal currentPeriodSettlement;
/**
* 本期审批数量
*/
@ExcelProperty(value = "本期审批数量")
private BigDecimal currentPeriodApprovalQuantity;
/**
* 本期结算金额
*/
@ExcelProperty(value = "本期结算金额")
private BigDecimal currentPeriodSettlementAmount;
/**
* 本期审批金额
*/
@ExcelProperty(value = "本期审批金额")
private BigDecimal currentPeriodApprovalAmount;
/**
* 税率
*/
@ExcelProperty(value = "税率")
private BigDecimal taxRate;
/**
* 税额
*/
@ExcelProperty(value = "税额")
private BigDecimal taxAmount;
/**
* WBS
*/
@ExcelProperty(value = "WBS")
private String wbs;
/**
* 累计结算金额
*/
@ExcelProperty(value = "累计结算金额")
private BigDecimal cumulativeSettlementAmount;
/**
* 累计结算合同占比
*/
@ExcelProperty(value = "累计结算合同占比")
private BigDecimal ljjshtzb;
/**
* CBS
*/
@ExcelProperty(value = "CBS")
private String cbs;
/**
* CBS预算总额
*/
@ExcelProperty(value = "CBS预算总额")
private BigDecimal cbsBudgetTotal;
/**
* CBS余额
*/
@ExcelProperty(value = "CBS余额")
private BigDecimal cbsBalance;
/**
* 合同累计签订成本预算金额
*/
@ExcelProperty(value = "合同累计签订成本预算金额")
private BigDecimal costBudgetAmount;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createdAt;
/**
* 更新时间
*/
@ExcelProperty(value = "更新时间")
private Date updatedAt;
}

View File

@ -17,7 +17,7 @@ import java.time.LocalDate;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("settlement_of_subcontracting_contract")
@TableName("xzd_settlement_of_subcontracting_contract")
public class SettlementOfSubcontractingContract extends BaseEntity {
@Serial

View File

@ -14,6 +14,7 @@ import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.contractManagement.caigoucontractTermination.domain.XzdPurchaseContractSuspend;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.service.IXzdSubcontractService;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.service.IXzdCorrespondentList;
@ -57,6 +58,8 @@ public class SettlementOfSubcontractingContractServiceImpl extends ServiceImpl<S
@Autowired
private SysOssServiceImpl sysOssService;
private final IXzdSubcontractService iXzdSubcontractService;
/**
* 查询分包合同进度结算
*
@ -100,6 +103,13 @@ public class SettlementOfSubcontractingContractServiceImpl extends ServiceImpl<S
item.setProjectName(projectName);
}
}
// 分包合同编码
XzdSubcontractVo xzdSubcontractVo = iXzdSubcontractService.queryById(item.getContractCode());
if (xzdSubcontractVo != null){
item.setContractCodeName(xzdSubcontractVo.getContractCode());
}
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getSettlementUnit());
if (byid!=null){

View File

@ -60,6 +60,12 @@ public class SettlementOfSubcontractingCompletionVo implements Serializable {
@ExcelProperty(value = "合同编号")
private Long contractCode;
/**
* 合同编号名称
*/
@ExcelProperty(value = "合同编号名称")
private String contractCodeName;
/**
* 合同名称
*/

View File

@ -13,6 +13,7 @@ import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.service.IXzdSubcontractService;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdSettlementRulesVo;
@ -69,6 +70,9 @@ public class SettlementOfSubcontractingCompletionServiceImpl extends ServiceImpl
private final IXzdContractClauseService iXzdContractClauseService;
private final IXzdSubcontractService iXzdSubcontractService;
/**
* 查询分包合同竣工结算
*
@ -111,6 +115,11 @@ public class SettlementOfSubcontractingCompletionServiceImpl extends ServiceImpl
item.setEngineeringProjectName(projectName);
}
}
// 分包合同编码
XzdSubcontractVo xzdSubcontractVo = iXzdSubcontractService.queryById(item.getContractCode());
if (xzdSubcontractVo != null){
item.setContractCodeName(xzdSubcontractVo.getContractCode());
}
//甲方单位(客户信息列表)
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(item.getPartyAUnit());
if (byid!=null){

View File

@ -17,7 +17,7 @@ import java.time.LocalDate;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("settlement_of_subcontracting_adjustment")
@TableName("xzd_settlement_of_subcontracting_adjustment")
public class SettlementOfSubcontractingAdjustment extends BaseEntity {
@Serial

View File

@ -60,6 +60,13 @@ public class SettlementOfSubcontractingAdjustmentVo implements Serializable {
@ExcelProperty(value = "决算单编号")
private Long finalAccountNo;
/**
* 决算单编号名称
*/
@ExcelProperty(value = "决算单编号名称")
private String finalAccountNoName;
/**
* 合同名称
*/

View File

@ -13,6 +13,7 @@ import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.settlement.fenbaohetongjungong.domain.SettlementOfSubcontractingCompletion;
import org.dromara.xzd.settlement.fenbaohetongjungong.domain.vo.SettlementOfSubcontractingCompletionVo;
import org.dromara.xzd.settlement.fenbaohetongjungong.service.ISettlementOfSubcontractingCompletionService;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -41,6 +42,7 @@ public class SettlementOfSubcontractingAdjustmentServiceImpl extends ServiceImpl
private final SettlementOfSubcontractingAdjustmentMapper baseMapper;
private final AreaUtil areaUtil;
private final ISettlementOfSubcontractingCompletionService iSettlementOfSubcontractingCompletionService;
@Autowired
private SysOssServiceImpl sysOssService;
@ -53,7 +55,20 @@ public class SettlementOfSubcontractingAdjustmentServiceImpl extends ServiceImpl
*/
@Override
public SettlementOfSubcontractingAdjustmentVo queryById(Long id){
return baseMapper.selectVoById(id);
SettlementOfSubcontractingAdjustmentVo vo = baseMapper.selectVoById(id);
getName(vo);
return vo;
}
private void getName(SettlementOfSubcontractingAdjustmentVo vo) {
if(vo != null){
SettlementOfSubcontractingCompletionVo temp = iSettlementOfSubcontractingCompletionService.queryById(vo.getFinalAccountNo());
if (temp != null) {
vo.setFinalAccountNoName(temp.getDocumentCode());
}
}
}
/**
@ -67,9 +82,12 @@ public class SettlementOfSubcontractingAdjustmentServiceImpl extends ServiceImpl
public TableDataInfo<SettlementOfSubcontractingAdjustmentVo> queryPageList(SettlementOfSubcontractingAdjustmentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SettlementOfSubcontractingAdjustment> lqw = buildQueryWrapper(bo);
Page<SettlementOfSubcontractingAdjustmentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
result.getRecords().forEach(this::getName);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的分包合同竣工结算调整列表
*

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.settlement.mapper;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
import org.dromara.xzd.settlement.domain.vo.XzdAlterationInventoryVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 变更增加清单Mapper接口
*
* @author Lion Li
* @date 2025-10-20
*/
public interface XzdAlterationInventoryMapper extends BaseMapperPlus<XzdAlterationInventory, XzdAlterationInventoryVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.settlement.mapper;
import org.dromara.xzd.settlement.domain.XzdContractInventory;
import org.dromara.xzd.settlement.domain.vo.XzdContractInventoryVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 合同内(外)清单Mapper接口
*
* @author Lion Li
* @date 2025-10-20
*/
public interface XzdContractInventoryMapper extends BaseMapperPlus<XzdContractInventory, XzdContractInventoryVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.settlement.service;
import org.dromara.xzd.settlement.domain.vo.XzdAlterationInventoryVo;
import org.dromara.xzd.settlement.domain.bo.XzdAlterationInventoryBo;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
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 IXzdAlterationInventoryService extends IService<XzdAlterationInventory>{
/**
* 查询变更增加清单
*
* @param id 主键
* @return 变更增加清单
*/
XzdAlterationInventoryVo queryById(Long id);
/**
* 分页查询变更增加清单列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 变更增加清单分页列表
*/
TableDataInfo<XzdAlterationInventoryVo> queryPageList(XzdAlterationInventoryBo bo, PageQuery pageQuery);
/**
* 查询符合条件的变更增加清单列表
*
* @param bo 查询条件
* @return 变更增加清单列表
*/
List<XzdAlterationInventoryVo> queryList(XzdAlterationInventoryBo bo);
/**
* 新增变更增加清单
*
* @param bo 变更增加清单
* @return 是否新增成功
*/
Boolean insertByBo(XzdAlterationInventoryBo bo);
/**
* 修改变更增加清单
*
* @param bo 变更增加清单
* @return 是否修改成功
*/
Boolean updateByBo(XzdAlterationInventoryBo bo);
/**
* 校验并批量删除变更增加清单信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.settlement.service;
import org.dromara.xzd.settlement.domain.vo.XzdContractInventoryVo;
import org.dromara.xzd.settlement.domain.bo.XzdContractInventoryBo;
import org.dromara.xzd.settlement.domain.XzdContractInventory;
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 IXzdContractInventoryService extends IService<XzdContractInventory>{
/**
* 查询合同内(外)清单
*
* @param id 主键
* @return 合同内(外)清单
*/
XzdContractInventoryVo queryById(Long id);
/**
* 分页查询合同内(外)清单列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 合同内(外)清单分页列表
*/
TableDataInfo<XzdContractInventoryVo> queryPageList(XzdContractInventoryBo bo, PageQuery pageQuery);
/**
* 查询符合条件的合同内(外)清单列表
*
* @param bo 查询条件
* @return 合同内(外)清单列表
*/
List<XzdContractInventoryVo> queryList(XzdContractInventoryBo bo);
/**
* 新增合同内(外)清单
*
* @param bo 合同内(外)清单
* @return 是否新增成功
*/
Boolean insertByBo(XzdContractInventoryBo bo);
/**
* 修改合同内(外)清单
*
* @param bo 合同内(外)清单
* @return 是否修改成功
*/
Boolean updateByBo(XzdContractInventoryBo bo);
/**
* 校验并批量删除合同内(外)清单信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,156 @@
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.XzdAlterationInventoryBo;
import org.dromara.xzd.settlement.domain.vo.XzdAlterationInventoryVo;
import org.dromara.xzd.settlement.domain.XzdAlterationInventory;
import org.dromara.xzd.settlement.mapper.XzdAlterationInventoryMapper;
import org.dromara.xzd.settlement.service.IXzdAlterationInventoryService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 变更增加清单Service业务层处理
*
* @author Lion Li
* @date 2025-10-20
*/
@RequiredArgsConstructor
@Service
public class XzdAlterationInventoryServiceImpl extends ServiceImpl<XzdAlterationInventoryMapper, XzdAlterationInventory> implements IXzdAlterationInventoryService {
private final XzdAlterationInventoryMapper baseMapper;
/**
* 查询变更增加清单
*
* @param id 主键
* @return 变更增加清单
*/
@Override
public XzdAlterationInventoryVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询变更增加清单列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 变更增加清单分页列表
*/
@Override
public TableDataInfo<XzdAlterationInventoryVo> queryPageList(XzdAlterationInventoryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdAlterationInventory> lqw = buildQueryWrapper(bo);
Page<XzdAlterationInventoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的变更增加清单列表
*
* @param bo 查询条件
* @return 变更增加清单列表
*/
@Override
public List<XzdAlterationInventoryVo> queryList(XzdAlterationInventoryBo bo) {
LambdaQueryWrapper<XzdAlterationInventory> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdAlterationInventory> buildQueryWrapper(XzdAlterationInventoryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdAlterationInventory> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdAlterationInventory::getId);
lqw.eq(StringUtils.isNotBlank(bo.getCode()), XzdAlterationInventory::getCode, bo.getCode());
lqw.like(StringUtils.isNotBlank(bo.getContractListName()), XzdAlterationInventory::getContractListName, bo.getContractListName());
lqw.eq(StringUtils.isNotBlank(bo.getProject()), XzdAlterationInventory::getProject, bo.getProject());
lqw.eq(StringUtils.isNotBlank(bo.getResourceCode()), XzdAlterationInventory::getResourceCode, bo.getResourceCode());
lqw.like(StringUtils.isNotBlank(bo.getResourceName()), XzdAlterationInventory::getResourceName, bo.getResourceName());
lqw.eq(StringUtils.isNotBlank(bo.getUnitOfMeasurement()), XzdAlterationInventory::getUnitOfMeasurement, bo.getUnitOfMeasurement());
lqw.eq(StringUtils.isNotBlank(bo.getSpecs()), XzdAlterationInventory::getSpecs, bo.getSpecs());
lqw.eq(bo.getUnitPrice() != null, XzdAlterationInventory::getUnitPrice, bo.getUnitPrice());
lqw.eq(bo.getTaxInclusiveUnitPrice() != null, XzdAlterationInventory::getTaxInclusiveUnitPrice, bo.getTaxInclusiveUnitPrice());
lqw.eq(bo.getCurrentPeriodSettlementQuantity() != null, XzdAlterationInventory::getCurrentPeriodSettlementQuantity, bo.getCurrentPeriodSettlementQuantity());
lqw.eq(bo.getCurrentPeriodSettlementExcludingTaxAmount() != null, XzdAlterationInventory::getCurrentPeriodSettlementExcludingTaxAmount, bo.getCurrentPeriodSettlementExcludingTaxAmount());
lqw.eq(bo.getCurrentPeriodApprovalQuantity() != null, XzdAlterationInventory::getCurrentPeriodApprovalQuantity, bo.getCurrentPeriodApprovalQuantity());
lqw.eq(bo.getCurrentPeriodSettlementAmount() != null, XzdAlterationInventory::getCurrentPeriodSettlementAmount, bo.getCurrentPeriodSettlementAmount());
lqw.eq(bo.getCurrentPeriodApprovalAmount() != null, XzdAlterationInventory::getCurrentPeriodApprovalAmount, bo.getCurrentPeriodApprovalAmount());
lqw.eq(bo.getTaxRate() != null, XzdAlterationInventory::getTaxRate, bo.getTaxRate());
lqw.eq(bo.getTaxAmount() != null, XzdAlterationInventory::getTaxAmount, bo.getTaxAmount());
lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdAlterationInventory::getWbs, bo.getWbs());
lqw.eq(bo.getCumulativeSettlementAmount() != null, XzdAlterationInventory::getCumulativeSettlementAmount, bo.getCumulativeSettlementAmount());
lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdAlterationInventory::getCbs, bo.getCbs());
lqw.eq(bo.getCbsBudgetTotal() != null, XzdAlterationInventory::getCbsBudgetTotal, bo.getCbsBudgetTotal());
lqw.eq(bo.getCbsBalance() != null, XzdAlterationInventory::getCbsBalance, bo.getCbsBalance());
lqw.eq(bo.getCostBudgetAmount() != null, XzdAlterationInventory::getCostBudgetAmount, bo.getCostBudgetAmount());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdAlterationInventory::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdAlterationInventory::getAuditStatus, bo.getAuditStatus());
lqw.eq(bo.getCreatedAt() != null, XzdAlterationInventory::getCreatedAt, bo.getCreatedAt());
lqw.eq(bo.getUpdatedAt() != null, XzdAlterationInventory::getUpdatedAt, bo.getUpdatedAt());
return lqw;
}
/**
* 新增变更增加清单
*
* @param bo 变更增加清单
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdAlterationInventoryBo bo) {
XzdAlterationInventory add = MapstructUtils.convert(bo, XzdAlterationInventory.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改变更增加清单
*
* @param bo 变更增加清单
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdAlterationInventoryBo bo) {
XzdAlterationInventory update = MapstructUtils.convert(bo, XzdAlterationInventory.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdAlterationInventory entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除变更增加清单信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,162 @@
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.XzdContractInventoryBo;
import org.dromara.xzd.settlement.domain.vo.XzdContractInventoryVo;
import org.dromara.xzd.settlement.domain.XzdContractInventory;
import org.dromara.xzd.settlement.mapper.XzdContractInventoryMapper;
import org.dromara.xzd.settlement.service.IXzdContractInventoryService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 合同内(外)清单Service业务层处理
*
* @author Lion Li
* @date 2025-10-20
*/
@RequiredArgsConstructor
@Service
public class XzdContractInventoryServiceImpl extends ServiceImpl<XzdContractInventoryMapper, XzdContractInventory> implements IXzdContractInventoryService {
private final XzdContractInventoryMapper baseMapper;
/**
* 查询合同内(外)清单
*
* @param id 主键
* @return 合同内(外)清单
*/
@Override
public XzdContractInventoryVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询合同内(外)清单列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 合同内(外)清单分页列表
*/
@Override
public TableDataInfo<XzdContractInventoryVo> queryPageList(XzdContractInventoryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdContractInventory> lqw = buildQueryWrapper(bo);
Page<XzdContractInventoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的合同内(外)清单列表
*
* @param bo 查询条件
* @return 合同内(外)清单列表
*/
@Override
public List<XzdContractInventoryVo> queryList(XzdContractInventoryBo bo) {
LambdaQueryWrapper<XzdContractInventory> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdContractInventory> buildQueryWrapper(XzdContractInventoryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdContractInventory> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdContractInventory::getId);
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdContractInventory::getContractType, bo.getContractType());
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdContractInventory::getType, bo.getType());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), XzdContractInventory::getCode, bo.getCode());
lqw.eq(bo.getPrimaryMeterId() != null, XzdContractInventory::getPrimaryMeterId, bo.getPrimaryMeterId());
lqw.like(StringUtils.isNotBlank(bo.getContractListName()), XzdContractInventory::getContractListName, bo.getContractListName());
lqw.eq(StringUtils.isNotBlank(bo.getProject()), XzdContractInventory::getProject, bo.getProject());
lqw.eq(StringUtils.isNotBlank(bo.getResourceCode()), XzdContractInventory::getResourceCode, bo.getResourceCode());
lqw.like(StringUtils.isNotBlank(bo.getResourceName()), XzdContractInventory::getResourceName, bo.getResourceName());
lqw.eq(StringUtils.isNotBlank(bo.getUnitOfMeasurement()), XzdContractInventory::getUnitOfMeasurement, bo.getUnitOfMeasurement());
lqw.eq(StringUtils.isNotBlank(bo.getSpecs()), XzdContractInventory::getSpecs, bo.getSpecs());
lqw.eq(bo.getUnitPrice() != null, XzdContractInventory::getUnitPrice, bo.getUnitPrice());
lqw.eq(bo.getTaxInclusiveUnitPrice() != null, XzdContractInventory::getTaxInclusiveUnitPrice, bo.getTaxInclusiveUnitPrice());
lqw.eq(bo.getSettlementAmountExcludingTax() != null, XzdContractInventory::getSettlementAmountExcludingTax, bo.getSettlementAmountExcludingTax());
lqw.eq(bo.getCurrentPeriodSettlementQuantity() != null, XzdContractInventory::getCurrentPeriodSettlementQuantity, bo.getCurrentPeriodSettlementQuantity());
lqw.eq(bo.getBqjsbfb() != null, XzdContractInventory::getBqjsbfb, bo.getBqjsbfb());
lqw.eq(bo.getCurrentPeriodSettlement() != null, XzdContractInventory::getCurrentPeriodSettlement, bo.getCurrentPeriodSettlement());
lqw.eq(bo.getCurrentPeriodApprovalQuantity() != null, XzdContractInventory::getCurrentPeriodApprovalQuantity, bo.getCurrentPeriodApprovalQuantity());
lqw.eq(bo.getCurrentPeriodSettlementAmount() != null, XzdContractInventory::getCurrentPeriodSettlementAmount, bo.getCurrentPeriodSettlementAmount());
lqw.eq(bo.getCurrentPeriodApprovalAmount() != null, XzdContractInventory::getCurrentPeriodApprovalAmount, bo.getCurrentPeriodApprovalAmount());
lqw.eq(bo.getTaxRate() != null, XzdContractInventory::getTaxRate, bo.getTaxRate());
lqw.eq(bo.getTaxAmount() != null, XzdContractInventory::getTaxAmount, bo.getTaxAmount());
lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdContractInventory::getWbs, bo.getWbs());
lqw.eq(bo.getCumulativeSettlementAmount() != null, XzdContractInventory::getCumulativeSettlementAmount, bo.getCumulativeSettlementAmount());
lqw.eq(bo.getLjjshtzb() != null, XzdContractInventory::getLjjshtzb, bo.getLjjshtzb());
lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdContractInventory::getCbs, bo.getCbs());
lqw.eq(bo.getCbsBudgetTotal() != null, XzdContractInventory::getCbsBudgetTotal, bo.getCbsBudgetTotal());
lqw.eq(bo.getCbsBalance() != null, XzdContractInventory::getCbsBalance, bo.getCbsBalance());
lqw.eq(bo.getCostBudgetAmount() != null, XzdContractInventory::getCostBudgetAmount, bo.getCostBudgetAmount());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdContractInventory::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdContractInventory::getAuditStatus, bo.getAuditStatus());
lqw.eq(bo.getCreatedAt() != null, XzdContractInventory::getCreatedAt, bo.getCreatedAt());
lqw.eq(bo.getUpdatedAt() != null, XzdContractInventory::getUpdatedAt, bo.getUpdatedAt());
return lqw;
}
/**
* 新增合同内(外)清单
*
* @param bo 合同内(外)清单
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdContractInventoryBo bo) {
XzdContractInventory add = MapstructUtils.convert(bo, XzdContractInventory.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改合同内(外)清单
*
* @param bo 合同内(外)清单
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdContractInventoryBo bo) {
XzdContractInventory update = MapstructUtils.convert(bo, XzdContractInventory.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdContractInventory entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除合同内(外)清单信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}