From 73ed05ff867d514a41111733981e0c0c6a81c42b Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 09:49:42 +0800
Subject: [PATCH] feat(sales): 库存
---
src/main/java/com/ruoyi/stock/controller/StockInRecordController.java | 10 -----
src/main/resources/mapper/stock/StockOutRecordMapper.xml | 3 +
src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java | 18 +++++++++
src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java | 33 ++++++++++++----
src/main/resources/mapper/stock/StockInRecordMapper.xml | 3 +
src/main/java/com/ruoyi/stock/controller/StockInventoryController.java | 4 ++
src/main/java/com/ruoyi/stock/service/StockInRecordService.java | 1
src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java | 33 ++++++++++++----
8 files changed, 79 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java b/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
index 4428405..c56c923 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
@@ -30,17 +30,7 @@
return AjaxResult.success(result);
}
- @PostMapping("")
- @Log(title = "鍏ュ簱绠$悊-鏂板鍏ュ簱", businessType = BusinessType.INSERT)
- public AjaxResult add(@RequestBody StockInRecordDto stockInRecordDto) {
- return AjaxResult.success(stockInRecordService.add(stockInRecordDto));
- }
- @PutMapping("/{id}")
- @Log(title = "鍏ュ簱绠$悊-鏇存柊鍏ュ簱", businessType = BusinessType.UPDATE)
- public AjaxResult update(@PathVariable("id") Long id, @RequestBody StockInRecordDto stockInRecordDto) {
- return AjaxResult.success(stockInRecordService.update(id, stockInRecordDto));
- }
@DeleteMapping("")
@Log(title = "鍏ュ簱绠$悊-鍒犻櫎鍏ュ簱", businessType = BusinessType.DELETE)
diff --git a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
index 0993470..4806638 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
@@ -40,6 +40,8 @@
@PostMapping("/addstockInventory")
@ApiOperation("鏂板搴撳瓨")
public R addstockInventory(StockInventoryDto stockInventoryDto) {
+ stockInventoryDto.setRecordType("鍚堟牸鑷畾涔夊叆搴�");
+ stockInventoryDto.setRecordId(0L);
return R.ok(stockInventoryService.addstockInventory(stockInventoryDto));
}
@@ -47,6 +49,8 @@
@PostMapping("/subtractStockInventory")
@ApiOperation("鎵e噺搴撳瓨")
public R subtractStockInventory(StockInventoryDto stockInventoryDto) {
+ stockInventoryDto.setRecordType("鍚堟牸鑷畾涔夊嚭搴撳簱");
+ stockInventoryDto.setRecordId(0L);
return R.ok(stockInventoryService.subtractStockInventory(stockInventoryDto));
}
}
diff --git a/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java b/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java
new file mode 100644
index 0000000..e496352
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/dto/StockUninventoryDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.stock.dto;
+
+import com.ruoyi.stock.pojo.StockUninventory;
+import lombok.Data;
+
+@Data
+public class StockUninventoryDto extends StockUninventory {
+ private String productName;
+ private String model;
+ private String unit;
+
+
+ //鍏ュ簱绫诲瀷
+ private String recordType;
+
+ //鍏ュ簱绫诲瀷瀵瑰簲鐨刬d
+ private Long recordId;
+}
diff --git a/src/main/java/com/ruoyi/stock/service/StockInRecordService.java b/src/main/java/com/ruoyi/stock/service/StockInRecordService.java
index 19ad7ea..affb300 100644
--- a/src/main/java/com/ruoyi/stock/service/StockInRecordService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockInRecordService.java
@@ -16,4 +16,5 @@
int update(Long id, StockInRecordDto stockInRecordDto);
int batchDelete(List<Long> ids);
+
}
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index e360c95..ad80bd5 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -10,10 +10,13 @@
import com.ruoyi.staff.pojo.StaffOnJob;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.dto.StockUninventoryDto;
import com.ruoyi.stock.mapper.StockInRecordMapper;
import com.ruoyi.stock.mapper.StockInventoryMapper;
+import com.ruoyi.stock.mapper.StockUninventoryMapper;
import com.ruoyi.stock.pojo.StockInRecord;
import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.pojo.StockUninventory;
import com.ruoyi.stock.service.StockInRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -27,6 +30,8 @@
private StockInRecordMapper stockInRecordMapper;
@Autowired
private StockInventoryMapper stockInventoryMapper;
+ @Autowired
+ private StockUninventoryMapper stockUninventoryMapper;
@Override
public IPage<StockInRecordDto> listPage(Page page, StockInRecordDto stockInRecordDto) {
@@ -63,14 +68,26 @@
public int batchDelete(List<Long> ids) {
for (Long id : ids) {
StockInRecord stockInRecord = stockInRecordMapper.selectById(id);
- StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, id));
- if (stockInventory == null) {
- throw new BaseException("璇ュ叆搴撹褰曚笅娌℃湁瀵瑰簲鐨勪骇鍝�,鏃犳硶鍒犻櫎!!!");
- }else {
- StockInventoryDto stockInRecordDto = new StockInventoryDto();
- stockInRecordDto.setProductModelId(stockInventory.getProductModelId());
- stockInRecordDto.setQualitity(stockInRecord.getStockInNum());
- stockInventoryMapper.updateSubtractStockInventory(stockInRecordDto);
+ if (stockInRecord.getType().equals("0")) {
+ StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, stockInRecord.getProductModelId()));
+ if (stockInventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ StockInventoryDto stockInRecordDto = new StockInventoryDto();
+ stockInRecordDto.setProductModelId(stockInventory.getProductModelId());
+ stockInRecordDto.setQualitity(stockInRecord.getStockInNum());
+ stockInventoryMapper.updateAddStockInventory(stockInRecordDto);
+ }
+ }else if (stockInRecord.getType().equals("1")) {
+ StockUninventory stockUninventory = stockUninventoryMapper.selectOne(new LambdaQueryWrapper<StockUninventory>().eq(StockUninventory::getProductModelId, stockInRecord.getProductModelId()));
+ if (stockUninventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ StockUninventoryDto stockUninventoryDto = new StockUninventoryDto();
+ stockUninventoryDto.setProductModelId(stockUninventory.getProductModelId());
+ stockUninventoryDto.setQualitity(stockInRecord.getStockInNum());
+ stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
+ }
}
}
return stockInRecordMapper.deleteBatchIds(ids);
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
index d405413..420e6e2 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -9,11 +9,14 @@
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
+import com.ruoyi.stock.dto.StockUninventoryDto;
import com.ruoyi.stock.mapper.StockInventoryMapper;
import com.ruoyi.stock.mapper.StockOutRecordMapper;
+import com.ruoyi.stock.mapper.StockUninventoryMapper;
import com.ruoyi.stock.pojo.StockInRecord;
import com.ruoyi.stock.pojo.StockInventory;
import com.ruoyi.stock.pojo.StockOutRecord;
+import com.ruoyi.stock.pojo.StockUninventory;
import com.ruoyi.stock.service.StockOutRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,6 +37,8 @@
private StockOutRecordMapper stockOutRecordMapper;
@Autowired
private StockInventoryMapper stockInventoryMapper;
+ @Autowired
+ private StockUninventoryMapper stockUninventoryMapper;
@Override
public IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto) {
@@ -66,14 +71,26 @@
public int batchDelete(List<Long> ids) {
for (Long id : ids) {
StockOutRecord stockOutRecord = stockOutRecordMapper.selectById(id);
- StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, id));
- if (stockInventory == null) {
- throw new BaseException("璇ュ叆搴撹褰曚笅娌℃湁瀵瑰簲鐨勪骇鍝�,鏃犳硶鍒犻櫎!!!");
- }else {
- StockInventoryDto stockInRecordDto = new StockInventoryDto();
- stockInRecordDto.setProductModelId(stockInventory.getProductModelId());
- stockInRecordDto.setQualitity(stockOutRecord.getStockOutNum());
- stockInventoryMapper.updateAddStockInventory(stockInRecordDto);
+ if (stockOutRecord.getType().equals("0")) {
+ StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, stockOutRecord.getProductModelId()));
+ if (stockInventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ StockInventoryDto stockInRecordDto = new StockInventoryDto();
+ stockInRecordDto.setProductModelId(stockInventory.getProductModelId());
+ stockInRecordDto.setQualitity(stockOutRecord.getStockOutNum());
+ stockInventoryMapper.updateAddStockInventory(stockInRecordDto);
+ }
+ }else if (stockOutRecord.getType().equals("1")) {
+ StockUninventory stockUninventory = stockUninventoryMapper.selectOne(new LambdaQueryWrapper<StockUninventory>().eq(StockUninventory::getProductModelId, stockOutRecord.getProductModelId()));
+ if (stockUninventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ StockUninventoryDto stockUninventoryDto = new StockUninventoryDto();
+ stockUninventoryDto.setProductModelId(stockUninventory.getProductModelId());
+ stockUninventoryDto.setQualitity(stockOutRecord.getStockOutNum());
+ stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
+ }
}
}
return stockOutRecordMapper.deleteBatchIds(ids);
diff --git a/src/main/resources/mapper/stock/StockInRecordMapper.xml b/src/main/resources/mapper/stock/StockInRecordMapper.xml
index 3c7c402..91f08df 100644
--- a/src/main/resources/mapper/stock/StockInRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -20,6 +20,9 @@
<if test="params.productName != null and params.productName != ''">
and p.product_name like concat('%',#{params.productName},'%')
</if>
+ <if test="params.type != null and params.type != ''">
+ and sir.type = #{params.type}
+ </if>
</where>
order by sir.id desc
</select>
diff --git a/src/main/resources/mapper/stock/StockOutRecordMapper.xml b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
index df49648..d4f2961 100644
--- a/src/main/resources/mapper/stock/StockOutRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -35,6 +35,9 @@
<if test="params.productName != null and params.productName != ''">
and p.product_name like concat('%',#{param.productName},'%')
</if>
+ <if test="params.type != null and params.type != ''">
+ and sor.type = #{params.type}
+ </if>
</where>
order by sor.id desc
</select>
--
Gitblit v1.9.3