无关风月
2 天以前 88f2a615a6c547adfd992334f42d7cd4aea8d55b
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java
@@ -8,32 +8,16 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.TDept;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.emums.ApprovalTypeEnum;
import com.ruoyi.system.mapper.AssetMainMapper;
import com.ruoyi.system.mapper.AssetPropertyExtMapper;
import com.ruoyi.system.mapper.AssetVehicleExtMapper;
import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetMapper;
import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetPropertyExtMapper;
import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetVehicleExtMapper;
import com.ruoyi.system.model.AssetMain;
import com.ruoyi.system.model.AssetPropertyExt;
import com.ruoyi.system.model.AssetType;
import com.ruoyi.system.model.AssetVehicleExt;
import com.ruoyi.system.model.AssetWarehouse;
import com.ruoyi.system.model.OaApprovalApplicationStorage;
import com.ruoyi.system.model.OaApprovalApplicationStorageAsset;
import com.ruoyi.system.model.OaApprovalApplicationStorageAssetPropertyExt;
import com.ruoyi.system.model.OaApprovalApplicationStorageAssetVehicleExt;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.AssetMainPageQuery;
import com.ruoyi.system.service.AssetMainService;
import com.ruoyi.system.service.AssetPropertyExtService;
import com.ruoyi.system.service.AssetTypeService;
import com.ruoyi.system.service.AssetVehicleExtService;
import com.ruoyi.system.service.AssetWarehouseService;
import com.ruoyi.system.service.OaApprovalApplicationStorageAssetPropertyExtService;
import com.ruoyi.system.service.OaApprovalApplicationStorageAssetService;
import com.ruoyi.system.service.OaApprovalApplicationStorageAssetVehicleExtService;
import com.ruoyi.system.service.OaApprovalApplicationStorageService;
import com.ruoyi.system.service.TDeptService;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.asset.AssetMainPageVO;
import com.ruoyi.system.vo.asset.AssetMainVO;
import lombok.RequiredArgsConstructor;
@@ -59,6 +43,8 @@
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
public class AssetMainServiceImpl extends ServiceImpl<AssetMainMapper, AssetMain> implements AssetMainService {
    private final AssetTypeService assetTypeService;
    private final AssetMainService assetMainService;
    private final AssetInventoryRecordService assetInventoryRecordService;
    private final OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
    private final OaApprovalApplicationStorageService oaApprovalApplicationStorageService;
    private final OaApprovalApplicationStorageAssetPropertyExtService oaApprovalApplicationStorageAssetPropertyExtService;
@@ -182,7 +168,8 @@
        // 批量保存资产主表
        if (!assetMainList.isEmpty()) {
            this.saveBatch(assetMainList);
            saveAssetRecord(0, ApprovalTypeEnum.IN_STOCK.getDesc(),assetMainList.stream().map(AssetMain::getId)
                    .collect(Collectors.toList()));
            // 建立storageAssetId到assetMainId的映射关系
            int assetMainIndex = 0;
            for (OaApprovalApplicationStorageAsset storageAsset : storageAssets) {
@@ -199,7 +186,20 @@
            saveExtensionInfoBatch(storageAssetIdToAssetMainIdMap, storageAssetIdToAssetTypeMap);
        }
    }
    private  void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
        List<AssetInventoryRecord> res = new ArrayList<>();
        Map<Integer, Integer> warehouseMap = assetMainService.list(new LambdaQueryWrapper<AssetMain>()
                .isNotNull(AssetMain::getWarehouseId)).stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
        for (Integer assetMainId : assetMainIds) {
            AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord();
            assetInventoryRecord.setAssetMainId(assetMainId);
            assetInventoryRecord.setWarehouseId(warehouseMap.get(assetMainId));
            assetInventoryRecord.setType(type);
            assetInventoryRecord.setRemarks(approvalType);
            res.add(assetInventoryRecord);
        }
        assetInventoryRecordService.saveBatch(res);
    }
    /**
     * 批量保存扩展信息
     */