mitao
昨天 4ad572c4e51e44e3134def3c70879b3a698ab1d8
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java
@@ -6,7 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.system.dto.dispose.OaApprovalApplicationDisposeDTO;
import com.ruoyi.system.dto.asset.OaApprovalApplicationDisposeDTO;
import com.ruoyi.system.emums.ApprovalStatusEnum;
import com.ruoyi.system.emums.ApprovalTypeEnum;
import com.ruoyi.system.mapper.OaApprovalApplicationDisposeMapper;
@@ -15,12 +15,15 @@
import com.ruoyi.system.model.OaApprovalApplications;
import com.ruoyi.system.model.OaApprovalFlowNode;
import com.ruoyi.system.query.OaApprovalApplicationDisposePageQuery;
import com.ruoyi.system.service.AssetMainService;
import com.ruoyi.system.service.OaApprovalApplicationAssetItemService;
import com.ruoyi.system.service.OaApprovalApplicationDisposeService;
import com.ruoyi.system.service.OaApprovalApplicationsService;
import com.ruoyi.system.service.OaApprovalFlowNodeService;
import com.ruoyi.system.service.OaApprovalTodoService;
import com.ruoyi.system.vo.dispose.OaApprovalApplicationDisposePageVO;
import com.ruoyi.system.vo.asset.AssetMainVO;
import com.ruoyi.system.vo.asset.OaApprovalApplicationDisposeDetailVO;
import com.ruoyi.system.vo.asset.OaApprovalApplicationDisposePageVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,6 +31,7 @@
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,6 +51,7 @@
    private final OaApprovalFlowNodeService oaApprovalFlowNodeService;
    private final OaApprovalTodoService oaApprovalTodoService;
    private final OaApprovalApplicationAssetItemService oaApprovalApplicationAssetItemService;
    private final AssetMainService assetMainService;
    @Override
    public IPage<OaApprovalApplicationDisposePageVO> getDisposePageList(OaApprovalApplicationDisposePageQuery pageQuery) {
@@ -133,4 +138,31 @@
        oaApprovalApplicationAssetItemService.lambdaUpdate().eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationId).remove();
        oaApprovalApplicationsService.removeById(applicationId);
    }
    @Override
    public OaApprovalApplicationDisposeDetailVO getDisposeDetail(Integer id) {
        OaApprovalApplications app = oaApprovalApplicationsService.getById(id);
        if (app == null) {
            throw new ServiceException("审批主记录不存在");
        }
        OaApprovalApplicationDispose detail = this.lambdaQuery().eq(OaApprovalApplicationDispose::getApprovalApplicationId, app.getId()).one();
        if (detail == null) {
            throw new ServiceException("记录不存在");
        }
        oaApprovalApplicationsService.assembleApplicationDetail(app);
        List<Integer> assetMainIds = oaApprovalApplicationAssetItemService.lambdaQuery()
                .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId())
                .list().stream().map(OaApprovalApplicationAssetItem::getAssetMainId)
                .distinct().collect(Collectors.toList());
        List<AssetMainVO> assetMainVOS = assetMainIds.isEmpty() ? Collections.emptyList() : assetMainService.getListByIds(assetMainIds);
        OaApprovalApplicationDisposeDetailVO vo = BeanUtil.copyProperties(app, OaApprovalApplicationDisposeDetailVO.class);
        vo.setTitle(detail.getTitle());
        vo.setAssetTypeId(detail.getAssetTypeId());
        vo.setDisposeTime(detail.getDisposeTime());
        vo.setDisposeType(detail.getDisposeType());
        vo.setDisposeTotalAmount(detail.getDisposeTotalAmount());
        vo.setItems(assetMainVOS);
        return vo;
    }
}