diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/other/FinanceConfirmOutContractPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/other/FinanceConfirmOutContractPlugin.java new file mode 100644 index 0000000..ba232bc --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/other/FinanceConfirmOutContractPlugin.java @@ -0,0 +1,34 @@ +package zcgj.zcdev.zcdev.pr.plugin.other; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; +import kd.bos.entity.botp.plugin.args.AfterBuildDrawFilterEventArgs; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 收入财务确认上拉支出合同结算botp插件 + */ +public class FinanceConfirmOutContractPlugin extends AbstractConvertPlugIn { + @Override + public void afterBuildDrawFilter(AfterBuildDrawFilterEventArgs e) { + //选单过滤 + super.afterBuildDrawFilter(e); + DynamicObject targetDataEntity = e.getTargetDataEntity();//当前数据包 + DynamicObjectCollection expenseReversalCollection = targetDataEntity.getDynamicObjectCollection("zcgj_expensereversal");//冲销支出结算分录 + List ids = new ArrayList<>(); + for (DynamicObject expenseReversa : expenseReversalCollection) { + long zcgj_expensereversaid = expenseReversa.getLong("zcgj_expensereversaid"); + ids.add(zcgj_expensereversaid); + } + QFilter filter = new QFilter("id", QCP.not_in, ids); + DynamicObject zcgj_contract = targetDataEntity.getDynamicObject("zcgj_contract");//合同名称 + DynamicObject project = zcgj_contract.getDynamicObject("project"); + filter = filter.and(new QFilter("project", QCP.equals, project.getPkValue())); + e.setPlugFilter(filter); + } +}