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.HanjiVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @Api(tags = "A2焊机接口") @RestController @RequestMapping("/hanjiVo") public class HanjiVoController { @Autowired private HeadService headService; @Autowired private HeadMapper headMapper; @Autowired private HanjiRdService hanjiRdService; @Autowired private FeipinHanjiService feipinHanjiService; @Autowired private FeipinYintieService feipinYintieService; @Autowired private HanjiZhiliangRdService hanjiZhiliangRdService; @Autowired private HanjiZhiliangWgService hanjiZhiliangWgService; @Autowired private HanjiZhiliangDqlsService hanjiZhiliangDqlsService; @Autowired private HanjiZhiliangDjlService hanjiZhiliangDjlService; @Autowired private HanjiHongluService hanjiHongluService; /** * 通过ID查询单条数据 * * @param id 主键 * @return 实例对象 */ @ApiOperation("通过ID查询单条数据") @GetMapping("/id") public AjaxResult queryById(String id){ HanjiVo hanjiVo = new HanjiVo(); Head head = headService.queryById(id); if( head == null ) return AjaxResult.error("访问无数据"); hanjiVo.setHead(head); hanjiVo.setHanjiRd(hanjiRdService.queryByHeadId(head.getId())); hanjiVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); hanjiVo.setFeipinYintie(feipinYintieService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangRdList(hanjiZhiliangRdService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangWgList(hanjiZhiliangWgService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDjlList(hanjiZhiliangDjlService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDqlsList(hanjiZhiliangDqlsService.queryByHeadId(head.getId())); hanjiVo.setHanjiHongluList(hanjiHongluService.queryByHeadId(head.getId())); return AjaxResult.success(hanjiVo); } /** * 获取最新数据 * * @return 实例对象 */ @ApiOperation("获取最新数据") @PostMapping("/last") public AjaxResult getlastRecord(@RequestBody String leixing){ JSONObject j = JSONObject.parseObject(leixing); HashMap myMap = new HashMap(){{ put("0","一"); put("2","二"); put("3","三"); put("4","四"); put("5","五"); put("6","六"); put("7","七"); put("8","八"); put("9","九"); }}; Head head = headService.queryLeixingChanxian("A2",myMap.get(j.getString("leixing"))); HanjiVo hanjiVo = new HanjiVo(); if( head == null ) return AjaxResult.error("访问无数据"); hanjiVo.setHead(head); hanjiVo.setHanjiRd(hanjiRdService.queryByHeadId(head.getId())); hanjiVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); hanjiVo.setFeipinYintie(feipinYintieService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangRdList(hanjiZhiliangRdService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangWgList(hanjiZhiliangWgService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDjlList(hanjiZhiliangDjlService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDqlsList(hanjiZhiliangDqlsService.queryByHeadId(head.getId())); hanjiVo.setHanjiHongluList(hanjiHongluService.queryByHeadId(head.getId())); return AjaxResult.success(hanjiVo); } @PostMapping("/page") public AjaxResult findPage( @RequestParam(defaultValue = "1") Integer pageNum , @RequestParam(defaultValue = "10") Integer pageSize) { List headList = headMapper.queryPage2((pageNum - 1) * pageSize, pageSize); IPage iPage = new Page(); List records = new ArrayList<>(); for (Head h : headList) { HanjiVo hanjiVo = new HanjiVo(); Head head = headService.queryById(h.getId()); if( head == null ) return AjaxResult.error("访问无数据"); hanjiVo.setHead(head); hanjiVo.setHanjiRd(hanjiRdService.queryByHeadId(head.getId())); hanjiVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); hanjiVo.setFeipinYintie(feipinYintieService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangRdList(hanjiZhiliangRdService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangWgList(hanjiZhiliangWgService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDjlList(hanjiZhiliangDjlService.queryByHeadId(head.getId())); hanjiVo.setHanjiZhiliangDqlsList(hanjiZhiliangDqlsService.queryByHeadId(head.getId())); hanjiVo.setHanjiHongluList(hanjiHongluService.queryByHeadId(head.getId())); records.add(hanjiVo); } 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 hanjiVo 实例对象 * @return 实例对象 */ @ApiOperation("新增数据") @PostMapping public AjaxResult add( @RequestBody HanjiVo hanjiVo){ Head hh = headService.insert(hanjiVo.getHead()); extracted(hanjiVo, hh); return AjaxResult.success(hh.getId()); } @ApiOperation("更新数据") @PostMapping("/edit") public AjaxResult edit( @RequestBody HanjiVo hanjiVo){ Head h2 = hanjiVo.getHead(); h2.setId(""); Head hh = headService.insert(h2); extracted(hanjiVo, hh); return AjaxResult.success(hh.getId()); } private void extracted(@RequestBody HanjiVo hanjiVo, Head h) { if(hanjiVo.getHanjiRd() != null) { hanjiVo.getHanjiRd().setHeadId(h.getId()); hanjiRdService.saveOrUpdate(hanjiVo.getHanjiRd()); } if(hanjiVo.getFeipinHanji() != null) { hanjiVo.getFeipinHanji().setHeadId(h.getId()); feipinHanjiService.saveOrUpdate(hanjiVo.getFeipinHanji()); } if(hanjiVo.getFeipinYintie() != null) { hanjiVo.getFeipinYintie().setHeadId(h.getId()); feipinYintieService.saveOrUpdate(hanjiVo.getFeipinYintie()); } if(hanjiVo.getHanjiZhiliangRdList() != null) { hanjiVo.getHanjiZhiliangRdList().stream().forEach(item -> item.setHeadId(h.getId())); hanjiZhiliangRdService.saveOrUpdateBatch(hanjiVo.getHanjiZhiliangRdList()); } if(hanjiVo.getHanjiHongluList() != null) { hanjiVo.getHanjiHongluList().stream().forEach(item -> item.setHeadId(h.getId())); hanjiHongluService.saveOrUpdateBatch(hanjiVo.getHanjiHongluList()); } if(hanjiVo.getHanjiZhiliangDjlList() != null) { hanjiVo.getHanjiZhiliangDjlList().stream().forEach(item -> item.setHeadId(h.getId())); hanjiZhiliangDjlService.saveOrUpdateBatch(hanjiVo.getHanjiZhiliangDjlList()); } if(hanjiVo.getHanjiZhiliangWgList() != null) { hanjiVo.getHanjiZhiliangWgList().stream().forEach(item -> item.setHeadId(h.getId())); hanjiZhiliangWgService.saveOrUpdateBatch(hanjiVo.getHanjiZhiliangWgList()); } if(hanjiVo.getHanjiZhiliangDqlsList() != null) { hanjiVo.getHanjiZhiliangDqlsList().stream().forEach(item -> item.setHeadId(h.getId())); hanjiZhiliangDqlsService.saveOrUpdateBatch(hanjiVo.getHanjiZhiliangDqlsList()); } } /** * 通过主键删除数据 * * @param id 主键 * @return 是否成功 */ @ApiOperation("通过主键删除数据") @DeleteMapping public AjaxResult deleteById(String id){ return AjaxResult.success(headService.deleteById(id)); } }