综合服务对应接口和结算采购合同对应接口
This commit is contained in:
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.comprehensive.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractChangeBo;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractChangeService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 综合服务合同变更
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/comprehensive/csContractChange")
|
||||
public class XzdCsContractChangeController extends BaseController {
|
||||
|
||||
private final IXzdCsContractChangeService xzdCsContractChangeService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同变更列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdCsContractChangeVo> list(XzdCsContractChangeBo bo, PageQuery pageQuery) {
|
||||
return xzdCsContractChangeService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出综合服务合同变更列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:export")
|
||||
@Log(title = "综合服务合同变更", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdCsContractChangeBo bo, HttpServletResponse response) {
|
||||
List<XzdCsContractChangeVo> list = xzdCsContractChangeService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "综合服务合同变更", XzdCsContractChangeVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取综合服务合同变更详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdCsContractChangeVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdCsContractChangeService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同变更
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:add")
|
||||
@Log(title = "综合服务合同变更", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdCsContractChangeBo bo) {
|
||||
return toAjax(xzdCsContractChangeService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同变更
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:edit")
|
||||
@Log(title = "综合服务合同变更", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdCsContractChangeBo bo) {
|
||||
return toAjax(xzdCsContractChangeService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除综合服务合同变更
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractChange:remove")
|
||||
@Log(title = "综合服务合同变更", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdCsContractChangeService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,114 @@
|
||||
package org.dromara.xzd.comprehensive.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractInformationBo;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractInformationService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 综合服务合同信息
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/comprehensive/csContractInformation")
|
||||
public class XzdCsContractInformationController extends BaseController {
|
||||
|
||||
private final IXzdCsContractInformationService xzdCsContractInformationService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同信息列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdCsContractInformationVo> list(XzdCsContractInformationBo bo, PageQuery pageQuery) {
|
||||
return xzdCsContractInformationService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询综合服务合同信息列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:getList")
|
||||
@GetMapping("/getList")
|
||||
public TableDataInfo<XzdCsContractInformationVo> getList(XzdCsContractInformationBo bo, PageQuery pageQuery) {
|
||||
return xzdCsContractInformationService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出综合服务合同信息列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:export")
|
||||
@Log(title = "综合服务合同信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdCsContractInformationBo bo, HttpServletResponse response) {
|
||||
List<XzdCsContractInformationVo> list = xzdCsContractInformationService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "综合服务合同信息", XzdCsContractInformationVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取综合服务合同信息详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdCsContractInformationVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdCsContractInformationService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同信息
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:add")
|
||||
@Log(title = "综合服务合同信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdCsContractInformationBo bo) {
|
||||
return toAjax(xzdCsContractInformationService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同信息
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:edit")
|
||||
@Log(title = "综合服务合同信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdCsContractInformationBo bo) {
|
||||
return toAjax(xzdCsContractInformationService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除综合服务合同信息
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractInformation:remove")
|
||||
@Log(title = "综合服务合同信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdCsContractInformationService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.comprehensive.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractSuspendBo;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 综合服务合同终止
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/comprehensive/csContractSuspend")
|
||||
public class XzdCsContractSuspendController extends BaseController {
|
||||
|
||||
private final IXzdCsContractSuspendService xzdCsContractSuspendService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同终止列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdCsContractSuspendVo> list(XzdCsContractSuspendBo bo, PageQuery pageQuery) {
|
||||
return xzdCsContractSuspendService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出综合服务合同终止列表
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:export")
|
||||
@Log(title = "综合服务合同终止", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdCsContractSuspendBo bo, HttpServletResponse response) {
|
||||
List<XzdCsContractSuspendVo> list = xzdCsContractSuspendService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "综合服务合同终止", XzdCsContractSuspendVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取综合服务合同终止详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdCsContractSuspendVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdCsContractSuspendService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同终止
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:add")
|
||||
@Log(title = "综合服务合同终止", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdCsContractSuspendBo bo) {
|
||||
return toAjax(xzdCsContractSuspendService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同终止
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:edit")
|
||||
@Log(title = "综合服务合同终止", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdCsContractSuspendBo bo) {
|
||||
return toAjax(xzdCsContractSuspendService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除综合服务合同终止
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("comprehensive:csContractSuspend:remove")
|
||||
@Log(title = "综合服务合同终止", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdCsContractSuspendService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,206 @@
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 综合服务合同变更对象 xzd_cs_contract_change
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_cs_contract_change")
|
||||
public class XzdCsContractChange extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 变更类型
|
||||
*/
|
||||
private Long changeType;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 组织
|
||||
*/
|
||||
private Long organization;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 原合同造价
|
||||
*/
|
||||
private BigDecimal originalContractAmount;
|
||||
|
||||
/**
|
||||
* 变更价税合计
|
||||
*/
|
||||
private BigDecimal changeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 变更后价税合计
|
||||
*/
|
||||
private BigDecimal afterChangeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 变更后项目经理
|
||||
*/
|
||||
private Long afterChangeProjectManager;
|
||||
|
||||
/**
|
||||
* 变更后项目责任人
|
||||
*/
|
||||
private Long afterChangeProjectLeader;
|
||||
|
||||
/**
|
||||
* 变更后现场经理
|
||||
*/
|
||||
private Long afterChangeSiteManager;
|
||||
|
||||
/**
|
||||
* 变更后合同备注
|
||||
*/
|
||||
private String afterChangeContractRemark;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额支付比例(%)
|
||||
*/
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 实时刷新(0:否,1:是)
|
||||
*/
|
||||
private Long realTimeUpdate;
|
||||
|
||||
/**
|
||||
* 合同累计变更金额
|
||||
*/
|
||||
private BigDecimal contractCumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,241 @@
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 综合服务合同信息对象 xzd_cs_contract_information
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_cs_contract_information")
|
||||
public class XzdCsContractInformation extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同类型(如:租车合同)
|
||||
*/
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 项目ID(关联项目表)
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
private LocalDate signDate;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 含税合同金额
|
||||
*/
|
||||
private BigDecimal taxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 合同状态(如:新增、生效)
|
||||
*/
|
||||
private String contractStatus;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 部门ID(关联部门表)
|
||||
*/
|
||||
private Long departmentId;
|
||||
|
||||
/**
|
||||
* 归档日期
|
||||
*/
|
||||
private LocalDate archivalDate;
|
||||
|
||||
/**
|
||||
* 是否研发类(0:否,1:是)
|
||||
*/
|
||||
private Long isRD;
|
||||
|
||||
/**
|
||||
* 开票单位
|
||||
*/
|
||||
private Long invoiceIssuer;
|
||||
|
||||
/**
|
||||
* 收票单位
|
||||
*/
|
||||
private Long invoiceReceiver;
|
||||
|
||||
/**
|
||||
* 有效期开始日期
|
||||
*/
|
||||
private LocalDate validStartDate;
|
||||
|
||||
/**
|
||||
* 有效期结束日期
|
||||
*/
|
||||
private LocalDate validEndDate;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 大写合同价税合计
|
||||
*/
|
||||
private String taxIncludedAmountUpper;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 签约组织
|
||||
*/
|
||||
private Long signOrganization;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目责任人
|
||||
*/
|
||||
private Long projectOwner;
|
||||
|
||||
/**
|
||||
* WBS编码
|
||||
*/
|
||||
private Long wbs;
|
||||
|
||||
/**
|
||||
* 备案状态(如:未备案、已备案)
|
||||
*/
|
||||
private String filingStatus;
|
||||
|
||||
/**
|
||||
* 备案时间
|
||||
*/
|
||||
private LocalDate filingTime;
|
||||
|
||||
/**
|
||||
* 是否需备案(0:否,1:是)
|
||||
*/
|
||||
private Long needFiling;
|
||||
|
||||
/**
|
||||
* 预算分类
|
||||
*/
|
||||
private Long budgetCategory;
|
||||
|
||||
/**
|
||||
* 是否固定单价合同(0:否,1:是)
|
||||
*/
|
||||
private Long isFixedUnitPrice;
|
||||
|
||||
/**
|
||||
* 是否总价包干合同(0:否,1:是)
|
||||
*/
|
||||
private Long isLumpSum;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,122 @@
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 综合服务合同终止对象 xzd_cs_contract_suspend
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_cs_contract_suspend")
|
||||
public class XzdCsContractSuspend extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 采购合同信息ID(合同编码)
|
||||
*/
|
||||
private Long contractInformationId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String receiptsCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 终止日期
|
||||
*/
|
||||
private LocalDate terminationDate;
|
||||
|
||||
/**
|
||||
* 工程项目
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long artyBUnit;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyAUnit;
|
||||
|
||||
/**
|
||||
* 终止原因
|
||||
*/
|
||||
private String terminationCause;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal cumulativeSettlementAmount;
|
||||
|
||||
/**
|
||||
* 累计付款金额
|
||||
*/
|
||||
private BigDecimal cumulativePaymentAmount;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,229 @@
|
||||
package org.dromara.xzd.comprehensive.domain.bo;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
|
||||
/**
|
||||
* 综合服务合同变更业务对象 xzd_cs_contract_change
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdCsContractChange.class, reverseConvertGenerate = false)
|
||||
public class XzdCsContractChangeBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@NotBlank(message = "单据编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 变更类型
|
||||
*/
|
||||
private Long changeType;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 组织
|
||||
*/
|
||||
private Long organization;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 原合同造价
|
||||
*/
|
||||
private BigDecimal originalContractAmount;
|
||||
|
||||
/**
|
||||
* 变更价税合计
|
||||
*/
|
||||
private BigDecimal changeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 变更后价税合计
|
||||
*/
|
||||
private BigDecimal afterChangeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 变更后项目经理
|
||||
*/
|
||||
private Long afterChangeProjectManager;
|
||||
|
||||
/**
|
||||
* 变更后项目责任人
|
||||
*/
|
||||
private Long afterChangeProjectLeader;
|
||||
|
||||
/**
|
||||
* 变更后现场经理
|
||||
*/
|
||||
private Long afterChangeSiteManager;
|
||||
|
||||
/**
|
||||
* 变更后合同备注
|
||||
*/
|
||||
private String afterChangeContractRemark;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额支付比例(%)
|
||||
*/
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 实时刷新(0:否,1:是)
|
||||
*/
|
||||
private Long realTimeUpdate;
|
||||
|
||||
/**
|
||||
* 合同累计变更金额
|
||||
*/
|
||||
private BigDecimal contractCumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
/**
|
||||
* 扣款与奖励项
|
||||
*/
|
||||
private List<XzdDeductionItems> kkyjlx;
|
||||
|
||||
/**
|
||||
* 合同条款
|
||||
*/
|
||||
private List<XzdContractClause> httk;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private List<XzdSettlementRules> zftk;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,272 @@
|
||||
package org.dromara.xzd.comprehensive.domain.bo;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
|
||||
/**
|
||||
* 综合服务合同信息业务对象 xzd_cs_contract_information
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdCsContractInformation.class, reverseConvertGenerate = false)
|
||||
public class XzdCsContractInformationBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@NotBlank(message = "合同编码不能为空", groups = { EditGroup.class })
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@NotBlank(message = "合同名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同类型(如:租车合同)
|
||||
*/
|
||||
@NotBlank(message = "合同类型(如:租车合同)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 项目ID(关联项目表)
|
||||
*/
|
||||
@NotNull(message = "项目ID(关联项目表)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
private LocalDate signDate;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@NotNull(message = "甲方单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 含税合同金额
|
||||
*/
|
||||
private BigDecimal taxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 合同状态(如:新增、生效)
|
||||
*/
|
||||
private String contractStatus;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@NotNull(message = "乙方单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 部门ID(关联部门表)
|
||||
*/
|
||||
private Long departmentId;
|
||||
|
||||
/**
|
||||
* 归档日期
|
||||
*/
|
||||
private LocalDate archivalDate;
|
||||
|
||||
/**
|
||||
* 是否研发类(0:否,1:是)
|
||||
*/
|
||||
@NotNull(message = "是否研发类(0:否,1:是)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long isRD;
|
||||
|
||||
/**
|
||||
* 开票单位
|
||||
*/
|
||||
@NotNull(message = "开票单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long invoiceIssuer;
|
||||
|
||||
/**
|
||||
* 收票单位
|
||||
*/
|
||||
@NotNull(message = "收票单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long invoiceReceiver;
|
||||
|
||||
/**
|
||||
* 有效期开始日期
|
||||
*/
|
||||
private LocalDate validStartDate;
|
||||
|
||||
/**
|
||||
* 有效期结束日期
|
||||
*/
|
||||
private LocalDate validEndDate;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 大写合同价税合计
|
||||
*/
|
||||
private String taxIncludedAmountUpper;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 签约组织
|
||||
*/
|
||||
@NotNull(message = "签约组织不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long signOrganization;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目责任人
|
||||
*/
|
||||
private Long projectOwner;
|
||||
|
||||
/**
|
||||
* WBS编码
|
||||
*/
|
||||
private Long wbs;
|
||||
|
||||
/**
|
||||
* 备案状态(如:未备案、已备案)
|
||||
*/
|
||||
private String filingStatus;
|
||||
|
||||
/**
|
||||
* 备案时间
|
||||
*/
|
||||
private LocalDate filingTime;
|
||||
|
||||
/**
|
||||
* 是否需备案(0:否,1:是)
|
||||
*/
|
||||
private Long needFiling;
|
||||
|
||||
/**
|
||||
* 预算分类
|
||||
*/
|
||||
@NotNull(message = "预算分类不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long budgetCategory;
|
||||
|
||||
/**
|
||||
* 是否固定单价合同(0:否,1:是)
|
||||
*/
|
||||
private Long isFixedUnitPrice;
|
||||
|
||||
/**
|
||||
* 是否总价包干合同(0:否,1:是)
|
||||
*/
|
||||
private Long isLumpSum;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 扣款与奖励项
|
||||
*/
|
||||
private List<XzdDeductionItems> kkyjlx;
|
||||
|
||||
/**
|
||||
* 合同条款
|
||||
*/
|
||||
private List<XzdContractClause> httk;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private List<XzdSettlementRules> zftk;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,131 @@
|
||||
package org.dromara.xzd.comprehensive.domain.bo;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
|
||||
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.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 综合服务合同终止业务对象 xzd_cs_contract_suspend
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdCsContractSuspend.class, reverseConvertGenerate = false)
|
||||
public class XzdCsContractSuspendBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 采购合同信息ID(合同编码)
|
||||
*/
|
||||
@NotNull(message = "采购合同信息ID(合同编码)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractInformationId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@NotBlank(message = "单据编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String receiptsCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@NotBlank(message = "合同名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 终止日期
|
||||
*/
|
||||
@NotNull(message = "终止日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate terminationDate;
|
||||
|
||||
/**
|
||||
* 工程项目
|
||||
*/
|
||||
@NotNull(message = "工程项目不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@NotNull(message = "乙方单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long artyBUnit;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@NotNull(message = "甲方单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long partyAUnit;
|
||||
|
||||
/**
|
||||
* 终止原因
|
||||
*/
|
||||
// @NotBlank(message = "终止原因不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String terminationCause;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal cumulativeSettlementAmount;
|
||||
|
||||
/**
|
||||
* 累计付款金额
|
||||
*/
|
||||
private BigDecimal cumulativePaymentAmount;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,275 @@
|
||||
package org.dromara.xzd.comprehensive.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 综合服务合同变更视图对象 xzd_cs_contract_change
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdCsContractChange.class)
|
||||
public class XzdCsContractChangeVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码")
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ExcelProperty(value = "标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期")
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(关联合同表)
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联合同表")
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
@ExcelProperty(value = "合同类型")
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 变更类型
|
||||
*/
|
||||
@ExcelProperty(value = "变更类型")
|
||||
private Long changeType;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ExcelProperty(value = "项目")
|
||||
private Long project;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
@ExcelProperty(value = "经营模式")
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 组织
|
||||
*/
|
||||
@ExcelProperty(value = "组织")
|
||||
private Long organization;
|
||||
private String organizationName;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@ExcelProperty(value = "甲方单位")
|
||||
private Long partyA;
|
||||
private String partyAName;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@ExcelProperty(value = "乙方单位")
|
||||
private Long partyB;
|
||||
private String partyBName;
|
||||
|
||||
/**
|
||||
* 原合同造价
|
||||
*/
|
||||
@ExcelProperty(value = "原合同造价")
|
||||
private BigDecimal originalContractAmount;
|
||||
|
||||
/**
|
||||
* 变更价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "变更价税合计")
|
||||
private BigDecimal changeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 变更后价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "变更后价税合计")
|
||||
private BigDecimal afterChangeTaxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计变更金额")
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
@ExcelProperty(value = "警示")
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
@ExcelProperty(value = "支付条款")
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否用印", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 变更后项目经理
|
||||
*/
|
||||
@ExcelProperty(value = "变更后项目经理")
|
||||
private Long afterChangeProjectManager;
|
||||
|
||||
/**
|
||||
* 变更后项目责任人
|
||||
*/
|
||||
@ExcelProperty(value = "变更后项目责任人")
|
||||
private Long afterChangeProjectLeader;
|
||||
|
||||
/**
|
||||
* 变更后现场经理
|
||||
*/
|
||||
@ExcelProperty(value = "变更后现场经理")
|
||||
private Long afterChangeSiteManager;
|
||||
|
||||
/**
|
||||
* 变更后合同备注
|
||||
*/
|
||||
@ExcelProperty(value = "变更后合同备注")
|
||||
private String afterChangeContractRemark;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
@ExcelProperty(value = "项目大类")
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "付款额不能超合同额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额支付比例(%)
|
||||
*/
|
||||
@ExcelProperty(value = "付款额不超合同额支付比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "%=")
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "预结算/结算不能超合同额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
@ExcelProperty(value = "预结算/结算不超合同额比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "%=")
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 实时刷新(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "实时刷新", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long realTimeUpdate;
|
||||
|
||||
/**
|
||||
* 合同累计变更金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同累计变更金额")
|
||||
private BigDecimal contractCumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
@ExcelProperty(value = "单据引用")
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
@ExcelProperty(value = "文件id")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 扣款与奖励项
|
||||
*/
|
||||
private List<XzdDeductionItems> kkyjlx;
|
||||
|
||||
/**
|
||||
* 合同条款
|
||||
*/
|
||||
private List<XzdContractClause> httk;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private List<XzdSettlementRules> zftk;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,327 @@
|
||||
package org.dromara.xzd.comprehensive.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 综合服务合同信息视图对象 xzd_cs_contract_information
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdCsContractInformation.class)
|
||||
public class XzdCsContractInformationVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期")
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同类型(如:租车合同)
|
||||
*/
|
||||
@ExcelProperty(value = "合同类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:租车合同")
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 项目ID(关联项目表)
|
||||
*/
|
||||
@ExcelProperty(value = "项目ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联项目表")
|
||||
private Long projectId;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
@ExcelProperty(value = "经营模式")
|
||||
private String businessMode;
|
||||
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
@ExcelProperty(value = "签订日期")
|
||||
private LocalDate signDate;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@ExcelProperty(value = "甲方单位")
|
||||
private Long partyA;
|
||||
private String partyAName;
|
||||
|
||||
/**
|
||||
* 含税合同金额
|
||||
*/
|
||||
@ExcelProperty(value = "含税合同金额")
|
||||
private BigDecimal taxIncludedAmount;
|
||||
|
||||
/**
|
||||
* 合同状态(如:新增、生效)
|
||||
*/
|
||||
@ExcelProperty(value = "合同状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:新增、生效")
|
||||
private String contractStatus;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@ExcelProperty(value = "乙方单位")
|
||||
private Long partyB;
|
||||
private String partyBName;
|
||||
|
||||
/**
|
||||
* 累计变更金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计变更金额")
|
||||
private BigDecimal cumulativeChangeAmount;
|
||||
|
||||
/**
|
||||
* 部门ID(关联部门表)
|
||||
*/
|
||||
@ExcelProperty(value = "部门ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联部门表")
|
||||
private Long departmentId;
|
||||
private String departmentName;
|
||||
|
||||
/**
|
||||
* 归档日期
|
||||
*/
|
||||
@ExcelProperty(value = "归档日期")
|
||||
private LocalDate archivalDate;
|
||||
|
||||
/**
|
||||
* 是否研发类(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否研发类", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long isRD;
|
||||
|
||||
/**
|
||||
* 开票单位
|
||||
*/
|
||||
@ExcelProperty(value = "开票单位")
|
||||
private Long invoiceIssuer;
|
||||
private String invoiceIssuerName;
|
||||
|
||||
/**
|
||||
* 收票单位
|
||||
*/
|
||||
@ExcelProperty(value = "收票单位")
|
||||
private Long invoiceReceiver;
|
||||
private String invoiceReceiverName;
|
||||
|
||||
/**
|
||||
* 有效期开始日期
|
||||
*/
|
||||
@ExcelProperty(value = "有效期开始日期")
|
||||
private LocalDate validStartDate;
|
||||
|
||||
/**
|
||||
* 有效期结束日期
|
||||
*/
|
||||
@ExcelProperty(value = "有效期结束日期")
|
||||
private LocalDate validEndDate;
|
||||
|
||||
/**
|
||||
* 是否用印(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否用印", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long isSealed;
|
||||
|
||||
/**
|
||||
* 大写合同价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "大写合同价税合计")
|
||||
private String taxIncludedAmountUpper;
|
||||
|
||||
/**
|
||||
* 警示
|
||||
*/
|
||||
@ExcelProperty(value = "警示")
|
||||
private String warning;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
@ExcelProperty(value = "支付条款")
|
||||
private String paymentTerms;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 签约组织
|
||||
*/
|
||||
@ExcelProperty(value = "签约组织")
|
||||
private Long signOrganization;
|
||||
private String signOrganizationName;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
@ExcelProperty(value = "项目大类")
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目责任人
|
||||
*/
|
||||
@ExcelProperty(value = "项目责任人")
|
||||
private Long projectOwner;
|
||||
|
||||
/**
|
||||
* WBS编码
|
||||
*/
|
||||
@ExcelProperty(value = "WBS编码")
|
||||
private Long wbs;
|
||||
|
||||
/**
|
||||
* 备案状态(如:未备案、已备案)
|
||||
*/
|
||||
@ExcelProperty(value = "备案状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:未备案、已备案")
|
||||
private String filingStatus;
|
||||
|
||||
/**
|
||||
* 备案时间
|
||||
*/
|
||||
@ExcelProperty(value = "备案时间")
|
||||
private LocalDate filingTime;
|
||||
|
||||
/**
|
||||
* 是否需备案(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否需备案", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long needFiling;
|
||||
|
||||
/**
|
||||
* 预算分类
|
||||
*/
|
||||
@ExcelProperty(value = "预算分类")
|
||||
private Long budgetCategory;
|
||||
|
||||
/**
|
||||
* 是否固定单价合同(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否固定单价合同", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long isFixedUnitPrice;
|
||||
|
||||
/**
|
||||
* 是否总价包干合同(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否总价包干合同", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long isLumpSum;
|
||||
|
||||
/**
|
||||
* 付款额不能超合同额(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "付款额不能超合同额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long paymentNotExceedContract;
|
||||
|
||||
/**
|
||||
* 付款额不超合同额比例(%)
|
||||
*/
|
||||
@ExcelProperty(value = "付款额不超合同额比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "%=")
|
||||
private BigDecimal paymentNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 预结算/结算不能超合同额(0:否,1:是)
|
||||
*/
|
||||
@ExcelProperty(value = "预结算/结算不能超合同额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:否,1:是")
|
||||
private Long budgetNotExceedContract;
|
||||
|
||||
/**
|
||||
* 预结算/结算不超合同额比例(%)
|
||||
*/
|
||||
@ExcelProperty(value = "预结算/结算不超合同额比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "%=")
|
||||
private BigDecimal budgetNotExceedRatio;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
@ExcelProperty(value = "单据引用")
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
@ExcelProperty(value = "文件id")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 扣款与奖励项
|
||||
*/
|
||||
private List<XzdDeductionItems> kkyjlx;
|
||||
|
||||
/**
|
||||
* 合同条款
|
||||
*/
|
||||
private List<XzdContractClause> httk;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private List<XzdSettlementRules> zftk;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,148 @@
|
||||
package org.dromara.xzd.comprehensive.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
|
||||
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_cs_contract_suspend
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdCsContractSuspend.class)
|
||||
public class XzdCsContractSuspendVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 采购合同信息ID(合同编码)
|
||||
*/
|
||||
@ExcelProperty(value = "采购合同信息ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "合=同编码")
|
||||
private Long contractInformationId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码")
|
||||
private String receiptsCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ExcelProperty(value = "标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期")
|
||||
private LocalDate documentDate;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 终止日期
|
||||
*/
|
||||
@ExcelProperty(value = "终止日期")
|
||||
private LocalDate terminationDate;
|
||||
|
||||
/**
|
||||
* 工程项目
|
||||
*/
|
||||
@ExcelProperty(value = "工程项目")
|
||||
private Long project;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@ExcelProperty(value = "乙方单位")
|
||||
private Long artyBUnit;
|
||||
private String artyBUnitName;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@ExcelProperty(value = "甲方单位")
|
||||
private Long partyAUnit;
|
||||
private String partyAUnitNamme;
|
||||
|
||||
/**
|
||||
* 终止原因
|
||||
*/
|
||||
@ExcelProperty(value = "终止原因")
|
||||
private String terminationCause;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
@ExcelProperty(value = "项目大类")
|
||||
private String projectCategory;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额")
|
||||
private BigDecimal cumulativeSettlementAmount;
|
||||
|
||||
/**
|
||||
* 累计付款金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计付款金额")
|
||||
private BigDecimal cumulativePaymentAmount;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
@ExcelProperty(value = "审核状态")
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.comprehensive.mapper;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 综合服务合同变更Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
public interface XzdCsContractChangeMapper extends BaseMapperPlus<XzdCsContractChange, XzdCsContractChangeVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.comprehensive.mapper;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 综合服务合同信息Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
public interface XzdCsContractInformationMapper extends BaseMapperPlus<XzdCsContractInformation, XzdCsContractInformationVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.comprehensive.mapper;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 综合服务合同终止Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
public interface XzdCsContractSuspendMapper extends BaseMapperPlus<XzdCsContractSuspend, XzdCsContractSuspendVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.comprehensive.service;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractChangeBo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
|
||||
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-13
|
||||
*/
|
||||
public interface IXzdCsContractChangeService extends IService<XzdCsContractChange>{
|
||||
|
||||
/**
|
||||
* 查询综合服务合同变更
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同变更
|
||||
*/
|
||||
XzdCsContractChangeVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同变更列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同变更分页列表
|
||||
*/
|
||||
TableDataInfo<XzdCsContractChangeVo> queryPageList(XzdCsContractChangeBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同变更列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同变更列表
|
||||
*/
|
||||
List<XzdCsContractChangeVo> queryList(XzdCsContractChangeBo bo);
|
||||
|
||||
/**
|
||||
* 新增综合服务合同变更
|
||||
*
|
||||
* @param bo 综合服务合同变更
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdCsContractChangeBo bo);
|
||||
|
||||
/**
|
||||
* 修改综合服务合同变更
|
||||
*
|
||||
* @param bo 综合服务合同变更
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdCsContractChangeBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同变更信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.comprehensive.service;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractInformationBo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
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-13
|
||||
*/
|
||||
public interface IXzdCsContractInformationService extends IService<XzdCsContractInformation>{
|
||||
|
||||
/**
|
||||
* 查询综合服务合同信息
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同信息
|
||||
*/
|
||||
XzdCsContractInformationVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同信息分页列表
|
||||
*/
|
||||
TableDataInfo<XzdCsContractInformationVo> queryPageList(XzdCsContractInformationBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同信息列表
|
||||
*/
|
||||
List<XzdCsContractInformationVo> queryList(XzdCsContractInformationBo bo);
|
||||
|
||||
/**
|
||||
* 新增综合服务合同信息
|
||||
*
|
||||
* @param bo 综合服务合同信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdCsContractInformationBo bo);
|
||||
|
||||
/**
|
||||
* 修改综合服务合同信息
|
||||
*
|
||||
* @param bo 综合服务合同信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdCsContractInformationBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.comprehensive.service;
|
||||
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractSuspendBo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
|
||||
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-13
|
||||
*/
|
||||
public interface IXzdCsContractSuspendService extends IService<XzdCsContractSuspend>{
|
||||
|
||||
/**
|
||||
* 查询综合服务合同终止
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同终止
|
||||
*/
|
||||
XzdCsContractSuspendVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同终止列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同终止分页列表
|
||||
*/
|
||||
TableDataInfo<XzdCsContractSuspendVo> queryPageList(XzdCsContractSuspendBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同终止列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同终止列表
|
||||
*/
|
||||
List<XzdCsContractSuspendVo> queryList(XzdCsContractSuspendBo bo);
|
||||
|
||||
/**
|
||||
* 新增综合服务合同终止
|
||||
*
|
||||
* @param bo 综合服务合同终止
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdCsContractSuspendBo bo);
|
||||
|
||||
/**
|
||||
* 修改综合服务合同终止
|
||||
*
|
||||
* @param bo 综合服务合同终止
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdCsContractSuspendBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同终止信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,371 @@
|
||||
package org.dromara.xzd.comprehensive.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
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.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.XzdCsContractInformation;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
|
||||
import org.dromara.xzd.enums.XzdClassEnum;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractChangeBo;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractChange;
|
||||
import org.dromara.xzd.comprehensive.mapper.XzdCsContractChangeMapper;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractChangeService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 综合服务合同变更Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractChangeMapper, XzdCsContractChange> implements IXzdCsContractChangeService {
|
||||
|
||||
private final XzdCsContractChangeMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private XzdDeductionItemsServiceImpl xzdDeductionItemsService;
|
||||
@Autowired
|
||||
private XzdContractClauseServiceImpl xzdContractClauseService;
|
||||
@Autowired
|
||||
private XzdSettlementRulesServiceImpl xzdSettlementRulesService;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询综合服务合同变更
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同变更
|
||||
*/
|
||||
@Override
|
||||
public XzdCsContractChangeVo queryById(Long id){
|
||||
XzdCsContractChangeVo xzdCsContractChangeVo = baseMapper.selectVoById(id);
|
||||
if (xzdCsContractChangeVo!=null){
|
||||
getName(xzdCsContractChangeVo);
|
||||
getHttk(xzdCsContractChangeVo);
|
||||
}
|
||||
return xzdCsContractChangeVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同变更列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同变更分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdCsContractChangeVo> queryPageList(XzdCsContractChangeBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdCsContractChange> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdCsContractChangeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(this::getName);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同变更列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同变更列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdCsContractChangeVo> queryList(XzdCsContractChangeBo bo) {
|
||||
LambdaQueryWrapper<XzdCsContractChange> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdCsContractChange> buildQueryWrapper(XzdCsContractChangeBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdCsContractChange> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdCsContractChange::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdCsContractChange::getDocCode, bo.getDocCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdCsContractChange::getTitle, bo.getTitle());
|
||||
lqw.eq(bo.getDocDate() != null, XzdCsContractChange::getDocDate, bo.getDocDate());
|
||||
lqw.eq(bo.getContractCode() != null, XzdCsContractChange::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdCsContractChange::getContractName, bo.getContractName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdCsContractChange::getContractType, bo.getContractType());
|
||||
lqw.eq(bo.getChangeType() != null, XzdCsContractChange::getChangeType, bo.getChangeType());
|
||||
lqw.eq(bo.getProject() != null, XzdCsContractChange::getProject, bo.getProject());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBusinessMode()), XzdCsContractChange::getBusinessMode, bo.getBusinessMode());
|
||||
lqw.eq(bo.getOrganization() !=null, XzdCsContractChange::getOrganization, bo.getOrganization());
|
||||
lqw.eq(bo.getPartyA() != null, XzdCsContractChange::getPartyA, bo.getPartyA());
|
||||
lqw.eq(bo.getPartyB() != null, XzdCsContractChange::getPartyB, bo.getPartyB());
|
||||
lqw.eq(bo.getOriginalContractAmount() != null, XzdCsContractChange::getOriginalContractAmount, bo.getOriginalContractAmount());
|
||||
lqw.eq(bo.getChangeTaxIncludedAmount() != null, XzdCsContractChange::getChangeTaxIncludedAmount, bo.getChangeTaxIncludedAmount());
|
||||
lqw.eq(bo.getAfterChangeTaxIncludedAmount() != null, XzdCsContractChange::getAfterChangeTaxIncludedAmount, bo.getAfterChangeTaxIncludedAmount());
|
||||
lqw.eq(bo.getCumulativeChangeAmount() != null, XzdCsContractChange::getCumulativeChangeAmount, bo.getCumulativeChangeAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getWarning()), XzdCsContractChange::getWarning, bo.getWarning());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPaymentTerms()), XzdCsContractChange::getPaymentTerms, bo.getPaymentTerms());
|
||||
lqw.eq(bo.getIsSealed() != null, XzdCsContractChange::getIsSealed, bo.getIsSealed());
|
||||
lqw.eq(bo.getAfterChangeProjectManager() != null, XzdCsContractChange::getAfterChangeProjectManager, bo.getAfterChangeProjectManager());
|
||||
lqw.eq(bo.getAfterChangeProjectLeader() != null, XzdCsContractChange::getAfterChangeProjectLeader, bo.getAfterChangeProjectLeader());
|
||||
lqw.eq(bo.getAfterChangeSiteManager() != null, XzdCsContractChange::getAfterChangeSiteManager, bo.getAfterChangeSiteManager());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAfterChangeContractRemark()), XzdCsContractChange::getAfterChangeContractRemark, bo.getAfterChangeContractRemark());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectCategory()), XzdCsContractChange::getProjectCategory, bo.getProjectCategory());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), XzdCsContractChange::getProjectType, bo.getProjectType());
|
||||
lqw.eq(bo.getPaymentNotExceedContract() != null, XzdCsContractChange::getPaymentNotExceedContract, bo.getPaymentNotExceedContract());
|
||||
lqw.eq(bo.getPaymentNotExceedRatio() != null, XzdCsContractChange::getPaymentNotExceedRatio, bo.getPaymentNotExceedRatio());
|
||||
lqw.eq(bo.getBudgetNotExceedContract() != null, XzdCsContractChange::getBudgetNotExceedContract, bo.getBudgetNotExceedContract());
|
||||
lqw.eq(bo.getBudgetNotExceedRatio() != null, XzdCsContractChange::getBudgetNotExceedRatio, bo.getBudgetNotExceedRatio());
|
||||
lqw.eq(bo.getRealTimeUpdate() != null, XzdCsContractChange::getRealTimeUpdate, bo.getRealTimeUpdate());
|
||||
lqw.eq(bo.getContractCumulativeChangeAmount() != null, XzdCsContractChange::getContractCumulativeChangeAmount, bo.getContractCumulativeChangeAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdCsContractChange::getDocumentReference, bo.getDocumentReference());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdCsContractChange::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同变更
|
||||
*
|
||||
* @param bo 综合服务合同变更
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(XzdCsContractChangeBo bo) {
|
||||
XzdCsContractChange add = MapstructUtils.convert(bo, XzdCsContractChange.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
addzixiang(bo,add);
|
||||
String tableName = XzdClassEnum.CS_CONTRACT_CHANGE.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdDeductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
if (bo.getHttk() == null || bo.getHttk().isEmpty()) {
|
||||
throw new ServiceException("合同条款不能为空");
|
||||
}
|
||||
//合同条款-合同条款
|
||||
for (XzdContractClause clause : bo.getHttk()) {
|
||||
clause.setTableName(tableName);
|
||||
clause.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdContractClauseService.saveBatch(bo.getHttk());
|
||||
if (bo.getZftk() == null || bo.getZftk().isEmpty()) {
|
||||
throw new ServiceException("支付条款不能为空");
|
||||
}
|
||||
//支付条款
|
||||
for (XzdSettlementRules clause : bo.getZftk()) {
|
||||
clause.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdSettlementRulesService.saveBatch(bo.getZftk());
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同变更
|
||||
*
|
||||
* @param bo 综合服务合同变更
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(XzdCsContractChangeBo bo) {
|
||||
XzdCsContractChange update = MapstructUtils.convert(bo, XzdCsContractChange.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdCsContractChange old = baseMapper.selectById(update.getId());
|
||||
if (old == null){
|
||||
throw new ServiceException("找不到要修改数据!!!");
|
||||
}
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, old.getId());
|
||||
xzdContractClauseService.remove(lambdaQueryWrapper2);
|
||||
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, old.getId());
|
||||
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
|
||||
|
||||
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper4 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper4.eq(XzdDeductionItems::getContractDetailsId, old.getId());
|
||||
xzdDeductionItemsService.remove(lambdaQueryWrapper4);
|
||||
|
||||
addzixiang(bo, update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
private void addzixiang(XzdCsContractChangeBo bo, XzdCsContractChange update) {
|
||||
String tableName = XzdClassEnum.CS_CONTRACT_CHANGE.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdDeductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
if (bo.getHttk() == null || bo.getHttk().isEmpty()) {
|
||||
throw new ServiceException("合同条款不能为空");
|
||||
}
|
||||
//合同条款-合同条款
|
||||
for (XzdContractClause clause : bo.getHttk()) {
|
||||
clause.setTableName(tableName);
|
||||
clause.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdContractClauseService.saveBatch(bo.getHttk());
|
||||
if (bo.getZftk() == null || bo.getZftk().isEmpty()) {
|
||||
throw new ServiceException("支付条款不能为空");
|
||||
}
|
||||
//支付条款
|
||||
for (XzdSettlementRules clause : bo.getZftk()) {
|
||||
clause.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdSettlementRulesService.saveBatch(bo.getZftk());
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdCsContractChange entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同变更信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
List<Long> deleteIds = new ArrayList<>();
|
||||
for (Long id : ids) {
|
||||
XzdCsContractChangeVo vo = baseMapper.selectVoById(id);
|
||||
if (vo != null){
|
||||
//删除附件
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> list = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
deleteIds.addAll(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper1.in(XzdDeductionItems::getContractDetailsId, ids);
|
||||
xzdDeductionItemsService.remove(lambdaQueryWrapper1);
|
||||
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.in(XzdContractClause::getContractDetailsId, ids);
|
||||
xzdContractClauseService.remove(lambdaQueryWrapper2);
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
|
||||
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
private void getName(XzdCsContractChangeVo item) {
|
||||
//项目名称
|
||||
if (item.getProject() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProject());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//签约组织(客户信息列表)
|
||||
String dtoR = iXzdCorrespondentList.queryNameById(item.getOrganization());
|
||||
if (dtoR!=null){
|
||||
item.setOrganizationName(dtoR);
|
||||
}
|
||||
|
||||
//甲方单位(客户信息列表)
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getPartyA());
|
||||
if (byid!=null){
|
||||
item.setPartyAName(byid);
|
||||
}
|
||||
//乙方单位(供应商信息列表)
|
||||
String xzdSupplierInfoVo = xzdSupplierInfoService.queryNameById(item.getPartyB());
|
||||
if (xzdSupplierInfoVo != null){
|
||||
item.setPartyBName(xzdSupplierInfoVo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取合同条款内容
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdCsContractChangeVo vo) {
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper1.eq(XzdDeductionItems::getContractDetailsId, vo.getId());
|
||||
List<XzdDeductionItems> list = xzdDeductionItemsService.list(lambdaQueryWrapper1);
|
||||
vo.setKkyjlx(list);
|
||||
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, vo.getId());
|
||||
List<XzdContractClause> list1 = xzdContractClauseService.list(lambdaQueryWrapper2);
|
||||
vo.setHttk(list1);
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, vo.getId());
|
||||
List<XzdSettlementRules> list2 = xzdSettlementRulesService.list(lambdaQueryWrapper3);
|
||||
vo.setZftk(list2);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,408 @@
|
||||
package org.dromara.xzd.comprehensive.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
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.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.domain.XzdContractAdvanceInfo;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
|
||||
import org.dromara.xzd.enums.XzdClassEnum;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractInformationBo;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
import org.dromara.xzd.comprehensive.mapper.XzdCsContractInformationMapper;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractInformationService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 综合服务合同信息Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdCsContractInformationServiceImpl extends ServiceImpl<XzdCsContractInformationMapper, XzdCsContractInformation> implements IXzdCsContractInformationService {
|
||||
|
||||
private final XzdCsContractInformationMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private XzdDeductionItemsServiceImpl xzdDeductionItemsService;
|
||||
@Autowired
|
||||
private XzdContractClauseServiceImpl xzdContractClauseService;
|
||||
@Autowired
|
||||
private XzdSettlementRulesServiceImpl xzdSettlementRulesService;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同信息
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同信息
|
||||
*/
|
||||
@Override
|
||||
public XzdCsContractInformationVo queryById(Long id){
|
||||
XzdCsContractInformationVo vo = baseMapper.selectVoById(id);
|
||||
if (vo!=null){
|
||||
getName(vo);
|
||||
getHttk(vo);
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取合同条款内容
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdCsContractInformationVo vo) {
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper1.eq(XzdDeductionItems::getContractDetailsId, vo.getId());
|
||||
List<XzdDeductionItems> list = xzdDeductionItemsService.list(lambdaQueryWrapper1);
|
||||
vo.setKkyjlx(list);
|
||||
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, vo.getId());
|
||||
List<XzdContractClause> list1 = xzdContractClauseService.list(lambdaQueryWrapper2);
|
||||
vo.setHttk(list1);
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, vo.getId());
|
||||
List<XzdSettlementRules> list2 = xzdSettlementRulesService.list(lambdaQueryWrapper3);
|
||||
vo.setZftk(list2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同信息分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdCsContractInformationVo> queryPageList(XzdCsContractInformationBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdCsContractInformation> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdCsContractInformationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
for (XzdCsContractInformationVo item : result.getRecords()) {
|
||||
getName(item);
|
||||
}
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
private void getName(XzdCsContractInformationVo item) {
|
||||
//部门名称
|
||||
if (item.getDepartmentId() != null){
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(item.getDepartmentId());
|
||||
if (sysDeptVo != null){
|
||||
item.setDepartmentName(sysDeptVo.getDeptName());
|
||||
}
|
||||
}
|
||||
//项目名称
|
||||
if (item.getProjectId() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProjectId());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//签约组织(客户信息列表)
|
||||
|
||||
if (item.getSignOrganization() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getSignOrganization());
|
||||
if (byid!=null){
|
||||
item.setSignOrganizationName(byid);
|
||||
}
|
||||
}
|
||||
//甲方单位(客户信息列表)
|
||||
if (item.getPartyA() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getPartyA());
|
||||
if (byid!=null){
|
||||
item.setPartyAName(byid);
|
||||
}
|
||||
}
|
||||
//乙方单位(供应商信息列表)
|
||||
if (item.getPartyB() != null){
|
||||
String unitName = xzdSupplierInfoService.queryNameById(item.getPartyB());
|
||||
if (unitName != null){
|
||||
|
||||
item.setPartyBName(unitName);
|
||||
}
|
||||
}
|
||||
//开票单位名称(供应商名称)
|
||||
if (item.getInvoiceIssuer() != null){
|
||||
String unitName = xzdSupplierInfoService.queryNameById(item.getInvoiceIssuer());
|
||||
if (unitName != null){
|
||||
item.setInvoiceIssuerName(unitName);
|
||||
}
|
||||
}
|
||||
//收票单位名称(客户名称)
|
||||
if (item.getInvoiceReceiver()!= null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getInvoiceReceiver());
|
||||
if (byid!=null){
|
||||
item.setInvoiceReceiverName(byid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdCsContractInformationVo> queryList(XzdCsContractInformationBo bo) {
|
||||
LambdaQueryWrapper<XzdCsContractInformation> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdCsContractInformation> buildQueryWrapper(XzdCsContractInformationBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdCsContractInformation> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdCsContractInformation::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdCsContractInformation::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdCsContractInformation::getContractName, bo.getContractName());
|
||||
lqw.eq(bo.getDocumentDate() != null, XzdCsContractInformation::getDocumentDate, bo.getDocumentDate());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdCsContractInformation::getContractType, bo.getContractType());
|
||||
lqw.eq(bo.getProjectId() != null, XzdCsContractInformation::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBusinessMode()), XzdCsContractInformation::getBusinessMode, bo.getBusinessMode());
|
||||
lqw.eq(bo.getSignDate() != null, XzdCsContractInformation::getSignDate, bo.getSignDate());
|
||||
lqw.eq(bo.getPartyA() != null, XzdCsContractInformation::getPartyA, bo.getPartyA());
|
||||
lqw.eq(bo.getTaxIncludedAmount() != null, XzdCsContractInformation::getTaxIncludedAmount, bo.getTaxIncludedAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractStatus()), XzdCsContractInformation::getContractStatus, bo.getContractStatus());
|
||||
lqw.eq(bo.getPartyB() != null, XzdCsContractInformation::getPartyB, bo.getPartyB());
|
||||
lqw.eq(bo.getCumulativeChangeAmount() != null, XzdCsContractInformation::getCumulativeChangeAmount, bo.getCumulativeChangeAmount());
|
||||
lqw.eq(bo.getDepartmentId() != null, XzdCsContractInformation::getDepartmentId, bo.getDepartmentId());
|
||||
lqw.eq(bo.getArchivalDate() != null, XzdCsContractInformation::getArchivalDate, bo.getArchivalDate());
|
||||
lqw.eq(bo.getIsRD() != null, XzdCsContractInformation::getIsRD, bo.getIsRD());
|
||||
lqw.eq(bo.getInvoiceIssuer() != null, XzdCsContractInformation::getInvoiceIssuer, bo.getInvoiceIssuer());
|
||||
lqw.eq(bo.getInvoiceReceiver() != null, XzdCsContractInformation::getInvoiceReceiver, bo.getInvoiceReceiver());
|
||||
lqw.eq(bo.getValidStartDate() != null, XzdCsContractInformation::getValidStartDate, bo.getValidStartDate());
|
||||
lqw.eq(bo.getValidEndDate() != null, XzdCsContractInformation::getValidEndDate, bo.getValidEndDate());
|
||||
lqw.eq(bo.getIsSealed() != null, XzdCsContractInformation::getIsSealed, bo.getIsSealed());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaxIncludedAmountUpper()), XzdCsContractInformation::getTaxIncludedAmountUpper, bo.getTaxIncludedAmountUpper());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getWarning()), XzdCsContractInformation::getWarning, bo.getWarning());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPaymentTerms()), XzdCsContractInformation::getPaymentTerms, bo.getPaymentTerms());
|
||||
lqw.eq(bo.getSignOrganization() != null, XzdCsContractInformation::getSignOrganization, bo.getSignOrganization());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), XzdCsContractInformation::getProjectType, bo.getProjectType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectCategory()), XzdCsContractInformation::getProjectCategory, bo.getProjectCategory());
|
||||
lqw.eq(bo.getProjectOwner() != null, XzdCsContractInformation::getProjectOwner, bo.getProjectOwner());
|
||||
lqw.eq(bo.getWbs() != null, XzdCsContractInformation::getWbs, bo.getWbs());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFilingStatus()), XzdCsContractInformation::getFilingStatus, bo.getFilingStatus());
|
||||
lqw.eq(bo.getFilingTime() != null, XzdCsContractInformation::getFilingTime, bo.getFilingTime());
|
||||
lqw.eq(bo.getNeedFiling() != null, XzdCsContractInformation::getNeedFiling, bo.getNeedFiling());
|
||||
lqw.eq(bo.getBudgetCategory() != null, XzdCsContractInformation::getBudgetCategory, bo.getBudgetCategory());
|
||||
lqw.eq(bo.getIsFixedUnitPrice() != null, XzdCsContractInformation::getIsFixedUnitPrice, bo.getIsFixedUnitPrice());
|
||||
lqw.eq(bo.getIsLumpSum() != null, XzdCsContractInformation::getIsLumpSum, bo.getIsLumpSum());
|
||||
lqw.eq(bo.getPaymentNotExceedContract() != null, XzdCsContractInformation::getPaymentNotExceedContract, bo.getPaymentNotExceedContract());
|
||||
lqw.eq(bo.getPaymentNotExceedRatio() != null, XzdCsContractInformation::getPaymentNotExceedRatio, bo.getPaymentNotExceedRatio());
|
||||
lqw.eq(bo.getBudgetNotExceedContract() != null, XzdCsContractInformation::getBudgetNotExceedContract, bo.getBudgetNotExceedContract());
|
||||
lqw.eq(bo.getBudgetNotExceedRatio() != null, XzdCsContractInformation::getBudgetNotExceedRatio, bo.getBudgetNotExceedRatio());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdCsContractInformation::getDocumentReference, bo.getDocumentReference());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdCsContractInformation::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同信息
|
||||
*
|
||||
* @param bo 综合服务合同信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(XzdCsContractInformationBo bo) {
|
||||
XzdCsContractInformation add = MapstructUtils.convert(bo, XzdCsContractInformation.class);
|
||||
validEntityBeforeSave(add);
|
||||
String banBen = BatchNumberGenerator.generateBatchNumber("ZHFWHT-");
|
||||
add.setContractCode(banBen);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
String tableName = XzdClassEnum.CS_CONTRACT_INFORMATION.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdDeductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
if (bo.getHttk() == null || bo.getHttk().isEmpty()) {
|
||||
throw new ServiceException("合同条款不能为空");
|
||||
}
|
||||
//合同条款-合同条款
|
||||
for (XzdContractClause clause : bo.getHttk()) {
|
||||
clause.setTableName(tableName);
|
||||
clause.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdContractClauseService.saveBatch(bo.getHttk());
|
||||
if (bo.getZftk() == null || bo.getZftk().isEmpty()) {
|
||||
throw new ServiceException("支付条款不能为空");
|
||||
}
|
||||
//支付条款
|
||||
for (XzdSettlementRules clause : bo.getZftk()) {
|
||||
clause.setContractDetailsId(add.getId());
|
||||
}
|
||||
xzdSettlementRulesService.saveBatch(bo.getZftk());
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同信息
|
||||
*
|
||||
* @param bo 综合服务合同信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(XzdCsContractInformationBo bo) {
|
||||
XzdCsContractInformation update = MapstructUtils.convert(bo, XzdCsContractInformation.class);
|
||||
validEntityBeforeSave(update);
|
||||
XzdCsContractInformation old = baseMapper.selectById(update.getId());
|
||||
if (old == null){
|
||||
throw new ServiceException("找不到要修改数据!!!");
|
||||
}
|
||||
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdContractClause::getContractDetailsId, old.getId());
|
||||
xzdContractClauseService.remove(lambdaQueryWrapper2);
|
||||
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.eq(XzdSettlementRules::getContractDetailsId, old.getId());
|
||||
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
|
||||
|
||||
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper4 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper4.eq(XzdDeductionItems::getContractDetailsId, old.getId());
|
||||
xzdDeductionItemsService.remove(lambdaQueryWrapper4);
|
||||
|
||||
String tableName = XzdClassEnum.CS_CONTRACT_INFORMATION.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdDeductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
if (bo.getHttk() == null || bo.getHttk().isEmpty()) {
|
||||
throw new ServiceException("合同条款不能为空");
|
||||
}
|
||||
//合同条款-合同条款
|
||||
for (XzdContractClause clause : bo.getHttk()) {
|
||||
clause.setTableName(tableName);
|
||||
clause.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdContractClauseService.saveBatch(bo.getHttk());
|
||||
if (bo.getZftk() == null || bo.getZftk().isEmpty()) {
|
||||
throw new ServiceException("支付条款不能为空");
|
||||
}
|
||||
//支付条款
|
||||
for (XzdSettlementRules clause : bo.getZftk()) {
|
||||
clause.setContractDetailsId(update.getId());
|
||||
}
|
||||
xzdSettlementRulesService.saveBatch(bo.getZftk());
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdCsContractInformation entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
List<Long> deleteIds = new ArrayList<>();
|
||||
for (Long id : ids) {
|
||||
XzdCsContractInformationVo vo = baseMapper.selectVoById(id);
|
||||
if (vo != null){
|
||||
//删除附件
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> list = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
deleteIds.addAll(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
LambdaQueryWrapper<XzdDeductionItems> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper1.in(XzdDeductionItems::getContractDetailsId, ids);
|
||||
xzdDeductionItemsService.remove(lambdaQueryWrapper1);
|
||||
|
||||
//合同条款-合同条款
|
||||
LambdaQueryWrapper<XzdContractClause> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.in(XzdContractClause::getContractDetailsId, ids);
|
||||
xzdContractClauseService.remove(lambdaQueryWrapper2);
|
||||
|
||||
//支付条款
|
||||
LambdaQueryWrapper<XzdSettlementRules> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper3.in(XzdSettlementRules::getContractDetailsId, ids);
|
||||
xzdSettlementRulesService.remove(lambdaQueryWrapper3);
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,210 @@
|
||||
package org.dromara.xzd.comprehensive.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
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.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.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.comprehensive.domain.bo.XzdCsContractSuspendBo;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractSuspendVo;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractSuspend;
|
||||
import org.dromara.xzd.comprehensive.mapper.XzdCsContractSuspendMapper;
|
||||
import org.dromara.xzd.comprehensive.service.IXzdCsContractSuspendService;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 综合服务合同终止Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-13
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdCsContractSuspendServiceImpl extends ServiceImpl<XzdCsContractSuspendMapper, XzdCsContractSuspend> implements IXzdCsContractSuspendService {
|
||||
|
||||
private final XzdCsContractSuspendMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同终止
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同终止
|
||||
*/
|
||||
@Override
|
||||
public XzdCsContractSuspendVo queryById(Long id){
|
||||
XzdCsContractSuspendVo vo = baseMapper.selectVoById(id);
|
||||
if (vo!=null){
|
||||
getName(vo);
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同终止列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同终止分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdCsContractSuspendVo> queryPageList(XzdCsContractSuspendBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdCsContractSuspend> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdCsContractSuspendVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(this::getName);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同终止列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同终止列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdCsContractSuspendVo> queryList(XzdCsContractSuspendBo bo) {
|
||||
LambdaQueryWrapper<XzdCsContractSuspend> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdCsContractSuspend> buildQueryWrapper(XzdCsContractSuspendBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdCsContractSuspend> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdCsContractSuspend::getId);
|
||||
lqw.eq(bo.getContractInformationId() != null, XzdCsContractSuspend::getContractInformationId, bo.getContractInformationId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getReceiptsCode()), XzdCsContractSuspend::getReceiptsCode, bo.getReceiptsCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdCsContractSuspend::getTitle, bo.getTitle());
|
||||
lqw.eq(bo.getDocumentDate() != null, XzdCsContractSuspend::getDocumentDate, bo.getDocumentDate());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdCsContractSuspend::getContractName, bo.getContractName());
|
||||
lqw.eq(bo.getTerminationDate() != null, XzdCsContractSuspend::getTerminationDate, bo.getTerminationDate());
|
||||
lqw.eq(bo.getProject()!=null, XzdCsContractSuspend::getProject, bo.getProject());
|
||||
lqw.eq(bo.getArtyBUnit() != null, XzdCsContractSuspend::getArtyBUnit, bo.getArtyBUnit());
|
||||
lqw.eq(bo.getPartyAUnit() != null, XzdCsContractSuspend::getPartyAUnit, bo.getPartyAUnit());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTerminationCause()), XzdCsContractSuspend::getTerminationCause, bo.getTerminationCause());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectCategory()), XzdCsContractSuspend::getProjectCategory, bo.getProjectCategory());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), XzdCsContractSuspend::getProjectType, bo.getProjectType());
|
||||
lqw.eq(bo.getCumulativeSettlementAmount() != null, XzdCsContractSuspend::getCumulativeSettlementAmount, bo.getCumulativeSettlementAmount());
|
||||
lqw.eq(bo.getCumulativePaymentAmount() != null, XzdCsContractSuspend::getCumulativePaymentAmount, bo.getCumulativePaymentAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdCsContractSuspend::getFileId, bo.getFileId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdCsContractSuspend::getAuditStatus, bo.getAuditStatus());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同终止
|
||||
*
|
||||
* @param bo 综合服务合同终止
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdCsContractSuspendBo bo) {
|
||||
XzdCsContractSuspend add = MapstructUtils.convert(bo, XzdCsContractSuspend.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同终止
|
||||
*
|
||||
* @param bo 综合服务合同终止
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdCsContractSuspendBo bo) {
|
||||
XzdCsContractSuspend update = MapstructUtils.convert(bo, XzdCsContractSuspend.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdCsContractSuspend entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同终止信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
List<Long> deleteIds = new ArrayList<>();
|
||||
for (Long id : ids) {
|
||||
XzdCsContractSuspendVo vo = baseMapper.selectVoById(id);
|
||||
if (vo != null){
|
||||
//删除附件
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> list = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
deleteIds.addAll(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
private void getName(XzdCsContractSuspendVo item) {
|
||||
//项目名称
|
||||
if (item.getProject() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProject());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//甲方单位(客户信息列表)
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getPartyAUnit());
|
||||
if (byid!=null){
|
||||
item.setPartyAUnitNamme(byid);
|
||||
}
|
||||
//乙方单位(供应商信息列表)
|
||||
String xzdSupplierInfoVo = xzdSupplierInfoService.queryNameById(item.getArtyBUnit());
|
||||
if (xzdSupplierInfoVo != null){
|
||||
item.setArtyBUnitName(xzdSupplierInfoVo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -22,7 +22,7 @@ public class XzdSettlementRules extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
@ -7,7 +7,11 @@ public enum XzdClassEnum {
|
||||
|
||||
XZD_CONTRACT_CHANGE("xzd_contract_change"),
|
||||
|
||||
CS_CONTRACT_INFORMATION("xzd_cs_contract_information"),
|
||||
CS_CONTRACT_INFORMATION("xzd_cs_contract_information"), //综合服务合同信息
|
||||
CS_CONTRACT_CHANGE("xzd_cs_contract_change"), //综合服务合同变更
|
||||
JS_ZHFW_JINDU("xzd_js_zhfw_jindu"), //综合服务合同进度结算
|
||||
JS_CG_JUNGON("xzd_js_cg_jungon"), //采购合同竣工结算
|
||||
JS_CG_JINDU("xzd_js_cg_jindu"), //采购合同进度结算
|
||||
// 分包合同
|
||||
FENBAOHETONG_INFORMATION("xzd_subcontract"),
|
||||
// 采购变更合同
|
||||
|
||||
@ -24,4 +24,6 @@ public interface IXzdCorrespondentList {
|
||||
R<String> putCorrespondent(AddCorrespondentDto dto);
|
||||
|
||||
R<QuerCorrespondentDto> getCustomerByid(Long id);
|
||||
|
||||
String queryNameById(Long partyAUnit);
|
||||
}
|
||||
|
||||
@ -504,6 +504,12 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList {
|
||||
return R.ok(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryNameById(Long id) {
|
||||
XzdCustomerinformation xzdCustomerinformation = xzdCustomerinformationMapper.selectById(id);
|
||||
return xzdCustomerinformation != null ? xzdCustomerinformation.getUnitName():null;
|
||||
}
|
||||
|
||||
public void delCorrespondentVoid(Long dto){
|
||||
|
||||
// 客户信息
|
||||
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.settlement.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJinduBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJinduService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/settlement/jsCgJindu")
|
||||
public class XzdJsCgJinduController extends BaseController {
|
||||
|
||||
private final IXzdJsCgJinduService xzdJsCgJinduService;
|
||||
|
||||
/**
|
||||
* 查询采购合同进度结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdJsCgJinduVo> list(XzdJsCgJinduBo bo, PageQuery pageQuery) {
|
||||
return xzdJsCgJinduService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出采购合同进度结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:export")
|
||||
@Log(title = "采购合同进度结算", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdJsCgJinduBo bo, HttpServletResponse response) {
|
||||
List<XzdJsCgJinduVo> list = xzdJsCgJinduService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "采购合同进度结算", XzdJsCgJinduVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取采购合同进度结算详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJinduVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdJsCgJinduService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同进度结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:add")
|
||||
@Log(title = "采购合同进度结算", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdJsCgJinduBo bo) {
|
||||
return toAjax(xzdJsCgJinduService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同进度结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:edit")
|
||||
@Log(title = "采购合同进度结算", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdJsCgJinduBo bo) {
|
||||
return toAjax(xzdJsCgJinduService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除采购合同进度结算
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:remove")
|
||||
@Log(title = "采购合同进度结算", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdJsCgJinduService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.settlement.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJungonBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJungonService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/settlement/jsCgJungon")
|
||||
public class XzdJsCgJungonController extends BaseController {
|
||||
|
||||
private final IXzdJsCgJungonService xzdJsCgJungonService;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdJsCgJungonVo> list(XzdJsCgJungonBo bo, PageQuery pageQuery) {
|
||||
return xzdJsCgJungonService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出采购合同竣工结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:export")
|
||||
@Log(title = "采购合同竣工结算", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdJsCgJungonBo bo, HttpServletResponse response) {
|
||||
List<XzdJsCgJungonVo> list = xzdJsCgJungonService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "采购合同竣工结算", XzdJsCgJungonVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取采购合同竣工结算详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJungonVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdJsCgJungonService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:add")
|
||||
@Log(title = "采购合同竣工结算", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdJsCgJungonBo bo) {
|
||||
return toAjax(xzdJsCgJungonService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:edit")
|
||||
@Log(title = "采购合同竣工结算", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdJsCgJungonBo bo) {
|
||||
return toAjax(xzdJsCgJungonService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除采购合同竣工结算
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:remove")
|
||||
@Log(title = "采购合同竣工结算", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdJsCgJungonService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.settlement.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJungonEditBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJungonEditService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/settlement/jsCgJungonEdit")
|
||||
public class XzdJsCgJungonEditController extends BaseController {
|
||||
|
||||
private final IXzdJsCgJungonEditService xzdJsCgJungonEditService;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算调整列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdJsCgJungonEditVo> list(XzdJsCgJungonEditBo bo, PageQuery pageQuery) {
|
||||
return xzdJsCgJungonEditService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出采购合同竣工结算调整列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:export")
|
||||
@Log(title = "采购合同竣工结算调整", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdJsCgJungonEditBo bo, HttpServletResponse response) {
|
||||
List<XzdJsCgJungonEditVo> list = xzdJsCgJungonEditService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "采购合同竣工结算调整", XzdJsCgJungonEditVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取采购合同竣工结算调整详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJungonEditVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdJsCgJungonEditService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算调整
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:add")
|
||||
@Log(title = "采购合同竣工结算调整", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdJsCgJungonEditBo bo) {
|
||||
return toAjax(xzdJsCgJungonEditService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算调整
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:edit")
|
||||
@Log(title = "采购合同竣工结算调整", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdJsCgJungonEditBo bo) {
|
||||
return toAjax(xzdJsCgJungonEditService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除采购合同竣工结算调整
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:remove")
|
||||
@Log(title = "采购合同竣工结算调整", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdJsCgJungonEditService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.settlement.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsDeductionItemsVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsDeductionItemsBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/settlement/jsDeductionItems")
|
||||
public class XzdJsDeductionItemsController extends BaseController {
|
||||
|
||||
private final IXzdJsDeductionItemsService xzdJsDeductionItemsService;
|
||||
|
||||
/**
|
||||
* 查询结算-扣款与奖励项列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdJsDeductionItemsVo> list(XzdJsDeductionItemsBo bo, PageQuery pageQuery) {
|
||||
return xzdJsDeductionItemsService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出结算-扣款与奖励项列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:export")
|
||||
@Log(title = "结算-扣款与奖励项", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdJsDeductionItemsBo bo, HttpServletResponse response) {
|
||||
List<XzdJsDeductionItemsVo> list = xzdJsDeductionItemsService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "结算-扣款与奖励项", XzdJsDeductionItemsVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取结算-扣款与奖励项详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsDeductionItemsVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdJsDeductionItemsService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增结算-扣款与奖励项
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:add")
|
||||
@Log(title = "结算-扣款与奖励项", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdJsDeductionItemsBo bo) {
|
||||
return toAjax(xzdJsDeductionItemsService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改结算-扣款与奖励项
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:edit")
|
||||
@Log(title = "结算-扣款与奖励项", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdJsDeductionItemsBo bo) {
|
||||
return toAjax(xzdJsDeductionItemsService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除结算-扣款与奖励项
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsDeductionItems:remove")
|
||||
@Log(title = "结算-扣款与奖励项", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdJsDeductionItemsService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.settlement.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsZhfwJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsZhfwJinduBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsZhfwJinduService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/settlement/jsZhfwJindu")
|
||||
public class XzdJsZhfwJinduController extends BaseController {
|
||||
|
||||
private final IXzdJsZhfwJinduService xzdJsZhfwJinduService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同进度结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdJsZhfwJinduVo> list(XzdJsZhfwJinduBo bo, PageQuery pageQuery) {
|
||||
return xzdJsZhfwJinduService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出综合服务合同进度结算列表
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:export")
|
||||
@Log(title = "综合服务合同进度结算", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdJsZhfwJinduBo bo, HttpServletResponse response) {
|
||||
List<XzdJsZhfwJinduVo> list = xzdJsZhfwJinduService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "综合服务合同进度结算", XzdJsZhfwJinduVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取综合服务合同进度结算详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsZhfwJinduVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdJsZhfwJinduService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同进度结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:add")
|
||||
@Log(title = "综合服务合同进度结算", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdJsZhfwJinduBo bo) {
|
||||
return toAjax(xzdJsZhfwJinduService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同进度结算
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:edit")
|
||||
@Log(title = "综合服务合同进度结算", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdJsZhfwJinduBo bo) {
|
||||
return toAjax(xzdJsZhfwJinduService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除综合服务合同进度结算
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:remove")
|
||||
@Log(title = "综合服务合同进度结算", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdJsZhfwJinduService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,163 @@
|
||||
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.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算对象 xzd_js_cg_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_js_cg_jindu")
|
||||
public class XzdJsCgJindu extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(带查询,关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填,下拉选择)
|
||||
*/
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始(带*,必填)
|
||||
*/
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 项目(带*,必填)
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 审批金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 计量结束(带*,必填)
|
||||
*/
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 结算单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long settlementUnit;
|
||||
|
||||
/**
|
||||
* 合同金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettlementExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettlementIncludeCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例(默认0.00%)
|
||||
*/
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)(默认0.00%)
|
||||
*/
|
||||
private BigDecimal settledRatioExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例(默认0.00%)
|
||||
*/
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注(长文本)
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(复选框,0=未勾选,1=勾选)
|
||||
*/
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 合同含税金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,143 @@
|
||||
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.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算对象 xzd_js_cg_jungon
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_js_cg_jungon")
|
||||
public class XzdJsCgJungon extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编号(带*,关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 决算金额
|
||||
*/
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
/**
|
||||
* 本期决算总额
|
||||
*/
|
||||
private BigDecimal currentPeriodTotal;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
private BigDecimal currentDeduction;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
private BigDecimal currentReward;
|
||||
|
||||
/**
|
||||
* 审定日期
|
||||
*/
|
||||
private LocalDate approveDate;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,关联项目表)
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 统计周期(下拉选择,如“2025年10月”)
|
||||
*/
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
private Long procurementMode;
|
||||
|
||||
/**
|
||||
* 业主单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long ownerUnit;
|
||||
|
||||
/**
|
||||
* 监理单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long supervisionUnit;
|
||||
|
||||
/**
|
||||
* 施工单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long constructionUnit;
|
||||
|
||||
/**
|
||||
* 审核单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long auditUnit;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
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.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整对象 xzd_js_cg_jungon_edit
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_js_cg_jungon_edit")
|
||||
public class XzdJsCgJungonEdit extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 决算单号(带*,必填)
|
||||
*/
|
||||
private String finalAccountCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
*/
|
||||
private BigDecimal adjustedFinalAmount;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,必填)
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 默认财务组织
|
||||
*/
|
||||
private Long defaultFinanceOrg;
|
||||
|
||||
/**
|
||||
* 调整说明
|
||||
*/
|
||||
private String adjustmentDescription;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
private String procurementMode;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
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.io.Serial;
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项对象 xzd_js_deduction_items
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_js_deduction_items")
|
||||
public class XzdJsDeductionItems extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 明细记录主键(自增)
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 关联结算主表的ID(外键,指向结算单据表)
|
||||
*/
|
||||
private Long mainDocId;
|
||||
|
||||
/**
|
||||
* 明细类型:1=扣款,2=奖励
|
||||
*/
|
||||
private Long detailType;
|
||||
|
||||
/**
|
||||
* 款项类别(带*,必填)
|
||||
*/
|
||||
private String itemCategory;
|
||||
|
||||
/**
|
||||
* 本期金额(扣款/奖励金额)
|
||||
*/
|
||||
private BigDecimal currentPeriodAmount;
|
||||
|
||||
/**
|
||||
* 本期不含税金额
|
||||
*/
|
||||
private BigDecimal currentTaxExclAmount;
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
|
||||
/**
|
||||
* 累计金额(累计扣款/累计奖励)
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 申请扣除(仅“扣款”明细必填,1=是,0=否)
|
||||
*/
|
||||
private Long applyDeduction;
|
||||
|
||||
/**
|
||||
* 款项属性(带*,必填)
|
||||
*/
|
||||
private String itemProperty;
|
||||
|
||||
/**
|
||||
* WBS编码(项目工作分解结构编码)
|
||||
*/
|
||||
private String wbs;
|
||||
|
||||
/**
|
||||
* CBS编码(项目成本分解结构编码)
|
||||
*/
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,158 @@
|
||||
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.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算对象 xzd_js_zhfw_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_js_zhfw_jindu")
|
||||
public class XzdJsZhfwJindu extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填)
|
||||
*/
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始
|
||||
*/
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
*/
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 结算单位
|
||||
*/
|
||||
private Long settlementUnit;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)
|
||||
*/
|
||||
private BigDecimal totalSettlementExclCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)
|
||||
*/
|
||||
private BigDecimal totalSettlementInclCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例
|
||||
*/
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)
|
||||
*/
|
||||
private BigDecimal settledRatioExclCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例
|
||||
*/
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(0=未勾选,1=勾选)
|
||||
*/
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 累计结算金额(统计及控制信息)
|
||||
*/
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额
|
||||
*/
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,175 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
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 org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算业务对象 xzd_js_cg_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdJsCgJindu.class, reverseConvertGenerate = false)
|
||||
public class XzdJsCgJinduBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@NotNull(message = "主键ID,自增不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "标题(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "单据日期(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(带查询,关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填,下拉选择)
|
||||
*/
|
||||
@NotBlank(message = "统计周期(带*,必填,下拉选择)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "计量开始(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 项目(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "项目(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 审批金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 计量结束(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "计量结束(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 结算单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long settlementUnit;
|
||||
|
||||
/**
|
||||
* 合同金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettlementExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettlementIncludeCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例(默认0.00%)
|
||||
*/
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)(默认0.00%)
|
||||
*/
|
||||
private BigDecimal settledRatioExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例(默认0.00%)
|
||||
*/
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注(长文本)
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(复选框,0=未勾选,1=勾选)
|
||||
*/
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 合同含税金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额(默认0.00)
|
||||
*/
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,146 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungon;
|
||||
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.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算业务对象 xzd_js_cg_jungon
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdJsCgJungon.class, reverseConvertGenerate = false)
|
||||
public class XzdJsCgJungonBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@NotNull(message = "主键ID,自增不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "标题(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "单据日期(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编号(带*,关联合同表)
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 决算金额
|
||||
*/
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
/**
|
||||
* 本期决算总额
|
||||
*/
|
||||
private BigDecimal currentPeriodTotal;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
private BigDecimal currentDeduction;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
private BigDecimal currentReward;
|
||||
|
||||
/**
|
||||
* 审定日期
|
||||
*/
|
||||
private LocalDate approveDate;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,关联项目表)
|
||||
*/
|
||||
@NotNull(message = "工程项目(带*,关联项目表)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 统计周期(下拉选择,如“2025年10月”)
|
||||
*/
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
private Long partyA;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
private Long partyB;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
private Long procurementMode;
|
||||
|
||||
/**
|
||||
* 业主单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long ownerUnit;
|
||||
|
||||
/**
|
||||
* 监理单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long supervisionUnit;
|
||||
|
||||
/**
|
||||
* 施工单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long constructionUnit;
|
||||
|
||||
/**
|
||||
* 审核单位(带查询,关联单位表)
|
||||
*/
|
||||
private Long auditUnit;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,98 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungonEdit;
|
||||
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.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整业务对象 xzd_js_cg_jungon_edit
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdJsCgJungonEdit.class, reverseConvertGenerate = false)
|
||||
public class XzdJsCgJungonEditBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@NotNull(message = "主键ID,自增不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "标题(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "单据日期(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 决算单号(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "决算单号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String finalAccountCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "调整后决算金额(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal adjustedFinalAmount;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "工程项目(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 默认财务组织
|
||||
*/
|
||||
private Long defaultFinanceOrg;
|
||||
|
||||
/**
|
||||
* 调整说明
|
||||
*/
|
||||
private String adjustmentDescription;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
private String procurementMode;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项业务对象 xzd_js_deduction_items
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdJsDeductionItems.class, reverseConvertGenerate = false)
|
||||
public class XzdJsDeductionItemsBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 明细记录主键(自增)
|
||||
*/
|
||||
@NotNull(message = "明细记录主键(自增)不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 关联结算主表的ID(外键,指向结算单据表)
|
||||
*/
|
||||
@NotNull(message = "关联结算主表的ID(外键,指向结算单据表)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long mainDocId;
|
||||
|
||||
/**
|
||||
* 明细类型:1=扣款,2=奖励
|
||||
*/
|
||||
@NotNull(message = "明细类型:1=扣款,2=奖励不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long detailType;
|
||||
|
||||
/**
|
||||
* 款项类别(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "款项类别(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String itemCategory;
|
||||
|
||||
/**
|
||||
* 本期金额(扣款/奖励金额)
|
||||
*/
|
||||
private BigDecimal currentPeriodAmount;
|
||||
|
||||
/**
|
||||
* 本期不含税金额
|
||||
*/
|
||||
private BigDecimal currentTaxExclAmount;
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
|
||||
/**
|
||||
* 累计金额(累计扣款/累计奖励)
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 申请扣除(仅“扣款”明细必填,1=是,0=否)
|
||||
*/
|
||||
private Long applyDeduction;
|
||||
|
||||
/**
|
||||
* 款项属性(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "款项属性(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String itemProperty;
|
||||
|
||||
/**
|
||||
* WBS编码(项目工作分解结构编码)
|
||||
*/
|
||||
private String wbs;
|
||||
|
||||
/**
|
||||
* CBS编码(项目成本分解结构编码)
|
||||
*/
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,161 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
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.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算业务对象 xzd_js_zhfw_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdJsZhfwJindu.class, reverseConvertGenerate = false)
|
||||
public class XzdJsZhfwJinduBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@NotNull(message = "主键ID,自增不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "标题(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@NotNull(message = "单据日期(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "统计周期(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始
|
||||
*/
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
*/
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 结算单位
|
||||
*/
|
||||
private Long settlementUnit;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)
|
||||
*/
|
||||
private BigDecimal totalSettlementExclCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)
|
||||
*/
|
||||
private BigDecimal totalSettlementInclCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例
|
||||
*/
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)
|
||||
*/
|
||||
private BigDecimal settledRatioExclCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例
|
||||
*/
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(0=未勾选,1=勾选)
|
||||
*/
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 累计结算金额(统计及控制信息)
|
||||
*/
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额
|
||||
*/
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,222 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 采购合同进度结算视图对象 xzd_js_cg_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdJsCgJindu.class)
|
||||
public class XzdJsCgJinduVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID,自增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "标题", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码(带查询,关联合同表)
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联合同表")
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联合同后显示")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填,下拉选择)
|
||||
*/
|
||||
@ExcelProperty(value = "统计周期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填,下拉选择")
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "计量开始", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 项目(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "项目", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private Long project;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 审批金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "审批金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 计量结束(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "计量结束", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 结算单位(带查询,关联单位表)
|
||||
*/
|
||||
@ExcelProperty(value = "结算单位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联单位表")
|
||||
private Long settlementUnit;
|
||||
private String settlementUnitName;
|
||||
|
||||
/**
|
||||
* 合同金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "合同金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额(不含本期)", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal totalSettlementExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额(含本期)", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal totalSettlementIncludeCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例(默认0.00%)
|
||||
*/
|
||||
@ExcelProperty(value = "本次结算比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00%")
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)(默认0.00%)
|
||||
*/
|
||||
@ExcelProperty(value = "已结算比例(不含本期)", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00%")
|
||||
private BigDecimal settledRatioExcludeCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例(默认0.00%)
|
||||
*/
|
||||
@ExcelProperty(value = "截止本期结算比例", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00%")
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注(长文本)
|
||||
*/
|
||||
@ExcelProperty(value = "备注", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "长=文本")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(复选框,0=未勾选,1=勾选)
|
||||
*/
|
||||
@ExcelProperty(value = "实时刷新", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "复=选框,0=未勾选,1=勾选")
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 合同含税金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "合同含税金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "合同不含税金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "本期扣款金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额(默认0.00)
|
||||
*/
|
||||
@ExcelProperty(value = "本期奖励金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默=认0.00")
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
@ExcelProperty(value = "单据引用")
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,118 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungonEdit;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整视图对象 xzd_js_cg_jungon_edit
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdJsCgJungonEdit.class)
|
||||
public class XzdJsCgJungonEditVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID,自增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据编号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "标题", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 决算单号(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "决算单号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String finalAccountCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "调整后决算金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private BigDecimal adjustedFinalAmount;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "工程项目", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 默认财务组织
|
||||
*/
|
||||
@ExcelProperty(value = "默认财务组织")
|
||||
private Long defaultFinanceOrg;
|
||||
|
||||
/**
|
||||
* 调整说明
|
||||
*/
|
||||
@ExcelProperty(value = "调整说明")
|
||||
private String adjustmentDescription;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
@ExcelProperty(value = "集采模式")
|
||||
private String procurementMode;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,190 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungon;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算视图对象 xzd_js_cg_jungon
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdJsCgJungon.class)
|
||||
public class XzdJsCgJungonVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID,自增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据编号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "标题", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编号(带*,关联合同表)
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,关联合同表")
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联合同后显示")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 决算金额
|
||||
*/
|
||||
@ExcelProperty(value = "决算金额")
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
/**
|
||||
* 本期决算总额
|
||||
*/
|
||||
@ExcelProperty(value = "本期决算总额")
|
||||
private BigDecimal currentPeriodTotal;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期扣款金额")
|
||||
private BigDecimal currentDeduction;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期奖励金额")
|
||||
private BigDecimal currentReward;
|
||||
|
||||
/**
|
||||
* 审定日期
|
||||
*/
|
||||
@ExcelProperty(value = "审定日期")
|
||||
private LocalDate approveDate;
|
||||
|
||||
/**
|
||||
* 工程项目(带*,关联项目表)
|
||||
*/
|
||||
@ExcelProperty(value = "工程项目", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,关联项目表")
|
||||
private Long projectId;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 统计周期(下拉选择,如“2025年10月”)
|
||||
*/
|
||||
@ExcelProperty(value = "统计周期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "下=拉选择,如“2025年10月”")
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 甲方单位
|
||||
*/
|
||||
@ExcelProperty(value = "甲方单位")
|
||||
private Long partyA;
|
||||
private String partyAName;
|
||||
|
||||
/**
|
||||
* 乙方单位
|
||||
*/
|
||||
@ExcelProperty(value = "乙方单位")
|
||||
private Long partyB;
|
||||
private String partyBName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 集采模式
|
||||
*/
|
||||
@ExcelProperty(value = "集采模式")
|
||||
private Long procurementMode;
|
||||
|
||||
/**
|
||||
* 业主单位(带查询,关联单位表)
|
||||
*/
|
||||
@ExcelProperty(value = "业主单位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联单位表")
|
||||
private Long ownerUnit;
|
||||
private String ownerUnitName;
|
||||
|
||||
/**
|
||||
* 监理单位(带查询,关联单位表)
|
||||
*/
|
||||
@ExcelProperty(value = "监理单位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联单位表")
|
||||
private Long supervisionUnit;
|
||||
private String supervisionUnitName;
|
||||
|
||||
/**
|
||||
* 施工单位(带查询,关联单位表)
|
||||
*/
|
||||
@ExcelProperty(value = "施工单位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联单位表")
|
||||
private Long constructionUnit;
|
||||
private String constructionUnitName;
|
||||
|
||||
/**
|
||||
* 审核单位(带查询,关联单位表)
|
||||
*/
|
||||
@ExcelProperty(value = "审核单位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联单位表")
|
||||
private Long auditUnit;
|
||||
private String auditUnitName;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
@ExcelProperty(value = "单据引用")
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,126 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项视图对象 xzd_js_deduction_items
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdJsDeductionItems.class)
|
||||
public class XzdJsDeductionItemsVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 明细记录主键(自增)
|
||||
*/
|
||||
@ExcelProperty(value = "明细记录主键", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "自=增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 关联结算主表的ID(外键,指向结算单据表)
|
||||
*/
|
||||
@ExcelProperty(value = "关联结算主表的ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键,指向结算单据表")
|
||||
private Long mainDocId;
|
||||
|
||||
/**
|
||||
* 明细类型:1=扣款,2=奖励
|
||||
*/
|
||||
@ExcelProperty(value = "明细类型:1=扣款,2=奖励")
|
||||
private Long detailType;
|
||||
|
||||
/**
|
||||
* 款项类别(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "款项类别", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String itemCategory;
|
||||
|
||||
/**
|
||||
* 本期金额(扣款/奖励金额)
|
||||
*/
|
||||
@ExcelProperty(value = "本期金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "扣=款/奖励金额")
|
||||
private BigDecimal currentPeriodAmount;
|
||||
|
||||
/**
|
||||
* 本期不含税金额
|
||||
*/
|
||||
private BigDecimal currentTaxExclAmount;
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
|
||||
/**
|
||||
* 累计金额(累计扣款/累计奖励)
|
||||
*/
|
||||
@ExcelProperty(value = "累计金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "累=计扣款/累计奖励")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 申请扣除(仅“扣款”明细必填,1=是,0=否)
|
||||
*/
|
||||
@ExcelProperty(value = "申请扣除", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "仅=“扣款”明细必填,1=是,0=否")
|
||||
private Long applyDeduction;
|
||||
|
||||
/**
|
||||
* 款项属性(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "款项属性", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String itemProperty;
|
||||
|
||||
/**
|
||||
* WBS编码(项目工作分解结构编码)
|
||||
*/
|
||||
@ExcelProperty(value = "WBS编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "项=目工作分解结构编码")
|
||||
private String wbs;
|
||||
|
||||
/**
|
||||
* CBS编码(项目成本分解结构编码)
|
||||
*/
|
||||
@ExcelProperty(value = "CBS编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "项=目成本分解结构编码")
|
||||
private String cbs;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,196 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算视图对象 xzd_js_zhfw_jindu
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdJsZhfwJindu.class)
|
||||
public class XzdJsZhfwJinduVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID,自增
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID,自增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
* 标题(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "标题", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 单据日期(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private LocalDate docDate;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码")
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 统计周期(带*,必填)
|
||||
*/
|
||||
@ExcelProperty(value = "统计周期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String statCycle;
|
||||
|
||||
/**
|
||||
* 计量开始
|
||||
*/
|
||||
@ExcelProperty(value = "计量开始")
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
*/
|
||||
@ExcelProperty(value = "审批金额")
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ExcelProperty(value = "项目")
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 结算单位
|
||||
*/
|
||||
@ExcelProperty(value = "结算单位")
|
||||
private Long settlementUnit;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同金额")
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
/**
|
||||
* 累计结算金额(不含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额(不含本期)")
|
||||
private BigDecimal totalSettlementExclCurrent;
|
||||
|
||||
/**
|
||||
* 累计结算金额(含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额(含本期)")
|
||||
private BigDecimal totalSettlementInclCurrent;
|
||||
|
||||
/**
|
||||
* 本次结算比例
|
||||
*/
|
||||
@ExcelProperty(value = "本次结算比例")
|
||||
private BigDecimal currentSettlementRatio;
|
||||
|
||||
/**
|
||||
* 已结算比例(不含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "已结算比例(不含本期)")
|
||||
private BigDecimal settledRatioExclCurrent;
|
||||
|
||||
/**
|
||||
* 截止本期结算比例
|
||||
*/
|
||||
@ExcelProperty(value = "截止本期结算比例")
|
||||
private BigDecimal settlementRatioUntilCurrent;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新(0=未勾选,1=勾选)
|
||||
*/
|
||||
@ExcelProperty(value = "实时刷新", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0==未勾选,1=勾选")
|
||||
private Long realTimeRefresh;
|
||||
|
||||
/**
|
||||
* 累计结算金额(统计及控制信息)
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "统=计及控制信息")
|
||||
private BigDecimal totalSettledAmount;
|
||||
|
||||
/**
|
||||
* 本期扣款金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期扣款金额")
|
||||
private BigDecimal currentDeductionAmount;
|
||||
|
||||
/**
|
||||
* 本期奖励金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期奖励金额")
|
||||
private BigDecimal currentRewardAmount;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同含税金额")
|
||||
private BigDecimal contractTaxInclAmount;
|
||||
|
||||
/**
|
||||
* 合同不含税金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同不含税金额")
|
||||
private BigDecimal contractTaxExclAmount;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
@ExcelProperty(value = "单据引用")
|
||||
private String documentReference;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.settlement.mapper;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
public interface XzdJsCgJinduMapper extends BaseMapperPlus<XzdJsCgJindu, XzdJsCgJinduVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.settlement.mapper;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungonEdit;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
public interface XzdJsCgJungonEditMapper extends BaseMapperPlus<XzdJsCgJungonEdit, XzdJsCgJungonEditVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.settlement.mapper;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungon;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
public interface XzdJsCgJungonMapper extends BaseMapperPlus<XzdJsCgJungon, XzdJsCgJungonVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.settlement.mapper;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsDeductionItemsVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
public interface XzdJsDeductionItemsMapper extends BaseMapperPlus<XzdJsDeductionItems, XzdJsDeductionItemsVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.settlement.mapper;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsZhfwJinduVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
public interface XzdJsZhfwJinduMapper extends BaseMapperPlus<XzdJsZhfwJindu, XzdJsZhfwJinduVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.settlement.service;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJinduBo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
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-14
|
||||
*/
|
||||
public interface IXzdJsCgJinduService extends IService<XzdJsCgJindu>{
|
||||
|
||||
/**
|
||||
* 查询采购合同进度结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同进度结算
|
||||
*/
|
||||
XzdJsCgJinduVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询采购合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同进度结算分页列表
|
||||
*/
|
||||
TableDataInfo<XzdJsCgJinduVo> queryPageList(XzdJsCgJinduBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同进度结算列表
|
||||
*/
|
||||
List<XzdJsCgJinduVo> queryList(XzdJsCgJinduBo bo);
|
||||
|
||||
/**
|
||||
* 新增采购合同进度结算
|
||||
*
|
||||
* @param bo 采购合同进度结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdJsCgJinduBo bo);
|
||||
|
||||
/**
|
||||
* 修改采购合同进度结算
|
||||
*
|
||||
* @param bo 采购合同进度结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdJsCgJinduBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同进度结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.settlement.service;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJungonEditBo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungonEdit;
|
||||
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-14
|
||||
*/
|
||||
public interface IXzdJsCgJungonEditService extends IService<XzdJsCgJungonEdit>{
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算调整
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同竣工结算调整
|
||||
*/
|
||||
XzdJsCgJungonEditVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询采购合同竣工结算调整列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同竣工结算调整分页列表
|
||||
*/
|
||||
TableDataInfo<XzdJsCgJungonEditVo> queryPageList(XzdJsCgJungonEditBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同竣工结算调整列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同竣工结算调整列表
|
||||
*/
|
||||
List<XzdJsCgJungonEditVo> queryList(XzdJsCgJungonEditBo bo);
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算调整
|
||||
*
|
||||
* @param bo 采购合同竣工结算调整
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdJsCgJungonEditBo bo);
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算调整
|
||||
*
|
||||
* @param bo 采购合同竣工结算调整
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdJsCgJungonEditBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同竣工结算调整信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.settlement.service;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJungonBo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungon;
|
||||
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-14
|
||||
*/
|
||||
public interface IXzdJsCgJungonService extends IService<XzdJsCgJungon>{
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同竣工结算
|
||||
*/
|
||||
XzdJsCgJungonVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询采购合同竣工结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同竣工结算分页列表
|
||||
*/
|
||||
TableDataInfo<XzdJsCgJungonVo> queryPageList(XzdJsCgJungonBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同竣工结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同竣工结算列表
|
||||
*/
|
||||
List<XzdJsCgJungonVo> queryList(XzdJsCgJungonBo bo);
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算
|
||||
*
|
||||
* @param bo 采购合同竣工结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdJsCgJungonBo bo);
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算
|
||||
*
|
||||
* @param bo 采购合同竣工结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdJsCgJungonBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同竣工结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.settlement.service;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsDeductionItemsVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsDeductionItemsBo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
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-14
|
||||
*/
|
||||
public interface IXzdJsDeductionItemsService extends IService<XzdJsDeductionItems>{
|
||||
|
||||
/**
|
||||
* 查询结算-扣款与奖励项
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 结算-扣款与奖励项
|
||||
*/
|
||||
XzdJsDeductionItemsVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询结算-扣款与奖励项列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 结算-扣款与奖励项分页列表
|
||||
*/
|
||||
TableDataInfo<XzdJsDeductionItemsVo> queryPageList(XzdJsDeductionItemsBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的结算-扣款与奖励项列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 结算-扣款与奖励项列表
|
||||
*/
|
||||
List<XzdJsDeductionItemsVo> queryList(XzdJsDeductionItemsBo bo);
|
||||
|
||||
/**
|
||||
* 新增结算-扣款与奖励项
|
||||
*
|
||||
* @param bo 结算-扣款与奖励项
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdJsDeductionItemsBo bo);
|
||||
|
||||
/**
|
||||
* 修改结算-扣款与奖励项
|
||||
*
|
||||
* @param bo 结算-扣款与奖励项
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdJsDeductionItemsBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除结算-扣款与奖励项信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.settlement.service;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsZhfwJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsZhfwJinduBo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
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-14
|
||||
*/
|
||||
public interface IXzdJsZhfwJinduService extends IService<XzdJsZhfwJindu>{
|
||||
|
||||
/**
|
||||
* 查询综合服务合同进度结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同进度结算
|
||||
*/
|
||||
XzdJsZhfwJinduVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同进度结算分页列表
|
||||
*/
|
||||
TableDataInfo<XzdJsZhfwJinduVo> queryPageList(XzdJsZhfwJinduBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同进度结算列表
|
||||
*/
|
||||
List<XzdJsZhfwJinduVo> queryList(XzdJsZhfwJinduBo bo);
|
||||
|
||||
/**
|
||||
* 新增综合服务合同进度结算
|
||||
*
|
||||
* @param bo 综合服务合同进度结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdJsZhfwJinduBo bo);
|
||||
|
||||
/**
|
||||
* 修改综合服务合同进度结算
|
||||
*
|
||||
* @param bo 综合服务合同进度结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdJsZhfwJinduBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同进度结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,218 @@
|
||||
package org.dromara.xzd.settlement.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
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.dromara.common.utils.BatchNumberGenerator;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.enums.XzdClassEnum;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsDeductionItemsBo;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.settlement.domain.bo.XzdJsCgJinduBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsCgJinduMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJinduService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, XzdJsCgJindu> implements IXzdJsCgJinduService {
|
||||
|
||||
private final XzdJsCgJinduMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
|
||||
@Autowired
|
||||
private IXzdJsDeductionItemsService deductionItemsService;
|
||||
|
||||
/**
|
||||
* 查询采购合同进度结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同进度结算
|
||||
*/
|
||||
@Override
|
||||
public XzdJsCgJinduVo queryById(Long id){
|
||||
XzdJsCgJinduVo xzdJsCgJinduVo = baseMapper.selectVoById(id);
|
||||
getName(xzdJsCgJinduVo);
|
||||
return xzdJsCgJinduVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询采购合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同进度结算分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdJsCgJinduVo> queryPageList(XzdJsCgJinduBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsCgJindu> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsCgJinduVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(this::getName);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同进度结算列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdJsCgJinduVo> queryList(XzdJsCgJinduBo bo) {
|
||||
LambdaQueryWrapper<XzdJsCgJindu> lqw = buildQueryWrapper(bo);
|
||||
List<XzdJsCgJinduVo> xzdJsCgJinduVos = baseMapper.selectVoList(lqw);
|
||||
xzdJsCgJinduVos.forEach(this::getName);
|
||||
return xzdJsCgJinduVos;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsCgJindu> buildQueryWrapper(XzdJsCgJinduBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdJsCgJindu> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdJsCgJindu::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdJsCgJindu::getDocCode, bo.getDocCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdJsCgJindu::getTitle, bo.getTitle());
|
||||
lqw.eq(bo.getDocDate() != null, XzdJsCgJindu::getDocDate, bo.getDocDate());
|
||||
lqw.eq(bo.getContractCode() != null, XzdJsCgJindu::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsCgJindu::getContractName, bo.getContractName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatCycle()), XzdJsCgJindu::getStatCycle, bo.getStatCycle());
|
||||
lqw.eq(bo.getMeasureStart() != null, XzdJsCgJindu::getMeasureStart, bo.getMeasureStart());
|
||||
lqw.eq(bo.getProject() != null, XzdJsCgJindu::getProject, bo.getProject());
|
||||
lqw.eq(bo.getApproveAmount() != null, XzdJsCgJindu::getApproveAmount, bo.getApproveAmount());
|
||||
lqw.eq(bo.getMeasureEnd() != null, XzdJsCgJindu::getMeasureEnd, bo.getMeasureEnd());
|
||||
lqw.eq(bo.getSettlementUnit() != null, XzdJsCgJindu::getSettlementUnit, bo.getSettlementUnit());
|
||||
lqw.eq(bo.getContractAmount() != null, XzdJsCgJindu::getContractAmount, bo.getContractAmount());
|
||||
lqw.eq(bo.getTotalSettlementExcludeCurrent() != null, XzdJsCgJindu::getTotalSettlementExcludeCurrent, bo.getTotalSettlementExcludeCurrent());
|
||||
lqw.eq(bo.getTotalSettlementIncludeCurrent() != null, XzdJsCgJindu::getTotalSettlementIncludeCurrent, bo.getTotalSettlementIncludeCurrent());
|
||||
lqw.eq(bo.getCurrentSettlementRatio() != null, XzdJsCgJindu::getCurrentSettlementRatio, bo.getCurrentSettlementRatio());
|
||||
lqw.eq(bo.getSettledRatioExcludeCurrent() != null, XzdJsCgJindu::getSettledRatioExcludeCurrent, bo.getSettledRatioExcludeCurrent());
|
||||
lqw.eq(bo.getSettlementRatioUntilCurrent() != null, XzdJsCgJindu::getSettlementRatioUntilCurrent, bo.getSettlementRatioUntilCurrent());
|
||||
lqw.eq(bo.getRealTimeRefresh() != null, XzdJsCgJindu::getRealTimeRefresh, bo.getRealTimeRefresh());
|
||||
lqw.eq(bo.getContractTaxInclAmount() != null, XzdJsCgJindu::getContractTaxInclAmount, bo.getContractTaxInclAmount());
|
||||
lqw.eq(bo.getContractTaxExclAmount() != null, XzdJsCgJindu::getContractTaxExclAmount, bo.getContractTaxExclAmount());
|
||||
lqw.eq(bo.getTotalSettledAmount() != null, XzdJsCgJindu::getTotalSettledAmount, bo.getTotalSettledAmount());
|
||||
lqw.eq(bo.getCurrentDeductionAmount() != null, XzdJsCgJindu::getCurrentDeductionAmount, bo.getCurrentDeductionAmount());
|
||||
lqw.eq(bo.getCurrentRewardAmount() != null, XzdJsCgJindu::getCurrentRewardAmount, bo.getCurrentRewardAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdJsCgJindu::getDocumentReference, bo.getDocumentReference());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdJsCgJindu::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同进度结算
|
||||
*
|
||||
* @param bo 采购合同进度结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdJsCgJinduBo bo) {
|
||||
XzdJsCgJindu add = MapstructUtils.convert(bo, XzdJsCgJindu.class);
|
||||
validEntityBeforeSave(add);
|
||||
String code = BatchNumberGenerator.generateBatchNumber("ZHFWHT-");
|
||||
add.setDocCode(code);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
|
||||
String tableName = XzdClassEnum.JS_CG_JINDU.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setMainDocId(add.getId());
|
||||
}
|
||||
deductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同进度结算
|
||||
*
|
||||
* @param bo 采购合同进度结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdJsCgJinduBo bo) {
|
||||
XzdJsCgJindu update = MapstructUtils.convert(bo, XzdJsCgJindu.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdJsCgJindu entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同进度结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
private void getName(XzdJsCgJinduVo item) {
|
||||
//项目名称
|
||||
if (item.getProject() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProject());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//结算单位(客户信息列表)
|
||||
R<QuerCorrespondentDto> dtoR = iXzdCorrespondentList.getCustomerByid(item.getSettlementUnit());
|
||||
if (dtoR!=null){
|
||||
if (dtoR.getData().getXzdCustomerinformation() != null){
|
||||
item.setSettlementUnitName(dtoR.getData().getXzdCustomerinformation().getUnitName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,141 @@
|
||||
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.XzdJsCgJungonEditBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungonEdit;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsCgJungonEditMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJungonEditService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditMapper, XzdJsCgJungonEdit> implements IXzdJsCgJungonEditService {
|
||||
|
||||
private final XzdJsCgJungonEditMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算调整
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同竣工结算调整
|
||||
*/
|
||||
@Override
|
||||
public XzdJsCgJungonEditVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询采购合同竣工结算调整列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同竣工结算调整分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdJsCgJungonEditVo> queryPageList(XzdJsCgJungonEditBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsCgJungonEdit> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsCgJungonEditVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同竣工结算调整列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同竣工结算调整列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdJsCgJungonEditVo> queryList(XzdJsCgJungonEditBo bo) {
|
||||
LambdaQueryWrapper<XzdJsCgJungonEdit> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsCgJungonEdit> buildQueryWrapper(XzdJsCgJungonEditBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdJsCgJungonEdit> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdJsCgJungonEdit::getId);
|
||||
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.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsCgJungonEdit::getContractName, bo.getContractName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdJsCgJungonEdit::getContractCode, bo.getContractCode());
|
||||
lqw.eq(bo.getAdjustedFinalAmount() != null, XzdJsCgJungonEdit::getAdjustedFinalAmount, bo.getAdjustedFinalAmount());
|
||||
lqw.eq(bo.getProjectId() != null, XzdJsCgJungonEdit::getProjectId, bo.getProjectId());
|
||||
lqw.eq(bo.getDefaultFinanceOrg() != null, XzdJsCgJungonEdit::getDefaultFinanceOrg, bo.getDefaultFinanceOrg());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAdjustmentDescription()), XzdJsCgJungonEdit::getAdjustmentDescription, bo.getAdjustmentDescription());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProcurementMode()), XzdJsCgJungonEdit::getProcurementMode, bo.getProcurementMode());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算调整
|
||||
*
|
||||
* @param bo 采购合同竣工结算调整
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdJsCgJungonEditBo bo) {
|
||||
XzdJsCgJungonEdit add = MapstructUtils.convert(bo, XzdJsCgJungonEdit.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算调整
|
||||
*
|
||||
* @param bo 采购合同竣工结算调整
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdJsCgJungonEditBo bo) {
|
||||
XzdJsCgJungonEdit update = MapstructUtils.convert(bo, XzdJsCgJungonEdit.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdJsCgJungonEdit entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同竣工结算调整信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,151 @@
|
||||
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.XzdJsCgJungonBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJungon;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsCgJungonMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJungonService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, XzdJsCgJungon> implements IXzdJsCgJungonService {
|
||||
|
||||
private final XzdJsCgJungonMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 采购合同竣工结算
|
||||
*/
|
||||
@Override
|
||||
public XzdJsCgJungonVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询采购合同竣工结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 采购合同竣工结算分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdJsCgJungonVo> queryPageList(XzdJsCgJungonBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsCgJungon> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsCgJungonVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的采购合同竣工结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 采购合同竣工结算列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdJsCgJungonVo> queryList(XzdJsCgJungonBo bo) {
|
||||
LambdaQueryWrapper<XzdJsCgJungon> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsCgJungon> buildQueryWrapper(XzdJsCgJungonBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdJsCgJungon> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdJsCgJungon::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdJsCgJungon::getDocCode, bo.getDocCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdJsCgJungon::getTitle, bo.getTitle());
|
||||
lqw.eq(bo.getDocDate() != null, XzdJsCgJungon::getDocDate, bo.getDocDate());
|
||||
lqw.eq(bo.getContractCode() != null, XzdJsCgJungon::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsCgJungon::getContractName, bo.getContractName());
|
||||
lqw.eq(bo.getFinalAmount() != null, XzdJsCgJungon::getFinalAmount, bo.getFinalAmount());
|
||||
lqw.eq(bo.getCurrentPeriodTotal() != null, XzdJsCgJungon::getCurrentPeriodTotal, bo.getCurrentPeriodTotal());
|
||||
lqw.eq(bo.getCurrentDeduction() != null, XzdJsCgJungon::getCurrentDeduction, bo.getCurrentDeduction());
|
||||
lqw.eq(bo.getCurrentReward() != null, XzdJsCgJungon::getCurrentReward, bo.getCurrentReward());
|
||||
lqw.eq(bo.getApproveDate() != null, XzdJsCgJungon::getApproveDate, bo.getApproveDate());
|
||||
lqw.eq(bo.getProjectId() != null, XzdJsCgJungon::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatCycle()), XzdJsCgJungon::getStatCycle, bo.getStatCycle());
|
||||
lqw.eq(bo.getPartyA() != null, XzdJsCgJungon::getPartyA, bo.getPartyA());
|
||||
lqw.eq(bo.getPartyB() != null, XzdJsCgJungon::getPartyB, bo.getPartyB());
|
||||
lqw.eq(bo.getProcurementMode() != null, XzdJsCgJungon::getProcurementMode, bo.getProcurementMode());
|
||||
lqw.eq(bo.getOwnerUnit() != null, XzdJsCgJungon::getOwnerUnit, bo.getOwnerUnit());
|
||||
lqw.eq(bo.getSupervisionUnit() != null, XzdJsCgJungon::getSupervisionUnit, bo.getSupervisionUnit());
|
||||
lqw.eq(bo.getConstructionUnit() != null, XzdJsCgJungon::getConstructionUnit, bo.getConstructionUnit());
|
||||
lqw.eq(bo.getAuditUnit() != null, XzdJsCgJungon::getAuditUnit, bo.getAuditUnit());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdJsCgJungon::getDocumentReference, bo.getDocumentReference());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdJsCgJungon::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购合同竣工结算
|
||||
*
|
||||
* @param bo 采购合同竣工结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdJsCgJungonBo bo) {
|
||||
XzdJsCgJungon add = MapstructUtils.convert(bo, XzdJsCgJungon.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购合同竣工结算
|
||||
*
|
||||
* @param bo 采购合同竣工结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdJsCgJungonBo bo) {
|
||||
XzdJsCgJungon update = MapstructUtils.convert(bo, XzdJsCgJungon.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdJsCgJungon entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购合同竣工结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,139 @@
|
||||
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.XzdJsDeductionItemsBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsDeductionItemsVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsDeductionItemsMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsDeductionItemsService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 结算-扣款与奖励项Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdJsDeductionItemsServiceImpl extends ServiceImpl<XzdJsDeductionItemsMapper, XzdJsDeductionItems> implements IXzdJsDeductionItemsService {
|
||||
|
||||
private final XzdJsDeductionItemsMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询结算-扣款与奖励项
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 结算-扣款与奖励项
|
||||
*/
|
||||
@Override
|
||||
public XzdJsDeductionItemsVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询结算-扣款与奖励项列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 结算-扣款与奖励项分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdJsDeductionItemsVo> queryPageList(XzdJsDeductionItemsBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsDeductionItemsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的结算-扣款与奖励项列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 结算-扣款与奖励项列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdJsDeductionItemsVo> queryList(XzdJsDeductionItemsBo bo) {
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsDeductionItems> buildQueryWrapper(XzdJsDeductionItemsBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdJsDeductionItems::getId);
|
||||
lqw.eq(bo.getMainDocId() != null, XzdJsDeductionItems::getMainDocId, bo.getMainDocId());
|
||||
lqw.eq(bo.getDetailType() != null, XzdJsDeductionItems::getDetailType, bo.getDetailType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getItemCategory()), XzdJsDeductionItems::getItemCategory, bo.getItemCategory());
|
||||
lqw.eq(bo.getCurrentPeriodAmount() != null, XzdJsDeductionItems::getCurrentPeriodAmount, bo.getCurrentPeriodAmount());
|
||||
lqw.eq(bo.getTotalAmount() != null, XzdJsDeductionItems::getTotalAmount, bo.getTotalAmount());
|
||||
lqw.eq(bo.getApplyDeduction() != null, XzdJsDeductionItems::getApplyDeduction, bo.getApplyDeduction());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getItemProperty()), XzdJsDeductionItems::getItemProperty, bo.getItemProperty());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getWbs()), XzdJsDeductionItems::getWbs, bo.getWbs());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCbs()), XzdJsDeductionItems::getCbs, bo.getCbs());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增结算-扣款与奖励项
|
||||
*
|
||||
* @param bo 结算-扣款与奖励项
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdJsDeductionItemsBo bo) {
|
||||
XzdJsDeductionItems add = MapstructUtils.convert(bo, XzdJsDeductionItems.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改结算-扣款与奖励项
|
||||
*
|
||||
* @param bo 结算-扣款与奖励项
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdJsDeductionItemsBo bo) {
|
||||
XzdJsDeductionItems update = MapstructUtils.convert(bo, XzdJsDeductionItems.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdJsDeductionItems entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除结算-扣款与奖励项信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,154 @@
|
||||
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.XzdJsZhfwJinduBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsZhfwJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsZhfwJinduMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsZhfwJinduService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-14
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdJsZhfwJinduServiceImpl extends ServiceImpl<XzdJsZhfwJinduMapper, XzdJsZhfwJindu> implements IXzdJsZhfwJinduService {
|
||||
|
||||
private final XzdJsZhfwJinduMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同进度结算
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 综合服务合同进度结算
|
||||
*/
|
||||
@Override
|
||||
public XzdJsZhfwJinduVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询综合服务合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 综合服务合同进度结算分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdJsZhfwJinduVo> queryPageList(XzdJsZhfwJinduBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsZhfwJindu> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsZhfwJinduVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的综合服务合同进度结算列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 综合服务合同进度结算列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdJsZhfwJinduVo> queryList(XzdJsZhfwJinduBo bo) {
|
||||
LambdaQueryWrapper<XzdJsZhfwJindu> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsZhfwJindu> buildQueryWrapper(XzdJsZhfwJinduBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdJsZhfwJindu> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdJsZhfwJindu::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), XzdJsZhfwJindu::getDocCode, bo.getDocCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdJsZhfwJindu::getTitle, bo.getTitle());
|
||||
lqw.eq(bo.getDocDate() != null, XzdJsZhfwJindu::getDocDate, bo.getDocDate());
|
||||
lqw.eq(bo.getContractCode() != null, XzdJsZhfwJindu::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdJsZhfwJindu::getContractName, bo.getContractName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatCycle()), XzdJsZhfwJindu::getStatCycle, bo.getStatCycle());
|
||||
lqw.eq(bo.getMeasureStart() != null, XzdJsZhfwJindu::getMeasureStart, bo.getMeasureStart());
|
||||
lqw.eq(bo.getApproveAmount() != null, XzdJsZhfwJindu::getApproveAmount, bo.getApproveAmount());
|
||||
lqw.eq(bo.getProject() != null, XzdJsZhfwJindu::getProject, bo.getProject());
|
||||
lqw.eq(bo.getSettlementUnit() != null, XzdJsZhfwJindu::getSettlementUnit, bo.getSettlementUnit());
|
||||
lqw.eq(bo.getContractAmount() != null, XzdJsZhfwJindu::getContractAmount, bo.getContractAmount());
|
||||
lqw.eq(bo.getTotalSettlementExclCurrent() != null, XzdJsZhfwJindu::getTotalSettlementExclCurrent, bo.getTotalSettlementExclCurrent());
|
||||
lqw.eq(bo.getTotalSettlementInclCurrent() != null, XzdJsZhfwJindu::getTotalSettlementInclCurrent, bo.getTotalSettlementInclCurrent());
|
||||
lqw.eq(bo.getCurrentSettlementRatio() != null, XzdJsZhfwJindu::getCurrentSettlementRatio, bo.getCurrentSettlementRatio());
|
||||
lqw.eq(bo.getSettledRatioExclCurrent() != null, XzdJsZhfwJindu::getSettledRatioExclCurrent, bo.getSettledRatioExclCurrent());
|
||||
lqw.eq(bo.getSettlementRatioUntilCurrent() != null, XzdJsZhfwJindu::getSettlementRatioUntilCurrent, bo.getSettlementRatioUntilCurrent());
|
||||
lqw.eq(bo.getRealTimeRefresh() != null, XzdJsZhfwJindu::getRealTimeRefresh, bo.getRealTimeRefresh());
|
||||
lqw.eq(bo.getTotalSettledAmount() != null, XzdJsZhfwJindu::getTotalSettledAmount, bo.getTotalSettledAmount());
|
||||
lqw.eq(bo.getCurrentDeductionAmount() != null, XzdJsZhfwJindu::getCurrentDeductionAmount, bo.getCurrentDeductionAmount());
|
||||
lqw.eq(bo.getCurrentRewardAmount() != null, XzdJsZhfwJindu::getCurrentRewardAmount, bo.getCurrentRewardAmount());
|
||||
lqw.eq(bo.getContractTaxInclAmount() != null, XzdJsZhfwJindu::getContractTaxInclAmount, bo.getContractTaxInclAmount());
|
||||
lqw.eq(bo.getContractTaxExclAmount() != null, XzdJsZhfwJindu::getContractTaxExclAmount, bo.getContractTaxExclAmount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentReference()), XzdJsZhfwJindu::getDocumentReference, bo.getDocumentReference());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdJsZhfwJindu::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增综合服务合同进度结算
|
||||
*
|
||||
* @param bo 综合服务合同进度结算
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdJsZhfwJinduBo bo) {
|
||||
XzdJsZhfwJindu add = MapstructUtils.convert(bo, XzdJsZhfwJindu.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改综合服务合同进度结算
|
||||
*
|
||||
* @param bo 综合服务合同进度结算
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdJsZhfwJinduBo bo) {
|
||||
XzdJsZhfwJindu update = MapstructUtils.convert(bo, XzdJsZhfwJindu.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdJsZhfwJindu entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除综合服务合同进度结算信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -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.XzdCsContractChangeMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.XzdCsContractInformationMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.XzdCsContractSuspendMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.settlement.mapper.XzdJsCgJinduMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.settlement.mapper.XzdJsCgJungonEditMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.settlement.mapper.XzdJsCgJungonMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.settlement.mapper.XzdJsDeductionItemsMapper">
|
||||
|
||||
</mapper>
|
||||
@ -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.settlement.mapper.XzdJsZhfwJinduMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user