From bcbff529977768c5c80714f45d52b4f36629d236 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 16 六月 2025 18:00:30 +0800 Subject: [PATCH] 1.生产加工 2.文件上传 --- ruoyi-common/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java | 3 + main-business/src/main/java/com/ruoyi/business/entity/ProductionInventory.java | 7 +++ main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java | 25 +++++++++++- ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java | 12 ++--- main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java | 20 +++++----- main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java | 28 ++++++++++---- main-business/src/main/java/com/ruoyi/business/dto/ArchiveDto.java | 5 ++ main-business/src/main/java/com/ruoyi/business/service/ArchiveService.java | 5 ++ main-business/src/main/java/com/ruoyi/business/controller/ArchiveController.java | 8 ++++ ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java | 7 +-- 10 files changed, 87 insertions(+), 33 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/controller/ArchiveController.java b/main-business/src/main/java/com/ruoyi/business/controller/ArchiveController.java index 6abe09d..1e7cefe 100644 --- a/main-business/src/main/java/com/ruoyi/business/controller/ArchiveController.java +++ b/main-business/src/main/java/com/ruoyi/business/controller/ArchiveController.java @@ -43,6 +43,14 @@ } /** + * 鏍规嵁id鏌ヨ鏂囦欢鍒楄〃 + */ + @GetMapping("/fileList") + public R fileList(ArchiveDto archiveDto) { + return R.ok( archiveService.fileList(archiveDto)); + } + + /** * 妗f淇℃伅琛ㄥ垹闄� */ @DeleteMapping("/delArchive") diff --git a/main-business/src/main/java/com/ruoyi/business/dto/ArchiveDto.java b/main-business/src/main/java/com/ruoyi/business/dto/ArchiveDto.java index e8b57e2..0587fc1 100644 --- a/main-business/src/main/java/com/ruoyi/business/dto/ArchiveDto.java +++ b/main-business/src/main/java/com/ruoyi/business/dto/ArchiveDto.java @@ -1,10 +1,15 @@ package com.ruoyi.business.dto; +import com.ruoyi.basic.entity.StorageAttachment; import com.ruoyi.business.entity.Archive; import lombok.Data; + +import java.util.List; @Data public class ArchiveDto extends Archive { private Long treeId; + + private List<StorageAttachment> attachments; } diff --git a/main-business/src/main/java/com/ruoyi/business/entity/ProductionInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/ProductionInventory.java index 2bad8a1..678c1ab 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/ProductionInventory.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/ProductionInventory.java @@ -46,4 +46,11 @@ */ @TableField(value = "used_quantity") private Integer usedQuantity; + + /** + * 姝e紡搴搃d + */ + @TableField(value = "official_id") + private Long officialId; + } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/service/ArchiveService.java b/main-business/src/main/java/com/ruoyi/business/service/ArchiveService.java index 69d79ef..2be2e11 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/ArchiveService.java +++ b/main-business/src/main/java/com/ruoyi/business/service/ArchiveService.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.entity.StorageAttachment; import com.ruoyi.business.dto.ArchiveDto; import com.ruoyi.business.entity.Archive; import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; /** * <p> @@ -21,4 +24,6 @@ int addOrEditArchive(ArchiveDto archiveDto); int delByIds(Long[] ids); + + List<StorageAttachment> fileList(ArchiveDto archiveDto); } diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java index a00c56e..b5553a5 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.entity.StorageAttachment; +import com.ruoyi.basic.service.StorageAttachmentService; import com.ruoyi.business.dto.ArchiveDto; import com.ruoyi.business.entity.Archive; import com.ruoyi.business.mapper.ArchiveMapper; @@ -13,7 +15,12 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Objects; + +import static com.ruoyi.common.constant.StorageAttachmentConstants.StorageAttachmentFile; +import static com.ruoyi.common.enums.StorageAttachmentRecordType.Archives; + /** * <p> @@ -29,6 +36,10 @@ private final ArchiveMapper archiveMapper; + private final StorageAttachmentService storageAttachmentService; + + + @Override public IPage<Archive> selectArchiveList(Page page, ArchiveDto archiveDto) { LambdaQueryWrapper<Archive> queryWrapper = new LambdaQueryWrapper<>(); @@ -40,12 +51,14 @@ public int addOrEditArchive(ArchiveDto archiveDto) { Archive archive = new Archive(); BeanUtils.copyProperties(archiveDto, archive); + int i ; if (Objects.isNull(archiveDto.getId())) { - - return archiveMapper.insert(archive); + i= archiveMapper.insert(archive); } else { - return archiveMapper.updateById(archive); + i= archiveMapper.updateById(archive); } + storageAttachmentService.saveStorageAttachment(archiveDto.getAttachments(), archive.getId(),Archives,StorageAttachmentFile); + return i; } @Override @@ -61,4 +74,10 @@ // 鎵ц鎵归噺閫昏緫鍒犻櫎 return archiveMapper.update(null, updateWrapper); } + + @Override + public List<StorageAttachment> fileList(ArchiveDto archiveDto) { + storageAttachmentService.selectStorageAttachments(archiveDto.getId(), Archives, StorageAttachmentFile); + return null; + } } diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java index 13ce0a9..e8d378d 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java @@ -2,21 +2,21 @@ import com.ruoyi.business.entity.InspectionTask; import com.ruoyi.business.mapper.InspectionTaskMapper; - import com.ruoyi.business.service.InspectionTaskService; +import com.ruoyi.business.service.InspectionTaskService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; /** -* <p> - * 宸℃浠诲姟琛� 鏈嶅姟瀹炵幇绫� - * </p> -* -* @author ld -* @since 2025-06-14 -*/ + * <p> + * 宸℃浠诲姟琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author ld + * @since 2025-06-14 + */ @Service @RequiredArgsConstructor - public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper, InspectionTask> implements InspectionTaskService { +public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper, InspectionTask> implements InspectionTaskService { - } +} diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java index 28f3652..84bed74 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.business.dto.ProductionMasterDto; +import com.ruoyi.business.entity.OfficialInventory; import com.ruoyi.business.entity.Production; import com.ruoyi.business.entity.ProductionInventory; import com.ruoyi.business.entity.ProductionMaster; @@ -13,6 +14,7 @@ import com.ruoyi.business.mapper.ProductionMapper; import com.ruoyi.business.mapper.ProductionMasterMapper; import com.ruoyi.business.service.ProductionMasterService; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -122,7 +124,7 @@ BigDecimal totalTotalCost = BigDecimal.ZERO; BigDecimal totalEquipmentDepreciation = BigDecimal.ZERO; int totalProductionQuantity = 0; - StringBuilder coalBuilder = new StringBuilder("["); // 浼樺寲瀛楃涓叉嫾鎺� + StringBuilder coalBuilder = new StringBuilder(); for (Production production : productionMasterDto.getProductionList()) { totalPurchasePrice = totalPurchasePrice.add(production.getPurchasePrice()); @@ -131,12 +133,12 @@ totalTotalCost = totalTotalCost.add(production.getTotalCost()); totalEquipmentDepreciation = totalEquipmentDepreciation.add(production.getEquipmentDepreciation()); totalProductionQuantity += production.getProductionQuantity(); - coalBuilder.append(production.getCoal()).append(","); + if (coalBuilder.length() > 0) { + coalBuilder.append(","); // 鍦ㄥ厓绱犱箣闂存坊鍔犻�楀彿 + } + coalBuilder.append(production.getCoal()); } - - // 澶勭悊coal瀛楃涓叉嫾鎺� - String coalStr = coalBuilder.length() > 1 ? - coalBuilder.deleteCharAt(coalBuilder.length()-1).append("]").toString() : "[]"; + String coalStr = coalBuilder.toString(); // 鐩存帴鑾峰彇鎷兼帴缁撴灉 // 2. 鍒涘缓涓昏〃瀵硅薄 ProductionMaster productionMaster = new ProductionMaster(); @@ -155,7 +157,7 @@ productionMasterMapper.insert(productionMaster); masterId = productionMaster.getId(); // 鑾峰彇鏂扮敓鎴愮殑ID } else { - // 鍒犻櫎鍏宠仈瀛愯〃鏁版嵁锛堜娇鐢ㄦ洿楂樻晥鐨刬n鍒犻櫎锛� + // 鍒犻櫎鍏宠仈瀛愯〃鏁版嵁 productionMapper.delete(new LambdaQueryWrapper<Production>() .eq(Production::getProductionMasterId, masterId)); @@ -164,7 +166,17 @@ productionMasterMapper.updateById(productionMaster); } - + //搴撳瓨鏇存柊 + for (ProductionInventory productionInventory : productionMasterDto.getProductionInventoryList()) { + OfficialInventory officialInventory = officialInventoryMapper.selectById(productionInventory.getOfficialId()); + BigDecimal subtract = officialInventory.getInventoryQuantity().subtract(new BigDecimal(productionInventory.getUsedQuantity())); + if (subtract.compareTo(BigDecimal.ZERO) < 0) { + throw new BaseException("搴撳瓨涓嶈冻"); + } + officialInventory.setInventoryQuantity(subtract); + officialInventoryMapper.updateById(officialInventory); + } + // 4. 鎵归噺鎻掑叆瀛愯〃鏁版嵁 batchInsertProductions(masterId, productionMasterDto.getProductionList()); batchInsertInventories(masterId, productionMasterDto.getProductionInventoryList()); diff --git a/ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java b/ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java index bcf9d31..a6e83d2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java +++ b/ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java @@ -1,8 +1,7 @@ package com.ruoyi.basic.service; -import com.ruoyi.basic.entity.StorageAttachment; import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.common.constant.StorageAttachmentConstants; +import com.ruoyi.basic.entity.StorageAttachment; import com.ruoyi.common.enums.StorageAttachmentRecordType; import java.util.List; @@ -23,7 +22,7 @@ * @param fileType 鏂囦欢绫诲瀷 * @return 鏂囦欢淇℃伅鍒楄〃 */ - List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType); + List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType); /** * 淇濆瓨閫氱敤鏂囦欢涓婁紶鐨勯檮浠朵俊鎭� @@ -32,7 +31,7 @@ * @param recordType 鍏宠仈璁板綍绫诲瀷 * @param fileType 鏂囦欢绫诲瀷 */ - public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType); + public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, String fileType); /** * 鍒犻櫎閫氱敤鏂囦欢涓婁紶鐨勯檮浠朵俊鎭� diff --git a/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java b/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java index d4e87bf..c53480b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java @@ -1,22 +1,20 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.entity.StorageAttachment; import com.ruoyi.basic.entity.StorageBlob; import com.ruoyi.basic.entity.dto.StorageBlobDTO; import com.ruoyi.basic.mapper.StorageAttachmentMapper; import com.ruoyi.basic.mapper.StorageBlobMapper; import com.ruoyi.basic.service.StorageAttachmentService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.service.StorageBlobService; -import com.ruoyi.common.constant.StorageAttachmentConstants; import com.ruoyi.common.enums.StorageAttachmentRecordType; import com.ruoyi.common.utils.file.MinioUtils; -import io.minio.MinioClient; +import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import lombok.RequiredArgsConstructor; import java.util.List; @@ -44,7 +42,7 @@ private MinioUtils minioUtils; @Override - public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) { + public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) { List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>() .eq(StorageAttachment::getRecordId, recordId) .eq(StorageAttachment::getRecordType, recordType.ordinal()) @@ -63,9 +61,9 @@ } @Override - public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) { + public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, String fileType) { // 鍒犻櫎鏃у浘 - deleteStorageAttachment(new StorageAttachment(fileType.toString(), (long) recordType.ordinal(), recordId)); + deleteStorageAttachment(new StorageAttachment(fileType.toString(), (long) recordType.ordinal(), recordId)); for (StorageAttachment attachment : attachments) { // 鑾峰彇鍏宠仈璁板綍 StorageBlob storageBlob = attachment.getStorageBlobDTO(); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java index 8b0597e..50b65ad 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/StorageAttachmentRecordType.java @@ -9,7 +9,8 @@ @AllArgsConstructor public enum StorageAttachmentRecordType { // 渚嬪瓙 瀹為檯寮�鍙戣鍒犻櫎 - Template("Template","鑼冧緥"); + Template("Template","鑼冧緥"), + Archives("Archives","鏂囨。绠$悊"); private final String code; -- Gitblit v1.9.3