package com.zy.asrs.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.entity.*; import com.zy.asrs.entity.vo.QueryLocVo; import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WaitPakinService; import com.zy.asrs.service.WrkDetlService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.*; @RestController @RequestMapping("/open/asrs") public class MonitorController extends BaseController { @Autowired private WrkDetlService wrkDetlService; @Autowired private WaitPakinService waitPakinService; @Autowired private LocMastService locMastService; @Autowired private ReportQueryMapper reportQueryMapper; @Autowired private LocDetlService locDetlService; /** * WMS任务查询接口 * @param taskNo * @return */ @PostMapping("queryTask") public R queryTask(@RequestParam("taskNo") String taskNo) { if (Cools.isEmpty(taskNo)) { return R.error("参数为空"); } List wrkDetls = wrkDetlService.selectList(new EntityWrapper().eq("wrk_no", taskNo)); return R.ok(wrkDetls); } /** * WMS入库任务查询接口 * @param barcode * @return */ @PostMapping("/queryComb") public R queryComb(@RequestParam("combNo") String barcode) { if (Cools.isEmpty(barcode)) { return R.error("参数为空"); } List waitPakins = waitPakinService.selectList(new EntityWrapper().eq("zpallet", barcode)); return R.ok(waitPakins); } /** * WMS库存数据查询 * @return */ @GetMapping("/queryLoc") public R queryLoc() { QueryLocVo queryLocVo = new QueryLocVo(); Map map = new HashMap<>(); List> list = new ArrayList<>(); int emptyCount = locMastService.selectCount(new EntityWrapper().eq("loc_sts", "O")); int disableCount = locMastService.selectCount(new EntityWrapper().eq("loc_sts", "X")); int total = locMastService.selectCount(new EntityWrapper<>()); int stockCount = locMastService.selectCount(new EntityWrapper().eq("loc_sts", "F")); int used = locMastService.selectCount(new EntityWrapper().ne("loc_sts", "O")); map.put("在库", stockCount); map.put("空库", emptyCount); map.put("使用", used); map.put("禁用", disableCount); list.add(map); queryLocVo.setEmptyCount(emptyCount); // 空库位 queryLocVo.setDisableCount(disableCount); // 禁用 queryLocVo.setTotal(total); // 总数 queryLocVo.setStockCount(stockCount); // 在库 queryLocVo.setUsed(used); // 库位使用 queryLocVo.setPie(list); queryLocVo.setUsedPr((double) used / total * 100); // 使用率 return R.ok(queryLocVo); // 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); } /** * WMS入出库折线图 * @return */ @GetMapping("/line/charts") public R lineCharts() { 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("入库数量"); Integer[] array1 = new Integer[data1.size()]; inqty.setData(data1.toArray(array1)); list.add(inqty); AxisBean outqty = new AxisBean(); outqty.setName("出库数量"); Integer[] array2 = new Integer[data2.size()]; outqty.setData(data2.toArray(array2)); list.add(outqty); } map.put("rows",list); return R.ok(map); } @GetMapping("/locDetl/statistics") public R locDetlStatistics() { List list = locDetlService.query20(); return R.ok(list); } }