无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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;
 
/**
 * <p>
 * 仓库出库管理 前端控制器
 * </p>
 *
 * @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<PageDTO<VolumeProductionCkglVO>> 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<VolumeProductionCkglInfoVO> 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<VolumeProductionCkglInventoryVO> 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<SlAudit> 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<SlAuditRecord>()
                .eq("audit_id",slAudit.getId()));
        return R.ok();
    }
 
}