From 78b637613099f0e2e04e98c5f33c24f8e6c78c7a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 30 四月 2026 09:17:47 +0800
Subject: [PATCH] fix: 质检内的工序修改为部件类型
---
src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java | 125 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 109 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
index 5c246bc..bc48229 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
@@ -1,40 +1,133 @@
package com.ruoyi.quality.service.impl;
-
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityTestStandard;
-import com.ruoyi.quality.service.IQualityInspectService;
+import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.pojo.QualityTestStandardBinding;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.quality.service.IQualityTestStandardService;
-import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
-import lombok.AllArgsConstructor;
-import org.springframework.security.core.parameters.P;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.quality.service.QualityTestStandardParamService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
-import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
-@AllArgsConstructor
+
+/**
+ * <p>
+ * 妫�娴嬫爣鍑嗕富琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 03:40:24
+ */
@Service
-public class QualityTestStandardServiceImpl extends ServiceImpl<QualityTestStandardMapper, QualityTestStandard> implements IQualityTestStandardService {
+public class QualityTestStandardServiceImpl extends ServiceImpl<QualityTestStandardMapper, QualityTestStandard> implements IQualityTestStandardService {
+ @Autowired
private QualityTestStandardMapper qualityTestStandardMapper;
+ @Autowired
+ private QualityTestStandardParamMapper qualityTestStandardParamMapper;
+
+ @Autowired
+ private QualityTestStandardParamService qualityTestStandardParamService;
+
+ @Autowired
+ private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
+
+ @Autowired
+ private QualityInspectMapper qualityInspectMapper;
@Override
public IPage<QualityTestStandard> qualityTestStandardListPage(Page page, QualityTestStandard qualityTestStandard) {
- return qualityTestStandardMapper.qualityTestStandardListPage(page,qualityTestStandard);
+ return qualityTestStandardMapper.qualityTestStandardListPage(page, qualityTestStandard);
}
@Override
- public void qualityTestStandardListPageExport(HttpServletResponse response, QualityTestStandard qualityTestStandard) {
- List<QualityTestStandard> qualityTestStandards =qualityTestStandardMapper.qualityTestStandardList(qualityTestStandard);
- ExcelUtil<QualityTestStandard> util = new ExcelUtil<QualityTestStandard>(QualityTestStandard.class);
- util.exportExcel(response, qualityTestStandards, "妫�娴嬫寚鏍囧鍑�");
+ public int copyParam(QualityTestStandard qualityTestStandard) {
+ //鍏堟煡璇㈣澶嶅埗鐨勬娴嬫爣鍑嗙殑璇︽儏鍙傛暟
+ List<QualityTestStandardParam> oldQualityTestStandardParams = qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.getId()));
+ QualityTestStandard testStandard = qualityTestStandardMapper.selectById(qualityTestStandard.getId());
+ testStandard.setId(null);
+ testStandard.setStandardNo(null);
+ qualityTestStandardMapper.insert(testStandard);
+ List<QualityTestStandardParam> newQualityTestStandardParams = oldQualityTestStandardParams.stream().map(oldQualityTestStandardParam -> {
+ oldQualityTestStandardParam.setTestStandardId(testStandard.getId());
+ oldQualityTestStandardParam.setId(null);
+ return oldQualityTestStandardParam;
+ }).collect(Collectors.toList());
+ qualityTestStandardParamService.saveBatch(newQualityTestStandardParams);
+ return 0;
}
+
+ @Override
+ public List<QualityTestStandard> getQualityTestStandardByProductId(Long productId, Integer inspectType, String process) {
+ return qualityTestStandardMapper.getQualityTestStandardByProductId(productId, inspectType, process);
+ }
+
+ @Override
+ public int delQualityTestStandard(List<Integer> ids) {
+ //鍏堟煡璇㈣妫�娴嬫爣鍑嗘槸鍚︽湁琚紩鐢ㄥ鏋滆寮曠敤灏变笉鍏佽鍒犻櫎
+ List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(Wrappers.<QualityInspect>lambdaQuery().in(QualityInspect::getTestStandardId, ids));
+ if (qualityInspects.size() > 0) {
+ throw new RuntimeException("璇ユ娴嬫爣鍑嗘湁琚紩鐢ㄤ笉鍏佽鍒犻櫎");
+ }
+ return qualityTestStandardMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean saveWithProcessTypeValidate(QualityTestStandard qualityTestStandard) {
+ validateProcessType(qualityTestStandard);
+ return this.save(qualityTestStandard);
+ }
+
+ @Override
+ public boolean updateWithProcessTypeValidate(QualityTestStandard qualityTestStandard) {
+ validateProcessType(qualityTestStandard);
+ return this.updateById(qualityTestStandard);
+ }
+
+ private void validateProcessType(QualityTestStandard qualityTestStandard) {
+ if (qualityTestStandard == null || qualityTestStandard.getProcessType() == null) {
+ return;
+ }
+
+ String dictType = "product_process_type";
+ String input = String.valueOf(qualityTestStandard.getProcessType());
+
+ String dictValue = DictUtils.getDictValue(dictType, input);
+ if (StringUtils.isNotEmpty(dictValue)) {
+ qualityTestStandard.setProcessType(Integer.valueOf(dictValue));
+ return;
+ }
+
+ String dictValues = DictUtils.getDictValues(dictType);
+ if (StringUtils.isNotEmpty(dictValues)) {
+ List<String> valueList = Arrays.asList(dictValues.split(DictUtils.SEPARATOR));
+ if (valueList.contains(input)) {
+ return;
+ }
+ }
+
+ throw new ServiceException("宸ュ簭绫诲瀷銆�" + input + "銆戜笉瀛樺湪锛岃濉啓姝g‘鐨勭被鍨嬶細" + DictUtils.getDictLabels(dictType));
+ }
+
}
--
Gitblit v1.9.3