XiaoRuby
2023-08-03 b4319e15b7a08e699f4bf3d488d0217144d95af1
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
package com.yuanchu.limslaboratory.controller;
 
 
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
import com.yuanchu.limslaboratory.pojo.dto.InspectionMaterialListDto;
import com.yuanchu.limslaboratory.service.InspectionMaterialListService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
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.Map;
 
/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 江苏鵷雏网络科技有限公司
 * @since 2023-07-17
 */
@Api(tags = "检验模块-->检验单-->样品相关")
@RestController
@RequestMapping("/inspectionMaterialList")
public class InspectionMaterialListController {
 
    @Autowired
    InspectionMaterialListService inspectionMaterialListService;
 
    @Resource
    InspectionMapper inspectionMapper;
 
    @ApiOperation("添加检验单中的检验样品")
    @PostMapping("/addInspectionMaterialList")
    public Result addInspectionMaterialList(@RequestHeader("X-Token") String token, @RequestBody InspectionMaterialList inspectionMaterialList) throws Exception {
        //如果检验单已作废,状态为0,则无法添加样品
        Inspection inspection = inspectionMapper.selectById(inspectionMaterialList.getInspectionId());
        if (inspection.getState()==0) {
            return Result.fail("检验单已作废无法添加检验样品");
        }
        else {
            inspectionMaterialList.setState(1);
            Object object = RedisUtil.get(token);
            Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
            inspectionMaterialListService.addInspectionMaterialList(inspectionMaterialList, "" + unmarshal.get("id"));
            return Result.success();
        }
    }
 
    @ApiOperation("删除样品")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
    })
    @PostMapping("/delInspectionMaterialList")
    public Result delInspectionMaterialList(int inspectionMaterialListId) {
        inspectionMaterialListService.delInspectionMaterialListByInsId(inspectionMaterialListId);
        return Result.success();
    }
 
    @ApiOperation("根据样品Id查询样品信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionId", value = "样品ID", dataTypeClass = String.class, required = true),
    })
    @GetMapping("/selectInspectionMaterialListById/{inspectionId}")
    public Result selectInspectionMaterialListById(@PathVariable String inspectionId) {
        return Result.success(inspectionMaterialListService.list(new QueryWrapper<InspectionMaterialList>().eq("inspection_id", inspectionId).eq("state", 1)));
    }
 
    @ApiOperation("根据样品id修改样品信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
    })
    @PutMapping("/updateInspectionMaterialList/{inspectionMaterialListId}")
    public Result updateInspectionMaterialList(@PathVariable Integer inspectionMaterialListId, @RequestBody InspectionMaterialListDto inspectionMaterialListDto) {
        inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId, inspectionMaterialListDto);
        return Result.success();
    }
}