From 4ad572c4e51e44e3134def3c70879b3a698ab1d8 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 29 九月 2025 19:56:16 +0800 Subject: [PATCH] 资产变更 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java | 161 ++++++++++++----------------------------------------- 1 files changed, 38 insertions(+), 123 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java index 8482ca5..97d8f45 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -38,6 +39,7 @@ import com.ruoyi.system.vo.asset.OaApprovalApplicationStoragePropertyDetailVO; import com.ruoyi.system.vo.asset.OaApprovalApplicationStorageVehicleDetailVO; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -213,16 +215,9 @@ * 构建通用资产主表数据 */ private OaApprovalApplicationStorageAsset buildAssetMain(OaApprovalApplicationStorageGeneralDTO.GeneralAssetItemDTO item, Integer applicationId, Integer assetTypeId, LocalDate storageDate, OaApprovalApplicationStorageGeneralDTO baseDto) { - OaApprovalApplicationStorageAsset assetMain = new OaApprovalApplicationStorageAsset(); - assetMain.setApprovalApplicationId(applicationId.intValue()); - assetMain.setAssetOriginalCode(item.getAssetOriginalCode()); - assetMain.setAssetName(item.getAssetName()); - assetMain.setCategory(item.getCategory()); - assetMain.setSpecificationModel(item.getSpecificationModel()); + OaApprovalApplicationStorageAsset assetMain = BeanUtil.copyProperties(item, OaApprovalApplicationStorageAsset.class); + assetMain.setApprovalApplicationId(applicationId); assetMain.setAssetTypeId(assetTypeId); - assetMain.setMeasurementUnit(item.getMeasurementUnit()); - assetMain.setUnitPrice(item.getUnitPrice()); - assetMain.setUsefulLife(item.getUsefulLife()); // 根据权属单位/部门名称填充ID if (item.getOwnershipDeptName() != null && !item.getOwnershipDeptName().isEmpty()) { TDept ownerDept = tDeptService.lambdaQuery() @@ -232,19 +227,9 @@ assetMain.setOwnershipDeptId(ownerDept.getId()); } } - assetMain.setUserName(item.getUserName()); // 根据整单 addressType 写入使用部门ID或仓库ID applyAddressToAssetMain(assetMain, item.getAddressType(), item.getUseDeptName(), item.getWarehouseName(), item.getAddress()); - assetMain.setAddressType(item.getAddressType()); assetMain.setAssetMainType(AssetTypeEnum.GENERAL.getCode()); - assetMain.setAssetStatus(item.getAssetStatus()); - assetMain.setRemarks(item.getRemarks()); - assetMain.setAccountingStatus(item.getAccountingStatus()); - assetMain.setAccountingDate(item.getAccountingDate()); - assetMain.setAccountingVoucherNo(item.getAccountingVoucherNo()); - assetMain.setAccountingSubject(item.getAccountingSubject()); - assetMain.setAccountingAmount(item.getAccountingAmount()); - assetMain.setDisabled(false); return assetMain; } @@ -252,16 +237,9 @@ * 构建房产资产主表数据 */ private OaApprovalApplicationStorageAsset buildAssetMainFromProperty(OaApprovalApplicationStoragePropertyDTO.PropertyAssetItemDTO item, Integer applicationId, Integer assetTypeId, LocalDate storageDate, OaApprovalApplicationStoragePropertyDTO baseDto) { - OaApprovalApplicationStorageAsset assetMain = new OaApprovalApplicationStorageAsset(); - assetMain.setApprovalApplicationId(applicationId.intValue()); - assetMain.setAssetOriginalCode(item.getAssetOriginalCode()); - assetMain.setAssetName(item.getAssetName()); - assetMain.setCategory(item.getCategory()); - assetMain.setSpecificationModel(item.getSpecificationModel()); + OaApprovalApplicationStorageAsset assetMain = BeanUtil.copyProperties(item, OaApprovalApplicationStorageAsset.class); + assetMain.setApprovalApplicationId(applicationId); assetMain.setAssetTypeId(assetTypeId); - assetMain.setMeasurementUnit(item.getMeasurementUnit()); - assetMain.setUnitPrice(item.getUnitPrice()); - assetMain.setUsefulLife(item.getUsefulLife()); if (item.getOwnershipDeptName() != null && !item.getOwnershipDeptName().isEmpty()) { TDept ownerDept = tDeptService.lambdaQuery() .eq(TDept::getDeptName, item.getOwnershipDeptName()) @@ -270,18 +248,8 @@ assetMain.setOwnershipDeptId(ownerDept.getId()); } } - assetMain.setUserName(item.getUserName()); applyAddressToAssetMain(assetMain, item.getAddressType(), item.getUseDeptName(), item.getWarehouseName(), item.getAddress()); - assetMain.setAddressType(item.getAddressType()); assetMain.setAssetMainType(AssetTypeEnum.HOUSE.getCode()); - assetMain.setAssetStatus(item.getAssetStatus()); - assetMain.setRemarks(item.getRemarks()); - assetMain.setAccountingStatus(item.getAccountingStatus()); - assetMain.setAccountingDate(item.getAccountingDate()); - assetMain.setAccountingVoucherNo(item.getAccountingVoucherNo()); - assetMain.setAccountingSubject(item.getAccountingSubject()); - assetMain.setAccountingAmount(item.getAccountingAmount()); - assetMain.setDisabled(false); return assetMain; } @@ -289,16 +257,9 @@ * 构建车辆资产主表数据 */ private OaApprovalApplicationStorageAsset buildAssetMainFromVehicle(OaApprovalApplicationStorageVehicleDTO.VehicleAssetItemDTO item, Integer applicationId, Integer assetTypeId, LocalDate storageDate, OaApprovalApplicationStorageVehicleDTO baseDto) { - OaApprovalApplicationStorageAsset assetMain = new OaApprovalApplicationStorageAsset(); - assetMain.setApprovalApplicationId(applicationId.intValue()); - assetMain.setAssetOriginalCode(item.getAssetOriginalCode()); - assetMain.setAssetName(item.getAssetName()); - assetMain.setCategory(item.getCategory()); - assetMain.setSpecificationModel(item.getSpecificationModel()); + OaApprovalApplicationStorageAsset assetMain = BeanUtil.copyProperties(item, OaApprovalApplicationStorageAsset.class); + assetMain.setApprovalApplicationId(applicationId); assetMain.setAssetTypeId(assetTypeId); - assetMain.setMeasurementUnit(item.getMeasurementUnit()); - assetMain.setUnitPrice(item.getUnitPrice()); - assetMain.setUsefulLife(item.getUsefulLife()); if (item.getOwnershipDeptName() != null && !item.getOwnershipDeptName().isEmpty()) { TDept ownerDept = tDeptService.lambdaQuery() .eq(TDept::getDeptName, item.getOwnershipDeptName()) @@ -307,18 +268,8 @@ assetMain.setOwnershipDeptId(ownerDept.getId()); } } - assetMain.setUserName(item.getUserName()); applyAddressToAssetMain(assetMain, item.getAddressType(), item.getUseDeptName(), item.getWarehouseName(), item.getAddress()); - assetMain.setAddressType(item.getAddressType()); assetMain.setAssetMainType(AssetTypeEnum.VEHICLE.getCode()); - assetMain.setAssetStatus(item.getAssetStatus()); - assetMain.setRemarks(item.getRemarks()); - assetMain.setAccountingStatus(item.getAccountingStatus()); - assetMain.setAccountingDate(item.getAccountingDate()); - assetMain.setAccountingVoucherNo(item.getAccountingVoucherNo()); - assetMain.setAccountingSubject(item.getAccountingSubject()); - assetMain.setAccountingAmount(item.getAccountingAmount()); - assetMain.setDisabled(false); return assetMain; } @@ -368,25 +319,8 @@ * 构建房产资产扩展数据 */ private OaApprovalApplicationStorageAssetPropertyExt buildAssetPropertyExt(OaApprovalApplicationStoragePropertyDTO.PropertyAssetItemDTO item, Integer assetMainId) { - OaApprovalApplicationStorageAssetPropertyExt propertyExt = new OaApprovalApplicationStorageAssetPropertyExt(); + OaApprovalApplicationStorageAssetPropertyExt propertyExt = BeanUtil.copyProperties(item, OaApprovalApplicationStorageAssetPropertyExt.class); propertyExt.setStorageAssetId(assetMainId); - propertyExt.setRegion(item.getRegion()); - propertyExt.setDesignPurpose(item.getDesignPurpose()); - propertyExt.setBuilding(item.getBuilding()); - propertyExt.setRoomNumber(item.getRoomNumber()); - propertyExt.setConstructionArea(item.getConstructionArea()); - propertyExt.setStructureType(item.getStructureType()); - propertyExt.setCertificateNumber(item.getCertificateNumber()); - propertyExt.setCompletionDate(item.getCompletionDate()); - propertyExt.setDetailedLocation(item.getDetailedLocation()); - propertyExt.setProvincialPlatformValue(item.getProvincialPlatformValue()); - propertyExt.setResettlementSituation(item.getResettlementSituation()); - propertyExt.setMortgaged(item.getMortgaged()); - propertyExt.setTenantName(item.getTenantName()); - propertyExt.setRentalAmount(item.getRentalAmount()); - propertyExt.setLeaseStartDate(item.getLeaseStartDate()); - propertyExt.setLeaseEndDate(item.getLeaseEndDate()); - propertyExt.setDisabled(false); return propertyExt; } @@ -394,17 +328,8 @@ * 构建车辆资产扩展数据 */ private OaApprovalApplicationStorageAssetVehicleExt buildAssetVehicleExt(OaApprovalApplicationStorageVehicleDTO.VehicleAssetItemDTO item, Integer assetMainId) { - OaApprovalApplicationStorageAssetVehicleExt vehicleExt = new OaApprovalApplicationStorageAssetVehicleExt(); + OaApprovalApplicationStorageAssetVehicleExt vehicleExt = BeanUtil.copyProperties(item, OaApprovalApplicationStorageAssetVehicleExt.class); vehicleExt.setStorageAssetId(assetMainId); - vehicleExt.setLicensePlate(item.getLicensePlate()); - vehicleExt.setVinCode(item.getVinCode()); - vehicleExt.setEngineNumber(item.getEngineNumber()); - vehicleExt.setDisplacement(item.getDisplacement()); - vehicleExt.setStaffingSituation(item.getStaffingSituation()); - vehicleExt.setOrigin(item.getOrigin()); - vehicleExt.setAcquisitionDate(item.getAcquisitionDate()); - vehicleExt.setPropertyRightForm(item.getPropertyRightForm()); - vehicleExt.setDisabled(false); return vehicleExt; } @@ -431,39 +356,20 @@ */ private OaApprovalApplications buildOaApprovalApplications(Object dto) { OaApprovalApplications applications = new OaApprovalApplications(); - applications.setApprovalId(ApprovalTypeEnum.IN_STOCK.getCode()); - applications.setApplicationDate(LocalDate.now()); + if (dto instanceof OaApprovalApplicationStorageGeneralDTO) { OaApprovalApplicationStorageGeneralDTO generalDTO = (OaApprovalApplicationStorageGeneralDTO) dto; - applications.setApplicantUserId(generalDTO.getApplicantUserId()); - applications.setApplicantName(generalDTO.getApplicantName()); - applications.setDeptId(generalDTO.getDeptId()); - applications.setDeptName(generalDTO.getDeptName()); - applications.setApplicationDate(LocalDate.now()); - applications.setApplicationReason(generalDTO.getApplicationReason()); - applications.setAttachmentUrl(generalDTO.getAttachmentUrl()); + BeanUtils.copyProperties(generalDTO, applications); } else if (dto instanceof OaApprovalApplicationStoragePropertyDTO) { OaApprovalApplicationStoragePropertyDTO propertyDTO = (OaApprovalApplicationStoragePropertyDTO) dto; - applications.setApplicantUserId(propertyDTO.getApplicantUserId()); - applications.setApplicantName(propertyDTO.getApplicantName()); - applications.setDeptId(propertyDTO.getDeptId()); - applications.setDeptName(propertyDTO.getDeptName()); - applications.setApplicationDate(LocalDate.now()); - applications.setApplicationReason(propertyDTO.getApplicationReason()); - applications.setAttachmentUrl(propertyDTO.getAttachmentUrl()); + BeanUtils.copyProperties(propertyDTO, applications); } else if (dto instanceof OaApprovalApplicationStorageVehicleDTO) { OaApprovalApplicationStorageVehicleDTO vehicleDTO = (OaApprovalApplicationStorageVehicleDTO) dto; - applications.setApplicantUserId(vehicleDTO.getApplicantUserId()); - applications.setApplicantName(vehicleDTO.getApplicantName()); - applications.setDeptId(vehicleDTO.getDeptId()); - applications.setDeptName(vehicleDTO.getDeptName()); - applications.setApplicationDate(LocalDate.now()); - applications.setApplicationReason(vehicleDTO.getApplicationReason()); - applications.setAttachmentUrl(vehicleDTO.getAttachmentUrl()); + BeanUtils.copyProperties(vehicleDTO, applications); } - + applications.setApprovalId(ApprovalTypeEnum.IN_STOCK.getCode()); + applications.setApplicationDate(LocalDate.now()); applications.setApplicationCode(generateApplicationCode()); - applications.setDisabled(0); applications.setApprovalStatus(ApprovalStatusEnum.PENDING.getCode()); return applications; } @@ -473,26 +379,17 @@ */ private OaApprovalApplicationStorage buildOaApprovalApplicationStorage(Object dto, Integer applicationId) { OaApprovalApplicationStorage storage = new OaApprovalApplicationStorage(); - storage.setApprovalApplicationId(applicationId.intValue()); + storage.setApprovalApplicationId(applicationId); if (dto instanceof OaApprovalApplicationStorageGeneralDTO) { OaApprovalApplicationStorageGeneralDTO generalDTO = (OaApprovalApplicationStorageGeneralDTO) dto; - storage.setTitle(generalDTO.getTitle()); - storage.setAssetTypeId(generalDTO.getAssetTypeId()); - storage.setStorageType(generalDTO.getStorageType()); - storage.setStorageTime(generalDTO.getStorageTime()); + BeanUtils.copyProperties(generalDTO, storage); } else if (dto instanceof OaApprovalApplicationStoragePropertyDTO) { OaApprovalApplicationStoragePropertyDTO propertyDTO = (OaApprovalApplicationStoragePropertyDTO) dto; - storage.setTitle(propertyDTO.getTitle()); - storage.setAssetTypeId(propertyDTO.getAssetTypeId()); - storage.setStorageType(propertyDTO.getStorageType()); - storage.setStorageTime(propertyDTO.getStorageTime()); + BeanUtils.copyProperties(propertyDTO, storage); } else if (dto instanceof OaApprovalApplicationStorageVehicleDTO) { OaApprovalApplicationStorageVehicleDTO vehicleDTO = (OaApprovalApplicationStorageVehicleDTO) dto; - storage.setTitle(vehicleDTO.getTitle()); - storage.setAssetTypeId(vehicleDTO.getAssetTypeId()); - storage.setStorageType(vehicleDTO.getStorageType()); - storage.setStorageTime(vehicleDTO.getStorageTime()); + BeanUtils.copyProperties(vehicleDTO, storage); } return storage; @@ -791,6 +688,24 @@ public void removeByApplicationId(Integer id) { //删除入库申请相关数据 this.lambdaUpdate().eq(OaApprovalApplicationStorage::getApprovalApplicationId, id).remove(); + List<OaApprovalApplicationStorageAsset> list = oaApprovalApplicationStorageAssetService.lambdaQuery() + .eq(OaApprovalApplicationStorageAsset::getApprovalApplicationId, id).list(); + List<Integer> storageAssetIds = list.stream().map(OaApprovalApplicationStorageAsset::getId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(storageAssetIds)) { + //删除资产申请扩展表数据 + OaApprovalApplicationStorageAsset oaApprovalApplicationStorageAsset = list.get(0); + if (oaApprovalApplicationStorageAsset.getAssetMainType().equals(AssetTypeEnum.HOUSE.getCode())) { + oaApprovalApplicationStorageAssetPropertyExtService.lambdaUpdate() + .in(OaApprovalApplicationStorageAssetPropertyExt::getStorageAssetId, storageAssetIds).remove(); + + }else if (oaApprovalApplicationStorageAsset.getAssetMainType().equals(AssetTypeEnum.VEHICLE.getCode())) { + oaApprovalApplicationStorageAssetVehicleExtService.lambdaUpdate() + .in(OaApprovalApplicationStorageAssetVehicleExt::getStorageAssetId, storageAssetIds).remove(); + } + } + //删除资产申请主表数据 + oaApprovalApplicationStorageAssetService.lambdaUpdate() + .eq(OaApprovalApplicationStorageAsset::getApprovalApplicationId, id).remove(); //删除入库申请单 oaApprovalApplicationsService.removeById(id); } -- Gitblit v1.7.1