From 83f4a3830b19ef5859708f4795668b74489587c0 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 12 八月 2025 14:25:11 +0800 Subject: [PATCH] yys 协同审批增加附件上传,预览 --- src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 24 ++++++++++++++++++++++-- src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java | 5 +++++ src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java | 4 ++++ src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java | 4 ++++ src/main/java/com/ruoyi/approve/service/IApproveProcessService.java | 5 +++-- src/main/java/com/ruoyi/common/enums/FileNameType.java | 5 ++++- src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java | 5 +++-- src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java | 1 + 8 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java index 9dcda81..1b3e84d 100644 --- a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java +++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.text.ParseException; import java.util.List; @@ -50,7 +51,7 @@ */ @PostMapping("/add") @Transactional(rollbackFor = Exception.class) - public AjaxResult add(@RequestBody ApproveProcessVO approveProcessVO) throws ParseException { + public AjaxResult add(@RequestBody ApproveProcessVO approveProcessVO) throws Exception { if (approveProcessVO == null) { return AjaxResult.warn("鍙傛暟涓嶈兘涓虹┖"); } @@ -79,7 +80,7 @@ */ @PostMapping("/update") @Transactional(rollbackFor = Exception.class) - public AjaxResult update(@RequestBody ApproveGetAndUpdateVo approveGetAndUpdateVo) { + public AjaxResult update(@RequestBody ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException { if (approveGetAndUpdateVo == null) { return AjaxResult.warn("鍙傛暟涓嶈兘涓虹┖"); } diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java index 02e9f45..18c624c 100644 --- a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java +++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java @@ -3,9 +3,11 @@ import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.sales.pojo.CommonFile; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -24,6 +26,9 @@ @TableId(type = IdType.AUTO) private Long id; + @TableField(exist = false) + private List<CommonFile> commonFileList; + /** * 娴佺▼缂栧彿 */ diff --git a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java index d212c46..675c474 100644 --- a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java +++ b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java @@ -9,6 +9,7 @@ import com.ruoyi.approve.vo.ApproveProcessVO; import com.ruoyi.project.system.domain.SysDept; +import java.io.IOException; import java.text.ParseException; import java.util.List; @@ -17,7 +18,7 @@ * 娣诲姞瀹℃壒娴佺▼ * @param approveProcessVO 瀹℃壒娴佺▼VO瀵硅薄 */ - void addApprove(ApproveProcessVO approveProcessVO) throws ParseException; + void addApprove(ApproveProcessVO approveProcessVO) throws Exception; /** * 鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬淇℃伅 * @param deptIds 閮ㄩ棬ID鏁扮粍 @@ -28,7 +29,7 @@ void delApprove(Long[] ids); - void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo); + void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException; ApproveProcess getApproveById(String id); 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 2c04224..7617f63 100644 --- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java +++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java @@ -14,11 +14,15 @@ import com.ruoyi.approve.utils.DailyRedisCounter; import com.ruoyi.approve.vo.ApproveGetAndUpdateVo; import com.ruoyi.approve.vo.ApproveProcessVO; +import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.other.service.impl.TempFileServiceImpl; import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysDeptMapper; import com.ruoyi.project.system.mapper.SysUserMapper; +import com.ruoyi.sales.mapper.CommonFileMapper; +import com.ruoyi.sales.pojo.CommonFile; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +32,7 @@ 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; @@ -52,9 +57,11 @@ private final IApproveNodeService approveNodeService; private final SysUserMapper sysUserMapper; private final ApproveProcessMapper approveProcessMapper; + private final TempFileServiceImpl tempFileService; + private final CommonFileMapper commonFileMapper; @Override - public void addApprove(ApproveProcessVO approveProcessVO) throws ParseException { + public void addApprove(ApproveProcessVO approveProcessVO) throws Exception { SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser()); SysDept sysDept = sysDeptMapper.selectDeptById(approveProcessVO.getApproveDeptId()); String[] split = approveProcessVO.getApproveUserIds().split(","); @@ -102,6 +109,8 @@ save(approveProcess); //鍒濆鍖栧鎵硅妭鐐� approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approveID,approveProcessVO.getApproveDeptId()); + // 闄勪欢缁戝畾 + tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue()); } @Override @@ -117,6 +126,13 @@ @Override public IPage<ApproveProcess> listAll(Page page,ApproveProcess approveProcess) { IPage<ApproveProcess> approveProcessIPage = approveProcessMapper.listPage(page,approveProcess); + List<ApproveProcess> records = approveProcessIPage.getRecords(); + for (ApproveProcess record : records) { + List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>() + .eq(CommonFile::getCommonId, record.getId()) + .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue())); + record.setCommonFileList(commonFiles); + } return approveProcessIPage; } @@ -142,6 +158,9 @@ queryWrapper.eq(ApproveProcess::getTenantId, SecurityUtils.getLoginUser().getTenantId()); queryWrapper.last("limit 1"); ApproveProcess one = getOne(queryWrapper); + one.setCommonFileList(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>() + .eq(CommonFile::getCommonId, one.getId()) + .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue()))); return one; } @@ -149,7 +168,7 @@ @Override - public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) { + public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException { ApproveProcess approve = approveProcessMapper.selectById(approveGetAndUpdateVo.getId()); approve.setApproveUserIds(approveGetAndUpdateVo.getApproveUserIds()); approve.setApproveReason(approveGetAndUpdateVo.getApproveReason()); @@ -188,6 +207,7 @@ approveNodeMapper.updateById(approveNode); i++; } + tempFileService.migrateTempFilesToFormal(approve.getId(), approveGetAndUpdateVo.getTempFileIds(), FileNameType.ApproveProcess.getValue()); } diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java b/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java index 98c5d52..a081cf8 100644 --- a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java +++ b/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java @@ -1,11 +1,15 @@ package com.ruoyi.approve.vo; +import com.ruoyi.sales.pojo.CommonFile; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.List; @Data public class ApproveGetAndUpdateVo { + + private List<String> tempFileIds; //瀹℃壒id @NotBlank(message = "娴佺▼缂栧彿涓嶈兘涓虹┖") private String id; diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java index 8d793d8..b8381fb 100644 --- a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java +++ b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java @@ -1,12 +1,16 @@ package com.ruoyi.approve.vo; +import com.ruoyi.sales.pojo.CommonFile; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.List; @Data public class ApproveProcessVO { + private List<String> tempFileIds; + private Long id; diff --git a/src/main/java/com/ruoyi/common/enums/FileNameType.java b/src/main/java/com/ruoyi/common/enums/FileNameType.java index ded6e9f..16d51f6 100644 --- a/src/main/java/com/ruoyi/common/enums/FileNameType.java +++ b/src/main/java/com/ruoyi/common/enums/FileNameType.java @@ -1,5 +1,7 @@ package com.ruoyi.common.enums; +import com.ruoyi.approve.pojo.ApproveProcess; + public enum FileNameType { SALE(1), // 閿�鍞� @@ -8,7 +10,8 @@ PURCHASELEDGER(4), MEASURING(5), //璁¢噺鍣ㄥ叿鍙拌处 MEASURINGRecord(6),//璁¢噺鍣ㄥ叿鍙拌处璁板綍 - ApproveNode(7); //鍗忓悓瀹℃壒瀹℃牳 + ApproveNode(7), //鍗忓悓瀹℃壒鑺傜偣瀹℃牳 + ApproveProcess(8); //鍗忓悓瀹℃壒涓绘暟鎹� private final int value; diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java index d43adf0..ee26512 100644 --- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java +++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java @@ -85,6 +85,7 @@ * * @param businessId 涓氬姟ID锛堥攢鍞彴璐D锛� * @param tempFileIds 涓存椂鏂囦欢ID鍒楄〃 + * @param fileType 鏂囦欢绫诲瀷(鏉ヨ嚜FileNameType) * @throws IOException 鏂囦欢鎿嶄綔寮傚父 */ public void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds, Integer fileType) throws IOException { -- Gitblit v1.9.3