2025-05-22 07:44:41 +00:00
|
|
|
|
package shkd.repc.resm.formplugin;
|
|
|
|
|
|
|
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
|
|
import kd.bos.form.field.BasedataEdit;
|
|
|
|
|
import kd.bos.form.field.RefBillEdit;
|
|
|
|
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
|
|
|
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
|
|
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
|
|
|
import kd.bos.list.ListShowParameter;
|
|
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
|
|
import kd.bos.orm.query.QFilter;
|
|
|
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
|
|
import kd.sdk.plugin.Plugin;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 动态表单插件
|
|
|
|
|
*/
|
|
|
|
|
public class ContractDataSelectF7Plugin extends AbstractFormPlugin implements Plugin , BeforeF7SelectListener {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void registerListener(EventObject e) {
|
|
|
|
|
super.registerListener(e);
|
|
|
|
|
BasedataEdit bEdit = this.getView().getControl("contract");
|
|
|
|
|
bEdit.addBeforeF7SelectListener(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void beforeF7Select(BeforeF7SelectEvent evt) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 评估期间.开始
|
|
|
|
|
Date startTime = (Date) this.getModel().getValue("starttime");
|
|
|
|
|
//评估期间.结束
|
|
|
|
|
Date endTime = (Date) this.getModel().getValue("endtime");
|
|
|
|
|
if (startTime !=null && endTime !=null){
|
|
|
|
|
ListShowParameter formShowParameter = (ListShowParameter) evt.getFormShowParameter();
|
|
|
|
|
List<Long> canSeeDataId = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
// 查找所有可用的合同清单数据(使用状态 = "1")
|
|
|
|
|
QFilter statusFilter = new QFilter("enable", QCP.equals, "1");
|
|
|
|
|
QFilter startTimeFilter = new QFilter("sign_date", QCP.large_equals, startTime);
|
|
|
|
|
QFilter endTimeFilter = new QFilter("sign_date", QCP.less_equals, endTime);
|
|
|
|
|
DynamicObject[] settlePlanBills = BusinessDataServiceHelper.load("resm_contract_book", "id,bill,qeug_applyamount", statusFilter.and(startTimeFilter).and(endTimeFilter).toArray());
|
|
|
|
|
|
2025-05-22 10:01:02 +00:00
|
|
|
|
// // 若无数据,直接返回
|
|
|
|
|
// if (settlePlanBills == null || settlePlanBills.length == 0) {
|
|
|
|
|
// formShowParameter.getListFilterParameter().setFilter();
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
2025-05-22 07:44:41 +00:00
|
|
|
|
// 遍历所有数据
|
|
|
|
|
for (DynamicObject settlePlanBill : settlePlanBills) {
|
|
|
|
|
long id = settlePlanBill.getLong("id");
|
|
|
|
|
canSeeDataId.add(id);
|
|
|
|
|
}
|
|
|
|
|
List<QFilter> qFilters = Collections.singletonList(new QFilter("id", QCP.in, canSeeDataId));
|
|
|
|
|
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|