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,表示插入成功
|
}
|
|
}
|