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