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