| | |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysDeptMapper; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | | import com.ruoyi.project.system.service.ISysNoticeService; |
| | | import com.ruoyi.sales.mapper.CommonFileMapper; |
| | | import com.ruoyi.sales.pojo.CommonFile; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | private final ApproveProcessMapper approveProcessMapper; |
| | | private final TempFileServiceImpl tempFileService; |
| | | private final CommonFileMapper commonFileMapper; |
| | | private final ISysNoticeService sysNoticeService; |
| | | |
| | | @Override |
| | | public void addApprove(ApproveProcessVO approveProcessVO) throws Exception { |
| | |
| | | if(CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("审核用户不存在"); |
| | | if(sysDept == null) throw new RuntimeException("部门不存在"); |
| | | if(sysUser == null) throw new RuntimeException("申请人不存在"); |
| | | // String today = LocalDate.now().format(DATE_FORMAT); |
| | | String approve_process = OrderUtils.countTodayByCreateTime(approveProcessMapper, ""); |
| | | // Long approveId = dailyRedisCounter.incrementAndGetByDb(); |
| | | // String formattedCount = String.format("%03d", approveId); |
| | | String today = LocalDate.now().format(DATE_FORMAT); |
| | | Long approveId = dailyRedisCounter.incrementAndGetByDb(); |
| | | String formattedCount = String.format("%03d", approveId); |
| | | //流程 ID |
| | | // String approveID = today + formattedCount; |
| | | String approveID = today + formattedCount; |
| | | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | ApproveProcess approveProcess = new ApproveProcess(); |
| | | BeanUtils.copyProperties(approveProcessVO, approveProcess); |
| | | approveProcess.setApproveId(approve_process); |
| | | approveProcess.setApproveId(approveID); |
| | | approveProcess.setApproveUser(approveProcessVO.getApproveUser()); |
| | | approveProcess.setApproveUserName(sysUser.getNickName()); |
| | | approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId()); |
| | |
| | | approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(","))); |
| | | approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime())); |
| | | approveProcess.setApproveReason(approveProcessVO.getApproveReason()); |
| | | approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId()); |
| | | approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice()); |
| | | approveProcess.setApproveOverTime(null); |
| | | approveProcess.setApproveStatus(0); |
| | | approveProcess.setApproveDelete(0); |
| | |
| | | } |
| | | save(approveProcess); |
| | | //初始化审批节点 |
| | | approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approve_process,approveProcessVO.getApproveDeptId()); |
| | | approveNodeService.initApproveNodes(approveProcessVO.getApproveUserIds(),approveID,approveProcessVO.getApproveDeptId()); |
| | | // 附件绑定 |
| | | tempFileService.migrateTempFilesToFormal(approveProcess.getId(), approveProcessVO.getTempFileIds(), FileNameType.ApproveProcess.getValue()); |
| | | /*消息通知*/ |
| | | String id = approveProcessVO.getApproveUserIds().split(",")[0]; |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcessVO.getApproveType()), |
| | | approveID+"流程编号的审批需要您审核!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | | approveProcessVO.getApproveDeptId(), |
| | | "/collaborativeApproval/approvalProcess?approveType="+approveProcessVO.getApproveType()+"&approveId="+approveID); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | |
| | | //审批类型获取(与前端页面对应) |
| | | private String approveProcessType(Integer approveType){ |
| | | switch (approveType){ |
| | | case 1: |
| | | return "公出管理"; |
| | | case 2: |
| | | return "请假管理"; |
| | | case 3: |
| | | return "出差管理"; |
| | | case 4: |
| | | return "报销管理"; |
| | | case 5: |
| | | return "采购审批"; |
| | | case 6: |
| | | return "报价审批"; |
| | | case 7: |
| | | return "出库审批"; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | } |