From 8c39eb09386b96d0256695b3de3d2822e95809f0 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 17 七月 2025 10:23:30 +0800 Subject: [PATCH] 盘点单下发功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java | 2 rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 42 ++++++++++---------- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java | 18 ++++++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java | 3 + rsf-admin/src/i18n/zh.js | 24 +++++++++++ rsf-admin/src/i18n/en.js | 20 ++++++++++ rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml | 1 7 files changed, 82 insertions(+), 28 deletions(-) diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index 6b73a9f..3e2edf7 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -622,6 +622,26 @@ ntyStatus: "涓婃姤鐘舵��", exceStatus: '鍗曟嵁鐘舵��' }, + checkOrderItem: { + orderId: "ID", + orderCode: "Out Code", + matnrId: "matnrId", + maktx: "maktx", + workQty: 'Work Qty', + anfme: "Anfme", + platOrderCode: 'Customer Code', + stockUnit: "stockUnit", + purQty: "purQty", + purUnit: "purUnit", + qty: "qty", + splrCode: "splrCode", + splrName: "splrName", + qrcode: "qrcode", + barcode: "barcode", + packName: "packName", + ntyStatus: "ntyStatus", + platItemId: 'platItemId' + }, outStockItem: { asnId: "ID", asnCode: "Out Code", diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 5651c4a..b1cefa6 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -648,6 +648,28 @@ ntyStatus: "涓婃姤鐘舵��", exceStatus: '鎵ц鐘舵��' }, + checkOrderItem: { + orderId: "涓诲崟鏍囪瘑", + orderCode: "鍗曞彿", + matnrId: "鐗╂枡鏍囪瘑", + platOrderCode: '瀹㈡埛鍗曞彿', + platWorkCode: '宸ュ崟鍙�', + projectCode: '椤圭洰鍙�', + maktx: "鐗╂枡鍚嶇О", + spec: "瑙勬牸", + model: "鍨嬪彿", + matnrCode: "鐗╂枡缂栫爜", + anfme: "璁″垝鐩樼偣鏁�", + stockUnit: "鍗曚綅", + unit: '鍗曚綅', + workQty: '宸茬洏鐐规暟', + qty: "宸茬洏鐐规暟", + splrBatch: "鎵规", + splrCode: "渚涘簲鍟嗙紪鐮�", + splrName: "渚涘簲鍟�", + qrcode: "浜岀淮鐮�", + barcode: "搴忓垪鐮�", + }, asnOrderItem: { orderId: "涓诲崟鏍囪瘑", orderCode: "鍗曞彿", @@ -888,7 +910,7 @@ groupQty: '鍝佺被鏁�', qty: "瀹屾垚鏁伴噺", orderNum: "鍗曟嵁鏁�", - progress:"杩涘害" + progress: "杩涘害" }, waveItem: { waveId: "娉㈡ID", diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx index 67af707..61af609 100644 --- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx +++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx @@ -63,28 +63,30 @@ setRows(fetchRows) } else { const mas = fetchRows.filter(item => selectedMatnr.includes(item.matnrCode)); - console.log(mas); - let ids = mas.map(item => item.matnrCode); - console.log(ids); - const { data: { code, data, msg } } = request.get('/check/order/items/' + ids ); - if (code === 200) { - setFetchRows(data) - } else { - notify(msg); - } - // setRows(mas) + let ids = mas.map(item => item.matnrCode); + getLocs(ids) } }, [selectedMatnr]) + const getLocs = async (ids) => { + const { data: { code, data, msg } } = await request.post('/check/locs/' + ids); + if (code === 200) { + setRows(data) + } else { + notify(msg); + } + } + const ComfirmButton = () => { - const { selectedIds, data } = useListContext(); + const { selectedIds, data, onUnselectItems } = useListContext(); const handleRowClick = () => { const ids = data.filter(item => selectedIds.includes(item.id)).map(item => item.id); setRowSelectedIds(ids); const mas = data.filter(item => selectedIds.includes(item.id)).map(item => item.matnrCode); //璁剧疆搴撲綅淇℃伅绛涢�夋潯浠� setSelectedMatnr(mas); + onUnselectItems() } return ( @@ -192,14 +194,14 @@ omit={['id', 'splrName', 'qty',]} > <NumberField source="id" /> - <TextField source="orderCode" label="table.field.outStockItem.orderCode" /> - <TextField source="matnrCode" label="table.field.outStockItem.matnrCode" /> - <TextField source="maktx" label="table.field.outStockItem.maktx" /> - <NumberField source="anfme" label="table.field.outStockItem.anfme" /> - <NumberField source="workQty" label="table.field.outStockItem.workQty" /> - <NumberField source="qty" label="table.field.outStockItem.qty" /> - <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> - <TextField source="splrName" label="table.field.outStockItem.splrName" /> + <TextField source="orderCode" label="table.field.checkOrderItem.orderCode" /> + <TextField source="matnrCode" label="table.field.checkOrderItem.matnrCode" /> + <TextField source="maktx" label="table.field.checkOrderItem.maktx" /> + <NumberField source="anfme" label="table.field.checkOrderItem.anfme" /> + <NumberField source="workQty" label="table.field.checkOrderItem.workQty" /> + <NumberField source="qty" label="table.field.checkOrderItem.qty" /> + <TextField source="stockUnit" label="table.field.checkOrderItem.stockUnit" /> + <TextField source="splrName" label="table.field.checkOrderItem.splrName" /> </StyledDatagrid> </List> </Card> @@ -248,13 +250,11 @@ }, [selectedIds]) const baseColumns = [ - // { field: 'id', headerName: 'ID', width: 40 }, { field: 'locCode', headerName: '搴撲綅', width: 110 }, { field: 'barcode', headerName: '瀹瑰櫒', width: 120 }, { field: 'matnrCode', headerName: '鐗╂枡缂栫爜', width: 120 }, { field: 'batch', headerName: '鎵规', width: 90 }, { field: 'unit', headerName: '鍗曚綅', width: 60 }, - { field: 'outQty', headerName: '鍑哄簱鏁伴噺', width: 110, }, { field: 'anfme', headerName: '搴撳瓨鏁伴噺', width: 110, renderCell: (params) => ( diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java index 8efedda..bbd2959 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java @@ -194,7 +194,7 @@ @ApiOperation("鑾峰彇鍦ㄥ簱鐗╂枡鍒楄〃") - @GetMapping("/check/order/locs/{matnr}") + @PostMapping("/check/locs/{matnrs}") @PreAuthorize("hasAuthority('manager:check:list')") public R getAllLocByMatnr(@PathVariable String[] matnrs) { if (Objects.isNull(matnrs)) { 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 4eb3587..15c1f36 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 @@ -232,6 +232,9 @@ @TableField(exist = false) private String sourceCode; + @ApiModelProperty("鍑虹珯鍙�") + @TableField(exist = false) + private String siteNo; /** diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java index f803400..8e8955f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java @@ -231,12 +231,20 @@ @Override public R getAllLocByMatnr(List<String> matnrs) { List<LocItem> locItems = locItemService.listByMatnr(matnrs); - if (locItems.isEmpty()) { - return R.ok(); + if (!locItems.isEmpty()) { + List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type); + DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() + .in(DeviceSite::getType, list) + .groupBy(DeviceSite::getSite) + .last("limit 1")); + if (Objects.isNull(deviceSite)) { + throw new CoolException("搴撳彛涓嶄负绌猴紒锛�"); + } + locItems.forEach(locItem -> { + locItem.setSiteNo(deviceSite.getSite()); + }); } - - - return null; + return R.ok().add(locItems); } /** diff --git a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml index df271db..bc18949 100644 --- a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml +++ b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml @@ -15,6 +15,7 @@ li.matnr_code, li.maktx, li.batch, + li.unit, SUM( li.anfme ) anfme, li.fields_index FROM -- Gitblit v1.9.1