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.*; import org.jeecg.modules.arj.mapper.*; import org.jeecg.modules.arj.service.*; import org.jeecg.modules.arj.vo.FeipinVo; import org.jeecg.modules.arj.vo.ShengchanVo; 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 = "A7生产情况统计接口") @RestController @RequestMapping("/ShengchanVo") public class ShengchanVoController { @Autowired private HeadService headService; // @Autowired // private LineFeipintongjiService feipintongjiService; @Autowired private LineChanliangtongjiService chanliangtongjiService; @Autowired private FeipinHanjiService feipinHanjiService; @Autowired private FeipinFanbianService feipinFanbianService; @Autowired private HeadMapper headMapper; @Autowired private FeipinZhijianService feipinZhijianService ; @Autowired private FeipinFengkouMapper feipinFengkouMapper; @Autowired private FeipinYintieMapper feipinYintieMapper; @Autowired private FeipinFanbianMapper feipinFanbianMapper; @Autowired private FeipinHanjiMapper feipinHanjiMapper; @Autowired private LineChanliangtongjiMapper lineChanliangtongjiMapper ; @Autowired private FeipinZhijianMapper feipinZhijianMapper ; @Autowired private FeipinJiguanMapper feipinJiguanMapper; @Autowired private FeipinJianguanMapper feipinJianguanMapper; @Autowired private FeipinJianbanMapper feipinJianbanMapper; @Autowired private FeipinGuanMapper feipinGuanMapper; /** * 通过ID查询单条数据 * * @param id 主键 * @return 实例对象. */ @ApiOperation("通过ID查询单条数据") @GetMapping("/id") public AjaxResult queryById(String id){ ShengchanVo shengchanVo = new ShengchanVo(); Head head = headService.queryById(id); shengchanVo.setHead(head); shengchanVo.setChanliangtongjiList(chanliangtongjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinZhijian(feipinZhijianService.queryByHeadId(head.getId())); shengchanVo.setFeipinFanbian(feipinFanbianService.queryByHeadId(head.getId())); shengchanVo.setFeipinJianban(feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinYintie(feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinGuan(feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJianguan(feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJiguan(feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinFengkou(feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); return AjaxResult.success(shengchanVo); } /** * 分页查询 * * @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 pageResult = headService.paginQuery(head, current,size); //3. 分页结果组装 List dataList = pageResult.getRecords(); long total = pageResult.getTotal(); PageImpl retPage = new PageImpl(dataList,pageRequest,total); return AjaxResult.success(retPage); } /** * 新增数据 * * @param shengchanVo 实例对象 * @return 实例对象 */ @ApiOperation("新增数据") @PostMapping public AjaxResult add( @RequestBody ShengchanVo shengchanVo){ Head h = headService.insert(shengchanVo.getHead()); if (shengchanVo.getChanliangtongjiList() != null) { shengchanVo.getChanliangtongjiList().setHeadId(h.getId()); chanliangtongjiService.save(shengchanVo.getChanliangtongjiList()); } if (shengchanVo.getFeipinHanji() != null) { shengchanVo.getFeipinHanji().setHeadId(h.getId()); feipinHanjiService.save(shengchanVo.getFeipinHanji()); } if (shengchanVo.getFeipinFanbian() != null) { shengchanVo.getFeipinFanbian().setHeadId(h.getId()); feipinFanbianService.save(shengchanVo.getFeipinFanbian()); } if (shengchanVo.getFeipinYintie() != null) { shengchanVo.getFeipinYintie().setHeadId(h.getId()); feipinYintieMapper.insert(shengchanVo.getFeipinYintie()); } if (shengchanVo.getFeipinGuan() != null) { shengchanVo.getFeipinGuan().setHeadId(h.getId()); feipinGuanMapper.insert(shengchanVo.getFeipinGuan()); } if (shengchanVo.getFeipinJianban() != null) { shengchanVo.getFeipinJianban().setHeadId(h.getId()); feipinJianbanMapper.insert(shengchanVo.getFeipinJianban()); } if (shengchanVo.getFeipinJianguan() != null) { shengchanVo.getFeipinJianguan().setHeadId(h.getId()); feipinJianguanMapper.insert(shengchanVo.getFeipinJianguan()); } if (shengchanVo.getFeipinJiguan() != null) { shengchanVo.getFeipinJiguan().setHeadId(h.getId()); feipinJiguanMapper.insert(shengchanVo.getFeipinJiguan()); } if (shengchanVo.getFeipinFengkou() != null) { shengchanVo.getFeipinFengkou().setHeadId(h.getId()); feipinFengkouMapper.insert(shengchanVo.getFeipinFengkou()); } if (shengchanVo.getFeipinZhijian() != null) { shengchanVo.getFeipinZhijian().setHeadId(h.getId()); feipinZhijianService.save(shengchanVo.getFeipinZhijian()); } return AjaxResult.success(h.getId()); } /** * 获取最新数据 * * @return 实例对象 */ @ApiOperation("获取最新数据") @PostMapping("/last") public AjaxResult getlastRecord(@RequestBody String leixing) { //Head head = headService.queryLast("A7"); 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("A7",myMap.get(j.getString("leixing"))); ShengchanVo shengchanVo = new ShengchanVo(); if (head == null) return AjaxResult.error("访问无数据"); shengchanVo.setHead(head); shengchanVo.setFeipinZhijian(feipinZhijianService.queryByHeadId(head.getId())); shengchanVo.setChanliangtongjiList(chanliangtongjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinFanbian(feipinFanbianService.queryByHeadId(head.getId())); shengchanVo.setFeipinJianban(feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinYintie(feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinGuan(feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJianguan(feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJiguan(feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinFengkou(feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); return AjaxResult.success(shengchanVo); } @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) { ShengchanVo shengchanVo = new ShengchanVo(); Head head = headService.queryById(h.getId()); if (head == null) return AjaxResult.error("访问无数据"); shengchanVo.setHead(head); shengchanVo.setFeipinZhijian(feipinZhijianService.queryByHeadId(head.getId())); shengchanVo.setChanliangtongjiList(chanliangtongjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinHanji(feipinHanjiService.queryByHeadId(head.getId())); shengchanVo.setFeipinFanbian(feipinFanbianService.queryByHeadId(head.getId())); shengchanVo.setFeipinJianban(feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinYintie(feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinGuan(feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJianguan(feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinJiguan(feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); shengchanVo.setFeipinFengkou(feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))); records.add(shengchanVo); } 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 shengchanVo 实例对象 * @return 实例对象 */ @ApiOperation("更新数据") @PostMapping("/edit") public AjaxResult edit(@RequestBody ShengchanVo shengchanVo){ Head h2 = shengchanVo.getHead(); h2.setId(""); Head h = headService.insert(h2); if (shengchanVo.getChanliangtongjiList() != null) { shengchanVo.getChanliangtongjiList().setHeadId(h.getId()); chanliangtongjiService.saveOrUpdate(shengchanVo.getChanliangtongjiList()); } if (shengchanVo.getFeipinHanji() != null) { shengchanVo.getFeipinHanji().setHeadId(h.getId()); feipinHanjiService.saveOrUpdate(shengchanVo.getFeipinHanji()); } if (shengchanVo.getFeipinFanbian() != null) { shengchanVo.getFeipinFanbian().setHeadId(h.getId()); feipinFanbianService.saveOrUpdate(shengchanVo.getFeipinFanbian()); } if (shengchanVo.getFeipinYintie() != null) { shengchanVo.getFeipinYintie().setHeadId(h.getId()); feipinYintieMapper.insert(shengchanVo.getFeipinYintie()); } if (shengchanVo.getFeipinGuan() != null) { shengchanVo.getFeipinGuan().setHeadId(h.getId()); feipinGuanMapper.insert(shengchanVo.getFeipinGuan()); } if (shengchanVo.getFeipinJianban() != null) { shengchanVo.getFeipinJianban().setHeadId(h.getId()); feipinJianbanMapper.insert(shengchanVo.getFeipinJianban()); } if (shengchanVo.getFeipinJianguan() != null) { shengchanVo.getFeipinJianguan().setHeadId(h.getId()); feipinJianguanMapper.insert(shengchanVo.getFeipinJianguan()); } if (shengchanVo.getFeipinJiguan() != null) { shengchanVo.getFeipinJiguan().setHeadId(h.getId()); feipinJiguanMapper.insert(shengchanVo.getFeipinJiguan()); } if (shengchanVo.getFeipinFengkou() != null) { shengchanVo.getFeipinFengkou().setHeadId(h.getId()); feipinFengkouMapper.insert(shengchanVo.getFeipinFengkou()); } if (shengchanVo.getFeipinZhijian() != null) { shengchanVo.getFeipinZhijian().setHeadId(h.getId()); feipinZhijianService.saveOrUpdate(shengchanVo.getFeipinZhijian()); } return AjaxResult.success(h.getId()); } /** * 通过主键删除数据 * * @param id 主键 * @return 是否成功 */ @ApiOperation("通过主键删除数据") @DeleteMapping public AjaxResult deleteById(String id){ return AjaxResult.success(headService.deleteById(id)); } /** * 废品统计信息 */ @ApiOperation("统计废品数据") @PostMapping("/feipinTotal") public AjaxResult feipinTotal(){ Head head = headService.queryLast("A7"); if (head == null) return AjaxResult.error("访问无数据"); FeipintTotal feipintTotal = new FeipintTotal(); feipintTotal.setHead_id(head.getId()); feipintTotal.setZj_total(feipinZhijianService.queryByHeadId(head.getId())!=null?feipinZhijianService.queryByHeadId(head.getId()).getTotal():0); feipintTotal.setHj_total(feipinHanjiService.queryByHeadId(head.getId())!=null?feipinHanjiService.queryByHeadId(head.getId()).getTotal():0); feipintTotal.setFb_total(feipinFanbianService.queryByHeadId(head.getId())!=null?feipinFanbianService.queryByHeadId(head.getId()).getTotal():0); feipintTotal.setJb_total(feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())) != null? feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); feipintTotal.setYt_total(feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())) != null ? feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); feipintTotal.setFp_total(feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId()))!=null ? feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); feipintTotal.setJianguan_total(feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())) != null? feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); feipintTotal.setJg_total(feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())) != null? feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); feipintTotal.setFk_total(feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())) != null ? feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id",head.getId())).getTotal():0); if( head == null ) return AjaxResult.error("访问无数据"); return AjaxResult.success(feipintTotal); } /** * 当天统计信息 */ @ApiOperation("统计当天数据") @PostMapping("/dayTongj") public AjaxResult dayTongj(){ return AjaxResult.success(lineChanliangtongjiMapper.queryDay()); } /** * 本周统计信息 */ @ApiOperation("统计本周数据") @PostMapping("/weekTongj") public AjaxResult weekTongj(){ return AjaxResult.success(lineChanliangtongjiMapper.queryWeek()); } /** * 月统计信息 */ @ApiOperation("统计月数据") @PostMapping("/monthTongj") public AjaxResult monthTongj(int n){ List list = lineChanliangtongjiMapper.queryMonth(); if( n == 0 ) return AjaxResult.success(lineChanliangtongjiMapper.queryMonth()) ; else return AjaxResult.success(lineChanliangtongjiMapper.queryMonthN(n)); } /** * 本周废品统计信息 */ @ApiOperation("统计本周废品数据") @PostMapping("/weekFeiPinTongj") public AjaxResult weekFeiPinTongj(String leixing){ FeipinVo feipinVo = new FeipinVo() ; if( leixing == null?true:leixing.equals("A3")) { feipinVo.setFeipinFanbian(feipinFanbianMapper.queryWeek()); feipinVo.setFeipinFengkou(feipinFengkouMapper.queryWeek()); } if( leixing == null?true:leixing.equals("A2")) feipinVo.setFeipinHanji(feipinHanjiMapper.queryWeek()); if( leixing == null?true:leixing.equals("A1")) feipinVo.setFeipinJianban(feipinJianbanMapper.queryWeek()); if( leixing == null?true:leixing.equals("A4")) feipinVo.setFeipinJiguan(feipinJiguanMapper.queryWeek()); if( leixing == null?true:leixing.equals("A5")) feipinVo.setFeipinJianguan(feipinJianguanMapper.queryWeek()); if( leixing == null) { feipinVo.setFeipinYintie(feipinYintieMapper.queryWeek()); feipinVo.setFeipinGuan(feipinGuanMapper.queryWeek()); } return AjaxResult.success(feipinVo); } /** * 本周废品统计信息 */ @ApiOperation("统计月废品数据") @PostMapping("/monthFeiPinTongj") public AjaxResult monthFeiPinTongj(String leixing,int n){ FeipinVo feipinVo = new FeipinVo() ; if( n == 0){ if( leixing == null?true:leixing.equals("A3")) { feipinVo.setFeipinFanbian(feipinFanbianMapper.queryMonth()); feipinVo.setFeipinFengkou(feipinFengkouMapper.queryMonth()); } if( leixing == null?true:leixing.equals("A2")) feipinVo.setFeipinHanji(feipinHanjiMapper.queryMonth()); if( leixing == null?true:leixing.equals("A1")) feipinVo.setFeipinJianban(feipinJianbanMapper.queryMonth()); if( leixing == null?true:leixing.equals("A4")) feipinVo.setFeipinJiguan(feipinJiguanMapper.queryMonth()); if( leixing == null?true:leixing.equals("A5")) feipinVo.setFeipinJianguan(feipinJianguanMapper.queryMonth()); if( leixing == null) { feipinVo.setFeipinYintie(feipinYintieMapper.queryMonth()); feipinVo.setFeipinGuan(feipinGuanMapper.queryMonth()); }} else{ if( leixing == null?true:leixing.equals("A3")) { feipinVo.setFeipinFanbian(feipinFanbianMapper.queryMonthN(n)); feipinVo.setFeipinFengkou(feipinFengkouMapper.queryMonthN(n)); } if( leixing == null?true:leixing.equals("A2")) feipinVo.setFeipinHanji(feipinHanjiMapper.queryMonthN(n)); if( leixing == null?true:leixing.equals("A1")) feipinVo.setFeipinJianban(feipinJianbanMapper.queryMonthN(n)); if( leixing == null?true:leixing.equals("A4")) feipinVo.setFeipinJiguan(feipinJiguanMapper.queryMonthN(n)); if( leixing == null?true:leixing.equals("A5")) feipinVo.setFeipinJianguan(feipinJianguanMapper.queryMonthN(n)); if( leixing == null) { feipinVo.setFeipinYintie(feipinYintieMapper.queryMonthN(n)); feipinVo.setFeipinGuan(feipinGuanMapper.queryMonthN(n)); } } return AjaxResult.success(feipinVo); } }