From 55179dccab63dcd201808000b761008c0b0f25e3 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 15 五月 2025 13:28:17 +0800 Subject: [PATCH] #收货区动态字段搜索,pda绑定入库 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasItemController.java | 3 + rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java | 47 +++++++++++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java | 4 ++ rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java | 20 ++++++++++ rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx | 10 +++++ 5 files changed, 84 insertions(+), 0 deletions(-) diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx index 13e72c0..43d105d 100644 --- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx +++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx @@ -209,6 +209,16 @@ <TextField source="memo" label="common.field.memo" sortable={false} />, ] setColumns([...arr, ...fields, ...lastArr]); + //filters娣诲姞杩囨护瀛楁 + data.map(el => { + var i =0; + filters.map((item) =>{ + if(item.key === el.fields){ + i = 1; + } + }) + i===0 && filters.push(<TextInput key={el.fields} source={el.fields} label={el.fieldsAlise} />) + }) } else { notify(msg); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java index e4e8939..f244c17 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java @@ -34,6 +34,16 @@ return agvService.getStaBindList(params); } + @ApiOperation("绔欑偣鏌ヨ") + @PreAuthorize("hasAuthority('manager:basStation:list')") + @PostMapping("/staMsg/select") + public R getStaMsgSelect(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return agvService.getStaMsgSelect(params); + } + @PreAuthorize("hasAuthority('manager:basStation:list')") @ApiOperation("绔欑偣缁戝畾") @PostMapping("/AGV/staBind") @@ -63,4 +73,14 @@ } return agvService.AGVInTaskStart(params, getLoginUserId()); } + + @PreAuthorize("hasAuthority('manager:basStation:list')") + @ApiOperation("AGV缁戝畾&鍏ュ簱") + @PostMapping("/AGV/bindAndIn/start") + public R AGVBindAndInTaskStart(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return agvService.AGVBindAndInTaskStart(params, getLoginUserId()); + } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java index 16335f2..6869ebf 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java @@ -12,4 +12,8 @@ R AGVStaUnBind(Map<String, Object> params); R AGVInTaskStart(Map<String, Object> params ,Long loginUserId); + + R getStaMsgSelect(Map<String, Object> params); + + R AGVBindAndInTaskStart(Map<String, Object> params, Long loginUserId); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java index f1524b2..dc2d1f8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java @@ -35,6 +35,51 @@ @Autowired private TaskService taskService; + @Override + @Transactional(rollbackFor = Exception.class) + public R AGVBindAndInTaskStart(Map<String, Object> params, Long loginUserId) { + //鍏堢粦瀹� + getAGVStaBind(params); + //鐢熸垚浠诲姟 + AGVInTaskStart(params, loginUserId); + return R.ok(); + } + + @Override + public R getStaMsgSelect(Map<String, Object> params) { + String sta = params.get("sta").toString(); + if (Cools.isEmpty(sta)){ + throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); + } + BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() + .eq(BasStation::getStationName, sta) + .eq(BasStation::getUseStatus,StaUseStatusType.TYPE_O.type) + ); + if (Cools.isEmpty(basStation)){ + throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�"); + } + List<Long> ids = new ArrayList<>(); + ids.add(basStation.getArea()); + if (basStation.getIsCrossZone() == 1){ + String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1); + String[] parts = content.split(","); + for (int i = 0; i < parts.length; i++) { + ids.add(Long.parseLong(parts[i].trim())); + } + } + List<WarehouseAreas> warehouseAreasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>() + .in(WarehouseAreas::getId, ids) + ); + + return R.ok(Cools + .add("barcode", basStation.getBarcode()) + .add("warehouseAreasList", warehouseAreasList) + .add("area", basStation.getArea()) + ); + } + + + @Override public R AGVInTaskStart(Map<String, Object> params,Long loginUserId ) { @@ -70,6 +115,8 @@ return R.ok(); } + + @Override public R AGVStaUnBind(Map<String, Object> params) { String sta = params.get("sta").toString(); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasItemController.java index d9dc12b..3ed3d9f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasItemController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasItemController.java @@ -13,6 +13,7 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.common.utils.FieldsUtils; import com.vincent.rsf.server.manager.entity.AsnOrderItem; +import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.entity.WarehouseAreasItem; import com.vincent.rsf.server.manager.service.WarehouseAreasItemService; import com.vincent.rsf.server.system.controller.BaseController; @@ -37,6 +38,8 @@ BaseParam baseParam = buildParam(map, BaseParam.class); PageParam<WarehouseAreasItem, BaseParam> pageParam = new PageParam<>(baseParam, WarehouseAreasItem.class); QueryWrapper<WarehouseAreasItem> queryWrapper = pageParam.buildWrapper(true); + /**鎷兼帴鎵╁睍瀛楁杩囨护*/ + FieldsUtils.setFieldsFilters(queryWrapper,pageParam, WarehouseAreasItem.class); /**鎷兼帴鎵╁睍瀛楁*/ PageParam<WarehouseAreasItem, BaseParam> page = warehouseAreasItemService.page(pageParam, queryWrapper); List<WarehouseAreasItem> records = page.getRecords(); -- Gitblit v1.9.1