rsf-admin/src/i18n/en.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/i18n/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-admin/src/i18n/en.js
@@ -171,6 +171,7 @@ permissions: 'Permissions', delivery: 'Delivery', outStock: 'Out Stock', outStockItem: 'Out Stock Item' }, table: { field: { rsf-admin/src/i18n/zh.js
@@ -172,7 +172,7 @@ permissions: '权限管理', delivery: 'DO单', outStock: '出库单', outStockItem: '出库单明细' }, table: { field: { rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx
@@ -17,7 +17,7 @@ import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; import EditBaseAside from "../../components/EditBaseAside"; import CustomerTopToolBar from "../../components/EditTopToolBar"; import AsnOrderItemList from "./AsnOrderItemList"; import OutOrderItemList from "./OutOrderItemList"; const FormToolbar = () => { const { getValues } = useFormContext(); @@ -142,7 +142,7 @@ </Grid> </SimpleForm> </Edit > <AsnOrderItemList /> <OutOrderItemList /> </> ) } rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -50,7 +50,6 @@ const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { height: '.9em', }, '& .RaDatagrid-row': { cursor: 'auto' @@ -64,22 +63,22 @@ const filters = [ <SearchInput source="condition" alwaysOn />, <NumberInput source="asnId" label="table.field.asnOrderItem.asnId" />, <TextInput source="asnCode" label="table.field.asnOrderItem.asnCode" />, <TextInput source="poDetlId" label="table.field.asnOrderItem.poDetlId" />, <TextInput source="poDetlCode" label="table.field.asnOrderItem.poDetlCode" />, <TextInput source="matnrId" label="table.field.asnOrderItem.matnrId" />, <TextInput source="maktx" label="table.field.asnOrderItem.maktx" />, <NumberInput source="anfme" label="table.field.asnOrderItem.anfme" />, <TextInput source="stockUnit" label="table.field.asnOrderItem.stockUnit" />, <NumberInput source="purQty" label="table.field.asnOrderItem.purQty" />, <TextInput source="purUnit" label="table.field.asnOrderItem.purUnit" />, <NumberInput source="qty" label="table.field.asnOrderItem.qty" />, <TextInput source="splrCode" label="table.field.asnOrderItem.splrCode" />, <TextInput source="splrName" label="table.field.asnOrderItem.splrName" />, <TextInput source="qrcode" label="table.field.asnOrderItem.qrcode" />, <TextInput source="trackCode" label="table.field.asnOrderItem.barcode" />, <TextInput source="packName" label="table.field.asnOrderItem.packName" />, <NumberInput source="asnId" label="table.field.outStockItem.asnId" />, <TextInput source="asnCode" label="table.field.outStockItem.asnCode" />, <TextInput source="poDetlId" label="table.field.outStockItem.poDetlId" />, <TextInput source="poDetlCode" label="table.field.outStockItem.poDetlCode" />, <TextInput source="matnrId" label="table.field.outStockItem.matnrId" />, <TextInput source="maktx" label="table.field.outStockItem.maktx" />, <NumberInput source="anfme" label="table.field.outStockItem.anfme" />, <TextInput source="stockUnit" label="table.field.outStockItem.stockUnit" />, <NumberInput source="purQty" label="table.field.outStockItem.purQty" />, <TextInput source="purUnit" label="table.field.outStockItem.purUnit" />, <NumberInput source="qty" label="table.field.outStockItem.qty" />, <TextInput source="splrCode" label="table.field.outStockItem.splrCode" />, <TextInput source="splrName" label="table.field.outStockItem.splrName" />, <TextInput source="qrcode" label="table.field.outStockItem.qrcode" />, <TextInput source="trackCode" label="table.field.outStockItem.barcode" />, <TextInput source="packName" label="table.field.outStockItem.packName" />, <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -99,13 +98,13 @@ const [drawerVal, setDrawerVal] = useState(false); const [select, setSelect] = useState({}); const asnId = useGetRecordId(); const { data: dicts, isPending, error } = useGetOne('asnOrder', { id: asnId }); const { data: dicts, isPending, error } = useGetOne('outStock', { id: asnId }); return ( <> <Box display="flex"> <List resource="asnOrderItem" resource="outStockItem" sx={{ flexGrow: 1, transition: (theme) => @@ -114,7 +113,7 @@ }), marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.asnOrderItem"} title={"menu.outStockItem"} empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} filter={{ asnId: asnId, deleted: 0 }} filters={filters} @@ -123,14 +122,14 @@ <TopToolbar> <FilterButton /> <MyCreateButton onClick={() => { setCreateDialog(true) }} /> <SelectColumnsButton preferenceKey='asnOrderItem' /> <SelectColumnsButton preferenceKey='outStockItem' /> {/* <MyExportButton /> */} </TopToolbar> )} perPage={DEFAULT_ITEM_PAGE_SIZE} > <StyledDatagrid preferenceKey='asnOrderItem' preferenceKey='outStockItem' bulkActionButtons={false} rowClick={(id, resource, record) => { setSelect(record) @@ -139,23 +138,23 @@ omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'matnrId', 'asnId']} > <NumberField source="id" /> <NumberField source="asnId" label="table.field.asnOrderItem.asnId" /> <TextField source="asnCode" label="table.field.asnOrderItem.asnCode" /> <TextField source="poDetlId" label="table.field.asnOrderItem.poDetlId" /> <TextField source="poDetlCode" label="table.field.asnOrderItem.poDetlCode" /> <TextField source="matnrId" label="table.field.asnOrderItem.matnrId" /> <TextField source="matnrCode" label="table.field.asnOrderItem.matnrCode" /> <TextField source="maktx" label="table.field.asnOrderItem.maktx" /> <NumberField source="anfme" label="table.field.asnOrderItem.anfme" /> <TextField source="stockUnit" label="table.field.asnOrderItem.stockUnit" /> <NumberField source="purQty" label="table.field.asnOrderItem.purQty" /> <TextField source="purUnit" label="table.field.asnOrderItem.purUnit" /> <NumberField source="qty" label="table.field.asnOrderItem.qty" /> <TextField source="splrCode" label="table.field.asnOrderItem.splrCode" /> <TextField source="splrName" label="table.field.asnOrderItem.splrName" /> <TextField source="qrcode" label="table.field.asnOrderItem.qrcode" /> <TextField source="trackCode" label="table.field.asnOrderItem.barcode" /> <TextField source="packName" label="table.field.asnOrderItem.packName" /> <NumberField source="asnId" label="table.field.outStockItem.asnId" /> <TextField source="asnCode" label="table.field.outStockItem.asnCode" /> <TextField source="poDetlId" label="table.field.outStockItem.poDetlId" /> <TextField source="poDetlCode" label="table.field.outStockItem.poDetlCode" /> <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="anfme" label="table.field.outStockItem.anfme" /> <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> <NumberField source="purQty" label="table.field.outStockItem.purQty" /> <TextField source="purUnit" label="table.field.outStockItem.purUnit" /> <NumberField source="qty" label="table.field.outStockItem.qty" /> <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" /> <TextField source="updateBy$" label="common.field.updateBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime /> <TextField source="createBy$" label="common.field.createBy" /> @@ -175,7 +174,7 @@ record={select} /> <PageDrawer title='AsnOrderItem Detail' title='OutStockItem Detail' drawerVal={drawerVal} setDrawerVal={setDrawerVal} > rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
File was renamed from rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutOrderItemController.java @@ -33,7 +33,7 @@ @Api(tags = "出库单明细") @RestController public class OutOrderItemController extends BaseController { public class OutStockItemController extends BaseController { @Autowired private AsnOrderItemService asnOrderItemService; @@ -41,36 +41,36 @@ @Autowired private CompanysService companysService; @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @PreAuthorize("hasAuthority('manager:outStockItem:list')") @ApiOperation("分页获取列表") @PostMapping("/outOrderItem/page") @PostMapping("/outStockItem/page") public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); PageParam<AsnOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItem.class); return R.ok().add(asnOrderItemService.listByAsnId(pageParam, pageParam.buildWrapper(true))); } @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @PostMapping("/outOrderItem/list") @PreAuthorize("hasAuthority('manager:outStockItem:list')") @PostMapping("/outStockItem/list") public R list(@RequestBody Map<String, Object> map) { return R.ok().add(asnOrderItemService.list()); } @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @PostMapping({"/outOrderItem/many/{ids}", "/outOrderItems/many/{ids}"}) @PreAuthorize("hasAuthority('manager:outStockItem:list')") @PostMapping({"/outStockItem/many/{ids}", "/outStockItems/many/{ids}"}) public R many(@PathVariable Long[] ids) { return R.ok().add(asnOrderItemService.listByIds(Arrays.asList(ids))); } @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @GetMapping("/outOrderItem/{id}") @PreAuthorize("hasAuthority('manager:outStockItem:list')") @GetMapping("/outStockItem/{id}") public R get(@PathVariable("id") Long id) { return R.ok().add(asnOrderItemService.getById(id)); } @PreAuthorize("hasAuthority('manager:outOrderItem:save')") @PreAuthorize("hasAuthority('manager:outStockItem:save')") @OperationLog("Create 出库单明细") @PostMapping("/outOrderItem/save") @PostMapping("/outStockItem/save") public R save(@RequestBody Map<String, Object> params) { if (Objects.isNull(params)) { throw new CoolException("信息不能为空!!"); @@ -85,9 +85,9 @@ } @PreAuthorize("hasAuthority('manager:outOrderItem:update')") @PreAuthorize("hasAuthority('manager:outStockItem:update')") @OperationLog("Update 出库单明细") @PostMapping("/outOrderItem/update") @PostMapping("/outStockItem/update") public R update(@RequestBody AsnOrderItem asnOrderItem) { asnOrderItem.setUpdateBy(getLoginUserId()); asnOrderItem.setUpdateTime(new Date()); @@ -105,9 +105,9 @@ return R.ok("Update Success").add(asnOrderItem); } @PreAuthorize("hasAuthority('manager:outOrderItem:remove')") @PreAuthorize("hasAuthority('manager:outStockItem:remove')") @OperationLog("Delete 出库单明细") @PostMapping("/outOrderItem/remove/{ids}") @PostMapping("/outStockItem/remove/{ids}") public R remove(@PathVariable Long[] ids) { if (!asnOrderItemService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); @@ -115,8 +115,8 @@ return R.ok("Delete Success").add(ids); } @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @PostMapping("/outOrderItem/query") @PreAuthorize("hasAuthority('manager:outStockItem:list')") @PostMapping("/outStockItem/query") public R query(@RequestParam(required = false) String condition) { List<KeyValVo> vos = new ArrayList<>(); LambdaQueryWrapper<AsnOrderItem> wrapper = new LambdaQueryWrapper<>(); @@ -129,8 +129,8 @@ return R.ok().add(vos); } @PreAuthorize("hasAuthority('manager:outOrderItem:list')") @PostMapping("/outOrderItem/export") @PreAuthorize("hasAuthority('manager:outStockItem:list')") @PostMapping("/outStockItem/export") @ApiOperation("导出出库单明细") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { List<AsnOrderItem> orderItems = new ArrayList<>(); @@ -155,9 +155,9 @@ * @param file * @return */ @PostMapping("/outOrderItem/import") @PostMapping("/outStockItem/import") @ApiOperation("ASN导入接口") @PreAuthorize("hasAuthority('manager:outOrderItem:update')") @PreAuthorize("hasAuthority('manager:outStockItem:update')") public R importExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String asnId) throws Exception { if (Objects.isNull(file)) { R.error("文件不能为空!!"); @@ -173,9 +173,9 @@ * @return * @time 2025/4/18 08:17 */ @PostMapping("/outOrderItem/template/download") @PostMapping("/outStockItem/template/download") @ApiOperation("下载收货单模板") @PreAuthorize("hasAuthority('manager:outOrderItem:update')") @PreAuthorize("hasAuthority('manager:outStockItem:update')") public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class); List<AsnOrderTemplate> list = Arrays.asList(template);