From 95549a8f8a6a64ed7fc822f275e5c8b8d4e5c0ae Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 18 七月 2025 16:30:12 +0800
Subject: [PATCH] 盘点差异单功能优化

---
 /dev/null                                                                                       |   33 -----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java      |   29 ++++
 rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx                                     |  173 +++++++++++++---------------
 rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx                             |   25 +---
 rsf-admin/src/i18n/zh.js                                                                        |   26 ++++
 rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx                                     |    3 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java               |    9 -
 rsf-admin/src/i18n/en.js                                                                        |   25 ++++
 rsf-admin/src/page/ResourceContent.js                                                           |    3 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java |   18 +-
 10 files changed, 175 insertions(+), 169 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 789e68e..beda28d 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -209,6 +209,7 @@
         basStation: 'BasStation',
         basContainer: 'BasContainer',
         waveRule: 'Wave Rules',
+        checkDiff: 'Check Diff',
 
     },
     table: {
@@ -643,6 +644,30 @@
                 ntyStatus: "ntyStatus",
                 platItemId: 'platItemId'
             },
+
+            checkDiff: {
+                orderCode: "Check Code",
+                checkType: "Check Type",
+                areaId: "Warehouse Area ID",
+                areaName: "Warehouse Area Name",
+                anfme: "Stock Qty",
+                checkQty: "Check Qty",
+                exceStatus: "Exce Status",
+            },
+            checkDiffItem: {
+                checkId: "checkId",
+                orderCode: "orderCode",
+                maktx: "maktx",
+                matnrCode: "matnrCode",
+                spec: "spec",
+                model: "model",
+                barcode: "barcode",
+                batch: "batch",
+                anfme: "anfme",
+                checkQty: "checkQty",
+                exceStatus: "exceStatus",
+                reason: "reason",
+            },
             outStockItem: {
                 asnId: "ID",
                 asnCode: "Out Code",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 851096d..fbafcc3 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -215,6 +215,7 @@
         stockTransfer: '搴撲綅杞Щ',
         waveRule: '娉㈡绛栫暐',
         checkOrder: '鐩樼偣鍗�',
+        checkDiff: '鐩樼偣宸紓鍗�',
     },
     table: {
         field: {
@@ -649,6 +650,7 @@
                 ntyStatus: "涓婃姤鐘舵��",
                 exceStatus: '鎵ц鐘舵��'
             },
+
             checkOrderItem: {
                 orderId: "涓诲崟鏍囪瘑",
                 orderCode: "鍗曞彿",
@@ -671,6 +673,30 @@
                 qrcode: "浜岀淮鐮�",
                 barcode: "搴忓垪鐮�",
             },
+
+            checkDiff: {
+                orderCode: "鐩樼偣鍗�",
+                checkType: "鐩樼偣绫诲瀷",
+                areaId: "搴撳尯ID",
+                areaName: "搴撳尯",
+                anfme: "搴撻潰鏁伴噺",
+                checkQty: "鐩樼偣鏁伴噺",
+                exceStatus: "鎵ц鐘舵��",
+            },
+            checkDiffItem: {
+                checkId: "鐩樼偣鍗旾D",
+                orderCode: "鐩樼偣鍗曞彿",
+                maktx: "鐗╂枡鍚嶇О",
+                matnrCode: "鐗╂枡缂栫爜",
+                spec: "瑙勬牸",
+                model: "鍨嬪彿",
+                barcode: "鎵樼洏鐮�",
+                batch: "鎵规",
+                anfme: "搴撳瓨鏁伴噺",
+                checkQty: "瀹炵洏鏁伴噺",
+                exceStatus: "鎵ц鐘舵��",
+                reason: "宸紓鍘熷洜",
+            },
             asnOrderItem: {
                 orderId: "涓诲崟鏍囪瘑",
                 orderCode: "鍗曞彿",
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index 2303d1b..d729380 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -54,6 +54,7 @@
 import stockTransfer from "./work/stockTransfer";
 import waveRule from './waveRule';
 import check from './orders/check';
+import checkDiff from './orders/check/checkDiff';
 
 const ResourceContent = (node) => {
     switch (node.component) {
@@ -157,6 +158,8 @@
             return waveRule;
         case 'check':
             return check;
+        case 'checkDiff':
+            return checkDiff;
         default:
             return {
                 list: ListGuesser,
diff --git a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx
index e29859d..885c0c0 100644
--- a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx
+++ b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx
@@ -22,109 +22,96 @@
 } from 'react-admin';
 import { useWatch, useFormContext } from "react-hook-form";
 import { Stack, Grid, Box, Typography } from '@mui/material';
-import * as Common from '@/utils/common';
 import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
-import EditBaseAside from "../components/EditBaseAside";
-import CustomerTopToolBar from "../components/EditTopToolBar";
-import MemoInput from "../components/MemoInput";
-import StatusSelectInput from "../components/StatusSelectInput";
+import EditBaseAside from "../../../components/EditBaseAside";
+import CustomerTopToolBar from "../../../components/EditTopToolBar";
+import CheckDiffItemList from "../checkDiffItem/CheckDiffItemList";
 
-const FormToolbar = () => {
-    const { getValues } = useFormContext();
-
-    return (
-        <Toolbar sx={{ justifyContent: 'space-between' }}>
-            <SaveButton />
-            <DeleteButton mutationMode="optimistic" />
-        </Toolbar>
-    )
-}
 
 const CheckDiffEdit = () => {
     const translate = useTranslate();
 
     return (
-        <Edit
-            redirect="list"
-            mutationMode={EDIT_MODE}
-            actions={<CustomerTopToolBar />}
-            aside={<EditBaseAside />}
-        >
-            <SimpleForm
-                shouldUnregister
-                warnWhenUnsavedChanges
-                toolbar={<FormToolbar />}
-                mode="onTouched"
-                defaultValues={{}}
-            // validate={(values) => { }}
+        <>
+            <Edit
+                redirect="list"
+                sx={{marginBottom: 1}}
+                mutationMode={EDIT_MODE}
+                actions={<CustomerTopToolBar />}
+                aside={<EditBaseAside />}
             >
-                <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
-                    <Grid item xs={12} md={8}>
-                        <Typography variant="h6" gutterBottom>
-                            {translate('common.edit.title.main')}
-                        </Typography>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.checkDiff.orderCode"
-                                source="orderCode"
-                                parse={v => v}
-                                autoFocus
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <SelectInput
-                                label="table.field.checkDiff.checkType"
-                                source="checkType"
-                                choices={[
-                                    { id: 0, name: '鏄庣洏' },
-                                    { id:  1, name: '鏆楃洏' },
-                                ]}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <NumberInput
-                                label="table.field.checkDiff.areaId"
-                                source="areaId"
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.checkDiff.areaName"
-                                source="areaName"
-                                parse={v => v}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <NumberInput
-                                label="table.field.checkDiff.anfme"
-                                source="anfme"
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <NumberInput
-                                label="table.field.checkDiff.checkQty"
-                                source="checkQty"
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <NumberInput
-                                label="table.field.checkDiff.exceStatus"
-                                source="exceStatus"
-                            />
-                        </Stack>
+                <SimpleForm
+                    shouldUnregister
+                    warnWhenUnsavedChanges
+                    toolbar={false}
+                    mode="onTouched"
+                    defaultValues={{}}
+                >
+                    <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}
+                        sx={{
+                            "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": {
+                                bgcolor: 'white',
+                                WebkitTextFillColor: "rgba(0, 0, 0)"
+                            },
 
+                            "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": {
+                                bgcolor: 'white',
+                                WebkitTextFillColor: "rgba(0, 0, 0)"
+                            },
+                            "& .MuiFilledInput-root.MuiInputBase-sizeSmall": {
+                                bgcolor: 'white',
+                            }
+                        }}
+                    >
+                        <Grid item xs={24} md={12} >
+                            <Typography variant="h6" gutterBottom>
+                                {translate('common.edit.title.main')}
+                            </Typography>
+                            <Stack direction='row' gap={2}>
+                                <TextInput
+                                    label="table.field.checkDiff.orderCode"
+                                    source="orderCode"
+                                    parse={v => v}
+                                    autoFocus
+                                />
+                                <SelectInput
+                                    label="table.field.checkDiff.checkType"
+                                    source="checkType"
+                                    choices={[
+                                        { id: 0, name: '鏄庣洏' },
+                                        { id: 1, name: '鏆楃洏' },
+                                    ]}
+                                />
+                                <NumberInput
+                                    label="table.field.checkDiff.areaId"
+                                    source="areaId"
+                                />
+                                <TextInput
+                                    label="table.field.checkDiff.areaName"
+                                    source="areaName"
+                                    parse={v => v}
+                                />
+                            </Stack>
+                            <Stack direction='row' gap={2}>
+                                <NumberInput
+                                    label="table.field.checkDiff.anfme"
+                                    source="anfme"
+                                />
+                                <NumberInput
+                                    label="table.field.checkDiff.checkQty"
+                                    source="checkQty"
+                                />
+                                <NumberInput
+                                    label="table.field.checkDiff.exceStatus"
+                                    source="exceStatus"
+                                />
+                            </Stack>
+                        </Grid>
                     </Grid>
-                    <Grid item xs={12} md={4}>
-                        <Typography variant="h6" gutterBottom>
-                            {translate('common.edit.title.common')}
-                        </Typography>
-                        <StatusSelectInput />
-                        <Box mt="2em" />
-                        <MemoInput />
-                    </Grid>
-                </Grid>
-            </SimpleForm>
-        </Edit >
+                </SimpleForm>
+            </Edit >
+            <CheckDiffItemList />
+        </>
     )
 }
 
diff --git a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx
index 81df873..a289f53 100644
--- a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx
+++ b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx
@@ -62,7 +62,6 @@
     <SearchInput source="condition" alwaysOn />,
     <DateInput label='common.time.after' source="timeStart" alwaysOn />,
     <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
     <TextInput source="orderCode" label="table.field.checkDiff.orderCode" />,
     <SelectInput source="checkType" label="table.field.checkDiff.checkType"
         choices={[
@@ -75,7 +74,6 @@
     <NumberInput source="anfme" label="table.field.checkDiff.anfme" />,
     <NumberInput source="checkQty" label="table.field.checkDiff.checkQty" />,
     <NumberInput source="exceStatus" label="table.field.checkDiff.exceStatus" />,
-
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
         label="common.field.status"
@@ -135,7 +133,6 @@
                     <NumberField source="anfme" label="table.field.checkDiff.anfme" />
                     <NumberField source="checkQty" label="table.field.checkDiff.checkQty" />
                     <NumberField source="exceStatus" label="table.field.checkDiff.exceStatus" />
-
                     <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                         <TextField source="nickname" />
                     </ReferenceField>
diff --git a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
index cbcd722..0a4b9dc 100644
--- a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
+++ b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
@@ -31,6 +31,7 @@
     ReferenceArrayInput,
     AutocompleteInput,
     DeleteButton,
+    useGetRecordId,
 } from 'react-admin';
 import { Box, Typography, Card, Stack } from '@mui/material';
 import { styled } from '@mui/material/styles';
@@ -62,7 +63,6 @@
     <SearchInput source="condition" alwaysOn />,
     <DateInput label='common.time.after' source="timeStart" alwaysOn />,
     <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
     <NumberInput source="checkId" label="table.field.checkDiffItem.checkId" />,
     <TextInput source="orderCode" label="table.field.checkDiffItem.orderCode" />,
     <TextInput source="maktx" label="table.field.checkDiffItem.maktx" />,
@@ -75,7 +75,6 @@
     <NumberInput source="checkQty" label="table.field.checkDiffItem.checkQty" />,
     <NumberInput source="exceStatus" label="table.field.checkDiffItem.exceStatus" />,
     <TextInput source="reason" label="table.field.checkDiffItem.reason" />,
-
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
         label="common.field.status"
@@ -90,7 +89,7 @@
 
 const CheckDiffItemList = () => {
     const translate = useTranslate();
-
+    const orderId = useGetRecordId();
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
 
@@ -105,14 +104,15 @@
                         }),
                     marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                 }}
+                resource="checkDiffItem"
                 title={"menu.checkDiffItem"}
-                empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+                empty={false}
                 filters={filters}
+                filter={{checkId: orderId}}
                 sort={{ field: "create_time", order: "desc" }}
                 actions={(
                     <TopToolbar>
                         <FilterButton />
-                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                         <SelectColumnsButton preferenceKey='checkDiffItem' />
                         <MyExportButton />
                     </TopToolbar>
@@ -121,9 +121,9 @@
             >
                 <StyledDatagrid
                     preferenceKey='checkDiffItem'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+                    bulkActionButtons={false}
                     rowClick={(id, resource, record) => false}
-                    expand={() => <CheckDiffItemPanel />}
+                    expand={false}
                     expandSingle={true}
                     omit={['id', 'createTime', 'createBy', 'memo']}
                 >
@@ -140,7 +140,6 @@
                     <NumberField source="checkQty" label="table.field.checkDiffItem.checkQty" />
                     <NumberField source="exceStatus" label="table.field.checkDiffItem.exceStatus" />
                     <TextField source="reason" label="table.field.checkDiffItem.reason" />
-
                     <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                         <TextField source="nickname" />
                     </ReferenceField>
@@ -157,16 +156,6 @@
                     </WrapperField>
                 </StyledDatagrid>
             </List>
-            <CheckDiffItemCreate
-                open={createDialog}
-                setOpen={setCreateDialog}
-            />
-            <PageDrawer
-                title='CheckDiffItem Detail'
-                drawerVal={drawerVal}
-                setDrawerVal={setDrawerVal}
-            >
-            </PageDrawer>
         </Box>
     )
 }
diff --git a/rsf-server/src/main/java/checkDiff.sql b/rsf-server/src/main/java/checkDiff.sql
deleted file mode 100644
index a5acc0c..0000000
--- a/rsf-server/src/main/java/checkDiff.sql
+++ /dev/null
@@ -1,28 +0,0 @@
--- save checkDiff record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.checkDiff', '0', '/manager/checkDiff', 'checkDiff', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:remove', '3', '1', '1');
-
--- locale menu name
-checkDiff: 'CheckDiff',
-
--- locale field
-checkDiff: {
-    orderCode: "orderCode",
-    checkType: "checkType",
-    areaId: "areaId",
-    areaName: "areaName",
-    anfme: "anfme",
-    checkQty: "checkQty",
-    exceStatus: "exceStatus",
-},
-
--- ResourceContent
-import checkDiff from './checkDiff';
-
-case 'checkDiff':
-    return checkDiff;
diff --git a/rsf-server/src/main/java/checkDiffItem.sql b/rsf-server/src/main/java/checkDiffItem.sql
deleted file mode 100644
index a0921ac..0000000
--- a/rsf-server/src/main/java/checkDiffItem.sql
+++ /dev/null
@@ -1,33 +0,0 @@
--- save checkDiffItem record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.checkDiffItem', '0', '/manager/checkDiffItem', 'checkDiffItem', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:remove', '3', '1', '1');
-
--- locale menu name
-checkDiffItem: 'CheckDiffItem',
-
--- locale field
-checkDiffItem: {
-    checkId: "checkId",
-    orderCode: "orderCode",
-    maktx: "maktx",
-    matnrCode: "matnrCode",
-    spec: "spec",
-    model: "model",
-    barcode: "barcode",
-    batch: "batch",
-    anfme: "anfme",
-    checkQty: "checkQty",
-    exceStatus: "exceStatus",
-    reason: "reason",
-},
-
--- ResourceContent
-import checkDiffItem from './checkDiffItem';
-
-case 'checkDiffItem':
-    return checkDiffItem;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
index 1ccf55c..120283a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
@@ -25,7 +25,7 @@
     @Autowired
     private CheckDiffItemService checkDiffItemService;
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping("/checkDiffItem/page")
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -33,25 +33,25 @@
         return R.ok().add(checkDiffItemService.page(pageParam, pageParam.buildWrapper(true)));
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping("/checkDiffItem/list")
     public R list(@RequestBody Map<String, Object> map) {
         return R.ok().add(checkDiffItemService.list());
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping({"/checkDiffItem/many/{ids}", "/checkDiffItems/many/{ids}"})
     public R many(@PathVariable Long[] ids) {
         return R.ok().add(checkDiffItemService.listByIds(Arrays.asList(ids)));
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @GetMapping("/checkDiffItem/{id}")
     public R get(@PathVariable("id") Long id) {
         return R.ok().add(checkDiffItemService.getById(id));
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:save')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:save')")
     @OperationLog("Create 鐩樼偣鏄庣粏宸紓琛�")
     @PostMapping("/checkDiffItem/save")
     public R save(@RequestBody CheckDiffItem checkDiffItem) {
@@ -65,7 +65,7 @@
         return R.ok("Save Success").add(checkDiffItem);
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:update')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:update')")
     @OperationLog("Update 鐩樼偣鏄庣粏宸紓琛�")
     @PostMapping("/checkDiffItem/update")
     public R update(@RequestBody CheckDiffItem checkDiffItem) {
@@ -77,7 +77,7 @@
         return R.ok("Update Success").add(checkDiffItem);
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:remove')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:remove')")
     @OperationLog("Delete 鐩樼偣鏄庣粏宸紓琛�")
     @PostMapping("/checkDiffItem/remove/{ids}")
     public R remove(@PathVariable Long[] ids) {
@@ -87,7 +87,7 @@
         return R.ok("Delete Success").add(ids);
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping("/checkDiffItem/query")
     public R query(@RequestParam(required = false) String condition) {
         List<KeyValVo> vos = new ArrayList<>();
@@ -101,7 +101,7 @@
         return R.ok().add(vos);
     }
 
-    @PreAuthorize("hasAuthority('manager:checkDiffItem:list')")
+    @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping("/checkDiffItem/export")
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         ExcelUtil.build(ExcelUtil.create(checkDiffItemService.list(), CheckDiffItem.class), response);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
index 03496a2..4c9fe2f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
@@ -104,12 +104,6 @@
     private Double checkQty;
 
     /**
-     * 鎵ц鐘舵��
-     */
-    @ApiModelProperty(value= "鎵ц鐘舵��")
-    private Integer exceStatus;
-
-    /**
      * 宸紓鍘熷洜
      */
     @ApiModelProperty(value= "宸紓鍘熷洜")
@@ -168,7 +162,7 @@
 
     public CheckDiffItem() {}
 
-    public CheckDiffItem(Long checkId,String orderCode,String maktx,String matnrCode,String spec,String model,String barcode,String batch,Double anfme,Double checkQty,Integer exceStatus,String reason,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+    public CheckDiffItem(Long checkId,String orderCode,String maktx,String matnrCode,String spec,String model,String barcode,String batch,Double anfme,Double checkQty,String reason,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
         this.checkId = checkId;
         this.orderCode = orderCode;
         this.maktx = maktx;
@@ -179,7 +173,6 @@
         this.batch = batch;
         this.anfme = anfme;
         this.checkQty = checkQty;
-        this.exceStatus = exceStatus;
         this.reason = reason;
         this.status = status;
         this.deleted = deleted;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java
index e470f48..4c80343 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java
@@ -4,11 +4,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.CheckDiffExceStatus;
-import com.vincent.rsf.server.manager.enums.CheckExceStatus;
-import com.vincent.rsf.server.manager.enums.TaskStsType;
-import com.vincent.rsf.server.manager.enums.TaskType;
+import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.manager.service.*;
+import com.vincent.rsf.server.manager.service.impl.LocServiceImpl;
 import com.vincent.rsf.server.system.utils.SystemAuthUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +38,8 @@
     private CheckOrderService checkOrderService;
     @Autowired
     private CheckOrderItemService checkOrderItemService;
+    @Autowired
+    private LocServiceImpl locService;
 
     /**
      * @author Ryan
@@ -51,7 +51,7 @@
     @Transactional(rollbackFor = Exception.class)
     public void genReCheck() {
         List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>()
-                .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id = cdi.task_item_id"));
+                .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id != cdi.task_item_id"));
         if (taskItems.isEmpty()) {
             return;
         }
@@ -83,6 +83,10 @@
             List<CheckDiffItem> diffItems = new ArrayList<>();
             CheckDiff finalCheckDiff = checkDiff;
             items.forEach(item -> {
+                Task task = taskService.getById(item.getTaskId());
+                if (Objects.isNull(task)) {
+                    throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+                }
                 CheckDiffItem checkDiffItem = new CheckDiffItem();
                 BeanUtils.copyProperties(item, checkDiffItem);
                 checkDiffItem.setCheckId(finalCheckDiff.getId())
@@ -90,10 +94,25 @@
                         .setTaskId(item.getTaskId())
                         .setCreateBy(loginUserId)
                         .setCreateTime(new Date())
+                        .setBarcode(task.getBarcode())
                         .setUpdateBy(loginUserId)
                         .setUpdateTime(new Date())
                         .setOrderCode(finalCheckDiff.getOrderCode());
                 diffItems.add(checkDiffItem);
+
+                if (Objects.isNull(finalCheckDiff.getAreaId())) {
+                    Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>()
+                            .eq(Loc::getCode, task.getOrgLoc())
+                            .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_R.type));
+                    if (Objects.isNull(loc)) {
+                        throw new CoolException("鐩樼偣搴撲綅涓嶅瓨鍦紒锛�");
+                    }
+                    finalCheckDiff.setAreaId(loc.getAreaId()).setAreaName(loc.getAreaId$());
+
+                    if (!checkDiffService.updateById(finalCheckDiff)) {
+                        throw new CoolException("搴撳尯淇℃伅淇敼澶辫触锛侊紒");
+                    }
+                }
             });
 
            if (!checkDiffItemService.saveBatch(diffItems)) {

--
Gitblit v1.9.1