From 9d42f647f5589e4a560d745d6b359ae6c273bd8d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 11 五月 2026 13:08:52 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' into dev_宁夏_英泽防锈
---
src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java | 112 +++++++++++++++++++------------------------------------
1 files changed, 39 insertions(+), 73 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
index 048519b..d66ebc7 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
@@ -8,7 +8,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.production.bean.dto.ProductionOrderRoutingOperationParamDto;
-import com.ruoyi.production.bean.dto.ProductionOrderRoutingOperationParamSyncDto;
import com.ruoyi.production.bean.vo.ProductionOrderRoutingOperationParamVo;
import com.ruoyi.production.mapper.ProductionOrderMapper;
import com.ruoyi.production.mapper.ProductionOrderRoutingOperationMapper;
@@ -17,7 +16,9 @@
import com.ruoyi.production.pojo.ProductionOrderRoutingOperation;
import com.ruoyi.production.pojo.ProductionOrderRoutingOperationParam;
import com.ruoyi.production.service.ProductionOrderRoutingOperationParamService;
+import com.ruoyi.technology.mapper.TechnologyParamMapper;
import com.ruoyi.technology.mapper.TechnologyRoutingOperationParamMapper;
+import com.ruoyi.technology.pojo.TechnologyParam;
import com.ruoyi.technology.pojo.TechnologyRoutingOperationParam;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -34,6 +35,7 @@
private final ProductionOrderRoutingOperationParamMapper productionOrderRoutingOperationParamMapper;
private final ProductionOrderRoutingOperationMapper productionOrderRoutingOperationMapper;
private final ProductionOrderMapper productionOrderMapper;
+ private final TechnologyParamMapper technologyParamMapper;
private final TechnologyRoutingOperationParamMapper technologyRoutingOperationParamMapper;
@Override
@@ -46,18 +48,21 @@
@Override
public List<ProductionOrderRoutingOperationParamVo> listProductionOrderRoutingOperationParam(ProductionOrderRoutingOperationParamDto dto) {
+ // 鏌ヨ鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
return BeanUtil.copyToList(this.list(buildQueryWrapper(dto)), ProductionOrderRoutingOperationParamVo.class);
}
@Override
public ProductionOrderRoutingOperationParamVo getProductionOrderRoutingOperationParamInfo(Long id) {
+ // 鑾峰彇鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟璇︽儏
ProductionOrderRoutingOperationParam item = this.getById(id);
return item == null ? null : BeanUtil.copyProperties(item, ProductionOrderRoutingOperationParamVo.class);
}
@Override
public boolean saveProductionOrderRoutingOperationParam(ProductionOrderRoutingOperationParam item) {
- ProductionOrderRoutingOperation routingOperation = getRoutingOperation(item.getTechnologyRoutingOperationId());
+ // 淇濆瓨鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
+ ProductionOrderRoutingOperation routingOperation = getRoutingOperation(item.getProductionOrderRoutingOperationId());
fillFromSourceParam(item, routingOperation);
validateManualFields(item);
checkDuplicate(item);
@@ -66,65 +71,21 @@
@Override
public boolean removeProductionOrderRoutingOperationParam(Long id) {
+ // 鍒犻櫎鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
return this.removeById(id);
}
- @Override
- public int syncProductionOrderRoutingOperationParam(ProductionOrderRoutingOperationParamSyncDto syncDto) {
- if (syncDto == null || syncDto.getProductionOrderRoutingOperationId() == null) {
- throw new ServiceException("productionOrderRoutingOperationId is required");
- }
- ProductionOrderRoutingOperation routingOperation = getRoutingOperation(syncDto.getProductionOrderRoutingOperationId());
- List<TechnologyRoutingOperationParam> sourceParamList = technologyRoutingOperationParamMapper.selectList(
- Wrappers.<TechnologyRoutingOperationParam>lambdaQuery()
- .eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getTechnologyRoutingOperationId())
- .orderByAsc(TechnologyRoutingOperationParam::getId)
- );
- boolean replaceExisting = syncDto.getReplaceExisting() == null || syncDto.getReplaceExisting();
- if (replaceExisting) {
- productionOrderRoutingOperationParamMapper.delete(
- Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
- .eq(ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
- );
- }
- int successCount = 0;
- for (TechnologyRoutingOperationParam sourceParam : sourceParamList) {
- boolean exists = productionOrderRoutingOperationParamMapper.selectCount(
- Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
- .eq(ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
- .eq(ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationParamId, sourceParam.getId())
- ) > 0;
- if (!replaceExisting && exists) {
- continue;
- }
- ProductionOrderRoutingOperationParam target = new ProductionOrderRoutingOperationParam();
- target.setTechnologyRoutingOperationId(routingOperation.getId());
- target.setTechnologyRoutingOperationParamId(sourceParam.getId());
- target.setProductionOrderId(routingOperation.getProductionOrderId());
- target.setTechnologyOperationId(sourceParam.getTechnologyOperationId());
- target.setTechnologyOperationParamId(sourceParam.getTechnologyOperationParamId());
- target.setParamId(sourceParam.getParamId());
- target.setParamCode(sourceParam.getParamCode());
- target.setParamName(sourceParam.getParamName());
- target.setParamType(sourceParam.getParamType());
- target.setParamFormat(sourceParam.getParamFormat());
- target.setUnit(sourceParam.getUnit());
- target.setIsRequired(sourceParam.getIsRequired());
- target.setRemark(sourceParam.getRemark());
- target.setStandardValue(sourceParam.getStandardValue());
- productionOrderRoutingOperationParamMapper.insert(target);
- successCount++;
- }
- return successCount;
- }
-
private LambdaQueryWrapper<ProductionOrderRoutingOperationParam> buildQueryWrapper(ProductionOrderRoutingOperationParamDto dto) {
+ // 鎸夋潯浠跺姩鎬佹瀯寤烘暟鎹簱鏌ヨ鏉′欢
ProductionOrderRoutingOperationParam query = dto == null ? new ProductionOrderRoutingOperationParam() : dto;
return Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
.eq(query.getId() != null, ProductionOrderRoutingOperationParam::getId, query.getId())
+ .eq(query.getProductionProductMainId() != null,
+ ProductionOrderRoutingOperationParam::getProductionProductMainId, query.getProductionProductMainId())
+ .isNull(query.getProductionProductMainId() == null,
+ ProductionOrderRoutingOperationParam::getProductionProductMainId)
.eq(query.getProductionOrderId() != null, ProductionOrderRoutingOperationParam::getProductionOrderId, query.getProductionOrderId())
- .eq(query.getTechnologyRoutingOperationId() != null,
- ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationId, query.getTechnologyRoutingOperationId())
+ .eq(query.getProductionOrderRoutingOperationId() != null, ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, query.getProductionOrderRoutingOperationId())
.eq(query.getTechnologyOperationId() != null,
ProductionOrderRoutingOperationParam::getTechnologyOperationId, query.getTechnologyOperationId())
.eq(query.getTechnologyRoutingOperationParamId() != null,
@@ -135,41 +96,46 @@
ProductionOrderRoutingOperationParam::getParamCode, query.getParamCode())
.like(query.getParamName() != null && !query.getParamName().trim().isEmpty(),
ProductionOrderRoutingOperationParam::getParamName, query.getParamName())
- .orderByAsc(ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationId)
+ .orderByAsc(ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId)
.orderByAsc(ProductionOrderRoutingOperationParam::getId);
}
private ProductionOrderRoutingOperation getRoutingOperation(Long productionOrderRoutingOperationId) {
+ // 鑾峰彇宸ヨ壓璺嚎宸ュ簭
if (productionOrderRoutingOperationId == null) {
- throw new ServiceException("productionOrderRoutingOperationId is required");
+ throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭ID涓嶈兘涓虹┖");
}
ProductionOrderRoutingOperation routingOperation = productionOrderRoutingOperationMapper.selectById(productionOrderRoutingOperationId);
if (routingOperation == null) {
- throw new ServiceException("Production order routing operation not found");
+ throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭涓嶅瓨鍦�");
}
return routingOperation;
}
private void fillFromSourceParam(ProductionOrderRoutingOperationParam item, ProductionOrderRoutingOperation routingOperation) {
- item.setTechnologyRoutingOperationId(routingOperation.getId());
+ // 浠庢潵婧愬弬鏁板洖濉綋鍓嶅弬鏁伴粯璁ゅ��
item.setProductionOrderId(routingOperation.getProductionOrderId());
+ item.setProductionOrderRoutingOperationId(routingOperation.getId());
ProductionOrder productionOrder = productionOrderMapper.selectById(routingOperation.getProductionOrderId());
if (productionOrder == null) {
- throw new ServiceException("Production order not found");
+ throw new ServiceException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
}
- if (item.getTechnologyRoutingOperationParamId() == null) {
+ if (item.getParamId() == null) {
return;
}
- TechnologyRoutingOperationParam sourceParam = technologyRoutingOperationParamMapper.selectById(item.getTechnologyRoutingOperationParamId());
+ TechnologyParam sourceParam = technologyParamMapper.selectById(item.getParamId());
if (sourceParam == null) {
- throw new ServiceException("Technology routing operation param not found");
+ throw new ServiceException("宸ヨ壓鍙傛暟涓嶅瓨鍦�");
}
- if (!routingOperation.getTechnologyRoutingOperationId().equals(sourceParam.getTechnologyRoutingOperationId())) {
- throw new ServiceException("Source param does not belong to routing operation");
+ if (item.getTechnologyOperationParamId() != null) {
+ TechnologyRoutingOperationParam sourceRoutingOperationParam = technologyRoutingOperationParamMapper.selectById(item.getTechnologyOperationParamId());
+ item.setTechnologyOperationId(sourceRoutingOperationParam.getTechnologyOperationId());
+ item.setTechnologyOperationParamId(sourceRoutingOperationParam.getTechnologyOperationParamId());
+ if (item.getStandardValue() == null) {
+ item.setStandardValue(sourceRoutingOperationParam.getStandardValue());
+ }
}
- item.setTechnologyOperationId(sourceParam.getTechnologyOperationId());
- item.setTechnologyOperationParamId(sourceParam.getTechnologyOperationParamId());
- item.setParamId(sourceParam.getParamId());
+ item.setParamId(sourceParam.getId());
item.setParamCode(sourceParam.getParamCode());
item.setParamName(sourceParam.getParamName());
item.setParamType(sourceParam.getParamType());
@@ -179,24 +145,24 @@
if (item.getRemark() == null || item.getRemark().trim().isEmpty()) {
item.setRemark(sourceParam.getRemark());
}
- if (item.getStandardValue() == null) {
- item.setStandardValue(sourceParam.getStandardValue());
- }
}
private void validateManualFields(ProductionOrderRoutingOperationParam item) {
+ // 鏍¢獙鎵嬪伐褰曞叆瀛楁鐨勫繀濉笌鏍煎紡
if (item.getParamCode() == null || item.getParamCode().trim().isEmpty()) {
- throw new ServiceException("paramCode is required");
+ throw new ServiceException("鍙傛暟缂栫爜涓嶈兘涓虹┖");
}
if (item.getParamName() == null || item.getParamName().trim().isEmpty()) {
- throw new ServiceException("paramName is required");
+ throw new ServiceException("鍙傛暟鍚嶇О涓嶈兘涓虹┖");
}
}
private void checkDuplicate(ProductionOrderRoutingOperationParam item) {
+ // 妫�鏌ユ暟鎹槸鍚﹂噸澶嶏紝閬垮厤閲嶅淇濆瓨
boolean duplicate = productionOrderRoutingOperationParamMapper.selectCount(
Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
- .eq(ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationId, item.getTechnologyRoutingOperationId())
+ .isNull(ProductionOrderRoutingOperationParam::getProductionProductMainId)
+ .eq(ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, item.getProductionOrderRoutingOperationId())
.eq(item.getTechnologyRoutingOperationParamId() != null,
ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationParamId, item.getTechnologyRoutingOperationParamId())
.eq(item.getTechnologyRoutingOperationParamId() == null && item.getParamCode() != null,
@@ -204,7 +170,7 @@
.ne(item.getId() != null, ProductionOrderRoutingOperationParam::getId, item.getId())
) > 0;
if (duplicate) {
- throw new ServiceException("Duplicate production order routing operation param");
+ throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟閲嶅");
}
}
}
--
Gitblit v1.9.3