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.SlVolumeProductionRkgl;
import com.ruoyi.management.domain.dto.SlGoodsShelfDTO;
import com.ruoyi.management.domain.dto.SupplierVolumeProductionRkglQuery;
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInfoVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
import com.ruoyi.management.mapper.SlAuditMapper;
import com.ruoyi.management.mapper.SlAuditRecordMapper;
import com.ruoyi.management.service.SlVolumeProductionRkglService;
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;
/**
*
* 入库管理 前端控制器
*
*
* @author hjl
* @since 2024-06-25
*/
@RestController
@RequestMapping("/sl-volume-production-rkgl")
@Api(value = "入库管理接口", tags = "入库管理接口", description = "入库管理接口")
public class SlVolumeProductionRkglController {
@Resource
private SlVolumeProductionRkglService slVolumeProductionRkglService;
@Resource
private TokenService tokenService;
@Resource
private SlAuditMapper slAuditMapper;
@Resource
private SlAuditRecordMapper slAuditRecordMapper;
@PostMapping("/getSupplierVolumeProductionRkglList")
@ApiOperation(value = "分页获取供应商关联入库")
public R> getSupplierVolumeProductionRkglList(@RequestBody SupplierVolumeProductionRkglQuery supplierVolumeProductionRkglQuery) {
tokenService.getLoginUser();
return R.ok(slVolumeProductionRkglService.getSupplierVolumeProductionRkglList(supplierVolumeProductionRkglQuery));
}
@GetMapping("/getVolumeProductionRkgInfo/{id}")
@ApiOperation(value = "获取入库管理详情")
public R getVolumeProductionRkgInfo(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) {
tokenService.getLoginUser();
return R.ok(slVolumeProductionRkglService.getVolumeProductionRkgInfo(id));
}
@PostMapping("/getslVolumeProductionRkglList")
@ApiOperation(value = "分页获取入库管理")
public R> getslVolumeProductionRkglList(@RequestBody getVolumeProductionRkQuery getVolumeProductionRkQuery) {
tokenService.getLoginUser();
return R.ok(slVolumeProductionRkglService.getslVolumeProductionRkglList(getVolumeProductionRkQuery));
}
@PostMapping("/addVolumeProductionRkgl")
@ApiOperation(value = "添加/修改入库管理")
public R addVolumeProductionRkgl(@RequestBody VolumeProductionRkglDTO volumeProductionRkglDTO) {
tokenService.getLoginUser();
return R.ok(slVolumeProductionRkglService.addVolumeProductionRkgl(volumeProductionRkglDTO));
}
@ApiOperation("取消入库管理")
@GetMapping("/{id}")
public R> delStoreManagement(
@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) {
tokenService.getLoginUser();
SlVolumeProductionRkgl byId = slVolumeProductionRkglService.getById(id);
byId.setPresentState(5);
byId.setAuditStatus(7);
slVolumeProductionRkglService.updateById(byId);
LambdaQueryWrapper wrapper= Wrappers.lambdaQuery();
wrapper.eq(SlAudit::getType,1);
wrapper.eq( SlAudit::getDelFlag,0);
wrapper.eq(SlAudit::getRkId,id);
SlAudit slAudit = slAuditMapper.selectOne(wrapper);
if (slAudit!=null){
slAudit.setState(6);
slAuditMapper.updateById(slAudit);
slAuditRecordMapper.delete(new QueryWrapper()
.eq("audit_id",slAudit.getId()));
}
return R.ok();
}
@GetMapping("/getVolumeProductionRkgInventory/{id}")
@ApiOperation(value = "获取入库管理打印清单")
public R getVolumeProductionRkgInventory(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) {
tokenService.getLoginUser();
return R.ok(slVolumeProductionRkglService.getVolumeProductionRkgInventory(id));
}
@ApiOperation("入库管理入库")
@GetMapping("/rk/{id}")
public R> rk(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) {
tokenService.getLoginUser();
slVolumeProductionRkglService.rk(id);
return R.ok();
}
}