rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -158,7 +158,7 @@ </ReferenceField>, <DateField source="createTime" label="common.field.createTime" showTime /> <TextField source="memo" label="common.field.memo" sortable={false} /> </StyledDatagrid>Ï </StyledDatagrid> </List> <OutOrderItemCreate open={createDialog} rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -115,6 +115,7 @@ const OutOrderList = (props) => { const translate = useTranslate(); const refresh = useRefresh(); const notify = useNotify(); const [createDialog, setCreateDialog] = useState(false); const [manualDialog, setManualDialog] = useState(false); rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -135,7 +135,6 @@ if (res?.data?.code === 200) { setOpen(false); refresh(); billReload?.current() resetData() } else { notify(res.data.msg); @@ -149,7 +148,6 @@ if (res?.data?.code === 200) { setOpen(false); refresh(); billReload?.current() resetData() } else { notify(res.data.msg); rsf-admin/src/page/orders/wave/WaveItemList.jsx
@@ -33,6 +33,7 @@ DeleteButton, useGetRecordId, Button, useRefresh, } from 'react-admin'; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline'; @@ -191,6 +192,7 @@ const { data, selectedIds, onUnselectItems } = useListContext(); const waveId = useGetRecordId(); const notify = useNotify(); const refresh = useRefresh() const startClick = async () => { onUnselectItems(); const { data: { code, data, msg } } = await request.post('/wave/selects/task', { wave: waveId, waveItem: selectedIds }); @@ -200,6 +202,7 @@ } else { notify(msg); } refresh() } return ( <Button label="toolbar.publicWorking" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />} variant="outlined" /> @@ -213,6 +216,6 @@ onUnselectItems(); } return ( record?.exceStatus == 2 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></> record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></> ) } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -81,13 +81,12 @@ listMap.keySet().forEach(key -> { Task task = new Task(); Loc loc = locService.getById(key); logger.info("库位:>{}<UNK>", loc.getCode()); logger.info("库位:>{}", loc.getCode()); if (Objects.isNull(loc)) { throw new CoolException("数据错误:所选库存信息不存在!!"); } if (!loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) { throw new CoolException("库位:" + loc.getCode() + ",不处于F.在库状态,不可执行R.出库预约操作!!"); throw new CoolException("库位:" + loc.getCode() + ",不处于F.在库状态,不可执行R.出库预约操作!!"); } loc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); @@ -202,15 +201,15 @@ .setUpdateTime(new Date()) .setOrderType(OrderType.ORDER_OUT.type) .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)); if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) { if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) { taskItem.setWkType(Short.parseShort(order.getWkType())) .setSourceCode(order.getCode()) .setSourceId(order.getId()); } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) { taskItem.setSource(item.getId()) .setSourceId(item.getLocId()) .setSourceCode(item.getLocCode()); } } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) { taskItem.setSource(item.getId()) .setSourceId(item.getLocId()) .setSourceCode(item.getLocCode()); } taskItems.add(taskItem); Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 10000) / 10000.0; @@ -274,7 +273,7 @@ if (Objects.isNull(map.getTarLoc()) || StringUtils.isBlank(map.getTarLoc())) { //目标库位为空,自动获取新库位 DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getType, TaskType.TASK_TYPE_LOC_MOVE.type) .eq(DeviceSite::getType, TaskType.TASK_TYPE_LOC_MOVE.type) .eq(DeviceSite::getChannel, orgLoc.getChannel()), false); if (Objects.isNull(deviceSite)) { throw new CoolException("站点信息不存在!!"); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -790,7 +790,7 @@ List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); if (!taskItems.isEmpty()) { for (TaskItem item : taskItems) { if (item.getOrderType().equals(OrderType.ORDER_OUT.type)) { if (!Objects.isNull(item.getOrderType()) && item.getOrderType().equals(OrderType.ORDER_OUT.type)) { Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc())); if (Objects.isNull(loc)) { throw new CoolException("数据错误:库位信息不存在!!"); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -116,6 +116,13 @@ if (items.isEmpty()) { throw new CoolException("波次明细不存在!!"); } if (!waveItemService.update(new LambdaUpdateWrapper<WaveItem>() .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val) .in(WaveItem::getId, waveItems))) { throw new CoolException("下发执行异常,请稍候重试!"); } /**生成出库任务*/ try { generateOutTask(items, loginUserId, waves); @@ -123,7 +130,7 @@ log.error("UNK", e); throw new CoolException(e.getMessage()); } return null; return R.ok(); } /**