ProjectController.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.jeeplus.modules.sg.project.web;
  2. import com.jeeplus.common.json.AjaxJson;
  3. import com.jeeplus.common.utils.DateUtils;
  4. import com.jeeplus.common.utils.StringUtils;
  5. import com.jeeplus.core.web.BaseController;
  6. import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
  7. import com.jeeplus.modules.sg.overheadline.service.OverheadLineService;
  8. import com.jeeplus.modules.sg.project.entity.WbsItem;
  9. import com.jeeplus.modules.sg.project.entity.WbsProject;
  10. import com.jeeplus.modules.sg.project.entity.WbsSelection;
  11. import com.jeeplus.modules.sg.project.service.ProjectService;
  12. import com.jeeplus.modules.sg.project.util.ExportUtil;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.ModelAttribute;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.ResponseBody;
  19. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  20. import org.springframework.ui.Model;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.io.IOException;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. @Controller
  27. @RequestMapping("${adminPath}/project")
  28. public class ProjectController extends BaseController {
  29. @Autowired
  30. private HttpServletRequest request;
  31. @Autowired
  32. private ProjectService projectService;
  33. @Autowired
  34. private OverheadLineService overheadLineService;
  35. @ModelAttribute
  36. public WbsProject get(@RequestParam(required=false) String id) {
  37. WbsProject entity = null;
  38. if (StringUtils.isNotBlank(id)){
  39. entity = projectService.get(id);
  40. }
  41. if (entity == null){
  42. entity = new WbsProject();
  43. }
  44. return entity;
  45. }
  46. @RequestMapping(value = {"list", ""})
  47. public String list(WbsSelection wbsSelection, HttpServletRequest request, HttpServletResponse response, Model model) {
  48. List<WbsProject> list = projectService.findList(wbsSelection);
  49. model.addAttribute("list",list);
  50. return "modules/sg/project/management";
  51. }
  52. @RequestMapping("/form")
  53. public String form(WbsProject wbsProject, Model model) {
  54. WbsProject wbsProject1 = projectService.get(wbsProject.getId());
  55. List<WbsProject> list = new ArrayList<>();
  56. list.add(wbsProject1);
  57. model.addAttribute("list", list);
  58. String view = "updateItemForm";
  59. String tabId = request.getParameter("tabId");
  60. if("1".equals(tabId)){
  61. view = "lookItemForm";
  62. }
  63. return "modules/sg/project/"+view;
  64. }
  65. //项目保存
  66. @ResponseBody
  67. @RequestMapping("/save")
  68. public AjaxJson save(WbsProject wbsProject, Model model, RedirectAttributes redirectAttributes){
  69. AjaxJson j = new AjaxJson();
  70. //数据验证
  71. String errMsg = beanValidator(wbsProject);
  72. if (StringUtils.isNotBlank(errMsg)){
  73. j.setSuccess(false);
  74. j.setMsg(errMsg);
  75. return j;
  76. }
  77. //新增或编辑表单保存
  78. projectService.save(wbsProject);//保存
  79. j.setSuccess(true);
  80. addMessage(redirectAttributes, "保存成功");
  81. return j;
  82. }
  83. //项目编辑
  84. @RequestMapping("/export")
  85. public String toList(HttpServletRequest request,Model model,HttpServletResponse response) throws IOException {
  86. String id = request.getParameter("id");
  87. WbsProject wbsProject = projectService.get(id);
  88. String fileName = wbsProject.getProjectName()+ DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
  89. List<WbsItem> wbsItems = wbsProject.getWbsItems();
  90. String[] sts = new String[wbsItems.size()];
  91. for (int i=0;i<wbsItems.size();i++){
  92. sts[i] = wbsItems.get(i).getItemName();
  93. }
  94. ExportUtil exportUtil = new ExportUtil(null, JkxlDetailFee.class,sts);
  95. for(int j=0;j<wbsItems.size();j++){
  96. List<JkxlDetailFee> jkxlDetailFees = overheadLineService.findList(wbsItems.get(j).getId());
  97. exportUtil.setDataList(jkxlDetailFees,j);
  98. }
  99. exportUtil.write(response,fileName).dispose();
  100. return "redirect:/a/project/list";
  101. }
  102. //项目删除
  103. @ResponseBody
  104. @RequestMapping(value = "delete")
  105. public AjaxJson delete(WbsProject wbsProject) {
  106. AjaxJson j = new AjaxJson();
  107. projectService.delete(wbsProject);
  108. j.setMsg("删除项目成功");
  109. return j;
  110. }
  111. }