| | |
| | | preferenceKey='outStockItem' |
| | | bulkActionButtons={false} |
| | | rowClick={false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="asnId" label="table.field.outStockItem.asnId" /> |
| | | <TextField source="asnCode" label="table.field.outStockItem.asnCode" /> |
| | | <TextField source="poCode" label="table.field.outStockItem.poCode" /> |
| | | <TextField source="poDetlId" label="table.field.outStockItem.poDetlId" /> |
| | | <TextField source="matnrId" label="table.field.outStockItem.matnrId" /> |
| | | <TextField source="matnrCode" label="table.field.outStockItem.matnrCode" /> |
| | | <TextField source="maktx" label="table.field.outStockItem.maktx" /> |
| | |
| | | <NumberField source="qty" label="table.field.outStockItem.qty" /> |
| | | <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> |
| | | <TextField source="splrBatch" label="table.field.outStockItem.splrBatch" /> |
| | | <TextField source="purUnit" label="table.field.outStockItem.purUnit" /> |
| | | <TextField source="splrCode" label="table.field.outStockItem.splrCode" /> |
| | | <TextField source="splrName" label="table.field.outStockItem.splrName" /> |
| | | <TextField source="qrcode" label="table.field.outStockItem.qrcode" /> |
| | | <TextField source="trackCode" label="table.field.outStockItem.barcode" /> |
| | | <TextField source="packName" label="table.field.outStockItem.packName" /> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime /> |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> |
| | |
| | | import EditIcon from '@mui/icons-material/Edit'; |
| | | import AddIcon from '@mui/icons-material/Add'; |
| | | import request from '@/utils/request'; |
| | | import PageEditDrawer from "../../components/PageEditDrawer"; |
| | | import CheckOrderPub from "./CheckOrderPub"; |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | <MyButton setCreateDialog={setManualDialog} setmodalType={setmodalType} /> |
| | | <EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton> |
| | | <CancelButton /> |
| | | <PublicButton setDrawerVal={setDrawerVal} drawerVal={drawerVal} setSelect={setSelect} /> |
| | | </WrapperField> |
| | | </StyledDatagrid> |
| | | </List> |
| | | {/* <CheckOrderCreate |
| | | open={manualDialog} |
| | | setOpen={setManualDialog} |
| | | /> */} |
| | | <SelectMatnrModal |
| | | asnId={modalType} |
| | | billReload={billReload} |
| | |
| | | setOpen={setManualDialog} |
| | | /> |
| | | {/* <OutStockWaveDialog open={waveRule} setOpen={setWaveRule} onClose={closeDialog} /> |
| | | <OutOrderPreview open={preview} setOpen={setPreview} /> |
| | | <OutOrderPreview open={preview} setOpen={setPreview} />*/} |
| | | <PageEditDrawer |
| | | title={"toolbar.publicWorking"} |
| | | drawerVal={drawerVal} |
| | | setDrawerVal={setDrawerVal} |
| | | > |
| | | <OutStockPublic record={select} open={drawerVal} setOpen={setDrawerVal} /> |
| | | </PageEditDrawer> */} |
| | | <CheckOrderPub record={select} open={drawerVal} setOpen={setDrawerVal} /> |
| | | </PageEditDrawer> |
| | | </Box > |
| | | ) |
| | | } |
| | |
| | | record?.exceStatus == 10 ? <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelOutlinedIcon />} onConfirm={cancelOrder} size={"small"} /> : <></> |
| | | ) |
| | | } |
| | | |
| | | |
| | | //下发执行 |
| | | const PublicButton = ({ setDrawerVal, setSelect }) => { |
| | | const record = useRecordContext(); |
| | | const refresh = useRefresh(); |
| | | const taskEvent = () => { |
| | | setDrawerVal(true) |
| | | setSelect(record) |
| | | refresh(); |
| | | } |
| | | |
| | | return ( |
| | | record.workQty < record.anfme ? <Button label={"toolbar.publicWorking"} startIcon={<AddTaskIcon />} onClick={taskEvent} size={"small"} /> : <></> |
| | | ) |
| | | } |
File was renamed from rsf-admin/src/page/orders/check/OutStockPublic.jsx |
| | |
| | | |
| | | })); |
| | | |
| | | const OutStockPublic = (props) => { |
| | | const CheckOrderPub = (props) => { |
| | | const { record, open, setOpen, setManualDialog } = props; |
| | | const notify = useNotify(); |
| | | const gridRef = useGridApiRef(); |
| | |
| | | ) |
| | | } |
| | | |
| | | export default OutStockPublic; |
| | | export default CheckOrderPub; |
| | | |
| | | |
New file |
| | |
| | | import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem } from "@mui/material"; |
| | | import React, { useState, useRef, useEffect, useMemo } from "react"; |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; |
| | | import { Delete, Edit, Add } from '@mui/icons-material'; |
| | | import request from '@/utils/request'; |
| | | import { useTranslate } from "react-admin"; |
| | | |
| | | const CheckOrderSiteDialog = (props) => { |
| | | const translate = useTranslate(); |
| | | const { onClose, selectedValue, open } = props; |
| | | const [siteNos, setSiteNos] = useState([]); |
| | | |
| | | const handleClose = () => { |
| | | onClose(selectedValue); |
| | | } |
| | | |
| | | const handleListItemClick = (value) => { |
| | | onClose(value); |
| | | } |
| | | |
| | | useEffect(() => { |
| | | getSiteNos() |
| | | }, [open]) |
| | | |
| | | |
| | | const getSiteNos = async () => { |
| | | const { data: { code, data, msg } } = await request.get('/outStock/tasks/sites'); |
| | | if (code === 200) { |
| | | setSiteNos(data); |
| | | } else { |
| | | notify(msg); |
| | | } |
| | | } |
| | | |
| | | return ( |
| | | <Dialog |
| | | onClose={handleClose} |
| | | open={open} |
| | | > |
| | | <DialogTitle>{translate("toolbar.modiftySite")}</DialogTitle> |
| | | <List sx={{ pt: 0 }}> |
| | | {siteNos.map((site) => ( |
| | | <ListItem disableGutters key={site?.id}> |
| | | <ListItemButton onClick={() => handleListItemClick(site)}> |
| | | <ListItemText primary={site.site} /> |
| | | </ListItemButton> |
| | | </ListItem> |
| | | ))} |
| | | </List> |
| | | </Dialog> |
| | | ); |
| | | } |
| | | |
| | | export default CheckOrderSiteDialog; |
| | |
| | | |
| | | public enum CheckExceStatus { |
| | | |
| | | CHECK_ORDER_STATUS_UN_EXCE("1", "未执行"), |
| | | CHECK_ORDER_STATUS_INIT("2", "初始化"), |
| | | CHECK_ORDER_STATUS_EXCE_ING("3", "执行中"), |
| | | CHECK_ORDER_STATUS_EXCE_DONE("4", "执行完成"), |
| | | CHECK_ORDER_STATUS_UN_EXCE("0", "未执行"), |
| | | CHECK_ORDER_STATUS_INIT("1", "初始化"), |
| | | CHECK_ORDER_STATUS_EXCE_ING("2", "执行中"), |
| | | CHECK_ORDER_STATUS_EXCE_DONE("3", "执行完成"), |
| | | |
| | | ; |
| | | |
| | |
| | | import com.vincent.rsf.server.common.utils.DateUtils; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.AsnExceStatus; |
| | | import com.vincent.rsf.server.manager.enums.OrderType; |
| | | import com.vincent.rsf.server.manager.enums.POExceStatus; |
| | | import com.vincent.rsf.server.manager.enums.WarehouseAreasType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | |
| | | if (!Boolean.parseBoolean(config.getVal())) { |
| | | return; |
| | | } |
| | | List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val)); |
| | | //自动收货单 |
| | | List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getType, OrderType.ORDER_IN.type) |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val)); |
| | | if (!orders.isEmpty()) { |
| | | for (WkOrder order : orders) { |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId())); |
| | |
| | | .setWeight(matnr.getWeight()) |
| | | .setFieldsIndex(orderItem.getFieldsIndex()) |
| | | .setShipperId(matnr.getShipperId()); |
| | | |
| | | |
| | | LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>() |
| | | .eq(WarehouseAreasItem::getMatnrCode, orderItem.getMatnrCode()) |
| | | .eq(!Cools.isEmpty(orderItem.getFieldsIndex()), WarehouseAreasItem::getFieldsIndex, orderItem.getFieldsIndex()) |
| | |
| | | .setMemo(template.getMemo()) |
| | | .setUpdateBy(loginUserId) |
| | | .setCreateBy(loginUserId) |
| | | .setType(CheckOrderType.getTypeVal(template.getType())) |
| | | .setWkType(CheckOrderType.getValType(template.getWkType())); |
| | | .setType(OrderType.getTypeVal(template.getType())) |
| | | .setWkType(CheckOrderType.getTypeVal(template.getWkType())); |
| | | if (!this.save(order)) { |
| | | throw new CoolException("单据保存失败!!"); |
| | | } |