package com.ruoyi.procurementrecord.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.procurementrecord.mapper.StockTakingMapper;
|
import com.ruoyi.procurementrecord.pojo.StockTaking;
|
import io.swagger.annotations.Api;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.time.LocalDateTime;
|
import java.util.Arrays;
|
|
@RestController
|
@RequestMapping("/stockTaking")
|
@Api(tags = "仓储物流-库存盘点")
|
public class StockTakingController {
|
|
@Autowired
|
private StockTakingMapper stockTakingMapper;
|
|
@GetMapping("/listPage")
|
public AjaxResult listPage(Page page, StockTaking q) {
|
LambdaQueryWrapper<StockTaking> w = new LambdaQueryWrapper<>();
|
if (q != null) {
|
if (q.getProductCategory() != null && !q.getProductCategory().isEmpty()) {
|
w.like(StockTaking::getProductCategory, q.getProductCategory());
|
}
|
if (q.getSpecificationModel() != null && !q.getSpecificationModel().isEmpty()) {
|
w.like(StockTaking::getSpecificationModel, q.getSpecificationModel());
|
}
|
}
|
w.orderByDesc(StockTaking::getId);
|
return AjaxResult.success(stockTakingMapper.selectPage(page, w));
|
}
|
|
@PostMapping
|
public AjaxResult add(@RequestBody StockTaking o) {
|
if (o.getBookNum() != null && o.getActualNum() != null) {
|
o.setDiffNum(o.getActualNum().subtract(o.getBookNum()));
|
}
|
fillTenant(o);
|
o.setCreateTime(LocalDateTime.now());
|
o.setUpdateTime(LocalDateTime.now());
|
return AjaxResult.success(stockTakingMapper.insert(o) > 0);
|
}
|
|
@PutMapping
|
public AjaxResult edit(@RequestBody StockTaking o) {
|
if (o.getBookNum() != null && o.getActualNum() != null) {
|
o.setDiffNum(o.getActualNum().subtract(o.getBookNum()));
|
}
|
o.setUpdateTime(LocalDateTime.now());
|
return AjaxResult.success(stockTakingMapper.updateById(o) > 0);
|
}
|
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
return AjaxResult.success(stockTakingMapper.deleteBatchIds(Arrays.asList(ids)) > 0);
|
}
|
|
private void fillTenant(StockTaking o) {
|
if (o.getTenantId() == null) {
|
try {
|
o.setTenantId(com.ruoyi.common.utils.SecurityUtils.getLoginUser().getTenantId());
|
} catch (Exception ignored) {
|
}
|
}
|
}
|
}
|