From 8eb934469f25715758dbf3cb39db5c0c75ca0e2e Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 16 七月 2025 08:11:20 +0800
Subject: [PATCH] 盘点功能优化

---
 rsf-admin/src/page/orders/check/CheckOrderPub.jsx                                               |    4 +-
 rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx                                        |   54 +++++++++++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java |    4 +-
 rsf-admin/src/page/orders/check/CheckOrderItemList.jsx                                          |    7 ---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java             |    8 +++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java              |    8 ++--
 rsf-admin/src/page/orders/check/CheckOrderList.jsx                                              |   29 +++++++++++---
 7 files changed, 91 insertions(+), 23 deletions(-)

diff --git a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
index 095f269..6e108d8 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
@@ -126,13 +126,11 @@
             preferenceKey='outStockItem'
             bulkActionButtons={false}
             rowClick={false}
-            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']}
+            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty',  'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']}
           >
             <NumberField source="id" />
             <NumberField source="asnId" label="table.field.outStockItem.asnId" />
             <TextField source="asnCode" label="table.field.outStockItem.asnCode" />
-            <TextField source="poCode" label="table.field.outStockItem.poCode" />
-            <TextField source="poDetlId" label="table.field.outStockItem.poDetlId" />
             <TextField source="matnrId" label="table.field.outStockItem.matnrId" />
             <TextField source="matnrCode" label="table.field.outStockItem.matnrCode" />
             <TextField source="maktx" label="table.field.outStockItem.maktx" />
@@ -143,11 +141,8 @@
             <NumberField source="qty" label="table.field.outStockItem.qty" />
             <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" />
             <TextField source="splrBatch" label="table.field.outStockItem.splrBatch" />
-            <TextField source="purUnit" label="table.field.outStockItem.purUnit" />
             <TextField source="splrCode" label="table.field.outStockItem.splrCode" />
             <TextField source="splrName" label="table.field.outStockItem.splrName" />
-            <TextField source="qrcode" label="table.field.outStockItem.qrcode" />
-            <TextField source="trackCode" label="table.field.outStockItem.barcode" />
             <TextField source="packName" label="table.field.outStockItem.packName" />
             <DateField source="updateTime" label="common.field.updateTime" showTime />
             <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
diff --git a/rsf-admin/src/page/orders/check/CheckOrderList.jsx b/rsf-admin/src/page/orders/check/CheckOrderList.jsx
index 47ea727..4ab39dc 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderList.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderList.jsx
@@ -43,6 +43,8 @@
 import EditIcon from '@mui/icons-material/Edit';
 import AddIcon from '@mui/icons-material/Add';
 import request from '@/utils/request';
+import PageEditDrawer from "../../components/PageEditDrawer";
+import CheckOrderPub from "./CheckOrderPub";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
   '& .css-1vooibu-MuiSvgIcon-root': {
@@ -162,13 +164,10 @@
             <MyButton setCreateDialog={setManualDialog} setmodalType={setmodalType} />
             <EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton>
             <CancelButton />
+            <PublicButton setDrawerVal={setDrawerVal} drawerVal={drawerVal} setSelect={setSelect} />
           </WrapperField>
         </StyledDatagrid>
       </List>
-      {/* <CheckOrderCreate
-        open={manualDialog}
-        setOpen={setManualDialog}
-      /> */}
       <SelectMatnrModal
         asnId={modalType}
         billReload={billReload}
@@ -176,14 +175,14 @@
         setOpen={setManualDialog}
       />
       {/* <OutStockWaveDialog open={waveRule} setOpen={setWaveRule} onClose={closeDialog} />
-      <OutOrderPreview open={preview} setOpen={setPreview} />
+      <OutOrderPreview open={preview} setOpen={setPreview} />*/}
       <PageEditDrawer
         title={"toolbar.publicWorking"}
         drawerVal={drawerVal}
         setDrawerVal={setDrawerVal}
       >
-        <OutStockPublic record={select} open={drawerVal} setOpen={setDrawerVal}  />
-      </PageEditDrawer> */}
+        <CheckOrderPub record={select} open={drawerVal} setOpen={setDrawerVal}  />
+      </PageEditDrawer> 
     </Box >
   )
 }
@@ -250,3 +249,19 @@
     record?.exceStatus == 10 ? <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelOutlinedIcon />} onConfirm={cancelOrder} size={"small"} /> : <></>
   )
 }
+
+
+//涓嬪彂鎵ц
+const PublicButton = ({ setDrawerVal, setSelect }) => {
+  const record = useRecordContext();
+  const refresh = useRefresh();
+  const taskEvent = () => {
+    setDrawerVal(true)
+    setSelect(record)
+    refresh();
+  }
+
+  return (
+    record.workQty < record.anfme ? <Button label={"toolbar.publicWorking"} startIcon={<AddTaskIcon />} onClick={taskEvent} size={"small"} /> : <></>
+  )
+}
diff --git a/rsf-admin/src/page/orders/check/OutStockPublic.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
similarity index 99%
rename from rsf-admin/src/page/orders/check/OutStockPublic.jsx
rename to rsf-admin/src/page/orders/check/CheckOrderPub.jsx
index 6bb6a6d..a1fa1e7 100644
--- a/rsf-admin/src/page/orders/check/OutStockPublic.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
@@ -66,7 +66,7 @@
 
 }));
 
