危化品全生命周期管理后端
“djh”
2025-04-21 437f8e2b89a18363a1073fdbb3ab99bcd840a757
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
package com.gkhy.hazmat.admin.controller.web;
 
 
import com.gkhy.hazmat.common.annotation.RepeatSubmit;
import com.gkhy.hazmat.common.api.CommonResult;
import com.gkhy.hazmat.common.enums.CodePrexEnum;
import com.gkhy.hazmat.system.domain.HzHazmatFlow;
import com.gkhy.hazmat.system.service.HzHazmatFlowService;
import com.gkhy.hazmat.system.service.HzProductFlowService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
 
/**
 * <p>
 * 危化品流向表 前端控制器
 * </p>
 *
 * @author kzy
 * @since 2024-08-05 14:41:40
 */
@Api(tags = "原材料危化品流向前端控制器")
@RestController
@RequestMapping("/hazmat-flow")
public class HzHazmatFlowController {
    @Autowired
    private HzHazmatFlowService hazmatFlowService;
    @Autowired
    private HzProductFlowService productFlowService;
 
    @ApiOperation(value = "流向列表(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "long", required = false, value = "公司id"),
 
    })
    @GetMapping("/list")
    public CommonResult list(HzHazmatFlow hazmatFlow){
        return CommonResult.success(hazmatFlowService.selectHazmatFlowList(hazmatFlow));
    }
 
 
    @ApiOperation(value = "根据流向id查询危化品所有流向")
    @GetMapping(value = { "/getAllHazmatFlowById" })
    public CommonResult getAllHazmatFlowById(Long hazmatFlowId){
        return CommonResult.success(hazmatFlowService.selectAllHazmatFlowById(hazmatFlowId));
    }
 
 
    @ApiOperation(value = "根据危化品id查询危化品所有流向")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "hazmatId", dataType = "long", required = false, value = "公司id"),
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "long", required = false, value = "公司id"),
 
    })
    @GetMapping(value = { "/getAllHazmatFlowByHazmatId" })
    public CommonResult getAllHazmatFlowByHazmatId(Long hazmatId,Long companyId){
        return CommonResult.success(hazmatFlowService.getAllHazmatFlowByHazmatId(hazmatId,companyId));
    }
 
    @RepeatSubmit
    @PreAuthorize("hasAnyAuthority('hazmat:manage:company','hazmat:manage:common')")
    @ApiOperation(value = "删除流向")
    @DeleteMapping(value = { "/{hazmatFlowId}" })
    public CommonResult delete(@PathVariable(value = "hazmatFlowId", required = true) Long hazmatFlowId){
        return CommonResult.success(hazmatFlowService.deleteHazmatFlowById(hazmatFlowId));
    }
 
    @PreAuthorize("hasAnyAuthority('hazmat:manage:company','hazmat:manage:common','hazmat:manage:system')")
    @ApiOperation(value = "根据条码code查询危化品所有流向")
    @GetMapping(value = { "/getHazmatFlowByCode" })
    public CommonResult getAllHazmatFlowByCode(@RequestParam(required = true) String  code,@RequestParam("companyId") Long companyId){
        if(code.startsWith(CodePrexEnum.MATERIAL.getCode())){
            return CommonResult.success(hazmatFlowService.selectAllHazmatFlowByCode(code,companyId));
        }else if(code.startsWith(CodePrexEnum.GOOD.getCode())){
            return CommonResult.success(productFlowService.selectAllProductFlowByCode(code,companyId));
        }else{
            return CommonResult.failed("条码格式不正确");
        }
    }
}