| | |
| | | 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; |
| | |
| | | @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; |
| | |
| | | // 批量保存资产主表 |
| | | 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) { |
| | |
| | | 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); |
| | | } |
| | | /** |
| | | * 批量保存扩展信息 |
| | | */ |
| | |
| | | } |
| | | return Collections.emptyList(); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AssetMainPageVO> getAssetPageList(AssetMainPageQuery pageQuery) { |
| | | Page<AssetMainPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); |
| | | return this.baseMapper.getAssetPageList(page, pageQuery); |
| | | } |
| | | } |