| src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/pojo/StockUninventory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/service/StockUninventoryService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/stock/StockUninventoryMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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("æ£ååºå") public R subtractstockUninventory(StockUninventoryDto stockUninventoryDto) { stockUninventoryDto.setRecordType("ä¸åæ ¼èªå®ä¹åºåº"); stockUninventoryDto.setRecordId(0L); return R.ok(stockUninventoryService.subtractStockUninventory(stockUninventoryDto)); } } 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); } 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; } 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); } 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; } } 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>