parent
e6d8e169d2
commit
02e9989768
|
|
@ -4,51 +4,50 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|||
import kd.bos.entity.EntityMetadataCache;
|
||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||
import kd.bos.form.control.events.BeforeItemClickEvent;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.list.BillList;
|
||||
import kd.bos.list.ListShowParameter;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
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.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import static kd.fi.cas.helper.PayBillListPlugnHelper.getFcaFilter;
|
||||
|
||||
/**
|
||||
* 标准单据列表插件
|
||||
* 付款处理-取消付款校验
|
||||
*/
|
||||
public class PayBillListPlugin extends AbstractListPlugin implements Plugin {
|
||||
|
||||
|
||||
@Override
|
||||
public void beforeItemClick(BeforeItemClickEvent evt) {
|
||||
super.beforeItemClick(evt);
|
||||
|
||||
String key = evt.getItemKey().toLowerCase();
|
||||
if ("tblcancelpay".equals(key)){
|
||||
BillList list = (BillList) this.getView().getControl("billlistap");
|
||||
ListSelectedRowCollection selectedRows = list.getSelectedRows();
|
||||
if (selectedRows == null || selectedRows.isEmpty()) {
|
||||
this.getView().showTipNotification("请选择需要操作的付款单!");
|
||||
evt.setCancel(true);
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
ListShowParameter listShowParameter = (ListShowParameter)this.getView().getFormShowParameter();
|
||||
if (!"付款处理".equals(listShowParameter.getCaption())) {
|
||||
return;
|
||||
}
|
||||
if (selectedRows.size()>1){
|
||||
this.getView().showTipNotification("请选择单条数据进行操作");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
|
||||
DynamicObject recBill= BusinessDataServiceHelper.loadSingle(
|
||||
selectedRows.get(0).getPrimaryKeyValue(),
|
||||
EntityMetadataCache.getDataEntityType("cas_paybill"));
|
||||
this.cancelPayValidator(evt,recBill);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void cancelPayValidator(BeforeItemClickEvent evt, DynamicObject recBill) {
|
||||
boolean ispushsap = recBill.getBoolean("shjh_ispushsap");
|
||||
if (ispushsap){
|
||||
this.getView().showTipNotification("已推送SAP,不允许取消付款!");
|
||||
evt.setCancel(true);
|
||||
List<QFilter> qFilters = e.getQFilters();
|
||||
HashSet<Long> value = new HashSet<>();
|
||||
for (QFilter qFilter : qFilters) {
|
||||
if (qFilter.toString().contains("billtype")) {
|
||||
List<QFilter.QFilterNest> nests = qFilter.getNests(true);
|
||||
for (QFilter.QFilterNest nest : nests) {
|
||||
String string1 = nest.toString();
|
||||
if (string1.contains("billtype")) {
|
||||
value = (HashSet<Long>)nest.getFilter().getValue();
|
||||
value.add(993266082510901248L);
|
||||
}
|
||||
}
|
||||
nests.clear();
|
||||
qFilters.remove(qFilter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
qFilters.add(new QFilter("billtype", QCP.in, value).and("iswaitsche", QCP.equals, '0'));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue