package org.jeecg.modules.arj.controller;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
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.config.AjaxResult;
|
import org.jeecg.modules.arj.entity.Head;
|
import org.jeecg.modules.arj.mapper.HeadMapper;
|
import org.jeecg.modules.arj.service.*;
|
import org.jeecg.modules.arj.vo.JiguanVo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
|
@Api(tags = "A5集罐机接口")
|
@RestController
|
@RequestMapping("/jiguanVo")
|
public class JiguanVoController {
|
|
@Autowired
|
private HeadService headService;
|
|
@Autowired
|
private HeadMapper headMapper;
|
|
@Autowired
|
private FeipinYintieService feipinYintieService;
|
@Autowired
|
private FeipinJiguanService feipinJiguanService;
|
|
@Autowired
|
private JiguanRd2Service jiguanRd2Service ;
|
@Autowired
|
private JiguanRdService jiguanRdService ;
|
@Autowired
|
private JiguanFuliaoRdService jiguanFuliaoRdService ;
|
@Autowired
|
private JiguanZhiliangRdService jiguanZhiliangRdService ;
|
|
|
|
|
/**
|
* 通过ID查询单条数据
|
*
|
* @param id 主键
|
* @return 实例对象
|
*/
|
@ApiOperation("通过ID查询单条数据")
|
@GetMapping("/id")
|
public AjaxResult queryById(String id) {
|
JiguanVo jianbjVo = new JiguanVo();
|
Head head = headService.queryById(id);
|
jianbjVo.setHead(head);
|
jianbjVo.setFeipinYintieList(feipinYintieService.queryByHeadList(head.getId()));
|
jianbjVo.setFeipinJiguanList(feipinJiguanService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanFuliaoRdList(jiguanFuliaoRdService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanRd2List(jiguanRd2Service.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanRd(jiguanRdService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanZhiliangRdList(jiguanZhiliangRdService.queryByHeadId(head.getId()));
|
return AjaxResult.success(jianbjVo);
|
}
|
|
/**
|
* 获取最新数据
|
*
|
* @return 实例对象
|
*/
|
@ApiOperation("获取最新数据")
|
@PostMapping("/last")
|
public AjaxResult getlastRecord(@RequestBody String leixing) {
|
|
// Head head = headService.queryLast(leixing==null?"A5":leixing);
|
JSONObject j = JSONObject.parseObject(leixing);
|
HashMap<String, String > myMap = new HashMap<String, String>(){{
|
put("0","一");
|
put("2","二");
|
put("3","三");
|
put("4","四");
|
put("5","五");
|
put("6","六");
|
put("7","七");
|
put("8","八");
|
put("9","九");
|
}};
|
|
Head head = headService.queryLeixingChanxian("A5",myMap.get(j.getString("leixing")));
|
JiguanVo jianbjVo = new JiguanVo();
|
|
if (head == null) return AjaxResult.error("访问无数据");
|
|
jianbjVo.setHead(head);
|
jianbjVo.setFeipinYintieList(feipinYintieService.queryByHeadList(head.getId()));
|
jianbjVo.setFeipinJiguanList(feipinJiguanService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanFuliaoRdList(jiguanFuliaoRdService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanRd2List(jiguanRd2Service.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanRd(jiguanRdService.queryByHeadId(head.getId()));
|
jianbjVo.setJiguanZhiliangRdList(jiguanZhiliangRdService.queryByHeadId(head.getId()));
|
|
return AjaxResult.success(jianbjVo);
|
}
|
@PostMapping("/page")
|
public AjaxResult findPage( @RequestParam(defaultValue = "1") Integer pageNum , @RequestParam(defaultValue = "10") Integer pageSize) {
|
|
|
List<Head> headList = headMapper.queryPage2((pageNum - 1) * pageSize, pageSize);
|
IPage iPage = new Page();
|
List<JiguanVo> records = new ArrayList<>();
|
for (Head h : headList) {
|
|
JiguanVo jiguanVo = new JiguanVo();
|
Head head = headService.queryById(h.getId());
|
if (head == null) return AjaxResult.error("访问无数据");
|
|
jiguanVo.setHead(head);
|
jiguanVo.setFeipinYintieList(feipinYintieService.queryByHeadList(head.getId()));
|
jiguanVo.setFeipinJiguanList(feipinJiguanService.queryByHeadId(head.getId()));
|
jiguanVo.setJiguanFuliaoRdList(jiguanFuliaoRdService.queryByHeadId(head.getId()));
|
jiguanVo.setJiguanRd2List(jiguanRd2Service.queryByHeadId(head.getId()));
|
jiguanVo.setJiguanRd(jiguanRdService.queryByHeadId(head.getId()));
|
jiguanVo.setJiguanZhiliangRdList(jiguanZhiliangRdService.queryByHeadId(head.getId()));
|
|
records.add(jiguanVo);
|
}
|
int n = headMapper.queryCount();
|
iPage.setPages(n % pageSize == 0 ? n / pageSize : n / pageSize + 1);
|
iPage.setRecords(records);
|
iPage.setTotal(headMapper.queryCount());
|
iPage.setSize(pageSize);
|
iPage.setCurrent(pageNum);
|
|
return AjaxResult.success(iPage);
|
}
|
/**
|
* 分页查询
|
*
|
* @param head 筛选条件
|
* @param pageRequest 分页对象
|
* @return 查询结果
|
*/
|
@ApiOperation("分页查询")
|
@GetMapping
|
public AjaxResult paginQuery(Head head, PageRequest pageRequest) {
|
//1.分页参数
|
long current = pageRequest.getPageNumber();
|
long size = pageRequest.getPageSize();
|
//2.分页查询
|
/*把Mybatis的分页对象做封装转换,MP的分页对象上有一些SQL敏感信息,还是通过spring的分页模型来封装数据吧*/
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<Head> pageResult = headService.paginQuery(head, current, size);
|
//3. 分页结果组装
|
List<Head> dataList = pageResult.getRecords();
|
long total = pageResult.getTotal();
|
PageImpl<Head> retPage = new PageImpl<Head>(dataList, pageRequest, total);
|
return AjaxResult.success(retPage);
|
}
|
|
/**
|
* 新增数据
|
*
|
* @param jianguanVo 实例对象
|
* @return 实例对象
|
*/
|
@ApiOperation("新增数据")
|
@PostMapping
|
public AjaxResult add(@RequestBody JiguanVo jianguanVo) {
|
|
Head h = headService.insert(jianguanVo.getHead());
|
|
if (jianguanVo.getFeipinJiguanList() != null) {
|
jianguanVo.getFeipinJiguanList().stream().forEach(item -> item.setHeadId(h.getId()));
|
feipinJiguanService.saveOrUpdateBatch(jianguanVo.getFeipinJiguanList());
|
}
|
if (jianguanVo.getFeipinYintieList() != null) {
|
jianguanVo.getFeipinYintieList().stream().forEach(item -> item.setHeadId(h.getId()));
|
feipinYintieService.saveOrUpdateBatch(jianguanVo.getFeipinYintieList());
|
}
|
|
if (jianguanVo.getJiguanRd() != null) {
|
jianguanVo.getJiguanRd().setHeadId(h.getId());
|
jiguanRdService.saveOrUpdate(jianguanVo.getJiguanRd());
|
}
|
|
if (jianguanVo.getJiguanRd2List() != null) {
|
jianguanVo.getJiguanRd2List().stream().forEach(item -> item.setHeadId(h.getId()));
|
jiguanRd2Service.saveOrUpdateBatch(jianguanVo.getJiguanRd2List());
|
}
|
if (jianguanVo.getJiguanFuliaoRdList() != null) {
|
jianguanVo.getJiguanFuliaoRdList().stream().forEach(item -> item.setHeadId(h.getId()));
|
jiguanFuliaoRdService.saveOrUpdateBatch(jianguanVo.getJiguanFuliaoRdList());
|
}
|
if (jianguanVo.getJiguanZhiliangRdList() != null) {
|
jianguanVo.getJiguanZhiliangRdList().stream().forEach(item -> item.setHeadId(h.getId()));
|
jiguanZhiliangRdService.saveOrUpdateBatch(jianguanVo.getJiguanZhiliangRdList());
|
}
|
|
|
|
return AjaxResult.success(h.getId());
|
}
|
|
/**
|
* 更新数据
|
*
|
* @param jiguanVo 实例对象
|
* @return 实例对象
|
*/
|
@ApiOperation("更新数据")
|
@PostMapping("/edit")
|
public AjaxResult edit(@RequestBody JiguanVo jiguanVo) {
|
Head h2 = jiguanVo.getHead();
|
h2.setId("");
|
Head hh = headService.insert(h2);
|
|
|
if (jiguanVo.getFeipinJiguanList() != null) {
|
jiguanVo.getFeipinJiguanList().stream().forEach(item -> item.setHeadId(hh.getId()));
|
feipinJiguanService.saveBatch(jiguanVo.getFeipinJiguanList());
|
}
|
if (jiguanVo.getFeipinYintieList() != null) {
|
jiguanVo.getFeipinYintieList().stream().forEach(item -> item.setHeadId(hh.getId()));
|
feipinYintieService.saveBatch(jiguanVo.getFeipinYintieList());
|
}
|
|
if (jiguanVo.getJiguanRd() != null) {
|
jiguanVo.getJiguanRd().setHeadId(hh.getId());
|
jiguanRdService.save(jiguanVo.getJiguanRd());
|
}
|
|
if (jiguanVo.getJiguanRd2List() != null) {
|
jiguanVo.getJiguanRd2List().stream().forEach(item -> item.setHeadId(hh.getId()));
|
jiguanRd2Service.saveBatch(jiguanVo.getJiguanRd2List());
|
}
|
if (jiguanVo.getJiguanFuliaoRdList() != null) {
|
jiguanVo.getJiguanFuliaoRdList().stream().forEach(item -> item.setHeadId(hh.getId()));
|
jiguanFuliaoRdService.saveBatch(jiguanVo.getJiguanFuliaoRdList());
|
}
|
if (jiguanVo.getJiguanZhiliangRdList() != null) {
|
jiguanVo.getJiguanZhiliangRdList().stream().forEach(item -> item.setHeadId(hh.getId()));
|
jiguanZhiliangRdService.saveBatch(jiguanVo.getJiguanZhiliangRdList());
|
}
|
|
|
|
return AjaxResult.success(hh.getId());
|
}
|
|
/**
|
* 通过主键删除数据
|
*
|
* @param id 主键
|
* @return 是否成功
|
*/
|
@ApiOperation("通过主键删除数据")
|
@DeleteMapping
|
public AjaxResult deleteById(String id) {
|
return AjaxResult.success(headService.deleteById(id));
|
}
|
}
|