mitao
3 天以前 652db871507244a5838fc6b36d9b9771b527ad61
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java
@@ -42,6 +42,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -523,14 +525,15 @@
    }
    @Override
    public OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer storageId) {
        OaApprovalApplicationStorage storage = this.getById(storageId);
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
    public OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer approvalApplicationId) {
        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
        if (app == null) {
            throw new ServiceException("审批主记录不存在");
        }
        OaApprovalApplicationStorage storage = this.lambdaQuery()
                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplicationStorageGeneralDetailVO vo = new OaApprovalApplicationStorageGeneralDetailVO();
@@ -549,18 +552,18 @@
            // 批量查询使用部门
            List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                    : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
            // 批量查询仓库
            List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
            List<OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO> items = mains.stream().map(m -> {
                OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO.class);
                if (m.getOwnershipDeptId() != null) {
                    TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                }
                if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                    TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -577,14 +580,15 @@
    }
    @Override
    public OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer storageId) {
        OaApprovalApplicationStorage storage = this.getById(storageId);
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
    public OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer approvalApplicationId) {
        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
        if (app == null) {
            throw new ServiceException("审批主记录不存在");
        }
        OaApprovalApplicationStorage storage = this.lambdaQuery()
                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplicationStoragePropertyDetailVO vo = new OaApprovalApplicationStoragePropertyDetailVO();
@@ -607,19 +611,19 @@
            // 批量查询使用部门
            List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                    : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
            // 批量查询仓库
            List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
            List<OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO> items = mains.stream().map(m -> {
                OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO.class);
                if (m.getOwnershipDeptId() != null) {
                    TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                }
                if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                    TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -655,14 +659,15 @@
    }
    @Override
    public OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer storageId) {
        OaApprovalApplicationStorage storage = this.getById(storageId);
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
    public OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer approvalApplicationId) {
        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
        if (app == null) {
            throw new ServiceException("审批主记录不存在");
        }
        OaApprovalApplicationStorage storage = this.lambdaQuery()
                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
        if (storage == null) {
            throw new ServiceException("入库申请不存在");
        }
        OaApprovalApplicationStorageVehicleDetailVO vo = new OaApprovalApplicationStorageVehicleDetailVO();
@@ -685,18 +690,18 @@
            // 批量查询使用部门
            List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                    : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
            // 批量查询仓库
            List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                    .filter(Objects::nonNull).distinct().collect(Collectors.toList());
            Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
            List<OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO> items = mains.stream().map(m -> {
                OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO.class);
                if (m.getOwnershipDeptId() != null) {
                    TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                }
                if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                    TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -730,6 +735,7 @@
            v.setDeptName(app.getDeptName());
            v.setApplicantUserId(app.getApplicantUserId());
            v.setApplicantName(app.getApplicantName());
            v.setApprovalStatus(app.getApprovalStatus());
            v.setApplicationDate(app.getApplicationDate());
            v.setApplicationReason(app.getApplicationReason());
            v.setAttachmentUrl(app.getAttachmentUrl());
@@ -743,6 +749,7 @@
            v.setDeptName(app.getDeptName());
            v.setApplicantUserId(app.getApplicantUserId());
            v.setApplicantName(app.getApplicantName());
            v.setApprovalStatus(app.getApprovalStatus());
            v.setApplicationDate(app.getApplicationDate());
            v.setApplicationReason(app.getApplicationReason());
            v.setAttachmentUrl(app.getAttachmentUrl());
@@ -756,6 +763,7 @@
            v.setDeptName(app.getDeptName());
            v.setApplicantUserId(app.getApplicantUserId());
            v.setApplicantName(app.getApplicantName());
            v.setApprovalStatus(app.getApprovalStatus());
            v.setApplicationDate(app.getApplicationDate());
            v.setApplicationReason(app.getApplicationReason());
            v.setAttachmentUrl(app.getAttachmentUrl());
@@ -770,7 +778,20 @@
    public PageInfo<StorageListVO> pageList(ApprovalDetailQuery query) {
        PageInfo<StorageListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<StorageListVO> list = this.baseMapper.pageList(query,pageInfo);
        for (StorageListVO storageListVO : list) {
            BigDecimal value = new BigDecimal(storageListVO.getQuantity()).multiply(storageListVO.getUnitPrice()).setScale(2, RoundingMode.HALF_UP);
            storageListVO.setTotalValue(value);
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void removeByApplicationId(Integer id) {
        //删除入库申请相关数据
        this.lambdaUpdate().eq(OaApprovalApplicationStorage::getApprovalApplicationId, id).remove();
        //删除入库申请单
        oaApprovalApplicationsService.removeById(id);
    }
}