From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +0800 Subject: [PATCH] 新建德森项目分支 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java | 328 +++++++++++++++++++++++++++--------------------------- 1 files changed, 164 insertions(+), 164 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java index 2a6cdc4..7b5d801 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java @@ -1,164 +1,164 @@ -package com.zy.asrs.wms.asrs.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.zy.asrs.framework.common.DateUtils; -import com.zy.asrs.framework.common.R; -import com.zy.asrs.wms.asrs.entity.Loc; -import com.zy.asrs.wms.asrs.entity.TaskLog; -import com.zy.asrs.wms.asrs.entity.echart.EChartLineBean; -import com.zy.asrs.wms.asrs.entity.echart.EChartPieBean; -import com.zy.asrs.wms.asrs.entity.enums.LocStsType; -import com.zy.asrs.wms.asrs.entity.statistics.InformationTop; -import com.zy.asrs.wms.asrs.entity.statistics.ViewInOut; -import com.zy.asrs.wms.asrs.mapper.statistics.ViewInOutMapper; -import com.zy.asrs.wms.asrs.service.LocService; -import com.zy.asrs.wms.asrs.service.MatService; -import com.zy.asrs.wms.asrs.service.TaskDetlLogService; -import com.zy.asrs.wms.asrs.service.TaskLogService; -import com.zy.asrs.wms.common.annotation.CacheData; -import com.zy.asrs.wms.system.controller.BaseController; -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.*; - -@RestController -@RequestMapping("/api") -public class EChartController extends BaseController { - - @Autowired - private LocService locService; - @Autowired - private TaskLogService taskLogService; - @Autowired - private TaskDetlLogService taskDetlLogService; - @Autowired - private ViewInOutMapper viewInOutMapper; - @Autowired - private MatService matService; - - @PostMapping("/charts/loc/use") - @CacheData(tableName = {"man_loc"}) - public R locUse(){ - List<EChartPieBean> list = new ArrayList<>(); - - long fqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.F.val(), LocStsType.D.val())); - long oqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.O.val())); - long uqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.S.val(), LocStsType.R.val())); - long xqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.X.val())); - - EChartPieBean fbean = new EChartPieBean(); - fbean.setName("鍦ㄥ簱搴撲綅"); - fbean.setValue(fqty); - list.add(fbean); - - EChartPieBean obean = new EChartPieBean(); - obean.setName("绌哄簱浣�"); - obean.setValue(oqty); - list.add(obean); - - EChartPieBean ubean = new EChartPieBean(); - ubean.setName("浣跨敤搴撲綅"); - ubean.setValue(uqty); - list.add(ubean); - - EChartPieBean xbean = new EChartPieBean(); - xbean.setName("绂佺敤搴撲綅"); - xbean.setValue(xqty); - list.add(xbean); - return R.ok(list); - } - - @PostMapping("/charts/loc/line") - @CacheData(tableName = {"man_task_log"}) - public R locIoLineCharts(){ - SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE, -12); - - ArrayList<String> days = new ArrayList<>(); - ArrayList<Long> inData = new ArrayList<>(); - ArrayList<Long> outData = new ArrayList<>(); - for (int i = 0; i < 12; i++) { - calendar.add(Calendar.DATE, 1); - Date time = calendar.getTime(); - days.add(sf.format(time)); - - Date startOfDay = DateUtils.getStartOfDay(time); - Date endOfDay = DateUtils.getEndOfDay(time); - - LambdaQueryWrapper<TaskLog> inWrapper = new LambdaQueryWrapper<TaskLog>() - .ge(TaskLog::getCreateTime, startOfDay) - .le(TaskLog::getCreateTime, endOfDay) - .eq(TaskLog::getTaskSts, 100) - .in(TaskLog::getTaskType, 1, 53, 57); - - LambdaQueryWrapper<TaskLog> outWrapper = new LambdaQueryWrapper<TaskLog>() - .ge(TaskLog::getCreateTime, startOfDay) - .le(TaskLog::getCreateTime, endOfDay) - .eq(TaskLog::getTaskSts, 200) - .in(TaskLog::getTaskType, 101, 103, 107); - - long inCount = taskLogService.count(inWrapper); - long outCount = taskLogService.count(outWrapper); - - inData.add(inCount); - outData.add(outCount); - } - - EChartLineBean inBean = new EChartLineBean(); - inBean.setName("鍏ュ簱鏁伴噺"); - inBean.setValue(inData); - - EChartLineBean outBean = new EChartLineBean(); - outBean.setName("鍑哄簱鏁伴噺"); - outBean.setValue(outData); - - HashMap<String, Object> map = new HashMap<>(); - map.put("in", inBean); - map.put("out", outBean); - map.put("days", days); - - return R.ok().add(map); - } - - @PostMapping("/charts/information") - @CacheData(tableName = {"man_mat", "man_task", "man_task_log"}) - public R information() { - HashMap<String, Object> data = new HashMap<>(); - long matCount = matService.count(); - Long inQty = 0L; - Long outQty = 0L; - Long totalQty = 0L; - - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - ViewInOut viewInOut = viewInOutMapper.selectOne(new LambdaQueryWrapper<ViewInOut>().eq(ViewInOut::getYmd, format.format(new Date())).orderByDesc(ViewInOut::getYmd).last("limit 0,1")); - if (viewInOut != null) { - inQty = viewInOut.getInQty(); - outQty = viewInOut.getOutQty(); - totalQty = viewInOut.getTotalQty(); - } - - data.put("inCount", inQty); - data.put("outCount", outQty); - data.put("totalCount", totalQty); - data.put("matCount", matCount); - return R.ok().add(data); - } - - @PostMapping("/charts/information/top") - @CacheData(tableName = {"man_task_detl_log"}) - public R informationTop() { - List<InformationTop> topIn = taskDetlLogService.getInformationTopIn(10); - List<InformationTop> topOut = taskDetlLogService.getInformationTopOut(10); - - HashMap<String, Object> data = new HashMap<>(); - data.put("topIn", topIn); - data.put("topOut", topOut); - return R.ok().add(data); - } - -} +package com.zy.asrs.wms.asrs.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.framework.common.DateUtils; +import com.zy.asrs.framework.common.R; +import com.zy.asrs.wms.asrs.entity.Loc; +import com.zy.asrs.wms.asrs.entity.TaskLog; +import com.zy.asrs.wms.asrs.entity.echart.EChartLineBean; +import com.zy.asrs.wms.asrs.entity.echart.EChartPieBean; +import com.zy.asrs.wms.asrs.entity.enums.LocStsType; +import com.zy.asrs.wms.asrs.entity.statistics.InformationTop; +import com.zy.asrs.wms.asrs.entity.statistics.ViewInOut; +import com.zy.asrs.wms.asrs.mapper.statistics.ViewInOutMapper; +import com.zy.asrs.wms.asrs.service.LocService; +import com.zy.asrs.wms.asrs.service.MatService; +import com.zy.asrs.wms.asrs.service.TaskDetlLogService; +import com.zy.asrs.wms.asrs.service.TaskLogService; +import com.zy.asrs.wms.common.annotation.CacheData; +import com.zy.asrs.wms.system.controller.BaseController; +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.*; + +@RestController +@RequestMapping("/api") +public class EChartController extends BaseController { + + @Autowired + private LocService locService; + @Autowired + private TaskLogService taskLogService; + @Autowired + private TaskDetlLogService taskDetlLogService; + @Autowired + private ViewInOutMapper viewInOutMapper; + @Autowired + private MatService matService; + + @PostMapping("/charts/loc/use") + @CacheData(tableName = {"man_loc"}) + public R locUse(){ + List<EChartPieBean> list = new ArrayList<>(); + + long fqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.F.val(), LocStsType.D.val())); + long oqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.O.val())); + long uqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.S.val(), LocStsType.R.val())); + long xqty = locService.count(new LambdaQueryWrapper<Loc>().in(Loc::getLocStsId, LocStsType.X.val())); + + EChartPieBean fbean = new EChartPieBean(); + fbean.setName("鍦ㄥ簱搴撲綅"); + fbean.setValue(fqty); + list.add(fbean); + + EChartPieBean obean = new EChartPieBean(); + obean.setName("绌哄簱浣�"); + obean.setValue(oqty); + list.add(obean); + + EChartPieBean ubean = new EChartPieBean(); + ubean.setName("浣跨敤搴撲綅"); + ubean.setValue(uqty); + list.add(ubean); + + EChartPieBean xbean = new EChartPieBean(); + xbean.setName("绂佺敤搴撲綅"); + xbean.setValue(xqty); + list.add(xbean); + return R.ok(list); + } + + @PostMapping("/charts/loc/line") + @CacheData(tableName = {"man_task_log"}) + public R locIoLineCharts(){ + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, -12); + + ArrayList<String> days = new ArrayList<>(); + ArrayList<Long> inData = new ArrayList<>(); + ArrayList<Long> outData = new ArrayList<>(); + for (int i = 0; i < 12; i++) { + calendar.add(Calendar.DATE, 1); + Date time = calendar.getTime(); + days.add(sf.format(time)); + + Date startOfDay = DateUtils.getStartOfDay(time); + Date endOfDay = DateUtils.getEndOfDay(time); + + LambdaQueryWrapper<TaskLog> inWrapper = new LambdaQueryWrapper<TaskLog>() + .ge(TaskLog::getCreateTime, startOfDay) + .le(TaskLog::getCreateTime, endOfDay) + .eq(TaskLog::getTaskSts, 100) + .in(TaskLog::getTaskType, 1, 53, 57); + + LambdaQueryWrapper<TaskLog> outWrapper = new LambdaQueryWrapper<TaskLog>() + .ge(TaskLog::getCreateTime, startOfDay) + .le(TaskLog::getCreateTime, endOfDay) + .eq(TaskLog::getTaskSts, 200) + .in(TaskLog::getTaskType, 101, 103, 107); + + long inCount = taskLogService.count(inWrapper); + long outCount = taskLogService.count(outWrapper); + + inData.add(inCount); + outData.add(outCount); + } + + EChartLineBean inBean = new EChartLineBean(); + inBean.setName("鍏ュ簱鏁伴噺"); + inBean.setValue(inData); + + EChartLineBean outBean = new EChartLineBean(); + outBean.setName("鍑哄簱鏁伴噺"); + outBean.setValue(outData); + + HashMap<String, Object> map = new HashMap<>(); + map.put("in", inBean); + map.put("out", outBean); + map.put("days", days); + + return R.ok().add(map); + } + + @PostMapping("/charts/information") + @CacheData(tableName = {"man_mat", "man_task", "man_task_log"}) + public R information() { + HashMap<String, Object> data = new HashMap<>(); + long matCount = matService.count(); + Long inQty = 0L; + Long outQty = 0L; + Long totalQty = 0L; + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + ViewInOut viewInOut = viewInOutMapper.selectOne(new LambdaQueryWrapper<ViewInOut>().eq(ViewInOut::getYmd, format.format(new Date())).orderByDesc(ViewInOut::getYmd).last("limit 0,1")); + if (viewInOut != null) { + inQty = viewInOut.getInQty(); + outQty = viewInOut.getOutQty(); + totalQty = viewInOut.getTotalQty(); + } + + data.put("inCount", inQty); + data.put("outCount", outQty); + data.put("totalCount", totalQty); + data.put("matCount", matCount); + return R.ok().add(data); + } + + @PostMapping("/charts/information/top") + @CacheData(tableName = {"man_task_detl_log"}) + public R informationTop() { + List<InformationTop> topIn = taskDetlLogService.getInformationTopIn(10); + List<InformationTop> topOut = taskDetlLogService.getInformationTopOut(10); + + HashMap<String, Object> data = new HashMap<>(); + data.put("topIn", topIn); + data.put("topOut", topOut); + return R.ok().add(data); + } + +} -- Gitblit v1.9.1