From dd69bfc1fb8e5e28dde754fab7f23bfb1a18faa5 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 05 六月 2026 16:58:07 +0800
Subject: [PATCH] config(dev): 更新开发环境配置和文件上传功能 - 调整文件上传路径配置 - 修复OA环境文件链接前缀配置 - 在审批实例服务中添加报销相关数据删除逻辑 - 实现申请人姓名自动填充功能 - 添加文件下载预览路由的正则表达式支持 - 为企业新闻VO添加附件列表兼容别名 - 完善员工入职服务的异常处理 - 新增账户附件管理控制器 - 实现文件上传接口并返回完整文件信息
---
src/main/java/com/ruoyi/technology/service/impl/TechnologyOperationServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 77 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyOperationServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyOperationServiceImpl.java
index 5294fb8..da9ed8b 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyOperationServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyOperationServiceImpl.java
@@ -1,20 +1,89 @@
package com.ruoyi.technology.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.framework.web.domain.R;
+import com.ruoyi.technology.bean.dto.TechnologyOperationDto;
+import com.ruoyi.technology.bean.vo.TechnologyOperationVo;
+import com.ruoyi.technology.mapper.TechnologyBomStructureMapper;
import com.ruoyi.technology.mapper.TechnologyOperationMapper;
+import com.ruoyi.technology.mapper.TechnologyOperationParamMapper;
+import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
+import com.ruoyi.technology.pojo.TechnologyBomStructure;
import com.ruoyi.technology.pojo.TechnologyOperation;
+import com.ruoyi.technology.pojo.TechnologyOperationParam;
+import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
import com.ruoyi.technology.service.TechnologyOperationService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
-/**
- * <p>
- * 宸ュ簭琛� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-04-20 10:33:03
- */
+import java.util.List;
+import java.util.stream.Collectors;
+
@Service
+@RequiredArgsConstructor
public class TechnologyOperationServiceImpl extends ServiceImpl<TechnologyOperationMapper, TechnologyOperation> implements TechnologyOperationService {
+ private final TechnologyOperationMapper technologyOperationMapper;
+ private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
+ private final TechnologyBomStructureMapper technologyBomStructureMapper;
+ private final TechnologyOperationParamMapper technologyOperationParamMapper;
+
+ /**
+ * 鍒嗛〉鏌ヨ宸ュ簭鍒楄〃銆�
+ */
+ @Override
+ public IPage<TechnologyOperationVo> listPage(Page<TechnologyOperationDto> page, TechnologyOperationDto technologyOperationDto) {
+ return technologyOperationMapper.listPage(page, technologyOperationDto);
+ }
+
+ /**
+ * 鏂板宸ュ簭骞惰ˉ榻愬伐搴忕紪鐮併��
+ */
+ @Override
+ public R add(TechnologyOperationDto technologyOperationDto) {
+ TechnologyOperation technologyOperation = new TechnologyOperation();
+ BeanUtils.copyProperties(technologyOperationDto, technologyOperation);
+ boolean saved = technologyOperationMapper.insert(technologyOperation) > 0;
+ if (saved && ObjectUtils.isNull(technologyOperationDto.getNo())) {
+ technologyOperation.setNo("GX" + String.format("%08d", technologyOperation.getId()));
+ technologyOperationMapper.updateById(technologyOperation);
+ }
+ return R.ok();
+ }
+
+ /**
+ * 鍒犻櫎宸ュ簭鍓嶆牎楠屾槸鍚﹀凡琚獴OM缁撴瀯鎴栧伐鑹鸿矾绾垮紩鐢ㄣ��
+ */
+ @Override
+ public String batchDelete(List<Long> ids) {
+ List<TechnologyRoutingOperation> routingOperations = technologyRoutingOperationMapper.selectList(
+ Wrappers.<TechnologyRoutingOperation>lambdaQuery().in(TechnologyRoutingOperation::getTechnologyOperationId, ids));
+ List<TechnologyBomStructure> bomStructures = technologyBomStructureMapper.selectList(
+ Wrappers.<TechnologyBomStructure>lambdaQuery().in(TechnologyBomStructure::getOperationId, ids));
+ if (!CollectionUtils.isEmpty(routingOperations) || !CollectionUtils.isEmpty(bomStructures)) {
+ throw new RuntimeException("Operation is referenced and cannot be deleted");
+ }
+ technologyOperationParamMapper.delete(Wrappers.<TechnologyOperationParam>lambdaQuery()
+ .in(TechnologyOperationParam::getTechnologyOperationId, ids));
+ technologyOperationMapper.deleteBatchIds(ids);
+ return null;
+ }
+
+ /**
+ * 鏌ヨ鍏ㄩ儴宸ュ簭骞惰浆鎹负杩斿洖瀵硅薄銆�
+ */
+ @Override
+ public List<TechnologyOperationVo> listVo() {
+ return this.list().stream().map(item -> {
+ TechnologyOperationVo vo = new TechnologyOperationVo();
+ BeanUtils.copyProperties(item, vo);
+ return vo;
+ }).collect(Collectors.toList());
+ }
}
--
Gitblit v1.9.3