From 2a71f6790ddf6be7f63e6b009fc8d325a2a1d13b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 27 四月 2026 13:07:34 +0800
Subject: [PATCH] 添加相关接口附件信息
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 113 ++++++++++++++++++++++++--------------------------------
1 files changed, 49 insertions(+), 64 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 9e74e2a..3143391 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -6,15 +6,20 @@
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.approve.vo.ApproveProcessVo;
+import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessConfigNodeVo;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
import com.ruoyi.approve.mapper.ApproveNodeMapper;
import com.ruoyi.approve.mapper.ApproveProcessMapper;
import com.ruoyi.approve.pojo.ApproveNode;
import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.ApproveProcessConfigNodeService;
import com.ruoyi.approve.service.IApproveNodeService;
import com.ruoyi.approve.service.IApproveProcessService;
-import com.ruoyi.approve.utils.DailyRedisCounter;
-import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
-import com.ruoyi.approve.vo.ApproveProcessVO;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
@@ -32,63 +37,47 @@
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.IOException;
-import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
@Service
-//@RequiredArgsConstructor
+@RequiredArgsConstructor
public class ApproveProcessServiceImpl extends ServiceImpl<ApproveProcessMapper, ApproveProcess> implements IApproveProcessService {
private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd");
- @Autowired
- private StringRedisTemplate redisTemplate;
- @Autowired
- private DailyRedisCounter dailyRedisCounter;
- @Autowired
- private SysDeptMapper sysDeptMapper;
- @Autowired
- private IApproveNodeService approveNodeService;
- @Autowired
- private SysUserMapper sysUserMapper;
- @Autowired
- private ApproveProcessMapper approveProcessMapper;
- @Autowired
- private TempFileServiceImpl tempFileService;
- @Autowired
- private CommonFileMapper commonFileMapper;
- @Autowired
- private CommonFileServiceImpl commonFileService;
- @Autowired
- private ISysNoticeService sysNoticeService;
+ private final SysDeptMapper sysDeptMapper;
+ private final IApproveNodeService approveNodeService;
+ private final SysUserMapper sysUserMapper;
+ private final ApproveProcessMapper approveProcessMapper;
+ private final TempFileServiceImpl tempFileService;
+ private final CommonFileMapper commonFileMapper;
+ private final CommonFileServiceImpl commonFileService;
+ private final ISysNoticeService sysNoticeService;
+ private final PurchaseLedgerMapper purchaseLedgerMapper;
+ private final ShippingInfoMapper shippingInfoMapper;
+ private final ApproveNodeMapper approveNodeMapper;
+ private final ApproveProcessConfigNodeService approveProcessConfigNodeService;
+ private final FileUtil fileUtil;
@Override
public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
- SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser());
- SysDept sysDept = sysDeptMapper.selectDeptById(approveProcessVO.getApproveDeptId());
- String[] split = approveProcessVO.getApproveUserIds().split(",");
- List<Long> longList = Arrays.stream(split)
- .map(Long::valueOf) // 灏嗘瘡涓� String 杞崲涓� Long
+ SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+ SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getLoginUser().getCurrentDeptId());
+ List<ApproveProcessConfigNodeVo> list = approveProcessConfigNodeService.listNode( approveProcessVO.getApproveType());
+ List<Long> nodeIds = list.stream()
+ .map(ApproveProcessConfigNodeVo::getApproverId)
.collect(Collectors.toList());
- List<SysUser> sysUsers = sysUserMapper.selectUserByIds(longList);
+ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(nodeIds);
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
if (sysDept == null) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
if (sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪");
@@ -99,14 +88,15 @@
// String approveID = today + formattedCount;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
ApproveProcess approveProcess = new ApproveProcess();
- String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "SP","approveId");
+ String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "","approve_id");
approveProcess.setApproveId(no);
- approveProcess.setApproveUser(approveProcessVO.getApproveUser());
+ approveProcess.setApproveUser(sysUser.getUserId());
approveProcess.setApproveUserName(sysUser.getNickName());
- approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId());
+ approveProcess.setApproveDeptId(sysDept.getDeptId());
+ approveProcess.setApproveUserIds(nodeIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
approveProcess.setApproveDeptName(sysDept.getDeptName());
approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
- approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime()));
+ approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? new Date(): dateFormat.parse(approveProcessVO.getApproveTime()));
approveProcess.setApproveReason(approveProcessVO.getApproveReason());
approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId());
approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice());
@@ -118,11 +108,10 @@
approveProcess.setApproveType(approveProcessVO.getApproveType());
approveProcess.setCreateTime(LocalDateTime.now());
approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
- approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
- approveProcess.setApproveUserCurrentId(longList.get(0));
+ approveProcess.setApproveUserCurrentId(nodeIds.get(0));
approveProcess.setApproveUserCurrentName(sysUsers
.stream()
- .filter(SysUser -> SysUser.getUserId().equals(longList.get(0)))
+ .filter(SysUser -> SysUser.getUserId().equals(nodeIds.get(0)))
.collect(Collectors.toList())
.get(0)
.getNickName());
@@ -134,20 +123,23 @@
}
save(approveProcess);
//鍒濆鍖栧鎵硅妭鐐�
- approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(), no, approveProcessVO.getApproveDeptId());
+ String nodeIdStr = nodeIds.stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ approveNodeService.initApproveNodes(nodeIdStr, no, approveProcessVO.getApproveDeptId());
// 闄勪欢缁戝畾
tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue());
/*娑堟伅閫氱煡*/
- String id = approveProcessVO.getApproveUserIds().split(",")[0];
+ Long id = nodeIds.getFirst();
if (approveProcess.getApproveType()==8){
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
- Arrays.asList(Long.valueOf(id)),
+ Collections.singletonList(id),
"/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
}else {
sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
- Arrays.asList(Long.valueOf(id)),
+ Collections.singletonList(id),
"/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
}
}
@@ -162,18 +154,12 @@
return sysDeptList;
}
- @Autowired
- private PurchaseLedgerMapper purchaseLedgerMapper;
-
- @Autowired
- private ShippingInfoMapper shippingInfoMapper;
-
@Override
- public IPage<ApproveProcess> listAll(Page page, ApproveProcess approveProcess) {
- IPage<ApproveProcess> approveProcessIPage = approveProcessMapper.listPage(page, approveProcess);
- List<ApproveProcess> records = approveProcessIPage.getRecords();
+ public IPage<ApproveProcessVo> listAll(Page page, ApproveProcess approveProcess) {
+ IPage<ApproveProcessVo> approveProcessIPage = approveProcessMapper.listPage(page, approveProcess);
+ List<ApproveProcessVo> records = approveProcessIPage.getRecords();
- for (ApproveProcess record : records) {
+ for (ApproveProcessVo record : records) {
List<CommonFile> allFiles = new ArrayList<>();
// 閲囪喘瀹℃壒鏌ヨ
@@ -217,6 +203,7 @@
}
record.setCommonFileList(allFiles);
+ record.setStorageBlobVOs(fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(RecordTypeEnum.APPROVE_PROCESS, record.getId()));
}
return approveProcessIPage;
}
@@ -305,8 +292,6 @@
return one;
}
- @Autowired
- private ApproveNodeMapper approveNodeMapper;
// 鎶ヤ环瀹℃壒缂栬緫瀹℃牳浜�
public void updateApproveUser(ApproveGetAndUpdateVo approveGetAndUpdateVo) {
@@ -315,7 +300,7 @@
.eq(ApproveProcess::getApproveReason, approveGetAndUpdateVo.getApproveReason())
.last("limit 1");
ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
- if (approveProcess == null) throw new RuntimeException("璇烽�夋嫨瀹℃壒浜�");
+ if (approveProcess == null) throw new RuntimeException("鈥�");
String[] split = approveGetAndUpdateVo.getApproveUserIds().split(",");
if (split.length == 0) {
throw new RuntimeException("璇烽�夋嫨瀹℃壒浜�");
--
Gitblit v1.9.3