package com.zy.asrs.wms.asrs.controller.statistics; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zy.asrs.framework.common.R; import com.zy.asrs.wms.asrs.entity.statistics.ViewStayTime; import com.zy.asrs.wms.asrs.mapper.statistics.ViewStayTimeMapper; import com.zy.asrs.wms.common.annotation.CacheData; import com.zy.asrs.wms.common.domain.BaseParam; import com.zy.asrs.wms.common.domain.PageParam; import com.zy.asrs.wms.system.controller.BaseController; import com.zy.asrs.wms.utils.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.Map; @RestController @RequestMapping("/api") public class ViewStayTimeController extends BaseController { @Autowired private ViewStayTimeMapper viewStayTimeMapper; @PreAuthorize("hasAuthority('asrs:viewStayTime:list')") @PostMapping("/viewStayTime/page") @CacheData(tableName = {"view_stay_time", "man_loc_detl", "man_loc"}) public R page(@RequestBody Map map) { BaseParam baseParam = buildParam(map, BaseParam.class); PageParam pageParam = new PageParam<>(baseParam, ViewStayTime.class); QueryWrapper queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time")); PageParam page = viewStayTimeMapper.selectPage(pageParam, queryWrapper); return R.ok().add(page); } @PreAuthorize("hasAuthority('asrs:viewStayTime:list')") @PostMapping("/viewStayTime/export") public void export(@RequestBody Map map, HttpServletResponse response) throws Exception { BaseParam baseParam = buildParam(map, BaseParam.class); PageParam pageParam = new PageParam<>(baseParam, ViewStayTime.class); QueryWrapper queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time")); ExcelUtil.build(ExcelUtil.create(viewStayTimeMapper.selectList(queryWrapper), ViewStayTime.class), response); } }