From d0226747665355acecd5b4f2b5c0beb020586729 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 17 一月 2025 15:37:32 +0800
Subject: [PATCH] # 23. PDA拣货单据,勾选或点击确认按钮后,完成当前单据 (已完成) 24. PDA出库成功后,界面数据重置,避免重复操作  (已修复) 25. PDA接口请求,添加一个Loading遮档  (已修复) 27. 非平库单据,在平库可做入库操作  (已修复) 28. 平库已组拖数据,组拖完成后依然可组拖  (已修复) 29. 平库入库后,订单明细没有添加(已修复) 30. 平库入库后,单据类型没有修改(已修复) 31. 没有绑定播种位,不能进行播种,前后端都需加判定(已修复) 33. 平库入库未修改入库已完成数量(已修复) 34. cacheSite缓存站点逻辑需重新梳理,入库生成波次时(已完成) 35. PDA添加发货确认,默认全选 (已修复) 36. 大屏获取任务时,是由容器到达的拖盘码确认通知 (已修复) 37. 拣货单序号不显示 问题修复 (已修复) 42. pda发货确认,添加不同颜色区分是否全部完成拣货,绿色全部拣货完成,红色完成部分拣货(已修复) 43. CTU入库完成后,订单明细没有删除,执行中数量清空(已修复) 44. 平库入库完成后,历史档明细完成数量没有更新 (已修复) 45. PDA料号不显示  (已修复) 46. 发货完成后,波次管理数据未加入历史档 (已修复)

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java |  278 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 164 insertions(+), 114 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 9e1a1dd..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,114 +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.service.LocService;
-import com.zy.asrs.wms.asrs.service.TaskLogService;
-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;
-
-    @PostMapping("/charts/loc/use")
-    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")
-    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);
-    }
-
-}
+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