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<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().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<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode));
|
return R.ok(waitPakins);
|
}
|
|
/**
|
* WMS库存数据查询
|
* @return
|
*/
|
@GetMapping("/queryLoc")
|
public R queryLoc() {
|
QueryLocVo queryLocVo = new QueryLocVo();
|
Map<String,Object> map = new HashMap<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
int emptyCount = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O"));
|
int disableCount = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "X"));
|
int total = locMastService.selectCount(new EntityWrapper<>());
|
int stockCount = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "F"));
|
int used = locMastService.selectCount(new EntityWrapper<LocMast>().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<String,Object> map=new HashMap<String, Object>();
|
// List<ChartBean> list = new ArrayList<ChartBean>();
|
//
|
// 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<String,Object> map=new HashMap<String, Object>();
|
List<AxisBean> list = new ArrayList<AxisBean>();
|
|
List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis();
|
|
if(listChart!=null) {
|
ArrayList<Integer> data1 = new ArrayList<Integer>();
|
ArrayList<Integer> data2 = new ArrayList<Integer>();
|
|
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<LocDetl> list = locDetlService.query20();
|
return R.ok(list);
|
}
|
}
|