源单下查计息单、计息单上查源单表单插件
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