-const OutStockPublic = (props) => {
+const CheckOrderPub = (props) => {
     const { record, open, setOpen, setManualDialog } = props;
     const notify = useNotify();
     const gridRef = useGridApiRef();
@@ -475,6 +475,6 @@
     )
 }
 
-export default OutStockPublic;
+export default CheckOrderPub;
 
 
diff --git a/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx b/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx
new file mode 100644
index 0000000..cc41804
--- /dev/null
+++ b/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx
@@ -0,0 +1,54 @@
+import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem } from "@mui/material";
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
+import { Delete, Edit, Add } from '@mui/icons-material';
+import request from '@/utils/request';
+import { useTranslate } from "react-admin";
+
+const CheckOrderSiteDialog = (props) => {
+    const translate = useTranslate();
+    const { onClose, selectedValue, open } = props;
+    const [siteNos, setSiteNos] = useState([]);
+
+    const handleClose = () => {
+        onClose(selectedValue);
+    }
+
+    const handleListItemClick = (value) => {
+        onClose(value);
+    }
+
+    useEffect(() => {
+        getSiteNos()
+    }, [open])
+
+
+    const getSiteNos = async () => {
+        const { data: { code, data, msg } } = await request.get('/outStock/tasks/sites');
+        if (code === 200) {
+            setSiteNos(data);
+        } else {
+            notify(msg);
+        }
+    }
+
+    return (
+        <Dialog
+            onClose={handleClose}
+            open={open}
+        >
+            <DialogTitle>{translate("toolbar.modiftySite")}</DialogTitle>
+            <List sx={{ pt: 0 }}>
+                {siteNos.map((site) => (
+                    <ListItem disableGutters key={site?.id}>
+                        <ListItemButton onClick={() => handleListItemClick(site)}>
+                            <ListItemText primary={site.site} />
+                        </ListItemButton>
+                    </ListItem>
+                ))}
+            </List>
+        </Dialog>
+    );
+}
+
+export default CheckOrderSiteDialog;
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
index 7abfd51..ea6d559 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
@@ -3,10 +3,10 @@
 
 public enum CheckExceStatus {
 
-    CHECK_ORDER_STATUS_UN_EXCE("1", "鏈墽琛�"),
-    CHECK_ORDER_STATUS_INIT("2", "鍒濆鍖�"),
-    CHECK_ORDER_STATUS_EXCE_ING("3", "鎵ц涓�"),
-    CHECK_ORDER_STATUS_EXCE_DONE("4", "鎵ц瀹屾垚"),
+    CHECK_ORDER_STATUS_UN_EXCE("0", "鏈墽琛�"),
+    CHECK_ORDER_STATUS_INIT("1", "鍒濆鍖�"),
+    CHECK_ORDER_STATUS_EXCE_ING("2", "鎵ц涓�"),
+    CHECK_ORDER_STATUS_EXCE_DONE("3", "鎵ц瀹屾垚"),
 
     ;
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
index 188f14c..6ff61d6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -8,6 +8,7 @@
 import com.vincent.rsf.server.common.utils.DateUtils;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.enums.AsnExceStatus;
+import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.enums.POExceStatus;
 import com.vincent.rsf.server.manager.enums.WarehouseAreasType;
 import com.vincent.rsf.server.manager.service.*;
@@ -78,7 +79,10 @@
         if (!Boolean.parseBoolean(config.getVal())) {
             return;
         }
-        List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val));
+        //鑷姩鏀惰揣鍗�
+        List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
+                .eq(WkOrder::getType, OrderType.ORDER_IN.type)
+                .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val));
         if (!orders.isEmpty()) {
             for (WkOrder order : orders) {
                 List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId()));
@@ -163,7 +167,7 @@
                 .setWeight(matnr.getWeight())
                 .setFieldsIndex(orderItem.getFieldsIndex())
                 .setShipperId(matnr.getShipperId());
-        
+
         LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>()
                 .eq(WarehouseAreasItem::getMatnrCode, orderItem.getMatnrCode())
                 .eq(!Cools.isEmpty(orderItem.getFieldsIndex()), WarehouseAreasItem::getFieldsIndex, orderItem.getFieldsIndex())
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 467b1eb..c8cd725 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
@@ -80,8 +80,8 @@
                     .setMemo(template.getMemo())
                     .setUpdateBy(loginUserId)
                     .setCreateBy(loginUserId)
-                    .setType(CheckOrderType.getTypeVal(template.getType()))
-                    .setWkType(CheckOrderType.getValType(template.getWkType()));
+                    .setType(OrderType.getTypeVal(template.getType()))
+                    .setWkType(CheckOrderType.getTypeVal(template.getWkType()));
             if (!this.save(order)) {
                 throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
             }

--
Gitblit v1.9.1