skyouc
2 天以前 01bdd3d234335a61c849fc53d28eabff29949f33
Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
6个文件已修改
10个文件已删除
1482 ■■■■■ 已修改文件
rsf-admin/src/page/reviseLog/ReviseLogCreate.jsx 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLog/ReviseLogEdit.jsx 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLog/ReviseLogList.jsx 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLog/ReviseLogPanel.jsx 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLog/index.jsx 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLogItem/ReviseLogItemCreate.jsx 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLogItem/ReviseLogItemEdit.jsx 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLogItem/ReviseLogItemList.jsx 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLogItem/ReviseLogItemPanel.jsx 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLogItem/index.jsx 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/stockManage/locRevise/LocReviseEdit.jsx 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/stockManage/locRevise/LocsReviseDetl.jsx 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/reviseLog/ReviseLogCreate.jsx
File was deleted
rsf-admin/src/page/reviseLog/ReviseLogEdit.jsx
File was deleted
rsf-admin/src/page/reviseLog/ReviseLogList.jsx
File was deleted
rsf-admin/src/page/reviseLog/ReviseLogPanel.jsx
File was deleted
rsf-admin/src/page/reviseLog/index.jsx
File was deleted
rsf-admin/src/page/reviseLogItem/ReviseLogItemCreate.jsx
File was deleted
rsf-admin/src/page/reviseLogItem/ReviseLogItemEdit.jsx
File was deleted
rsf-admin/src/page/reviseLogItem/ReviseLogItemList.jsx
File was deleted
rsf-admin/src/page/reviseLogItem/ReviseLogItemPanel.jsx
File was deleted
rsf-admin/src/page/reviseLogItem/index.jsx
File was deleted
rsf-admin/src/page/stockManage/locRevise/LocReviseEdit.jsx
@@ -55,8 +55,19 @@
                <SimpleForm
                    shouldUnregister
                    warnWhenUnsavedChanges
                    toolbar={<FormToolbar />}
                    toolbar={false}
                    mode="onTouched"
                    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)"
                        }
                    }}
                    defaultValues={{}}
                    // sx={{
                    //     "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": {
@@ -87,19 +98,22 @@
                                    label="table.field.locRevise.type"
                                    source="type"
                                    choices={[
                                        { id: 0, name: ' 库存调整' },
                                        { id: 1, name: ' 库存调整' },
                                        { id: 2, name: ' 盘点调整' },
                                    ]}
                                    readOnly
                                />
                                <NumberInput
                                    label="table.field.locRevise.anfme"
                                    source="anfme"
                                    readOnly
                                />
                            </Stack>
                            <Stack direction='row' gap={2}>
                                <NumberInput
                                    label="table.field.locRevise.reviseQty"
                                    source="reviseQty"
                                    readOnly
                                />
                                <SelectInput
                                    label="table.field.locRevise.exceStatus"
@@ -109,11 +123,13 @@
                                        { id: 1, name: '执行中' },
                                        { id: 2, name: '执行完成' },
                                    ]}
                                    readOnly
                                />
                                <TextInput
                                    label="table.field.locRevise.areaName"
                                    source="orgAreaName"
                                    source="areaName"
                                    parse={v => v}
                                    readOnly
                                />
                            </Stack>
                        </Grid>
rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
@@ -124,7 +124,7 @@
                    rowClick={(id, resource, record) => false}
                    expand={false}
                    expandSingle={true}
                    omit={['id', 'createTime', 'createBy', 'orgAreaId', 'memo']}
                    omit={['id', 'createTime', 'createBy', 'areaId', 'memo']}
                >
                    <NumberField source="id" />
                    <TextField source="code" label="table.field.locRevise.code" />
@@ -132,8 +132,8 @@
                    <NumberField source="anfme" label="table.field.locRevise.anfme" />
                    <NumberField source="reviseQty" label="table.field.locRevise.reviseQty" />
                    <TextField source="exceStatus$" label="table.field.locRevise.exceStatus" sortable={false} />
                    <NumberField source="orgAreaId" label="table.field.locRevise.areaId" />
                    <TextField source="orgAreaName" label="table.field.locRevise.areaName" />
                    <NumberField source="areaId" label="table.field.locRevise.areaId" />
                    <TextField source="areaName" label="table.field.locRevise.areaName" />
                    <TextField source="updateBy$" label="common.field.updateBy" />
                    <DateField source="updateTime" label="common.field.updateTime" showTime />
                    <DateField source="createBy$" label="common.field.createBy" />
