feat(qms): 添加文件历史版本功能并修复质检数据映射问题

- 在QmsFileController中新增getHistory接口获取文件历史版本
- 在QmsFileControllerService中实现getHistory业务逻辑
- 为QmsFileHistory实体添加storagePath存储路径字段
- 修复IncomingInspectionTaskControllerService中标准项目查询条件,添加itemType过滤
- 修正NormalPGIController中采购订单号和行号的映射关系
- 优化QmsController中物料名称和单位的数据填充
- 为质检记录添加入库时间字段并设置当前时间
- 修复ZWM3A17DTO中合格数量的数据类型转换问题
- 移除QmsController中不必要的服务注入依赖
This commit is contained in:
曹鹏飞 2026-06-08 17:32:33 +08:00
parent 1f6b89590f
commit 1d71babd9a
6 changed files with 34 additions and 18 deletions

View File

@ -12,6 +12,7 @@ import com.nflg.wms.common.pojo.vo.QmsFileCategoryTreeVO;
import com.nflg.wms.common.pojo.vo.QmsFileVO; import com.nflg.wms.common.pojo.vo.QmsFileVO;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.QmsFileHistory;
import com.nflg.wms.repository.entity.User; import com.nflg.wms.repository.entity.User;
import com.nflg.wms.repository.service.IUserService; import com.nflg.wms.repository.service.IUserService;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
@ -23,6 +24,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -83,6 +85,15 @@ public class QmsFileController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
/**
* 获取文件历史版本
* @param id 文件ID
*/
@GetMapping("getHistory")
public ApiResult<List<QmsFileHistory>> getHistory(@RequestParam @NotNull Long id){
return ApiResult.success(fileControllerService.getHistory(id));
}
/** /**
* 删除文件 * 删除文件
* @param id 文件ID * @param id 文件ID

View File

@ -951,6 +951,7 @@ public class IncomingInspectionTaskControllerService {
inspectionStandardItemService.lambdaQuery() inspectionStandardItemService.lambdaQuery()
.select(QmsInspectionStandardItem::getId, QmsInspectionStandardItem::getPdfDrawing) .select(QmsInspectionStandardItem::getId, QmsInspectionStandardItem::getPdfDrawing)
.eq(QmsInspectionStandardItem::getInspectionStandardId, standard.getId()) .eq(QmsInspectionStandardItem::getInspectionStandardId, standard.getId())
.eq(QmsInspectionStandardItem::getItemType,1)
.list() .list()
.stream() .stream()
.map(it -> new PdfDrawingVO(it.getId(), it.getPdfDrawing())) .map(it -> new PdfDrawingVO(it.getId(), it.getPdfDrawing()))

View File

@ -695,4 +695,11 @@ public class QmsFileControllerService {
fileService.updateById(file); fileService.updateById(file);
redisTemplate.delete(key); redisTemplate.delete(key);
} }
public List<QmsFileHistory> getHistory(Long id) {
return historyService.lambdaQuery()
.eq(QmsFileHistory::getFileId, id)
.orderByDesc(QmsFileHistory::getId)
.list();
}
} }

View File

@ -403,9 +403,9 @@ public class NormalPGIController extends BaseController {
.setSupplierCode(order.getSupplierNum()) .setSupplierCode(order.getSupplierNum())
.setSupplierName(order.getSupplierName()) .setSupplierName(order.getSupplierName())
.setDeliveryOrderNo(order.getNoteNum()) .setDeliveryOrderNo(order.getNoteNum())
.setDeliveryOrderLine(String.valueOf(qcItem.getLineNumber())) .setDeliveryOrderLine(qcItem.getLineNumber())
.setPurchaseOrderNo(qcItem.getNoteNum()) .setPurchaseOrderNo(qcItem.getPoNum())
.setPurchaseOrderLine(String.valueOf(qcItem.getLineNumber())) .setPurchaseOrderLine(qcItem.getPoLineNumber())
.setFactory(order.getIuCode()) .setFactory(order.getIuCode())
.setInspectionQty(qcItem.getReceiptNum() != null ? qcItem.getReceiptNum().intValue() : 0) .setInspectionQty(qcItem.getReceiptNum() != null ? qcItem.getReceiptNum().intValue() : 0)
.setPurchaseGroup(order.getPurchaseGroup()) .setPurchaseGroup(order.getPurchaseGroup())
@ -1184,9 +1184,9 @@ public class NormalPGIController extends BaseController {
.setSupplierCode(order.getSupplierNum()) .setSupplierCode(order.getSupplierNum())
.setSupplierName(order.getSupplierName()) .setSupplierName(order.getSupplierName())
.setDeliveryOrderNo(order.getNoteNum()) .setDeliveryOrderNo(order.getNoteNum())
.setDeliveryOrderLine(String.valueOf(item.getLineNumber())) .setDeliveryOrderLine(item.getLineNumber())
.setPurchaseOrderNo(item.getNoteNum()) .setPurchaseOrderNo(item.getPoNum())
.setPurchaseOrderLine(String.valueOf(item.getLineNumber())) .setPurchaseOrderLine(item.getPoLineNumber())
.setFactory(order.getIuCode()) .setFactory(order.getIuCode())
.setInspectionQty(item.getReceiptNum() != null ? item.getReceiptNum().intValue() : 0) .setInspectionQty(item.getReceiptNum() != null ? item.getReceiptNum().intValue() : 0)
.setPurchaseGroup(order.getPurchaseGroup()) .setPurchaseGroup(order.getPurchaseGroup())

View File

@ -38,6 +38,11 @@ public class QmsFileHistory implements Serializable {
*/ */
private Integer version; private Integer version;
/**
* 存储路径
*/
private String storagePath;
/** /**
* 文件大小字节 * 文件大小字节
*/ */

