diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/TaskController.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/TaskController.java index 3c1dcfd..2ab5e31 100644 --- a/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/TaskController.java +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/TaskController.java @@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * 任务控制类 @@ -65,7 +66,7 @@ public class TaskController { } @PostMapping("/getTaskBaks") - public WmsApiResponse> getTaskBaks(@RequestBody WcsTaskBakRequest request) { + public WmsApiResponse> getTaskBaks(@RequestBody WcsTaskBakRequest request) { return taskControllerService.getWcsTaskBak(request); } } diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/model/dto/request/wms/WcsTaskBakRequest.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/model/dto/request/wms/WcsTaskBakRequest.java index 3151e11..4cf0847 100644 --- a/wms_serve_nantong_yachi/src/main/java/com/wms_main/model/dto/request/wms/WcsTaskBakRequest.java +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/model/dto/request/wms/WcsTaskBakRequest.java @@ -22,8 +22,17 @@ public class WcsTaskBakRequest { @JsonProperty("vehicleId") String vehicleId; + @JsonProperty("wcsTaskId") + String wcsTaskId; + @JsonProperty("createDate") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") LocalDate createDate; + + @JsonProperty("pageNo") + Integer pageNo; + + @JsonProperty("pageSize") + Integer pageSize; } diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/ITaskControllerService.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/ITaskControllerService.java index 7a8a89d..d6a577d 100644 --- a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/ITaskControllerService.java +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/ITaskControllerService.java @@ -1,5 +1,6 @@ package com.wms_main.service.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wms_main.model.bo.wcs.WcsStackerTask; import com.wms_main.model.dto.request.wcs.WcsBoxArriveRequest; import com.wms_main.model.dto.request.wcs.WcsTaskResultRequest; @@ -48,5 +49,5 @@ public interface ITaskControllerService { */ WmsApiResponse getCurrentTask(BaseWmsRequest wmsRequest); - WmsApiResponse> getWcsTaskBak(WcsTaskBakRequest request); + WmsApiResponse> getWcsTaskBak(WcsTaskBakRequest request); } diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java index ec5c2b0..10c5ad2 100644 --- a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java @@ -428,15 +428,43 @@ public class TaskControllerServiceImpl implements ITaskControllerService { } @Override - public WmsApiResponse> getWcsTaskBak(WcsTaskBakRequest request) { - List result = appWcsTaskBakService.list( - new LambdaQueryWrapper() - .eq(StringUtils.isNotEmpty(request.getOrigin()), TAppWcsTaskBak::getOrigin, request.getOrigin()) - .eq(StringUtils.isNotEmpty(request.getDestination()), TAppWcsTaskBak::getDestination, request.getDestination()) - .like(StringUtils.isNotEmpty(request.getVehicleId()), TAppWcsTaskBak::getVehicleId, request.getVehicleId()) - .ge(TAppWcsTaskBak::getCreateTime, request.getCreateDate().atStartOfDay()) - .le(TAppWcsTaskBak::getCreateTime, request.getCreateDate().atTime(LocalTime.MAX)) - ); + public WmsApiResponse> getWcsTaskBak(WcsTaskBakRequest request) { + log.info("查询备份记录,请求参数: origin={}, destination={}, vehicleId={}, wcsTaskId={}, createDate={}, pageNo={}, pageSize={}", + request.getOrigin(), request.getDestination(), request.getVehicleId(), request.getWcsTaskId(), + request.getCreateDate(), request.getPageNo(), request.getPageSize()); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + + // 添加查询条件 + if (StringUtils.isNotEmpty(request.getOrigin())) { + queryWrapper.eq(TAppWcsTaskBak::getOrigin, request.getOrigin()); + } + if (StringUtils.isNotEmpty(request.getDestination())) { + queryWrapper.eq(TAppWcsTaskBak::getDestination, request.getDestination()); + } + if (StringUtils.isNotEmpty(request.getVehicleId())) { + queryWrapper.like(TAppWcsTaskBak::getVehicleId, request.getVehicleId()); + } + if (StringUtils.isNotEmpty(request.getWcsTaskId())) { + queryWrapper.like(TAppWcsTaskBak::getWcsTaskId, request.getWcsTaskId()); + } + + // 如果指定了日期,则按日期查询 + if (request.getCreateDate() != null) { + queryWrapper.ge(TAppWcsTaskBak::getCreateTime, request.getCreateDate().atStartOfDay()) + .le(TAppWcsTaskBak::getCreateTime, request.getCreateDate().atTime(LocalTime.MAX)); + } + + // 按创建时间倒序排列 + queryWrapper.orderByDesc(TAppWcsTaskBak::getCreateTime); + + // 分页查询 + Page page = new Page<>(request.getPageNo() != null ? request.getPageNo() : 1, + request.getPageSize() != null ? request.getPageSize() : 10); + Page result = appWcsTaskBakService.page(page, queryWrapper); + + log.info("查询备份记录结果,共找到 {} 条记录,当前页 {} 条", result.getTotal(), result.getRecords().size()); + return WmsApiResponse.success("成功", result); } } diff --git a/wms_serve_nantong_yachi/src/main/resources/application.yml b/wms_serve_nantong_yachi/src/main/resources/application.yml index 33fd0d2..fda8d48 100644 --- a/wms_serve_nantong_yachi/src/main/resources/application.yml +++ b/wms_serve_nantong_yachi/src/main/resources/application.yml @@ -11,7 +11,7 @@ spring: # 本地 url: jdbc:mysql://localhost:3306/wms_ntyc?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true username: root - password: Root123456 + password: 123456 # 服务器 # url: jdbc:mysql://10.18.58.21:3306/wms_yachi_nantong?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true # username: user diff --git a/wms_web_nantong_yachi/.gitignore b/wms_web_nantong_yachi/.gitignore index 448f289..e866c64 100644 --- a/wms_web_nantong_yachi/.gitignore +++ b/wms_web_nantong_yachi/.gitignore @@ -11,3 +11,5 @@ test/ node_modules dist + +package-lock.json diff --git a/wms_web_nantong_yachi/.idea/.gitignore b/wms_web_nantong_yachi/.idea/.gitignore deleted file mode 100644 index 1c2fda5..0000000 --- a/wms_web_nantong_yachi/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/wms_web_nantong_yachi/package.json b/wms_web_nantong_yachi/package.json index 8184f6a..824ce6e 100644 --- a/wms_web_nantong_yachi/package.json +++ b/wms_web_nantong_yachi/package.json @@ -10,7 +10,9 @@ "dependencies": { "axios": "^1.3.3", "core-js": "^3.8.3", + "cors": "^2.8.5", "element-plus": "^2.4.0", + "express": "^5.1.0", "file-saver": "^2.0.5", "moment": "^2.29.4", "node-polyfill-webpack-plugin": "^2.0.1", diff --git a/wms_web_nantong_yachi/src/components/sideMenu.vue b/wms_web_nantong_yachi/src/components/sideMenu.vue index b41e35d..d0de74a 100644 --- a/wms_web_nantong_yachi/src/components/sideMenu.vue +++ b/wms_web_nantong_yachi/src/components/sideMenu.vue @@ -42,6 +42,22 @@ export default { getMenuList() { // this.menuList = this.$store.state.menuList this.menuList = store.getters.getMenuList + + // 临时添加备份记录菜单项 + if (this.menuList.length > 0) { + const reportMenu = this.menuList.find(item => item.labelName === '报表') + if (reportMenu && reportMenu.children) { + // 检查是否已存在备份记录菜单项 + const existingBackup = reportMenu.children.find(item => item.labelName === '备份记录') + if (!existingBackup) { + reportMenu.children.push({ + id: '312', + labelName: '备份记录', + path: '/taskbak' + }) + } + } + } }, // 点击菜单 clickMenu(value) { diff --git a/wms_web_nantong_yachi/src/http/request.js b/wms_web_nantong_yachi/src/http/request.js index c9989ef..5f77644 100644 --- a/wms_web_nantong_yachi/src/http/request.js +++ b/wms_web_nantong_yachi/src/http/request.js @@ -1,8 +1,8 @@ import axios from 'axios' const request = axios.create({ - baseURL: 'http://10.18.58.21:12315', - // baseURL: 'http://localhost:12315', + // baseURL: 'http://10.18.58.21:12315', + baseURL: 'http://localhost:12315', timeout: 5000 }) diff --git a/wms_web_nantong_yachi/src/router/index.js b/wms_web_nantong_yachi/src/router/index.js index 7bff553..3ddba2f 100644 --- a/wms_web_nantong_yachi/src/router/index.js +++ b/wms_web_nantong_yachi/src/router/index.js @@ -16,6 +16,7 @@ const routes = [ { path: '/kitting', component: () => import('@/layout/kitting.vue') },// 配料 { path: '/inTaskRecord', component: () => import('@/layout/inTaskRecord.vue') },// 入库记录 { path: '/outTaskRecord', component: () => import('@/layout/outTaskRecord.vue') },// 出库记录 + { path: '/taskbak', component: () => import('@/layout/taskbak.vue') },// 备份记录 { path: '/location', component: () => import('@/layout/locationsTable.vue') },// 库位 { path: '/goods', component: () => import('@/layout/goods.vue') },// 物料 { path: '/standSettings', component: () => import('@/layout/standSettings.vue') },// 站台(库口)设置 diff --git a/wms_web_nantong_yachi/src/store/index.js b/wms_web_nantong_yachi/src/store/index.js index 60afe68..06a6ea9 100644 --- a/wms_web_nantong_yachi/src/store/index.js +++ b/wms_web_nantong_yachi/src/store/index.js @@ -8,7 +8,17 @@ export default createStore({ path: '/stock' }], user: {}, - menuList: [], + menuList: [ + { + id: '3', + labelName: '报表', + iconValue: 'Document', + children: [ + { id: '311', labelName: '出库记录', path: '/outTaskRecord' }, + { id: '312', labelName: '备份记录', path: '/taskbak' } + ] + } + ], token: '', verifier: '', stand: {} @@ -70,7 +80,7 @@ export default createStore({ * 存储菜单信息 */ mutationMenu(state, data) { - state.menuList = data + state.menuList = data // 直接用后端数据覆盖 sessionStorage.setItem("menuList", state.menuList) },