skyouc
2 天以前 951b46befc5b4ec669f882bebd934d64897059f9
调拔单功能优化
5个文件已修改
88 ■■■■■ 已修改文件
rsf-admin/src/page/locItem/LocItemEdit.jsx 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locItem/LocItemList.jsx 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locItem/LocItemEdit.jsx
@@ -22,17 +22,17 @@
    DeleteButton,
    useNotify,
} 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 request from '@/utils/request';
import DictionarySelect from "../components/DictionarySelect";
import CustomerTopToolBar from "../components/EditTopToolBar";
import { Stack, Grid, Box, Typography } from '@mui/material';
import { useWatch, useFormContext } from "react-hook-form";
import EditBaseAside from "../components/EditBaseAside";
import MemoInput from "../components/MemoInput";
import LocQueryList from "./LocQueryList";
import * as Common from '@/utils/common';
import request from '@/utils/request';
const FormToolbar = () => {
    const { getValues } = useFormContext();
@@ -56,6 +56,7 @@
        <>
            <Edit
                redirect="list"
                resource="locItem"
                mutationMode={EDIT_MODE}
                actions={<CustomerTopToolBar />}
                aside={<EditBaseAside />}
@@ -186,14 +187,6 @@
                                </Grid>
                            </Grid>
                        </Grid>
                        {/* <Grid item xs={12} md={2}>
                            <Typography variant="h6" gutterBottom>
                                {translate('common.edit.title.common')}
                            </Typography>
                            <StatusSelectInput readOnly />
                            <Box mt="2em" />
                            <MemoInput />
                        </Grid> */}
                    </Grid>
                </SimpleForm>
            </Edit >
rsf-admin/src/page/locItem/LocItemList.jsx
@@ -35,11 +35,11 @@
    Button,
    useList,
} from 'react-admin';
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import MyCreateButton from "../components/MyCreateButton";
import MyExportButton from '../components/MyExportButton';
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import { styled } from '@mui/material/styles';
import LocListAside from "./LocListAside";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -62,24 +62,21 @@
        width: 'auto',
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
        whiteSpace: 'nowrap',
        overflow: 'visible',
        textOverflow: 'unset'
    }
}));
const LocItemList = () => {
    const translate = useTranslate();
    const notify = useNotify();
    const refresh = useRefresh();
    const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_use_stas')) || [];
    const locType = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || [];
    const [createDialog, setCreateDialog] = useState(false);
    const [drawerVal, setDrawerVal] = useState(false);
    const [initDialog, setInitDialog] = useState(false);
    const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_use_stas')) || [];
    const locType = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || [];
    const translate = useTranslate();
    const refresh = useRefresh();
    const notify = useNotify();
    const filters = [
        <SearchInput source="condition" alwaysOn />,
@@ -112,7 +109,7 @@
            source="useStatus"
            optionValue="value"
            parse={v => v}
        />,
        <TextInput source="code" label="table.field.loc.code" />,
        <AutocompleteInput
@@ -122,7 +119,8 @@
            source="type"
            optionValue="value"
            parse={v => v}
        />, <TextInput source="name" label="table.field.loc.name" />,
        />,
        <TextInput source="name" label="table.field.loc.name" />,
        <NumberInput source="flagLogic" label="table.field.loc.flagLogic" />,
        <TextInput source="fucAtrrs" label="table.field.loc.fucAtrrs" />,
        <TextInput source="barcode" label="table.field.loc.barcode" />,
@@ -148,8 +146,6 @@
        />,
    ]
    return (
        <Box display="flex">
            <List
@@ -162,11 +158,10 @@
                    marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                }}
                storeKey="locItem"
                resource="loc"
                resource="loc/items"
                title={"menu.locItem"}
                empty={false}
                filters={filters}
                filter={{ useStatus: 'F' }}
                sort={{ field: "create_time", order: "desc" }}
                actions={(
                    <TopToolbar>
@@ -182,7 +177,7 @@
                    align="left"
                    bulkActionButtons={false}
                    rowClick={() => false}
                    omit={['id', 'createTime', 'createBy$', 'memo', 'updateTime', 'updateBy','statusBool','length','width','height']}
                    omit={['id', 'createTime', 'createBy$', 'memo', 'updateTime', 'updateBy', 'statusBool', 'length', 'width', 'height']}
                >
                    <NumberField source="id" />
                    <NumberField source="warehouseId$" label="table.field.loc.warehouseId" />
rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
@@ -49,7 +49,7 @@
    const translate = useTranslate();
    const notify = useNotify();
    const refresh = useRefresh();
    const handleClose = (event, reason) => {
        if (reason !== "backdropClick") {
            setOpen(false);
@@ -87,6 +87,7 @@
                batch: el.batch,
                spec: el.spec,
                model: el.model,
                fieldsIndex: el.fieldsIndex,
                stockUnit: el.unit || '',
                ...dynamicFields
            }
@@ -110,7 +111,6 @@
            const { data } = res.data;
            setTableData(data?.records);
            setRowCount(data?.total);
        } else {
            notify(res.data.msg);
        }
@@ -211,7 +211,7 @@
    const [columns, setColumns] = useState([
        { field: 'maktx', headerName: translate('table.field.matnr.name'), width: 300 },
        { field: 'matnrCode', headerName: translate('table.field.matnr.code'), width: 200 },
        // { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 },
        { field: 'locCode', headerName: translate('table.field.locItem.locCode'), width: 100 },
        { field: 'spec', headerName: translate('table.field.matnr.spec'), width: 100 },
        { field: 'batch', headerName: translate('table.field.locItem.batch'), width: 100 },
        { field: 'model', headerName: translate('table.field.matnr.model'), width: 100 },
@@ -219,24 +219,6 @@
        { field: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 },
        { field: 'wareArea', headerName: translate('table.field.locItem.wareArea'), width: 100, sortable: false },
    ])
    const getData = async () => {
        const res = await request.post(`/matnr/page`, {
            // const res = await request.post(`/transfer/locs/items`, {
            ...formData,
            current: page,
            pageSize: pageSize,
            orderBy: "create_time desc"
        });
        if (res?.data?.code === 200) {
            const { data } = res.data;
            setTableData(data?.records);
            setRowCount(data?.total);
        } else {
            notify(res.data.msg);
        }
    };
    const handleSelectionChange = (ids) => {
        setSelectedRows(ids)
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -486,7 +486,7 @@
                WkOrderItem orderItem = outStockItemService.getOne(new LambdaQueryWrapper<WkOrderItem>()
                        .eq(WkOrderItem::getOrderId, outId)
                        .eq(StringUtils.isNotBlank(locItem.getBatch()), WkOrderItem::getSplrBatch, locItem.getBatch())
//                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), WkOrderItem::getFieldsIndex, locItem.getFieldsIndex())
                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), WkOrderItem::getFieldsIndex, locItem.getFieldsIndex())
                        .eq(WkOrderItem::getMatnrId, locItem.getMatnrId()));
                if (Objects.isNull(orderItem)) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java
@@ -353,7 +353,7 @@
        if (!locs.isEmpty()) {
            Page<LocItem> page = new Page<>(params.getCurrent(), params.getPageSize());
            QueryWrapper<LocItem> wrapper = new QueryWrapper<>();
            wrapper.select("id, matnr_id, maktx, matnr_code, SUM(anfme) anfme, SUM(work_qty) work_qty, SUM(qty) qty, batch, unit, fields_index, model, spec, loc_id ")
            wrapper.select("id, matnr_id, maktx, matnr_code, SUM(anfme) anfme, SUM(work_qty) work_qty, SUM(qty) qty, batch, unit, fields_index, model, spec, loc_id, loc_code ")
                    .lambda()
                    .eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode())
                    .like(StringUtils.isNotBlank(params.getMaktx()), LocItem::getMaktx, params.getMaktx());