AdaKing88
2023-08-23 ae35159387a55199e8ab150ebb97d89d68a235bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package org.jeecg.modules.arj.b.controller;
 
 
import cn.hutool.core.io.IoUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.modules.arj.b.entity.Pplan;
import org.jeecg.modules.arj.b.entity.Pplan2;
import org.jeecg.modules.arj.b.entity.Sbjx;
import org.jeecg.modules.arj.b.service.Pplan2Service;
import org.jeecg.modules.arj.b.service.PplanService;
import org.jeecg.modules.arj.b.vo.PplanVo;
import org.jeecg.modules.arj.b.vo.SbjxVo;
import org.jeecg.modules.arj.config.AjaxResult;
import org.jeecg.modules.arj.entity.Head;
import org.jeecg.modules.arj.service.HeadService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.List;
 
/*其中com.terra.arj.b.service就等于 com.example.demo.service,PplanService就等于SpiderdataSpiderxrmmwService*/
/*其中com.terra.arj.b.entity就等于com.example.demo.entity,Pplan就等于SpiderdataSpiderxrmmw,一种Java的模板引擎语法*/
 
/**
 * <p>
 * 生产计划执行单 前端控制器
 * </p>
 *
 * @author hyy
 * @since 2023-05-17
 */
@Api(tags = "B3-生产计划执行通知单")
@RestController
@RequestMapping("/b/pplan")
public class PplanController {
 
    @Resource
    private PplanService pplanService;
 
    @Autowired
    private HeadService headService;
 
    @Autowired
    private Pplan2Service pplan2Service;
 
 
    //新增和修改接口
    @ApiOperation("增加新数据")
    @PostMapping("/add")
    public AjaxResult save(@RequestBody PplanVo pplanVo) {
        //新增或者更新
        Head head = headService.insert(pplanVo.getHead());
        pplanVo.getPplan().setHeadId(head.getId());
        if (pplanVo.getPplan2List().size() > 0) {
            pplanVo.getPplan2List().stream().forEach(item -> item.setHeadId(head.getId()));
        }
        pplanService.saveOrUpdate(pplanVo.getPplan());
        pplan2Service.saveOrUpdateBatch(pplanVo.getPplan2List());
        return AjaxResult.success(head.getId());
    }
 
 
    //查询所有内容接口
    @ApiOperation("获取最新数据")
    @GetMapping("/last")
    public AjaxResult findAll() {
        Head head = headService.queryLeixingChanxian("B3", null);
        PplanVo pplanVo = new PplanVo();
 
        if (head == null) return AjaxResult.error("访问无数据");
        List<Pplan2> pplan2List = pplan2Service.queryByHeadId(head.getId());
        pplanVo.setHead(head);
        if (pplan2List != null)
            pplanVo.setPplan2List(pplan2List);
 
        pplanVo.setPplan(pplanService.queryByHeadId(head.getId()));
        return AjaxResult.success(pplanVo);
    }
 
    //根据id查询
    @ApiOperation("通过ID查询单条数据")
    @GetMapping("/id")
    public AjaxResult findOne(String id) {
 
        Head head = headService.queryById(id);
 
        if (head == null) return AjaxResult.error("访问无数据");
        PplanVo pplanVo = new PplanVo();
 
 
        List<Pplan2> pplan2List = pplan2Service.queryByHeadId(head.getId());
        pplanVo.setHead(head);
        if (pplan2List != null)
            pplanVo.setPplan2List(pplan2List);
 
        pplanVo.setPplan(pplanService.queryByHeadId(head.getId()));
        return AjaxResult.success(pplanVo);
    }
 
 
    //导入接口
    @PostMapping("/import")
    public Boolean imp(MultipartFile file) throws Exception {   //返回一个布尔值
        InputStream inputStream = file.getInputStream();    //获取流文件内容
        ExcelReader reader = ExcelUtil.getReader(inputStream);
        //第一种方式,通过javabean的方式读取Excel内的对象,要求导入的表头要是英文,和导出的英文字段要一致
        // 比较推荐这种方法
        List<Pplan> list = reader.readAll(Pplan.class);  //定义一个SpiderdataSpiderxrmmw 用于接收读取到的内容
        System.out.println(list);
        //保持数据到数据库
        //pplanService.save(one);  //save方法,插入单个
        pplanService.saveBatch(list);   //saveBatch方法批量插入
        return true;   //返回一个true,表示插入成功
    }
 
}