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 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) { } } } }