From 4fedbed9949c6160dcfa216d6660bd3c625f7bce Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 25 六月 2025 11:49:55 +0800
Subject: [PATCH] 优化
---
main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java | 4
main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java | 5 -
main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java | 32 +++++++
main-business/src/main/java/com/ruoyi/business/service/impl/ArchiveServiceImpl.java | 1
main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java | 2
main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java | 1
main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java | 1
main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java | 28 +++++++
main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java | 65 +++++++++++++++-
/dev/null | 32 --------
main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java | 5 +
main-business/src/main/java/com/ruoyi/business/dto/PendingInventoryDto.java | 5 +
main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java | 4
main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java | 1
main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql | 2
15 files changed, 137 insertions(+), 51 deletions(-)
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/FileController.java b/main-business/src/main/java/com/ruoyi/business/controller/FileController.java
deleted file mode 100644
index 1282a8c..0000000
--- a/main-business/src/main/java/com/ruoyi/business/controller/FileController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.business.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import lombok.AllArgsConstructor;
- import org.springframework.web.bind.annotation.RestController;
-
-/**
-* <p>
- * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 鍓嶇鎺у埗鍣�
- * </p>
-*
-* @author ruoyi
-* @since 2025-06-10
-*/
-
-@RestController
-@AllArgsConstructor
-@RequestMapping("/business/file")
- public class FileController {
-
- }
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java b/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java
index 753ee0e..75f43aa 100644
--- a/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java
+++ b/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java
@@ -29,8 +29,8 @@
* 閿�鍞褰曡〃鏌ヨ
*/
@GetMapping("/list")
- public R<IPage<SalesRecord>> list(Page page, SalesRecordDto salesRecordDto) {
- IPage<SalesRecord> list = salesRecordService.selectSalesRecordList(page,salesRecordDto);
+ public R<IPage<SalesRecordDto>> list(Page<SalesRecord> page, SalesRecordDto salesRecordDto) {
+ IPage<SalesRecordDto> list = salesRecordService.selectSalesRecordList(page,salesRecordDto);
return R.ok(list);
}
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java b/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java
index 066257f..f21ce91 100644
--- a/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java
+++ b/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java
@@ -13,4 +13,9 @@
private List<Long> ids;
+ /**
+ * 鐓ょ
+ */
+ private String coal;
+
}
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/PendingInventoryDto.java b/main-business/src/main/java/com/ruoyi/business/dto/PendingInventoryDto.java
index e26af63..663d58c 100644
--- a/main-business/src/main/java/com/ruoyi/business/dto/PendingInventoryDto.java
+++ b/main-business/src/main/java/com/ruoyi/business/dto/PendingInventoryDto.java
@@ -38,4 +38,9 @@
* 瀛楁鍚�
*/
private Integer type;
+
+ /**
+ * 鐓ょ
+ */
+ private String coal;
}
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java b/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java
index c32a713..32560a2 100644
--- a/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java
+++ b/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java
@@ -5,4 +5,6 @@
@Data
public class SalesRecordDto extends SalesRecord {
+
+ private String coal;
}
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/File.java b/main-business/src/main/java/com/ruoyi/business/entity/File.java
deleted file mode 100644
index 6b64336..0000000
--- a/main-business/src/main/java/com/ruoyi/business/entity/File.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.ruoyi.business.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import com.ruoyi.common.core.domain.MyBaseEntity;
-
-/**
- * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 瀹炰綋绫�
- *
- * @author ruoyi
- * @date 2025-06-10
- */
-@Data
-@TableName("file")
-public class File extends MyBaseEntity {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 涓婚敭ID
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
- /**
- * 鍏宠仈鐨勬。妗圛D锛屽閿紩鐢� archive.id
- */
- @TableField(value = "archive_id")
- private Long archiveId;
- /**
- * 鍘熷鏂囦欢鍚嶏紙鐢ㄦ埛涓婁紶鏃剁殑鍚嶇О锛�
- */
- @TableField(value = "original_name")
- private String originalName;
- /**
- * 棰勮鍦板潃
- */
- @TableField(value = "preview_url")
- private String previewUrl;
- /**
- * 绯荤粺瀛樺偍鐨勫敮涓�鏂囦欢鍚�
- */
- @TableField(value = "file_name")
- private String fileName;
- /**
- * 鏂囦欢鍦ㄦ湇鍔″櫒涓婄殑瀛樺偍璺緞鎴栬闂甎RL
- */
- @TableField(value = "file_path")
- private String filePath;
- /**
- * 鏂囦欢MIME绫诲瀷锛屼緥濡� image/png銆乤pplication/pdf
- */
- @TableField(value = "file_type")
- private String fileType;
- /**
- * 鏂囦欢澶у皬锛屽崟浣嶄负瀛楄妭
- */
- @TableField(value = "file_size")
- private String fileSize;
-}
\ No newline at end of file
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java b/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java
index 703bd29..33620d6 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java
@@ -48,11 +48,6 @@
@TableField(value = "coal_id")
private Long coalId;
/**
- * 鐓ょ
- */
- @TableField(value = "coal")
- private String coal;
- /**
* 鍗曚环锛堝惈绋庯級
*/
@TableField(value = "price_including_tax")
diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/FileMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/FileMapper.java
deleted file mode 100644
index 268c7d7..0000000
--- a/main-business/src/main/java/com/ruoyi/business/mapper/FileMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.business.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.business.entity.File;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� Mapper 鎺ュ彛
- * </p>
- *
- * @author ruoyi
- * @since 2025-06-10
- */
-@Mapper
-public interface FileMapper extends BaseMapper<File> {
-
-}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/FileService.java b/main-business/src/main/java/com/ruoyi/business/service/FileService.java
deleted file mode 100644
index 87a300f..0000000
--- a/main-business/src/main/java/com/ruoyi/business/service/FileService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.business.service;
-
-import com.ruoyi.business.entity.File;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 鏈嶅姟绫�
- * </p>
- *
- * @author ruoyi
- * @since 2025-06-10
- */
-public interface FileService extends IService<File> {
-
-}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java b/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java
index 8440766..7786086 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java
@@ -2,9 +2,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.dto.SalesRecordDto;
import com.ruoyi.business.entity.SalesRecord;
-import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
@@ -16,7 +16,7 @@
*/
public interface SalesRecordService extends IService<SalesRecord> {
- IPage<SalesRecord> selectSalesRecordList(Page page, SalesRecordDto salesRecordDto);
+ IPage<SalesRecordDto> selectSalesRecordList(Page<SalesRecord> page, SalesRecordDto salesRecordDto);
int addOrEditSalesRecord(SalesRecordDto salesRecordDto);
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 d0638f9..9075267 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
@@ -137,6 +137,7 @@
// 7. 鏋勫缓杩斿洖鍒嗛〉瀵硅薄
IPage<ArchiveDto> resultPage = new Page<>();
+ BeanUtils.copyProperties(archivePage, resultPage);
resultPage.setRecords(dtoList);
return resultPage;
}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/FileServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/FileServiceImpl.java
deleted file mode 100644
index 8508288..0000000
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/FileServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.business.service.impl;
-
-import com.ruoyi.business.entity.File;
-import com.ruoyi.business.mapper.FileMapper;
-import com.ruoyi.business.service.FileService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import lombok.RequiredArgsConstructor;
-
-/**
- * <p>
- * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author ruoyi
- * @since 2025-06-10
- */
-@Service
-@RequiredArgsConstructor
-public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements FileService {
-
-}
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 72f00bf..414e3f7 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
@@ -120,6 +120,7 @@
// 7. 鏋勫缓杩斿洖鍒嗛〉瀵硅薄
IPage<InspectionTaskDto> resultPage = new Page<>();
+ BeanUtils.copyProperties(entityPage, resultPage);
resultPage.setRecords(dtoList);
return resultPage;
}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java
index ba427bd..6e1f4d6 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java
@@ -7,8 +7,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.entity.CoalField;
+import com.ruoyi.basic.entity.CoalInfo;
import com.ruoyi.basic.entity.CoalValue;
import com.ruoyi.basic.mapper.CoalFieldMapper;
+import com.ruoyi.basic.mapper.CoalInfoMapper;
import com.ruoyi.basic.mapper.CoalValueMapper;
import com.ruoyi.business.dto.OfficialInventoryDto;
import com.ruoyi.business.entity.OfficialInventory;
@@ -23,6 +25,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -42,6 +45,8 @@
private final CoalValueMapper coalValueMapper;
private final CoalFieldMapper coalFieldMapper;
+
+ private final CoalInfoMapper coalInfoMapper;
@Override
@@ -63,6 +68,21 @@
.map(CoalField::getFields)
.distinct()
.collect(Collectors.toList());
+
+ //鏌ヨ鐓ょids
+ List<Long> coalIds = entityPage.getRecords().stream()
+ .map(OfficialInventory::getCoalId)
+ .distinct()
+ .collect(Collectors.toList());
+
+ // 鎵归噺鏌ヨCoalInfo
+ Map<Long, CoalInfo> coalInfoMap;
+ if (!coalIds.isEmpty()) {
+ List<CoalInfo> coalInfos = coalInfoMapper.selectList(new LambdaQueryWrapper<CoalInfo>().in(CoalInfo::getId, coalIds));
+ coalInfoMap = coalInfos.stream().collect(Collectors.toMap(CoalInfo::getId, Function.identity()));
+ } else {
+ coalInfoMap = new HashMap<>();
+ }
// 閬嶅巻姣忔潯璁板綍锛岃繘琛岃浆鎹㈠苟濉厖 fields
for (OfficialInventory entity : entityPage.getRecords()) {
@@ -97,6 +117,12 @@
fields.add(fieldMap);
}
+ // 璁剧疆Coal淇℃伅
+ CoalInfo coalInfo = coalInfoMap.get(entity.getCoalId());
+ if (coalInfo != null) {
+ dto.setCoal(coalInfo.getCoal());
+ }
+
// 璁剧疆鍒� DTO 涓�
dto.setFields(fields);
dtoList.add(dto);
@@ -120,6 +146,8 @@
.map(OI -> {
OfficialInventoryVo vo = new OfficialInventoryVo();
BeanUtils.copyProperties(OI, vo);
+ CoalInfo coalInfo = coalInfoMapper.selectById(OI.getCoalId());
+ vo.setCoal(coalInfo.getCoal());
return vo;
})
.collect(Collectors.toList());
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
index af85197..a38e13b 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
@@ -7,8 +7,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.entity.CoalField;
+import com.ruoyi.basic.entity.CoalInfo;
import com.ruoyi.basic.entity.CoalValue;
import com.ruoyi.basic.mapper.CoalFieldMapper;
+import com.ruoyi.basic.mapper.CoalInfoMapper;
import com.ruoyi.basic.mapper.CoalValueMapper;
import com.ruoyi.business.dto.PendingInventoryDto;
import com.ruoyi.business.entity.OfficialInventory;
@@ -26,6 +28,7 @@
import java.math.BigDecimal;
import java.util.*;
+import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -47,6 +50,8 @@
private final CoalValueMapper coalValueMapper;
private final CoalFieldMapper coalFieldMapper;
+
+ private final CoalInfoMapper coalInfoMapper;
private final InputInventoryRecordService inputInventoryRecordService;
@@ -71,20 +76,43 @@
.map(PendingInventory::getId)
.collect(Collectors.toList());
- // 5. 鎵归噺鏌ヨ鍏宠仈鐨勬寮忓簱瀛樹俊鎭�
+ // 5. 鎵归噺鏌ヨ鍏宠仈鐨勭叅鐐俊鎭拰姝e紡搴撳瓨淇℃伅
+ List<Long> coalIds = pendingInventoryPage.getRecords().stream()
+ .map(PendingInventory::getCoalId)
+ .distinct()
+ .collect(Collectors.toList());
+
+ // 鎵归噺鏌ヨCoalInfo
+ Map<Long, CoalInfo> coalInfoMap;
+ if (!coalIds.isEmpty()) {
+ List<CoalInfo> coalInfos = coalInfoMapper.selectList(new LambdaQueryWrapper<CoalInfo>().in(CoalInfo::getId, coalIds));
+ coalInfoMap = coalInfos.stream().collect(Collectors.toMap(CoalInfo::getId, Function.identity()));
+ } else {
+ coalInfoMap = new HashMap<>();
+ }
+
+ // 鎵归噺鏌ヨ姝e紡搴撳瓨淇℃伅
Map<Long, Long> pendingToOfficialMap = getOfficialInventoryMap(pendingIds);
- // 6. 浣跨敤MyBatis-Plus鐨刢onvert鏂规硶杞崲DTO
+ // 6. 杞崲DTO骞惰缃浉鍏冲瓧娈�
return pendingInventoryPage.convert(record -> {
PendingInventoryDto dto = new PendingInventoryDto();
BeanUtils.copyProperties(record, dto);
+ // 璁剧疆Coal淇℃伅
+ CoalInfo coalInfo = coalInfoMap.get(record.getCoalId());
+ if (coalInfo != null) {
+ dto.setCoal(coalInfo.getCoal());
+ }
+
// 浠庨鍔犺浇鐨凪ap涓幏鍙杘fficialId
dto.setOfficialId(pendingToOfficialMap.getOrDefault(record.getId(), null));
+
return dto;
});
}
+
// 鎵归噺鑾峰彇寰呭鐞嗗簱瀛樹笌姝e紡搴撳瓨鐨勬槧灏勫叧绯�
private Map<Long, Long> getOfficialInventoryMap(List<Long> pendingIds) {
if (CollectionUtils.isEmpty(pendingIds)) {
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 a10f889..bb958f0 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
@@ -77,7 +77,6 @@
IPage<ProductionMasterDto> dtoPage = new Page<>();
BeanUtils.copyProperties(entityPage, dtoPage, "records");
dtoPage.setRecords(dtoList);
-
return dtoPage;
}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
index 8d2899c..46d6e5b 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
@@ -5,7 +5,9 @@
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.CoalInfo;
import com.ruoyi.basic.entity.Customer;
+import com.ruoyi.basic.mapper.CoalInfoMapper;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.business.dto.SalesRecordDto;
import com.ruoyi.business.entity.OfficialInventory;
@@ -22,6 +24,11 @@
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* <p>
@@ -43,12 +50,60 @@
private final OfficialInventoryMapper officialInventoryMapper;
+ private final CoalInfoMapper coalInfoMapper;
+
@Override
- public IPage<SalesRecord> selectSalesRecordList(Page page, SalesRecordDto salesRecordDto) {
+ public IPage<SalesRecordDto> selectSalesRecordList(Page<SalesRecord> page, SalesRecordDto salesRecordDto) {
+ // 1. 鍒涘缓鏌ヨ鏉′欢锛屾寜鍒涘缓鏃堕棿鍊掑簭鎺掑簭
LambdaQueryWrapper<SalesRecord> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(SalesRecord::getCreateTime);
- return salesRecordMapper.selectPage(page, queryWrapper);
+
+ // 2. 鑾峰彇鍒嗛〉鐨勯攢鍞褰�
+ IPage<SalesRecord> salesRecordPage = salesRecordMapper.selectPage(page, queryWrapper);
+
+ // 3. 鎵归噺鏌ヨ鎵�鏈塁oalInfo
+ List<Long> coalIds = salesRecordPage.getRecords().stream()
+ .map(SalesRecord::getCoalId) // 鑾峰彇鎵�鏈塖alesRecord鐨刢oalId
+ .collect(Collectors.toList());
+ Map<Long, CoalInfo> coalInfoMap;
+
+ // 濡傛灉鏈夌叅鐐璉D锛屾墽琛屾壒閲忔煡璇�
+ if (!coalIds.isEmpty()) {
+ // 浣跨敤selectList杩涜鎵归噺鏌ヨ
+ LambdaQueryWrapper<CoalInfo> coalInfoQueryWrapper = new LambdaQueryWrapper<>();
+ coalInfoQueryWrapper.in(CoalInfo::getId, coalIds);
+ List<CoalInfo> coalInfos = coalInfoMapper.selectList(coalInfoQueryWrapper);
+
+ // 灏嗘煡璇㈢粨鏋滄斁鍏ap涓紝鐓ょ偔ID涓洪敭锛孋oalInfo涓哄��
+ coalInfoMap = coalInfos.stream()
+ .collect(Collectors.toMap(CoalInfo::getId, Function.identity()));
+ } else {
+ coalInfoMap = new HashMap<>();
+ }
+
+ // 4. 鍒涘缓杩斿洖缁撴灉椤碉紝浣跨敤BeanUtils杩涜灞炴�у鍒�
+ Page<SalesRecordDto> resultPage = new Page<>();
+ BeanUtils.copyProperties(salesRecordPage, resultPage); // 澶嶅埗鍒嗛〉淇℃伅
+
+ // 5. 杞崲SalesRecord涓篠alesRecordDto锛屽苟璁剧疆姣忔潯閿�鍞褰曠殑鐓ょ偔淇℃伅
+ List<SalesRecordDto> dtoList = salesRecordPage.getRecords().stream().map(salesRecord -> {
+ SalesRecordDto dto = new SalesRecordDto();
+ BeanUtils.copyProperties(salesRecord, dto); // 灏哠alesRecord鐨勫睘鎬у鍒跺埌SalesRecordDto涓�
+
+ // 璁剧疆Coal淇℃伅
+ CoalInfo coalInfo = coalInfoMap.get(salesRecord.getCoalId());
+ if (coalInfo != null) {
+ dto.setCoal(coalInfo.getCoal());
+ }
+
+ return dto;
+ }).collect(Collectors.toList());
+
+ resultPage.setRecords(dtoList); // 璁剧疆杞崲鍚庣殑DTO鍒楄〃
+
+ return resultPage;
}
+
@Override
@Transactional(rollbackFor = Exception.class)
@@ -61,7 +116,7 @@
if (officialInventory == null) {
throw new BaseException("姝e紡搴撶叅绉嶄俊鎭笉瀛樺湪");
}
- if (salesRecordDto.getSaleQuantity().compareTo(officialInventory.getInventoryQuantity()) > 0){
+ if (salesRecordDto.getSaleQuantity().compareTo(officialInventory.getInventoryQuantity()) > 0) {
throw new BaseException("閿�鍞暟閲忎笉鑳藉ぇ浜庡簱瀛樻暟閲�");
}
officialInventory.setInventoryQuantity(officialInventory.getInventoryQuantity().subtract(salesRecordDto.getSaleQuantity()));
@@ -69,7 +124,7 @@
officialInventoryMapper.updateById(officialInventory);
// 鏋勫缓閿�鍞褰曞疄浣�
- SalesRecord salesRecord = buildSalesRecord(salesRecordDto,officialInventory.getCoalId());
+ SalesRecord salesRecord = buildSalesRecord(salesRecordDto, officialInventory.getCoalId());
// 澶勭悊鏂板/鏇存柊閫昏緫
if (salesRecordDto.getId() == null) {
@@ -94,7 +149,7 @@
}
}
- private SalesRecord buildSalesRecord(SalesRecordDto dto,Long coalId) {
+ private SalesRecord buildSalesRecord(SalesRecordDto dto, Long coalId) {
SalesRecord record = new SalesRecord();
BeanUtils.copyProperties(dto, record);
diff --git a/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java b/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java
index 67526a4..1784d18 100644
--- a/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java
+++ b/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java
@@ -8,6 +8,7 @@
public class OfficialInventoryVo {
private Long id; // 涓婚敭ID
+ private Long coalId; // 鐓ょid
private String coal; // 鐓ょ
private String unit; // 鍗曚綅
private BigDecimal inventoryQuantity; // 搴撳瓨鏁伴噺
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250610161314__create_table_file.sql b/main-business/src/main/resources/db/migration/postgresql/V20250610161314__create_table_file.sql
deleted file mode 100644
index 4611ab6..0000000
--- a/main-business/src/main/resources/db/migration/postgresql/V20250610161314__create_table_file.sql
+++ /dev/null
@@ -1,37 +0,0 @@
--- 鍒涘缓鏂囦欢琛�
-CREATE TABLE file
-(
- id BIGSERIAL PRIMARY KEY, -- 涓婚敭ID锛岃嚜鍔ㄩ�掑
-
- archive_id BIGINT, -- 鍏宠仈妗f琛� archive.id锛堝彲閫夛級
- original_name VARCHAR(255) NOT NULL, -- 鍘熷鏂囦欢鍚嶏紙鐢ㄦ埛涓婁紶鏃剁殑鍚嶇О锛�
- preview_url TEXT, -- 棰勮鍦板潃
- file_name VARCHAR(255) NOT NULL, -- 瀛樺偍绯荤粺涓殑鍞竴鏂囦欢鍚嶏紙濡� uuid.png锛�
- file_path TEXT NOT NULL, -- 鏂囦欢瀛樺偍璺緞鎴朥RL
- file_type VARCHAR(50), -- 鏂囦欢绫诲瀷锛堝锛歩mage/png, application/pdf锛�
- file_size VARCHAR(50), -- 鏂囦欢澶у皬锛堝崟浣嶏細瀛楄妭锛�
-
- create_time TIMESTAMP WITHOUT TIME ZONE, -- 涓婁紶鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
- update_time TIMESTAMP WITHOUT TIME ZONE, -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
- create_by VARCHAR(255), -- 涓婁紶浜虹敤鎴峰悕
- update_by VARCHAR(255), -- 鏈�鍚庝慨鏀逛汉鐢ㄦ埛鍚�
- deleted INT NOT NULL DEFAULT 0 -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
-);
-
--- 琛ㄦ敞閲�
-COMMENT ON TABLE file IS '涓婁紶鏂囦欢鐨勫熀鏈俊鎭�';
-
--- 瀛楁娉ㄩ噴
-COMMENT ON COLUMN file.id IS '涓婚敭ID';
-COMMENT ON COLUMN file.archive_id IS '鍏宠仈鐨勬。妗圛D锛屽閿紩鐢� archive.id';
-COMMENT ON COLUMN file.original_name IS '鍘熷鏂囦欢鍚嶏紙鐢ㄦ埛涓婁紶鏃剁殑鍚嶇О锛�';
-COMMENT ON COLUMN file.preview_url IS '棰勮鍦板潃';
-COMMENT ON COLUMN file.file_name IS '绯荤粺瀛樺偍鐨勫敮涓�鏂囦欢鍚�';
-COMMENT ON COLUMN file.file_path IS '鏂囦欢鍦ㄦ湇鍔″櫒涓婄殑瀛樺偍璺緞鎴栬闂甎RL';
-COMMENT ON COLUMN file.file_type IS '鏂囦欢MIME绫诲瀷锛屼緥濡� image/png銆乤pplication/pdf';
-COMMENT ON COLUMN file.file_size IS '鏂囦欢澶у皬锛屽崟浣嶄负瀛楄妭';
-COMMENT ON COLUMN file.create_time IS '鏂囦欢涓婁紶鏃堕棿';
-COMMENT ON COLUMN file.update_time IS '鏂囦欢鏈�鍚庢洿鏂版椂闂�';
-COMMENT ON COLUMN file.create_by IS '涓婁紶璇ユ枃浠剁殑鐢ㄦ埛';
-COMMENT ON COLUMN file.update_by IS '鏈�鍚庝慨鏀硅鏂囦欢鐨勭敤鎴�';
-COMMENT ON COLUMN file.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
\ No newline at end of file
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql b/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql
index 082816e..4f0fe0e 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql
@@ -6,7 +6,6 @@
customer_id BIGINT, -- 瀹㈡埛id
customer VARCHAR(255) NOT NULL, -- 瀹㈡埛
coal_id VARCHAR(255) NOT NULL, -- 鐓ょ id
- coal VARCHAR(255) NOT NULL, -- 鐓ょ
price_including_tax DECIMAL(10, 2) NOT NULL, -- 鍗曚环锛堝惈绋庯級
inventory_quantity DECIMAL(10, 0) NOT NULL, -- 搴撳瓨鏁伴噺
unit VARCHAR(100) NOT NULL, -- 鍗曚綅
@@ -37,7 +36,6 @@
COMMENT ON COLUMN sales_record.sale_date IS '閿�鍞棩鏈�';
COMMENT ON COLUMN sales_record.customer IS '瀹㈡埛';
COMMENT ON COLUMN sales_record.customer_id IS '瀹㈡埛id';
-COMMENT ON COLUMN sales_record.coal IS '鐓ょ';
COMMENT ON COLUMN sales_record.coal_id IS '鐓ょid';
COMMENT ON COLUMN sales_record.unit IS '鍗曚綅';
COMMENT ON COLUMN sales_record.price_including_tax IS '鍗曚环锛堝惈绋庯級';
diff --git a/main-business/src/main/resources/mapper/FileMapper.xml b/main-business/src/main/resources/mapper/FileMapper.xml
deleted file mode 100644
index f6cc606..0000000
--- a/main-business/src/main/resources/mapper/FileMapper.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.business.mapper.FileMapper">
-
- <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.File">
- <id column="id" property="id" />
- <result column="create_time" property="createTime" />
- <result column="update_time" property="updateTime" />
- <result column="create_by" property="createBy" />
- <result column="update_by" property="updateBy" />
- <result column="deleted" property="deleted" />
- <result column="archive_id" property="archiveId" />
- <result column="original_name" property="originalName" />
- <result column="preview_url" property="previewUrl" />
- <result column="file_name" property="fileName" />
- <result column="file_path" property="filePath" />
- <result column="file_type" property="fileType" />
- <result column="file_size" property="fileSize" />
- </resultMap>
-
- <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
- <sql id="Base_Column_List">
- create_time,
- update_time,
- create_by,
- update_by,
- deleted,
- id, archive_id, original_name, preview_url, file_name, file_path, file_type, file_size
- </sql>
-
-</mapper>
\ No newline at end of file
--
Gitblit v1.9.3