package com.zy.asrs.wms.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.common.web.BaseController; import com.zy.asrs.common.wms.entity.ViewInOutBean; import com.zy.asrs.common.wms.entity.ViewStayTimeBean; import com.zy.asrs.common.wms.entity.ViewStockUseBean; import com.zy.asrs.common.wms.entity.ViewWorkInBean; import com.zy.asrs.common.wms.mapper.ReportQueryMapper; import com.zy.asrs.framework.annotations.ManagerAuth; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; /** * 日志统计控制器层 * * @author admin * @date 2018年11月23日 */ @RestController @RequestMapping("/report") public class ReportQueryController extends BaseController { @Autowired private ReportQueryMapper reportQueryMapper; //------------------库位使用统计-------------------------------------- @RequestMapping("/viewStockUseList.action") public R queryViewStockUseListByPages(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam Map param) { ViewStockUseBean bean = new ViewStockUseBean(); bean.setPageSize(limit); bean.setPageNumber(curr); Page page = new Page<>(curr, limit); IPage list = reportQueryMapper.queryViewStockUseList(page, bean); return R.ok(list); } // 导出 @RequestMapping(value = "/viewStockUseExport.action") @ManagerAuth(memo = "库位使用统计导出") public R viewStockUseExport(@RequestBody JSONObject param) { List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); List list = reportQueryMapper.getViewStockUseAll(new ViewStockUseBean()); return R.ok(exportSupport(list, fields)); } //------------------库存滞留统计-------------------------------------- @RequestMapping("/viewStayTimeList.action") public Map queryViewStayTimeListByPages(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam Map param) { ViewStayTimeBean bean = new ViewStayTimeBean(); bean.setPageSize(limit); bean.setPageNumber(curr); String locNo = String.valueOf(param.get("locNo")); if (!Cools.isEmpty(locNo) && !locNo.equals("null")) { bean.setLocNo(locNo); } if (!Cools.isEmpty(param.get("zpallet"))) { bean.setZpallet(String.valueOf(param.get("zpallet"))); } Page page = new Page<>(curr, limit); IPage list = reportQueryMapper.queryViewStayTimeList(page, bean); return R.ok(list); } // 导出 @RequestMapping(value = "/viewStayTimeExport.action") @ManagerAuth(memo = "库存滞留统计导出") public R viewStayTimeExport(@RequestBody JSONObject param) { List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map map = param.getObject("exportData", Map.class); List list = reportQueryMapper.getViewStayTimeAll(map); return R.ok(exportSupport(list, fields)); } //------------------站点日入出库次数统计-------------------------------------- @RequestMapping("/viewInOutList.action") public Map viewInOutList(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam Map param) { ViewInOutBean bean = new ViewInOutBean(); bean.setPageSize(limit); bean.setPageNumber(curr); Page page = new Page<>(curr, limit); IPage list = reportQueryMapper.queryViewInOutList(page, bean); return R.ok(list); } //------------------日入库明细统计-------------------------------------- @RequestMapping("/viewWorkInList.action") public Map viewWorkInList(ViewWorkInBean bean) { Page page = new Page<>(bean.getPageNumber(), bean.getPageSize()); IPage list = reportQueryMapper.queryViewWorkInList(page, bean); return R.ok(list); } //excel导出 @RequestMapping("/viewWorkInExport.action") @ManagerAuth(memo = "日入库明细统计导出") public R viewWorkInExport(@RequestBody JSONObject param) { List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); @SuppressWarnings("unchecked") ViewWorkInBean bean = Cools.conver((Map) param.get("exportData"), ViewWorkInBean.class); bean.setQueryDate(bean.getQueryDate()); Map map = JSON.parseObject(JSON.toJSONString(bean), Map.class); List list = reportQueryMapper.getViewWorkInAll(map); return R.ok(exportSupport(list, fields)); } //------------------日出库明细统计-------------------------------------- @RequestMapping("/viewWorkOutList.action") public R viewWorkOutList(ViewWorkInBean bean) { Page page = new Page<>(bean.getPageNumber(), bean.getPageSize()); IPage list = reportQueryMapper.queryViewWorkOutList(page, bean); return R.ok(list); } //excel导出 @RequestMapping("/viewWorkOutExport.action") @ManagerAuth(memo = "日出库明细统计导出") public R viewWorkOutExport(@RequestBody JSONObject param) { List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); @SuppressWarnings("unchecked") ViewWorkInBean bean = Cools.conver((Map) param.get("exportData"), ViewWorkInBean.class); bean.setQueryDate(bean.getQueryDate()); Map map = JSON.parseObject(JSON.toJSONString(bean), Map.class); List list = reportQueryMapper.getViewWorkOutAll(map); return R.ok(exportSupport(list, fields)); } }