WIP:寄单放单提交校验
This commit is contained in:
parent
9bc2063f98
commit
91bb471d10
@ -12,10 +12,9 @@ import kd.bos.orm.query.QFilter;
|
|||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.yem.wm.fm.gathering.dynamic.GatheringClaimFormPlugin.getPercentagePeriod;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ljw
|
* @author ljw
|
||||||
* @date 2024/9/24 19:04
|
* @date 2024/9/24 19:04
|
||||||
@ -50,24 +49,54 @@ public class ExportPresentSubmitsValidator extends AbstractValidator {
|
|||||||
for (Map.Entry<Object, DynamicObject> salesoerderEntry : map.entrySet()) {
|
for (Map.Entry<Object, DynamicObject> salesoerderEntry : map.entrySet()) {
|
||||||
DynamicObject order = salesoerderEntry.getValue();
|
DynamicObject order = salesoerderEntry.getValue();
|
||||||
DynamicObjectCollection salescontrac = order.getDynamicObjectCollection("yem_es_salescontrac_s");
|
DynamicObjectCollection salescontrac = order.getDynamicObjectCollection("yem_es_salescontrac_s");
|
||||||
|
BigDecimal preAmt = BigDecimal.ZERO;//预收金额合计
|
||||||
for (DynamicObject d : salescontrac) {
|
for (DynamicObject d : salescontrac) {
|
||||||
DynamicObject rapstyle = d.getDynamicObject("yem_rapstyle_c");
|
DynamicObject rapstyle = d.getDynamicObject("yem_rapstyle_c");
|
||||||
BigDecimal raprate = d.getBigDecimal("yem_raprate");
|
BigDecimal raprate = d.getBigDecimal("yem_raprate");
|
||||||
|
boolean ispre = d.getBoolean("yem_ispre");
|
||||||
|
BigDecimal rapamt = d.getBigDecimal("yem_rapamt");
|
||||||
if (YEM.isNotEmpty(rapstyle)) {
|
if (YEM.isNotEmpty(rapstyle)) {
|
||||||
String number = rapstyle.getString("number");
|
String number = rapstyle.getString("number");
|
||||||
if ("D/A JSFS08 L/C OA D/A".contains(number) && raprate.compareTo(new BigDecimal("100")) == 0) {
|
if ("D/A JSFS08 L/C OA D/A".contains(number)) {
|
||||||
|
if (raprate.compareTo(new BigDecimal("100")) == 0) {
|
||||||
isRequireValidator = true;
|
isRequireValidator = true;
|
||||||
|
} else if (ispre) {
|
||||||
|
preAmt = preAmt.add(rapamt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
validatorPreAmtClaimFinished(preAmt, order, data);
|
||||||
|
}
|
||||||
|
|
||||||
if ("A".equals(paymenttype) && ("A".equals(isladingbill) || isRequireValidator)) {
|
if ("A".equals(paymenttype) && ("A".equals(isladingbill) || isRequireValidator)) {
|
||||||
arrearsVerification(dataEntity, data);
|
arrearsVerification(dataEntity, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验合同预收部分金额是否认领完成
|
||||||
|
*
|
||||||
|
* @param preAmt 预收金额
|
||||||
|
* @param order 合同
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
private void validatorPreAmtClaimFinished(BigDecimal preAmt, DynamicObject order, ExtendedDataEntity data) {
|
||||||
|
if (preAmt.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
BigDecimal orderAmt = PaymentControlUtil.getContractClimeAmt(order, "D");
|
||||||
|
BigDecimal shipAmt = PaymentControlUtil.getContractClimeAmt(order, "F");
|
||||||
|
if (orderAmt.add(shipAmt).compareTo(preAmt) < 0) {
|
||||||
|
this.addMessage(data, String.format("合同 [ %s ] 预收合计 [ %s ] ,已经认领金额合计 [ %s ],未认领完成,请确认!",
|
||||||
|
order.getString("billno"),
|
||||||
|
preAmt.setScale(4, RoundingMode.HALF_UP).toPlainString(),
|
||||||
|
orderAmt.add(shipAmt).setScale(4, RoundingMode.HALF_UP).toPlainString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void arrearsVerification(DynamicObject dataEntity, ExtendedDataEntity data) {
|
private void arrearsVerification(DynamicObject dataEntity, ExtendedDataEntity data) {
|
||||||
DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer");
|
DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer");
|
||||||
if (yemCustomer != null) {
|
if (yemCustomer != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user