123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package com.bowintek.practice.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.bowintek.practice.filter.exception.BaseResponse;
- import com.bowintek.practice.filter.exception.RespGenerstor;
- import com.bowintek.practice.model.SrSubject;
- import com.bowintek.practice.model.SrSubjectfield;
- import com.bowintek.practice.services.service.AccountService;
- import com.bowintek.practice.services.service.SubjectService;
- import com.bowintek.practice.services.service.UserService;
- import com.bowintek.practice.util.DateUtils;
- import com.bowintek.practice.util.ExcelHelper;
- import com.bowintek.practice.util.JsonMapper;
- import com.bowintek.practice.util.MapUtils;
- import com.bowintek.practice.vo.PositionModel;
- import com.fasterxml.jackson.core.type.TypeReference;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.github.pagehelper.PageInfo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping(value = "/api/subject")
- public class SubjectController {
- @Autowired
- private SubjectService subjectService;
- @Autowired
- private JsonMapper jsonMapper;
- @Autowired
- private UserService userService;
- @Autowired
- private AccountService accountService;
- @Autowired
- private MapUtils mapUtils;
- @Autowired
- private DateUtils dateUtils;
- @ResponseBody
- @GetMapping("/getList")
- public BaseResponse<PageInfo<SrSubject>> getList(@RequestParam("page") int page, @RequestParam("rows") int rows,
- String subjectName, String tabName, String tabCode) throws Exception {
- PageInfo<SrSubject> result = subjectService.getList(page, rows, subjectName, tabName,
- tabCode, null);
- return RespGenerstor.success(result);
- }
- @ResponseBody
- @PostMapping("/saveSubject")
- public BaseResponse saveSubject(@RequestBody JSONObject reqMap) {
- int count = 0;
- try {
- SrSubject dataModel = reqMap.getObject("dataModel", SrSubject.class);
- List<SrSubjectfield> fieldList = reqMap.getJSONArray("fieldList").toJavaList(SrSubjectfield.class);
- count = subjectService.saveSubject(dataModel, fieldList, accountService.getLoginUserID());
- } catch (Exception e) {
- return RespGenerstor.fail("-1", "程序异常:" + e.getMessage());
- }
- return RespGenerstor.success(count);
- }
- @ResponseBody
- @GetMapping("/getSubject")
- public BaseResponse<SrSubject> getSubject(String subjectId) {
- SrSubject model = subjectService.getSubject(subjectId);
- return RespGenerstor.success(model);
- }
- @ResponseBody
- @GetMapping("/getFieldList")
- public BaseResponse<List<SrSubjectfield>> getFieldList(String subjectId) throws Exception {
- List<SrSubjectfield> result = subjectService.getFieldList(subjectId);
- return RespGenerstor.success(result);
- }
- @ResponseBody
- @PostMapping("/delete")
- public BaseResponse delete(@RequestBody List<String> idList) {
- Integer result = subjectService.delete(idList);
- if (result <= 0) {
- return RespGenerstor.fail("1003", "数据已经被使用");
- }
- return RespGenerstor.success(1);
- }
- @ResponseBody
- @GetMapping("/exportSubject")
- public void exportSubject(HttpServletResponse response,
- @RequestParam(required = false) List<String> idList,
- String subjectName, String tabName, String tabCode) throws Exception {
- List<SrSubject> dataList = subjectService.getList(1, 9999, subjectName, tabName,
- tabCode, idList).getList();
- ExcelHelper excelHelper = new ExcelHelper();
- ExcelHelper.ExcelData data = excelHelper.new ExcelData();
- data.setTitles(Arrays.asList(new String[]{"主题名称", "表编码", "表名称", "描述", "创建时间", "创建人", "是否有外键字段"}));
- List<List<Object>> rowData = new ArrayList();
- for (SrSubject item : dataList) {
- List<Object> row = new ArrayList();
- row.add(item.getSubjectName());
- row.add(item.getTabCode());
- row.add(item.getTabName());
- row.add(item.getTabDesc());
- row.add(dateUtils.dateToStr(item.getCreateTime()));
- row.add(item.getCreatedName());
- row.add(item.getIsReferences() == 1 ? "是" : "否");
- rowData.add(row);
- }
- data.setRows(rowData);
- excelHelper.exportExcel(response, data);
- }
- }
|