123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package cn.cslg.pas.service.business;
- import cn.cslg.pas.common.dto.business.ReportAffairDTO;
- import cn.cslg.pas.common.dto.invalidDTO.AddInvalidRequestFileDTO;
- import cn.cslg.pas.common.dto.invalidDTO.UpdateInvalidRequestFileDTO;
- import cn.cslg.pas.common.vo.invalidVO.InvalidRequestFileVO;
- import cn.cslg.pas.domain.business.AssoReportAffairFile;
- import cn.cslg.pas.domain.business.InvalidRequestFile;
- import cn.cslg.pas.domain.business.ReportAffair;
- import cn.cslg.pas.exception.XiaoShiException;
- import cn.cslg.pas.mapper.InvalidRequestFileMapper;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 无效请求书的Service层
- * @Author xiexiang
- * @Date 2023/12/23
- */
- @Service
- @Slf4j
- public class InvalidRequestFileService extends ServiceImpl<InvalidRequestFileMapper, InvalidRequestFile> {
- @Autowired
- @Lazy
- private ReportAffairService reportAffairService;
- @Autowired
- private AssoReportAffairFileService assoReportAffairFileService;
- /**
- * 上传无效请求书
- * @param addInvalidRequestFileDTO
- */
- public Integer add(AddInvalidRequestFileDTO addInvalidRequestFileDTO){
- if (addInvalidRequestFileDTO == null) {
- throw new XiaoShiException("入参为空");
- }
- Integer projectId = addInvalidRequestFileDTO.getProjectId();
- if (projectId == null) {
- throw new XiaoShiException("报告id为空");
- }
- //1. 首先上传报告事务,拿到报告事务id
- ReportAffairDTO reportAffairDTO = new ReportAffairDTO();
- reportAffairDTO.setProjectId(projectId);
- //无效请求书 1
- reportAffairDTO.setAffairType(1);
- //发生时间是无效请求日
- reportAffairDTO.setOccurredTime(addInvalidRequestFileDTO.getInvalidRequestDate());
- //备注
- reportAffairDTO.setDescription(addInvalidRequestFileDTO.getDescription());
- Integer reportAffairId = reportAffairService.addReportAffair(reportAffairDTO);
- if (reportAffairId == null) {
- throw new XiaoShiException("上传报告事务失败");
- }
- //2. 上传无效请求书
- InvalidRequestFile invalidRequestFile = new InvalidRequestFile();
- BeanUtils.copyProperties(addInvalidRequestFileDTO, invalidRequestFile);
- invalidRequestFile.setReportAffairId(reportAffairId);
- invalidRequestFile.insert();
- //3. 添加报告事务与文件关联
- List<String> fileGuids = addInvalidRequestFileDTO.getFileGuids();
- if (fileGuids != null && !fileGuids.isEmpty()) {
- List<AssoReportAffairFile> assoReportAffairFiles = new ArrayList<>();
- fileGuids.forEach(item -> {
- AssoReportAffairFile assoReportAffairFile = new AssoReportAffairFile();
- assoReportAffairFile.setReportAffairId(reportAffairId);
- assoReportAffairFile.setFileGuid(item);
- assoReportAffairFiles.add(assoReportAffairFile);
- });
- assoReportAffairFileService.saveBatch(assoReportAffairFiles);
- }
- return reportAffairId;
- }
- public InvalidRequestFileVO getInvalidRequestFileVO(Integer reportAffairId) {
- LambdaQueryWrapper<InvalidRequestFile> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(InvalidRequestFile::getReportAffairId, reportAffairId);
- InvalidRequestFile invalidRequestFile = this.getOne(queryWrapper, false);
- InvalidRequestFileVO invalidRequestFileVO = new InvalidRequestFileVO();
- if (invalidRequestFile != null) {
- BeanUtils.copyProperties(invalidRequestFile, invalidRequestFileVO);
- invalidRequestFileVO.setInvalidRequestFileId(invalidRequestFile.getId());
- }
- return invalidRequestFileVO;
- }
- /**
- * 更新无效请求书
- * @param updateInvalidRequestFileDTO
- * @return
- */
- public Integer update(UpdateInvalidRequestFileDTO updateInvalidRequestFileDTO){
- if (updateInvalidRequestFileDTO == null) {
- throw new XiaoShiException("入参为空");
- }
- Integer projectId = updateInvalidRequestFileDTO.getProjectId();
- Integer id = updateInvalidRequestFileDTO.getInvalidRequestFileId();
- if (id == null) {
- throw new XiaoShiException("id为空");
- }
- if (projectId == null) {
- throw new XiaoShiException("报告id为空");
- }
- //1. 根据id查出无效请求书
- InvalidRequestFile invalidRequestFile = this.getById(id);
- if (invalidRequestFile == null) {
- throw new XiaoShiException("invalidRequestFile查询错误");
- }
- BeanUtils.copyProperties(updateInvalidRequestFileDTO, invalidRequestFile);
- invalidRequestFile.updateById();
- Integer reportAffairId = invalidRequestFile.getReportAffairId();
- //2. 拿到报告事务id,获取报告事务
- ReportAffair reportAffair = reportAffairService.getById(reportAffairId);
- reportAffair.setProjectId(projectId);
- //发生时间是无效请求日
- reportAffair.setOccurredTime(updateInvalidRequestFileDTO.getInvalidRequestDate());
- //备注
- reportAffair.setDescription(updateInvalidRequestFileDTO.getDescription());
- reportAffair.updateById();
- //3. 更新报告事务与文件关联
- List<String> fileGuids = updateInvalidRequestFileDTO.getFileGuids();
- assoReportAffairFileService.updateAffairFile(reportAffairId, fileGuids);
- return reportAffairId;
- }
- }
|