package com.vincent.rsf.server.manager.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.common.utils.FieldsUtils; import com.vincent.rsf.server.manager.entity.LocItem; import com.vincent.rsf.server.manager.entity.WaitPakinItem; import com.vincent.rsf.server.manager.service.WarehouseStockService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; import java.util.Objects; @Api("库存管理") @RestController @RequestMapping("/warehouse/stock") public class WarehouseStockController extends BaseController { @Autowired private WarehouseStockService warehouseStockService; @PreAuthorize("hasAuthority('manager:locItem:list')") @PostMapping("/page") public R page(@RequestBody Map param) { BaseParam baseParam = buildParam(param, BaseParam.class); PageParam pageParam = new PageParam<>(baseParam, LocItem.class); QueryWrapper queryWrapper = pageParam.buildWrapper(true); IPage pageResult = warehouseStockService.pageByStock(pageParam, queryWrapper); List records = pageResult.getRecords(); for (LocItem record : records) { if (!Objects.isNull(record.getFieldsIndex())) { Map fields = FieldsUtils.getFields(record.getFieldsIndex()); record.setExtendFields(fields); } } pageResult.setRecords(records); return R.ok(pageResult); } }