improve:优化下推变更中逻辑,提交查询效率
This commit is contained in:
parent
8927475eab
commit
40a3632539
@ -1,6 +1,9 @@
|
||||
package com.yem.wm.sys.formplugin.list;
|
||||
|
||||
import java.util.EventObject;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@ -122,14 +125,27 @@ public class AbstractVersionListPlugin extends AbstractListPlugin {
|
||||
if (BillFormId.equals("yem_es_storagetrans")) {
|
||||
entityNumber = BillFormId;
|
||||
}
|
||||
if (entityNumber.length() > 0) {
|
||||
for (ListSelectedRow SelectedData : listSelectedData) {
|
||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(SelectedData.getPrimaryKeyValue(), entityNumber);
|
||||
String billNo = SelectedData.getBillNo();
|
||||
boolean yem_changing = dynamicObject.getBoolean("yem_changing");
|
||||
if (yem_changing) {
|
||||
this.getView().showErrorNotification("单据【" + billNo + "】正在变更中,禁止下推!");
|
||||
e.setCancel(true);
|
||||
if (!entityNumber.isEmpty()) {
|
||||
|
||||
Set<Long> ids = new HashSet<>();
|
||||
|
||||
for (ListSelectedRow datum : listSelectedData) {
|
||||
Long keyValue = (Long) datum.getPrimaryKeyValue();
|
||||
ids.add(keyValue);
|
||||
}
|
||||
|
||||
Map<Object, DynamicObject> loads = BusinessDataServiceHelper.loadFromCache(entityNumber, "id, billno, yem_changing", new QFilter[]{new QFilter("id", "in", ids)});
|
||||
|
||||
for (ListSelectedRow selectedRow : listSelectedData) {
|
||||
Object primaryKeyValue = selectedRow.getPrimaryKeyValue();
|
||||
if (loads.containsKey(primaryKeyValue)) {
|
||||
DynamicObject dynamicObject = loads.get(primaryKeyValue);
|
||||
String billno = dynamicObject.getString("billno");
|
||||
boolean yem_changing = dynamicObject.getBoolean("yem_changing");
|
||||
if (yem_changing) {
|
||||
this.getView().showErrorNotification("单据【" + billno + "】正在变更中,禁止下推!");
|
||||
e.setCancel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user