package com.norteksoft.mms.form.web; import java.util.List; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import org.springframework.beans.factory.annotation.Autowired; import com.norteksoft.mms.form.entity.ListColumn; import com.norteksoft.mms.form.entity.ListView; import com.norteksoft.mms.form.entity.TableColumn; import com.norteksoft.mms.form.service.ListColumnManager; import com.norteksoft.mms.form.service.ListViewManager; import com.norteksoft.product.api.ApiFactory; import com.norteksoft.product.util.ContextUtils; import com.norteksoft.product.web.struts2.CrudActionSupport; import com.norteksoft.product.web.struts2.Struts2Utils; @Namespace("/form") @ParentPackage("default") @Results( { @Result(name = CrudActionSupport.RELOAD, location = "list-column", type = "redirectAction")}) public class ListColumnAction extends CrudActionSupport<ListColumn> { private static final long serialVersionUID = 1L; private static final String SUCCESS_MESSAGE_LEFT = "<font class=\"onSuccess\"><nobr>"; private static final String MESSAGE_RIGHT = "</nobr></font>"; private static final String ERROR_MESSAGE_LEFT = "<font class=\"onError\"><nobr>"; protected void addErrorMessage(String message){ this.addActionMessage(ERROR_MESSAGE_LEFT+message+MESSAGE_RIGHT); } protected void addSuccessMessage(String message){ this.addActionMessage(SUCCESS_MESSAGE_LEFT+message+MESSAGE_RIGHT); } private List<ListColumn> columns; private List<TableColumn> tableColumns; private Long viewId; private Long dataTableId; private Long menuId; private Long id;//listColumn的id private Long tableColumnId;//数据表列表的的行id private ListView listView; private Integer frozenColumnAmount; private ListColumnManager listColumnManager; private ListViewManager listViewManager; @Autowired public void setListColumnManager(ListColumnManager listColumnManager) { this.listColumnManager = listColumnManager; } @Autowired public void setListViewManager(ListViewManager listViewManager) { this.listViewManager = listViewManager; } @Override public String delete() throws Exception { // TODO Auto-generated method stub return null; } @Override public String input() throws Exception { // TODO Auto-generated method stub return null; } @Override public String list() throws Exception { listView=listViewManager.getView(viewId); frozenColumnAmount=listView.getFrozenColumn()==null?0:listView.getFrozenColumn(); ApiFactory.getBussinessLogService().log("列表管理", "字段信息列表", ContextUtils.getSystemId("mms")); return SUCCESS; } @Override protected void prepareModel() throws Exception { // TODO Auto-generated method stub } @Override public String save() throws Exception { // TODO Auto-generated method stub return null; } public String saveColumns() throws Exception { listColumnManager.save(viewId); ApiFactory.getBussinessLogService().log("列表管理", "保存字段信息", ContextUtils.getSystemId("mms")); addSuccessMessage("保存成功"); return list(); } public String deleteColumn() throws Exception { listColumnManager.deleteColumn(id); String callback=Struts2Utils.getParameter("callback"); ApiFactory.getBussinessLogService().log("列表管理", "删除字段信息", ContextUtils.getSystemId("mms")); this.renderText(callback+"({msg:'删除成功'})"); return null; } /** * 根据数据表字段信息的行id获取列表中的值设置 * @return */ public String getValuesetByTableColumn(){ String valueSet = listColumnManager.getValuesetByTableColumn(tableColumnId); renderText(valueSet); return null; } public ListColumn getModel() { // TODO Auto-generated method stub return null; } public Long getViewId() { return viewId; } public void setViewId(Long viewId) { this.viewId = viewId; } public List<TableColumn> getTableColumns() { return tableColumns; } public List<ListColumn> getColumns() { return columns; } public Long getDataTableId() { return dataTableId; } public ListView getListView() { return listView; } public Long getMenuId() { return menuId; } public void setMenuId(Long menuId) { this.menuId = menuId; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getFrozenColumnAmount() { return frozenColumnAmount; } public Long getTableColumnId() { return tableColumnId; } public void setTableColumnId(Long tableColumnId) { this.tableColumnId = tableColumnId; } }