| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | 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.IApproveNodeService; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.mapper.DeviceRepairMapper; |
| | | import com.ruoyi.device.pojo.DeviceRepair; |
| | | import com.ruoyi.other.service.impl.TempFileServiceImpl; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | | import com.ruoyi.purchase.mapper.PurchaseLedgerMapper; |
| | | import com.ruoyi.purchase.pojo.PurchaseLedger; |
| | | import com.ruoyi.sales.mapper.CommonFileMapper; |
| | | import com.ruoyi.sales.mapper.SalesLedgerMapper; |
| | | import com.ruoyi.sales.pojo.CommonFile; |
| | | import com.ruoyi.sales.pojo.SalesLedger; |
| | | import com.ruoyi.sales.service.impl.CommonFileServiceImpl; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | |
| | | private ApproveProcessMapper approveProcessMapper; |
| | | @Autowired |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | @Autowired |
| | | private SalesLedgerMapper salesLedgerMapper; |
| | | |
| | | @Autowired |
| | | private PurchaseLedgerMapper purchaseLedgerMapper; |
| | | |
| | | @Autowired |
| | | private TempFileServiceImpl tempFileService; |
| | | |
| | | @Autowired |
| | | private CommonFileMapper fileMapper; |
| | | @Autowired |
| | | private DeviceRepairMapper deviceRepairMapper; |
| | | |
| | | |
| | | |
| | | public ApproveProcess getApproveById(String id) { |
| | |
| | | return list; |
| | | } |
| | | for (ApproveNode approveNode : list) { |
| | | List<CommonFile> commonFiles = fileMapper.selectList(new LambdaQueryWrapper<CommonFile>() |
| | | .eq(CommonFile::getCommonId, approveNode.getId()) |
| | | .eq(CommonFile::getType, FileNameType.ApproveNode.getValue())); |
| | | if(!CollectionUtils.isEmpty(commonFiles)){ |
| | | approveNode.setUrl(commonFiles.get(0).getUrl()); |
| | | } |
| | | if(approveNode.getApproveNodeStatus() == 1){ |
| | | continue; |
| | | } |
| | |
| | | return list; |
| | | } |
| | | |
| | | public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) { |
| | | public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) throws IOException { |
| | | LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId()) |
| | | .eq(ApproveProcess::getApproveDelete, 0) |
| | |
| | | ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper); |
| | | approveProcess.setApproveStatus(status); |
| | | if(approveNode1 != null){ |
| | | approveProcess.setApproveUserCurrentId(approveNode.getApproveNodeUserId()); |
| | | approveProcess.setApproveUserCurrentId(approveNode1.getApproveNodeUserId()); |
| | | approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser()); |
| | | } |
| | | if(approveProcess.getApproveStatus().equals(2) || approveProcess.getApproveStatus().equals(3) || approveProcess.getApproveStatus().equals(4)){ |
| | | approveProcess.setApproveOverTime(new Date()); |
| | | } |
| | | approveProcessMapper.updateById(approveProcess); |
| | | |
| | | //如果是6销售审批,对应销售关联的表需要更新 |
| | | if (approveProcess.getApproveType()==6){ |
| | | List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(Wrappers. |
| | | <SalesLedger>lambdaQuery().eq(SalesLedger::getSalesContractNo, approveProcess.getApproveReason())); |
| | | if (!CollectionUtils.isEmpty(salesLedgers)){ |
| | | SalesLedger salesLedger = salesLedgers.get(0); |
| | | salesLedger.setApprovalStatus(status); |
| | | salesLedgerMapper.updateById(salesLedger); |
| | | } |
| | | } |
| | | //如果是5采购审批,对应采购关联的表需要更新 |
| | | if (approveProcess.getApproveType()==5){ |
| | | List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(Wrappers.<PurchaseLedger>lambdaQuery().eq(PurchaseLedger::getPurchaseContractNumber, approveProcess.getApproveReason())); |
| | | if (!CollectionUtils.isEmpty(purchaseLedgers)){ |
| | | PurchaseLedger purchaseLedger = purchaseLedgers.get(0); |
| | | purchaseLedger.setApprovalStatus(status); |
| | | purchaseLedgerMapper.updateById(purchaseLedger); |
| | | } |
| | | } |
| | | |
| | | // 绑定附件 |
| | | if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){ |
| | | tempFileService.migrateTempFilesToFormal(approveNode.getId(), approveNode.getTempFileIds(), FileNameType.ApproveNode.getValue()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateApproveNode(ApproveNode approveNode) { |
| | | public void updateApproveNode(ApproveNode approveNode) throws IOException { |
| | | // 审批节点状态:1同意,2拒绝,0尚未审核 |
| | | switch (approveNode.getApproveNodeStatus()){ |
| | | case 1: |