已冲销金额穿透

This commit is contained in:
xuhaihui 2025-12-30 18:32:26 +08:00
parent be9ffd555b
commit 836a8a3201
1 changed files with 40 additions and 17 deletions

View File

@ -26,6 +26,7 @@ import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.permission.api.HasPermOrgResult; import kd.bos.permission.api.HasPermOrgResult;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.permission.PermissionServiceHelper; import kd.bos.servicehelper.permission.PermissionServiceHelper;
import kd.ec.contract.common.enums.DirectionEnum; import kd.ec.contract.common.enums.DirectionEnum;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
@ -239,30 +240,52 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement
} }
this.addItemClickListeners("zcgj_entrytoolbar111"); this.addItemClickListeners("zcgj_entrytoolbar111");
this.addItemClickListeners("zcgj_entrytoolbar1111"); this.addItemClickListeners("zcgj_entrytoolbar1111");
EntryGrid entryGrid = this.getView().getControl("zcgj_performrec");//冲销履约记录
entryGrid.addHyperClickListener(this);
} }
@Override @Override
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) { public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
String fieldName = hyperLinkClickEvent.getFieldName(); String fieldName = hyperLinkClickEvent.getFieldName();
EntryGrid entryGrid = getView().getControl("zcgj_entryentity"); if (StringUtils.equals(fieldName, "zcgj_invoice")) {
int[] selectRows = entryGrid.getSelectRows(); EntryGrid entryGrid = getView().getControl("zcgj_entryentity");
if(selectRows != null && selectRows.length == 1){ int[] selectRows = entryGrid.getSelectRows();
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_entryentity"); if (selectRows != null && selectRows.length == 1) {
DynamicObject dynamicObject = dynamicObjectCollection.get(selectRows[0]); DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_entryentity");
DynamicObject zcgjInvoice = dynamicObject.getDynamicObject("zcgj_invoice"); DynamicObject dynamicObject = dynamicObjectCollection.get(selectRows[0]);
long invoiceId = zcgjInvoice.getLong("id"); DynamicObject zcgjInvoice = dynamicObject.getDynamicObject("zcgj_invoice");
if(invoiceId != 0){ long invoiceId = zcgjInvoice.getLong("id");
//弹出发票详情 if (invoiceId != 0) {
BillShowParameter showParameter = new BillShowParameter(); //弹出发票详情
showParameter.setPkId(invoiceId); BillShowParameter showParameter = new BillShowParameter();
showParameter.setFormId("ec_out_invoice"); showParameter.setPkId(invoiceId);
showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); //打开方式 showParameter.setFormId("ec_out_invoice");
getView().showForm(showParameter); showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); //打开方式
getView().showForm(showParameter);
}
} else {
this.getView().showTipNotification("请选择一条发票数据。");
} }
}else{ } else if (StringUtils.equals(fieldName, "zcgj_reversedamount")) {
this.getView().showTipNotification("请选择一条发票数据。"); //冲销履约记录-已冲销金额
List<Long> dailyLoanBillDataIds = new ArrayList<>();
int rowIndex = hyperLinkClickEvent.getRowIndex();
DynamicObjectCollection perFormRecCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_performrec");//冲销履约记录
DynamicObject perFormRec = perFormRecCollection.get(rowIndex);
long zcgj_performrecid = perFormRec.getLong("zcgj_performrecid");
QFilter filter = new QFilter("zcgj_performrec.zcgj_performrecid", QCP.equals, zcgj_performrecid);
filter.and(new QFilter("billstatus", QCP.equals, "C"));
DynamicObjectCollection zcgj_ec_in_finaceconfirms = QueryServiceHelper.query("zcgj_ec_in_finaceconfirm", "id", new QFilter[]{filter});
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);
} }
} }
@Override @Override