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;
|
|
/**
|
* <p>
|
* 仓库管理 前端控制器
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-06-25
|
*/
|
@RestController
|
@RequestMapping("/sl-store-management")
|
@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);
|
}
|
|
@ApiOperation("删除仓库管理")
|
@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);
|
return R.ok();
|
}
|
|
@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));
|
}
|
|
}
|