| src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/dto/StockOutRecordDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/mapper/StockOutRecordMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/pojo/StockOutRecord.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/service/StockOutRecordService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/stock/StockOutRecordMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
@@ -1,7 +1,18 @@ package com.ruoyi.stock.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.stock.dto.StockOutRecordDto; import com.ruoyi.stock.service.StockOutRecordService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -14,5 +25,35 @@ @RestController @RequestMapping("/stockOutRecord") public class StockOutRecordController { @Autowired private StockOutRecordService stockOutRecordService; @GetMapping("/listPageByProduction") @Log(title = "ç产åºåº-åºåºç®¡ç-å表", businessType = BusinessType.OTHER) @ApiOperation(value = "åºåºç®¡çå表") public AjaxResult listPage(Page page, StockOutRecordDto stockOutRecordDto) { IPage<StockOutRecordDto> result = stockOutRecordService.listPage(page, stockOutRecordDto); return AjaxResult.success(result); } @PostMapping("") @Log(title = "åºåºç®¡ç-æ°å¢åºåº", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody StockOutRecordDto stockOutRecordDto) { return AjaxResult.success(stockOutRecordService.add(stockOutRecordDto)); } @PutMapping("/{id}") @Log(title = "åºåºç®¡ç-æ´æ°åºåº", businessType = BusinessType.UPDATE) public AjaxResult update(@PathVariable("id") Long id, @RequestBody StockOutRecordDto stockOutRecordDto) { return AjaxResult.success(stockOutRecordService.update(id, stockOutRecordDto)); } @DeleteMapping("") @Log(title = "åºåºç®¡ç-å é¤åºåº", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("è¯·éæ©è³å°ä¸æ¡æ°æ®"); } return AjaxResult.success(stockOutRecordService.batchDelete(ids)); } } src/main/java/com/ruoyi/stock/dto/StockOutRecordDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.stock.dto; import com.ruoyi.stock.pojo.StockOutRecord; public class StockOutRecordDto extends StockOutRecord { /** * 产ååç§° */ private String productName; /** * 产åè§æ ¼ */ private String model; /** * 产ååä½ */ private String unit; } src/main/java/com/ruoyi/stock/mapper/StockOutRecordMapper.java
@@ -1,8 +1,12 @@ package com.ruoyi.stock.mapper; import com.ruoyi.stock.pojo.StockOutRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.stock.dto.StockOutRecordDto; import com.ruoyi.stock.pojo.StockOutRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * <p> @@ -14,5 +18,6 @@ */ @Mapper public interface StockOutRecordMapper extends BaseMapper<StockOutRecord> { IPage<StockOutRecordDto> listPage(Page page, @Param("params") StockOutRecordDto stockOutRecordDto); } src/main/java/com/ruoyi/stock/pojo/StockOutRecord.java
@@ -1,18 +1,15 @@ package com.ruoyi.stock.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; /** * <p> * åºåºè®°å½è¡¨ src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
@@ -1,7 +1,12 @@ package com.ruoyi.stock.service; import com.ruoyi.stock.pojo.StockOutRecord; 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.stock.dto.StockOutRecordDto; import com.ruoyi.stock.pojo.StockOutRecord; import java.util.List; /** * <p> @@ -12,5 +17,11 @@ * @since 2026-01-21 05:27:04 */ public interface StockOutRecordService extends IService<StockOutRecord> { IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto); int add(StockOutRecordDto stockOutRecordDto); int update(Long id, StockOutRecordDto stockOutRecordDto); int batchDelete(List<Long> ids); } src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -1,10 +1,20 @@ package com.ruoyi.stock.service.impl; import com.ruoyi.stock.pojo.StockOutRecord; import com.ruoyi.stock.mapper.StockOutRecordMapper; import com.ruoyi.stock.service.StockOutRecordService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.OrderUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.stock.dto.StockOutRecordDto; import com.ruoyi.stock.mapper.StockOutRecordMapper; import com.ruoyi.stock.pojo.StockInRecord; import com.ruoyi.stock.pojo.StockOutRecord; import com.ruoyi.stock.service.StockOutRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -16,5 +26,38 @@ */ @Service public class StockOutRecordServiceImpl extends ServiceImpl<StockOutRecordMapper, StockOutRecord> implements StockOutRecordService { @Autowired private StockOutRecordMapper stockOutRecordMapper; @Override public IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto) { return stockOutRecordMapper.listPage(page, stockOutRecordDto); } @Override public int add(StockOutRecordDto stockOutRecordDto) { String no = OrderUtils.countTodayByCreateTime(stockOutRecordMapper, "CK"); stockOutRecordDto.setOutboundBatches(no); StockInRecord stockInRecord = new StockInRecord(); BeanUtils.copyProperties(stockOutRecordDto, stockInRecord); return stockOutRecordMapper.insert(stockOutRecordDto); } @Override public int update(Long id, StockOutRecordDto stockOutRecordDto) { // å¤æå¯¹è±¡æ¯å¦åå¨ StockOutRecord stockOutRecord = stockOutRecordMapper.selectById(id); if (stockOutRecord == null){ throw new BaseException("该åºåºè®°å½ä¸åå¨,æ æ³æ´æ°!!!"); } String[] ignoreProperties = {"id", "inbound_batches"};//æé¤id屿§ BeanUtils.copyProperties(stockOutRecordDto, stockOutRecord, ignoreProperties); return stockOutRecordMapper.updateById(stockOutRecord); } @Override public int batchDelete(List<Long> ids) { return stockOutRecordMapper.deleteBatchIds(ids); } } src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -18,4 +18,20 @@ <result column="tenant_id" property="tenantId" /> </resultMap> <select id="listPage" resultType="com.ruoyi.stock.dto.StockOutRecordDto"> SELECT sor.* pm.product_name as productName, pm.model, pm.unit FROM stock_out_record as sor LEFT JOIN product_models as pm on sor.product_model_id = pm.id <where> <if test="params.timeStr != null and params.timeStr != ''"> and sor.create_time like concat('%',#{param.timeStr},'%') </if> </where> order by sor.id desc </select> </mapper>