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 {