123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- package com.yihu.hos.system.controller;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.yihu.hos.system.model.SystemServiceFlow;
- import com.yihu.hos.system.model.SystemServiceFlowClass;
- import com.yihu.hos.system.model.SystemServiceFlowTemp;
- import com.yihu.hos.system.service.FlowManager;
- import com.yihu.hos.web.framework.constant.ServiceFlowConstant;
- import com.yihu.hos.web.framework.model.Result;
- import com.yihu.hos.web.framework.util.controller.BaseController;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.commons.CommonsMultipartFile;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 流程管理
- * @author HZY
- * @vsrsion 1.0
- * Created at 2016/8/18.
- */
- @RequestMapping("/flow")
- @Controller
- public class FlowController extends BaseController {
- @Resource(name = FlowManager.BEAN_ID)
- private FlowManager flowManage;
- /**
- * 流程管理管理界面
- *
- * @param model
- * @return
- */
- @RequestMapping("/initial")
- public String appInitial(Model model) {
- model.addAttribute("contentPage", "system/flow/flow");
- return "partView";
- }
- @RequestMapping("/getFlowList")
- @ResponseBody
- public Result getFlowList(HttpServletRequest request,String name,String valid) {
- try {
- Map<String, Object> params = new HashMap<>();
- params.put("name", name);
- params.put("valid", valid);
- String page = StringUtils.isEmpty(request.getParameter("page")) ? "1" : request.getParameter("page");
- String rows = StringUtils.isEmpty(request.getParameter("rows")) ? "10" : request.getParameter("rows");
- params.put("page", page);
- params.put("rows", rows);
- Result result = flowManage.getFlowList(params);
- return result;
- } catch (Exception ex) {
- ex.printStackTrace();
- return Result.error(ex.getMessage());
- }
- }
- /**
- * 流程管理-新增/修改页面
- * @param model
- * @param id
- * @return
- */
- @RequestMapping("/editorFlow")
- public String editorFlow(Model model, String id) {
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- SystemServiceFlow flow = null;
- List<SystemServiceFlowClass> flowClassList = null;
- List<SystemServiceFlowTemp> flowTempList = null;
- if (id != null && id.length() > 0) {
- flow = flowManage.getFlowById(Integer.parseInt(id));
- flowClassList = flowManage.getFlowClassByFlowId(flow.getId());
- flowTempList = flowManage.getFlowTempByFlowId(flow.getId());
- if (ServiceFlowConstant.CLASS.equals(flow.getFileType())){
- model.addAttribute("flowClass", objectMapper.writeValueAsString(flowClassList));
- }else if (ServiceFlowConstant.JAVA.equals(flow.getFileType())){
- model.addAttribute("flowClass", objectMapper.writeValueAsString(flowTempList));
- }
- } else {
- flow = new SystemServiceFlow();
- flowClassList = new ArrayList<>();
- flowTempList = new ArrayList<>();
- }
- flow.setFlowClassArray(flowClassList);
- flow.setFlowTempArray(flowTempList);
- model.addAttribute("model", flow);
- model.addAttribute("contentPage", "/system/flow/editorFlow");
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "pageView";
- }
- /**
- * 新增流程信息
- * @param request
- * @return
- */
- @RequestMapping("addFlow")
- @ResponseBody
- public Result addFlow(HttpServletRequest request,String flowClass) {
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- SystemServiceFlow flow = objectMapper.readValue(flowClass,SystemServiceFlow.class);
- // SystemServiceFlow obj = new SystemServiceFlow();
- // BeanUtils.populate(obj, request.getParameterMap());
- //
- // List<SystemServiceFlowClass> flowClass = new ArrayList<>();
- // BeanUtils.populate(flowClass, request.getParameterMap());
- // obj.setFlowClassArray(flowClass);
- //
- // List<SystemServiceFlowTemp> flowTemps = new ArrayList<>();
- // BeanUtils.populate(flowTemps, request.getParameterMap());
- // obj.setFlowTempArray(flowTemps);
- return flowManage.addFlow(flow);
- } catch (Exception ex) {
- ex.printStackTrace();
- return Result.error(ex.getMessage());
- }
- }
- /**
- * 删除流程信息
- * @param request
- * @return
- */
- @RequestMapping("/deleteFlow")
- @ResponseBody
- public Result deleteFlow(HttpServletRequest request) {
- try {
- String id = request.getParameter("id");
- if (id != null && id.length() > 0) {
- flowManage.deleteFlow(Integer.parseInt(id));
- return Result.success("删除成功!");
- }else {
- return Result.error("删除失败,该流程已不存在!");
- }
- } catch (Exception e) {
- e.printStackTrace();
- return Result.error("删除失败!");
- }
- }
- /**
- * 修改流程信息
- */
- @RequestMapping("updateFlow")
- @ResponseBody
- public Result updateFlow(HttpServletRequest request,String flowClass) {
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- SystemServiceFlow flow = objectMapper.readValue(flowClass,SystemServiceFlow.class);
- return flowManage.updateFlow(flow);
- } catch (Exception ex) {
- ex.printStackTrace();
- return Result.error(ex.getMessage());
- }
- }
- /**
- * 文件上传
- * @param file
- * @return
- */
- @RequestMapping(value = "/upload", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
- @ResponseBody
- public Object upload(@RequestParam MultipartFile file) {
- //TODO 文件地址设置
- try {
- CommonsMultipartFile transferFile = (CommonsMultipartFile)file;
- return flowManage.uploadFile(transferFile);
- } catch (Exception e) {
- return Result.error("上传失败");
- }
- }
- /**
- * 图片查看
- * @return
- */
- @RequestMapping(value = "/read/{fileName}", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
- @ResponseBody
- public Object read(HttpServletResponse response, @PathVariable("fileName") String fileName) {
- try {
- OutputStream os = response.getOutputStream();
- return flowManage.readFile(os, fileName);
- } catch (Exception e) {
- return Result.error("读取失败!");
- }
- }
- @RequestMapping(value = "/flowTempList", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
- @ResponseBody
- public Result flowTempList(String type) {
- try {
- Result result = flowManage.getFlowList(type);
- return result;
- } catch (Exception ex) {
- ex.printStackTrace();
- return Result.error(ex.getMessage());
- }
- }
- }
|