1.0.79 合同变更类优化

dev
yinq 4 days ago
parent 1a57b13eb4
commit bd7b76767f

@ -4,6 +4,7 @@ import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -62,7 +63,7 @@ public class ErpContractChange extends TenantEntity {
/**
*
*/
private Long changeContractAmount;
private BigDecimal changeContractAmount;
/**
*
@ -82,7 +83,7 @@ public class ErpContractChange extends TenantEntity {
/**
*
*/
private Long originalContractAmount;
private BigDecimal originalContractAmount;
/**
*

@ -4,6 +4,7 @@ import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -82,7 +83,7 @@ public class ErpContractChangeInfo extends TenantEntity {
/**
*
*/
private Long totalPrice;
private BigDecimal totalPrice;
/**
*
@ -192,7 +193,7 @@ public class ErpContractChangeInfo extends TenantEntity {
/**
*
*/
private Long taxRate;
private BigDecimal taxRate;
/**
*

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
/**
* erp_contract_change_material
@ -60,7 +61,7 @@ public class ErpContractChangeMaterial extends TenantEntity {
/**
*
*/
private Long amount;
private BigDecimal amount;
/**
* ID
@ -70,22 +71,22 @@ public class ErpContractChangeMaterial extends TenantEntity {
/**
*
*/
private Long beforePrice;
private BigDecimal beforePrice;
/**
*
*/
private Long taxRate;
private BigDecimal taxRate;
/**
*
*/
private Long includingPrice;
private BigDecimal includingPrice;
/**
*
*/
private Long subtotal;
private BigDecimal subtotal;
/**
*

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
/**
* erp_contract_change_payment_method
@ -45,22 +46,22 @@ public class ErpContractChangePaymentMethod extends TenantEntity {
/**
*
*/
private Long paymentDeadline;
private BigDecimal paymentDeadline;
/**
*
*/
private Long paymentPercentage;
private BigDecimal paymentPercentage;
/**
*
*/
private Long invoicePercentage;
private BigDecimal invoicePercentage;
/**
*
*/
private Long paymentAmount;
private BigDecimal paymentAmount;
/**
*

@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -61,7 +62,7 @@ public class ErpContractChangeBo extends BaseEntity {
/**
*
*/
private Long changeContractAmount;
private BigDecimal changeContractAmount;
/**
*
@ -81,7 +82,7 @@ public class ErpContractChangeBo extends BaseEntity {
/**
*
*/
private Long originalContractAmount;
private BigDecimal originalContractAmount;
/**
*

@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -80,7 +81,7 @@ public class ErpContractChangeInfoBo extends BaseEntity {
/**
*
*/
private Long totalPrice;
private BigDecimal totalPrice;
/**
*
@ -190,7 +191,7 @@ public class ErpContractChangeInfoBo extends BaseEntity {
/**
*
*/
private Long taxRate;
private BigDecimal taxRate;
/**
*

@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* erp_contract_change_material
@ -58,7 +59,7 @@ public class ErpContractChangeMaterialBo extends BaseEntity {
/**
*
*/
private Long amount;
private BigDecimal amount;
/**
* ID
@ -68,22 +69,22 @@ public class ErpContractChangeMaterialBo extends BaseEntity {
/**
*
*/
private Long beforePrice;
private BigDecimal beforePrice;
/**
*
*/
private Long taxRate;
private BigDecimal taxRate;
/**
*
*/
private Long includingPrice;
private BigDecimal includingPrice;
/**
*
*/
private Long subtotal;
private BigDecimal subtotal;
/**
*

@ -8,6 +8,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* erp_contract_change_payment_method
@ -43,22 +44,22 @@ public class ErpContractChangePaymentMethodBo extends BaseEntity {
/**
*
*/
private Long paymentDeadline;
private BigDecimal paymentDeadline;
/**
*
*/
private Long paymentPercentage;
private BigDecimal paymentPercentage;
/**
*
*/
private Long invoicePercentage;
private BigDecimal invoicePercentage;
/**
*
*/
private Long paymentAmount;
private BigDecimal paymentAmount;
/**
*

@ -4,6 +4,9 @@ import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@ -46,7 +49,7 @@ public class ErpContractChangeSaveBo {
/**
*
*/
private java.util.Date applyTime;
private Date applyTime;
/**
*
@ -92,11 +95,11 @@ public class ErpContractChangeSaveBo {
private String contractCode;
private String contractName;
private String originalCustomerName;
private Long originalContractAmount;
private BigDecimal originalContractAmount;
private String changeContractCode;
private String changeContractName;
private String customerName;
private Long changeContractAmount;
private BigDecimal changeContractAmount;
/**
*

@ -12,6 +12,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -100,7 +101,7 @@ public class ErpContractChangeInfoVo implements Serializable {
*
*/
@ExcelProperty(value = "合同总价")
private Long totalPrice;
private BigDecimal totalPrice;
/**
*
@ -232,7 +233,7 @@ public class ErpContractChangeInfoVo implements Serializable {
*
*/
@ExcelProperty(value = "合同税率")
private Long taxRate;
private BigDecimal taxRate;
/**
*

@ -10,6 +10,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -74,7 +75,7 @@ public class ErpContractChangeMaterialVo implements Serializable {
*
*/
@ExcelProperty(value = "数量")
private Long amount;
private BigDecimal amount;
/**
* ID
@ -86,25 +87,25 @@ public class ErpContractChangeMaterialVo implements Serializable {
*
*/
@ExcelProperty(value = "未税单价")
private Long beforePrice;
private BigDecimal beforePrice;
/**
*
*/
@ExcelProperty(value = "税率")
private Long taxRate;
private BigDecimal taxRate;
/**
*
*/
@ExcelProperty(value = "含税单价")
private Long includingPrice;
private BigDecimal includingPrice;
/**
*
*/
@ExcelProperty(value = "小计")
private Long subtotal;
private BigDecimal subtotal;
/**
*

@ -10,6 +10,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -56,25 +57,25 @@ public class ErpContractChangePaymentMethodVo implements Serializable {
*
*/
@ExcelProperty(value = "支付期限")
private Long paymentDeadline;
private BigDecimal paymentDeadline;
/**
*
*/
@ExcelProperty(value = "支付比例")
private Long paymentPercentage;
private BigDecimal paymentPercentage;
/**
*
*/
@ExcelProperty(value = "发票比例")
private Long invoicePercentage;
private BigDecimal invoicePercentage;
/**
*
*/
@ExcelProperty(value = "支付金额")
private Long paymentAmount;
private BigDecimal paymentAmount;
/**
*

@ -12,6 +12,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -77,7 +78,7 @@ public class ErpContractChangeVo implements Serializable {
*
*/
@ExcelProperty(value = "合同金额")
private Long changeContractAmount;
private BigDecimal changeContractAmount;
/**
*
@ -101,7 +102,7 @@ public class ErpContractChangeVo implements Serializable {
*
*/
@ExcelProperty(value = "原合同金额")
private Long originalContractAmount;
private BigDecimal originalContractAmount;
/**
*

@ -24,8 +24,10 @@ import org.dromara.oa.erp.domain.bo.ErpContractChangeSaveBo;
import org.dromara.oa.erp.domain.vo.*;
import org.dromara.oa.erp.mapper.*;
import org.dromara.oa.erp.service.IErpContractChangeService;
import org.dromara.system.api.RemoteCodeRuleService;
import org.apache.dubbo.config.annotation.DubboReference;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.List;
@ -49,8 +51,13 @@ public class ErpContractChangeServiceImpl implements IErpContractChangeService {
private final ErpContractMaterialMapper contractMaterialMapper;
private final ErpContractPaymentMethodMapper contractPaymentMethodMapper;
/** 合同变更流程编码(审批通过后回写用) */
@DubboReference
private RemoteCodeRuleService remoteCodeRuleService;
/** 合同变更流程编码 */
public static final String FLOW_CODE_CONTRACT_CHANGE = "HTBG";
/** 变更编号编码规则 */
private static final String CONTRACT_CHANGE_CODE_RULE = "1021";
/** 变更类型1内容变更 2解除合同 */
private static final String CHANGE_TYPE_CONTENT = "1";
@ -201,8 +208,13 @@ public class ErpContractChangeServiceImpl implements IErpContractChangeService {
deleteChangeSubByChangeId(main.getContractChangeId());
}
} else {
if (StringUtils.isBlank(main.getChangeCode())) {
String changeCode = remoteCodeRuleService.selectCodeRuleCode(CONTRACT_CHANGE_CODE_RULE);
main.setChangeCode(changeCode);
}
baseMapper.insert(main);
bo.setContractChangeId(main.getContractChangeId());
bo.setChangeCode(main.getChangeCode());
}
if (CHANGE_TYPE_CONTENT.equals(bo.getChangeType())) {
@ -366,7 +378,7 @@ public class ErpContractChangeServiceImpl implements IErpContractChangeService {
contract.setBusinessDirection(snap.getBusinessDirection());
contract.setContractDeptId(snap.getContractDeptId());
contract.setContractDate(snap.getContractDate());
contract.setTotalPrice(toBigDecimal(snap.getTotalPrice()));
contract.setTotalPrice(snap.getTotalPrice());
contract.setOneCustomerId(snap.getOneCustomerId());
contract.setOneRepresent(snap.getOneRepresent());
contract.setOneDate(snap.getOneDate());
@ -388,7 +400,7 @@ public class ErpContractChangeServiceImpl implements IErpContractChangeService {
contract.setWarrantyPeriodDescription(snap.getWarrantyPeriodDescription());
contract.setDeliveryLocation(snap.getDeliveryLocation());
contract.setShipMethod(snap.getShipMethod());
contract.setTaxRate(toBigDecimal(snap.getTaxRate()));
contract.setTaxRate(snap.getTaxRate());
contract.setSigningPlace(snap.getSigningPlace());
contract.setMaterialRemark(snap.getMaterialRemark());
contract.setContractTemplateFlag(snap.getContractTemplateFlag());
@ -409,38 +421,28 @@ public class ErpContractChangeServiceImpl implements IErpContractChangeService {
cm.setUnitId(m.getUnitId());
cm.setRemark(m.getRemark());
cm.setActiveFlag(StringUtils.isNotBlank(m.getActiveFlag()) ? m.getActiveFlag() : "1");
cm.setAmount(toBigDecimal(m.getAmount()));
cm.setBeforePrice(toBigDecimal(m.getBeforePrice()));
cm.setTaxRate(toBigDecimal(m.getTaxRate()));
cm.setIncludingPrice(toBigDecimal(m.getIncludingPrice()));
cm.setSubtotal(toBigDecimal(m.getSubtotal()));
cm.setAmount(m.getAmount());
cm.setBeforePrice(m.getBeforePrice());
cm.setTaxRate(m.getTaxRate());
cm.setIncludingPrice(m.getIncludingPrice());
cm.setSubtotal(m.getSubtotal());
return cm;
}
/** 变更付款方式快照转合同付款方式(回写),兼容 Long/Number 与 BigDecimal */
/** 变更付款方式快照转合同付款方式(回写) */
private ErpContractPaymentMethod copyChangePaymentToContract(ErpContractChangePaymentMethod p, Long contractId) {
ErpContractPaymentMethod cpm = new ErpContractPaymentMethod();
cpm.setContractId(contractId);
cpm.setPaymentMethodId(null);
cpm.setSortOrder(p.getSortOrder());
cpm.setPaymentStageId(p.getPaymentStageId());
cpm.setPaymentDeadline(toBigDecimal(p.getPaymentDeadline()));
cpm.setPaymentPercentage(toBigDecimal(p.getPaymentPercentage()));
cpm.setInvoicePercentage(toBigDecimal(p.getInvoicePercentage()));
cpm.setPaymentAmount(toBigDecimal(p.getPaymentAmount()));
cpm.setPaymentDeadline(p.getPaymentDeadline());
cpm.setPaymentPercentage(p.getPaymentPercentage());
cpm.setInvoicePercentage(p.getInvoicePercentage());
cpm.setPaymentAmount(p.getPaymentAmount());
cpm.setPaymentDescription(p.getPaymentDescription());
cpm.setRemark(p.getRemark());
cpm.setActiveFlag(StringUtils.isNotBlank(p.getActiveFlag()) ? p.getActiveFlag() : "1");
return cpm;
}
private static BigDecimal toBigDecimal(Number n) {
if (n == null) {
return null;
}
if (n instanceof BigDecimal) {
return (BigDecimal) n;
}
return BigDecimal.valueOf(n.doubleValue());
}
}

Loading…
Cancel
Save