package com.norteksoft.bs.options.web; import java.io.File; import java.io.IOException; import java.text.ParseException; import org.apache.struts2.convention.annotation.Action; 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.bs.options.entity.ImportDefinition; import com.norteksoft.bs.options.service.ImportDefinitionManager; import com.norteksoft.product.orm.Page; import com.norteksoft.product.util.PageUtils; import com.norteksoft.product.web.struts2.CrudActionSupport; import com.norteksoft.product.web.struts2.Struts2Utils; /** * 导入定义 * @author Administrator * */ @Namespace("/options") @ParentPackage("default") @Results( { @Result(name = CrudActionSupport.RELOAD, location = "import-definition", type = "redirectAction")}) public class ImportDefinitionAction extends CrudActionSupport<ImportDefinition> { private static final long serialVersionUID = 1L; private Long id; private ImportDefinition importDefinition; private Page<ImportDefinition> page=new Page<ImportDefinition>(0,true); private String ids; private Long importDefinitionId; private File file; private String fileName; @Autowired private ImportDefinitionManager importDefinitionManager; @Override @Action("import-definition-delete") public String delete() throws Exception { importDefinitionManager.delete(ids); return null; } @Override @Action("import-definition-input") public String input() throws Exception { return "import-definition-input"; } @Override @Action("import-definition") public String list() throws Exception { if(page.getPageSize()>1){ importDefinitionManager.getImportDefinitionPage(page); this.renderText(PageUtils.pageToJson(page)); return null; } return "import-definition"; } @Override protected void prepareModel() throws Exception { if(importDefinitionId==null){ importDefinition=new ImportDefinition(); }else{ importDefinition=importDefinitionManager.getImportDefinition(importDefinitionId); } } @Override @Action("import-definition-save") public String save() throws Exception { if(validateOnlyCode()){ importDefinitionManager.saveImportDefinition(importDefinition); this.renderText("ok"+importDefinition.getId().toString()); }else{ this.renderText("no"); } return null; } /** * 验证导入定义的编码是否唯一 * @return */ private boolean validateOnlyCode() { boolean sign=true; ImportDefinition original; if(importDefinitionId==null){ original=importDefinitionManager.getImportDefinitionByCode(importDefinition.getCode()); if(original!=null){ sign=false; } }else{ original=importDefinitionManager.getImportDefinitionByCode(importDefinition.getCode(),importDefinitionId); if(original!=null){ sign=false; } } return sign; } /** * 字段设置页面 * * @return * @throws Exception */ @Action("import-definition-column") public String importDefinitionColumn() throws Exception { importDefinition=importDefinitionManager.getImportDefinition(importDefinitionId); return "import-definition-column"; } /** * 保存导入列 * * @return * @throws Exception */ @Action("import-definition-column-save") public String importDefinitionColumnSave() throws Exception { importDefinitionManager.saveImportColumn(importDefinitionId); return importDefinitionColumn(); } /** * 删除导入列 * * @return * @throws Exception */ @Action("import-definition-column-delete") public String importDefinitionColumnDelete() throws Exception { importDefinitionManager.importColumnDelete(id); String callback=Struts2Utils.getParameter("callback"); this.renderText(callback+"({msg:'删除成功'})"); return null; } /** * 导入页面 * * @return * @throws Exception */ @Action("import-definition-import") public String importDefinitionImport() throws Exception { return "import-definition-import"; } public void prepareImportDefinitionShift() throws Exception { prepareModel(); } /** * 导入 * * @return * @throws Exception */ @Action("import-definition-shift") public String importDefinitionShift() throws Exception { String result = ""; try { result = importDefinitionManager.importFile(file,fileName, importDefinition); } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } renderText(result); return null; } public ImportDefinition getModel() { return importDefinition; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public ImportDefinition getImportDefinition() { return importDefinition; } public void setImportDefinition(ImportDefinition importDefinition) { this.importDefinition = importDefinition; } public Page<ImportDefinition> getPage() { return page; } public void setPage(Page<ImportDefinition> page) { this.page = page; } public void setIds(String ids) { this.ids = ids; } public Long getImportDefinitionId() { return importDefinitionId; } public void setImportDefinitionId(Long importDefinitionId) { this.importDefinitionId = importDefinitionId; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public void setFileFileName(String fileName) { this.fileName = fileName; } }