From 5a6ac2ffb3815f1ef510144dd6e88c64ee96f973 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 23 一月 2026 09:53:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java | 55 +++++++
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/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java | 27 +++
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 +++-
src/main/java/com/ruoyi/stock/controller/StockInRecordController.java | 10 -
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 85 ++++++++++++
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 52 +++++++
src/main/java/com/ruoyi/stock/service/StockUninventoryService.java | 24 +++
src/main/java/com/ruoyi/stock/pojo/StockUninventory.java | 49 +++++++
14 files changed, 371 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/controller/StockUninventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
new file mode 100644
index 0000000..2bed6de
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.stock.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.service.StockInventoryService;
+import com.ruoyi.stock.service.StockUninventoryService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 涓嶅悎鏍煎簱瀛樿〃 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-22 10:17:45
+ */
+@RestController
+@RequestMapping("/stockUninventory")
+public class StockUninventoryController {
+ @Autowired
+ private StockUninventoryService stockUninventoryService;
+
+ @GetMapping("/pagestockUninventory")
+ @ApiOperation("鍒嗛〉鏌ヨ搴撳瓨")
+ public R pagestockUninventory(Page page, StockUninventoryDto stockUninventoryDto) {
+ IPage<StockUninventoryDto> stockUninventoryDtoIPage = stockUninventoryService.pageStockUninventory(page, stockUninventoryDto);
+ return R.ok(stockUninventoryDtoIPage);
+ }
+
+ @PostMapping("/addstockUninventory")
+ @ApiOperation("鏂板搴撳瓨")
+ public R addstockUninventory(StockUninventoryDto stockUninventoryDto) {
+ stockUninventoryDto.setRecordType("涓嶅悎鏍艰嚜瀹氫箟鍏ュ簱");
+ stockUninventoryDto.setRecordId(0L);
+ return R.ok(stockUninventoryService.addStockUninventory(stockUninventoryDto));
+ }
+
+
+ @PostMapping("/subtractstockUninventory")
+ @ApiOperation("鎵e噺搴撳瓨")
+ public R subtractstockUninventory(StockUninventoryDto stockUninventoryDto) {
+ stockUninventoryDto.setRecordType("涓嶅悎鏍艰嚜瀹氫箟鍑哄簱");
+ stockUninventoryDto.setRecordId(0L);
+ return R.ok(stockUninventoryService.subtractStockUninventory(stockUninventoryDto));
+ }
+
+}
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/mapper/StockUninventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
new file mode 100644
index 0000000..64ecc2c
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.stock.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.pojo.StockUninventory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 涓嶅悎鏍煎簱瀛樿〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-22 10:17:45
+ */
+@Mapper
+public interface StockUninventoryMapper extends BaseMapper<StockUninventory> {
+
+ IPage<StockUninventoryDto> pageStockUninventory(Page page, @Param("ew") StockUninventoryDto stockUninventoryDto);
+
+ int updateSubtractStockUnInventory(StockUninventoryDto stockUninventoryDto);
+
+ int updateAddStockUnInventory(StockUninventoryDto stockUninventoryDto);
+}
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java b/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
new file mode 100644
index 0000000..4496101
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
@@ -0,0 +1,49 @@
+package com.ruoyi.stock.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 涓嶅悎鏍煎簱瀛樿〃
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-22 10:17:45
+ */
+@Getter
+@Setter
+@TableName("stock_uninventory")
+@ApiModel(value = "StockUninventory瀵硅薄", description = "涓嶅悎鏍煎簱瀛樿〃")
+public class StockUninventory implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ private Long id;
+
+ @ApiModelProperty("瑙勬牸id")
+ private Long productModelId;
+
+ @ApiModelProperty("鏁伴噺")
+ private BigDecimal qualitity;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateTime;
+
+ @ApiModelProperty("鐗堟湰鍙�")
+ private Integer version;
+
+}
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/StockUninventoryService.java b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
new file mode 100644
index 0000000..e4b8d83
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.stock.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.pojo.StockUninventory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 涓嶅悎鏍煎簱瀛樿〃 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-22 10:17:45
+ */
+public interface StockUninventoryService extends IService<StockUninventory> {
+
+ IPage<StockUninventoryDto> pageStockUninventory(Page page, StockUninventoryDto stockUninventoryDto);
+
+ Integer addStockUninventory(StockUninventoryDto stockUninventoryDto);
+
+ Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto);
+}
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/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
new file mode 100644
index 0000000..06096c5
--- /dev/null
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -0,0 +1,85 @@
+package com.ruoyi.stock.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.stock.dto.StockInRecordDto;
+import com.ruoyi.stock.dto.StockOutRecordDto;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.pojo.StockUninventory;
+import com.ruoyi.stock.mapper.StockUninventoryMapper;
+import com.ruoyi.stock.service.StockInRecordService;
+import com.ruoyi.stock.service.StockOutRecordService;
+import com.ruoyi.stock.service.StockUninventoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * <p>
+ * 涓嶅悎鏍煎簱瀛樿〃 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-22 10:17:45
+ */
+@Service
+public class StockUninventoryServiceImpl extends ServiceImpl<StockUninventoryMapper, StockUninventory> implements StockUninventoryService {
+
+ private StockUninventoryMapper stockUninventoryMapper;
+ private StockOutRecordService stockOutRecordService;
+ private StockInRecordService stockInRecordService;
+
+ @Override
+ public IPage<StockUninventoryDto> pageStockUninventory(Page page, StockUninventoryDto stockUninventoryDto) {
+ return stockUninventoryMapper.pageStockUninventory(page, stockUninventoryDto);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Integer addStockUninventory(StockUninventoryDto stockUninventoryDto) {
+ //鏂板鍏ュ簱璁板綍鍐嶆坊鍔犲簱瀛�
+ StockInRecordDto stockInRecordDto = new StockInRecordDto();
+ stockInRecordDto.setRecordId(stockUninventoryDto.getRecordId());
+ stockInRecordDto.setRecordType(stockUninventoryDto.getRecordType());
+ stockInRecordDto.setStockInNum(stockUninventoryDto.getQualitity());
+ stockInRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
+ stockInRecordDto.setType("1");
+ stockInRecordService.add(stockInRecordDto);
+ //鍐嶈繘琛屾柊澧炲簱瀛樻暟閲忓簱瀛�
+ //鍏堟煡璇㈠簱瀛樿〃涓殑浜у搧鏄惁瀛樺湪锛屼笉瀛樺湪鏂板锛屽瓨鍦ㄦ洿鏂�
+ StockUninventory oldStockUnInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda().eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId()));
+ if (ObjectUtils.isEmpty(oldStockUnInventory)) {
+ StockUninventory newStockUnInventory = new StockUninventory();
+ newStockUnInventory.setProductModelId(stockUninventoryDto.getProductModelId());
+ newStockUnInventory.setQualitity(stockUninventoryDto.getQualitity());
+ newStockUnInventory.setVersion(1);
+ stockUninventoryMapper.insert(newStockUnInventory);
+ }else {
+ stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
+ }
+ return 1;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto) {
+
+ // 鏂板鍑哄簱璁板綍
+ StockOutRecordDto stockOutRecordDto = new StockOutRecordDto();
+ stockOutRecordDto.setRecordId(stockUninventoryDto.getRecordId());
+ stockOutRecordDto.setRecordType(stockUninventoryDto.getRecordType());
+ stockOutRecordDto.setStockOutNum(stockUninventoryDto.getQualitity());
+ stockOutRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
+ stockOutRecordService.add(stockOutRecordDto);
+ StockUninventory oldStockInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda().eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId()));
+ if (ObjectUtils.isEmpty(oldStockInventory)) {
+ throw new RuntimeException("浜у搧搴撳瓨涓嶅瓨鍦�");
+ }else {
+ stockUninventoryMapper.updateSubtractStockUnInventory(stockUninventoryDto);
+ }
+ return 1;
+ }
+}
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>
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
new file mode 100644
index 0000000..22dcc3d
--- /dev/null
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -0,0 +1,52 @@
+<?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.stock.mapper.StockUninventoryMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.stock.pojo.StockUninventory">
+ <result column="id" property="id" />
+ <result column="product_model_id" property="productModelId" />
+ <result column="qualitity" property="qualitity" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="version" property="version" />
+ </resultMap>
+ <update id="updateSubtractStockUnInventory">
+ update stock_inventory
+ <set>
+ <if test="ew.qualitity != null">
+ qualitity = qualitity - #{ew.qualitity},
+ </if>
+ <if test="ew.version != null">
+ version = version + 1,
+ </if>
+ </set>
+ where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
+ </update>
+ <update id="updateAddStockUnInventory">
+ update stock_inventory
+ <set>
+ <if test="ew.qualitity != null">
+ qualitity = qualitity + #{ew.qualitity},
+ </if>
+ <if test="ew.version != null">
+ version = version + 1,
+ </if>
+ </set>
+ where product_model_id = #{ew.productModelId}
+ </update>
+ <select id="pageStockUninventory" resultType="com.ruoyi.stock.dto.StockUninventoryDto">
+ select su.*,
+ pm.model,
+ pm.unit,
+ p.product_name
+ from stock_uninventory su
+ left join product_model pm on su.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ where 1 = 1
+ <if test="ew.productName != null and ew.productName !=''">
+ and p.product_name like concat('%',#{ew.productName},'%')
+ </if>
+ </select>
+
+</mapper>
--
Gitblit v1.9.3