采购合同结算接口
This commit is contained in:
@ -172,18 +172,21 @@ public class XzdCsContractChangeVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "变更后项目经理")
|
||||
private Long afterChangeProjectManager;
|
||||
private String afterChangeProjectManagerName;
|
||||
|
||||
/**
|
||||
* 变更后项目责任人
|
||||
*/
|
||||
@ExcelProperty(value = "变更后项目责任人")
|
||||
private Long afterChangeProjectLeader;
|
||||
private String afterChangeProjectLeaderName;
|
||||
|
||||
/**
|
||||
* 变更后现场经理
|
||||
*/
|
||||
@ExcelProperty(value = "变更后现场经理")
|
||||
private Long afterChangeSiteManager;
|
||||
private String afterChangeSiteManagerName;
|
||||
|
||||
/**
|
||||
* 变更后合同备注
|
||||
|
||||
@ -12,6 +12,7 @@ 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.ISysUserService;
|
||||
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.comprehensive.domain.XzdCsContractInformation;
|
||||
@ -56,6 +57,8 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
|
||||
private XzdSettlementRulesServiceImpl xzdSettlementRulesService;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
|
||||
@Autowired
|
||||
@ -343,6 +346,18 @@ public class XzdCsContractChangeServiceImpl extends ServiceImpl<XzdCsContractCha
|
||||
if (xzdSupplierInfoVo != null){
|
||||
item.setPartyBName(xzdSupplierInfoVo);
|
||||
}
|
||||
String name1 = sysUserService.queryNameById(item.getAfterChangeSiteManager());
|
||||
if (name1 != null){
|
||||
item.setAfterChangeSiteManagerName(name1);
|
||||
}
|
||||
String name2 = sysUserService.queryNameById(item.getAfterChangeProjectLeader());
|
||||
if (name2 != null){
|
||||
item.setAfterChangeProjectLeaderName(name2);
|
||||
}
|
||||
String name3 = sysUserService.queryNameById(item.getAfterChangeProjectManager());
|
||||
if (name3 != null){
|
||||
item.setAfterChangeProjectManagerName(name3);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -361,6 +361,11 @@ public class XzdPurchaseContractInformationServiceImpl extends ServiceImpl<XzdPu
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryCodeById(Long id) {
|
||||
return baseMapper.selectVoById(id).getContractCode();
|
||||
}
|
||||
|
||||
public void setValue(List<XzdPurchaseContractInformationVo> infos){
|
||||
|
||||
for (XzdPurchaseContractInformationVo item : infos) {
|
||||
|
||||
@ -61,7 +61,7 @@ public class XzdJsCgJinduController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJindu:query")
|
||||
// @SaCheckPermission("settlement:jsCgJindu:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJinduVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
|
||||
@ -61,7 +61,7 @@ public class XzdJsCgJungonController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungon:query")
|
||||
// @SaCheckPermission("settlement:jsCgJungon:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJungonVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
|
||||
@ -61,7 +61,7 @@ public class XzdJsCgJungonEditController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsCgJungonEdit:query")
|
||||
// @SaCheckPermission("settlement:jsCgJungonEdit:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsCgJungonEditVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
|
||||
@ -61,7 +61,7 @@ public class XzdJsZhfwJinduController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("settlement:jsZhfwJindu:query")
|
||||
// @SaCheckPermission("settlement:jsZhfwJindu:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdJsZhfwJinduVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
|
||||
@ -47,7 +47,7 @@ public class XzdJsCgJungonEdit extends BaseEntity {
|
||||
/**
|
||||
* 决算单号(带*,必填)
|
||||
*/
|
||||
private String finalAccountCode;
|
||||
private Long finalAccountCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
@ -57,7 +57,7 @@ public class XzdJsCgJungonEdit extends BaseEntity {
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
@ -89,5 +89,10 @@ public class XzdJsCgJungonEdit extends BaseEntity {
|
||||
*/
|
||||
private String procurementMode;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package org.dromara.xzd.settlement.domain;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
@ -63,6 +66,10 @@ public class XzdJsZhfwJindu extends BaseEntity {
|
||||
* 计量开始
|
||||
*/
|
||||
private LocalDate measureStart;
|
||||
/**
|
||||
* 计量结束
|
||||
*/
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
|
||||
@ -35,7 +35,7 @@ public class XzdJsCgJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = {EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
@ -53,6 +53,7 @@ public class XzdJsCgJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 合同编码(带查询,关联合同表)
|
||||
*/
|
||||
@NotNull(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
@ -75,12 +76,13 @@ public class XzdJsCgJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 项目(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "项目(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "项目(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long project;
|
||||
|
||||
/**
|
||||
* 审批金额(默认0.00)
|
||||
*/
|
||||
@NotNull(message = "审批金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal approveAmount;
|
||||
|
||||
/**
|
||||
|
||||
@ -8,8 +8,11 @@ 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_jungon
|
||||
@ -31,7 +34,7 @@ public class XzdJsCgJungonBo extends BaseEntity {
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = {EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
@ -49,6 +52,7 @@ public class XzdJsCgJungonBo extends BaseEntity {
|
||||
/**
|
||||
* 合同编号(带*,关联合同表)
|
||||
*/
|
||||
@NotNull(message = "合同编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
@ -142,5 +146,7 @@ public class XzdJsCgJungonBo extends BaseEntity {
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,8 +8,11 @@ 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_jungon_edit
|
||||
@ -31,7 +34,7 @@ public class XzdJsCgJungonEditBo extends BaseEntity {
|
||||
/**
|
||||
* 单据编号(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "单据编号(带*,必填)不能为空", groups = { EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
@ -60,7 +63,7 @@ public class XzdJsCgJungonEditBo extends BaseEntity {
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
@ -94,5 +97,11 @@ public class XzdJsCgJungonEditBo extends BaseEntity {
|
||||
*/
|
||||
private String procurementMode;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package org.dromara.xzd.settlement.domain.bo;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
@ -10,6 +11,7 @@ import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 综合服务合同进度结算业务对象 xzd_js_zhfw_jindu
|
||||
@ -31,7 +33,7 @@ public class XzdJsZhfwJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 单据编码(带*,必填)
|
||||
*/
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "单据编码(带*,必填)不能为空", groups = { EditGroup.class })
|
||||
private String docCode;
|
||||
|
||||
/**
|
||||
@ -49,6 +51,7 @@ public class XzdJsZhfwJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@NotNull(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractCode;
|
||||
|
||||
/**
|
||||
@ -65,7 +68,13 @@ public class XzdJsZhfwJinduBo extends BaseEntity {
|
||||
/**
|
||||
* 计量开始
|
||||
*/
|
||||
@NotNull(message = "计量开始不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate measureStart;
|
||||
/**
|
||||
* 计量结束
|
||||
*/
|
||||
@NotNull(message = "计量结束不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
@ -157,5 +166,6 @@ public class XzdJsZhfwJinduBo extends BaseEntity {
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
}
|
||||
|
||||
@ -8,12 +8,13 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@ -63,6 +64,7 @@ public class XzdJsCgJinduVo implements Serializable {
|
||||
@ExcelProperty(value = "合同编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=查询,关联合同表")
|
||||
private Long contractCode;
|
||||
private String contractCodeName;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
@ -218,5 +220,5 @@ public class XzdJsCgJinduVo implements Serializable {
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
}
|
||||
|
||||
@ -8,12 +8,13 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@ -62,7 +63,7 @@ public class XzdJsCgJungonEditVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "决算单号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private String finalAccountCode;
|
||||
private Long finalAccountCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
@ -74,7 +75,9 @@ public class XzdJsCgJungonEditVo implements Serializable {
|
||||
* 合同编号
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号")
|
||||
private String contractCode;
|
||||
private Long contractCode;
|
||||
private String contractCodeName;
|
||||
|
||||
|
||||
/**
|
||||
* 调整后决算金额(带*,必填)
|
||||
@ -89,12 +92,14 @@ public class XzdJsCgJungonEditVo implements Serializable {
|
||||
@ExcelProperty(value = "工程项目", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,必填")
|
||||
private Long projectId;
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 默认财务组织
|
||||
*/
|
||||
@ExcelProperty(value = "默认财务组织")
|
||||
private Long defaultFinanceOrg;
|
||||
private String defaultFinanceOrgName;
|
||||
|
||||
/**
|
||||
* 调整说明
|
||||
@ -114,5 +119,12 @@ public class XzdJsCgJungonEditVo implements Serializable {
|
||||
@ExcelProperty(value = "集采模式")
|
||||
private String procurementMode;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,12 +8,13 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@ -63,6 +64,7 @@ public class XzdJsCgJungonVo implements Serializable {
|
||||
@ExcelProperty(value = "合同编号", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "带=*,关联合同表")
|
||||
private Long contractCode;
|
||||
private String contractCodeName;
|
||||
|
||||
/**
|
||||
* 合同名称(关联合同后显示)
|
||||
@ -186,5 +188,7 @@ public class XzdJsCgJungonVo implements Serializable {
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package org.dromara.xzd.settlement.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsZhfwJindu;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@ -13,7 +15,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@ -82,6 +84,11 @@ public class XzdJsZhfwJinduVo implements Serializable {
|
||||
@ExcelProperty(value = "计量开始")
|
||||
private LocalDate measureStart;
|
||||
|
||||
/**
|
||||
* 计量结束
|
||||
*/
|
||||
private LocalDate measureEnd;
|
||||
|
||||
/**
|
||||
* 审批金额
|
||||
*/
|
||||
@ -192,5 +199,6 @@ public class XzdJsZhfwJinduVo implements Serializable {
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
List<XzdJsDeductionItems> kkyjlx;
|
||||
|
||||
}
|
||||
|
||||
@ -12,7 +12,10 @@ 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.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractChangeVo;
|
||||
import org.dromara.xzd.comprehensive.domain.vo.XzdCsContractInformationVo;
|
||||
import org.dromara.xzd.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.XzdDeductionItems;
|
||||
import org.dromara.xzd.domain.XzdSettlementRules;
|
||||
@ -31,10 +34,9 @@ import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsCgJindu;
|
||||
import org.dromara.xzd.settlement.mapper.XzdJsCgJinduMapper;
|
||||
import org.dromara.xzd.settlement.service.IXzdJsCgJinduService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 采购合同进度结算Service业务层处理
|
||||
@ -48,11 +50,20 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
|
||||
private final XzdJsCgJinduMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
|
||||
@Autowired
|
||||
private IXzdPurchaseContractInformationService xzdPurchaseContractInformationService;
|
||||
|
||||
@Autowired
|
||||
private IXzdJsDeductionItemsService deductionItemsService;
|
||||
|
||||
@ -66,6 +77,7 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
public XzdJsCgJinduVo queryById(Long id){
|
||||
XzdJsCgJinduVo xzdJsCgJinduVo = baseMapper.selectVoById(id);
|
||||
getName(xzdJsCgJinduVo);
|
||||
getHttk(xzdJsCgJinduVo);
|
||||
return xzdJsCgJinduVo;
|
||||
}
|
||||
|
||||
@ -137,11 +149,12 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(XzdJsCgJinduBo bo) {
|
||||
XzdJsCgJindu add = MapstructUtils.convert(bo, XzdJsCgJindu.class);
|
||||
validEntityBeforeSave(add);
|
||||
String code = BatchNumberGenerator.generateBatchNumber("ZHFWHT-");
|
||||
add.setDocCode(code);
|
||||
String banBen = BatchNumberGenerator.generateBatchNumber("JSCGJD-");
|
||||
add.setDocCode(banBen);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
@ -167,9 +180,24 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(XzdJsCgJinduBo bo) {
|
||||
XzdJsCgJindu update = MapstructUtils.convert(bo, XzdJsCgJindu.class);
|
||||
validEntityBeforeSave(update);
|
||||
//删除奖励与扣款对应数据
|
||||
deductionItemsService.remove(new LambdaQueryWrapper<XzdJsDeductionItems>().eq(XzdJsDeductionItems::getMainDocId, update.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(update.getId());
|
||||
}
|
||||
//新增奖励与扣款数据
|
||||
deductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@ -188,10 +216,26 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
* @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) {
|
||||
XzdJsCgJinduVo 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);
|
||||
}
|
||||
deductionItemsService.remove(new LambdaQueryWrapper<XzdJsDeductionItems>().in(XzdJsDeductionItems::getMainDocId, ids));
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@ -207,12 +251,32 @@ public class XzdJsCgJinduServiceImpl extends ServiceImpl<XzdJsCgJinduMapper, Xzd
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//合同编码
|
||||
if (item.getContractCode() != null){
|
||||
String code = xzdPurchaseContractInformationService.queryCodeById(item.getContractCode());
|
||||
if (code != null){
|
||||
item.setContractCodeName(code);
|
||||
}
|
||||
}
|
||||
//结算单位(客户信息列表)
|
||||
R<QuerCorrespondentDto> dtoR = iXzdCorrespondentList.getCustomerByid(item.getSettlementUnit());
|
||||
if (dtoR!=null){
|
||||
if (dtoR.getData().getXzdCustomerinformation() != null){
|
||||
item.setSettlementUnitName(dtoR.getData().getXzdCustomerinformation().getUnitName());
|
||||
if (item.getSettlementUnit() != null){
|
||||
String name = iXzdCorrespondentList.queryNameById(item.getSettlementUnit());
|
||||
if (name!=null){
|
||||
item.setSettlementUnitName(name);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取结算扣款与奖励项内容
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdJsCgJinduVo vo) {
|
||||
//结算扣款与奖励项
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId());
|
||||
List<XzdJsDeductionItems> list = deductionItemsService.list(lambdaQueryWrapper2);
|
||||
vo.setKkyjlx(list);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package org.dromara.xzd.settlement.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -9,6 +10,20 @@ 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.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService;
|
||||
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.vo.XzdJsCgJinduVo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
||||
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.XzdJsCgJungonEditBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
@ -16,9 +31,7 @@ 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;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算调整Service业务层处理
|
||||
@ -32,6 +45,23 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
|
||||
private final XzdJsCgJungonEditMapper baseMapper;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private IXzdPurchaseContractInformationService xzdPurchaseContractInformationService;
|
||||
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
|
||||
@Autowired
|
||||
private IXzdJsDeductionItemsService deductionItemsService;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算调整
|
||||
*
|
||||
@ -40,7 +70,10 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
*/
|
||||
@Override
|
||||
public XzdJsCgJungonEditVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
XzdJsCgJungonEditVo vo = baseMapper.selectVoById(id);
|
||||
getName(vo);
|
||||
getHttk(vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -54,6 +87,7 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
public TableDataInfo<XzdJsCgJungonEditVo> queryPageList(XzdJsCgJungonEditBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsCgJungonEdit> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsCgJungonEditVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(this::getName);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@ -66,7 +100,9 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
@Override
|
||||
public List<XzdJsCgJungonEditVo> queryList(XzdJsCgJungonEditBo bo) {
|
||||
LambdaQueryWrapper<XzdJsCgJungonEdit> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
List<XzdJsCgJungonEditVo> vos = baseMapper.selectVoList(lqw);
|
||||
vos.forEach(this::getName);
|
||||
return vos;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsCgJungonEdit> buildQueryWrapper(XzdJsCgJungonEditBo bo) {
|
||||
@ -78,7 +114,7 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
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.getContractCode() != null, 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());
|
||||
@ -97,10 +133,22 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
public Boolean insertByBo(XzdJsCgJungonEditBo bo) {
|
||||
XzdJsCgJungonEdit add = MapstructUtils.convert(bo, XzdJsCgJungonEdit.class);
|
||||
validEntityBeforeSave(add);
|
||||
String banBen = BatchNumberGenerator.generateBatchNumber("JSCGJDTZ-");
|
||||
add.setDocCode(banBen);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
String tableName = XzdClassEnum.JS_CG_JUNGON.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;
|
||||
}
|
||||
|
||||
@ -114,6 +162,20 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
public Boolean updateByBo(XzdJsCgJungonEditBo bo) {
|
||||
XzdJsCgJungonEdit update = MapstructUtils.convert(bo, XzdJsCgJungonEdit.class);
|
||||
validEntityBeforeSave(update);
|
||||
//删除奖励与扣款对应数据
|
||||
deductionItemsService.remove(new LambdaQueryWrapper<XzdJsDeductionItems>().eq(XzdJsDeductionItems::getMainDocId, update.getId()));
|
||||
//生成奖励与扣款数据
|
||||
String tableName = XzdClassEnum.JS_CG_JUNGON.getClassName();
|
||||
if (bo.getKkyjlx() == null || bo.getKkyjlx().isEmpty()) {
|
||||
throw new ServiceException("扣款与奖励项不能为空");
|
||||
}
|
||||
//合同条款-扣款与奖励项
|
||||
for (XzdJsDeductionItems kkyjlx : bo.getKkyjlx()) {
|
||||
kkyjlx.setTableName(tableName);
|
||||
kkyjlx.setMainDocId(update.getFinalAccountCode());
|
||||
}
|
||||
//新增奖励与扣款数据
|
||||
deductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@ -136,6 +198,60 @@ public class XzdJsCgJungonEditServiceImpl extends ServiceImpl<XzdJsCgJungonEditM
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
List<Long> deleteIds = new ArrayList<>();
|
||||
for (Long id : ids) {
|
||||
XzdJsCgJungonEditVo 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(XzdJsCgJungonEditVo item) {
|
||||
//项目名称
|
||||
if (item.getProjectId() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProjectId());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
//合同编码
|
||||
if (item.getContractCode() != null){
|
||||
String code = xzdPurchaseContractInformationService.queryCodeById(item.getContractCode());
|
||||
if (code != null){
|
||||
item.setContractCodeName(code);
|
||||
}
|
||||
}
|
||||
//部门名称
|
||||
if (item.getDefaultFinanceOrg() != null){
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(item.getDefaultFinanceOrg());
|
||||
if (sysDeptVo != null){
|
||||
item.setDefaultFinanceOrgName(sysDeptVo.getDeptName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取扣款与奖励项
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdJsCgJungonEditVo vo) {
|
||||
//结算扣款与奖励项
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId());
|
||||
List<XzdJsDeductionItems> list = deductionItemsService.list(lambdaQueryWrapper2);
|
||||
vo.setKkyjlx(list);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package org.dromara.xzd.settlement.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -9,16 +10,26 @@ 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.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.contractManagement.purchaseManagement.service.IXzdPurchaseContractInformationService;
|
||||
import org.dromara.xzd.enums.XzdClassEnum;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJinduVo;
|
||||
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.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 org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 采购合同竣工结算Service业务层处理
|
||||
@ -32,6 +43,24 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
|
||||
private final XzdJsCgJungonMapper baseMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
@Autowired
|
||||
private IXzdPurchaseContractInformationService xzdPurchaseContractInformationService;
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
|
||||
@Autowired
|
||||
private IXzdJsDeductionItemsService deductionItemsService;
|
||||
|
||||
/**
|
||||
* 查询采购合同竣工结算
|
||||
*
|
||||
@ -40,7 +69,10 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
*/
|
||||
@Override
|
||||
public XzdJsCgJungonVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
XzdJsCgJungonVo vo = baseMapper.selectVoById(id);
|
||||
getName(vo);
|
||||
getHttk(vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -54,6 +86,7 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
public TableDataInfo<XzdJsCgJungonVo> queryPageList(XzdJsCgJungonBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdJsCgJungon> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdJsCgJungonVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(this::getName);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@ -66,7 +99,9 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
@Override
|
||||
public List<XzdJsCgJungonVo> queryList(XzdJsCgJungonBo bo) {
|
||||
LambdaQueryWrapper<XzdJsCgJungon> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
List<XzdJsCgJungonVo> vos = baseMapper.selectVoList(lqw);
|
||||
vos.forEach(this::getName);
|
||||
return vos;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdJsCgJungon> buildQueryWrapper(XzdJsCgJungonBo bo) {
|
||||
@ -104,13 +139,27 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(XzdJsCgJungonBo bo) {
|
||||
XzdJsCgJungon add = MapstructUtils.convert(bo, XzdJsCgJungon.class);
|
||||
validEntityBeforeSave(add);
|
||||
String banBen = BatchNumberGenerator.generateBatchNumber("JSCGJG-");
|
||||
add.setDocCode(banBen);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
|
||||
String tableName = XzdClassEnum.JS_CG_JUNGON.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;
|
||||
}
|
||||
|
||||
@ -121,9 +170,24 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(XzdJsCgJungonBo bo) {
|
||||
XzdJsCgJungon update = MapstructUtils.convert(bo, XzdJsCgJungon.class);
|
||||
validEntityBeforeSave(update);
|
||||
//删除奖励与扣款对应数据
|
||||
deductionItemsService.remove(new LambdaQueryWrapper<XzdJsDeductionItems>().eq(XzdJsDeductionItems::getMainDocId, update.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(update.getId());
|
||||
}
|
||||
//新增奖励与扣款数据
|
||||
deductionItemsService.saveBatch(bo.getKkyjlx());
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@ -142,10 +206,101 @@ public class XzdJsCgJungonServiceImpl extends ServiceImpl<XzdJsCgJungonMapper, X
|
||||
* @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) {
|
||||
XzdJsCgJungonVo 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);
|
||||
}
|
||||
deductionItemsService.remove(new LambdaQueryWrapper<XzdJsDeductionItems>().in(XzdJsDeductionItems::getMainDocId, ids));
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
private void getName(XzdJsCgJungonVo item) {
|
||||
//项目名称
|
||||
if (item.getProjectId() != null){
|
||||
String projectName = xzdProjectService.queryNameById(item.getProjectId());
|
||||
if (projectName != null){
|
||||
item.setProjectName(projectName);
|
||||
}
|
||||
}
|
||||
if (item.getContractCode() != null){
|
||||
String code = xzdPurchaseContractInformationService.queryCodeById(item.getContractCode());
|
||||
if (code != null){
|
||||
item.setContractCodeName(code);
|
||||
}
|
||||
}
|
||||
//甲方单位(客户信息列表)
|
||||
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.getOwnerUnit() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getOwnerUnit());
|
||||
if (byid!=null){
|
||||
item.setOwnerUnitName(byid);
|
||||
}
|
||||
}
|
||||
//监理单位(客户信息列表)
|
||||
if (item.getSupervisionUnit() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getSupervisionUnit());
|
||||
if (byid!=null){
|
||||
item.setSupervisionUnitName(byid);
|
||||
}
|
||||
}
|
||||
//施工单位(客户信息列表)
|
||||
if (item.getConstructionUnit() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getConstructionUnit());
|
||||
if (byid!=null){
|
||||
item.setConstructionUnitName(byid);
|
||||
}
|
||||
}
|
||||
//审核单位(客户信息列表)
|
||||
if (item.getAuditUnit() != null){
|
||||
String byid = iXzdCorrespondentList.queryNameById(item.getAuditUnit());
|
||||
if (byid!=null){
|
||||
item.setAuditUnitName(byid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取扣款与奖励项
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdJsCgJungonVo vo) {
|
||||
//结算扣款与奖励项
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId());
|
||||
List<XzdJsDeductionItems> list = deductionItemsService.list(lambdaQueryWrapper2);
|
||||
vo.setKkyjlx(list);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,14 @@ 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.service.impl.XzdProjectServiceImpl;
|
||||
import org.dromara.xzd.settlement.domain.XzdJsDeductionItems;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonEditVo;
|
||||
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.XzdJsZhfwJinduBo;
|
||||
import org.dromara.xzd.settlement.domain.vo.XzdJsZhfwJinduVo;
|
||||
@ -32,6 +40,20 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl<XzdJsZhfwJinduMapper,
|
||||
|
||||
private final XzdJsZhfwJinduMapper baseMapper;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
|
||||
@Autowired
|
||||
private IXzdJsDeductionItemsService deductionItemsService;
|
||||
|
||||
/**
|
||||
* 查询综合服务合同进度结算
|
||||
*
|
||||
@ -151,4 +173,38 @@ public class XzdJsZhfwJinduServiceImpl extends ServiceImpl<XzdJsZhfwJinduMapper,
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取部分字段名称
|
||||
* @param item
|
||||
*/
|
||||
// private void getName(XzdJsZhfwJinduVo item) {
|
||||
// //项目名称
|
||||
// if (item.getProjectId() != null){
|
||||
// String projectName = xzdProjectService.queryNameById(item.getProjectId());
|
||||
// if (projectName != null){
|
||||
// item.setProjectName(projectName);
|
||||
// }
|
||||
// }
|
||||
// //部门名称
|
||||
// if (item.getDefaultFinanceOrg() != null){
|
||||
// SysDeptVo sysDeptVo = sysDeptService.selectDeptById(item.getDefaultFinanceOrg());
|
||||
// if (sysDeptVo != null){
|
||||
// item.setDefaultFinanceOrgName(sysDeptVo.getDeptName());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 获取扣款与奖励项
|
||||
* @param vo
|
||||
*/
|
||||
private void getHttk(XzdJsZhfwJinduVo vo) {
|
||||
//结算扣款与奖励项
|
||||
LambdaQueryWrapper<XzdJsDeductionItems> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper2.eq(XzdJsDeductionItems::getMainDocId, vo.getId());
|
||||
List<XzdJsDeductionItems> list = deductionItemsService.list(lambdaQueryWrapper2);
|
||||
vo.setKkyjlx(list);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user