📄 viewaction.java
字号:
package cn.myapps.core.dynaform.view.action;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import cn.myapps.base.action.BaseAction;
import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.DataPackage;
import cn.myapps.constans.Environment;
import cn.myapps.core.deploy.module.ejb.ModuleProcess;
import cn.myapps.core.deploy.module.ejb.ModuleVO;
import cn.myapps.core.dynaform.document.ejb.Document;
import cn.myapps.core.dynaform.document.ejb.DocumentProcess;
import cn.myapps.core.dynaform.document.ejb.Item;
import cn.myapps.core.dynaform.form.ejb.Form;
import cn.myapps.core.dynaform.form.ejb.FormProcess;
import cn.myapps.core.dynaform.view.ejb.Column;
import cn.myapps.core.dynaform.view.ejb.FilterExpression;
import cn.myapps.core.dynaform.view.ejb.View;
import cn.myapps.core.dynaform.view.ejb.ViewProcess;
import cn.myapps.core.macro.runner.JavaScriptRunner;
import cn.myapps.core.resource.ejb.ResourceProcess;
import cn.myapps.core.resource.ejb.ResourceType;
import cn.myapps.core.resource.ejb.ResourceVO;
import cn.myapps.core.style.repository.ejb.StyleRepositoryProcess;
import cn.myapps.core.style.repository.ejb.StyleRepositoryVO;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.property.DefaultProperty;
import cn.myapps.util.sequence.Sequence;
import com.opensymphony.webwork.ServletActionContext;
public class ViewAction extends BaseAction {
private String _viewid;
private String _superiorid;
private String _resourceid;
private String _resourcedesc;
private String totalRowText;
private static final long serialVersionUID = 1L;
private static Map _OPENTYPE = new TreeMap();
static {
_OPENTYPE.put(Integer.valueOf(View.OPEN_TYPE_NORMAL), "Normal");
_OPENTYPE
.put(Integer.valueOf(View.OPEN_TYPE_POP), "Open in pop window");
_OPENTYPE.put(Integer.valueOf(View.OPEN_TYPE_PARENT),
"Open in working area");
}
public String get_searchformid() {
View view = (View) getContent();
if (view.getSearchForm() != null) {
return view.getSearchForm().getId();
}
return null;
}
public void set_searchformid(String _formid) {
View view = (View) getContent();
if (_formid != null) {
FormProcess fp;
try {
fp = (FormProcess) ProcessFactory
.createProcess((FormProcess.class));
Form form = (Form) fp.doView(_formid);
view.setSearchForm(form);
} catch (Exception e) {
}
}
}
public ViewAction() throws ClassNotFoundException {
super(ProcessFactory.createProcess(ViewProcess.class), new View());
}
public String doDisplayView() throws Exception {
DocumentProcess dp = (DocumentProcess) ProcessFactory
.createProcess(DocumentProcess.class);
String viewid = get_viewid();
String parentid = getParams().getParameterAsString("parentid");
View view = (View) proxy.doView(viewid);
if (view != null) {
setContent(view);
ParamsTable params = this.getParams(); // 获取并设置参数
WebUser user = this.getUser();
ArrayList errors = new ArrayList();
DataPackage datas = null;
String _currpage = params.getParameterAsString("_currpage");
int page = (_currpage != null && _currpage.length() > 0) ? Integer
.parseInt(_currpage) : 1;
String _pagelines = view.getPagelines();
int lines = (_pagelines != null && _pagelines.length() > 0) ? Integer
.parseInt(_pagelines)
: 10;
if (view.getEditMode().equals(View.EDIT_MODE_DESIGN)) { // DESIGN
String cndt = view.getFilterCondition();
if (cndt != null && cndt.trim().length() > 0) {
String hql = new FilterExpression()
.parseToHql(cndt, params);
System.out.println(hql);
if (parentid != null && parentid.trim().length() > 0) {
hql += " and (parent.id='" + parentid + "')";
}
if (view.isPagination()) {
datas = dp.queryByHQLPage(hql, page, lines,
getApplication());
} else {
datas = dp.queryByHQL(hql, getApplication());
}
}
} else if (view.getEditMode().equals(View.EDIT_MODE_CODE)) { // CODE
String js = view.getFilterScript();
if (js != null && js.trim().length() > 0) {
Document currdoc = null;
if (view.getSearchForm() != null) {
currdoc = view.getSearchForm().createDocument(params,
user);
} else {
currdoc = new Document();
}
JavaScriptRunner runner = JavaScriptRunner.getInstance();
runner.initBSFManager(currdoc, params, user, errors,
getApplication());
Object result = runner.run(js);
if (result != null && result instanceof String) {
String dql = (String) result;
if (parentid != null && parentid.trim().length() > 0)
dql = "(" + dql + ") and ($parent.$id='" + parentid
+ "')";
if (view.isPagination()) {
datas = dp.queryByDQLPage(dql, getParams(), page,
lines, getApplication());
} else {
datas = dp.queryByDQL(dql, getParams(),
getApplication());
}
}
if (view.isShowTotalRow()) {
if (datas.rowCount > 0) {
totalRowText = String.valueOf(datas.rowCount);
} else {
totalRowText = "0";
}
} else {
totalRowText = "0";
}
}
}
setDatas(datas);
}
return SUCCESS;
}
public String get_viewid() {
return _viewid;
}
public void set_viewid(String _viewid) {
if (_viewid.indexOf(",") != -1) {
String[] viewids = _viewid.split(",");
for (int i = 0; i < viewids.length; i++) {
if (viewids[i].trim().length() > 0) {
this._viewid = viewids[i].trim();
}
}
} else {
this._viewid = _viewid;
}
}
public String getViewsByModule() throws Exception {
ViewProcess process = (ViewProcess) this.proxy;
this.setDatas(process.getViewsByModuleId(this.get_moduleid(),
getApplication()));
return SUCCESS;
}
public String get_moduleid() {
View view = (View) getContent();
if (view.getModule() != null) {
return view.getModule().getId();
}
return null;
}
public void set_moduleid(String _moduleid) {
View view = (View) getContent();
if (_moduleid != null) {
ModuleProcess mp;
try {
mp = (ModuleProcess) ProcessFactory
.createProcess((ModuleProcess.class));
ModuleVO module = (ModuleVO) mp.doView(_moduleid);
view.setModule(module);
} catch (Exception e) {
}
}
}
public String get_styleid() {
if (((View) getContent()).getStyle() != null)
return ((View) getContent()).getStyle().getId();
else
return null;
}
public void set_styleid(String _styleid) throws Exception {
View view = (View) getContent();
if (_styleid != null) {
StyleRepositoryProcess sp = (StyleRepositoryProcess) ProcessFactory
.createProcess(StyleRepositoryProcess.class);
StyleRepositoryVO sty = (StyleRepositoryVO) sp.doView(_styleid);
view.setStyle(sty);
}
}
public String get_resourceid() {
View view = (View) getContent();
return view.getRelatedResourceid();
}
public void set_resourceid(String _resourceid) throws Exception {
this._resourceid = _resourceid;
}
public String get_superiorid() throws Exception {
View view = (View) getContent();
String rid = view.getRelatedResourceid();
if (rid != null) {
ResourceProcess rp = (ResourceProcess) ProcessFactory
.createProcess(ResourceProcess.class);
ResourceVO rvo = (ResourceVO) rp.doView(rid);
if (rvo != null && rvo.getSuperior() != null) {
return rvo.getSuperior().getId();
}
}
return null;
}
public void set_superiorid(String _superiorid) {
this._superiorid = _superiorid;
}
public String doSave() throws Exception {
View view = (View) getContent();
if (view.getId() == null || view.getId().trim().length() <= 0) {
view.setId(Sequence.getSequence());
view.setSortId(Sequence.getTimeSequence());
view.setApplicationid(getApplication());
}
ResourceProcess rp = (ResourceProcess) ProcessFactory
.createProcess(ResourceProcess.class);
ResourceVO resource = (ResourceVO) rp.doView(_resourceid);
if (_superiorid != null && _superiorid.trim().length() > 0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -