支出合同结算列表和收入合同履约记录列表添加不含税金额穿透功能

This commit is contained in:
xuhaihui 2026-01-08 16:40:29 +08:00
parent d8eab8e0a9
commit a2f0ce0db2
2 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,47 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.form.ShowType;
import kd.bos.form.events.HyperLinkClickArgs;
import kd.bos.list.ListShowParameter;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.mvc.list.ListView;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import java.util.ArrayList;
import java.util.List;
/**
* 收入合同履约记录列表插件
*/
public class InPerFormRecordsListPlugin extends AbstractListPlugin {
public void billListHyperLinkClick(HyperLinkClickArgs args) {
super.billListHyperLinkClick(args);
String fieldName = args.getHyperLinkClickEvent().getFieldName();
if ("zcgj_taxperformflot".equals(fieldName)) {
//已冲销金额
args.setCancel(true);
ListView viewList = (ListView) this.getView();
Object measureId = viewList.getFocusRowPkId();
String billFormId = viewList.getBillFormId();
DynamicObject measure = BusinessDataServiceHelper.loadSingle(measureId, billFormId, "id");//收入合同履约记录
QFilter filter = new QFilter("zcgj_performrec.zcgj_performrecid", QCP.equals, measure.getPkValue());
filter.and(new QFilter("billstatus", QCP.equals, "C"));
DynamicObjectCollection zcgj_ec_in_finaceconfirms = QueryServiceHelper.query("zcgj_ec_in_finaceconfirm", "id", new QFilter[]{filter});
List<Long> dailyLoanBillDataIds = new ArrayList<>();
for (DynamicObject zcgj_ec_in_finaceconfirm : zcgj_ec_in_finaceconfirms) {
dailyLoanBillDataIds.add((Long) zcgj_ec_in_finaceconfirm.get("id"));
}
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.setFormId("bos_list"); //列表界面
listShowParameter.setBillFormId("zcgj_ec_in_finaceconfirm"); //单据的标识
listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
dailyLoanBillDataIds.forEach(listShowParameter::addLinkQueryPkId);
this.getView().showForm(listShowParameter);
}
}
}

View File

@ -0,0 +1,48 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.form.ShowType;
import kd.bos.form.events.HyperLinkClickArgs;
import kd.bos.list.ListShowParameter;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.mvc.list.ListView;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import java.util.ArrayList;
import java.util.List;
/**
* 支出合同结算列表插件
*/
public class OutContractSettleListPlugin extends AbstractListPlugin {
public void billListHyperLinkClick(HyperLinkClickArgs args) {
super.billListHyperLinkClick(args);
String fieldName = args.getHyperLinkClickEvent().getFieldName();
if ("zcgj_taxinclcontractrev".equals(fieldName)) {
//已冲销金额
args.setCancel(true);
ListView viewList = (ListView) this.getView();
Object measureId = viewList.getFocusRowPkId();
String billFormId = viewList.getBillFormId();
DynamicObject measure = BusinessDataServiceHelper.loadSingle(measureId, billFormId, "id");//支出合同结算
QFilter filter = new QFilter("zcgj_expensereversal.zcgj_expensereversaid", QCP.equals, measure.getPkValue());
filter.and(new QFilter("billstatus", QCP.equals, "C"));
DynamicObjectCollection zcgj_ec_in_finaceconfirms = QueryServiceHelper.query("zcgj_ec_in_finaceconfirm", "id", new QFilter[]{filter});
List<Long> dailyLoanBillDataIds = new ArrayList<>();
for (DynamicObject zcgj_ec_in_finaceconfirm : zcgj_ec_in_finaceconfirms) {
dailyLoanBillDataIds.add((Long) zcgj_ec_in_finaceconfirm.get("id"));
}
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.setFormId("bos_list"); //列表界面
listShowParameter.setBillFormId("zcgj_ec_in_finaceconfirm"); //单据的标识
listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
dailyLoanBillDataIds.forEach(listShowParameter::addLinkQueryPkId);
this.getView().showForm(listShowParameter);
}
}
}