From 1ec35b0c78dcbab5f32077ca190c70085e90615b Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 14 四月 2025 11:38:21 +0800 Subject: [PATCH] #修改 1. 质检问题修复 2. 收货单据问题修复 --- rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx | 42 +++++++------ rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 19 +++--- rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java | 2 rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx | 8 +- rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java | 26 ++++++++ rsf-admin/src/page/qlyInspect/QlyInspectList.jsx | 22 +++---- rsf-admin/src/i18n/zh.js | 6 +- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 6 + rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java | 2 12 files changed, 86 insertions(+), 55 deletions(-) diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 9bdf742..8dcfd40 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -529,9 +529,9 @@ matnrId: "鐗╂枡鏍囪瘑", maktx: "鐗╂枡鍚嶇О", matnrCode: "鐗╂枡缂栫爜", - anfme: "鏁伴噺", + anfme: "璁″垝鏀惰揣鏁伴噺", stockUnit: "搴撳瓨鍗曚綅", - purQty: "璁″垝鏀惰揣鏁伴噺", + purQty: "閲囪喘鏁伴噺", purUnit: "閲囪喘鍗曚綅", qty: "宸插畬鎴愭暟閲�", splrBatch: "渚涘簲鍟嗘壒娆�", @@ -567,7 +567,7 @@ matnrId: "鐗╂枡鏍囪瘑", matnrCode: "鐗╂枡缂栫爜", maktx: "鐗╂枡", - anfme: "鏁伴噺", + anfme: "璁″垝鏁伴噺", purQty: "閲囪喘鏁伴噺", purUnit: "閲囪喘鍗曚綅", qty: "宸插畬鎴愭暟閲�", diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx index 93bced9..75866ac 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx @@ -50,7 +50,7 @@ mode="onTouched" defaultValues={{}} > - <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> + <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}> <Grid item xs={24} md={12}> <Typography variant="h6" gutterBottom> {translate('common.edit.title.main')} @@ -83,25 +83,27 @@ optionValue="value" parse={v => v} /> - <TextInput - label="table.field.asnOrder.logisNo" - source="logisNo" - parse={v => v} - /> - <DateInput - label="table.field.asnOrder.arrTime" - source="arrTime" - /> - <SelectInput - label="table.field.asnOrder.rleStatus" - source="rleStatus" - choices={[ - { id: 0, name: ' 姝e父' }, - { id: 1, name: ' 宸查噴鏀�' }, - ]} - validate={required()} - /> - </Stack> + </Stack> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.asnOrder.logisNo" + source="logisNo" + parse={v => v} + /> + <DateInput + label="table.field.asnOrder.arrTime" + source="arrTime" + /> + <SelectInput + label="table.field.asnOrder.rleStatus" + source="rleStatus" + choices={[ + { id: 0, name: ' 姝e父' }, + { id: 1, name: ' 宸查噴鏀�' }, + ]} + validate={required()} + /> + </Stack> </Grid> </Grid> </SimpleForm> diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx index ef8db15..1399c50 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx @@ -80,7 +80,7 @@ <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="barcode" label="table.field.asnOrderItem.barcode" />, + <TextInput source="trackCode" label="table.field.asnOrderItem.barcode" />, <TextInput source="packName" label="table.field.asnOrderItem.packName" />, <TextInput label="common.field.memo" source="memo" />, @@ -124,9 +124,9 @@ sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> - <Button onClick={creatCode} label={"toolbar.creatcode"}> + {/* <Button onClick={creatCode} label={"toolbar.creatcode"}> <QrCodeIcon /> - </Button> + </Button> */} <FilterButton /> <MyCreateButton onClick={() => { setCreateDialog(true) }} /> <SelectColumnsButton preferenceKey='asnOrderItem' /> @@ -160,7 +160,7 @@ <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="barcode" label="table.field.asnOrderItem.barcode" /> + <TextField source="trackCode" label="table.field.asnOrderItem.barcode" /> <TextField source="packName" label="table.field.asnOrderItem.packName" /> <TextField source="updateBy$" label="common.field.updateBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime /> diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx index 7302abe..4c89a10 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx @@ -331,7 +331,7 @@ }, { field: 'anfme', - headerName: translate('table.field.asnOrderItem.purQty'), + headerName: translate('table.field.asnOrderItem.anfme'), type: 'number', minWidth: 100, flex: 1, diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx index 76c6410..6eebda5 100644 --- a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx +++ b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx @@ -89,7 +89,6 @@ const QlyInspectList = () => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); const [opCreateDialog, setOpCreateDialog] = useState(false); @@ -128,7 +127,7 @@ <StyledDatagrid preferenceKey='qlyInspect' bulkActionButtons={<BulkDeleteButton mutationMode={OPERATE_MODE} />} - rowClick='edit' + rowClick={false} expandSingle={true} omit={['id', 'createTime', 'createBy', 'memo', 'asnId', 'statusBool']} > @@ -142,24 +141,24 @@ <NumberField source="dlyQty" label="table.field.qlyInspect.dlyQty" /> <NumberField source="rcptQty" label="table.field.qlyInspect.rcptQty" /> <NumberField source="isptQty" label="table.field.qlyInspect.isptQty" /> - <TextField source="updateBy$" label="common.field.updateBy" /> + <TextField source="updateBy$" label="common.field.updateBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime /> <TextField source="createBy$" label="common.field.createBy" /> <DateField source="createTime" label="common.field.createTime" showTime /> <BooleanField source="statusBool" label="common.field.status" sortable={false} /> <TextField source="memo" label="common.field.memo" sortable={false} /> <WrapperField cellClassName="opt" label="common.field.opt"> - {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */} + <EditButton /> <InspectionButton /> <CompleteButton /> <CloseButton /> - </WrapperField> - </StyledDatagrid> - </List> - <QlyInspectCreate + </WrapperField> + </StyledDatagrid> + </List> + {/* <QlyInspectCreate open={createDialog} setOpen={setCreateDialog} - /> + /> */} <QlyInspectOpCreate open={opCreateDialog} setOpen={setOpCreateDialog} @@ -170,7 +169,7 @@ setDrawerVal={setDrawerVal} > </PageDrawer> - </Box> + </Box > ) } @@ -181,7 +180,6 @@ const notify = useNotify(); const refresh = useRefresh(); const [createDialog, setCreateDialog] = useState(false); - const [opCreateDialog, setOpCreateDialog] = useState(false); return ( <> @@ -215,7 +213,7 @@ return ( - <Button onClick={requestComplete} label={"toolbar.complete"}> + <Button onClick={requestComplete} label={"toolbar.complete"} mutationMode={OPERATE_MODE}> <TaskIcon /> </Button> ) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java index 241379c..8e481c9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java @@ -39,7 +39,7 @@ @ApiModelProperty("鍥剧墖璺緞") private String picPath; @ApiModelProperty("璐ㄦ缁撴灉") - private String isptResult; + private Short isptResult; @ApiModelProperty("澶囨敞") private String memo; } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index 5dd5d83..79542a6 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -22,6 +22,7 @@ import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.AsnExceStatus; import com.vincent.rsf.server.manager.enums.PakinIOStatus; +import com.vincent.rsf.server.manager.enums.QlyIsptStatus; import com.vincent.rsf.server.manager.mapper.*; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.system.constant.CodeRes; @@ -498,7 +499,10 @@ if (Objects.isNull(params.getIsptCode())) { throw new CoolException("璐ㄦ鍗曚笉鑳戒负绌�"); } - QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode())); + List<Short> asList = Arrays.asList(QlyIsptStatus.QLY_ISPT_STAS_DONE.val, QlyIsptStatus.QLY_ISPT_STAS_CLOSE.val); + QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>() + .notIn(QlyInspect::getIsptStatus, asList) + .eq(QlyInspect::getCode, params.getIsptCode())); if (Objects.isNull(inspect)) { throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒!"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java index 3286105..85bfad8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java @@ -52,7 +52,7 @@ private String asnCode; @ApiModelProperty("璐ㄦ鐘舵��") - private String isptStatus; + private Short isptStatus; @ApiModelProperty("璐ㄦ缁撴灉") private Short isptResult; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java index f2104be..1fef763 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java @@ -108,7 +108,7 @@ private String picPath; @ApiModelProperty("璐ㄦ缁撹") - private String isptResult; + private Short isptResult; /** * 鐘舵�� 1: 姝e父 0: 鍐荤粨 diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java new file mode 100644 index 0000000..3598f07 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java @@ -0,0 +1,26 @@ +package com.vincent.rsf.server.manager.enums; + +/** + * @author Ryan + * @version 1.0 + * @title QlyIsptResult + * @description + * @create 2025/4/14 09:42 + */ +public enum QlyIsptResult { + //璐ㄦ缁撴灉 + QLY_ISPT_RESULT_EXCELLENT("1", "鍚堟牸"), + QLY_ISPT_RESULT_DEFECT("2", "涓嶅悎鏍�"), + QLY_ISPT_RESULT_PENDING("3", "寰呭畾"), + QLY_ISPT_RESULT_SECTION("4", "閮ㄥ垎鍚堟牸"), + QLY_ISPT_RESULT_HOLD("0", "鍏跺畠") + ; + + QlyIsptResult(String val, String desc) { + this.val = Short.parseShort(val); + this.desc = desc; + } + + public Short val; + public String desc; +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java index d1ac3b8..edc8132 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java @@ -16,10 +16,10 @@ ; QlyIsptStatus(String val, String desc) { - this.val = val; + this.val = Short.parseShort(val); this.desc = desc; } - public String val; + public Short val; public String desc; } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java index 84f0eda..89a0a16 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java @@ -7,6 +7,8 @@ import com.vincent.rsf.server.manager.controller.params.IsptItemsParams; import com.vincent.rsf.server.manager.controller.params.QlyInspectAndItem; import com.vincent.rsf.server.manager.entity.QlyInspect; +import com.vincent.rsf.server.manager.enums.QlyIsptResult; +import com.vincent.rsf.server.manager.enums.QlyIsptStatus; import com.vincent.rsf.server.manager.mapper.QlyIsptItemMapper; import com.vincent.rsf.server.manager.entity.QlyIsptItem; import com.vincent.rsf.server.manager.service.QlyInspectService; @@ -42,9 +44,10 @@ } List<QlyIsptItem> isptItem = params.getIsptItem(); List<Long> list = isptItem.stream().map(QlyIsptItem::getId).collect(Collectors.toList()); - if (params.getType().equals("2") || params.getType().equals("1")) { + if (Short.parseShort(params.getType()) == QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val || Short.parseShort(params.getType()) == QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val) { + //1锛氬悎鏍硷紝 2锛氫笉鍚堟牸, 0: 鍏跺畠锛堥粯璁わ級 isptItem.forEach(item -> { - if (params.getType().equals("1")) { + if (Short.parseShort(params.getType()) == QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val) { //TODO 鍏堟崱鍚庢敹涓洪�佽揣鏁伴噺锛屽厛鏀跺悗鎹′负鏀惰揣鏁伴噺 item.setSafeQty(item.getDlyQty()); item.setDisQty(0.0); @@ -54,7 +57,7 @@ } if (!this.update(new LambdaUpdateWrapper<QlyIsptItem>() .set(QlyIsptItem::getSafeQty, item.getSafeQty()) - .set(QlyIsptItem::getIsptResult, params.getType()) + .set(QlyIsptItem::getIsptResult, Short.parseShort(params.getType())) .set(QlyIsptItem::getDisQty, item.getDisQty()) .in(QlyIsptItem::getId, item.getId()))) { throw new CoolException("淇敼澶辫触锛侊紒"); @@ -65,7 +68,6 @@ throw new CoolException("鏄庣粏淇敼澶辫触"); } } - List<QlyIsptItem> isptItems = this.list(new LambdaQueryWrapper<QlyIsptItem>().in(QlyIsptItem::getId, list)); if (isptItems.isEmpty()) { throw new CoolException("鏁版嵁閿欒锛氭槑缁嗕笉瀛樺湪锛侊紒"); @@ -75,18 +77,17 @@ QlyInspect inspect = qlyInspectService.getById(key); List<QlyIsptItem> items = listMap.get(key); Double safeQty = items.stream().mapToDouble(QlyIsptItem::getSafeQty).sum(); - Double dlyQty = items.stream().mapToDouble(QlyIsptItem::getDlyQty).sum(); Double disQty = items.stream().mapToDouble(QlyIsptItem::getDisQty).sum(); Double qlyQty = safeQty + disQty; //瀹夊叏鏁伴噺锛岃川妫�鏁伴噺 inspect.setSafeQty(safeQty) .setIsptQty(qlyQty); if (Double.compare(disQty, 0) > 0) { - inspect.setIsptResult(Short.parseShort("4")); + inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_SECTION.val); } - if (Double.compare(safeQty, dlyQty) == 0) { - inspect.setIsptStatus("1"); - inspect.setIsptResult(Short.parseShort("1")); + if (Double.compare(safeQty, inspect.getDlyQty()) == 0) { + inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val); + inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val); } if (!qlyInspectService.updateById(inspect)) { throw new CoolException("璐ㄦ鏁伴噺淇敼澶辫触锛侊紒"); -- Gitblit v1.9.1