From 9bec566884971e1241aaaa61aac5eed8bcfa0dd3 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 21 四月 2025 08:01:57 +0800 Subject: [PATCH] no message --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 47 ++++++++++++----------- rsf-admin/src/page/task/TaskList.jsx | 7 ++- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java | 6 +++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 9 ++++ rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 6 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 14 ++---- rsf-server/src/main/resources/application-dev.yml | 8 ++-- 7 files changed, 58 insertions(+), 39 deletions(-) diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index c743ee5..087ce49 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -87,7 +87,7 @@ />, ] -const TaskList = () => { +const TaskList = (props) => { const translate = useTranslate(); const [drawerVal, setDrawerVal] = useState(false); return ( @@ -171,16 +171,17 @@ * 瀹屾垚鎿嶄綔 * @returns */ -const DoneButton = () => { +const DoneButton = (props) => { const record = useRecordContext(); const notify = useNotify(); const refresh = useRefresh(); const clickComplete = (event) => { event.stopPropagation(); - completeTask([record]) + completeTask(record) }; //瀹屾垚浠诲姟 const completeTask = async (row) => { + console.log(row.id); const { data: { code, data, msg } } = await request.post(`task/complete/` + row.id); if (code === 200) { notify(msg); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index c287493..ebda499 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -850,7 +850,11 @@ */ @Override public R getDeviceSites() { - return R.ok(deviceSiteMapper.selectList(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getStatus, 1).groupBy(DeviceSite::getSite))); + List<DeviceSite> sites = deviceSiteMapper.selectList(new LambdaQueryWrapper<DeviceSite>() + .select(DeviceSite::getId, DeviceSite::getSite, DeviceSite::getName) + .eq(DeviceSite::getStatus, 1) + .groupBy(DeviceSite::getSite, DeviceSite::getId, DeviceSite::getName)); + return R.ok(sites); } /** diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index db1768b..5ed649b 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -132,20 +132,16 @@ @PreAuthorize("hasAuthority('manager:task:update')") @ApiOperation("瀹屾垚浠诲姟") @PostMapping("/task/complete/{id}") - public R completeTask(@PathVariable String id) { + public R completeTask(@PathVariable String id) throws Exception { if (Objects.isNull(id)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } List<Long> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id); List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getId, id).in(Task::getTaskStatus, longs)); - if (tasks.isEmpty()) { - throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿畬鎴愶紒锛�"); - } - try { - taskService.completeTask(tasks); - } catch (Exception ex) { - return R.error("浠诲姟寮傚父锛屾棤娉曞畬鎴愶紒锛�"); - } +// if (tasks.isEmpty()) { +// throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿畬鎴愶紒锛�"); +// } + taskService.completeTask(tasks); return R.ok(); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java index af39e02..54c4503 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java @@ -43,6 +43,12 @@ @ApiModelProperty(value= "涓诲崟ID") private Long pakinId; + @ApiModelProperty("璁㈠崟绫诲瀷") + private String type; + + @ApiModelProperty("涓氬姟绫诲瀷") + private Short wkType; + /** * 璁㈠崟ID */ diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index 7b25c0c..39a5d8a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -138,13 +138,12 @@ waitPakinItems.forEach(item -> { TaskItem taskItem = new TaskItem(); BeanUtils.copyProperties(item, taskItem); - AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, item.getAsnId())); - if (Objects.isNull(order)) { - throw new CoolException("鏁版嵁閿欒: 鍗曟嵁涓嶅瓨鍦紒锛�"); - } +// AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, item.getAsnId())); +// if (Objects.isNull(order)) { +// throw new CoolException("鏁版嵁閿欒: 鍗曟嵁涓嶅瓨鍦紒锛�"); +// } taskItem.setTaskId(task.getId()) .setOrderType(OrderType.ORDER_RECEIPT.type) - .setWkType(Short.parseShort(order.getWkType())) .setSource(item.getId()) .setTrackCode(item.getTrackCode()) .setCreateBy(loginUserId) @@ -180,7 +179,7 @@ return; } List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList()); - List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, list)); + List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list)); if (taskItems.isEmpty()) { throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); } @@ -198,15 +197,19 @@ }); /**瀵逛换鍔℃槑缁嗘寜璁㈠崟杩涜鍒嗙粍*/ - Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getOrderId)); + Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource)); orderMap.keySet().forEach(key -> { - AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>() - .eq(AsnOrder::getId, key) - .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode)); + WaitPakinItem pakinItem = waitPakinItemService.getById(key); +// AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>() +// .eq(AsnOrder::getId, key) +// .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode)); + if (null == pakinItem) { + throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨暟鎹笉瀛樺湪锛岃鑱旂郴绠$悊鍛橈紒锛�"); + } List<TaskItem> items = orderMap.get(key); //淇濆瓨搴撳瓨鏄庣粏 try { - saveStockItems(items, order); + saveStockItems(items, pakinItem); } catch (Exception e) { throw new CoolException("搴撳瓨绠$悊淇濆瓨鏇存柊澶辫触锛侊紒"); } @@ -228,14 +231,14 @@ * @time 2025/4/15 15:28 */ @Transactional(rollbackFor = Exception.class) - private void saveLocItem(List<TaskItem> items, Long taskId) throws Exception { + void saveLocItem(List<TaskItem> items, Long taskId) throws Exception { Task task = this.getById(taskId); if (Objects.isNull(task)) { throw new CoolException("浠诲姟涓嶅瓨鍦�!!"); } List<LocItem> locItems = new ArrayList<>(); items.forEach(taskItem -> { - Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc())); + Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()), false); LocItem item = new LocItem(); BeanUtils.copyProperties(taskItem, item); item.setLocId(loc.getId()).setType(taskItem.getOrderType()); @@ -252,7 +255,7 @@ * @return */ @Transactional(rollbackFor = Exception.class) - private void saveStockItems(List<TaskItem> items, AsnOrder order) throws Exception { + void saveStockItems(List<TaskItem> items, WaitPakinItem order) throws Exception { Stock stock = new Stock(); // if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) { // Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode())); @@ -267,9 +270,9 @@ double sum = items.stream().mapToDouble(TaskItem::getAnfme).sum(); stock.setSourceId(order.getId()) .setCode(ruleCode) - .setSourceCode(order.getCode()) + .setSourceCode(order.getAsnCode()) .setAnfme(sum) - .setWkType(Short.parseShort(order.getWkType())) + .setWkType(order.getWkType()) .setType(order.getType()); if (!stockService.save(stock)) { throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒"); @@ -278,15 +281,15 @@ List<StockItem> stockItems = new ArrayList<>(); for (TaskItem item : items) { /**閫氳繃浠诲姟鏄庣粏涓殑taskId鏌ヨ,鑾峰彇TASK鐨勭洰鏍囧簱浣嶄俊鎭�*/ - AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId())); - if (Objects.isNull(orderItem)) { - throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); - } +// AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId())); +// if (Objects.isNull(orderItem)) { +// throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); +// } StockItem stockItem = new StockItem(); - BeanUtils.copyProperties(orderItem, stockItem); + BeanUtils.copyProperties(item, stockItem); stockItem.setSourceItemId(item.getOrderItemId()) .setStockCode(stock.getCode()) - .setSourceItemId(orderItem.getId()) + .setSourceItemId(item.getOrderItemId()) .setId(null) .setStockId(stock.getId()); stockItems.add(stockItem); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java index 41f21f6..91d0a3e 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java @@ -129,6 +129,9 @@ .setUpdateBy(userId) .setCreateBy(userId) .setMatnrCode(item.getMatnrCode()); + AsnOrder order = asnOrderService.getById(item.getAsnId()); + pakinItem.setType(order.getType()) + .setWkType(Short.parseShort(order.getWkType())); for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) { @@ -165,6 +168,12 @@ .setUpdateBy(userId) .setCreateBy(userId) .setMatnrCode(item.getMatnrCode()); + AsnOrder order = asnOrderService.getById(item.getAsnId()); + if (!Objects.isNull(order)) { + pakinItem.setType(null == order.getType() ? null :order.getType()) + .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) ); + } + for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) { diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml index efd3d05..4908061 100644 --- a/rsf-server/src/main/resources/application-dev.yml +++ b/rsf-server/src/main/resources/application-dev.yml @@ -12,10 +12,10 @@ matching-strategy: ANT_PATH_MATCHER datasource: driver-class-name: com.mysql.jdbc.Driver -# url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai - username: root - url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai -# username: rsf + url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai +# username: root +# url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai + username: rsf password: 34821015 type: com.alibaba.druid.pool.DruidDataSource druid: -- Gitblit v1.9.1