parent
44c67e65b4
commit
63af6bca0d
|
@ -12,7 +12,10 @@ import kd.bos.form.events.AfterDoOperationEventArgs;
|
|||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||
import kd.bos.form.operate.FormOperate;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import shkd.sys.sys.plugin.report.FinanceReportPlugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.EventObject;
|
||||
|
@ -20,6 +23,8 @@ import java.util.List;
|
|||
|
||||
public class banksavekdFormPlugin extends AbstractFormPlugin {
|
||||
|
||||
|
||||
private static final Log logger = LogFactory.getLog(banksavekdFormPlugin.class);
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
|
@ -41,7 +46,7 @@ public class banksavekdFormPlugin extends AbstractFormPlugin {
|
|||
@Override
|
||||
public void afterBindData(EventObject e) {
|
||||
// FilterCondition为存储的过滤配置元数据,需要自行从存储加载
|
||||
String filterObj = (String) getModel().getValue("shkd_filter");
|
||||
String filterObj = (String) getModel().getValue("shkd_filter_tag");
|
||||
FilterCondition filterCondition = null;
|
||||
if (!StringUtils.isEmpty(filterObj)) {
|
||||
filterCondition = SerializationUtils.fromJsonString(filterObj.toString(), FilterCondition.class);
|
||||
|
@ -85,7 +90,7 @@ public class banksavekdFormPlugin extends AbstractFormPlugin {
|
|||
if (filterCondition != null) {
|
||||
filter = SerializationUtils.toJsonString(filterCondition);
|
||||
}
|
||||
getModel().setValue("shkd_filter", filter);
|
||||
getModel().setValue("shkd_filter_tag", filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,54 @@
|
|||
package shkd.sys.sys.plugin.task;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.serialization.SerializationUtils;
|
||||
import kd.bos.entity.EntityMetadataCache;
|
||||
import kd.bos.entity.MainEntityType;
|
||||
import kd.bos.entity.filter.FilterBuilder;
|
||||
import kd.bos.entity.filter.FilterCondition;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.form.control.FilterGrid;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.schedule.executor.AbstractTask;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import shkd.sys.sys.plugin.form.banksavekdFormPlugin;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class banksavekdTaskPlugin extends AbstractTask {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(banksavekdTaskPlugin.class);
|
||||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||
QFilter filter = new QFilter("billstatus", QCP.equals, "C");
|
||||
DynamicObject[] shkd_banksavekds = BusinessDataServiceHelper.load("shkd_banksavekd", "id,billno,shkd_filter,shkd_filter_tag", filter.toArray());
|
||||
for (DynamicObject shkd_banksavekd : shkd_banksavekds) {
|
||||
String shkd_filter = shkd_banksavekd.getString("shkd_filter_tag");
|
||||
FilterCondition filterCondition = null;
|
||||
if (!StringUtils.isEmpty(shkd_filter)) {
|
||||
filterCondition = SerializationUtils.fromJsonString(shkd_filter, FilterCondition.class);
|
||||
}
|
||||
if (filterCondition != null){
|
||||
MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType("bei_transdetail");
|
||||
FilterBuilder filterBuilder = new FilterBuilder(mainEntityType, filterCondition);
|
||||
filterBuilder.buildFilter();
|
||||
QFilter qFilter = filterBuilder.getQFilter();
|
||||
qFilter = qFilter.and(new QFilter("kdretflag", QCP.not_equals, ""));
|
||||
|
||||
DynamicObject[] bei_transdetails = BusinessDataServiceHelper.load("bei_transdetail", "id,billno,description,kdretflag", qFilter.toArray());
|
||||
for (DynamicObject bei_transdetail : bei_transdetails) {
|
||||
bei_transdetail.set("kdretflag",null);
|
||||
SaveServiceHelper.save(new DynamicObject[]{bei_transdetail});
|
||||
logger.info("单据编号"+bei_transdetail.getString("billno")+"去除kd标识");
|
||||
}
|
||||
// System.out.println(bei_transdetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue