src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/approve/service/IApproveProcessService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/common/enums/FileNameType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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("参数不能为空"); } 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; /** * 流程编号 */ 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); 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()); } 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; 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; 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; src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -85,6 +85,7 @@ * * @param businessId 业务ID(销售台账ID) * @param tempFileIds 临时文件ID列表 * @param fileType 文件类型(来自FileNameType) * @throws IOException 文件操作异常 */ public void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds, Integer fileType) throws IOException {