From d727cdfbd0315850f3c7572149e77f5421db5682 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 18 六月 2025 15:52:12 +0800
Subject: [PATCH] 生成波次功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java     |   14 +-
 rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java                     |   73 +++++++++--------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveItem.java                      |    6 +
 rsf-admin/src/page/orders/wave/WaveItemList.jsx                                                   |    3 
 rsf-admin/src/page/orders/wave/WaveList.jsx                                                       |   15 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    9 -
 rsf-admin/src/page/orders/outStock/OutStockWaveDialog.jsx                                         |   65 ++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java        |    4 
 rsf-admin/src/i18n/zh.js                                                                          |    3 
 rsf-admin/src/page/orders/outStock/OutOrderList.jsx                                               |    5 -
 rsf-admin/src/i18n/en.js                                                                          |    1 
 11 files changed, 135 insertions(+), 63 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index b36ae34..5b6ff99 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -848,6 +848,7 @@
                 matnrName: "matnrName",
                 matnrCode: "matnrCode",
                 batch: "batch",
+                exceStatus: 'Exce Status',
                 splrBatch: "splrBatch",
                 orderCode: "orderCode",
                 orderItemId: "orderItemId",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index f3070a7..9c8251e 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -882,6 +882,7 @@
                 orderCode: "婧愬崟鍙�",
                 orderItemId: "婧愬崟鏄庣粏ID",
                 unit: "鍗曚綅",
+                exceStatus: '鎵ц鐘舵��',
                 trackCode: "璺熻釜鐮�",
                 fieldsIndex: "鍔ㄦ�佹墿灞�",
                 anfme: "鏁伴噺",
@@ -1141,7 +1142,7 @@
         continue: '缁х画鏀惰揣',
         batch: '鎵归噺鎿嶄綔',
         confirm: '纭',
-        start: '寮�濮嬩笅鍙�',
+        start: '鑷姩涓嬪彂',
         pause: '鏆傚仠',
         pick: '鎷f枡',
         check: '鐩樼偣',
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index bf9b7dc..662f9b9 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -130,16 +130,13 @@
   //鑾峰彇娉㈡瑙勫垯
   const closeDialog = async (value) => {
     setWaveRule(false)
-    refresh()
-    console.log('=====>');
-    console.log(value);
-    console.log(selectIds);
     const res = await request.post(`/outStock/generate/wave`, { ids: selectIds, waveRuleId: value.id });
     if (res?.data?.code === 200) {
       notify(res.data.msg);
     } else {
       notify(res.data.msg);
     }
+    refresh()
   }
 
   return (
diff --git a/rsf-admin/src/page/orders/outStock/OutStockWaveDialog.jsx b/rsf-admin/src/page/orders/outStock/OutStockWaveDialog.jsx
new file mode 100644
index 0000000..cdead23
--- /dev/null
+++ b/rsf-admin/src/page/orders/outStock/OutStockWaveDialog.jsx
@@ -0,0 +1,65 @@
+import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem, DialogContent, DialogActions, Button } from "@mui/material";
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_TYPE } from '@/config/setting';
+import { SimpleForm, TextInput, ReferenceInput, useTranslate, AutocompleteInput } from "react-admin";
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import { Delete, Edit, Add } from '@mui/icons-material';
+import SaveIcon from '@mui/icons-material/Save';
+import request from '@/utils/request';
+
+const OutStockWaveDialog = (props) => {
+    const translate = useTranslate();
+    const { onClose, selectedValue, open, setOpen } = props;
+    const [siteNos, setSiteNos] = useState([]);
+    const [formData, setFormData] = useState({
+        id: DEFAULT_TYPE
+    });
+
+    const handleClose = () => {
+        onClose(null);
+    }
+
+    const handleSelect = () => {
+        onClose(formData);
+
+    }
+
+    const handleListItemClick = (value) => {
+        onClose(value);
+    }
+
+    const handleChange = (event) => {
+        console.log(event);
+        
+        setFormData({ id: event })
+    };
+
+    return (
+        <Dialog
+            onClose={handleClose}
+            open={open}
+            aria-labelledby="alert-dialog-title"
+            aria-describedby="alert-dialog-description"
+        >
+            <DialogTitle id="alert-dialog-title">{translate("toolbar.selectWave")}</DialogTitle>
+            <DialogContent sx={{ width: 600 }}>
+                <SimpleForm toolbar={false} defaultValue={formData}>
+                    <ReferenceInput source="id" reference="waveRule" >
+                        <AutocompleteInput
+                            label={'toolbar.selectWave'}
+                            defaultValue={DEFAULT_TYPE}
+                            onChange={handleChange}
+                        />
+                    </ReferenceInput>
+                </SimpleForm>
+            </DialogContent>
+            <DialogActions>
+                <Button onClick={handleClose} variant="outlined">{translate('toolbar.cancel')}</Button>
+                <Button onClick={handleSelect} autoFocus startIcon={<SaveIcon />} variant="contained">
+                    {translate('toolbar.confirm')}
+                </Button>
+            </DialogActions>
+        </Dialog>
+    );
+}
+
+export default OutStockWaveDialog;
\ No newline at end of file
diff --git a/rsf-admin/src/page/orders/wave/WaveItemList.jsx b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
index 5f675d1..99ee024 100644
--- a/rsf-admin/src/page/orders/wave/WaveItemList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
@@ -123,7 +123,7 @@
             >
                 <StyledDatagrid
                     preferenceKey='waveItem'
