From 262264255b0be3f35674595c0bebab3f2f6c910d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 25 八月 2025 14:26:45 +0800
Subject: [PATCH] 库存调整单功能优化调整

---
 rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx                                     |   24 ++++++++++++++++++++++--
 rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx                                     |    4 +++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java              |    4 ++++
 rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx                                 |    2 ++
 rsf-admin/src/i18n/zh.js                                                                       |    1 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java |    4 ++++
 rsf-admin/src/i18n/en.js                                                                       |    1 +
 rsf-admin/src/page/components/CheckDiffField.jsx                                               |    2 +-
 8 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index e5e7065..d908a9b 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -1152,6 +1152,7 @@
                 wareArea: 'Warehouse Areas',
                 maktx: "maktx",
                 matnrCode: "matnrCode",
+                diffQty: 'Diff Qty',
                 trackCode: "trackCode",
                 unit: "unit",
                 anfme: "anfme",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 9d4ef4d..015c866 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1168,6 +1168,7 @@
                 matnrCode: "鐗╂枡缂栫爜",
                 trackCode: "璺熻釜鐮�",
                 workQty: '鎵ц鏁�',
+                diffQty: '宸紓鏁伴噺',
                 reviseQty: '瀹為檯鏁伴噺',
                 deadTime: '鍋滅暀鏃堕棿锛堝ぉ锛�',
                 qty: '瀹屾垚鏁�',
diff --git a/rsf-admin/src/page/components/CheckDiffField.jsx b/rsf-admin/src/page/components/CheckDiffField.jsx
index 1c0413b..a80e3a4 100644
--- a/rsf-admin/src/page/components/CheckDiffField.jsx
+++ b/rsf-admin/src/page/components/CheckDiffField.jsx
@@ -3,8 +3,8 @@
     useRecordContext,
 } from 'react-admin';
 import { Box, Typography, Card, Stack } from '@mui/material';
-import { useTheme } from '@mui/material/styles';
 import CircleIcon from '@mui/icons-material/Circle';
+import { useTheme } from '@mui/material/styles';
 
 const CheckDiffField = () => {
     const record = useRecordContext();
diff --git a/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx b/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
index ba7cbf2..86546a3 100644
--- a/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
@@ -37,7 +37,7 @@
 import MyCreateButton from "@/page/components/MyCreateButton";
 import MyExportButton from '@/page/components/MyExportButton';
 import PageEditDrawer from "@/page/components/PageEditDrawer";
-import { Box, Typography, Card, Stack } from '@mui/material';
+import { Box, Typography, Card, Stack, Switch } from '@mui/material';
 import ConfirmButton from '../../components/ConfirmButton';
 import LocReviseCreate from "./LocReviseCreate";
 import TaskIcon from '@mui/icons-material/Task';
@@ -195,4 +195,6 @@
 }
 
 
+
+
 export default LocReviseList;
diff --git a/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx b/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
index fe23fb9..f848cf8 100644
--- a/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
@@ -37,6 +37,7 @@
 import { Box, Typography, Card, Stack } from '@mui/material';
 import { styled } from '@mui/material/styles';
 import * as Common from '@/utils/common';
+import CheckDiffField from "../../components/CheckDiffField";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -96,6 +97,7 @@
                     <TextField source="unit" label="table.field.locItem.unit" />
                     <NumberField source="anfme" label="table.field.locItem.anfme" />
                     <NumberField source="reviseQty" label="table.field.locItem.reviseQty" />
+                    <CheckDiffField source="diffQty" label="table.field.locItem.diffQty" />
                     <TextField source="batch" label="table.field.locItem.batch" />
                     <TextField source="spec" label="table.field.locItem.spec" />
                     <TextField source="model" label="table.field.locItem.model" />
diff --git a/rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx b/rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx
index 33ae7c6..d723df0 100644
--- a/rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx
@@ -36,14 +36,13 @@
     useGetOne,
 } from 'react-admin';
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
+import { Box, Typography, Card, Stack, Switch } from '@mui/material';
 import MyCreateButton from "@/page/components/MyCreateButton";
-import { Box, Typography, Card, Stack } from '@mui/material';
 import ReviseLogItemList from "./ReviseLogItemList";
 import SelectLocsRevise from "./SelectLocsRevise";
 import EditIcon from '@mui/icons-material/Edit';
 import LocsReviseDetl from "./LocsReviseDetl";
 import { styled } from '@mui/material/styles';
-import * as Common from '@/utils/common';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -89,6 +88,7 @@
 const ReviseLogList = ({ record }) => {
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
+    const [checked, setChecked] = useState(true);
     const [item, setItem] = useState();
     const translate = useTranslate();
     const orderId = useGetRecordId();
@@ -111,6 +111,7 @@
                 sort={{ field: "create_time", order: "desc" }}
                 actions={(
                     <TopToolbar>
+                        <DiffShowButton checked={checked} setChecked={setChecked}/>
                         <FilterButton />
                         <CreateItemButton setCreateDialog={setCreateDialog} record={record} />
                         <SelectColumnsButton preferenceKey='check' />
@@ -167,6 +168,25 @@
 
 export default ReviseLogList;
 
+//鏄剧ず宸紓寮�鍏�
+const DiffShowButton = ({checked, setChecked}) => {
+    const handleChange = (event) => {
+        setChecked(event.target.checked);
+    };
+
+    return (
+        <>
+            <Switch
+                checked={checked}
+                size="small"
+                onChange={handleChange}
+                slotProps={{ input: { 'aria-label': 'controlled' } }}
+            />
+        </>
+    )
+}
+
+
 const CreateItemButton = ({ setCreateDialog, record }) => {
     return (
         record?.exceStatus < 2 ? <MyCreateButton onClick={() => { setCreateDialog(true); }} /> : <></>
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
index f81ca38..aa524d2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
@@ -244,6 +244,10 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
     }
 
+    public Double getDiffQty() {
+        return Math.round((this.reviseQty - this.anfme) * 10000) / 10000.0;
+    }
+
     public String getUpdateBy$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.getById(this.updateBy);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
index b182f25..06d28cb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
@@ -127,6 +127,10 @@
             if (Objects.isNull(loc)) {
                 throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�");
             }
+            List<LocItem> list = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
+            if (!list.isEmpty()) {
+                throw new CoolException("搴撲綅:" + loc.getCode() + ", 璋冩暣淇℃伅涓虹┖锛侊紒");
+            }
             locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
             listMap.get(items).forEach(logItem -> {
                 LocItem locDetl = new LocItem();

--
Gitblit v1.9.1