View File

@ -43,18 +43,9 @@ import java.util.Objects;
@RequestMapping("/qms") @RequestMapping("/qms")
public class QmsController extends BaseController { public class QmsController extends BaseController {
@Resource
private IWmsSrmOrderService srmOrderService;
@Resource
private IWmsSrmOrderItemService srmOrderItemService;
@Resource @Resource
private IWmsSrmQualityInspectionService srmQualityInspectionService; private IWmsSrmQualityInspectionService srmQualityInspectionService;
@Resource
private IWmsInTaskService taskService;
@Resource @Resource
private IWmsQcReceiveItemService qcReceiveItemService; private IWmsQcReceiveItemService qcReceiveItemService;
@ -113,8 +104,8 @@ public class QmsController extends BaseController {
.setInspectionType("IQC来料检测") .setInspectionType("IQC来料检测")
.setPoLineNumber(qo.getPurchaseOrderLine()) .setPoLineNumber(qo.getPurchaseOrderLine())
.setInspectionQty(BigDecimal.valueOf(qo.getInspectionQty())) .setInspectionQty(BigDecimal.valueOf(qo.getInspectionQty()))
// .setItemName("") .setItemName(receiveItem.getItemName())
// .setUnit("") .setUnit(receiveItem.getUomCode())
// .setReceivedWarehouse("") // .setReceivedWarehouse("")
// .setUnqualifiedReason(data.getUnqualifiedReason()) // .setUnqualifiedReason(data.getUnqualifiedReason())
// .setReceiveNum(data.getReceiveNum()) // .setReceiveNum(data.getReceiveNum())
@ -138,6 +129,7 @@ public class QmsController extends BaseController {
// 如果物料没有生成过二维码则直接入库参考NormalPGIController.takeDeliveryConfirm方法 // 如果物料没有生成过二维码则直接入库参考NormalPGIController.takeDeliveryConfirm方法
if (!hasQrCode) { if (!hasQrCode) {
inspect.setIsIn(true); inspect.setIsIn(true);
inspect.setInTime(LocalDateTime.now());
log.info("物料没有生成过二维码, 执行直接入库, 质检单号: {}", qo.getTaskNo()); log.info("物料没有生成过二维码, 执行直接入库, 质检单号: {}", qo.getTaskNo());
// 构建库存入库数据 // 构建库存入库数据
@ -159,7 +151,7 @@ public class QmsController extends BaseController {
zwm3A17DTO.getItem1().add(new ZWM3A17Item1DTO() zwm3A17DTO.getItem1().add(new ZWM3A17Item1DTO()
.setEBELP(receiveItem.getPoLineNumber()) .setEBELP(receiveItem.getPoLineNumber())
.setMATNR(receiveItem.getItemCode()) .setMATNR(receiveItem.getItemCode())
.setERFMG(receiveItem.getQualifiedQty()) .setERFMG(BigDecimal.valueOf(qo.getQualifiedQty()))
.setMEINS(receiveItem.getUomCode()) .setMEINS(receiveItem.getUomCode())
.setCHARG(inventoryDTO.getBatchNo()) .setCHARG(inventoryDTO.getBatchNo())
.setWERKS(qo.getFactory()) .setWERKS(qo.getFactory())