From 6a4497d2fcd015f73856ce0f75e2c2832362c88f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期日, 04 五月 2025 16:54:33 +0800
Subject: [PATCH] 5.4问题修复
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 60 ---------------
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx | 14 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java | 16 ++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 10 +-
rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx | 5
rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemEdit.jsx | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java | 64 ++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 19 ----
rsf-admin/src/page/histories/taskLog/TaskLogList.jsx | 2
9 files changed, 91 insertions(+), 101 deletions(-)
diff --git a/rsf-admin/src/page/histories/taskLog/TaskLogList.jsx b/rsf-admin/src/page/histories/taskLog/TaskLogList.jsx
index c769153..bf00454 100644
--- a/rsf-admin/src/page/histories/taskLog/TaskLogList.jsx
+++ b/rsf-admin/src/page/histories/taskLog/TaskLogList.jsx
@@ -62,7 +62,6 @@
<SearchInput source="condition" alwaysOn />,
<DateInput label='common.time.after' source="timeStart" alwaysOn />,
<DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
<NumberInput source="taskId" label="table.field.taskLog.taskId" />,
<TextInput source="taskCode" label="table.field.taskLog.taskCode" />,
<NumberInput source="taskStatus" label="table.field.taskLog.taskStatus" />,
@@ -79,7 +78,6 @@
<TextInput source="expCode" label="table.field.taskLog.expCode" />,
<DateInput source="startTime" label="table.field.taskLog.startTime" />,
<DateInput source="endTime" label="table.field.taskLog.endTime" />,
-
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx b/rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx
index 8af2f5a..b6f182e 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx
@@ -59,7 +59,7 @@
defaultValues={{}}
>
<Grid container width={{ xs: '100%', xl: '100%' }}>
- <Grid item xs={12} md={8}>
+ <Grid item xs={24} md={12}>
<Typography variant="h6" gutterBottom>
{translate('common.edit.title.main')}
</Typography>
@@ -80,8 +80,7 @@
{ id: 1, name: ' 鏄�' },
]}
/>
- </Stack>
- <Stack direction='row' gap={2}>
+
<TextInput
label="table.field.waitPakin.barcode"
readOnly
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
index 611914e..ca5dca1 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -119,25 +119,25 @@
preferenceKey='waitPakinItem'
bulkActionButtons={false}
rowClick={(id, resource, record) => false}
- omit={['id', 'pakinId', 'createTime', 'createBy', 'memo', 'fieldsIndex']}
+ omit={['id', 'pakinId', 'createTime', 'matnrId', 'createBy', 'memo', 'fieldsIndex']}
>
<NumberField source="id" />
<NumberField source="pakinId" label="table.field.waitPakinItem.pakinId" />
- <TextField source="maktx" label="table.field.waitPakinItem.maktx" />
- <NumberField source="matnrId" label="table.field.waitPakinItem.matnrId" />
<TextField source="matnrCode" label="table.field.waitPakinItem.matnrCode" />
+ <TextField source="maktx" label="table.field.waitPakinItem.maktx" />
+ <TextField source="batch" label="table.field.waitPakinItem.batch" />
+ <NumberField source="matnrId" label="table.field.waitPakinItem.matnrId" />
<NumberField source="anfme" label="table.field.waitPakinItem.anfme" />
- <NumberField source="workQty" label="table.field.waitPakinItem.workQty" />
<TextField source="unit" label="table.field.waitPakinItem.unit" />
+ <NumberField source="workQty" label="table.field.waitPakinItem.workQty" />
<TextField source="fieldsIndex" label="table.field.waitPakinItem.fieldsIndex" />
<NumberField source="qty" label="table.field.waitPakinItem.qty" />
- <TextField source="batch" label="table.field.waitPakinItem.batch" />
<TextField source="updateBy$" label="common.field.updateBy" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
<TextField source="createBy$" label="common.field.createBy" />
- <TextField source="flagDefect" label="common.field.createBy" />
+ {/* <TextField source="flagDefect" label="common.field.flagDefect" /> */}
<DateField source="createTime" label="common.field.createTime" showTime />
- <BooleanField source="statusBool" label="common.field.status" sortable={false} />
+ {/* <BooleanField source="statusBool" label="common.field.status" sortable={false} /> */}
<TextField source="memo" label="common.field.memo" sortable={false} />
</StyledDatagrid>
</List>
diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemEdit.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemEdit.jsx
index fd344fa..9b0e694 100644
--- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemEdit.jsx
+++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemEdit.jsx
@@ -175,7 +175,7 @@
<Stack direction='row' gap={2}>
<TextInput
label="table.field.warehouseAreasItem.splrBtch"
- source="splrBtch"
+ source="splrBatch"
parse={v => v}
/>
</Stack>
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 05870a3..568ac34 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
@@ -334,31 +334,16 @@
throw new CoolException("鏀惰揣澶辫触锛侊紒");
}
}
-// if (!warehouseAreasItemService.saveBatch(allOrders)) {
-// throw new CoolException("鏀惰揣澶辫触锛侊紒");
-// }
AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode));
if (order.getQty().compareTo(order.getAnfme()) >= 0.00) {
- order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val).setRleStatus(Short.valueOf("1"));
-
+ order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.val).setRleStatus(Short.valueOf("1"));
if (!asnOrderMapper.updateById(order)) {
throw new CoolException("璁㈠崟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
}
-
- //鑾峰彇閲囪喘鏁伴噺
-// double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum();
-
-// BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty));
-// //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲�
-// if (subtract.compareTo(new BigDecimal("0.0")) <= 0) {
-// asnOrder.setRleStatus(Short.valueOf("1"));
-// //鏃ュ織琛ㄦ搷浣�
-// operateOrderLogs(asnOrder);
-// }
- return R.ok(asnOrder);
+ return R.ok("鏀惰揣鎴愬姛锛侊紒");
}
/**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
index 7bb8737..7781d17 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
@@ -12,17 +12,17 @@
//璐ㄦ鐘舵��
ASN_EXCE_STATUS_UN_EXCE("0", "鏈墽琛�"),
ASN_EXCE_STATUS_EXCE_ING("1", "鎵ц涓�"),
+
ASN_EXCE_STATUS_RECEIPT_DONE("2", "鏀惰揣瀹屾垚"),
ASN_EXCE_STATUS_TASK_DONE("3", "宸插畬鎴�"),
ASN_EXCE_STATUS_TASK_CANCEL("4", "鍙栨秷"),
ASN_EXCE_STATUS_TASK_CLOSE("5", "宸插叧闂�"),
-
- OUT_STOCK_STATUS_TASK_INIT("5", "鍒濆鍖�"),
- OUT_STOCK_STATUS_TASK_EXCE("6", "寰呭鐞�"),
- OUT_STOCK_STATUS_TASK_WAVE("7", "鐢熸垚娉㈡"),
- OUT_STOCK_STATUS_TASK_WORKING("8", "浣滀笟涓�")
+ OUT_STOCK_STATUS_TASK_INIT("11", "鍒濆鍖�"),
+ OUT_STOCK_STATUS_TASK_EXCE("12", "寰呭鐞�"),
+ OUT_STOCK_STATUS_TASK_WAVE("13", "鐢熸垚娉㈡"),
+ OUT_STOCK_STATUS_TASK_WORKING("14", "浣滀笟涓�")
;
AsnExceStatus(String val, String desc) {
this.val = Short.parseShort(val);
@@ -47,6 +47,8 @@
return AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.desc;
} else if (val.equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_EXCE.val)) {
return AsnExceStatus.OUT_STOCK_STATUS_TASK_EXCE.desc;
+ } else if (val.equals(AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.val)) {
+ return AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.desc;
} else {
return null;
}
@@ -63,10 +65,12 @@
return AsnExceStatus.ASN_EXCE_STATUS_TASK_CANCEL.val;
} else if (desc.equals(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.desc)) {
return AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val;
- }else if (desc.equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.desc)) {
+ } else if (desc.equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.desc)) {
return AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val;
} else if (desc.equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_EXCE.desc)) {
return AsnExceStatus.OUT_STOCK_STATUS_TASK_EXCE.val;
+ } else if (desc.equals(AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.desc)) {
+ return AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.val;
} else {
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 820fe6e..5692412 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
@@ -1,15 +1,27 @@
package com.vincent.rsf.server.manager.schedules;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.entity.AsnOrder;
+import com.vincent.rsf.server.manager.entity.AsnOrderItem;
+import com.vincent.rsf.server.manager.entity.AsnOrderItemLog;
+import com.vincent.rsf.server.manager.entity.AsnOrderLog;
+import com.vincent.rsf.server.manager.enums.AsnExceStatus;
import com.vincent.rsf.server.manager.service.AsnOrderItemLogService;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderLogService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* @author Ryan
@@ -21,6 +33,17 @@
@Component
public class AsnOrderLogSchedule {
+ @Autowired
+ private AsnOrderService asnOrderService;
+ @Autowired
+ private AsnOrderItemService asnOrderItemService;
+
+ @Autowired
+ private AsnOrderLogService asnOrderLogService;
+
+ @Autowired
+ private AsnOrderItemLogService asnOrderItemLogService;
+
/**
* @author Ryan
* @description 鍒犻櫎宸插畬鎴愯鍗曞姞鍏og琛�
@@ -31,6 +54,47 @@
@Scheduled(cron = "0 0/05 * * * ? ")
@Transactional(rollbackFor = Exception.class)
public void moveOrderToLog() {
+ List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val));
+ if (asnOrders.isEmpty()) {
+ return;
+ }
+ Set<Long> longSet = asnOrders.stream().map(AsnOrder::getId).collect(Collectors.toSet());
+ List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, longSet));
+ if (orderItems.isEmpty()) {
+ throw new CoolException("鏀惰揣鏄庣粏涓虹┖锛侊紒");
+ }
+ for (AsnOrder order : asnOrders) {
+ AsnOrderLog orderLog = new AsnOrderLog();
+ BeanUtils.copyProperties(order, orderLog);
+ orderLog.setId(null);
+ orderLog.setAsnId(order.getId());
+
+ if (!asnOrderLogService.save(orderLog)) {
+ throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�");
+ }
+
+ List<AsnOrderItemLog> logs = new ArrayList<>();
+ List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
+ items.forEach(item -> {
+ AsnOrderItemLog itemLog = new AsnOrderItemLog();
+ BeanUtils.copyProperties(item, itemLog);
+ itemLog.setAsnItemId(itemLog.getId())
+ .setLogId(orderLog.getId())
+ .setAsnId(item.getAsnId());
+ logs.add(itemLog);
+ });
+
+ if (!asnOrderItemLogService.saveBatch(logs)) {
+ throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒");
+ }
+ }
+
+ if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, longSet))) {
+ throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�");
+ }
+ if (!this.asnOrderService.removeByIds(longSet)) {
+ throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
+ }
}
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 7146ce9..6f9dbe6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -272,15 +272,15 @@
// }
AsnOrder order = this.getById(asrder.getId());
AsnOrderLog orderLog = new AsnOrderLog();
- order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
+// order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
BeanUtils.copyProperties(order, orderLog);
orderLog.setId(null);
orderLog.setAsnId(order.getId());
- if (!this.saveOrUpdate(order)) {
- throw new CoolException("鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- orderLog.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val);
+// if (!this.saveOrUpdate(order)) {
+// throw new CoolException("鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+// }
+// orderLog.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val);
if (!asnOrderLogService.save(orderLog)) {
throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 126219c..a1617bd 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -87,66 +87,6 @@
* @param
* @return
* @author Ryan
- * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。
- * @time 2025/3/19 19:53
- */
- @Transactional(rollbackFor = Exception.class)
- private void operateOrderLogs(AsnOrder asrder) throws Exception {
- if (Objects.isNull(asrder) || Objects.isNull(asrder.getId())) {
- throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
- }
- asrder.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val);
-
- if (!this.updateById(asrder)) {
- throw new CoolException("鍗曟嵁鍏抽棴澶辫触锛侊紒");
- }
- List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asrder.getId()));
- if (orderItems.isEmpty()) {
- throw new CoolException("鏀惰揣鏄庣粏涓虹┖锛侊紒");
- }
-// if (Objects.isNull(asrder.getAnfme()) || asrder.getAnfme().compareTo(0.00) == 0) {
-// throw new CoolException("鏀惰揣鏁伴噺涓嶈兘涓洪浂锛侊紒");
-// }
- AsnOrder order = this.getById(asrder.getId());
- AsnOrderLog orderLog = new AsnOrderLog();
- order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
- BeanUtils.copyProperties(order, orderLog);
- orderLog.setId(null);
- orderLog.setAsnId(order.getId());
-
- if (!this.saveOrUpdate(order)) {
- throw new CoolException("鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- orderLog.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE.val);
- if (!asnOrderLogService.save(orderLog)) {
- throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�");
- }
- List<AsnOrderItemLog> logs = new ArrayList<>();
- List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
- items.forEach(item -> {
- AsnOrderItemLog itemLog = new AsnOrderItemLog();
- BeanUtils.copyProperties(item, itemLog);
- itemLog.setAsnItemId(itemLog.getId())
- .setLogId(orderLog.getId())
- .setAsnId(item.getAsnId());
- logs.add(itemLog);
- });
-
- if (!asnOrderItemLogService.saveBatch(logs)) {
- throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒");
- }
- if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()))) {
- throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�");
- }
- if (!this.removeById(asrder.getId())) {
- throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
- }
- }
-
- /**
- * @param
- * @return
- * @author Ryan
* @description 鍙栨秷鍑哄簱鍗曟嵁
* @time 2025/4/22 10:40
*/
--
Gitblit v1.9.1