From c90cfc885fc256dd2faf69c7fef0cad3173c7a8e Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 30 七月 2025 09:48:46 +0800 Subject: [PATCH] 调拔单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 4 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java | 14 ++++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 17 ++++---- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TransferController.java | 3 - rsf-admin/src/page/orders/transfer/ManualCreate.jsx | 7 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java | 5 +- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java | 11 ++++- rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx | 17 +++++--- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 1 9 files changed, 44 insertions(+), 35 deletions(-) diff --git a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx index 78f7014..f2eee48 100644 --- a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx +++ b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx @@ -83,15 +83,20 @@ return acc; }, {}); return { - matnrId: el.id, - maktx: el.name, - matnrCode: el.code, - stockUnit: el.stockUnit || '', - purUnit: el.purchaseUnit || '', + matnrId: el.matnrId, + maktx: el.maktx, + matnrCode: el.matnrCode, + anfme: el.anfme, + batch: el.batch, + spec: el.spec, + model: el.model, + stockUnit: el.unit || '', ...dynamicFields } - })) + })); setData([...data, ...value]); + + console.log(data); setOpen(false); reset(); }; diff --git a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx index f774644..3e6e6fa 100644 --- a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx +++ b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx @@ -379,13 +379,6 @@ editable: true, }, { - field: 'poCode', - headerName: translate('table.field.outStockItem.poDetlCode'), - minWidth: 100, - flex: 1, - editable: true, - }, - { field: 'stockUnit', headerName: translate('table.field.outStockItem.stockUnit'), minWidth: 100, 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 1e3df96..bb0357e 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 @@ -140,7 +140,6 @@ return R.ok("瀹屾垚浠诲姟鎴愬姛").add(taskService.operateComplete(id, getLoginUserId())); } - /** * 鎷f枡鍑哄簱锛堢敤浜庢祴璇曟嫞鏂欏嚭搴擄級 * @return diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TransferController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TransferController.java index 526ab46..cde90ee 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TransferController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TransferController.java @@ -174,9 +174,6 @@ return R.ok().add(transferService.getLocsItems(params, getLoginUserId())); } - - - /** * @author Ryan * @description 涓嬭浇妯℃澘 diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java index b88a12b..4f26a50 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java @@ -219,6 +219,9 @@ @ApiModelProperty(value= "淇敼浜哄憳") private Long updateBy; + @ApiModelProperty("渚涘簲鍟咺D") + private Long splrId; + /** * 淇敼鏃堕棿 */ @@ -382,8 +385,6 @@ } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } - - public Boolean getStatusBool(){ if (null == this.status){ return null; } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java index 09ec461..d4eb69c 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java @@ -76,6 +76,7 @@ public void outStockComplete() { List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>() .eq(WkOrder::getType, OrderType.ORDER_OUT.type) + .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val) .apply("anfme = work_qty") ); if (wkOrders.isEmpty()) { @@ -94,7 +95,8 @@ */ private void moveOrderToLog(List<WkOrder> wkOrders, String type) { Set<Long> longSet = wkOrders.stream().map(WkOrder::getId).collect(Collectors.toSet()); - List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getOrderId, longSet)); + List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() + .in(WkOrderItem::getOrderId, longSet)); if (orderItems.isEmpty()) { throw new CoolException("鏀惰揣鏄庣粏涓虹┖锛侊紒"); } @@ -114,11 +116,13 @@ } List<AsnOrderItemLog> logs = new ArrayList<>(); - List<WkOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId())); + List<WkOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() + .eq(WkOrderItem::getOrderId, order.getId())); items.forEach(item -> { AsnOrderItemLog itemLog = new AsnOrderItemLog(); BeanUtils.copyProperties(item, itemLog); itemLog.setAsnItemId(itemLog.getId()) + .setId(null) .setLogId(orderLog.getId()) .setAsnId(item.getOrderId()); logs.add(itemLog); @@ -129,7 +133,8 @@ } } - if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getOrderId, longSet))) { + if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>() + .in(WkOrderItem::getOrderId, longSet))) { throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�"); } if (!this.asnOrderService.removeByIds(longSet)) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java index cba0f0e..e51563e 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java @@ -106,12 +106,12 @@ List<Task> vaildTasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, longSet)); taskService.completeTask(vaildTasks); - List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>() - .eq(TaskItem::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type) - .in(TaskItem::getTaskId, longSet)); - if (!taskItems.isEmpty()) { - genInStock(taskItems); - } +// List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>() +// .eq(TaskItem::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type) +// .in(TaskItem::getTaskId, longSet)); +// if (!taskItems.isEmpty()) { +// genInStock(taskItems); +// } } /** @@ -125,12 +125,13 @@ Set<Long> orderIds = taskItems.stream().map(TaskItem::getSourceId).collect(Collectors.toSet()); List<WkOrder> wkOrders = outStockService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, orderIds)); wkOrders.forEach(wkOrder -> { - List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, wkOrder.getId())); + List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>() + .eq(WkOrderItem::getOrderId, wkOrder.getId())); if (!orderItems.isEmpty()) { WkOrder order = new WkOrder(); BeanUtils.copyProperties(wkOrder, order); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ASN_ORDER, order); - if (StringUtils.isNotBlank(ruleCode)) { + if (StringUtils.isBlank(ruleCode)) { throw new CoolException("鍏ュ簱鍗曞彿鐢熸垚澶辫触锛侊紒"); } order.setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type) 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 5d9fb64..0ade071 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 @@ -1252,6 +1252,10 @@ .setType(OrderType.ORDER_OUT.type); } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) { WkOrder wkOrder = asnOrderService.getById(orderItem.getOrderId()); + wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val); + if (!asnOrderService.updateById(wkOrder)) { + throw new CoolException("鍑哄簱鍗曟洿鏂板け璐ワ紒锛�"); + } stock.setWkType(Short.parseShort(wkOrder.getWkType())) .setType(OrderType.ORDER_OUT.type); } else if (!Objects.isNull(diffItem)) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java index 2749343..45cf4f8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java @@ -1,6 +1,7 @@ package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.Query; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -279,6 +280,7 @@ BeanUtils.copyProperties(wkOrder, order); order.setType(OrderType.ORDER_IN.type) .setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type) + .setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val) .setId(null); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ASN_ORDER, order); if (StringUtils.isBlank(ruleCode)) { @@ -349,13 +351,15 @@ .eq(!Objects.isNull(params.getOrgAreaId()), Loc::getAreaId, params.getOrgAreaId())); Page<LocItem> page = new Page<>(params.getCurrent(), params.getPageSize()); - LambdaQueryWrapper<LocItem> wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode().trim()) - .like(StringUtils.isNotBlank(params.getMaktx().trim()), LocItem::getMaktx, params.getMaktx().trim()); + QueryWrapper<LocItem> wrapper = new QueryWrapper<>(); + wrapper.select("id, matnr_id, maktx, matnr_code, anfme, work_qty, qty, batch, unit, fields_index, model, spec, loc_id ") + .lambda() + .eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode()) + .like(StringUtils.isNotBlank(params.getMaktx()), LocItem::getMaktx, params.getMaktx()); if (!locs.isEmpty()) { Set<Long> locIds = locs.stream().map(Loc::getId).collect(Collectors.toSet()); - wrapper.in(LocItem::getLocId, locIds); + wrapper.lambda().in(LocItem::getLocId, locIds) + .groupBy(LocItem::getBatch, LocItem::getFieldsIndex, LocItem::getMatnrCode); return locItemService.page(page, wrapper); } else { return locItemService.page(page, wrapper); -- Gitblit v1.9.1