From 95549a8f8a6a64ed7fc822f275e5c8b8d4e5c0ae Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 18 七月 2025 16:30:12 +0800 Subject: [PATCH] 盘点差异单功能优化 --- /dev/null | 33 ----- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java | 29 ++++ rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx | 173 +++++++++++++--------------- rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx | 25 +--- rsf-admin/src/i18n/zh.js | 26 ++++ rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx | 3 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java | 9 - rsf-admin/src/i18n/en.js | 25 ++++ rsf-admin/src/page/ResourceContent.js | 3 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java | 18 +- 10 files changed, 175 insertions(+), 169 deletions(-) diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index 789e68e..beda28d 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -209,6 +209,7 @@ basStation: 'BasStation', basContainer: 'BasContainer', waveRule: 'Wave Rules', + checkDiff: 'Check Diff', }, table: { @@ -643,6 +644,30 @@ ntyStatus: "ntyStatus", platItemId: 'platItemId' }, + + checkDiff: { + orderCode: "Check Code", + checkType: "Check Type", + areaId: "Warehouse Area ID", + areaName: "Warehouse Area Name", + anfme: "Stock Qty", + checkQty: "Check Qty", + exceStatus: "Exce Status", + }, + checkDiffItem: { + checkId: "checkId", + orderCode: "orderCode", + maktx: "maktx", + matnrCode: "matnrCode", + spec: "spec", + model: "model", + barcode: "barcode", + batch: "batch", + anfme: "anfme", + checkQty: "checkQty", + exceStatus: "exceStatus", + reason: "reason", + }, outStockItem: { asnId: "ID", asnCode: "Out Code", diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 851096d..fbafcc3 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -215,6 +215,7 @@ stockTransfer: '搴撲綅杞Щ', waveRule: '娉㈡绛栫暐', checkOrder: '鐩樼偣鍗�', + checkDiff: '鐩樼偣宸紓鍗�', }, table: { field: { @@ -649,6 +650,7 @@ ntyStatus: "涓婃姤鐘舵��", exceStatus: '鎵ц鐘舵��' }, + checkOrderItem: { orderId: "涓诲崟鏍囪瘑", orderCode: "鍗曞彿", @@ -671,6 +673,30 @@ qrcode: "浜岀淮鐮�", barcode: "搴忓垪鐮�", }, + + checkDiff: { + orderCode: "鐩樼偣鍗�", + checkType: "鐩樼偣绫诲瀷", + areaId: "搴撳尯ID", + areaName: "搴撳尯", + anfme: "搴撻潰鏁伴噺", + checkQty: "鐩樼偣鏁伴噺", + exceStatus: "鎵ц鐘舵��", + }, + checkDiffItem: { + checkId: "鐩樼偣鍗旾D", + orderCode: "鐩樼偣鍗曞彿", + maktx: "鐗╂枡鍚嶇О", + matnrCode: "鐗╂枡缂栫爜", + spec: "瑙勬牸", + model: "鍨嬪彿", + barcode: "鎵樼洏鐮�", + batch: "鎵规", + anfme: "搴撳瓨鏁伴噺", + checkQty: "瀹炵洏鏁伴噺", + exceStatus: "鎵ц鐘舵��", + reason: "宸紓鍘熷洜", + }, asnOrderItem: { orderId: "涓诲崟鏍囪瘑", orderCode: "鍗曞彿", diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js index 2303d1b..d729380 100644 --- a/rsf-admin/src/page/ResourceContent.js +++ b/rsf-admin/src/page/ResourceContent.js @@ -54,6 +54,7 @@ import stockTransfer from "./work/stockTransfer"; import waveRule from './waveRule'; import check from './orders/check'; +import checkDiff from './orders/check/checkDiff'; const ResourceContent = (node) => { switch (node.component) { @@ -157,6 +158,8 @@ return waveRule; case 'check': return check; + case 'checkDiff': + return checkDiff; default: return { list: ListGuesser, diff --git a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx index e29859d..885c0c0 100644 --- a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx +++ b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffEdit.jsx @@ -22,109 +22,96 @@ } from 'react-admin'; import { useWatch, useFormContext } from "react-hook-form"; import { Stack, Grid, Box, Typography } from '@mui/material'; -import * as Common from '@/utils/common'; import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; -import EditBaseAside from "../components/EditBaseAside"; -import CustomerTopToolBar from "../components/EditTopToolBar"; -import MemoInput from "../components/MemoInput"; -import StatusSelectInput from "../components/StatusSelectInput"; +import EditBaseAside from "../../../components/EditBaseAside"; +import CustomerTopToolBar from "../../../components/EditTopToolBar"; +import CheckDiffItemList from "../checkDiffItem/CheckDiffItemList"; -const FormToolbar = () => { - const { getValues } = useFormContext(); - - return ( - <Toolbar sx={{ justifyContent: 'space-between' }}> - <SaveButton /> - <DeleteButton mutationMode="optimistic" /> - </Toolbar> - ) -} const CheckDiffEdit = () => { const translate = useTranslate(); return ( - <Edit - redirect="list" - mutationMode={EDIT_MODE} - actions={<CustomerTopToolBar />} - aside={<EditBaseAside />} - > - <SimpleForm - shouldUnregister - warnWhenUnsavedChanges - toolbar={<FormToolbar />} - mode="onTouched" - defaultValues={{}} - // validate={(values) => { }} + <> + <Edit + redirect="list" + sx={{marginBottom: 1}} + mutationMode={EDIT_MODE} + actions={<CustomerTopToolBar />} + aside={<EditBaseAside />} > - <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> - <Grid item xs={12} md={8}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.main')} - </Typography> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.checkDiff.orderCode" - source="orderCode" - parse={v => v} - autoFocus - /> - </Stack> - <Stack direction='row' gap={2}> - <SelectInput - label="table.field.checkDiff.checkType" - source="checkType" - choices={[ - { id: 0, name: '鏄庣洏' }, - { id: 1, name: '鏆楃洏' }, - ]} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.checkDiff.areaId" - source="areaId" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.checkDiff.areaName" - source="areaName" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.checkDiff.anfme" - source="anfme" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.checkDiff.checkQty" - source="checkQty" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.checkDiff.exceStatus" - source="exceStatus" - /> - </Stack> + <SimpleForm + shouldUnregister + warnWhenUnsavedChanges + toolbar={false} + mode="onTouched" + defaultValues={{}} + > + <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3} + 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)" + }, + "& .MuiFilledInput-root.MuiInputBase-sizeSmall": { + bgcolor: 'white', + } + }} + > + <Grid item xs={24} md={12} > + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.main')} + </Typography> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.checkDiff.orderCode" + source="orderCode" + parse={v => v} + autoFocus + /> + <SelectInput + label="table.field.checkDiff.checkType" + source="checkType" + choices={[ + { id: 0, name: '鏄庣洏' }, + { id: 1, name: '鏆楃洏' }, + ]} + /> + <NumberInput + label="table.field.checkDiff.areaId" + source="areaId" + /> + <TextInput + label="table.field.checkDiff.areaName" + source="areaName" + parse={v => v} + /> + </Stack> + <Stack direction='row' gap={2}> + <NumberInput + label="table.field.checkDiff.anfme" + source="anfme" + /> + <NumberInput + label="table.field.checkDiff.checkQty" + source="checkQty" + /> + <NumberInput + label="table.field.checkDiff.exceStatus" + source="exceStatus" + /> + </Stack> + </Grid> </Grid> - <Grid item xs={12} md={4}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.common')} - </Typography> - <StatusSelectInput /> - <Box mt="2em" /> - <MemoInput /> - </Grid> - </Grid> - </SimpleForm> - </Edit > + </SimpleForm> + </Edit > + <CheckDiffItemList /> + </> ) } diff --git a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx index 81df873..a289f53 100644 --- a/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx +++ b/rsf-admin/src/page/orders/check/checkDiff/CheckDiffList.jsx @@ -62,7 +62,6 @@ <SearchInput source="condition" alwaysOn />, <DateInput label='common.time.after' source="timeStart" alwaysOn />, <DateInput label='common.time.before' source="timeEnd" alwaysOn />, - <TextInput source="orderCode" label="table.field.checkDiff.orderCode" />, <SelectInput source="checkType" label="table.field.checkDiff.checkType" choices={[ @@ -75,7 +74,6 @@ <NumberInput source="anfme" label="table.field.checkDiff.anfme" />, <NumberInput source="checkQty" label="table.field.checkDiff.checkQty" />, <NumberInput source="exceStatus" label="table.field.checkDiff.exceStatus" />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -135,7 +133,6 @@ <NumberField source="anfme" label="table.field.checkDiff.anfme" /> <NumberField source="checkQty" label="table.field.checkDiff.checkQty" /> <NumberField source="exceStatus" label="table.field.checkDiff.exceStatus" /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> </ReferenceField> diff --git a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx index cbcd722..0a4b9dc 100644 --- a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx +++ b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx @@ -31,6 +31,7 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + useGetRecordId, } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; @@ -62,7 +63,6 @@ <SearchInput source="condition" alwaysOn />, <DateInput label='common.time.after' source="timeStart" alwaysOn />, <DateInput label='common.time.before' source="timeEnd" alwaysOn />, - <NumberInput source="checkId" label="table.field.checkDiffItem.checkId" />, <TextInput source="orderCode" label="table.field.checkDiffItem.orderCode" />, <TextInput source="maktx" label="table.field.checkDiffItem.maktx" />, @@ -75,7 +75,6 @@ <NumberInput source="checkQty" label="table.field.checkDiffItem.checkQty" />, <NumberInput source="exceStatus" label="table.field.checkDiffItem.exceStatus" />, <TextInput source="reason" label="table.field.checkDiffItem.reason" />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -90,7 +89,7 @@ const CheckDiffItemList = () => { const translate = useTranslate(); - + const orderId = useGetRecordId(); const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); @@ -105,14 +104,15 @@ }), marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} + resource="checkDiffItem" title={"menu.checkDiffItem"} - empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} + empty={false} filters={filters} + filter={{checkId: orderId}} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> - <MyCreateButton onClick={() => { setCreateDialog(true) }} /> <SelectColumnsButton preferenceKey='checkDiffItem' /> <MyExportButton /> </TopToolbar> @@ -121,9 +121,9 @@ > <StyledDatagrid preferenceKey='checkDiffItem' - bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} + bulkActionButtons={false} rowClick={(id, resource, record) => false} - expand={() => <CheckDiffItemPanel />} + expand={false} expandSingle={true} omit={['id', 'createTime', 'createBy', 'memo']} > @@ -140,7 +140,6 @@ <NumberField source="checkQty" label="table.field.checkDiffItem.checkQty" /> <NumberField source="exceStatus" label="table.field.checkDiffItem.exceStatus" /> <TextField source="reason" label="table.field.checkDiffItem.reason" /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> </ReferenceField> @@ -157,16 +156,6 @@ </WrapperField> </StyledDatagrid> </List> - <CheckDiffItemCreate - open={createDialog} - setOpen={setCreateDialog} - /> - <PageDrawer - title='CheckDiffItem Detail' - drawerVal={drawerVal} - setDrawerVal={setDrawerVal} - > - </PageDrawer> </Box> ) } diff --git a/rsf-server/src/main/java/checkDiff.sql b/rsf-server/src/main/java/checkDiff.sql deleted file mode 100644 index a5acc0c..0000000 --- a/rsf-server/src/main/java/checkDiff.sql +++ /dev/null @@ -1,28 +0,0 @@ --- save checkDiff record --- mysql -insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.checkDiff', '0', '/manager/checkDiff', 'checkDiff', '0' , '0', '1' , '1'); - -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:list', '0', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:save', '1', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:update', '2', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 鐩樼偣宸紓琛�', '', '1', 'manager:checkDiff:remove', '3', '1', '1'); - --- locale menu name -checkDiff: 'CheckDiff', - --- locale field -checkDiff: { - orderCode: "orderCode", - checkType: "checkType", - areaId: "areaId", - areaName: "areaName", - anfme: "anfme", - checkQty: "checkQty", - exceStatus: "exceStatus", -}, - --- ResourceContent -import checkDiff from './checkDiff'; - -case 'checkDiff': - return checkDiff; diff --git a/rsf-server/src/main/java/checkDiffItem.sql b/rsf-server/src/main/java/checkDiffItem.sql deleted file mode 100644 index a0921ac..0000000 --- a/rsf-server/src/main/java/checkDiffItem.sql +++ /dev/null @@ -1,33 +0,0 @@ --- save checkDiffItem record --- mysql -insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.checkDiffItem', '0', '/manager/checkDiffItem', 'checkDiffItem', '0' , '0', '1' , '1'); - -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:list', '0', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:save', '1', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:update', '2', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 鐩樼偣鏄庣粏宸紓琛�', '', '1', 'manager:checkDiffItem:remove', '3', '1', '1'); - --- locale menu name -checkDiffItem: 'CheckDiffItem', - --- locale field -checkDiffItem: { - checkId: "checkId", - orderCode: "orderCode", - maktx: "maktx", - matnrCode: "matnrCode", - spec: "spec", - model: "model", - barcode: "barcode", - batch: "batch", - anfme: "anfme", - checkQty: "checkQty", - exceStatus: "exceStatus", - reason: "reason", -}, - --- ResourceContent -import checkDiffItem from './checkDiffItem'; - -case 'checkDiffItem': - return checkDiffItem; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java index 1ccf55c..120283a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java @@ -25,7 +25,7 @@ @Autowired private CheckDiffItemService checkDiffItemService; - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @PostMapping("/checkDiffItem/page") public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); @@ -33,25 +33,25 @@ return R.ok().add(checkDiffItemService.page(pageParam, pageParam.buildWrapper(true))); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @PostMapping("/checkDiffItem/list") public R list(@RequestBody Map<String, Object> map) { return R.ok().add(checkDiffItemService.list()); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @PostMapping({"/checkDiffItem/many/{ids}", "/checkDiffItems/many/{ids}"}) public R many(@PathVariable Long[] ids) { return R.ok().add(checkDiffItemService.listByIds(Arrays.asList(ids))); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @GetMapping("/checkDiffItem/{id}") public R get(@PathVariable("id") Long id) { return R.ok().add(checkDiffItemService.getById(id)); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:save')") + @PreAuthorize("hasAuthority('manager:checkDiff:save')") @OperationLog("Create 鐩樼偣鏄庣粏宸紓琛�") @PostMapping("/checkDiffItem/save") public R save(@RequestBody CheckDiffItem checkDiffItem) { @@ -65,7 +65,7 @@ return R.ok("Save Success").add(checkDiffItem); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:update')") + @PreAuthorize("hasAuthority('manager:checkDiff:update')") @OperationLog("Update 鐩樼偣鏄庣粏宸紓琛�") @PostMapping("/checkDiffItem/update") public R update(@RequestBody CheckDiffItem checkDiffItem) { @@ -77,7 +77,7 @@ return R.ok("Update Success").add(checkDiffItem); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:remove')") + @PreAuthorize("hasAuthority('manager:checkDiff:remove')") @OperationLog("Delete 鐩樼偣鏄庣粏宸紓琛�") @PostMapping("/checkDiffItem/remove/{ids}") public R remove(@PathVariable Long[] ids) { @@ -87,7 +87,7 @@ return R.ok("Delete Success").add(ids); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @PostMapping("/checkDiffItem/query") public R query(@RequestParam(required = false) String condition) { List<KeyValVo> vos = new ArrayList<>(); @@ -101,7 +101,7 @@ return R.ok().add(vos); } - @PreAuthorize("hasAuthority('manager:checkDiffItem:list')") + @PreAuthorize("hasAuthority('manager:checkDiff:list')") @PostMapping("/checkDiffItem/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { ExcelUtil.build(ExcelUtil.create(checkDiffItemService.list(), CheckDiffItem.class), response); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java index 03496a2..4c9fe2f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java @@ -104,12 +104,6 @@ private Double checkQty; /** - * 鎵ц鐘舵�� - */ - @ApiModelProperty(value= "鎵ц鐘舵��") - private Integer exceStatus; - - /** * 宸紓鍘熷洜 */ @ApiModelProperty(value= "宸紓鍘熷洜") @@ -168,7 +162,7 @@ public CheckDiffItem() {} - public CheckDiffItem(Long checkId,String orderCode,String maktx,String matnrCode,String spec,String model,String barcode,String batch,Double anfme,Double checkQty,Integer exceStatus,String reason,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + public CheckDiffItem(Long checkId,String orderCode,String maktx,String matnrCode,String spec,String model,String barcode,String batch,Double anfme,Double checkQty,String reason,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { this.checkId = checkId; this.orderCode = orderCode; this.maktx = maktx; @@ -179,7 +173,6 @@ this.batch = batch; this.anfme = anfme; this.checkQty = checkQty; - this.exceStatus = exceStatus; this.reason = reason; this.status = status; this.deleted = deleted; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java index e470f48..4c80343 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/CheckOrderSchedules.java @@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.manager.entity.*; -import com.vincent.rsf.server.manager.enums.CheckDiffExceStatus; -import com.vincent.rsf.server.manager.enums.CheckExceStatus; -import com.vincent.rsf.server.manager.enums.TaskStsType; -import com.vincent.rsf.server.manager.enums.TaskType; +import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.manager.service.*; +import com.vincent.rsf.server.manager.service.impl.LocServiceImpl; import com.vincent.rsf.server.system.utils.SystemAuthUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -40,6 +38,8 @@ private CheckOrderService checkOrderService; @Autowired private CheckOrderItemService checkOrderItemService; + @Autowired + private LocServiceImpl locService; /** * @author Ryan @@ -51,7 +51,7 @@ @Transactional(rollbackFor = Exception.class) public void genReCheck() { List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>() - .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id = cdi.task_item_id")); + .notExists("SELECT 1 FROM man_check_diff_item cdi WHERE id != cdi.task_item_id")); if (taskItems.isEmpty()) { return; } @@ -83,6 +83,10 @@ List<CheckDiffItem> diffItems = new ArrayList<>(); CheckDiff finalCheckDiff = checkDiff; items.forEach(item -> { + Task task = taskService.getById(item.getTaskId()); + if (Objects.isNull(task)) { + throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒"); + } CheckDiffItem checkDiffItem = new CheckDiffItem(); BeanUtils.copyProperties(item, checkDiffItem); checkDiffItem.setCheckId(finalCheckDiff.getId()) @@ -90,10 +94,25 @@ .setTaskId(item.getTaskId()) .setCreateBy(loginUserId) .setCreateTime(new Date()) + .setBarcode(task.getBarcode()) .setUpdateBy(loginUserId) .setUpdateTime(new Date()) .setOrderCode(finalCheckDiff.getOrderCode()); diffItems.add(checkDiffItem); + + if (Objects.isNull(finalCheckDiff.getAreaId())) { + Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>() + .eq(Loc::getCode, task.getOrgLoc()) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_R.type)); + if (Objects.isNull(loc)) { + throw new CoolException("鐩樼偣搴撲綅涓嶅瓨鍦紒锛�"); + } + finalCheckDiff.setAreaId(loc.getAreaId()).setAreaName(loc.getAreaId$()); + + if (!checkDiffService.updateById(finalCheckDiff)) { + throw new CoolException("搴撳尯淇℃伅淇敼澶辫触锛侊紒"); + } + } }); if (!checkDiffItemService.saveBatch(diffItems)) { -- Gitblit v1.9.1