无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlStoreManagementController.java
@@ -1,20 +1,28 @@
package com.ruoyi.management.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.management.domain.SlGoodsShelf;
import com.ruoyi.management.domain.SlStoreManagement;
import com.ruoyi.management.domain.dto.QStoreManagementQuery;
import com.ruoyi.management.domain.dto.StoreManagementDTO;
import com.ruoyi.management.domain.dto.StoreManagementQuery;
import com.ruoyi.management.mapper.SlGoodsShelfMapper;
import com.ruoyi.management.service.SlStoreManagementService;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -30,18 +38,52 @@
@Api(value = "仓库管理接口", tags = "仓库管理接口", description = "仓库管理接口")
public class SlStoreManagementController {
    @Resource
    private TokenService tokenService;
    @Resource
    private SlStoreManagementService slStoreManagementService;
    @Resource
    private SlGoodsShelfMapper slGoodsShelfMapper;
    @Resource
    private SysUserClient sysUserClient;
    @PostMapping("/isHaveCKZY/{id}")
    @ApiOperation(value = "远程调用 根据用户id 判断是否有出库审核管理菜单权限和转移管理菜单权限")
    public R<String> isHaveCKZY(@PathVariable("id") String id) {
        if (id.equals("1")){
            return R.ok("1");
        }
        SysUser data = sysUserClient.getSysUser(Long.parseLong(id)).getData();
        if (data!=null){
            if (data.getUserType().equals("00")){
                return R.ok("1");
            }
        }
        List<SlStoreManagement> list = slStoreManagementService.list(new QueryWrapper<SlStoreManagement>()
                .eq("del_flag", "0"));
        List<SlStoreManagement> res = new ArrayList<>();
        for (SlStoreManagement slStoreManagement : list) {
            if (Arrays.asList(slStoreManagement.getDirectorId().split(",")).contains(id) || Arrays.asList(slStoreManagement.getAdministratorId().split(",")).contains(id) || Arrays.asList(slStoreManagement.getCompetentId().split(",")).contains(id)) {
                res.add(slStoreManagement);
            }
        }
        if (!res.isEmpty()){
            return R.ok("1");
        }else{
            return R.ok("0");
        }
    }
    @PostMapping("/getStoreManagementList")
    @ApiOperation(value = "分页获取仓库管理")
    public R<PageDTO<SlStoreManagement>> getStoreManagementList(@RequestBody StoreManagementQuery storeManagementQuery) {
        tokenService.getLoginUser();
        return R.ok(slStoreManagementService.getStoreManagementList(storeManagementQuery));
    }
    @PostMapping("/addStoreManagement")
    @ApiOperation(value = "添加/修改仓库管理")
    public AjaxResult addStoreManagement(@RequestBody StoreManagementDTO storeManagementDTO) {
        tokenService.getLoginUser();
         return slStoreManagementService.addStoreManagement(storeManagementDTO);
    }
@@ -49,6 +91,13 @@
    @DeleteMapping("/{id}")
    public R<?> delStoreManagement(
            @ApiParam(name = "id", value = "仓库管理id", required = true) @PathVariable("id") Long id) {
        tokenService.getLoginUser();
        List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(new QueryWrapper<SlGoodsShelf>()
                .eq("store_management_id", id)
                .eq("del_flag", "0"));
        if (!slGoodsShelves.isEmpty()){
            return R.fail("删除失败,当前仓库有货架");
        }
        SlStoreManagement byId = slStoreManagementService.getById(id);
        byId.setDelFlag("1");
        slStoreManagementService.updateById(byId);
@@ -58,12 +107,14 @@
    @GetMapping("/getStoreManagementOne/{id}")
    @ApiOperation(value = "仓库管理詳情")
    public R<SlStoreManagement> getStoreManagementOne( @ApiParam(name = "id", value = "仓库管理id", required = true) @PathVariable("id") Long id) {
        tokenService.getLoginUser();
        return R.ok(slStoreManagementService.getById(id));
    }
    @PostMapping("/QueryStoreManagementList")
    @ApiOperation(value = "根据条件仓库管理列表")
    public R<List<SlStoreManagement>> QueryStoreManagementList(@RequestBody QStoreManagementQuery StoreManagementQuery) {
        tokenService.getLoginUser();
        return R.ok(slStoreManagementService.QueryStoreManagementList(StoreManagementQuery));
    }