Fixiaobai
2023-08-30 bbee615586681e32fdb645f196f95a776e0d33cb
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.yuanchu.limslaboratory.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yuanchu.limslaboratory.annotation.AuthHandler;
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.yuanchu.limslaboratory.pojo.LinkDetection;
import com.yuanchu.limslaboratory.pojo.Material;
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
import com.yuanchu.limslaboratory.service.MaterialService;
import com.yuanchu.limslaboratory.service.ProductService;
import com.yuanchu.limslaboratory.service.StandardService;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.vo.Result;
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.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
 
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author 江苏鵷雏网络科技有限公司
 * @since 2023-08-03
 */
@Api(tags = "报检管理-->委托检验")
@RestController
@RequestMapping("/link-basic")
public class LinkDetectionController {
 
    @Autowired
    private LinkBasicInformationService linkBasicInformationService;
 
    @Autowired
    private MaterialService materialService;
 
    @Autowired
    private StandardService standardService;
 
    @Resource
    ProductService productService;
 
 
 
    @ApiOperation("链接-->获取样品名称")
    @GetMapping("/material")
    public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
        String redisLink = RedisUtil.get("viewId").toString();
        if (linkBasicInformationService.isIfViewUUID(redisLink)){
            LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
            wrapper.select(Material::getId, Material::getName, Material::getCode);
            List<Map<String, Object>> maps = materialService.listMaps(wrapper);
            return Result.success(maps);
        }
        return Result.fail("抱歉链接错误或已过期!");
    }
 
    @ApiOperation("链接-->获取规格型号")
    @GetMapping("/specification")
    public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
        String redisLink = RedisUtil.get("viewId").toString();
        if (linkBasicInformationService.isIfViewUUID(redisLink)){
            List<Map<String, Object>> specificationIdAndName = standardService.getSpecificationIdAndName(materialId);
            return Result.success(specificationIdAndName);
        }
        return Result.fail("抱歉链接错误或已过期!");
    }
 
    @ApiOperation("链接-->选择试验项目")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "modelId", value = "型号id", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/chooseProject")
    public Result<?> chooseProject(@RequestHeader("link") String link,  Integer modelId) {
        String redisLink = RedisUtil.get("viewId").toString();
        if (linkBasicInformationService.isIfViewUUID(redisLink)){
            //查询标准库中该型号下的所有试验项目(父类)
            return Result.success(productService.chooseProject(modelId));
        }
        return Result.fail("抱歉链接错误或已过期!");
 
    }
 
    @ApiOperation("链接-->添加委托报检申请单")
    @PostMapping("/addInspection")
    public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
        String redisLink = RedisUtil.get("viewId").toString();
        if (linkBasicInformationService.isIfViewUUID(redisLink)){
            linkBasicInformation.setUid(redisLink);
            String code = linkBasicInformationService.addLinkBasicInformation(linkBasicInformation);
            if (!ObjectUtils.isEmpty(code)){
                return Result.success("添加成功!", code);
            } else {
                return Result.fail("添加失败!");
            }
        }
        return Result.fail("抱歉链接错误或已过期!");
 
    }
 
    @ApiOperation(value = "生成二维码所需的唯一码")
    @GetMapping("/getViewUUID")
    public Result<?> getViewUUID(int day){
        return Result.success("生成成功",linkBasicInformationService.getViewUUID(day));
    }
 
    @ApiOperation(value = "查询二维码所需的唯一码")
    @GetMapping("/selectViewUUID")
    public Result<?> selectViewUUID(){
        return Result.success("查询成功",linkBasicInformationService.selectViewUUID());
    }
 
    @ApiOperation(value = "检验唯一码是否有效")
    @GetMapping("/isIfViewUUID")
    public Result<?> isIfViewUUID(String viewId){
        return Result.success("查询成功",linkBasicInformationService.isIfViewUUID(viewId));
    }
 
 
    @ApiOperation("获取样品信息以及委托信息")
    @GetMapping("/getContractsSampleInfo")
    public Result<?> getContractsSampleInfo(String viewId){
        return Result.success(linkBasicInformationService.getContractsSampleInfo(viewId));
    }
 
}