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.asrs.service.LocDetlService;
|
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 LocDetlService locDetlService;
|
@Autowired
|
private ReportQueryMapper reportQueryMapper;
|
|
//------------------库位使用统计--------------------------------------
|
@RequestMapping("/viewStockUseList.action")
|
public R queryViewStockUseListByPages(@RequestParam(defaultValue = "1")Integer curr,
|
@RequestParam(defaultValue = "10")Integer limit,
|
@RequestParam Map<String, Object> param){
|
ViewStockUseBean bean = new ViewStockUseBean();
|
bean.setPageSize(limit);
|
bean.setPageNumber(curr);
|
List<ViewStockUseBean> list= reportQueryMapper.queryViewStockUseList(bean);
|
int count = reportQueryMapper.getViewStockUseCount(bean);
|
Page<ViewStockUseBean> 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<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
|
List<ViewStockUseBean> list = reportQueryMapper.getViewStockUseAll(new ViewStockUseBean());
|
return R.ok(exportSupport(list, fields));
|
}
|
|
//------------------库存滞留统计--------------------------------------
|
@RequestMapping("/viewStayTimeList.action")
|
public Map<String,Object> queryViewStayTimeListByPages(@RequestParam(defaultValue = "1")Integer curr,
|
@RequestParam(defaultValue = "10")Integer limit,
|
@RequestParam Map<String, Object> 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<ViewStayTimeBean> list = reportQueryMapper.queryViewStayTimeList(bean);
|
int count = reportQueryMapper.getViewStayTimeCount(bean);
|
Page<ViewStayTimeBean> 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<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
|
List<ViewStayTimeBean> 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<String> bays = reportQueryMapper.getViewLocBayCount(row);
|
// !表格第一列放层级数
|
bays.add(0, "");
|
// 表格行:层 ====>> 倒序
|
List<String> levs = reportQueryMapper.getViewLocLevCount(row);
|
List<Map<String, Object>> body = new ArrayList<>();
|
for (String lev : levs){
|
// 获取层级数据
|
List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev));
|
// !表格第一列放层级数
|
dtos.add(0, new ViewLocMapDto(null ,null, lev));
|
Map<String, Object> map = new HashMap<>();
|
map.put("loc", dtos);
|
body.add(map);
|
}
|
Map<String, Object> result = new HashMap<>();
|
result.put("title", bays);
|
result.put("body", body);
|
return R.ok(result);
|
}
|
|
|
//------------------站点日入出库次数统计--------------------------------------
|
@RequestMapping("/viewInOutList.action")
|
public Map<String,Object> viewInOutList(@RequestParam(defaultValue = "1")Integer curr,
|
@RequestParam(defaultValue = "10")Integer limit,
|
@RequestParam Map<String, Object> param){
|
ViewInOutBean bean = new ViewInOutBean();
|
bean.setPageSize(limit);
|
bean.setPageNumber(curr);
|
List<ViewInOutBean> list = reportQueryMapper.queryViewInOutList(bean);
|
int count = reportQueryMapper.getViewInOutCount(bean);
|
Page<ViewInOutBean> 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<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
|
List<ViewInOutBean> list = reportQueryMapper.getViewInOutAll(new ViewInOutBean());
|
return R.ok(exportSupport(list, fields));
|
}
|
|
//------------------日入库明细统计--------------------------------------
|
@RequestMapping("/viewWorkInList.action")
|
public Map<String,Object> viewWorkInList(ViewWorkInBean bean){
|
List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkInList(bean);
|
int count = reportQueryMapper.getViewWorkInCount(bean);
|
Page<ViewWorkInBean> 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<String, Object> 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<ViewWorkCountInView> 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<ViewWorkCountInView> page = new Page<>();
|
page.setRecords(allCountIn);
|
page.setTotal(total);
|
Integer sum = reportQueryMapper.selectWorkCountInSum((String) param.get("matnr"), startTime,endTime);
|
HashMap<String, Object> 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<String, Object> 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<ViewWorkCountInView> 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<ViewWorkCountInView> page = new Page<>();
|
page.setRecords(allCountIn);
|
page.setTotal(total);
|
Integer sum = reportQueryMapper.selectWorkCountOutSum((String) param.get("matnr"), startTime,endTime);
|
HashMap<String, Object> 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<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
|
@SuppressWarnings("unchecked")
|
ViewWorkInBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInBean.class);
|
bean.setQuery_date(bean.getQuery_date());
|
List<ViewWorkInBean> list = reportQueryMapper.getViewWorkInAll(bean);
|
return R.ok(exportSupport(list, fields));
|
}
|
|
//------------------日出库明细统计--------------------------------------
|
@RequestMapping("/viewWorkOutList.action")
|
public R viewWorkOutList(ViewWorkInBean bean){
|
List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkOutList(bean);
|
int count = reportQueryMapper.getViewWorkOutCount(bean);
|
Page<ViewWorkInBean> 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<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
|
@SuppressWarnings("unchecked")
|
ViewWorkInBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInBean.class);
|
bean.setQuery_date(bean.getQuery_date());
|
List<ViewWorkInBean> list = reportQueryMapper.getViewWorkOutAll(bean);
|
return R.ok(exportSupport(list, fields));
|
}
|
|
}
|