From 0a1ff7f86f00476c3f6e3ac7084be6f6f299de2f Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 16 一月 2026 08:06:25 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/ReportQueryController.java | 154 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 129 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index f2ecc1e..15acf9e 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -19,6 +19,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* 鏃ュ織缁熻鎺у埗鍣ㄥ眰
@@ -93,31 +94,110 @@
public R queryViewLocMapRows(){
return R.ok().add(reportQueryMapper.getViewLocRowTotal());
}
+ @RequestMapping("/viewLocMapList/layers.action")
+ public R queryViewLocMapLevs(){
+ return R.ok().add(reportQueryMapper.getViewLocLevTotal());
+ }
@RequestMapping("/viewLocMapList.action")
- public R queryViewLocMapListByPages(@RequestParam(defaultValue = "1")Integer row){
- // 鑾峰彇鎺掔骇鏁版嵁
- // 琛ㄦ牸鏍囬锛氬垪 ===>> 鍗囧簭
- List<String> bays = reportQueryMapper.getViewLocBayCount(row);
- // 锛佽〃鏍肩涓�鍒楁斁灞傜骇鏁�
- bays.add(0, "");
- // 琛ㄦ牸琛岋細灞� ====>> 鍊掑簭
- List<String> levs = reportQueryMapper.getViewLocLevCount(row);
- List<Map<String, Object>> body = new ArrayList<>();
- for (String lev : levs){
- // 鑾峰彇灞傜骇鏁版嵁
- List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev));
- // 锛佽〃鏍肩涓�鍒楁斁灞傜骇鏁�
- dtos.add(0, new ViewLocMapDto(null ,null, lev));
- Map<String, Object> map = new HashMap<>();
- map.put("loc", dtos);
- body.add(map);
- }
+ public R queryViewLocMapListByPages(
+ @RequestParam(required = false, defaultValue = "0") Integer row,
+ @RequestParam(required = false) Integer layer) {
+
Map<String, Object> result = new HashMap<>();
- result.put("title", bays);
+ List<String> title = new ArrayList<>();
+ List<Map<String, Object>> body = new ArrayList<>();
+
+ if (layer != null && layer > 0) {
+ // 鈹�鈹� 鎸夊眰鏄剧ず鎵�鏈夋帓 脳 鎵�鏈夊垪 鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+
+ // 1. 琛ㄥご锛氭墍鏈� bay
+ List<String> allBays = reportQueryMapper.getAllBays(); // 鎴栫敓鎴� 1 鍒� maxBay
+ title.add(""); // 绗竴鍒楁斁鎺掑彿
+ title.addAll(allBays);
+
+ // 2. 鑾峰彇璇ュ眰鎵�鏈夊簱浣�
+ List<ViewLocMapDto> locs = reportQueryMapper.getLocMapByLayer(layer);
+
+ // 3. 鎸� row 鍒嗙粍锛堟帹鑽愮敤 Map 鎴� Stream 鍒嗙粍锛�
+ Map<Integer, List<ViewLocMapDto>> rowMap = locs.stream()
+ .collect(Collectors.groupingBy(ViewLocMapDto::getRow1));
+
+ // 4. 閬嶅巻鎵�鏈夋帓锛岀敓鎴愭瘡涓�琛�
+ List<Integer> allRows = reportQueryMapper.getAllRows();
+ for (Integer currentRow : allRows) {
+ List<ViewLocMapDto> rowData = rowMap.getOrDefault(currentRow, new ArrayList<>());
+
+ // 鎸� bay 鎺掑簭骞惰ˉ榻愮┖浣�
+ Map<Integer, ViewLocMapDto> bayMap = rowData.stream()
+ .collect(Collectors.toMap(ViewLocMapDto::getBay1, d -> d));
+
+ List<ViewLocMapDto> line = new ArrayList<>();
+ // 绗竴鍒楋細鎺掑彿
+ line.add(new ViewLocMapDto(null, null, String.valueOf(currentRow)));
+
+ // 濉厖鎵�鏈� bay
+ for (String bayStr : allBays) {
+ int bay = Integer.parseInt(bayStr);
+ ViewLocMapDto dto = bayMap.get(bay);
+ if (dto != null) {
+ line.add(dto);
+ } else {
+ // 鏃犲簱浣� 鈫� 琛ョ┖
+ line.add(new ViewLocMapDto(null, 0, null)); // 鎴栬嚜瀹氫箟绌虹姸鎬�
+ }
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("loc", line);
+ body.add(map);
+ }
+ }
+ else {
+ // 鈹�鈹� 鎸夋帓妯″紡锛堝師鏈夐�昏緫锛� 鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+ title = reportQueryMapper.getViewLocBayCount(row);
+ title.add(0, "");
+
+ List<String> levs = reportQueryMapper.getViewLocLevCount(row);
+ body = new ArrayList<>();
+
+ for (String lev : levs) {
+ List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev));
+ dtos.add(0, new ViewLocMapDto(null, null, lev));
+ Map<String, Object> map = new HashMap<>();
+ map.put("loc", dtos);
+ body.add(map);
+ }
+ }
+
+ result.put("title", title);
result.put("body", body);
return R.ok(result);
}
+// @RequestMapping("/viewLocMapList.action")
+// public R queryViewLocMapListByPages(@RequestParam(defaultValue = "0")Integer row){
+// // 鑾峰彇鎺掔骇鏁版嵁
+// // 琛ㄦ牸鏍囬锛氬垪 ===>> 鍗囧簭
+// List<String> bays = reportQueryMapper.getViewLocBayCount(row);
+// // 锛佽〃鏍肩涓�鍒楁斁灞傜骇鏁�
+// bays.add(0, "");
+// // 琛ㄦ牸琛岋細灞� ====>> 鍊掑簭
+// List<String> levs = reportQueryMapper.getViewLocLevCount(row);
+// List<Map<String, Object>> body = new ArrayList<>();
+// for (String lev : levs){
+// // 鑾峰彇灞傜骇鏁版嵁
+// List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev));
+// // 锛佽〃鏍肩涓�鍒楁斁灞傜骇鏁�
+// dtos.add(0, new ViewLocMapDto(null ,null, lev));
+// Map<String, Object> map = new HashMap<>();
+// map.put("loc", dtos);
+// body.add(map);
+// }
+// Map<String, Object> result = new HashMap<>();
+// result.put("title", bays);
+// result.put("body", body);
+// return R.ok(result);
+// }
//------------------绔欑偣鏃ュ叆鍑哄簱娆℃暟缁熻--------------------------------------
@@ -164,12 +244,24 @@
public R viewWorkCountInList(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam Map<String, Object> param){
- List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountIn(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")));
- Integer total = reportQueryMapper.selectWorkCountInTotal();
+ String startTime = "1970.1.2";
+ String endTime = "2099.1.2";
+ if (!Cools.isEmpty(param.get("query_date"))) {
+ String queryDate = (String) param.get("query_date");
+ String[] split = queryDate.split(" - ");
+ startTime= split[0].split(" ")[0].replace("-",".");
+ endTime = split[1].split(" ")[0].replace("-",".");
+ }
+ List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountIn(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime);
+ Integer total = reportQueryMapper.selectWorkCountInTotal((String) param.get("matnr"), startTime,endTime);
Page<ViewWorkCountInView> page = new Page<>();
page.setRecords(allCountIn);
page.setTotal(total);
- return R.ok(page);
+ Integer sum = reportQueryMapper.selectWorkCountInSum((String) param.get("matnr"), startTime,endTime);
+ HashMap<String, Object> result = new HashMap<>();
+ result.put("page",page);
+ result.put("sum",sum);
+ return R.ok(result);
}
/**
@@ -179,12 +271,24 @@
public R viewWorkCountOutList(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam Map<String, Object> param){
- List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")));
- Integer total = reportQueryMapper.selectWorkCountOutTotal();
+ String startTime = "1970.1.2";
+ String endTime = "2099.1.2";
+ if (!Cools.isEmpty(param.get("query_date"))) {
+ String queryDate = (String) param.get("query_date");
+ String[] split = queryDate.split(" - ");
+ startTime= split[0].split(" ")[0].replace("-",".");
+ endTime = split[1].split(" ")[0].replace("-",".");
+ }
+ List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime);
+ Integer total = reportQueryMapper.selectWorkCountOutTotal((String) param.get("matnr"), startTime,endTime);
Page<ViewWorkCountInView> page = new Page<>();
page.setRecords(allCountIn);
page.setTotal(total);
- return R.ok(page);
+ Integer sum = reportQueryMapper.selectWorkCountOutSum((String) param.get("matnr"), startTime,endTime);
+ HashMap<String, Object> result = new HashMap<>();
+ result.put("page",page);
+ result.put("sum",sum);
+ return R.ok(result);
}
//excel瀵煎嚭
--
Gitblit v1.9.1