rsf-admin/src/page/stockManage/locRevise/LocsReviseDetl.jsx
@@ -19,6 +19,7 @@
import { useTranslate, useNotify, useRefresh, DatagridConfigurable, useGetOne } from 'react-admin';
import DialogCloseButton from "../../components/DialogCloseButton";
import { Add, Edit, Delete, Save } from '@mui/icons-material';
import QueryStatsIcon from '@mui/icons-material/QueryStats';
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import SelectMatnrInfo from "./SelectMatnrInfo";
import SaveIcon from '@mui/icons-material/Save';
@@ -44,28 +45,19 @@
        }
    };
    const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_stock_revise_type')) || [];
    const [page, setPage] = useState({ page: DEFAULT_START_PAGE, pageSize: DEFAULT_PAGE_SIZE });
    const [formData, setFormData] = useState({ locCode: record?.locCode });
    const [selectedRows, setSelectedRows] = useState([]);
    const [isLoading, setIsLoading] = useState(false);
    const [tableData, setTableData] = useState([]);
    const [openMatnr, setOpenMatnr] = useState();
    const [dyFields, setDyFields] = useState([]);
    const [rowCount, setRowCount] = useState(0);
    const [formData, setFormData] = useState({ matnrCode: null });
    const translate = useTranslate();
    const refresh = useRefresh();
    const notify = useNotify();
    const tableRef = useRef()
    const handleChange = (e) => {
        const { name, value } = e.target;
        setFormData(() => ({
            ...formData,
            [name]: value
        }));
    };
    const handleSubmit = () => {
        const rows = tableRef.current.getSelectedRows();
@@ -80,6 +72,7 @@
                batch: el.batch,
                anfme: el.anfme,
                reviseQty: el.reviseQty,
                filedsIndex: el.filedsIndex,
                spec: el.spec,
                model: el.model,
                unit: el.unit,
@@ -94,7 +87,6 @@
            reviseLogId: record?.id,
            items: values,
        }
        console.log(values);
        const res = await request.post(`/reviseLogItem/items/save`, parmas);
        if (res?.data?.code === 200) {
@@ -105,12 +97,11 @@
        }
    }
    const getData = async () => {
    const getData = async (matnr) => {
        setIsLoading(true)
        console.log(formData);
        const res = await request.post(`/locItem/page`, {
        const res = await request.post(`/reviseLogItem/page`, {
            locCode: record?.locCode,
            matnrCode: matnr,
            current: page?.page,
            pageSize: page?.pageSize,
            orderBy: "create_time desc"
@@ -125,12 +116,24 @@
    };
    useEffect(() => {
        getData();
        if (record != null || record != undefined) {
            getData()
        }
    }, [open, page]);
    const handleSearch = () => {
        // getData()
        getData(formData.matnrCode)
    };
    const handleAdd = () => {
        setOpenMatnr(true)
    };
    const handleChange = (e) => {
        const { name, value } = e.target;
        setFormData(() => ({
            [name]: value
        }));
    };
    return (
@@ -155,43 +158,27 @@
                    </Box>
                </DialogTitle>
                <DialogContent sx={{ mt: 2 }}>
                    {/* <Box>
                    <List
                        sx={{
                            flexGrow: 1,
                            marginRight: 1,
                            transition: (theme) =>
                                theme.transitions.create(['all'], {
                                    duration: theme.transitions.duration.enteringScreen,
                                }),
                        }}
                        resource="loc"
                        title={"menu.loc"}
                        empty={false}
                        filter={{ useStatus: 'F' }}
                        filters={filters}
                        sort={{ field: "'row'" }}
                        actions={false}
                        perPage={DEFAULT_PAGE_SIZE}
                        aside={false}
                    >
                        <StyledDatagrid
                            preferenceKey='loc'
                            align="left"
                            bulkActionButtons={false}
                            rowClick={() => false}
                            omit={['id', 'areaId', 'type', 'barcode']}
                        >
                            <NumberField source="id" />
                            <TextField source="code" label="table.field.locItem.locCode" />
                        </StyledDatagrid>
                    </List>
                </Box> */}
                    <Box>
                        <Box component="form" onSubmit={handleSubmit} sx={{ display: 'flex', flexDirection: 'column', gap: 3, justifyContent: 'flex-end' }}>
                            <Grid item md={12} sx={{ justifyContent: 'flex-end', display: 'flex' }}>
                                <Button variant="text" onClick={handleSearch}>{translate("page.whMat.title.add")}</Button>
                        <Box sx={{ display: 'flex', justifyContent: 'space-between' }}>
                            <Grid container spacing={2}>
                                <Grid item md={3}>
                                    <TextField
                                        label={translate('table.field.matnr.code')}
                                        name="matnrCode"
                                        value={formData.matnrCode}
                                        onChange={handleChange}
                                        size="small"
                                    />
                                </Grid>
                                <Grid item md={3} sx={{ display: "flex", margin: 1 }}>
                                    <Button variant="contained" onClick={handleSearch} startIcon={<QueryStatsIcon />}>{translate("toolbar.query")}</Button>
                                </Grid>
                            </Grid>
                            <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, justifyContent: 'flex-end' }}>
                                <Grid item md={8} sx={{ justifyContent: 'flex-end', display: 'flex' }}>
                                    <Button variant="text" onClick={handleAdd}>{translate("page.whMat.title.add")}</Button>
                                </Grid>
                            </Box>
                        </Box>
                        <Box sx={{ mt: 2, height: 600, width: '100%' }}>
                            <SelectReviseMatnr
@@ -226,9 +213,9 @@
export default LocsReviseDetl;
const SelectReviseMatnr = ({ tableData, setTableData, page, isLoading, setPage, rowCount, selectedRows, setSelectedRows, tableRef, setDyFields, dyFields }) => {
    const [dynamicFields, setDynamicFields] = useState([]);
    const translate = useTranslate();
    const notify = useNotify();
    const [dynamicFields, setDynamicFields] = useState([]);
    const [columns, setColumns] = useState([
        {
            field: 'matnrCode',
@@ -259,7 +246,7 @@
        },
        {
            field: 'reviseQty',
            headerName: translate('table.field.locItem.outQty') + "*",
            headerName: translate('table.field.locItem.reviseQty') + "*",
            minWidth: 100,
            type: 'number',
            flex: 1,
@@ -303,7 +290,8 @@
    }
    const handleDelete = (rows) => {
        const tableRows = tableData.filter(item => item.matnrCode != rows.matnrCode);
        let selectRow = tableRef.current.getSortedRows();
        const tableRows = selectRow.filter(item => item.id != rows.id);
        setTableData(tableRows);
    }
rsf-admin/src/page/stockManage/locRevise/ReviseLogList.jsx
@@ -123,7 +123,7 @@
                    rowClick={(id, resource, record) => false}
                    expand={<ReviseLogItemList />}
                    expandSingle={true}
                    omit={['id', 'reviseId', 'createTime', 'createBy', 'memo']}
                    omit={['id', 'reviseId', 'warehouseId', 'areaId', 'createTime', 'createBy', 'memo']}
                >
                    <NumberField source="id" />
                    <NumberField source="reviseId" label="table.field.reviseLog.reviseId" />
@@ -168,8 +168,6 @@
const EditLocRevise = ({ setDrawerVal, setItem }) => {
    const record = useRecordContext();
    console.log("=======>");
    console.log(record);
    const editRevise = () => {
        setDrawerVal(true)
        setItem(record)
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -388,23 +388,20 @@
        InTaskMsgDto inTaskMsgDto = new InTaskMsgDto();
        int sRow = deviceBind.getStartRow();
        int eRow = deviceBind.getEndRow();
        int deviceQty = deviceBind.getDeviceQty();
        // ===============>>>> 开始执行
        curRow = deviceBind.getCurrentRow();
        //此程序用于优化堆垛机异常时的运行时间
        for (int i = times; i <= deviceQty * 2; i++) {
            int[] locNecessaryParameters = LocUtils.LocNecessaryParameters(deviceBind, curRow, deviceQty);
            curRow = locNecessaryParameters[1];
            channel = locNecessaryParameters[2];
            rowCount = locNecessaryParameters[0];
            nearRow = locNecessaryParameters[3];
            break;
        }
        //获取排
        int[] locNecessaryParameters = LocUtils.LocNecessaryParameters(deviceBind, curRow, deviceQty);
        curRow = locNecessaryParameters[1];
        channel = locNecessaryParameters[2];
        rowCount = locNecessaryParameters[0];
        nearRow = locNecessaryParameters[3];
        if (nearRow == 0) {
            throw new CoolException("无可用堆垛机");
        }
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.exception.BusinessException;
import com.vincent.rsf.server.manager.entity.DeliveryItem;
import com.vincent.rsf.server.manager.enums.AsnExceStatus;
import com.vincent.rsf.server.manager.mapper.DeliveryMapper;
import com.vincent.rsf.server.manager.entity.Delivery;
@@ -28,11 +29,11 @@
            throw new BusinessException("数据错误:单据信息不存在!!");
        }
        deliveries.forEach(delivery -> {
            if (delivery.getExceStatus().equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)){
            if (delivery.getExceStatus().equals(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val)){
                if (!this.removeById(delivery.getId())) {
                    throw new CoolException("主单删除失败!!");
                }
                if (!deliveryItemService.removeById(delivery.getId())) {
                if (!deliveryItemService.remove(new LambdaQueryWrapper<DeliveryItem>().eq(DeliveryItem::getDeliveryId,delivery.getId()))) {
                    throw new CoolException("单据明细删除失败!1");
                }
            } else {