Jxstar 数据导入事件执行前与执行后的扩展方法 dataimp

可以在 dataimp 事件的类设置中,设置如下的类:
/*
* Copyright(c) 2017 DongHong Inc.
*/
package com.jxstar.demo.eam;

import java.util.List;
import java.util.Map;

import org.jxstar.control.action.RequestContext;
import org.jxstar.service.BusinessObject;
import org.jxstar.util.ArrayUtil;
import org.jxstar.util.JsonUtil;

/**
* 数据导入扩展测试类。
* 注册在数据导入事件“dataimp”的类设置中。
*
* @author TonyTan
* @version 1.0, 2017-6-10
*/
public class DataImpExtBO extends BusinessObject {
private static final long serialVersionUID = 1L;

/**
* 导入前的判断
* @param request
* @return
*/
public String preImp(RequestContext request) {
String srcFunId = request.getFunID();
//目标功能ID
String destFunId = request.getRequestValue("destfunid");
//其他参数有: keyid 选择记录主键数组、parentId 父记录ID
String[] keyids = request.getRequestValues("keyid");
String forKeyId = request.getRequestValue("parentId");

_log.showDebug("..............导入前事情,相关参数:");
_log.showDebug("..............来源功能ID:"+srcFunId);
_log.showDebug("..............目标功能ID:"+destFunId);
_log.showDebug("..............选择记录主键:"+ArrayUtil.arrayToString(keyids));
_log.showDebug("..............目标功能外键:"+forKeyId);

//判断示列效果
if (keyids.length > 2) {
setMessage("不能同时选择2条以上记录导入!");
return _returnFaild;
}

return _returnSuccess;
}

/**
* 导入后的扩展
* @param request
* @return
*/
public String postImp(RequestContext request) {
//格式如:[{impKeyId:"xxxx", newKeyId:"xxxx"}, {impKeyId:"xxxx", newKeyId:"xxxx"}]
String json = request.getReturnData();
_log.showDebug("..............新建主键对照:"+json);

List<Map<String,String>> lsData = JsonUtil.json2list(json);
_log.showDebug("..............解析后的数据:"+lsData);

return _returnSuccess;
}
}

0 个评论

要回复文章请先登录注册