From dc4d7386937447cc1e9ecfb3cd65966cc5d21aa1 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期四, 03 四月 2025 22:33:53 +0800 Subject: [PATCH] 1.可靠性计划完善 2.复核记录完善 --- basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 76 insertions(+), 20 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java index 64f659a..9162805 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java @@ -82,36 +82,92 @@ @Override public int productPartReviewById(ProductPartDto productPartDto) { - int userId = SecurityUtils.getUserId().intValue(); String username = SecurityUtils.getUsername(); - ProductPart productPart = productPartMapper.selectById(productPartDto.getId()); - this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId()); - if (productPart.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + + // 瀹氫箟閫氱敤鐨勪骇鍝侀儴鍒嗗璞� + Object productPart = null; + if ("瀵硅薄".equals(productPartDto.getType())) { + productPart = structureTestObjectPartMapper.selectById(productPartDto.getId()); + if (productPart != null && ((StructureTestObjectPart) productPart).getTestObjectId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + } else { + productPart = productPartMapper.selectById(productPartDto.getId()); + if (productPart != null && ((ProductPart) productPart).getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } } - productPart.setReview("宸插鏍�"); - int num = productPartMapper.updateById(productPart); + + if (productPart == null) { + return 0; + } + + // 璁剧疆瀹℃牳鐘舵�� + if (productPart instanceof StructureTestObjectPart) { + ((StructureTestObjectPart) productPart).setReview("宸插鏍�"); + } else { + ((ProductPart) productPart).setReview("宸插鏍�"); + } + + // 鏇存柊浜у搧閮ㄥ垎淇℃伅 + int num = 0; + if (productPart instanceof StructureTestObjectPart) { + num = structureTestObjectPartMapper.updateById((StructureTestObjectPart) productPart); + } else { + num = productPartMapper.updateById((ProductPart) productPart); + } + + // 濡傛灉鏇存柊鎴愬姛锛屽垱寤烘垨鏇存柊鏃ュ織 if (num > 0) { - ProductPartLog productPartLog = new ProductPartLog(); - productPartLog.setProductPartId(productPart.getId()); - productPartLog.setOperName(username); - productPartLog.setOperId(userId); - productPartLog.setOperTime(LocalDateTime.now()); - productPartLog.setColor(productPart.getColor()); - productPartLog.setColorCode(productPart.getColorCode()); - productPartLog.setPartNo(productPart.getPartNo()); - productPartLog.setInspectionItem(productPart.getInspectionItem()); - productPartLog.setReview(productPart.getReview()); - productPartLogMapper.insert(productPartLog); + createOrUpdateProductPartLog(productPart, username, userId, productPartDto.getType(), productPartDto); } + return num; } + private void createOrUpdateProductPartLog(Object productPart, String username, int userId, String type, ProductPartDto productPartDto) { + ProductPartLog productPartLog = new ProductPartLog(); + if (productPart instanceof StructureTestObjectPart) { + StructureTestObjectPart part = (StructureTestObjectPart) productPart; + productPartLog.setProductPartId(part.getId()); + productPartLog.setColor(part.getColor()); + productPartLog.setColorCode(part.getColorCode()); + productPartLog.setPartNo(part.getPartNo()); + productPartLog.setInspectionItem(part.getInspectionItem()); + productPartLog.setReview(part.getReview()); + } else { + ProductPart part = (ProductPart) productPart; + productPartLog.setProductPartId(part.getId()); + productPartLog.setColor(part.getColor()); + productPartLog.setColorCode(part.getColorCode()); + productPartLog.setPartNo(part.getPartNo()); + productPartLog.setInspectionItem(part.getInspectionItem()); + productPartLog.setReview(part.getReview()); + } + productPartLog.setOperName(username); + productPartLog.setOperId(userId); + productPartLog.setOperTime(LocalDateTime.now()); + productPartLog.setType(type); + + // 妫�鏌ユ槸鍚﹀瓨鍦ㄧ浉鍚� ProductPartId 鐨勬棩蹇楄褰� + ProductPartLog existingLog = productPartLogMapper.selectOne(new LambdaQueryWrapper<ProductPartLog>().eq(ProductPartLog::getProductPartId, productPartDto.getId())); + if (existingLog != null) { + // 濡傛灉瀛樺湪锛屾洿鏂拌褰� + productPartLog.setId(existingLog.getId()); // 璁剧疆鏇存柊璁板綍鐨� ID + productPartLogMapper.updateById(productPartLog); + } else { + // 濡傛灉涓嶅瓨鍦紝鎻掑叆鏂拌褰� + productPartLogMapper.insert(productPartLog); + } + } + + @Override - public IPage<ProductPartLog> productPartLogList(Page page, Integer id) { + public IPage<ProductPartLog> productPartLogList(Page page, Integer id, String type) { return productPartLogMapper.selectPage(page, Wrappers.<ProductPartLog>lambdaQuery() - .eq(ProductPartLog::getProductPartId, id)); + .eq(ProductPartLog::getProductPartId, id) + .eq(ProductPartLog::getType, type)); } // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦� -- Gitblit v1.9.3