合同管理-承包、分包、采购、综合服务的信息、变更添加合同变更清单

This commit is contained in:
2025-10-18 18:47:21 +08:00
parent 7bdf8f53b9
commit 6a0be071b8
41 changed files with 1006 additions and 11 deletions

View File

@ -61,7 +61,7 @@ public class XzdCsContractChangeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("comprehensive:csContractChange:query")
// @SaCheckPermission("comprehensive:csContractChange:query")
@GetMapping("/{id}")
public R<XzdCsContractChangeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -70,7 +70,7 @@ public class XzdCsContractInformationController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("comprehensive:csContractInformation:query")
// @SaCheckPermission("comprehensive:csContractInformation:query")
@GetMapping("/{id}")
public R<XzdCsContractInformationVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -61,7 +61,7 @@ public class XzdCsContractSuspendController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("comprehensive:csContractSuspend:query")
// @SaCheckPermission("comprehensive:csContractSuspend:query")
@GetMapping("/{id}")
public R<XzdCsContractSuspendVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -32,6 +32,12 @@ public class XzdHtglHtbgqd extends BaseEntity {
* 立项1、承包合同信息2、承包合同变更3分包合同信息4、分包合同变更5、采购合同信息6、采购合同变更7、综合服务信息8、综合服务变更
*/
private Long type;
/**
* 关联主表id
*/
private Long mainDocumentId;
/**
* 附件(路径/关联ID
@ -42,6 +48,10 @@ public class XzdHtglHtbgqd extends BaseEntity {
* 编码
*/
private String code;
/**
* 项目
*/
private String project;
/**
* 合同名称(带*,必填)
@ -58,6 +68,11 @@ public class XzdHtglHtbgqd extends BaseEntity {
*/
private String calculateUnit;
/**
* 规格型号
*/
private String specificationModel;
/**
* 原数值
*/
@ -72,6 +87,10 @@ public class XzdHtglHtbgqd extends BaseEntity {
* 原含税单价
*/
private BigDecimal originalTaxInclUnitPrice;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 变更后含税单价
@ -88,6 +107,17 @@ public class XzdHtglHtbgqd extends BaseEntity {
*/
private BigDecimal afterChangeTaxInclAmount;
/**
* 原不含税金额
*/
private BigDecimal noOriginalTaxInclAmount;
/**
* 变更后含不税金额
*/
private BigDecimal noAfterChangeTaxInclAmount;
/**
* 原税率
*/
@ -128,6 +158,12 @@ public class XzdHtglHtbgqd extends BaseEntity {
*/
private String costBudgetSource;
/**
* 换算比例
*/
private String conversionRatio;
/**
* 备注
*/
@ -138,5 +174,23 @@ public class XzdHtglHtbgqd extends BaseEntity {
*/
private Long settledPriceTotal;
/**
* 金额
*/
private BigDecimal amount;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* 成本预算余额
*/
private BigDecimal costBudgetBalance;
/**
* 合同累计签订成本预算
*/
private BigDecimal totalSignedCostBudget;
}

View File

@ -0,0 +1,92 @@
package org.dromara.xzd.comprehensive.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 合同管理-合同汇总数据对象 xzd_htgl_hthzsj
*
* @author Lion Li
* @date 2025-10-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_htgl_hthzsj")
public class XzdHtglHthzsj extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id
*/
private Long mainDocumentId;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 规格型号
*/
private String specModel;
/**
* 单位
*/
private String unit;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 税率(如 13% 存储为 0.1300
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* 含税单价
*/
private BigDecimal taxInclUnitPrice;
/**
* 不含税金额
*/
private BigDecimal taxExclAmount;
/**
* 含税金额
*/
private BigDecimal taxInclAmount;
}

View File

@ -15,6 +15,7 @@ import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
@ -225,5 +226,10 @@ public class XzdCsContractChangeBo extends BaseEntity {
*/
private List<XzdSettlementRules> zftk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -15,6 +15,7 @@ import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
@ -268,5 +269,10 @@ public class XzdCsContractInformationBo extends BaseEntity {
*/
private List<XzdSettlementRules> zftk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -33,6 +33,11 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
@NotNull(message = "立项1、承包合同信息2、承包合同变更3分包合同信息4、分包合同变更5、采购合同信息6、采购合同变更7、综合服务信息8、综合服务变更不能为空", groups = { AddGroup.class, EditGroup.class })
private Long type;
/**
* 关联主表id
*/
private Long mainDocumentId;
/**
* 附件(路径/关联ID
*/
@ -60,6 +65,11 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
@NotBlank(message = "计算单位(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
private String calculateUnit;
/**
* 规格型号
*/
private String specificationModel;
/**
* 原数值
*/
@ -75,6 +85,11 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
*/
private BigDecimal originalTaxInclUnitPrice;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 变更后含税单价
*/
@ -90,6 +105,16 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
*/
private BigDecimal afterChangeTaxInclAmount;
/**
* 原不含税金额
*/
private BigDecimal noOriginalTaxInclAmount;
/**
* 变更后含不税金额
*/
private BigDecimal noAfterChangeTaxInclAmount;
/**
* 原税率
*/
@ -130,6 +155,11 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
*/
private String costBudgetSource;
/**
* 换算比例
*/
private String conversionRatio;
/**
* 备注
*/
@ -141,4 +171,22 @@ public class XzdHtglHtbgqdBo extends BaseEntity {
private Long settledPriceTotal;
/**
* 金额
*/
private BigDecimal amount;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* 成本预算余额
*/
private BigDecimal costBudgetBalance;
/**
* 合同累计签订成本预算
*/
private BigDecimal totalSignedCostBudget;
}

View File

@ -0,0 +1,91 @@
package org.dromara.xzd.comprehensive.domain.bo;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
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_htgl_hthzsj
*
* @author Lion Li
* @date 2025-10-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdHtglHthzsj.class, reverseConvertGenerate = false)
public class XzdHtglHthzsjBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id
*/
private Long mainDocumentId;
/**
* 资源编码
*/
private String resourceCode;
/**
* 资源名称
*/
private String resourceName;
/**
* 规格型号
*/
private String specModel;
/**
* 单位
*/
private String unit;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 税率(如 13% 存储为 0.1300
*/
private BigDecimal taxRate;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* 含税单价
*/
private BigDecimal taxInclUnitPrice;
/**
* 不含税金额
*/
private BigDecimal taxExclAmount;
/**
* 含税金额
*/
private BigDecimal taxInclAmount;
}

View File

@ -11,6 +11,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.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
@ -274,5 +275,10 @@ public class XzdCsContractChangeVo implements Serializable {
*/
private List<XzdSettlementRules> zftk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -11,6 +11,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.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
@ -323,5 +324,10 @@ public class XzdCsContractInformationVo implements Serializable {
*/
private List<XzdSettlementRules> zftk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -42,6 +42,11 @@ public class XzdHtglHtbgqdVo implements Serializable {
@ExcelDictFormat(readConverterExp = "1=、承包合同信息2、承包合同变更3分包合同信息4、分包合同变更5、采购合同信息6、采购合同变更7、综合服务信息8、综合服务变更")
private Long type;
/**
* 关联主表id
*/
private Long mainDocumentId;
/**
* 附件(路径/关联ID
*/
@ -75,6 +80,11 @@ public class XzdHtglHtbgqdVo implements Serializable {
@ExcelDictFormat(readConverterExp = "带=*,必填")
private String calculateUnit;
/**
* 规格型号
*/
private String specificationModel;
/**
* 原数值
*/
@ -92,6 +102,10 @@ public class XzdHtglHtbgqdVo implements Serializable {
*/
@ExcelProperty(value = "原含税单价")
private BigDecimal originalTaxInclUnitPrice;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 变更后含税单价
@ -111,6 +125,17 @@ public class XzdHtglHtbgqdVo implements Serializable {
@ExcelProperty(value = "变更后含税金额")
private BigDecimal afterChangeTaxInclAmount;
/**
* 原不含税金额
*/
private BigDecimal noOriginalTaxInclAmount;
/**
* 变更后含不税金额
*/
private BigDecimal noAfterChangeTaxInclAmount;
/**
* 原税率
*/
@ -159,6 +184,11 @@ public class XzdHtglHtbgqdVo implements Serializable {
@ExcelProperty(value = "成本预算来源")
private String costBudgetSource;
/**
* 换算比例
*/
private String conversionRatio;
/**
* 备注
*/
@ -172,4 +202,22 @@ public class XzdHtglHtbgqdVo implements Serializable {
private Long settledPriceTotal;
/**
* 金额
*/
private BigDecimal amount;
/**
* 税额
*/
private BigDecimal taxAmount;
/**
* 成本预算余额
*/
private BigDecimal costBudgetBalance;
/**
* 合同累计签订成本预算
*/
private BigDecimal totalSignedCostBudget;
}

View File

@ -0,0 +1,112 @@
package org.dromara.xzd.comprehensive.domain.vo;
import java.math.BigDecimal;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
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_htgl_hthzsj
*
* @author Lion Li
* @date 2025-10-18
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdHtglHthzsj.class)
public class XzdHtglHthzsjVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id
*/
@ExcelProperty(value = "主表id")
private Long mainDocumentId;
/**
* 资源编码
*/
@ExcelProperty(value = "资源编码")
private String resourceCode;
/**
* 资源名称
*/
@ExcelProperty(value = "资源名称")
private String resourceName;
/**
* 规格型号
*/
@ExcelProperty(value = "规格型号")
private String specModel;
/**
* 单位
*/
@ExcelProperty(value = "单位")
private String unit;
/**
* 数量
*/
@ExcelProperty(value = "数量")
private BigDecimal quantity;
/**
* 单价
*/
@ExcelProperty(value = "单价")
private BigDecimal unitPrice;
/**
* 税率(如 13% 存储为 0.1300
*/
@ExcelProperty(value = "税率", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "如=,1=3%,存=储为,0=.1300")
private BigDecimal taxRate;
/**
* 税额
*/
@ExcelProperty(value = "税额")
private BigDecimal taxAmount;
/**
* 含税单价
*/
@ExcelProperty(value = "含税单价")
private BigDecimal taxInclUnitPrice;
/**
* 不含税金额
*/
@ExcelProperty(value = "不含税金额")
private BigDecimal taxExclAmount;
/**
* 含税金额
*/
@ExcelProperty(value = "含税金额")
private BigDecimal taxInclAmount;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.comprehensive.mapper;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.comprehensive.domain.vo.XzdHtglHthzsjVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 合同管理-合同汇总数据Mapper接口
*
* @author Lion Li
* @date 2025-10-18
*/
public interface XzdHtglHthzsjMapper extends BaseMapperPlus<XzdHtglHthzsj, XzdHtglHthzsjVo> {
}

View File

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

View File

@ -16,7 +16,9 @@ import org.dromara.system.service.ISysUserService;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
import org.dromara.xzd.domain.XzdSettlementRules;
@ -68,6 +70,9 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
/**
* 查询综合服务合同变更
@ -195,6 +200,11 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
}
xzdSettlementRulesService.saveBatch(bo.getZftk());
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return flag;
}
@ -258,6 +268,13 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
clause.setContractDetailsId(update.getId());
}
xzdSettlementRulesService.saveBatch(bo.getZftk());
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return baseMapper.updateById(update) > 0;
}
@ -310,6 +327,8 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}
@ -378,5 +397,9 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, vo.getId());
List<XzdSettlementRules> list2 = xzdSettlementRulesService.list(lambdaQueryWrapper3);
vo.setZftk(list2);
//合同变更清单
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, vo.getId()));
vo.setHtbgqds(list4);
}
}

View File

@ -17,6 +17,8 @@ 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.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.XzdContractAdvanceInfo;
import org.dromara.xzd.domain.XzdContractClause;
import org.dromara.xzd.domain.XzdDeductionItems;
@ -70,6 +72,9 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
/**
* 查询综合服务合同信息
*
@ -108,6 +113,9 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, vo.getId());
List<XzdSettlementRules> list2 = xzdSettlementRulesService.list(lambdaQueryWrapper3);
vo.setZftk(list2);
//合同变更清单
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, vo.getId()));
vo.setHtbgqds(list4);
}
/**
@ -288,6 +296,12 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
clause.setContractDetailsId(add.getId());
}
xzdSettlementRulesService.saveBatch(bo.getZftk());
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return flag;
}
@ -351,6 +365,12 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
clause.setContractDetailsId(update.getId());
}
xzdSettlementRulesService.saveBatch(bo.getZftk());
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return baseMapper.updateById(update) > 0;
}
@ -403,6 +423,7 @@ public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContra
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}

View File

@ -0,0 +1,142 @@
package org.dromara.xzd.comprehensive.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.comprehensive.domain.bo.XzdHtglHthzsjBo;
import org.dromara.xzd.comprehensive.domain.vo.XzdHtglHthzsjVo;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.comprehensive.mapper.XzdHtglHthzsjMapper;
import org.dromara.xzd.comprehensive.service.IXzdHtglHthzsjService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 合同管理-合同汇总数据Service业务层处理
*
* @author Lion Li
* @date 2025-10-18
*/
@RequiredArgsConstructor
@Service
public class XzdHtglHthzsjServiceImpl extends ServiceImpl<XzdHtglHthzsjMapper, XzdHtglHthzsj> implements IXzdHtglHthzsjService {
private final XzdHtglHthzsjMapper baseMapper;
/**
* 查询合同管理-合同汇总数据
*
* @param id 主键
* @return 合同管理-合同汇总数据
*/
@Override
public XzdHtglHthzsjVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询合同管理-合同汇总数据列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 合同管理-合同汇总数据分页列表
*/
@Override
public TableDataInfo<XzdHtglHthzsjVo> queryPageList(XzdHtglHthzsjBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdHtglHthzsj> lqw = buildQueryWrapper(bo);
Page<XzdHtglHthzsjVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的合同管理-合同汇总数据列表
*
* @param bo 查询条件
* @return 合同管理-合同汇总数据列表
*/
@Override
public List<XzdHtglHthzsjVo> queryList(XzdHtglHthzsjBo bo) {
LambdaQueryWrapper<XzdHtglHthzsj> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdHtglHthzsj> buildQueryWrapper(XzdHtglHthzsjBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdHtglHthzsj> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdHtglHthzsj::getId);
lqw.eq(bo.getMainDocumentId() != null, XzdHtglHthzsj::getMainDocumentId, bo.getMainDocumentId());
lqw.eq(StringUtils.isNotBlank(bo.getResourceCode()), XzdHtglHthzsj::getResourceCode, bo.getResourceCode());
lqw.like(StringUtils.isNotBlank(bo.getResourceName()), XzdHtglHthzsj::getResourceName, bo.getResourceName());
lqw.eq(StringUtils.isNotBlank(bo.getSpecModel()), XzdHtglHthzsj::getSpecModel, bo.getSpecModel());
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), XzdHtglHthzsj::getUnit, bo.getUnit());
lqw.eq(bo.getQuantity() != null, XzdHtglHthzsj::getQuantity, bo.getQuantity());
lqw.eq(bo.getUnitPrice() != null, XzdHtglHthzsj::getUnitPrice, bo.getUnitPrice());
lqw.eq(bo.getTaxRate() != null, XzdHtglHthzsj::getTaxRate, bo.getTaxRate());
lqw.eq(bo.getTaxAmount() != null, XzdHtglHthzsj::getTaxAmount, bo.getTaxAmount());
lqw.eq(bo.getTaxInclUnitPrice() != null, XzdHtglHthzsj::getTaxInclUnitPrice, bo.getTaxInclUnitPrice());
lqw.eq(bo.getTaxExclAmount() != null, XzdHtglHthzsj::getTaxExclAmount, bo.getTaxExclAmount());
lqw.eq(bo.getTaxInclAmount() != null, XzdHtglHthzsj::getTaxInclAmount, bo.getTaxInclAmount());
return lqw;
}
/**
* 新增合同管理-合同汇总数据
*
* @param bo 合同管理-合同汇总数据
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdHtglHthzsjBo bo) {
XzdHtglHthzsj add = MapstructUtils.convert(bo, XzdHtglHthzsj.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改合同管理-合同汇总数据
*
* @param bo 合同管理-合同汇总数据
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdHtglHthzsjBo bo) {
XzdHtglHthzsj update = MapstructUtils.convert(bo, XzdHtglHthzsj.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdHtglHthzsj 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

@ -1,5 +1,7 @@
package org.dromara.xzd.contractManagement.caigouhetongbiangeng.domain.bo;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.caigouhetongbiangeng.domain.XzdPurchaseContractAlteration;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -236,4 +238,14 @@ public class XzdPurchaseContractAlterationBo extends BaseEntity {
private List<XzdContractClause> httk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
/**
* 汇总数据
*/
private List<XzdHtglHthzsj> htghthzsjs;
}

View File

@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.caigouhetongbiangeng.domain.XzdPurchaseContractAlteration;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -309,5 +311,15 @@ public class XzdPurchaseContractAlterationVo implements Serializable {
// private XzdPurchaseContractInformationVo xzdPurchaseContractInformationVo;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
/**
* 汇总数据
*/
private List<XzdHtglHthzsj> htghthzsjs;
}

View File

@ -12,6 +12,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.comprehensive.service.IXzdHtglHthzsjService;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.vo.XzdPurchaseContractInformationVo;
import org.dromara.xzd.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService;
import org.dromara.xzd.domain.*;
@ -70,6 +74,10 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
private IXzdCorrespondentList iXzdCorrespondentList;
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
@Autowired
private IXzdHtglHthzsjService xzdHtglHthzsjService;
/**
* 查询采购合同变更
@ -119,6 +127,10 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
XzdContractDepositInfo list3 = xzdContractDepositInfoService.getOne(lambdaQueryWrapper4);
item.setHtzytkyd(list3);
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, item.getId()));
item.setHtbgqds(list4);
List<XzdHtglHthzsj> xzdHtglHthzsjs = xzdHtglHthzsjService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHthzsj>().eq(XzdHtglHthzsj::getMainDocumentId, item.getId()));
item.setHtghthzsjs(xzdHtglHthzsjs);
}
@ -242,6 +254,16 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
if (flag) {
bo.setId(add.getId());
}
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
//汇总数据
if (bo.getHtghthzsjs() != null && !bo.getHtghthzsjs().isEmpty()) {
bo.getHtghthzsjs().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHthzsjService.saveBatch(bo.getHtghthzsjs());
}
return flag;
}
@ -294,6 +316,18 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
});
iXzdContractClauseService.saveBatch(httk);
}
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
//汇总数据
xzdHtglHthzsjService.remove(new LambdaQueryWrapper<XzdHtglHthzsj>().eq(XzdHtglHthzsj::getMainDocumentId,bo.getId()));
if (bo.getHtghthzsjs() != null && !bo.getHtghthzsjs().isEmpty()) {
bo.getHtghthzsjs().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHthzsjService.saveBatch(bo.getHtghthzsjs());
}
return baseMapper.updateById(add) > 0;
}
@ -341,6 +375,9 @@ public class XzdPurchaseContractAlterationServiceImpl extends ServiceImpl<XzdPur
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
xzdHtglHthzsjService.remove(new LambdaQueryWrapper<XzdHtglHthzsj>().in(XzdHtglHthzsj::getMainDocumentId,ids));
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}

View File

@ -1,5 +1,6 @@
package org.dromara.xzd.contractManagement.fenbaohetongbiangg.domain.bo;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.contractManagement.fenbaohetongbiangg.domain.XzdSubcontractChange;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -237,6 +238,11 @@ public class XzdSubcontractChangeBo extends BaseEntity {
*/
private List<XzdContractClause> httk;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.contractManagement.fenbaohetongbiangg.domain.XzdSubcontractChange;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -345,6 +346,10 @@ public class XzdSubcontractChangeVo implements Serializable {
*/
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;

View File

@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.contractManagement.caigouhetongbiangeng.domain.vo.XzdPurchaseContractAlterationVo;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.service.IXzdSubcontractService;
@ -67,6 +69,9 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
@Autowired
private XzdSettlementRulesServiceImpl xzdSettlementRulesService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
/**
* 查询分包合同变更
@ -124,6 +129,10 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
// item.setHtzytkyd(list3);
//合同变更清单
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, item.getId()));
item.setHtbgqds(list4);
}
}
@ -243,6 +252,12 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
item.setContractDetailsId(add.getId());
});
iXzdContractClauseService.saveBatch(httk);
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
if (flag) {
bo.setId(add.getId());
}
@ -301,7 +316,12 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
});
iXzdContractClauseService.saveBatch(httk);
}
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
@ -357,7 +377,7 @@ public class XzdSubcontractChangeServiceImpl extends ServiceImpl<XzdSubcontractC
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -61,7 +61,7 @@ public class XzdSubcontractController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("fenbaohetongxinxi:subcontract:query")
// @SaCheckPermission("fenbaohetongxinxi:subcontract:query")
@GetMapping("/{id}")
public R<XzdSubcontractVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.bo;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.XzdSubcontract;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -286,5 +288,10 @@ public class XzdSubcontractBo extends BaseEntity {
*/
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.XzdSubcontract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -439,5 +441,9 @@ public class XzdSubcontractVo implements Serializable {
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.XzdPurchaseContractInformation;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.vo.XzdPurchaseContractInformationVo;
import org.dromara.xzd.domain.*;
@ -75,6 +77,9 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
@Autowired
private SysOssServiceImpl sysOssService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
private final AreaUtil areaUtil;
/**
@ -177,6 +182,10 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
XzdContractDepositInfo list3 = xzdContractDepositInfoService.getOne(lambdaQueryWrapper4);
item.setHtzytkyd(list3);
//合同变更清单
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, item.getId()));
item.setHtbgqds(list4);
}
@ -300,7 +309,11 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
bo.getHtzytkyd().setContractDetailsId(add.getId());
xzdContractDepositInfoService.save(bo.getHtzytkyd());
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
if (flag) {
bo.setId(add.getId());
@ -373,6 +386,11 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
bo.getHtzytkyd().setTableName(XzdClassEnum.PURCHASE_CONTRACT_INFORMATION.getClassName());
xzdContractDepositInfoService.saveOrUpdate(bo.getHtzytkyd());
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return baseMapper.updateById(update) > 0;
}
@ -429,6 +447,8 @@ public class XzdSubcontractServiceImpl extends ServiceImpl<XzdSubcontractMapper,
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -14,6 +14,8 @@ import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.XzdPurchaseContractInformation;
import org.dromara.xzd.domain.*;
@ -310,4 +312,14 @@ public class XzdPurchaseContractInformationBo extends BaseEntity {
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
/**
* 汇总数据
*/
private List<XzdHtglHthzsj> htghthzsjs;
}

View File

@ -15,6 +15,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.XzdPurchaseContractInformation;
import org.dromara.xzd.domain.*;
@ -465,6 +467,16 @@ public class XzdPurchaseContractInformationVo implements Serializable {
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
/**
* 汇总数据
*/
private List<XzdHtglHthzsj> htghthzsjs;
}

View File

@ -15,6 +15,10 @@ import lombok.RequiredArgsConstructor;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.domain.XzdHtglHthzsj;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.comprehensive.service.IXzdHtglHthzsjService;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.XzdPurchaseContractInformation;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.bo.XzdPurchaseContractInformationBo;
import org.dromara.xzd.contractManagement.purchaseManagement.domain.vo.XzdPurchaseContractInformationVo;
@ -75,6 +79,10 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
private XzdBusinessSealServiceImpl xzdBusinessSealService;
@Autowired
private SysOssServiceImpl sysOssService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
@Autowired
private IXzdHtglHthzsjService xzdHtglHthzsjService;
private final AreaUtil areaUtil;
@ -142,6 +150,10 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
lqw.le(bo.getEndDate() != null, XzdPurchaseContractInformation::getDocumentDate, bo.getEndDate());
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, item.getId()));
item.setHtbgqds(list4);
List<XzdHtglHthzsj> xzdHtglHthzsjs = xzdHtglHthzsjService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHthzsj>().eq(XzdHtglHthzsj::getMainDocumentId, item.getId()));
item.setHtghthzsjs(xzdHtglHthzsjs);
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdPurchaseContractInformation::getContractType, bo.getContractType());
lqw.eq(bo.getProject() != null, XzdPurchaseContractInformation::getProject, bo.getProject());
@ -237,7 +249,16 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
bo.getHtzytkyd().setContractDetailsId(add.getId());
xzdContractDepositInfoService.save(bo.getHtzytkyd());
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
//汇总数据
if (bo.getHtghthzsjs() != null && !bo.getHtghthzsjs().isEmpty()) {
bo.getHtghthzsjs().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHthzsjService.saveBatch(bo.getHtghthzsjs());
}
return flag;
}
/**
@ -352,6 +373,10 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
xzdHtglHthzsjService.remove(new LambdaQueryWrapper<XzdHtglHthzsj>().in(XzdHtglHthzsj::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}
@ -364,6 +389,18 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
for (XzdPurchaseContractInformationVo item : infos) {
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
//汇总数据
xzdHtglHthzsjService.remove(new LambdaQueryWrapper<XzdHtglHthzsj>().eq(XzdHtglHthzsj::getMainDocumentId,bo.getId()));
if (bo.getHtghthzsjs() != null && !bo.getHtghthzsjs().isEmpty()) {
bo.getHtghthzsjs().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHthzsjService.saveBatch(bo.getHtghthzsjs());
}
//项目名称
if (item.getProject() != null){

View File

@ -61,7 +61,7 @@ public class XzdContractChangeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("xzd:contractChange:query")
// @SaCheckPermission("xzd:contractChange:query")
@GetMapping("/{id}")
public R<XzdContractChangeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -1,6 +1,7 @@
package org.dromara.xzd.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -219,4 +220,9 @@ public class XzdContractChangeBo extends BaseEntity {
*/
private List<XzdBusinessChange> sealInfo;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -1,6 +1,7 @@
package org.dromara.xzd.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -266,4 +267,9 @@ public class XzdContractDetailsBo extends BaseEntity {
*/
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -290,4 +291,9 @@ public class XzdContractChangeVo implements Serializable {
*/
private List<XzdBusinessChange> sealInfo;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.domain.*;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -358,5 +359,10 @@ public class XzdContractDetailsVo implements Serializable {
*/
private XzdContractDepositInfo htzytkyd;
/**
* 合同变更清单
*/
private List<XzdHtglHtbgqd> htbgqds;
}

View File

@ -17,6 +17,8 @@ import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdBusinessSealVo;
@ -69,6 +71,8 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
private XzdBusinessChangeServiceImpl xzdBusinessChangeService;
@Autowired
private XzdBusinessSealServiceImpl xzdBusinessSealService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
/**
@ -207,6 +211,11 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
}
xzdBusinessChangeService.saveBatch(bo.getSealInfo());
}
//合同变更清单
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return true;
}
@ -332,6 +341,11 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
xzdBusinessChangeService.removeByIds(old.getSealInfo());
}
}
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
//更新文件
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
@ -403,6 +417,7 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
}
}
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().in(XzdHtglHtbgqd::getMainDocumentId,ids));
return baseMapper.deleteByIds(ids) > 0;
}
@ -487,6 +502,9 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
}
}
vo.setSealInfo(list2);
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, vo.getId()));
vo.setHtbgqds(list4);
}
}

View File

@ -20,6 +20,8 @@ import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl;
import org.dromara.xzd.comprehensive.domain.XzdHtglHtbgqd;
import org.dromara.xzd.comprehensive.service.IXzdHtglHtbgqdService;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
import org.dromara.xzd.domain.vo.*;
@ -77,6 +79,8 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
private XzdBudgetClassificationServiceImpl xzdBudgetClassificationService;
@Autowired
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
/**
* 查询承包合同信息
@ -216,6 +220,10 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
bo.getHtzytkyd().setContractDetailsId(add.getId());
bo.getHtzytkyd().setTableName(tableName);
xzdContractDepositInfoService.save(bo.getHtzytkyd());
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(add.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
return true;
}
@ -341,6 +349,12 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
xzdSettlementRulesService.removeByIds(old.getZftk());
}
}
//合同变更清单
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,bo.getId()));
if (bo.getHtbgqds() != null && !bo.getHtbgqds().isEmpty()) {
bo.getHtbgqds().forEach(item->{item.setMainDocumentId(bo.getId());});
xzdHtglHtbgqdService.saveBatch(bo.getHtbgqds());
}
if (bo.getHtzytkyd() != null){
bo.getHtzytkyd().setContractDetailsId(update.getId());
@ -424,6 +438,9 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, id);
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
xzdHtglHtbgqdService.remove(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId,vo.getId()));
}
}
@ -529,6 +546,9 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
XzdContractDepositInfo list3 = xzdContractDepositInfoService.getOne(lambdaQueryWrapper4);
info.setHtzytkyd(list3);
List<XzdHtglHtbgqd> list4 = xzdHtglHtbgqdService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdHtglHtbgqd>().eq(XzdHtglHtbgqd::getMainDocumentId, info.getId()));
info.setHtbgqds(list4);
//项目责任人
if (info.getProjectResponsiblePerson() != null) {
SysUserVo sysUserVo = sysUserService.selectUserById(info.getProjectResponsiblePerson());

View File

@ -53,7 +53,7 @@ public class XzdJsCgJungonEditBo extends BaseEntity {
* 决算单号(带*,必填)
*/
@NotBlank(message = "决算单号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
private String finalAccountCode;
private Long finalAccountCode;
/**
* 合同名称

View File

@ -117,7 +117,7 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdJsCgJungonEdit::getDocCode, bo.getDocCode());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdJsCgJungonEdit::getTitle, bo.getTitle());
lqw.eq(bo.getDocDate() != null, XzdJsCgJungonEdit::getDocDate, bo.getDocDate());
lqw.eq(StringUtils.isNotBlank(bo.getFinalAccountCode()), XzdJsCgJungonEdit::getFinalAccountCode, bo.getFinalAccountCode());
lqw.eq(bo.getFinalAccountCode() != null, XzdJsCgJungonEdit::getFinalAccountCode, bo.getFinalAccountCode());
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsCgJungonEdit::getContractName, bo.getContractName());
lqw.eq(bo.getContractCode() != null, XzdJsCgJungonEdit::getContractCode, bo.getContractCode());
lqw.eq(bo.getAdjustedFinalAmount() != null, XzdJsCgJungonEdit::getAdjustedFinalAmount, bo.getAdjustedFinalAmount());

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.xzd.comprehensive.mapper.XzdHtglHthzsjMapper">
</mapper>