-                    bulkActionButtons= {
+                    bulkActionButtons={
                         <>
                             <BulkStartButton />
                             <BulkPauseButton />
@@ -146,6 +146,7 @@
                     <TextField source="fieldsIndex" label="table.field.waveItem.fieldsIndex" />
                     <NumberField source="workQty" label="table.field.waveItem.workQty" />
                     <TextField source="unit" label="table.field.waveItem.unit" />
+                    <TextField source="exceStatus" label="table.field.waveItem.exceStatus" />
                     <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy" />
diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
index 3407d5c..2bee24e 100644
--- a/rsf-admin/src/page/orders/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -89,6 +89,7 @@
 const WaveList = () => {
     const translate = useTranslate();
     const [createDialog, setCreateDialog] = useState(false);
+    const [autoExce, setAutoExce] = useState(false);
     const [detailDialog, setDetailDialog] = useState(false);
     const [select, setSelectIds] = useState({});
     const [drawerVal, setDrawerVal] = useState(false);
@@ -110,8 +111,8 @@
                 sort={{ field: "create_time", order: "desc" }}
                 actions={(
                     <TopToolbar>
-                        <BulkStartButton />
-                        <BulkPauseButton />
+                        <BulkStartButton autoExce={autoExce} setAutoExce={setAutoExce} />
+                        <BulkPauseButton autoExce={autoExce} setAutoExce={setAutoExce} />
                         <FilterButton />
                         <SelectColumnsButton preferenceKey='wave' />
                     </TopToolbar>
@@ -182,24 +183,26 @@
     );
 }
 
-const BulkStartButton = () => {
+const BulkStartButton = ({ autoExce, setAutoExce }) => {
     const { data, selectedIds, onUnselectItems } = useListContext();
 
     const startClick = () => {
         onUnselectItems()
+        setAutoExce(true)
     }
     return (
-        <Button label="toolbar.start" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />}  />
+        !autoExce ? <Button label="toolbar.start" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />} /> : <></>
     )
 }
 
-const BulkPauseButton = () => {
+const BulkPauseButton = ({ autoExce, setAutoExce }) => {
     const { data, selectedIds, onUnselectItems } = useListContext();
 
     const pauseClick = () => {
         onUnselectItems()
+        setAutoExce(false)
     }
     return (
-        <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />}  />
+        autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></>
     )
 }
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
index c65ac30..c2f1713 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
@@ -30,10 +30,10 @@
 public class FieldsUtils {
 
     /**
-     * @author Ryan
-     * @description 閫氳繃瀛楁鍞竴鏍囪瘑鑾峰彇鍔ㄦ�佸瓧娈靛璞ey-value
      * @param
      * @return 鎵╁睍瀛楁瀵硅薄
+     * @author Ryan
+     * @description 閫氳繃瀛楁鍞竴鏍囪瘑鑾峰彇鍔ㄦ�佸瓧娈靛璞ey-value
      * @time 2025/3/12 12:50
      */
     public static Map<String, String> getFields(String uuid) {
@@ -45,7 +45,7 @@
         }
         FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
         List<FieldsItem> fieldsItems = fieldsItemService.list(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getUuid, uuid));
-        for (Fields field : fields ) {
+        for (Fields field : fields) {
             if (fieldsItems.isEmpty()) {
                 fieldsMap.put(field.getFields(), null);
                 continue;
@@ -57,14 +57,14 @@
             });
         }
 
-        return  fieldsMap;
+        return fieldsMap;
     }
 
     /**
+     * @param
+     * @return 鍖呭惈鎵╁睍瀛楁鐨勯泦鍚堝璞�
      * @author Ryan
      * @description 鑾峰彇闆嗗悎鎵╁睍瀛楁key-value鍊�
-     * @param
-     * @return  鍖呭惈鎵╁睍瀛楁鐨勯泦鍚堝璞�
      * @time 2025/3/15 15:05
      */
     public static List<Map<String, Object>> getExtendFields(List<Map<String, Object>> params) {
@@ -104,7 +104,7 @@
      * @time 2025/3/18 15:00
      */
     @Transactional(rollbackFor = Exception.class)
-    public static boolean saveFields(Map<String, ?> template, String uuid) throws Exception{
+    public static boolean saveFields(Map<String, ?> template, String uuid) throws Exception {
         List<Fields> fields = getFieldsSta();
         FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
         List<FieldsItem> fieldsItems = new ArrayList<>();
@@ -132,6 +132,7 @@
 
     /**
      * 鑾峰彇鎵�鏈夊紑鍚姩鎬佹墿灞曞瓧娈�
+     *
      * @return
      */
     public static List<Fields> getFieldsSta() {
@@ -140,43 +141,45 @@
     }
 
     /**
-     * @author Ryan
-     * @description 鍔ㄦ�佸瓧娈典慨鏀�
      * @param
      * @return
+     * @author Ryan
+     * @description 鍔ㄦ�佸瓧娈典慨鏀�
      * @time 2025/4/7 15:28
      */
     @Synchronized
     @Transactional(rollbackFor = Exception.class)
     public static void updateFieldsValue(Map<String, Object> params) throws Exception {
         List<Fields> fields = getFieldsSta();
-        if (fields.isEmpty()) { return; }
+        if (fields.isEmpty()) {
+            return;
+        }
         Object fieldsIndex = params.get("fieldsIndex");
         if (!Objects.isNull(fieldsIndex) && StringUtils.isNotBlank(fieldsIndex.toString())) {
             String index = fieldsIndex.toString();
             FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
             for (Fields field : fields) {
-                    if (!Objects.isNull(params.get(field.getFields()))) {
-                        FieldsItem indexItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
-                                .eq(FieldsItem::getUuid, index)
-                                .eq(FieldsItem::getFieldsId, field.getId()));
-                        //濡傛灉瀛愯〃涓虹┖锛屾墽琛屾彃鍏ユ搷浣滐紝鍚﹀垯灏辨墽琛屼慨鏀规搷浣�
-                        if (Objects.isNull(indexItem)) {
-                            FieldsItem item = new FieldsItem();
-                            item.setUuid(index)
-                                    .setFieldsId(field.getId())
-                                    .setMatnrId(!Objects.isNull(params.get("matnrId")) ? Long.parseLong(params.get("matnrId").toString()) : null)
-                                    .setValue(params.get(field.getFields()).toString());
-                            if (!fieldsItemService.save(item)) {
-                                throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
-                            }
-                        } else {
-                            indexItem.setValue(params.get(field.getFields()).toString());
-                            if (!fieldsItemService.updateById(indexItem)) {
-                                throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
-                            }
+                if (!Objects.isNull(params.get(field.getFields()))) {
+                    FieldsItem indexItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
+                            .eq(FieldsItem::getUuid, index)
+                            .eq(FieldsItem::getFieldsId, field.getId()));
+                    //濡傛灉瀛愯〃涓虹┖锛屾墽琛屾彃鍏ユ搷浣滐紝鍚﹀垯灏辨墽琛屼慨鏀规搷浣�
+                    if (Objects.isNull(indexItem)) {
+                        FieldsItem item = new FieldsItem();
+                        item.setUuid(index)
+                                .setFieldsId(field.getId())
+                                .setMatnrId(!Objects.isNull(params.get("matnrId")) ? Long.parseLong(params.get("matnrId").toString()) : null)
+                                .setValue(params.get(field.getFields()).toString());
+                        if (!fieldsItemService.save(item)) {
+                            throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+                        }
+                    } else {
+                        indexItem.setValue(params.get(field.getFields()).toString());
+                        if (!fieldsItemService.updateById(indexItem)) {
+                            throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
                         }
                     }
+                }
             }
         } else {
             saveFields(params, params.get("index").toString());
@@ -196,12 +199,12 @@
             Fields fields = fieldsService.getOne(new LambdaQueryWrapper<Fields>().eq(Fields::getFields, key));
             if (!Cools.isEmpty(fields)) {
                 String applySql = String.format(
-                    "EXISTS (SELECT 1 FROM sys_fields_item fie " +
-                    "WHERE %s.fields_index IS NOT NULL " +
-                    "AND fie.uuid = %s.fields_index " +
-                    "AND fie.fields_id = '%s' " +
-                    "AND fie.value = '%s')",
-                    tableName, tableName, fields.getId(), val
+                        "EXISTS (SELECT 1 FROM sys_fields_item fie " +
+                                "WHERE %s.fields_index IS NOT NULL " +
+                                "AND fie.uuid = %s.fields_index " +
+                                "AND fie.fields_id = '%s' " +
+                                "AND fie.value = '%s')",
+                        tableName, tableName, fields.getId(), val
                 );
                 queryWrapper.apply(applySql);
             }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveItem.java
index a8abbc7..d0194e9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveItem.java
@@ -139,6 +139,12 @@
     private Integer status;
 
     /**
+     * 鎵ц鐘舵�� 0锛氭湭鎵ц 1锛氬緟鎵ц 2锛氭墽琛屼腑 3锛氬凡鍙栨秷
+     */
+    @ApiModelProperty("鎵ц鐘舵��")
+    private Short exceStatus;
+
+    /**
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
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 be17fde..b861b6d 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
@@ -71,12 +71,12 @@
     * @return
     * @time 2025/6/16 08:35
     */
-    @Scheduled(cron = "0/30 * * * * ?  ")
+//    @Scheduled(cron = "0/30 * * * * ?  ")
     @Transactional(rollbackFor = Exception.class)
     public void outStockComplete() {
         List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>()
                         .eq(AsnOrder::getType, OrderType.ORDER_OUT.type)
-                .apply("anfme=work_qty")
+                .apply("anfme = work_qty")
         );
         if (asnOrders.isEmpty()) {
             return;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 7c10eda..d6660b4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -31,6 +31,7 @@
 import com.vincent.rsf.server.manager.service.CompanysService;
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.entity.Fields;
 import com.vincent.rsf.server.system.service.DictDataService;
 import com.vincent.rsf.server.system.service.FieldsItemService;
 import com.vincent.rsf.server.system.service.FieldsService;
@@ -243,13 +244,7 @@
         try {
             StringBuffer sb = new StringBuffer();
             if (Objects.isNull(asnOrderItem.getFieldsIndex()) || StringUtils.isBlank(asnOrderItem.getFieldsIndex())) {
-                if (!Objects.isNull(asnOrderItem.getExtendFields()) && !asnOrderItem.getExtendFields().isEmpty()) {
-                    Map<String, String> fields = asnOrderItem.getExtendFields();
-                    asnOrderItem.getExtendFields().keySet().forEach(key -> {
-                        sb.append(fields.get(key));
-                    });
-                }
-                sb.append(asnOrderItem.getAsnCode() + asnOrderItem.getMatnrId() + asnOrderItem.getSplrBatch() + asnOrderItem.getIsptResult$());
+                sb.append(asnOrderItem.getMatnrId() + asnOrderItem.getSplrBatch() );
                 //鑾峰彇16浣島uid
                 String uuid16 = Cools.md5Chinese(sb.toString());
                 asnOrderItem.setFieldsIndex(uuid16);
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 0ed6f59..2ee4ce6 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
@@ -295,10 +295,13 @@
         if (!waveService.save(wave)) {
             throw new CoolException("娉㈡淇濆瓨澶辫触锛侊紒");
         }
+
+
+
         List<Long> list = orders.stream().map(AsnOrder::getId).collect(Collectors.toList());
         List<AsnOrderItem> orderItems = asnOrderItemService
                 .list(new LambdaQueryWrapper<AsnOrderItem>()
-                        .in(AsnOrderItem::getAsnId, list));
+                        .in(AsnOrderItem::getAsnId, list).apply("anfme > work_qty"));
         if (orderItems.isEmpty()) {
             throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
         }
@@ -324,7 +327,7 @@
                     .set(AsnOrder::getWaveId, wave.getId())
                     .set(AsnOrder::getWorkQty, wkQty)
                     .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_WAVE.val)
-                    .in(AsnOrder::getId, params.getIds()))) {
+                    .eq(AsnOrder::getId, order.getId()))) {
                 throw new CoolException("鎵ц鐘舵�佷慨鏀逛慨鏀瑰け璐ワ紒锛�");
             }
         }
@@ -346,15 +349,12 @@
             throw new CoolException("涓诲崟淇℃伅涓嶈兘涓虹┖");
         }
         AsnOrder orders = params.getOrders();
-        if (Objects.isNull(orders)) {
-            throw new CoolException("鍗曟嵁涓嶈兘涓虹┖锛侊紒");
-        }
         if (StringUtils.isBlank(orders.getWkType())) {
             throw new CoolException("涓氬姟绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
 
         String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, orders);
-        if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
+        if (StringUtils.isBlank(ruleCode)) {
             throw new CoolException("缂栫爜瑙勫垯閿欒锛氳妫�鏌ャ�孲YS_OUT_STOCK_CODE銆嶆槸鍚﹁缃纭紒锛�");
         }
         orders.setCode(ruleCode)
@@ -732,7 +732,7 @@
                         p1.getUpdateBy(),
                         p1.getMemo()
                 ),
-                WaveItem::getSplrBatch, WaveItem::getMatnrId, WaveItem::getFieldsIndex
+                WaveItem::getSplrBatch, WaveItem::getMatnrCode, WaveItem::getFieldsIndex
         );
 
         return waveItems;

--
Gitblit v1.9.1