package com.ruoyi.management.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.management.domain.SlAudit;
import com.ruoyi.management.domain.SlAuditRecord;
import com.ruoyi.management.domain.SlVolumeProductionCkgl;
import com.ruoyi.management.domain.SlVolumeProductionRkgl;
import com.ruoyi.management.domain.dto.VolumeProductionCkglDTO;
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.SlAuditMapper;
import com.ruoyi.management.mapper.SlAuditRecordMapper;
import com.ruoyi.management.service.SlVolumeProductionCkglService;
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
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.HashSet;
import java.util.Set;
/**
*
* 仓库出库管理 前端控制器
*
*
* @author hjl
* @since 2024-06-25
*/
@RestController
@RequestMapping("/sl-volume-production-ckgl")
@Api(value = "仓库出库管理接口", tags = "仓库出库管理接口", description = "仓库出库管理接口")
public class SlVolumeProductionCkglController {
@Resource
private SlVolumeProductionCkglService slVolumeProductionCkglService;
@Resource
private TokenService tokenService;
@Resource
private SlAuditMapper slAuditMapper;
@Resource
private SlAuditRecordMapper slAuditRecordMapper;
@PostMapping("/getslVolumeProductionCkglList")
@ApiOperation(value = "分页获取出库管理")
public R> getslVolumeProductionCkglList(@RequestBody getslVolumeProductionCkglQuery VolumeProductionCkglQuery) {
return R.ok(slVolumeProductionCkglService.getslVolumeProductionCkglList(VolumeProductionCkglQuery));
}
@PostMapping("/addslVolumeProductionCkgl")
@ApiOperation(value = "添加/修改出库管理")
public R addslVolumeProductionCkgl(@RequestBody VolumeProductionCkglDTO volumeProductionCkglDTO) {
return R.ok(slVolumeProductionCkglService.addslVolumeProductionCkgl(volumeProductionCkglDTO));
}
@GetMapping("/getVolumeProductionCkglnfo/{id}")
@ApiOperation(value = "获取出库库管理详情")
public R getVolumeProductionCkglnfo(@ApiParam(name = "id", value = "出库管理id", required = true) @PathVariable("id") Long id) {
return R.ok(slVolumeProductionCkglService.getVolumeProductionCkglnfo(id));
}
@PostMapping("/getVolumeProductionCkglInventory/{id}")
@ApiOperation(value = "获取出库管理打印清单")
public R getVolumeProductionCkglInventory(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) {
return R.ok(slVolumeProductionCkglService.getVolumeProductionCkglInventory(id));
}
@ApiOperation("出库管理出库")
@GetMapping("/ck/{id}")
public R> ck(@ApiParam(name = "id", value = "出库管理id", required = true) @PathVariable("id") Long id) {
slVolumeProductionCkglService.ck(id);
return R.ok();
}
@ApiOperation("出库管理归还")
@GetMapping("/gh/{id}")
public R> gh(@ApiParam(name = "id", value = "出库管理id", required = true) @PathVariable("id") Long id) {
slVolumeProductionCkglService.gh(id);
return R.ok();
}
@ApiOperation("取消出库管理")
@GetMapping("/{id}")
public R> delStoreManagement(
@ApiParam(name = "id", value = "出库管理id", required = true) @PathVariable("id") Long id) {
SlVolumeProductionCkgl byId = slVolumeProductionCkglService.getById(id);
byId.setPresentState(5);
byId.setAuditStatus(8);
slVolumeProductionCkglService.updateById(byId);
LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
wrapper.eq(SlAudit::getType,2);
wrapper.eq( SlAudit::getDelFlag,0);
wrapper.eq(SlAudit::getRkId,id);
SlAudit slAudit = slAuditMapper.selectOne(wrapper);
slAudit.setState(6);
slAuditRecordMapper.delete(new QueryWrapper()
.eq("audit_id",slAudit.getId()));
return R.ok();
}
}