支出财务确认单:审核反审核操作插件;将合同进项发票信息分录中的价税合加减赋给→支出合同的累计开票价税合计中
This commit is contained in:
parent
d1d468c727
commit
3a4ee08fea
|
@ -0,0 +1,60 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支出财务确认单:审核反审核操作插件;将合同进项发票信息分录中的价税合加减赋给→支出合同的累计开票价税合计中
|
||||||
|
*/
|
||||||
|
public class FinanceConfirmAuditOp extends AbstractOperationServicePlugIn {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
||||||
|
super.afterExecuteOperationTransaction(e);
|
||||||
|
|
||||||
|
String operationKey = e.getOperationKey();//操作标识
|
||||||
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
|
List<DynamicObject> modifiedEntities = new ArrayList<>();
|
||||||
|
|
||||||
|
for (DynamicObject model : dataEntities) {
|
||||||
|
long id = model.getLong("id");
|
||||||
|
QFilter f1 = new QFilter("id", "=", id);
|
||||||
|
DynamicObject FinanceConfirm = BusinessDataServiceHelper.loadSingle("zcgj_ec_out_finaceconfirm",
|
||||||
|
"zcgj_contract,zcgj_entryentity,zcgj_entryentity.zcgj_oftaxinvoiceamount", new QFilter[]{f1});//支出财务确认单
|
||||||
|
DynamicObjectCollection entryEntityCollection = FinanceConfirm.getDynamicObjectCollection("zcgj_entryentity");//合同进项发票信息分录
|
||||||
|
BigDecimal totalTaxInvoiceAmount = BigDecimal.ZERO;
|
||||||
|
for (DynamicObject entryEntity : entryEntityCollection) {
|
||||||
|
BigDecimal ofTaxInvoiceAmount = entryEntity.getBigDecimal("zcgj_oftaxinvoiceamount");//价税合计
|
||||||
|
totalTaxInvoiceAmount = totalTaxInvoiceAmount.add(ofTaxInvoiceAmount);
|
||||||
|
}
|
||||||
|
DynamicObject contract = FinanceConfirm.getDynamicObject("zcgj_contract");//合同名称
|
||||||
|
QFilter filter = new QFilter("billno", QCP.equals, contract.getString("number"));
|
||||||
|
DynamicObject ec_out_contract = BusinessDataServiceHelper.loadSingle("ec_out_contract", new QFilter[]{filter});//支出合同
|
||||||
|
BigDecimal totalInvoiceofTaxAmount = ec_out_contract.getBigDecimal("totalinvoiceoftaxamount");//累计开票价税合计
|
||||||
|
if (operationKey.equals("audit")) {
|
||||||
|
ec_out_contract.set("totalinvoiceoftaxamount", totalInvoiceofTaxAmount.add(totalTaxInvoiceAmount));//支出合同-累计开票价税合计
|
||||||
|
} else if (operationKey.equals("unaudit")) {
|
||||||
|
ec_out_contract.set("totalinvoiceoftaxamount", totalInvoiceofTaxAmount.subtract(totalTaxInvoiceAmount));//支出合同-累计开票价税合计
|
||||||
|
}
|
||||||
|
modifiedEntities.add(ec_out_contract);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!modifiedEntities.isEmpty()) {
|
||||||
|
try {
|
||||||
|
SaveServiceHelper.save(modifiedEntities.toArray(new DynamicObject[0]));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue