From bb5bf872de5e67d7b406e3a305c9dfcbd0f218a6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 26 六月 2025 18:03:55 +0800
Subject: [PATCH] 采购,正式库优化
---
main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql | 4
main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java | 4
main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java | 2
main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java | 5 +
main-business/src/main/java/com/ruoyi/business/dto/ProductionMasterDto.java | 2
main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java | 8
main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql | 8 +
main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java | 86 +++++++++++++++++
main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java | 11 +-
main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java | 4
main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java | 16 ++
main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java | 11 ++
main-business/src/main/resources/db/migration/postgresql/V20250603160101__create_table_purchase_registration.sql | 38 +++---
main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java | 51 +++++++---
14 files changed, 194 insertions(+), 56 deletions(-)
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java b/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
index d35457e..b749402 100644
--- a/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
+++ b/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
@@ -25,16 +25,16 @@
private PurchaseRegistrationService purchaseRegistrationService;
/**
- * 鏌ヨ
+ * 閲囪喘鐧昏琛ㄦ煡璇�
*/
@GetMapping("/list")
- public R<IPage<PurchaseRegistration>> list(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
+ public R<IPage<PurchaseRegistration>> list(Page<PurchaseRegistration> page, PurchaseRegistrationDto purchaseRegistrationDto) {
IPage<PurchaseRegistration> list = purchaseRegistrationService.selectPurchaseRegistrationList(page,purchaseRegistrationDto);
return R.ok(list);
}
/**
- * 鏂板淇敼
+ * 閲囪喘鐧昏琛ㄦ柊澧炰慨鏀�
*/
@PostMapping("/addOrEditPR")
public R addOrEditSupply(@RequestBody PurchaseRegistrationDto purchaseRegistrationDto) {
@@ -42,7 +42,7 @@
}
/**
- * 鍒犻櫎
+ * 閲囪喘鐧昏琛ㄥ垹闄�
*/
@DeleteMapping("/delPR")
public R remove(@RequestBody Long[] ids) {
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 f21ce91..79b234f 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
@@ -9,13 +9,12 @@
@Data
public class OfficialInventoryDto extends OfficialInventory {
- private List<Map<String, String>> fields;
+ private List<Map<String, String>> fields;//鏌ヨ杩斿洖鐨勭叅绉嶄俊鎭敭鍊煎
- private List<Long> ids;
+ private List<Long> ids;//瑕佸悎骞剁殑姝e紡搴撶殑id
- /**
- * 鐓ょ
- */
- private String coal;
+ private String coal; //鐓ょ
+
+ private String supplierName; //渚涘簲鍟�
}
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/ProductionMasterDto.java b/main-business/src/main/java/com/ruoyi/business/dto/ProductionMasterDto.java
index 7ac7670..4ef8db9 100644
--- a/main-business/src/main/java/com/ruoyi/business/dto/ProductionMasterDto.java
+++ b/main-business/src/main/java/com/ruoyi/business/dto/ProductionMasterDto.java
@@ -10,6 +10,8 @@
@Data
public class ProductionMasterDto extends ProductionMaster {
+ private String searchAll;
+
private List<Production> productionList; //鐢熶骇鏄庣粏
private List<ProductionInventory> productionInventoryList; //浣跨敤搴撳瓨鏄庣粏
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
index 034e377..6dd6ed6 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
@@ -33,10 +33,11 @@
@TableField(value = "pending_id")
private Long pendingId;
/**
- * 渚涜揣鍟嗗悕绉�
+ * 渚涜揣鍟咺D
*/
- @TableField(value = "supplier_name")
- private String supplierName;
+ @TableField(value = "supplier_id")
+ private Long supplierId;
+
/**
* 鐓ょ
*/
@@ -81,7 +82,8 @@
* 鐧昏浜篿d
*/
@TableField(value = "registrant_id")
- private String registrantId;
+ private Long registrantId;
+
/**
* 鐧昏鏃ユ湡
*/
@@ -89,6 +91,12 @@
private LocalDate registrationDate;
/**
+ * 鐓よ川鏂规id
+ */
+ @TableField(value = "coal_plan_id")
+ private Long coalPlanId;
+
+ /**
* 鍚堝苟id
*/
@TableField(value = "merge_id")
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
index 1b4c928..e46fc5a 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
@@ -34,6 +34,12 @@
@TableField(value = "master_id")
private Long masterId;
/**
+ *
+ * 閲囪喘id
+ */
+ @TableField(value = "purchase_id")
+ private Long purchaseId;
+ /**
* 渚涜揣鍟嗗悕绉�
*/
@TableField(value = "supplier_name")
@@ -84,6 +90,11 @@
@TableField(value = "registrant_id")
private Long registrantId;
/**
+ * 鐓よ川鏂规id
+ */
+ @TableField(value = "coal_plan_id")
+ private Long coalPlanId;
+ /**
* 鐧昏鏃ユ湡
*/
@TableField(value = "registration_date")
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java b/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java
index 1cee4a2..482e72e 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java
@@ -82,7 +82,7 @@
* 鐧昏浜篿d
*/
@TableField(value = "registrant_id")
- private String registrantId;
+ private Long registrantId;
/**
* 鐧昏鏃ユ湡
*/
diff --git a/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java b/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java
index 910d656..3626551 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.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.PurchaseRegistrationDto;
import com.ruoyi.business.entity.PurchaseRegistration;
-import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
@@ -16,7 +16,7 @@
*/
public interface PurchaseRegistrationService extends IService<PurchaseRegistration> {
- IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto);
+ IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page<PurchaseRegistration> page, PurchaseRegistrationDto purchaseRegistrationDto);
int addOrEditPR(PurchaseRegistrationDto purchaseRegistrationDto);
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 6e1f4d6..ceafff7 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
@@ -9,9 +9,11 @@
import com.ruoyi.basic.entity.CoalField;
import com.ruoyi.basic.entity.CoalInfo;
import com.ruoyi.basic.entity.CoalValue;
+import com.ruoyi.basic.entity.Supply;
import com.ruoyi.basic.mapper.CoalFieldMapper;
import com.ruoyi.basic.mapper.CoalInfoMapper;
import com.ruoyi.basic.mapper.CoalValueMapper;
+import com.ruoyi.basic.mapper.SupplyMapper;
import com.ruoyi.business.dto.OfficialInventoryDto;
import com.ruoyi.business.entity.OfficialInventory;
import com.ruoyi.business.mapper.OfficialInventoryMapper;
@@ -48,12 +50,15 @@
private final CoalInfoMapper coalInfoMapper;
+ private final SupplyMapper supplyMapper;
+
@Override
public IPage<OfficialInventoryDto> selectOfficialInventoryList(Page page, OfficialInventoryDto officialInventoryDto) {
// 鍏堟煡鍑哄師濮嬫暟鎹紙OfficialInventory锛�
LambdaQueryWrapper<OfficialInventory> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.orderByAsc(OfficialInventory::getCreateTime);
IPage<OfficialInventory> entityPage = officialInventoryMapper.selectPage(page, queryWrapper);
// 鍒涘缓涓�涓柊鐨� Dto 鍒嗛〉缁撴灉
@@ -61,6 +66,19 @@
BeanUtils.copyProperties(entityPage, dtoPage);
List<OfficialInventoryDto> dtoList = new ArrayList<>();
+
+ List<Long> supplierIds = entityPage.getRecords().stream()
+ .map(OfficialInventory::getSupplierId)
+ .toList();
+
+ Map<Long, Supply> supplyMap;
+ if (!supplierIds.isEmpty()) {
+ List<Supply> infos = supplyMapper.selectList(new LambdaQueryWrapper<Supply>().in(Supply::getId, supplierIds));
+ supplyMap = infos.stream().collect(Collectors.toMap(Supply::getId, Function.identity()));
+ } else {
+ supplyMap = new HashMap<>();
+ }
+
// 鏌ヨ鎵�鏈夊彲鐢ㄥ瓧娈碉紙CoalField锛�
List<CoalField> coalFields = coalFieldMapper.selectList(null);
@@ -88,6 +106,13 @@
for (OfficialInventory entity : entityPage.getRecords()) {
OfficialInventoryDto dto = new OfficialInventoryDto();
BeanUtils.copyProperties(entity, dto);
+
+ // 渚涘簲鍟嗕俊鎭�
+ Supply supply = supplyMap.get(entity.getSupplierId());
+ if (supply != null) {
+ dto.setSupplierName(supply.getSupplierName());
+ }
+
List<CoalValue> coalValues;
if (entity.getMergeId() == null) {
coalValues = coalValueMapper.selectList(new LambdaQueryWrapper<CoalValue>()
@@ -136,6 +161,64 @@
public int editOfficial(OfficialInventoryDto officialInventoryDto) {
OfficialInventory officialInventory = new OfficialInventory();
BeanUtils.copyProperties(officialInventoryDto, officialInventory);
+
+ if (officialInventoryDto.getMergeId() != null) {
+ // 1. 鏋勫缓鏌ヨ鏉′欢
+ LambdaQueryWrapper<CoalValue> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CoalValue::getPlanId, officialInventoryDto.getId())
+ .eq(CoalValue::getType, "2");
+
+ // 2. 鏌ヨ澶氫釜绗﹀悎鏉′欢鐨凜oalValue璁板綍
+ List<CoalValue> coalValues = coalValueMapper.selectList(queryWrapper);
+
+ if (!CollectionUtils.isEmpty(coalValues) && !CollectionUtils.isEmpty(officialInventoryDto.getFields())) {
+ // 3. 鍒涘缓瀛楁鏄犲皠鍏崇郴 (field key -> coal_value)
+ Map<String, String> fieldValueMap = new HashMap<>();
+ for (Map<String, String> fieldMap : officialInventoryDto.getFields()) {
+ fieldValueMap.putAll(fieldMap);
+ }
+
+ // 4. 鏇存柊
+ for (CoalValue coalValue : coalValues) {
+ String fieldKey = coalValue.getFields(); // 鏁版嵁搴撲腑鐨刦ield key
+ if (fieldValueMap.containsKey(fieldKey)) {
+ String newValue = fieldValueMap.get(fieldKey);
+ if (!Objects.equals(coalValue.getCoalValue(), newValue)) {
+ coalValue.setCoalValue(newValue);
+ coalValueMapper.updateById(coalValue);
+ }
+ }
+ }
+ }
+ } else {
+ // 鏋勫缓鏌ヨ鏉′欢
+ LambdaQueryWrapper<CoalValue> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CoalValue::getPlanId, officialInventoryDto.getPendingId())
+ .eq(CoalValue::getType, "1");
+
+ // 2. 鏌ヨ澶氫釜绗﹀悎鏉′欢鐨凜oalValue璁板綍
+ List<CoalValue> coalValues = coalValueMapper.selectList(queryWrapper);
+
+ if (!CollectionUtils.isEmpty(coalValues) && !CollectionUtils.isEmpty(officialInventoryDto.getFields())) {
+ // 3. 鍒涘缓瀛楁鏄犲皠鍏崇郴 (field key -> coal_value)
+ Map<String, String> fieldValueMap = new HashMap<>();
+ for (Map<String, String> fieldMap : officialInventoryDto.getFields()) {
+ fieldValueMap.putAll(fieldMap);
+ }
+
+ // 4. 鏇存柊
+ for (CoalValue coalValue : coalValues) {
+ String fieldKey = coalValue.getFields(); // 鏁版嵁搴撲腑鐨刦ield key
+ if (fieldValueMap.containsKey(fieldKey)) {
+ String newValue = fieldValueMap.get(fieldKey);
+ if (!Objects.equals(coalValue.getCoalValue(), newValue)) {
+ coalValue.setCoalValue(newValue);
+ coalValueMapper.updateById(coalValue);
+ }
+ }
+ }
+ }
+ }
return officialInventoryMapper.updateById(officialInventory);
}
@@ -185,7 +268,8 @@
BeanUtils.copyProperties(officialInventoryDto, officialInventory);
officialInventory.setId(null);
officialInventory.setMergeId(ids.toString());
- officialInventory.setRegistrantId(SecurityUtils.getLoginUser().getUser().getUserName());
+ officialInventory.setSupplierId(officialInventoryDto.getSupplierId());
+ officialInventory.setRegistrantId(SecurityUtils.getLoginUser().getUser().getUserId());
if (officialInventoryMapper.insert(officialInventory) <= 0) {
throw new BaseException("搴撳瓨璁板綍鍒涘缓澶辫触");
}
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 5e340eb..412e7bb 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
@@ -233,6 +233,7 @@
BigDecimal left = pendingInventory.getInventoryQuantity().subtract(quantity);
if (left.compareTo(BigDecimal.ZERO) > 0) {
pendingInventory.setInventoryQuantity(left);
+ pendingInventory.setCoalPlanId(pendingInventoryDto.getCoalPlanId());
pendingInventoryMapper.updateById(pendingInventory);
} else {
pendingInventoryMapper.deleteById(pendingInventoryDto.getPId());
@@ -242,8 +243,11 @@
OfficialInventory officialInventory = new OfficialInventory();
BeanUtils.copyProperties(pendingInventory, officialInventory);
officialInventory.setId(null);
+ officialInventory.setCoalPlanId(pendingInventoryDto.getCoalPlanId());
officialInventory.setPendingId(pendingInventoryDto.getPId());
officialInventory.setInventoryQuantity(quantity);
+ officialInventory.setRegistrantId(1L);
+ officialInventory.setSupplierId(pendingInventoryDto.getSupplierId());
officialInventoryMapper.insert(officialInventory);
} else {
OfficialInventory officialInventory = officialInventoryMapper.selectById(pendingInventoryDto.getOfficialId());
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 3d006fd..c92da97 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
@@ -50,6 +50,11 @@
// 1. 鏋勫缓涓昏〃鏌ヨ鏉′欢
LambdaQueryWrapper<ProductionMaster> masterQueryWrapper = new LambdaQueryWrapper<>();
+
+
+
+
+
// 2. 鎵ц涓昏〃鍒嗛〉鏌ヨ
IPage<ProductionMaster> entityPage = productionMasterMapper.selectPage(page, masterQueryWrapper);
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
index 51c2d14..ad63a6c 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
@@ -1,7 +1,6 @@
package com.ruoyi.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,7 +23,10 @@
import org.springframework.util.Assert;
import java.time.LocalDate;
+import java.util.Arrays;
+import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* <p>
@@ -48,16 +50,29 @@
private final SupplyMapper supplyMapper;
@Override
- public IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
+ public IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page<PurchaseRegistration> page, PurchaseRegistrationDto dto) {
LambdaQueryWrapper<PurchaseRegistration> queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtils.isNotBlank(purchaseRegistrationDto.getSearchAll())){
- queryWrapper.and(wrapper -> wrapper
- .like(PurchaseRegistration::getCoalId, purchaseRegistrationDto.getSearchAll())
- .or()
- .like(PurchaseRegistration::getSupplierName, purchaseRegistrationDto.getSearchAll())
- );
+
+ String keyword = dto.getSearchAll();
+ if (StringUtils.isNotBlank(keyword)) {
+ // 鏌ヨ鐓ょ鍚嶇О涓ā绯婂尮閰嶇殑coalId鍒楄〃
+ List<Long> matchedCoalIds = coalInfoMapper.selectList(
+ new LambdaQueryWrapper<CoalInfo>().like(CoalInfo::getCoal, keyword)
+ ).stream()
+ .map(CoalInfo::getId)
+ .collect(Collectors.toList());
+
+ // 缁勮鏌ヨ鏉′欢锛氱叅绉岻D鍦ㄥ尮閰嶇殑鍒楄〃涓� 鎴� 渚涘簲鍟嗗悕绉板尮閰�
+ queryWrapper.and(w -> {
+ if (!matchedCoalIds.isEmpty()) {
+ w.in(PurchaseRegistration::getCoalId, matchedCoalIds).or();
+ }
+ w.like(PurchaseRegistration::getSupplierName, keyword);
+ });
}
+
queryWrapper.orderByDesc(PurchaseRegistration::getCreateTime);
+
return purchaseRegistrationMapper.selectPage(page, queryWrapper);
}
@@ -74,7 +89,6 @@
if (coalInfo == null) {
throw new BaseException("鐓ょ淇℃伅涓嶅瓨鍦�");
}
-// purchaseRegistration.setCoal(coalInfo.getCoal());
Supply supply = supplyMapper.selectById(purchaseRegistrationDto.getSupplierId());
if (supply == null) {
throw new BaseException("渚涘簲鍟嗕俊鎭笉瀛樺湪");
@@ -109,22 +123,27 @@
BeanUtils.copyProperties(purchaseRegistration, pendingInventory);
// 璁剧疆寰呭叆搴撹褰曠壒鏈夌殑灞炴�э紙濡傛灉鏈夛級
+ pendingInventory.setId(null);
+ pendingInventory.setPurchaseId(purchaseRegistration.getId());
pendingInventory.setCoalId(purchaseRegistration.getCoalId());
pendingInventory.setInventoryQuantity(purchaseRegistration.getPurchaseQuantity());
return pendingInventory;
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public int delByIds(Long[] ids) {
- // 妫�鏌ュ弬鏁�
if (ids == null || ids.length == 0) {
return 0;
}
- // 鏋勯�犳洿鏂版潯浠�
- UpdateWrapper<PurchaseRegistration> updateWrapper = new UpdateWrapper<>();
- updateWrapper.in("id", ids)
- .set("deleted", 1); // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄�
- // 鎵ц鎵归噺閫昏緫鍒犻櫎
- return purchaseRegistrationMapper.update(null, updateWrapper);
+
+ // 1. 鍒犻櫎鍏宠仈鐨凱endingInventory璁板綍
+ LambdaQueryWrapper<PendingInventory> wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(PendingInventory::getPurchaseId, Arrays.asList(ids));
+ pendingInventoryMapper.delete(wrapper); // 鏀逛负delete鎿嶄綔
+
+ // 2. 鎵归噺鍒犻櫎閲囪喘娉ㄥ唽璁板綍
+ return purchaseRegistrationMapper.deleteByIds(Arrays.asList(ids));
}
+
}
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250603160101__create_table_purchase_registration.sql b/main-business/src/main/resources/db/migration/postgresql/V20250603160101__create_table_purchase_registration.sql
index 92dd4e6..d24a052 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250603160101__create_table_purchase_registration.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250603160101__create_table_purchase_registration.sql
@@ -1,26 +1,26 @@
-- 鍒涘缓 purchase_registration 琛�
CREATE TABLE purchase_registration
(
- id BIGSERIAL PRIMARY KEY, -- 涓婚敭ID锛岃嚜鍔ㄩ�掑
- supplier_id BIGINT NOT NULL, -- 渚涘簲鍟嗗悕绉癐D锛屼笉鍏佽涓虹┖
- supplier_name VARCHAR(255) NOT NULL, -- 渚涘簲鍟嗗悕绉帮紝涓嶅厑璁镐负绌�
- unit VARCHAR(50) NOT NULL, -- 鍗曚綅锛屼笉鍏佽涓虹┖
- coal_id BIGINT NOT NULL, -- 鐓ょ绫诲瀷id
- coal VARCHAR(255), -- 鐓ょ绫诲瀷
- purchase_quantity DECIMAL(10, 2) NOT NULL, -- 閲囪喘鏁伴噺锛屼笉鍏佽涓虹┖
- price_including_tax DECIMAL(10, 2) NOT NULL, -- 鍗曚环锛堝惈绋庯級锛屼笉鍏佽涓虹┖
- total_price_including_tax DECIMAL(10, 2) NOT NULL, -- 鎬讳环锛堝惈绋庯級锛屼笉鍏佽涓虹┖
- tax_rate DECIMAL(5, 2) NOT NULL, -- 绋庣巼锛屼笉鍏佽涓虹┖
- price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庡崟浠凤紝涓嶅厑璁镐负绌�
- total_price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庢�讳环锛屼笉鍏佽涓虹┖
- registrant_id VARCHAR(255) NOT NULL, -- 鐧昏浜篿d锛屼笉鍏佽涓虹┖
- registration_date DATE NOT NULL, -- 鐧昏鏃ユ湡锛屼笉鍏佽涓虹┖
+ id BIGSERIAL PRIMARY KEY, -- 涓婚敭ID锛岃嚜鍔ㄩ�掑
+ supplier_id BIGINT NOT NULL, -- 渚涘簲鍟嗗悕绉癐D锛屼笉鍏佽涓虹┖
+ supplier_name VARCHAR(255) NOT NULL, -- 渚涘簲鍟嗗悕绉帮紝涓嶅厑璁镐负绌�
+ unit VARCHAR(50) NOT NULL, -- 鍗曚綅锛屼笉鍏佽涓虹┖
+ coal_id BIGINT NOT NULL, -- 鐓ょ绫诲瀷id
+ coal VARCHAR(255), -- 鐓ょ绫诲瀷
+ purchase_quantity DECIMAL(10, 2) NOT NULL, -- 閲囪喘鏁伴噺锛屼笉鍏佽涓虹┖
+ price_including_tax DECIMAL(10, 2) NOT NULL, -- 鍗曚环锛堝惈绋庯級锛屼笉鍏佽涓虹┖
+ total_price_including_tax DECIMAL(10, 2) NOT NULL, -- 鎬讳环锛堝惈绋庯級锛屼笉鍏佽涓虹┖
+ tax_rate DECIMAL(5, 2) NOT NULL, -- 绋庣巼锛屼笉鍏佽涓虹┖
+ price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庡崟浠凤紝涓嶅厑璁镐负绌�
+ total_price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庢�讳环锛屼笉鍏佽涓虹┖
+ registrant_id BIGINT NOT NULL, -- 鐧昏浜篿d锛屼笉鍏佽涓虹┖
+ registration_date DATE NOT NULL, -- 鐧昏鏃ユ湡锛屼笉鍏佽涓虹┖
- deleted INT NOT NULL DEFAULT 0, -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
- create_by VARCHAR(255), -- 鍒涘缓浜虹敤鎴峰悕
- create_time TIMESTAMP WITHOUT TIME ZONE, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
- update_by VARCHAR(255), -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
- update_time TIMESTAMP WITHOUT TIME ZONE -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+ deleted INT NOT NULL DEFAULT 0, -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
+ create_by VARCHAR(255), -- 鍒涘缓浜虹敤鎴峰悕
+ create_time TIMESTAMP WITHOUT TIME ZONE, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+ update_by VARCHAR(255), -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
+ update_time TIMESTAMP WITHOUT TIME ZONE -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
);
-- 涓鸿〃娣诲姞娉ㄩ噴
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql b/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
index d51c775..83e436d 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
@@ -17,6 +17,8 @@
supplier_id BIGINT, -- 渚涜揣鍟咺D
coal_id BIGINT, -- 鐓ょID
master_id BIGINT, -- 鐢熶骇鍔犲伐id
+ purchase_id BIGINT, -- 閲囪喘id
+ coal_plan_id BIGINT, -- 鐓よ川鏂规id
deleted INTEGER DEFAULT 0, -- 杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�
create_by VARCHAR(255), -- 鍒涘缓璇ヨ褰曠殑鐢ㄦ埛
@@ -45,6 +47,8 @@
COMMENT ON COLUMN pending_inventory.supplier_id IS '渚涜揣鍟咺D';
COMMENT ON COLUMN pending_inventory.coal_id IS '鐓ょID';
COMMENT ON COLUMN pending_inventory.master_id IS '鐢熶骇鍔犲伐id';
+COMMENT ON COLUMN pending_inventory.purchase_id IS '閲囪喘id';
+COMMENT ON COLUMN pending_inventory.coal_plan_id IS '鐓よ川鏂规id';
COMMENT ON COLUMN pending_inventory.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
COMMENT ON COLUMN pending_inventory.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛';
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql b/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
index d9562f7..b40aa8e 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
@@ -2,7 +2,7 @@
CREATE TABLE official_inventory
(
id BIGSERIAL PRIMARY KEY, -- 涓婚敭ID
- supplier_name VARCHAR(255) NOT NULL, -- 渚涜揣鍟嗗悕绉�
+ supplier_id BIGINT, -- 渚涜揣鍟唅d
coal_id BIGINT NOT NULL, -- 鐓ょ
unit VARCHAR(50) NOT NULL, -- 鍗曚綅
inventory_quantity DECIMAL(10, 0), -- 搴撳瓨鏁伴噺
@@ -11,9 +11,10 @@
price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庡崟浠�
total_price_excluding_tax DECIMAL(10, 2) NOT NULL, -- 涓嶅惈绋庢�讳环
pending_replenishment DECIMAL(10, 0), -- 寰呰ˉ搴�
- registrant_id VARCHAR(50) NOT NULL, -- 鐧昏浜篿d
+ registrant_id BIGINT NOT NULL, -- 鐧昏浜篿d
type VARCHAR(50), -- 绫诲瀷 1 閲囪喘/ 2 姝e紡 鍏ュ簱
pending_id BIGINT, -- 寰呭叆搴搃d
+ coal_plan_id BIGINT, -- 鐓よ川鏂规id
merge_id VARCHAR(255), -- 鍚堝苟id
registration_date TIMESTAMP WITHOUT TIME ZONE,
@@ -29,7 +30,7 @@
-- 娣诲姞瀛楁娉ㄩ噴
COMMENT ON COLUMN official_inventory.id IS '涓婚敭ID';
-COMMENT ON COLUMN official_inventory.supplier_name IS '渚涜揣鍟嗗悕绉�';
+COMMENT ON COLUMN official_inventory.supplier_id IS '渚涜揣鍟唅d';
COMMENT ON COLUMN official_inventory.coal_id IS '鐓ょid';
COMMENT ON COLUMN official_inventory.unit IS '鍗曚綅';
COMMENT ON COLUMN official_inventory.inventory_quantity IS '搴撳瓨鏁伴噺';
@@ -39,6 +40,7 @@
COMMENT ON COLUMN official_inventory.registrant_id IS '鐧昏浜篿d';
COMMENT ON COLUMN official_inventory.registration_date IS '鐧昏鏃ユ湡';
COMMENT ON COLUMN official_inventory.merge_id IS '鍚堝苟id';
+COMMENT ON COLUMN official_inventory.coal_plan_id IS '鐓よ川鏂规id';
COMMENT ON COLUMN official_inventory.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
COMMENT ON COLUMN official_inventory.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛';
--
Gitblit v1.9.3