package com.zy.asrs.controller; import com.core.common.R; import com.zy.asrs.entity.AxisBean; import com.zy.asrs.entity.ChartBean; import com.zy.asrs.entity.LocChartPie; import com.zy.asrs.entity.WorkCubeTotalAxis; import com.zy.asrs.entity.WorkChartAxis; import com.zy.asrs.mapper.ReportQueryMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.*; /** * Created by vincent on 2020-05-23 */ @RestController @RequestMapping("/console") public class ConsoleController { @Autowired private ReportQueryMapper reportQueryMapper; @PostMapping("loc/pie/charts") public R dsa(){ Map map=new HashMap(); List list = new ArrayList(); LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); if(locUseRate!=null) { ChartBean fqty = new ChartBean(); fqty.setName("在库库位"); fqty.setY(locUseRate.getFqty()); list.add(fqty); ChartBean oqty = new ChartBean(); oqty.setName("空库位"); oqty.setY(locUseRate.getOqty()); list.add(oqty); ChartBean uqty = new ChartBean(); uqty.setName("使用库位"); uqty.setY(locUseRate.getUqty()); list.add(uqty); ChartBean xqty = new ChartBean(); xqty.setName("禁用库位"); xqty.setY(locUseRate.getXqty()); list.add(xqty); } map.put("rows",list); return R.ok(map); } @PostMapping("locIo/line/charts") public R locIoLineCharts(){ Map map=new HashMap(); List list = new ArrayList(); List listChart = reportQueryMapper.getChartAxis(); if(listChart!=null) { ArrayList data1 = new ArrayList(); ArrayList data2 = new ArrayList(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -12); for(int i=0;i<12;i++) { boolean flag = true; calendar.add(Calendar.DATE, 1); String str = sf.format(calendar.getTime()); for(WorkChartAxis workChart : listChart) { if(str.equals(workChart.getYmd())) { data1.add(workChart.getInqty()); data2.add(workChart.getOutqty()); flag = false; break; } } if(flag) { data1.add(0); data2.add(0); } } AxisBean inqty = new AxisBean(); inqty.setName("入库托盘数"); Number[] array1 = new Number[data1.size()]; inqty.setData(data1.toArray(array1)); list.add(inqty); AxisBean outqty = new AxisBean(); outqty.setName("出库托盘数"); Number[] array2 = new Number[data2.size()]; outqty.setData(data2.toArray(array2)); list.add(outqty); AxisBean cube5 = new AxisBean(); cube5.setName("5状态体积"); AxisBean cube15 = new AxisBean(); cube15.setName("15状态体积"); List workCubeTotalAxes = reportQueryMapper.getCubeTotal(); Map cubeMap = new HashMap(); if (workCubeTotalAxes != null) { for (WorkCubeTotalAxis w : workCubeTotalAxes) { if (w.getYmd() != null) { cubeMap.put(w.getYmd(), w); } } } ArrayList data4 = new ArrayList(); ArrayList data5 = new ArrayList(); SimpleDateFormat sfCube = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendarCube = Calendar.getInstance(); calendarCube.add(Calendar.DATE, -12); for (int i = 0; i < 12; i++) { calendarCube.add(Calendar.DATE, 1); String str = sfCube.format(calendarCube.getTime()); WorkCubeTotalAxis cubeAxis = cubeMap.get(str); data4.add(cubeAxis == null || cubeAxis.getCube5Total() == null ? 0 : cubeAxis.getCube5Total()); data5.add(cubeAxis == null || cubeAxis.getCube15Total() == null ? 0 : cubeAxis.getCube15Total()); } Number[] array4 = new Number[data4.size()]; cube5.setData(data4.toArray(array4)); list.add(cube5); Number[] array5 = new Number[data5.size()]; cube15.setData(data5.toArray(array5)); list.add(cube15); } map.put("rows",list); return R.ok(map); } }