源单下查计息单、计息单上查源单表单插件
This commit is contained in:
parent
d837302e62
commit
ef4a83f199
|
|
@ -0,0 +1,68 @@
|
||||||
|
package kdsz.zyf25.tmc.cfm.plugin.form.cdm;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.bill.BillShowParameter;
|
||||||
|
import kd.bos.bill.OperationStatus;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.form.ShowType;
|
||||||
|
import kd.bos.form.control.events.ItemClickEvent;
|
||||||
|
import kd.bos.list.ListFilterParameter;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计息单上查源单(触发生成计息的单据)
|
||||||
|
*/
|
||||||
|
public class InterestAccrualLookUpBillPlugin extends AbstractBillPlugIn implements Plugin {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
this.addItemClickListeners("kdsz_lookup");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void itemClick(ItemClickEvent evt) {
|
||||||
|
super.itemClick(evt);
|
||||||
|
String itemKey = evt.getItemKey();
|
||||||
|
if ("kdsz_lookup".equals(itemKey)){
|
||||||
|
String srcEntity = (String) this.getModel().getValue("kdsz_srcentity");//源单标识
|
||||||
|
Object srcBillNo = this.getModel().getValue("kdsz_srcbillno");//源单单号
|
||||||
|
QFilter filter = new QFilter("billno", QCP.equals, srcBillNo);
|
||||||
|
DynamicObjectCollection feeBills = QueryServiceHelper.query(srcEntity,
|
||||||
|
"entry.srcbillid srcbillid", new QFilter[]{filter});
|
||||||
|
if (feeBills == null || feeBills.size() == 0){
|
||||||
|
this.getView().showMessage("暂无源单,可能已被删除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
HashSet<Long> srcBillIds = new HashSet<>();
|
||||||
|
for (DynamicObject feeBill : feeBills) {
|
||||||
|
srcBillIds.add(feeBill.getLong("srcbillid"));
|
||||||
|
}
|
||||||
|
if (srcBillIds.size() == 1){
|
||||||
|
Long[] srcBillArray = srcBillIds.toArray(new Long[0]);
|
||||||
|
//打开单据
|
||||||
|
BillShowParameter billShowParameter = new BillShowParameter();
|
||||||
|
billShowParameter.setFormId("cdm_payablebill");
|
||||||
|
billShowParameter.setPkId(srcBillArray[0]);//单据内码
|
||||||
|
billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
|
||||||
|
billShowParameter.setStatus(OperationStatus.EDIT);
|
||||||
|
this.getView().showForm(billShowParameter);
|
||||||
|
} else {
|
||||||
|
//打开列表
|
||||||
|
ListShowParameter listShowParameter = new ListShowParameter();
|
||||||
|
listShowParameter.setFormId("cdm_payablebill");
|
||||||
|
ListFilterParameter listFilterParameter = new ListFilterParameter();
|
||||||
|
listFilterParameter.setFilter(new QFilter("id",QCP.in,srcBillIds));
|
||||||
|
listShowParameter.setListFilterParameter(listFilterParameter);
|
||||||
|
this.getView().showForm(listShowParameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package kdsz.zyf25.tmc.cfm.plugin.form.cdm;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.bill.BillShowParameter;
|
||||||
|
import kd.bos.bill.OperationStatus;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.form.ShowType;
|
||||||
|
import kd.bos.form.control.events.ItemClickEvent;
|
||||||
|
import kd.bos.list.ListFilterParameter;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源单下查计息单
|
||||||
|
*/
|
||||||
|
public class LookDownInterestAccrualBillPlugin extends AbstractBillPlugIn implements Plugin {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
this.addItemClickListeners("kdsz_lookdownjx");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void itemClick(ItemClickEvent evt) {
|
||||||
|
super.itemClick(evt);
|
||||||
|
String itemKey = evt.getItemKey();
|
||||||
|
if ("kdsz_lookdownjx".equals(itemKey)){
|
||||||
|
Object id = this.getModel().getValue("id");
|
||||||
|
DynamicObjectCollection feeBills = QueryServiceHelper.query("cfm_feebill", "id",
|
||||||
|
new QFilter[]{new QFilter("entry.srcbillid", QCP.equals, id)});
|
||||||
|
if (feeBills == null || feeBills.size() == 0){
|
||||||
|
this.getView().showMessage("暂无对应下游费用明细,无法联查计息");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
HashSet<String> feeIds = new HashSet<>();
|
||||||
|
for (DynamicObject feeBill : feeBills) {
|
||||||
|
long feeId = feeBill.getLong("id");
|
||||||
|
feeIds.add(String.valueOf(feeId));
|
||||||
|
}
|
||||||
|
if (feeIds.size() == 1){
|
||||||
|
String[] feeIdArray = feeIds.toArray(new String[0]);
|
||||||
|
//打开单据
|
||||||
|
BillShowParameter billShowParameter = new BillShowParameter();
|
||||||
|
billShowParameter.setFormId("kdsz_interestaccrual");
|
||||||
|
billShowParameter.setPkId(feeIdArray[0]);//单据内码
|
||||||
|
billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
|
||||||
|
billShowParameter.setStatus(OperationStatus.EDIT);
|
||||||
|
this.getView().showForm(billShowParameter);
|
||||||
|
}else {
|
||||||
|
//打开列表
|
||||||
|
ListShowParameter listShowParameter = new ListShowParameter();
|
||||||
|
listShowParameter.setFormId("bos_list");
|
||||||
|
listShowParameter.setBillFormId("kdsz_interestaccrual");
|
||||||
|
listShowParameter.getOpenStyle().setShowType(ShowType.Modal);
|
||||||
|
ListFilterParameter listFilterParameter = new ListFilterParameter();
|
||||||
|
listFilterParameter.setFilter(new QFilter("kdsz_srcbillid",QCP.in,feeIds));
|
||||||
|
listShowParameter.setListFilterParameter(listFilterParameter);
|
||||||
|
this.getView().showForm(listShowParameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue