From 156c505cad3b133efe712559ea14e0aa1b196160 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 06 六月 2025 10:09:54 +0800
Subject: [PATCH] 库存出库添加库位搜索 出库单添加下发执行功能

---
 rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx                                           |   11 +++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java     |   11 +----
 rsf-admin/src/page/work/components/locItemInfoModal.jsx                                           |   12 ++++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    9 ----
 rsf-admin/src/page/orders/outStock/OutOrderList.jsx                                               |   14 +++++++
 rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx                                           |   42 +++++----------------
 6 files changed, 44 insertions(+), 55 deletions(-)

diff --git a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
index f4ff897..75be611 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -136,7 +136,7 @@
               setSelect(record)
               setEditDialog(true)
             }}
-            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName','qrcode', 'splrName', 'matnrId', 'asnId']}
+            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']}
           >
             <NumberField source="id" />
             <NumberField source="asnId" label="table.field.outStockItem.asnId" />
@@ -157,11 +157,14 @@
             <TextField source="qrcode" label="table.field.outStockItem.qrcode" />
             <TextField source="trackCode" label="table.field.outStockItem.barcode" />
             <TextField source="packName" label="table.field.outStockItem.packName" />
-            <TextField source="updateBy$" label="common.field.updateBy" />
             <DateField source="updateTime" label="common.field.updateTime" showTime />
-            <TextField source="createBy$" label="common.field.createBy" />
+            <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
+              <TextField source="nickname" />
+            </ReferenceField>,
+            <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
+              <TextField source="nickname" />
+            </ReferenceField>,
             <DateField source="createTime" label="common.field.createTime" showTime />
-            <BooleanField source="status$" label="common.field.status" sortable={false} />
             <TextField source="memo" label="common.field.memo" sortable={false} />
           </StyledDatagrid>
         </List>
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index 363ee0b..c3ee6fa 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -57,6 +57,7 @@
 import OutOrderModal from "./OutOrderModal";
 import PublicIcon from '@mui/icons-material/Public';
 import SelectMatnrModal from "./SelectMatnrModal";
+import AddTaskIcon from '@mui/icons-material/AddTask';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
   '& .css-1vooibu-MuiSvgIcon-root': {
@@ -178,6 +179,7 @@
             <MyButton setCreateDialog={setManualDialog} setmodalType={setmodalType} />
             <EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton>
             <CancelButton />
+            <PublicButton />
           </WrapperField>
         </StyledDatagrid>
       </List>
@@ -287,3 +289,15 @@
     record?.exceStatus == 10 ? <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelOutlinedIcon />} onConfirm={cancelOrder} /> : <></>
   )
 }
+
+const PublicButton = () => {
+  const record = useRecordContext();
+  const taskEvent = () => {
+    
+  }
+
+  return (
+    <ConfirmButton label={"toolbar.createTask"} startIcon={<AddTaskIcon />} onConfirm={taskEvent} />
+  )
+
+}
diff --git a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
index 8a93aab..56b4dc3 100644
--- a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
+++ b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -465,48 +465,26 @@
             ),
             headerClassName: "custom",
         },
-        // {
-        //     field: 'packName',
-        //     headerName: translate('table.field.asnOrderItem.packName'),
-        //     minWidth: 100,
-        //     flex: 1,
-        //     editable: true,
-        // },
-        // {
-        //     field: 'poDetlId',
-        //     headerName: translate('table.field.asnOrderItem.poDetlId'),
-        //     minWidth: 100,
-        //     flex: 1,
-        // },
         {
-            field: 'poCode',
-            headerName: translate('table.field.outStockItem.poDetlCode') + "*",
+            field: 'splrBatch',
+            headerName: translate('table.field.outStockItem.splrBatch'),
             minWidth: 100,
             flex: 1,
             editable: true,
-            headerClassName: "custom",
         },
-
+        {
+            field: 'poCode',
+            headerName: translate('table.field.outStockItem.poDetlCode'),
+            minWidth: 100,
+            flex: 1,
+            editable: true,
+        },
         {
             field: 'stockUnit',
             headerName: translate('table.field.outStockItem.stockUnit'),
             minWidth: 100,
             flex: 1,
-            editable: false,
-        },
-        // {
-        //     field: 'purQty',
-        //     headerName: translate('table.field.asnOrderItem.purQty'),
-        //     minWidth: 100,
-        //     flex: 1,
-        //     editable: true,
-        // },
-        {
-            field: 'purUnit',
-            headerName: translate('table.field.outStockItem.purUnit'),
-            minWidth: 100,
-            flex: 1,
-            editable: false,
+            editable: true,
         },
     ])
 
diff --git a/rsf-admin/src/page/work/components/locItemInfoModal.jsx b/rsf-admin/src/page/work/components/locItemInfoModal.jsx
index 9061c88..c986926 100644
--- a/rsf-admin/src/page/work/components/locItemInfoModal.jsx
+++ b/rsf-admin/src/page/work/components/locItemInfoModal.jsx
@@ -114,6 +114,15 @@
                     <Grid container spacing={2}>
                         <Grid item md={2}>
                             <TextField
+                                label={translate('table.field.locItem.locCode')}
+                                name="locCode"
+                                value={formData.locCode}
+                                onChange={handleChange}
+                                size="small"
+                            />
+                        </Grid>
+                        <Grid item md={2}>
+                            <TextField
                                 label={translate('table.field.locItem.maktx')}
                                 name="maktx"
                                 value={formData.maktx}
@@ -166,15 +175,12 @@
     const notify = useNotify();
 
     const [columns, setColumns] = useState([
-        // { field: 'id', headerName: 'ID', width: 100 },
         { field: 'locCode', headerName: translate('table.field.locItem.locCode'), width: 100 },
         { field: 'matnrCode', headerName: translate('table.field.locItem.matnrCode'), width: 200 },
         { field: 'maktx', headerName: translate('table.field.locItem.maktx'), width: 300 },
         { field: 'batch', headerName: translate('table.field.locItem.batch'), width: 100 },
         { field: 'anfme', headerName: translate('table.field.locItem.anfme'), width: 100 },
-        // { field: 'workQty', headerName: translate('table.field.locItem.workQty'), width: 100 },
         { field: 'unit', headerName: translate('table.field.locItem.unit'), width: 100 },
-
     ])
 
 
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 a24f52f..7c10eda 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
@@ -228,11 +228,6 @@
     @Transactional(rollbackFor = Exception.class)
     public boolean fieldsSave(Map<String, Object> params, Long loginUserId) {
         AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class);
-        asnOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
-//        if (StringUtils.isBlank(asnOrderItem.getTrackCode())) {
-//            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
-//            asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
-//        }
         if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) {
             Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
                     .eq(Companys::getId, asnOrderItem.getSplrCode())
@@ -244,9 +239,6 @@
         if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) {
             throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�");
         }
-//        if (StringUtils.isBlank(asnOrderItem.getSplrBatch())) {
-//            throw new CoolException("渚涘簲鍟嗘壒娆′笉鑳戒负绌猴紒锛�");
-//        }
         //淇濆瓨鎵╁睍瀛楁
         try {
             StringBuffer sb = new StringBuffer();
@@ -268,6 +260,7 @@
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
+        asnOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
         if (!this.saveOrUpdate(asnOrderItem)) {
             throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�");
         }
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 ee49baf..d6d4e80 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
@@ -80,7 +80,7 @@
         });
         List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
                 .eq(AsnOrderItem::getAsnId, params.getOrders().getId()));
-        double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
+        Double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
         orders.setAnfme(sum);
         if (!this.updateById(orders)) {
             throw new CoolException("璁″垝鏀惰揣鏁伴噺淇敼澶辫触锛侊紒");
@@ -360,11 +360,8 @@
         } catch (Exception e) {
             throw new CoolException(e.getMessage());
         }
-
         return R.ok();
     }
-
-
     /**
      * @param
      * @return
@@ -385,16 +382,14 @@
             throw new CoolException("涓诲崟淇敼澶辫触锛侊紒");
         }
         if (Objects.isNull(params.getItems()) || params.getItems().isEmpty()) {
-            return R.ok("鏄庣粏鍙傛暟涓嶈兘涓虹┖锛侊紒");
+            throw new CoolException("鏄庣粏鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-
         try {
             svaeOrUpdateOrderItem(params, loginUserId);
         } catch (Exception e) {
             throw new CoolException(e.getMessage());
         }
-
-        return null;
+        return R.ok();
     }
 
     /**

--
Gitblit v1.9.1