skyouc
2 天以前 6883e31331af4633d1b7d74ea7deb5f972afa05d
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.server.manager.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
@@ -9,9 +10,12 @@
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
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.service.LocItemService;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.manager.enums.LocStsType;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -30,10 +34,96 @@
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<LocItem, BaseParam> pageParam = new PageParam<>(baseParam, LocItem.class);
        return R.ok().add(locItemService.page(pageParam, pageParam.buildWrapper(true)));
        /**拼接扩展字段*/
        PageParam<LocItem, BaseParam> page = locItemService.page(pageParam, pageParam.buildWrapper(true));
        List<LocItem> records = page.getRecords();
        for (LocItem record : records) {
            if (!Objects.isNull(record.getFieldsIndex())) {
                Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
                record.setExtendFields(fields);
            }
        }
        page.setRecords(records);
        return R.ok().add(page);
    }
    @PreAuthorize("hasAuthority('manager:locItem:list')")
    @PostMapping("/locItem/useO/page")
    public R locUseOPage(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<LocItem, BaseParam> pageParam = new PageParam<>(baseParam, LocItem.class);
        QueryWrapper<LocItem> locItemQueryWrapper = pageParam.buildWrapper(true);
        String applySql = String.format(
                "EXISTS (SELECT 1 FROM man_loc ml " +
                        "WHERE ml.use_status = '%s'" +
                        "AND ml.id = man_loc_item.loc_id " +
                        ")",
                LocStsType.LOC_STS_TYPE_F.type
        );
        locItemQueryWrapper.apply(applySql);
        /**拼接扩展字段*/
        PageParam<LocItem, BaseParam> page = locItemService.page(pageParam, locItemQueryWrapper);
        List<LocItem> records = page.getRecords();
        for (LocItem record : records) {
            if (!Objects.isNull(record.getFieldsIndex())) {
                Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
                record.setExtendFields(fields);
            }
        }
        page.setRecords(records);
        return R.ok().add(page);
    }
    /**
     * 生成库存出库任务
     * @param map
     * @return
     */
    @PreAuthorize("hasAuthority('manager:locItem:list')")
    @ApiOperation("生成库存出库任务")
    @PostMapping("/locItem/generate/task")
    public R generateTask(@RequestBody Map<String, Object> map) {
        if (Objects.isNull(map)) {
            return R.error("参数不能为空!!");
        }
        return locItemService.generateTask(map);
    }
    /**
     * 生成移库任务
     * @param map
     * @return
     */
    @PreAuthorize("hasAuthority('manager:locItem:list')")
    @ApiOperation("生成移库任务")
    @PostMapping("/locItem/move/task")
    public R genMoveTask(@RequestBody Map<String, Object> map) {
        if (Objects.isNull(map)) {
            return R.error("参数不能为空!!");
        }
        return locItemService.genMoveTask(map);
    }
    /**
     * 生成盘点出库任务
     * @param map
     * @return
     */
    @PreAuthorize("hasAuthority('manager:locItem:list')")
    @ApiOperation("生成盘点出库任务")
    @PostMapping("/locItem/check/task")
    public R genStatisticalTask(@RequestBody Map<String, Object> map) {
        if (Objects.isNull(map)) {
            return R.error("参数不能为空!!");
        }
        return locItemService.generateTask(map);
    }
    @PreAuthorize("hasAuthority('manager:locItem:list')")
    @PostMapping("/locItem/list")
    public R list(@RequestBody Map<String, Object> map) {
        return R.ok().add(locItemService.list());