From f2bcea370ece83a7f4ae38b9e5a942639065d2a2 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 11:38:13 +0800
Subject: [PATCH] feat(sales): 库存
---
src/main/java/com/ruoyi/stock/service/StockInventoryService.java | 3 +
src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java | 5 ++
src/main/java/com/ruoyi/CodeGenerator.java | 6 +-
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 1
src/main/resources/mapper/stock/StockInventoryMapper.xml | 2 +
src/main/resources/application-dev.yml | 10 ++--
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 2 +
src/main/java/com/ruoyi/stock/controller/StockInventoryController.java | 9 ++++
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java | 31 +++++++++++++++
9 files changed, 61 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/CodeGenerator.java b/src/main/java/com/ruoyi/CodeGenerator.java
index cca67a2..f4efe04 100644
--- a/src/main/java/com/ruoyi/CodeGenerator.java
+++ b/src/main/java/com/ruoyi/CodeGenerator.java
@@ -19,11 +19,11 @@
// 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
public class CodeGenerator {
- public static String database_url = "jdbc:mysql://127.0.0.1:3306/product-inventory-management-new";
+ public static String database_url = "jdbc:mysql://1.15.17.182:9999/product-inventory-management-new";
public static String database_username = "root";
- public static String database_password= "123456";
+ public static String database_password= "xd@123456..";
public static String author = "鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃";
- public static String model = "account"; // 妯″潡
+ public static String model = "stock"; // 妯″潡
public static String setParent = "com.ruoyi."+ model; // 鍖呰矾寰�
public static String tablePrefix = ""; // 璁剧疆杩囨护琛ㄥ墠缂�
public static void main(String[] args) {
diff --git a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
index 8447edb..8e17fee 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
@@ -14,6 +14,7 @@
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
/**
* <p>
@@ -54,4 +55,12 @@
stockInventoryDto.setRecordId(0L);
return R.ok(stockInventoryService.subtractStockInventory(stockInventoryDto));
}
+
+
+ @GetMapping("importStockInventory")
+ @ApiOperation("瀵煎叆搴撳瓨")
+ public R importStockInventory(MultipartFile file) {
+ return R.ok(stockInventoryService.importStockInventory(file));
+
+ }
}
diff --git a/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java b/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java
new file mode 100644
index 0000000..c917d30
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java
@@ -0,0 +1,5 @@
+package com.ruoyi.stock.execl;
+
+public class StockInventoryExportData {
+
+}
diff --git a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
index bc523e4..0dc849c 100644
--- a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
@@ -6,6 +6,7 @@
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.pojo.StockInventory;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.multipart.MultipartFile;
/**
* <p>
@@ -22,4 +23,6 @@
Boolean addstockInventory(StockInventoryDto stockInventoryDto);
Boolean subtractStockInventory(StockInventoryDto stockInventoryDto);
+
+ Boolean importStockInventory(MultipartFile file);
}
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index 2c29759..15bc09e 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -4,10 +4,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.excel.SupplierManageExcelDto;
+import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
+import com.ruoyi.stock.execl.StockInventoryExportData;
import com.ruoyi.stock.pojo.StockInRecord;
import com.ruoyi.stock.pojo.StockInventory;
import com.ruoyi.stock.mapper.StockInventoryMapper;
@@ -16,9 +21,15 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.stock.service.StockOutRecordService;
import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
/**
* <p>
@@ -51,6 +62,7 @@
stockInRecordDto.setRecordType(stockInventoryDto.getRecordType());
stockInRecordDto.setStockInNum(stockInventoryDto.getQualitity());
stockInRecordDto.setProductModelId(stockInventoryDto.getProductModelId());
+ stockInRecordDto.setType("0");
stockInRecordService.add(stockInRecordDto);
//鍐嶈繘琛屾柊澧炲簱瀛樻暟閲忓簱瀛�
//鍏堟煡璇㈠簱瀛樿〃涓殑浜у搧鏄惁瀛樺湪锛屼笉瀛樺湪鏂板锛屽瓨鍦ㄦ洿鏂�
@@ -77,6 +89,7 @@
stockOutRecordDto.setRecordType(stockInventoryDto.getRecordType());
stockOutRecordDto.setStockOutNum(stockInventoryDto.getQualitity());
stockOutRecordDto.setProductModelId(stockInventoryDto.getProductModelId());
+ stockOutRecordDto.setType("0");
stockOutRecordService.add(stockOutRecordDto);
StockInventory oldStockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>().lambda().eq(StockInventory::getProductModelId, stockInventoryDto.getProductModelId()));
if (ObjectUtils.isEmpty(oldStockInventory)) {
@@ -86,4 +99,22 @@
}
return true;
}
+
+ @Override
+ public Boolean importStockInventory(MultipartFile file) {
+ try {
+ ExcelUtil<StockInventoryExportData> util = new ExcelUtil<StockInventoryExportData>(StockInventoryExportData.class);
+ List<StockInventoryExportData> list = util.importExcel(file.getInputStream());
+ ArrayList<StockInventory> stockInventories = new ArrayList<>();
+ list.stream().forEach(dto -> {
+ // TODO: 2026/1/21 娣诲姞鍏ュ簱璁板綍
+ });
+
+ this.saveOrUpdateBatch(stockInventories);
+ return true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return false;
+ }
}
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index f0755f0..bd51ef2 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -75,6 +75,7 @@
stockOutRecordDto.setRecordType(stockUninventoryDto.getRecordType());
stockOutRecordDto.setStockOutNum(stockUninventoryDto.getQualitity());
stockOutRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
+ stockOutRecordDto.setType("1");
stockOutRecordService.add(stockOutRecordDto);
StockUninventory oldStockInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda().eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId()));
if (ObjectUtils.isEmpty(oldStockInventory)) {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 86f7ec9..6c28583 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -63,9 +63,9 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:mysql://localhost:3306/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://1.15.17.182:9999/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
- password: 123456
+ password: xd@123456..
# 浠庡簱鏁版嵁婧�
slave:
# 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
@@ -143,7 +143,7 @@
database: 0
# 瀵嗙爜
# password: root2022!
- password:
+ password: 123456
# 杩炴帴瓒呮椂鏃堕棿
timeout: 10s
@@ -198,8 +198,8 @@
typeAliasesPackage: com.ruoyi.**.pojo
# 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
mapperLocations: classpath*:mapper/**/*Mapper.xml
- # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
- configLocation: classpath:mybatis/mybatis-config.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
enable-sql-runner: true
db-config:
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 3681d69..705eea3 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -22,6 +22,7 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ update_time = now()
</set>
where product_model_id = #{ew.productModelId}
</update>
@@ -34,6 +35,7 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ update_time = now()
</set>
where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
</update>
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index 22dcc3d..c76ff2d 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -20,6 +20,7 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ update_time = now()
</set>
where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
</update>
@@ -32,6 +33,7 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ update_time = now()
</set>
where product_model_id = #{ew.productModelId}
</update>
--
Gitblit v1.9.3