package org.jeecg.modules.arj.controller;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
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.config.AjaxResult;
|
import org.jeecg.modules.arj.entity.FeipinJianguan;
|
import org.jeecg.modules.arj.entity.Head;
|
import org.jeecg.modules.arj.mapper.HeadMapper;
|
import org.jeecg.modules.arj.service.FeipinJianguanService;
|
import org.jeecg.modules.arj.service.HeadService;
|
import org.jeecg.modules.arj.service.JianguanZhiliangRdService;
|
import org.jeecg.modules.arj.vo.JianguanVo;
|
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 = "A4检罐机接口")
|
@RestController
|
@RequestMapping("/jianguanVo")
|
public class JianguanVoController {
|
|
@Autowired
|
private HeadService headService;
|
|
|
@Autowired
|
private HeadMapper headMapper;
|
@Autowired
|
private FeipinJianguanService feipinJianguanService;
|
@Autowired
|
private JianguanZhiliangRdService jianguanZhiliangRdService;
|
|
|
|
/**
|
* 通过ID查询单条数据
|
*
|
* @param id 主键
|
* @return 实例对象
|
*/
|
@ApiOperation("通过ID查询单条数据")
|
@GetMapping("/id")
|
public AjaxResult queryById(String id) {
|
JianguanVo jianbjVo = new JianguanVo();
|
Head head = headService.queryById(id);
|
jianbjVo.setHead(head);
|
jianbjVo.setFeipinJianguan(feipinJianguanService.queryByHeadId(head.getId()));
|
jianbjVo.setJianguanZhiliangRdList(jianguanZhiliangRdService.queryByHeadId(head.getId()));
|
|
|
return AjaxResult.success(jianbjVo);
|
}
|
|
/**
|
* 获取最新数据
|
*
|
* @return 实例对象
|
*/
|
@ApiOperation("获取最新数据")
|
@PostMapping("/last")
|
public AjaxResult getlastRecord(@RequestBody String leixing) {
|
|
// Head head = headService.queryLast(leixing==null?"A4":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("A4",myMap.get(j.getString("leixing")));
|
JianguanVo jianbjVo = new JianguanVo();
|
|
if (head == null) return AjaxResult.error("访问无数据");
|
|
jianbjVo.setHead(head);
|
jianbjVo.setFeipinJianguan(feipinJianguanService.queryByHeadId(head.getId()));
|
jianbjVo.setJianguanZhiliangRdList(jianguanZhiliangRdService.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<JianguanVo> records = new ArrayList<>();
|
for (Head h : headList) {
|
|
|
JianguanVo jianbjVo = new JianguanVo();
|
Head head = headService.queryById(h.getId());
|
if (head == null) return AjaxResult.error("访问无数据");
|
|
jianbjVo.setHead(head);
|
jianbjVo.setFeipinJianguan(feipinJianguanService.queryByHeadId(head.getId()));
|
jianbjVo.setJianguanZhiliangRdList(jianguanZhiliangRdService.queryByHeadId(head.getId()));
|
|
records.add(jianbjVo);
|
}
|
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 JianguanVo jianguanVo) {
|
|
Head h = headService.insert(jianguanVo.getHead());
|
|
if (jianguanVo.getFeipinJianguan() != null) {
|
jianguanVo.getFeipinJianguan().setHeadId(h.getId());
|
feipinJianguanService.save(jianguanVo.getFeipinJianguan());
|
}
|
if (jianguanVo.getJianguanZhiliangRdList() != null) {
|
jianguanVo.getJianguanZhiliangRdList().stream().forEach(item -> item.setHeadId(h.getId()));
|
jianguanZhiliangRdService.saveBatch(jianguanVo.getJianguanZhiliangRdList());
|
}
|
|
|
|
return AjaxResult.success(h.getId());
|
}
|
|
/**
|
* 更新数据
|
*
|
* @param jianguanVo 实例对象
|
* @return 实例对象
|
*/
|
@ApiOperation("更新数据")
|
@PostMapping("/edit")
|
public AjaxResult edit(@RequestBody JianguanVo jianguanVo) {
|
Head h2 = jianguanVo.getHead();
|
h2.setId("");
|
Head hh = headService.insert(h2);
|
if (jianguanVo.getFeipinJianguan() != null) {
|
jianguanVo.getFeipinJianguan().setHeadId(hh.getId());
|
feipinJianguanService.saveOrUpdate(jianguanVo.getFeipinJianguan());
|
}
|
if (jianguanVo.getJianguanZhiliangRdList() != null) {
|
jianguanVo.getJianguanZhiliangRdList().stream().forEach(item -> item.setHeadId(hh.getId()));
|
jianguanZhiliangRdService.saveOrUpdateBatch(jianguanVo.getJianguanZhiliangRdList());
|
}
|
return AjaxResult.success(hh.getId());
|
}
|
|
/**
|
* 通过主键删除数据
|
*
|
* @param id 主键
|
* @return 是否成功
|
*/
|
@ApiOperation("通过主键删除数据")
|
@DeleteMapping
|
public AjaxResult deleteById(String id) {
|
return AjaxResult.success(headService.deleteById(id));
|
}
|
}
|