1.发票延迟报销功能改造
This commit is contained in:
parent
9d401a8097
commit
55975606a7
|
@ -82,7 +82,7 @@ public class TravelInvoiceOverdueRemindersOp extends AbstractOperationServicePlu
|
||||||
"id",
|
"id",
|
||||||
filterArray);
|
filterArray);
|
||||||
|
|
||||||
if(load != null && load.length > 0){
|
if(load == null || load.length == 0){
|
||||||
DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("invoiceentry");//发票信息
|
DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("invoiceentry");//发票信息
|
||||||
List<LocalDate> dateList = new ArrayList<>();
|
List<LocalDate> dateList = new ArrayList<>();
|
||||||
for (DynamicObject dynamicObject : entryentity) {
|
for (DynamicObject dynamicObject : entryentity) {
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class OutContractSettlementValidator extends OutContractSettleValidator {
|
||||||
long referbillid = payitemdetailentry.getLong("referbillid");
|
long referbillid = payitemdetailentry.getLong("referbillid");
|
||||||
QFilter f1 = new QFilter("id", "=", referbillid);
|
QFilter f1 = new QFilter("id", "=", referbillid);
|
||||||
DynamicObject outcontractmeasure = BusinessDataServiceHelper.loadSingle("ec_outcontractmeasure", new QFilter[]{f1});
|
DynamicObject outcontractmeasure = BusinessDataServiceHelper.loadSingle("ec_outcontractmeasure", new QFilter[]{f1});
|
||||||
|
if(outcontractmeasure!=null){
|
||||||
DynamicObjectCollection listmodelentry = outcontractmeasure.getDynamicObjectCollection("listmodelentry");
|
DynamicObjectCollection listmodelentry = outcontractmeasure.getDynamicObjectCollection("listmodelentry");
|
||||||
//判断是否有含有计量单id 若有跳过 避免多次新增
|
//判断是否有含有计量单id 若有跳过 避免多次新增
|
||||||
Set<String> set = new HashSet();
|
Set<String> set = new HashSet();
|
||||||
|
@ -85,6 +86,7 @@ public class OutContractSettlementValidator extends OutContractSettleValidator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
OperationResult saveOperationResult = SaveServiceHelper.saveOperate(dataEntity1.getDataEntityType().getName(), new DynamicObject[]{dataEntity1}, null);//项目实体
|
OperationResult saveOperationResult = SaveServiceHelper.saveOperate(dataEntity1.getDataEntityType().getName(), new DynamicObject[]{dataEntity1}, null);//项目实体
|
||||||
|
|
||||||
BigDecimal settleOfTaxAmount = dataEntity.getDataEntity().getBigDecimal("settleoftaxamount");
|
BigDecimal settleOfTaxAmount = dataEntity.getDataEntity().getBigDecimal("settleoftaxamount");
|
||||||
|
|
|
@ -25,8 +25,8 @@ public class PaymentApplyFundExtOp extends PaymentApplyFundOp {
|
||||||
// 删除标品校验器
|
// 删除标品校验器
|
||||||
validators.removeIf(validator -> validator instanceof PaymentMaxAmountValidator);
|
validators.removeIf(validator -> validator instanceof PaymentMaxAmountValidator);
|
||||||
validators.removeIf(validator -> validator instanceof PaymentTypeValidator);
|
validators.removeIf(validator -> validator instanceof PaymentTypeValidator);
|
||||||
// 添加定制二开的校验器(位置放第一位,优先执行)
|
// 添加定制二开的校验器(位置放第一位,优先执行) 不需要产品校验,自定义开发校验
|
||||||
validators.add(0, new PaymentMaxAmountExtValidator());
|
//validators.add(0, new PaymentMaxAmountExtValidator());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,8 @@ public class PaymentMaxAmountExtValidator extends PaymentMaxAmountValidator {
|
||||||
if(contractObj!=null)
|
if(contractObj!=null)
|
||||||
{
|
{
|
||||||
String zcgjPricetype = contractObj.getString("zcgj_pricetype");
|
String zcgjPricetype = contractObj.getString("zcgj_pricetype");
|
||||||
if(!"bdlbdj".equals(zcgjPricetype)){ //如果支出合同计价方式为不定量不定价时,则移除校验
|
//if(!"bdlbdj".equals(zcgjPricetype)){ //如果支出合同计价方式为不定量不定价时,则移除校验
|
||||||
|
//20250318 全放开,后续在增加特定逻辑校验
|
||||||
BigDecimal maxShouldPayAmount = this.calculateMaxShouldPayAmount(contract);
|
BigDecimal maxShouldPayAmount = this.calculateMaxShouldPayAmount(contract);
|
||||||
DynamicObject contCurrency = contract.getDynamicObject("currency");
|
DynamicObject contCurrency = contract.getDynamicObject("currency");
|
||||||
if (contCurrency != null) {
|
if (contCurrency != null) {
|
||||||
|
@ -44,10 +45,10 @@ public class PaymentMaxAmountExtValidator extends PaymentMaxAmountValidator {
|
||||||
} else if (maxShouldPayAmount.compareTo(curMaxShouldPayAmount) != 0) {
|
} else if (maxShouldPayAmount.compareTo(curMaxShouldPayAmount) != 0) {
|
||||||
this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同付款信息:第%s行因暂存期间存在其他单据提交审核,导致应付金额上限发生变化,本单数据未刷新,继续提交将超过应付金额上限。", "PaymentMaxAmountValidator_1", "ec-contract-opplugin", new Object[0]), i + 1));
|
this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同付款信息:第%s行因暂存期间存在其他单据提交审核,导致应付金额上限发生变化,本单数据未刷新,继续提交将超过应付金额上限。", "PaymentMaxAmountValidator_1", "ec-contract-opplugin", new Object[0]), i + 1));
|
||||||
} else {
|
} else {
|
||||||
this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同付款信息:第%s行本次应付金额不允许超应付金额上限,请确认。", "PaymentMaxAmountValidator_2", "ec-contract-opplugin", new Object[0]), i + 1));
|
//this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同付款信息:第%s行本次应付金额不允许超应付金额上限,请确认。", "PaymentMaxAmountValidator_2", "ec-contract-opplugin", new Object[0]), i + 1));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,9 +59,9 @@ public class PaymentMaxAmountExtValidator extends PaymentMaxAmountValidator {
|
||||||
DynamicObject contractObj = BusinessDataServiceHelper.loadSingle("ec_out_contract", "id,zcgj_pricetype", new QFilter[]{contractIdFilter});
|
DynamicObject contractObj = BusinessDataServiceHelper.loadSingle("ec_out_contract", "id,zcgj_pricetype", new QFilter[]{contractIdFilter});
|
||||||
if(contractObj!=null){
|
if(contractObj!=null){
|
||||||
String zcgjPricetype = contractObj.getString("zcgj_pricetype");
|
String zcgjPricetype = contractObj.getString("zcgj_pricetype");
|
||||||
if(!"bdlbdj".equals(zcgjPricetype)){ //如果支出合同计价方式为不定量不定价时,则移除校验
|
//if(!"bdlbdj".equals(zcgjPricetype)){ //如果支出合同计价方式为不定量不定价时,则移除校验
|
||||||
super.maxApplyAmountValidate( shouldPayAmountMap, deductionAmountMap, contractTypeApplyAmountMap, appliedAmountMap, appliedBillMap, dataEntity, i, entry, contract, type, key);
|
// super.maxApplyAmountValidate( shouldPayAmountMap, deductionAmountMap, contractTypeApplyAmountMap, appliedAmountMap, appliedBillMap, dataEntity, i, entry, contract, type, key);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue