package org.jeecg.modules.arj.controller; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.shiro.SecurityUtils; import org.checkerframework.checker.units.qual.A; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.arj.config.AjaxResult; import org.jeecg.modules.arj.entity.*; import org.jeecg.modules.arj.g.entity.*; import org.jeecg.modules.arj.g.service.*; import org.jeecg.modules.arj.g.vo.DiGaiShengChanVo; import org.jeecg.modules.arj.mapper.*; import org.jeecg.modules.arj.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.modules.arj.vo.ShengchanVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDateTime; import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Api(tags = "A-Head接口") @RestController @RequestMapping("/head") public class HeadController { @Autowired HeadMapper headMapper; @Autowired HeadService headService; @Autowired private LineChanliangtongjiService chanliangtongjiService; @Autowired private FeipinHanjiService feipinHanjiService; @Autowired private FeipinFanbianService feipinFanbianService; @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; @Autowired private LineChanliangtongjiService lineChanliangtongjiService; @Autowired private Sh14YtFpService sh14YtFpService; @Autowired private Sh14JgFpService sh14JgFpService; @Autowired private Sh14CcFpService sh14CcFpService; @Autowired private Sh14ZjFpService sh14ZjFpService; @Autowired private Sh14GjjFpService sh14GjjFpService; @Autowired private Sh14ZjService sh14ZjService; @Autowired private FeipinGuanService feipinGuanService; @ApiOperation("m分页历史数据") @PostMapping("/all") public AjaxResult mypage(@RequestBody PageObj pageObj) { //此处没有写查询条件逻辑,因为太活了,所有不在模板中写了 int pageNo = pageObj.getPageNo(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); int pageSize = pageObj.getPageSize(); IPage iPage = new Page<>(pageNo, pageSize); //新建一个page QueryWrapper queryWrapper = new QueryWrapper<>(); //新建一个queryWrapper if (loginUser != null) { if (loginUser.getUserIdentity() <= 1) { queryWrapper.eq("createdby", loginUser.getRealname()).or().eq("leixing", "B1").or().eq("leixing", "B2"); }else { // 0开头的工号是盖线 if (loginUser.getWorkNo().indexOf("0") == 0) { queryWrapper.like("shengcx", "盖").or().like("shengcx", "一").or().eq("leixing", "B1").or().eq("leixing", "B2"); } if (loginUser.getWorkNo().indexOf("2") == 0) { queryWrapper.like("shengcx", "二").or().eq("leixing", "B1").or().eq("leixing", "B2"); ; } if (loginUser.getWorkNo().indexOf("3") == 0) { queryWrapper.like("shengcx", "三").or().eq("leixing", "B1").or().eq("leixing", "B2"); ; } if (loginUser.getWorkNo().indexOf("5") == 0) { queryWrapper.like("shengcx", "五").or().eq("leixing", "B1").or().eq("leixing", "B2"); ; } } } if (pageObj.getLeixing() != null && pageObj.getLeixing().length() > 0 && pageObj.getShijian() != null && pageObj.getShijian().length() > 0) { queryWrapper = new QueryWrapper<>(); if (loginUser.getUserIdentity() <= 1) { queryWrapper.eq("createdby", loginUser.getRealname()); } queryWrapper.eq("leixing", pageObj.getLeixing()); queryWrapper.ge("reportTime", pageObj.getShijian().substring(0, 10) + " 00:00:00"); queryWrapper.lt("reportTime", pageObj.getShijian().substring(0, 10) + " 23:59:59"); // queryWrapper.gt("reportTime", DateUtil.parse(pageObj.getShijian().substring(0,10)+" 00:00:00").toJdkDate()); //queryWrapper.lt("reportTime", DateUtil.parse(pageObj.getShijian().substring(0,10)+" 23:59:59").toJdkDate()); } else if (pageObj.getLeixing() != null && pageObj.getLeixing().length() > 0) { queryWrapper = new QueryWrapper<>(); if (loginUser.getUserIdentity() <= 1) { queryWrapper.eq("createdby", loginUser.getRealname()); } queryWrapper.eq("leixing", pageObj.getLeixing()); } else if (pageObj.getShijian() != null && pageObj.getShijian().length() > 0) { queryWrapper = new QueryWrapper<>(); if (loginUser.getUserIdentity() <= 1) { queryWrapper.eq("createdby", loginUser.getRealname()); } queryWrapper.ge("reportTime", pageObj.getShijian().substring(0, 10) + " 00:00:00"); queryWrapper.lt("reportTime", pageObj.getShijian().substring(0, 10) + " 23:59:59"); } queryWrapper.orderByDesc("reportTime"); //通过id倒序显示 return AjaxResult.success(headService.page(iPage, queryWrapper)); //返回分页 } @ApiOperation("分页查询数据") @PostMapping("/pageSearch") public AjaxResult pageSearch(@RequestBody PageObj pageObj) { int pageNo = pageObj.getPageNo(); int pageSize = pageObj.getPageSize(); List headList = headMapper.queryPage2((pageNo - 1) * pageSize, pageSize); LocalDateTime dateTime = LocalDateTime.parse(pageObj.getShijian()); IPage iPage = getiPage(pageNo, pageSize, headList.stream(). filter(h -> { return h.getReportTime() != null && h.getReportTime().toLocalDate().isBefore(dateTime.toLocalDate()); }).collect(Collectors.toList())); return AjaxResult.success(iPage); } @ApiOperation("时间查询数据") @PostMapping("/shijian") public AjaxResult findShijian(@RequestBody PageObj pageObj) { int pageNo = pageObj.getPageNo(); int pageSize = pageObj.getPageSize(); IPage iPage = new Page<>(pageNo, pageSize); //新建一个page QueryWrapper queryWrapper = new QueryWrapper<>(); //新建一个queryWrapper queryWrapper.orderByDesc("reportTime"); //通过id倒序显示 if (pageObj.getShijian() != null && pageObj.getShijian().length() > 0) { queryWrapper.ge("reportTime", pageObj.getShijian().substring(0, 10) + " 00:00:00"); queryWrapper.lt("reportTime", pageObj.getShijian().substring(0, 10) + " 23:59:59"); } return AjaxResult.success(headService.page(iPage, queryWrapper)); //返回分页 } @ApiOperation("批次查询数据") @PostMapping("/pici") public AjaxResult findPici(@RequestBody PageObj pageObj) { int pageNo = pageObj.getPageNo(); int pageSize = pageObj.getPageSize(); IPage iPage = new Page<>(pageNo, pageSize); //新建一个page QueryWrapper queryWrapper = new QueryWrapper<>(); //新建一个queryWrapper queryWrapper.orderByDesc("reportTime"); //通过id倒序显示 if (pageObj.getPici() != null && pageObj.getPici().length() > 0) { queryWrapper.ge("pici", pageObj.getPici()); } return AjaxResult.success(headService.page(iPage, queryWrapper)); //返回分页 } @ApiOperation("类型查询数据") @PostMapping("/leixing") public AjaxResult findLeixing(@RequestBody PageObj pageObj) { int pageNo = pageObj.getPageNo(); int pageSize = pageObj.getPageSize(); IPage iPage = new Page<>(pageNo, pageSize); //新建一个page QueryWrapper queryWrapper = new QueryWrapper<>(); //新建一个queryWrapper queryWrapper.orderByDesc("reportTime"); //通过id倒序显示 if (pageObj.getLeixing() != null && pageObj.getLeixing().length() > 0) { queryWrapper.ge("leixing", pageObj.getPici()); } return AjaxResult.success(headService.page(iPage, queryWrapper)); //返回分页 } @ApiOperation("产线查询数据") @PostMapping("/chanxian") public AjaxResult findChanxian(@RequestBody PageObj pageObj) { int pageNo = pageObj.getPageNo(); int pageSize = pageObj.getPageSize(); IPage iPage = new Page<>(pageNo, pageSize); //新建一个page QueryWrapper queryWrapper = new QueryWrapper<>(); //新建一个queryWrapper queryWrapper.orderByDesc("reportTime"); //通过id倒序显示 if (pageObj.getLeixing() != null && pageObj.getLeixing().length() > 0) { queryWrapper.like("shengcx", pageObj.getChanxian()); } return AjaxResult.success(headService.page(iPage, queryWrapper)); //返回分页 } private IPage getiPage(int pageNo, int pageSize, List headList) { IPage iPage = new Page(); int n = headMapper.queryCount(); iPage.setPages(n % pageSize == 0 ? n / pageSize : n / pageSize + 1); iPage.setRecords(headList); iPage.setTotal(n); iPage.setSize(pageSize); iPage.setCurrent(pageNo); return iPage; } @ApiOperation("通过headID与分类" + "A1: 剪板" + "A2: 焊机" + "A3: 翻边" + "A4: 检罐" + "A5: 集罐" + "A6: 打包 查询单条数据") @PostMapping("/report") public void queryReport(@RequestBody PageObj pageObj, HttpServletResponse response) throws IOException { String leixing = pageObj.getLeixing(); String head_id = pageObj.getHead_id(); if (leixing.equals("A0")) { response.sendRedirect("/bianxk/id?id=" + head_id); } if (leixing.equals("A1")) { response.sendRedirect("/jianbjVo/id?id=" + head_id); } if (leixing.equals("A2")) { response.sendRedirect("/hanjiVo/id?id=" + head_id); } if (leixing.equals("A3")) { response.sendRedirect("/fanbianVo/id?id=" + head_id); } if (leixing.equals("A4")) { response.sendRedirect("/jianguanVo/id?id=" + head_id); } if (leixing.equals("A5")) { response.sendRedirect("/jiguanVo/id?id=" + head_id); } if (leixing.equals("A6")) { response.sendRedirect("/dabaoVo/id?id=" + head_id); } if (leixing.equals("A7")) { response.sendRedirect("/ShengchanVo/id?id=" + head_id); } } @ApiOperation("查询当天数据") @PostMapping("/today") public AjaxResult queryToday() { List headList = headMapper.queryToday(); return AjaxResult.success(headList); } @ApiOperation("查询N天数据") @PostMapping("/queryNday") public AjaxResult queryNday(@RequestParam(defaultValue = "1") Integer nDay) { List headList = headMapper.queryNday(nDay); return AjaxResult.success(headList); } @ApiOperation("所有统计接口") @PostMapping("/queryTJJK") public AjaxResult queryTJJK() { List list = new ArrayList<>(); Head head = headService.queryLeixingChanxian("A7", "二"); ShengchanVo shengchanVo = new ShengchanVo(); if (head != null) { 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()))); } Head head2 = headService.queryLeixingChanxian("A7", "五"); ShengchanVo shengchanVo2 = new ShengchanVo(); if (head2 != null) { shengchanVo2.setHead(head2); shengchanVo2.setFeipinZhijian(feipinZhijianService.queryByHeadId(head2.getId())); shengchanVo2.setChanliangtongjiList(chanliangtongjiService.queryByHeadId(head2.getId())); shengchanVo2.setFeipinHanji(feipinHanjiService.queryByHeadId(head2.getId())); shengchanVo2.setFeipinFanbian(feipinFanbianService.queryByHeadId(head2.getId())); shengchanVo2.setFeipinJianban(feipinJianbanMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); shengchanVo2.setFeipinYintie(feipinYintieMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); shengchanVo2.setFeipinGuan(feipinGuanMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); shengchanVo2.setFeipinJianguan(feipinJianguanMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); shengchanVo2.setFeipinJiguan(feipinJiguanMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); shengchanVo2.setFeipinFengkou(feipinFengkouMapper.selectOne(new QueryWrapper().eq("head_id", head2.getId()))); } //============================================================================================== Head head3 = headService.queryLeixingChanxian("g14","一"); DiGaiShengChanVo shengchanVo3 = new DiGaiShengChanVo(); if (head3 != null) { shengchanVo3.setHead(head3); shengchanVo3.setLineChanliangtongji(lineChanliangtongjiService.queryByHeadId(head3.getId())); shengchanVo3.setFeipinGuan(feipinGuanService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setSh14CcFp(sh14CcFpService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setSh14GjjFp(sh14GjjFpService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setSh14JgFp(sh14JgFpService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setSh14Zj(sh14ZjService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setSh14ZjFp(sh14ZjFpService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); shengchanVo3.setYtFp(sh14YtFpService.getOne(new QueryWrapper().eq("head_id", head3.getId()))); } list.add(shengchanVo); list.add(shengchanVo2); list.add(shengchanVo3); return AjaxResult.success(list); } }