diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/FileControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/FileControllerService.java index 172052ff..e8c7e653 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/FileControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/FileControllerService.java @@ -40,6 +40,7 @@ import java.util.zip.ZipOutputStream; public class FileControllerService { private final OkHttpClient client = new OkHttpClient(); + @Resource private IFileUploadRecordService fileUploadRecordService; diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java index 600cbd39..a5cf530b 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java @@ -7,14 +7,7 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.exception.NflgException; import com.nflg.wms.common.pojo.qo.*; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckDetailVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckItemVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCountVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDataVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDetailVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO; +import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; @@ -23,6 +16,7 @@ import jakarta.annotation.Resource; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.tuple.Pair; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -103,6 +97,9 @@ public class IncomingInspectionTaskControllerService { @Resource private IQmsInspectionStandardItemContentService inspectionStandardItemContentService; + @Resource + private IFileUploadRecordService fileUploadRecordService; + /** * 来料检验申请(对外接口) * 业务规则: @@ -600,115 +597,115 @@ public class IncomingInspectionTaskControllerService { .list(); } - /** - * 查询来料检验任务检验记录(含检验项和检验数据) - */ - public List getInspectionRecords(Long taskId) { - // 1. 查询该任务下所有检验记录 - List records = incomingInspectionTaskRecordService.lambdaQuery() - .eq(QmsIncomingInspectionTaskRecord::getTaskId, taskId) - .list(); - - if (CollectionUtil.isEmpty(records)) { - return List.of(); - } - - // 2. 收集所有记录ID - List recordIds = records.stream() - .map(QmsIncomingInspectionTaskRecord::getId) - .toList(); - - // 3. 查询所有记录下的检验项 - List allItems = incomingInspectionTaskRecordItemService.lambdaQuery() - .in(QmsIncomingInspectionTaskRecordItem::getRecordId, recordIds) - .list(); - - // 4. 收集所有检验项ID,并构建 recordId -> items 映射 - Map> recordItemMap = allItems.stream() - .collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItem::getRecordId)); - - // 5. 查询检验标准项内容(获取检测项名称、标准等信息) - List contentIds = allItems.stream() - .map(QmsIncomingInspectionTaskRecordItem::getInspectionStandardItemContentId) - .filter(Objects::nonNull) - .distinct() - .toList(); - Map contentMap = Map.of(); - if (!contentIds.isEmpty()) { - contentMap = inspectionStandardItemContentService.lambdaQuery() - .in(QmsInspectionStandardItemContent::getId, contentIds) - .list() - .stream() - .collect(Collectors.toMap(QmsInspectionStandardItemContent::getId, Function.identity())); - } - - // 6. 查询所有检验项下的检验数据 - List itemIds = allItems.stream() - .map(QmsIncomingInspectionTaskRecordItem::getId) - .toList(); - Map> itemDataMap = Map.of(); - if (!itemIds.isEmpty()) { - itemDataMap = incomingInspectionTaskRecordItemDataService.lambdaQuery() - .in(QmsIncomingInspectionTaskRecordItemData::getItemId, itemIds) - .list() - .stream() - .collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItemData::getItemId)); - } - - // 7. 组装返回VO - Map finalContentMap = contentMap; - Map> finalItemDataMap = itemDataMap; - return records.stream().map(record -> { - QmsIncomingInspectionTaskRecordVO vo = new QmsIncomingInspectionTaskRecordVO(); - vo.setId(record.getId()); - vo.setTaskId(record.getTaskId()); - vo.setMaterialUniqueNo(record.getMaterialUniqueNo()); - vo.setQualified(record.getQualified()); - vo.setInspectionQty(record.getInspectionQty()); - vo.setQualifiedQty(record.getQualifiedQty()); - vo.setUnqualifiedQty(record.getUnqualifiedQty()); - vo.setCreateUserId(record.getCreateUserId()); - vo.setCreateUserName(record.getCreateUserName()); - vo.setCreateTime(record.getCreateTime()); - - // 组装检验项 - List items = recordItemMap.getOrDefault(record.getId(), List.of()); - List itemVOs = items.stream().map(item -> { - QmsIncomingInspectionTaskRecordItemVO itemVO = new QmsIncomingInspectionTaskRecordItemVO(); - itemVO.setId(item.getId()); - itemVO.setRecordId(item.getRecordId()); - itemVO.setInspectionStandardItemContentId(item.getInspectionStandardItemContentId()); - itemVO.setRemark(item.getRemark()); - - // 填充检验标准项内容信息 - QmsInspectionStandardItemContent content = finalContentMap.get(item.getInspectionStandardItemContentId()); - if (content != null) { - itemVO.setName(content.getName()); - itemVO.setTestStandard(content.getTestStandard()); - itemVO.setJudgmentType(content.getJudgmentType()); - } - - // 组装检验数据 - List datas = finalItemDataMap.getOrDefault(item.getId(), List.of()); - List dataVOs = datas.stream().map(data -> { - QmsIncomingInspectionTaskRecordItemDataVO dataVO = new QmsIncomingInspectionTaskRecordItemDataVO(); - dataVO.setId(data.getId()); - dataVO.setTaskId(data.getTaskId()); - dataVO.setItemId(data.getItemId()); - dataVO.setMeasuredValue(data.getMeasuredValue()); - dataVO.setQualified(data.getQualified()); - dataVO.setImages(StrUtil.isNotBlank(data.getImages()) - ? List.of(data.getImages().split(",")) - : List.of()); - return dataVO; - }).toList(); - itemVO.setDatas(dataVOs); - return itemVO; - }).toList(); - vo.setItems(itemVOs); - return vo; - }).toList(); - } +// /** +// * 查询来料检验任务检验记录(含检验项和检验数据) +// */ +// public List getInspectionRecords(Long taskId) { +// // 1. 查询该任务下所有检验记录 +// List records = incomingInspectionTaskRecordService.lambdaQuery() +// .eq(QmsIncomingInspectionTaskRecord::getTaskId, taskId) +// .list(); +// +// if (CollectionUtil.isEmpty(records)) { +// return List.of(); +// } +// +// // 2. 收集所有记录ID +// List recordIds = records.stream() +// .map(QmsIncomingInspectionTaskRecord::getId) +// .toList(); +// +// // 3. 查询所有记录下的检验项 +// List allItems = incomingInspectionTaskRecordItemService.lambdaQuery() +// .in(QmsIncomingInspectionTaskRecordItem::getRecordId, recordIds) +// .list(); +// +// // 4. 收集所有检验项ID,并构建 recordId -> items 映射 +// Map> recordItemMap = allItems.stream() +// .collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItem::getRecordId)); +// +// // 5. 查询检验标准项内容(获取检测项名称、标准等信息) +// List contentIds = allItems.stream() +// .map(QmsIncomingInspectionTaskRecordItem::getInspectionStandardItemContentId) +// .filter(Objects::nonNull) +// .distinct() +// .toList(); +// Map contentMap = Map.of(); +// if (!contentIds.isEmpty()) { +// contentMap = inspectionStandardItemContentService.lambdaQuery() +// .in(QmsInspectionStandardItemContent::getId, contentIds) +// .list() +// .stream() +// .collect(Collectors.toMap(QmsInspectionStandardItemContent::getId, Function.identity())); +// } +// +// // 6. 查询所有检验项下的检验数据 +// List itemIds = allItems.stream() +// .map(QmsIncomingInspectionTaskRecordItem::getId) +// .toList(); +// Map> itemDataMap = Map.of(); +// if (!itemIds.isEmpty()) { +// itemDataMap = incomingInspectionTaskRecordItemDataService.lambdaQuery() +// .in(QmsIncomingInspectionTaskRecordItemData::getItemId, itemIds) +// .list() +// .stream() +// .collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItemData::getItemId)); +// } +// +// // 7. 组装返回VO +// Map finalContentMap = contentMap; +// Map> finalItemDataMap = itemDataMap; +// return records.stream().map(record -> { +// QmsIncomingInspectionTaskRecordVO vo = new QmsIncomingInspectionTaskRecordVO(); +// vo.setId(record.getId()); +// vo.setTaskId(record.getTaskId()); +// vo.setMaterialUniqueNo(record.getMaterialUniqueNo()); +// vo.setQualified(record.getQualified()); +// vo.setInspectionQty(record.getInspectionQty()); +// vo.setQualifiedQty(record.getQualifiedQty()); +// vo.setUnqualifiedQty(record.getUnqualifiedQty()); +// vo.setCreateUserId(record.getCreateUserId()); +// vo.setCreateUserName(record.getCreateUserName()); +// vo.setCreateTime(record.getCreateTime()); +// +// // 组装检验项 +// List items = recordItemMap.getOrDefault(record.getId(), List.of()); +// List itemVOs = items.stream().map(item -> { +// QmsIncomingInspectionTaskRecordItemVO itemVO = new QmsIncomingInspectionTaskRecordItemVO(); +// itemVO.setId(item.getId()); +// itemVO.setRecordId(item.getRecordId()); +// itemVO.setInspectionStandardItemContentId(item.getInspectionStandardItemContentId()); +// itemVO.setRemark(item.getRemark()); +// +// // 填充检验标准项内容信息 +// QmsInspectionStandardItemContent content = finalContentMap.get(item.getInspectionStandardItemContentId()); +// if (content != null) { +// itemVO.setName(content.getName()); +// itemVO.setTestStandard(content.getTestStandard()); +// itemVO.setJudgmentType(content.getJudgmentType()); +// } +// +// // 组装检验数据 +// List datas = finalItemDataMap.getOrDefault(item.getId(), List.of()); +// List dataVOs = datas.stream().map(data -> { +// QmsIncomingInspectionTaskRecordItemDataVO dataVO = new QmsIncomingInspectionTaskRecordItemDataVO(); +// dataVO.setId(data.getId()); +// dataVO.setTaskId(data.getTaskId()); +// dataVO.setItemId(data.getItemId()); +// dataVO.setMeasuredValue(data.getMeasuredValue()); +// dataVO.setQualified(data.getQualified()); +// dataVO.setImages(StrUtil.isNotBlank(data.getImages()) +// ? List.of(data.getImages().split(",")) +// : List.of()); +// return dataVO; +// }).toList(); +// itemVO.setDatas(dataVOs); +// return itemVO; +// }).toList(); +// vo.setItems(itemVOs); +// return vo; +// }).toList(); +// } public QmsIncomingInspectionTaskCheckDetailVO getItemsForCheck(@Valid QmsIncomingInspectionTaskTodoCheckItemsQO request) { QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId()); @@ -799,7 +796,14 @@ public class IncomingInspectionTaskControllerService { .setItemId(ditem.getId()) .setQualified(data.getQualified()) .setMeasuredValue(data.getMeasuredValue()) - .setImages(StrUtil.join(",",data.getImages())); + .setImages( + StrUtil.join(",", + data.getImages() + .stream() + .map(FileUploadVO::getId) + .toList() + ) + ); incomingInspectionTaskRecordItemDataService.saveOrUpdate(ddata); }); }); @@ -1001,9 +1005,20 @@ public class IncomingInspectionTaskControllerService { dataVO.setItemId(data.getItemId()); dataVO.setMeasuredValue(data.getMeasuredValue()); dataVO.setQualified(data.getQualified()); - dataVO.setImages(StrUtil.isNotBlank(data.getImages()) - ? List.of(data.getImages().split(",")) - : List.of()); + if (StrUtil.isNotBlank(data.getImages())) { + dataVO.setImages( + fileUploadRecordService.lambdaQuery() + .in(FileUploadRecord::getId, StrUtil.split(data.getImages(), ",")) + .list() + .stream() + .map(file -> new FileUploadVO() + .setId(file.getId()) + .setFileName(file.getFileName()) + .setUrl(file.getUrl()) + ) + .collect(Collectors.toList()) + ); + } return dataVO; }).toList(); vo.setDatas(dataVOs); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskTodoCheckSubmitItemDataQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskTodoCheckSubmitItemDataQO.java index 9fd15962..0f81f8f9 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskTodoCheckSubmitItemDataQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskTodoCheckSubmitItemDataQO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.qo; +import com.nflg.wms.common.pojo.vo.FileUploadVO; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -25,5 +26,5 @@ public class QmsIncomingInspectionTaskTodoCheckSubmitItemDataQO { /** * 图片列表 */ - private List images; + private List images; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDataVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDataVO.java index ddb41e68..d879dd05 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDataVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDataVO.java @@ -36,5 +36,5 @@ public class QmsIncomingInspectionTaskRecordItemDataVO { /** * 图片列表 */ - private List images; + private List images; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTaskRecordItemData.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTaskRecordItemData.java index 7ab581f8..b1b860c5 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTaskRecordItemData.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTaskRecordItemData.java @@ -49,7 +49,7 @@ public class QmsIncomingInspectionTaskRecordItemData { private Boolean qualified; /** - * 图片列表,多个逗号分隔 + * 图片id列表,多个逗号分隔 */ private String images; }