package com.zy.asrs.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.entity.*; import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.common.web.BaseController; 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.ArrayList; import java.util.HashMap; 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); List list= reportQueryMapper.queryViewStockUseList(bean); int count = reportQueryMapper.getViewStockUseCount(bean); Page page = new Page<>(); page.setRecords(list); page.setTotal(count); return R.ok(page); } // 导出 @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("loc_no")); if (!Cools.isEmpty(locNo) && !locNo.equals("null")) { bean.setLoc_no(locNo); } List list = reportQueryMapper.queryViewStayTimeList(bean); int count = reportQueryMapper.getViewStayTimeCount(bean); Page page = new Page<>(); page.setRecords(list); page.setTotal(count); return R.ok(page); } // 导出 @RequestMapping(value = "/viewStayTimeExport.action") @ManagerAuth(memo = "库存滞留统计导出") public R viewStayTimeExport(@RequestBody JSONObject param){ List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); List list = reportQueryMapper.getViewStayTimeAll(new ViewStayTimeBean()); return R.ok(exportSupport(list, fields)); } //-----------------库存MAP图-------------------------------------- @RequestMapping("/viewLocMapList/rows.action") public R queryViewLocMapRows(){ return R.ok().add(reportQueryMapper.getViewLocRowTotal()); } @RequestMapping("/viewLocMapList.action") public R queryViewLocMapListByPages(@RequestParam(defaultValue = "1")Integer row){ // 获取排级数据 // 表格标题:列 ===>> 升序 List bays = reportQueryMapper.getViewLocBayCount(row); // !表格第一列放层级数 bays.add(0, ""); // 表格行:层 ====>> 倒序 List levs = reportQueryMapper.getViewLocLevCount(row); List> body = new ArrayList<>(); for (String lev : levs){ // 获取层级数据 List dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev)); // !表格第一列放层级数 dtos.add(0, new ViewLocMapDto(null ,null, lev)); Map map = new HashMap<>(); map.put("loc", dtos); body.add(map); } Map result = new HashMap<>(); result.put("title", bays); result.put("body", body); return R.ok(result); } //------------------站点日入出库次数统计-------------------------------------- @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); List list = reportQueryMapper.queryViewInOutList(bean); int count = reportQueryMapper.getViewInOutCount(bean); Page page = new Page<>(); page.setRecords(list); page.setTotal(count); return R.ok(page); } //excel导出 @RequestMapping("/viewInOutExport.action") @ManagerAuth(memo = "站点日入出库次数统计导出") public R viewInOutExport(@RequestBody JSONObject param){ List fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); List list = reportQueryMapper.getViewInOutAll(new ViewInOutBean()); return R.ok(exportSupport(list, fields)); } //------------------日入库明细统计-------------------------------------- @RequestMapping("/viewWorkInList.action") public Map viewWorkInList(ViewWorkInBean bean){ List list = reportQueryMapper.queryViewWorkInList(bean); int count = reportQueryMapper.getViewWorkInCount(bean); Page page = new Page<>(); page.setRecords(list); page.setTotal(count); return R.ok(page); } /** * 日入库汇总查询 * @return */ @RequestMapping("/viewWorkCountInList.action") public R viewWorkCountInList(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam Map param){ String startTime = "1970.1.2"; String endTime = "2099.1.2"; if (!Cools.isEmpty(param.get("query_date"))) { String queryDate = (String) param.get("query_date"); String[] split = queryDate.split(" - "); startTime= split[0].split(" ")[0].replace("-","."); endTime = split[1].split(" ")[0].replace("-","."); } List allCountIn = reportQueryMapper.selectWorkCountIn(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime); Integer total = reportQueryMapper.selectWorkCountInTotal((String) param.get("matnr"), startTime,endTime); Page page = new Page<>(); page.setRecords(allCountIn); page.setTotal(total); Integer sum = reportQueryMapper.selectWorkCountInSum((String) param.get("matnr"), startTime,endTime); HashMap result = new HashMap<>(); result.put("page",page); result.put("sum",sum); return R.ok(result); } /** * 日出库汇总 */ @RequestMapping("/viewWorkCountOutList.action") public R viewWorkCountOutList(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam Map param){ String startTime = "1970.1.2"; String endTime = "2099.1.2"; if (!Cools.isEmpty(param.get("query_date"))) { String queryDate = (String) param.get("query_date"); String[] split = queryDate.split(" - "); startTime= split[0].split(" ")[0].replace("-","."); endTime = split[1].split(" ")[0].replace("-","."); } List allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime); Integer total = reportQueryMapper.selectWorkCountOutTotal((String) param.get("matnr"), startTime,endTime); Page page = new Page<>(); page.setRecords(allCountIn); page.setTotal(total); Integer sum = reportQueryMapper.selectWorkCountOutSum((String) param.get("matnr"), startTime,endTime); HashMap result = new HashMap<>(); result.put("page",page); result.put("sum",sum); return R.ok(result); } //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.setQuery_date(bean.getQuery_date()); List list = reportQueryMapper.getViewWorkInAll(bean); return R.ok(exportSupport(list, fields)); } //------------------日出库明细统计-------------------------------------- @RequestMapping("/viewWorkOutList.action") public R viewWorkOutList(ViewWorkInBean bean){ List list = reportQueryMapper.queryViewWorkOutList(bean); int count = reportQueryMapper.getViewWorkOutCount(bean); Page page = new Page<>(); page.setRecords(list); page.setTotal(count); return R.ok(page); } //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.setQuery_date(bean.getQuery_date()); List list = reportQueryMapper.getViewWorkOutAll(bean); return R.ok(exportSupport(list, fields)); } }