|
@@ -0,0 +1,208 @@
|
|
|
+/**
|
|
|
+ * Copyright © 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
|
|
+ */
|
|
|
+package com.jeeplus.modules.workcontent.web;
|
|
|
+
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import com.jeeplus.common.config.Global;
|
|
|
+import com.jeeplus.common.persistence.Page;
|
|
|
+import com.jeeplus.common.utils.DateUtils;
|
|
|
+import com.jeeplus.common.utils.MyBeanUtils;
|
|
|
+import com.jeeplus.common.utils.StringUtils;
|
|
|
+import com.jeeplus.common.utils.excel.ExportExcel;
|
|
|
+import com.jeeplus.common.utils.excel.ImportExcel;
|
|
|
+import com.jeeplus.common.web.BaseController;
|
|
|
+import com.jeeplus.modules.workcontent.entity.WorkContentVisamanage;
|
|
|
+import com.jeeplus.modules.workcontent.service.WorkContentVisamanageService;
|
|
|
+import org.apache.shiro.authz.annotation.Logical;
|
|
|
+import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.ui.Model;
|
|
|
+import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import javax.validation.ConstraintViolationException;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 变更管理Controller
|
|
|
+ * @author ssrh
|
|
|
+ * @version 2018-06-06
|
|
|
+ */
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "${adminPath}/workcontent/workContentVisamanage")
|
|
|
+public class WorkContentVisamanageController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WorkContentVisamanageService workContentVisamanageService;
|
|
|
+
|
|
|
+ @ModelAttribute
|
|
|
+ public WorkContentVisamanage get(@RequestParam(required=false) String id) {
|
|
|
+ WorkContentVisamanage entity = null;
|
|
|
+ if (StringUtils.isNotBlank(id)){
|
|
|
+ entity = workContentVisamanageService.get(id);
|
|
|
+ }
|
|
|
+ if (entity == null){
|
|
|
+ entity = new WorkContentVisamanage();
|
|
|
+ }
|
|
|
+ return entity;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 变更管理列表页面
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:list")
|
|
|
+ @RequestMapping(value = {"list", ""})
|
|
|
+ public String list(WorkContentVisamanage workContentVisamanage, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
+ Page<WorkContentVisamanage> page = workContentVisamanageService.findPage(new Page<WorkContentVisamanage>(request, response), workContentVisamanage);
|
|
|
+ model.addAttribute("page", page);
|
|
|
+ return "modules/workcontent/workContentVisamanageList";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看,增加,编辑变更管理表单页面
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "form")
|
|
|
+ public String form(WorkContentVisamanage workContentVisamanage, String view, Model model) {
|
|
|
+ WorkContentVisamanage oldRecord = null;
|
|
|
+ if(StringUtils.isNotBlank(workContentVisamanage.getContentId())){
|
|
|
+ List<WorkContentVisamanage> list = workContentVisamanageService.findList(workContentVisamanage);
|
|
|
+ if(list!=null&&!list.isEmpty()){
|
|
|
+ oldRecord = list.get(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(oldRecord!=null){
|
|
|
+ model.addAttribute("workContentVisamanage", oldRecord);
|
|
|
+ }else {
|
|
|
+ model.addAttribute("workContentVisamanage", workContentVisamanage);
|
|
|
+ }
|
|
|
+ String viewPath = "modules/workcontent/workContentVisamanage";
|
|
|
+ if("view".equals(view)){
|
|
|
+ viewPath+="View";
|
|
|
+ }
|
|
|
+ return viewPath;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存变更管理
|
|
|
+ */
|
|
|
+ @RequiresPermissions(value={"workcontent:workContentVisamanage:add","workcontent:workContentVisamanage:edit"},logical=Logical.OR)
|
|
|
+ @RequestMapping(value = "save")
|
|
|
+ public String save(WorkContentVisamanage workContentVisamanage, Model model, RedirectAttributes redirectAttributes) throws Exception{
|
|
|
+ if (!beanValidator(model, workContentVisamanage)){
|
|
|
+ return form(workContentVisamanage,null, model);
|
|
|
+ }
|
|
|
+ if(!workContentVisamanage.getIsNewRecord()){//编辑表单保存
|
|
|
+ WorkContentVisamanage t = workContentVisamanageService.get(workContentVisamanage.getId());//从数据库取出记录的值
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(workContentVisamanage, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
|
|
|
+ workContentVisamanageService.save(t);//保存
|
|
|
+ }else{//新增表单保存
|
|
|
+ workContentVisamanageService.save(workContentVisamanage);//保存
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "保存变更管理成功");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除变更管理
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:del")
|
|
|
+ @RequestMapping(value = "delete")
|
|
|
+ public String delete(WorkContentVisamanage workContentVisamanage, RedirectAttributes redirectAttributes) {
|
|
|
+ workContentVisamanageService.delete(workContentVisamanage);
|
|
|
+ addMessage(redirectAttributes, "删除变更管理成功");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量删除变更管理
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:del")
|
|
|
+ @RequestMapping(value = "deleteAll")
|
|
|
+ public String deleteAll(String ids, RedirectAttributes redirectAttributes) {
|
|
|
+ String idArray[] =ids.split(",");
|
|
|
+ for(String id : idArray){
|
|
|
+ workContentVisamanageService.delete(workContentVisamanageService.get(id));
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "删除变更管理成功");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出excel文件
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:export")
|
|
|
+ @RequestMapping(value = "export", method=RequestMethod.POST)
|
|
|
+ public String exportFile(WorkContentVisamanage workContentVisamanage, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
|
|
+ try {
|
|
|
+ String fileName = "变更管理"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
|
|
|
+ Page<WorkContentVisamanage> page = workContentVisamanageService.findPage(new Page<WorkContentVisamanage>(request, response, -1), workContentVisamanage);
|
|
|
+ new ExportExcel("变更管理", WorkContentVisamanage.class).setDataList(page.getList()).write(response, fileName).dispose();
|
|
|
+ return null;
|
|
|
+ } catch (Exception e) {
|
|
|
+ addMessage(redirectAttributes, "导出变更管理记录失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导入Excel数据
|
|
|
+
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:import")
|
|
|
+ @RequestMapping(value = "import", method=RequestMethod.POST)
|
|
|
+ public String importFile(MultipartFile file, RedirectAttributes redirectAttributes) {
|
|
|
+ try {
|
|
|
+ int successNum = 0;
|
|
|
+ int failureNum = 0;
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
+ ImportExcel ei = new ImportExcel(file, 1, 0);
|
|
|
+ List<WorkContentVisamanage> list = ei.getDataList(WorkContentVisamanage.class);
|
|
|
+ for (WorkContentVisamanage workContentVisamanage : list){
|
|
|
+ try{
|
|
|
+ workContentVisamanageService.save(workContentVisamanage);
|
|
|
+ successNum++;
|
|
|
+ }catch(ConstraintViolationException ex){
|
|
|
+ failureNum++;
|
|
|
+ }catch (Exception ex) {
|
|
|
+ failureNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (failureNum>0){
|
|
|
+ failureMsg.insert(0, ",失败 "+failureNum+" 条变更管理记录。");
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "已成功导入 "+successNum+" 条变更管理记录"+failureMsg);
|
|
|
+ } catch (Exception e) {
|
|
|
+ addMessage(redirectAttributes, "导入变更管理失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载导入变更管理数据模板
|
|
|
+ */
|
|
|
+ @RequiresPermissions("workcontent:workContentVisamanage:import")
|
|
|
+ @RequestMapping(value = "import/template")
|
|
|
+ public String importFileTemplate(HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
|
|
+ try {
|
|
|
+ String fileName = "变更管理数据导入模板.xlsx";
|
|
|
+ List<WorkContentVisamanage> list = Lists.newArrayList();
|
|
|
+ new ExportExcel("变更管理数据", WorkContentVisamanage.class, 1).setDataList(list).write(response, fileName).dispose();
|
|
|
+ return null;
|
|
|
+ } catch (Exception e) {
|
|
|
+ addMessage(redirectAttributes, "导入模板下载失败!失败信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/workcontent/workContentVisamanage/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|