From ba5bd31ecf829d2b462bd3f62b566828b347a89a Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 08 四月 2025 13:36:18 +0800
Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency
---
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