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