From 7ea8883ca6b47ec014a32ed57c3bea64544e893e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 19 三月 2026 17:09:34 +0800
Subject: [PATCH] feat: 生产订单绑定工艺路线、BOM、工艺路线、工序参数新增修改
---
src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemParamInstanceServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 84 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemParamInstanceServiceImpl.java b/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemParamInstanceServiceImpl.java
index 9b84705..73d3d77 100644
--- a/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemParamInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemParamInstanceServiceImpl.java
@@ -1,11 +1,21 @@
package com.ruoyi.appendix.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.appendix.dto.ProcessRouteItemParamInstanceDto;
import com.ruoyi.appendix.mapper.ProcessRouteItemParamInstanceMapper;
import com.ruoyi.appendix.pojo.ProcessRouteItemParamInstance;
import com.ruoyi.appendix.service.ProcessRouteItemParamInstanceService;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <br>
@@ -19,4 +29,77 @@
@Slf4j
@Service
public class ProcessRouteItemParamInstanceServiceImpl extends ServiceImpl<ProcessRouteItemParamInstanceMapper, ProcessRouteItemParamInstance> implements ProcessRouteItemParamInstanceService {
-}
\ No newline at end of file
+
+ @Override
+ public List<ProcessRouteItemParamInstanceDto> routeItemParamList(Long orderId, Long routeItemId) {
+ List<ProcessRouteItemParamInstance> list = list(new LambdaQueryWrapper<ProcessRouteItemParamInstance>()
+ .eq(ProcessRouteItemParamInstance::getOrderId, orderId)
+ .eq(ProcessRouteItemParamInstance::getRouteItemId, routeItemId)
+ .orderByAsc(ProcessRouteItemParamInstance::getSort));
+
+ return list.stream().map(item -> {
+ ProcessRouteItemParamInstanceDto dto = new ProcessRouteItemParamInstanceDto();
+ BeanUtils.copyProperties(item, dto);
+ return dto;
+ }).collect(Collectors.toList());
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void addRouteItemParam(ProcessRouteItemParamInstanceDto dto) {
+ if (dto == null) {
+ throw new ServiceException("鏂板鏁版嵁涓嶈兘涓虹┖");
+ }
+ if (dto.getOrderId() == null) {
+ throw new ServiceException("鐢熶骇璁㈠崟ID涓嶈兘涓虹┖");
+ }
+ if (dto.getRouteItemId() == null) {
+ throw new ServiceException("宸ヨ壓璺嚎鏄庣粏ID涓嶈兘涓虹┖");
+ }
+ Long tenantId = SecurityUtils.getLoginUser().getTenantId();
+
+ ProcessRouteItemParamInstance entity = new ProcessRouteItemParamInstance();
+ BeanUtils.copyProperties(dto, entity);
+ entity.setId(null);
+ entity.setOrderId(dto.getOrderId());
+ entity.setRouteItemId(dto.getRouteItemId());
+ entity.setIsRequired(dto.getIsRequired());
+ // 鍙栧綋鍓嶈鍗�+璺嚎鏄庣粏涓嬫渶澶� sort + 1
+ ProcessRouteItemParamInstance maxSortItem = getOne(new LambdaQueryWrapper<ProcessRouteItemParamInstance>()
+ .select(ProcessRouteItemParamInstance::getSort)
+ .eq(ProcessRouteItemParamInstance::getOrderId, dto.getOrderId())
+ .eq(ProcessRouteItemParamInstance::getRouteItemId, dto.getRouteItemId())
+ .orderByDesc(ProcessRouteItemParamInstance::getSort)
+ .last("limit 1"));
+ entity.setSort(maxSortItem != null && maxSortItem.getSort() != null ? maxSortItem.getSort() + 1 : 1);
+ entity.setTenantId(tenantId);
+ entity.setCreateTime(LocalDateTime.now());
+ save(entity);
+ }
+
+ @Override
+ public void updateRouteItemParam(ProcessRouteItemParamInstanceDto dto) {
+ if (dto == null || dto.getId() == null) {
+ throw new ServiceException("鏇存柊鏁版嵁鎴朓D涓嶈兘涓虹┖");
+ }
+ if (getById(dto.getId()) == null) {
+ throw new ServiceException("鏁版嵁涓嶅瓨鍦�");
+ }
+ ProcessRouteItemParamInstance entity = new ProcessRouteItemParamInstance();
+ BeanUtils.copyProperties(dto, entity);
+ entity.setUpdateTime(LocalDateTime.now());
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteRouteItemParam(Long id) {
+ if (id == null) {
+ throw new ServiceException("ID涓嶈兘涓虹┖");
+ }
+ if (getById(id) == null) {
+ throw new ServiceException("鏁版嵁涓嶅瓨鍦�");
+ }
+ removeById(id);
+ }
+}
--
Gitblit v1.9.3