123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package com.jeeplus.modules.sg.project.web;
- import com.jeeplus.common.json.AjaxJson;
- import com.jeeplus.common.utils.DateUtils;
- import com.jeeplus.common.utils.StringUtils;
- import com.jeeplus.core.web.BaseController;
- import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
- import com.jeeplus.modules.sg.overheadline.service.OverheadLineService;
- import com.jeeplus.modules.sg.project.entity.WbsItem;
- import com.jeeplus.modules.sg.project.entity.WbsProject;
- import com.jeeplus.modules.sg.project.entity.WbsSelection;
- import com.jeeplus.modules.sg.project.service.ProjectService;
- import com.jeeplus.modules.sg.project.util.ExportUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.mvc.support.RedirectAttributes;
- import org.springframework.ui.Model;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- @Controller
- @RequestMapping("${adminPath}/project")
- public class ProjectController extends BaseController {
- @Autowired
- private HttpServletRequest request;
- @Autowired
- private ProjectService projectService;
- @Autowired
- private OverheadLineService overheadLineService;
- @ModelAttribute
- public WbsProject get(@RequestParam(required=false) String id) {
- WbsProject entity = null;
- if (StringUtils.isNotBlank(id)){
- entity = projectService.get(id);
- }
- if (entity == null){
- entity = new WbsProject();
- }
- return entity;
- }
- @RequestMapping(value = {"list", ""})
- public String list(WbsSelection wbsSelection, HttpServletRequest request, HttpServletResponse response, Model model) {
- List<WbsProject> list = projectService.findList(wbsSelection);
- model.addAttribute("list",list);
- return "modules/sg/project/management";
- }
- @RequestMapping("/form")
- public String form(WbsProject wbsProject, Model model) {
- WbsProject wbsProject1 = projectService.get(wbsProject.getId());
- List<WbsProject> list = new ArrayList<>();
- list.add(wbsProject1);
- model.addAttribute("list", list);
- String view = "updateItemForm";
- String tabId = request.getParameter("tabId");
- if("1".equals(tabId)){
- view = "lookItemForm";
- }
- return "modules/sg/project/"+view;
- }
- //项目保存
- @ResponseBody
- @RequestMapping("/save")
- public AjaxJson save(WbsProject wbsProject, Model model, RedirectAttributes redirectAttributes){
- AjaxJson j = new AjaxJson();
- //数据验证
- String errMsg = beanValidator(wbsProject);
- if (StringUtils.isNotBlank(errMsg)){
- j.setSuccess(false);
- j.setMsg(errMsg);
- return j;
- }
- //新增或编辑表单保存
- projectService.save(wbsProject);//保存
- j.setSuccess(true);
- addMessage(redirectAttributes, "保存成功");
- return j;
- }
- //项目编辑
- @RequestMapping("/export")
- public String toList(HttpServletRequest request,Model model,HttpServletResponse response) throws IOException {
- String id = request.getParameter("id");
- WbsProject wbsProject = projectService.get(id);
- String fileName = wbsProject.getProjectName()+ DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
- List<WbsItem> wbsItems = wbsProject.getWbsItems();
- String[] sts = new String[wbsItems.size()];
- for (int i=0;i<wbsItems.size();i++){
- sts[i] = wbsItems.get(i).getItemName();
- }
- ExportUtil exportUtil = new ExportUtil(null, JkxlDetailFee.class,sts);
- for(int j=0;j<wbsItems.size();j++){
- List<JkxlDetailFee> jkxlDetailFees = overheadLineService.findList(wbsItems.get(j).getId());
- exportUtil.setDataList(jkxlDetailFees,j);
- }
- exportUtil.write(response,fileName).dispose();
- return "redirect:/a/project/list";
- }
- //项目删除
- @ResponseBody
- @RequestMapping(value = "delete")
- public AjaxJson delete(WbsProject wbsProject) {
- AjaxJson j = new AjaxJson();
- projectService.delete(wbsProject);
- j.setMsg("删除项目成功");
- return j;
- }
- }
|