package com.yuanchu.limslaboratory.controller;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
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 java.util.Map;
/**
*
* 前端控制器
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-07-17
*/
@Api(tags = "检验模块-->检验单-->样品相关")
@RestController
@RequestMapping("/inspectionMaterialList")
public class InspectionMaterialListController {
@Autowired
InspectionMaterialListService inspectionMaterialListService;
@ApiOperation("添加检验单中的检验样品")
@PostMapping("/addInspectionMaterialList")
public Result addInspectionMaterialList(@RequestHeader("X-Token") String token, @RequestBody InspectionMaterialList inspectionMaterialList) throws Exception {
inspectionMaterialList.setState(1);
Object object = RedisUtil.get(token);
Map unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
return Result.success(inspectionMaterialListService.addInspectionMaterialList(inspectionMaterialList, "" + unmarshal.get("id")));
}
@ApiOperation("删除样品")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
})
@PostMapping("/delInspectionMaterialList")
public Result delInspectionMaterialList(int inspectionMaterialListId) {
return Result.success(inspectionMaterialListService.delInspectionMaterialListByInsId(inspectionMaterialListId));
}
@ApiOperation("根据Id查询样品信息")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
})
@PutMapping("/selectInspectionMaterialListById/{inspectionMaterialListId}")
public Result selectInspectionMaterialListById(@PathVariable Integer inspectionMaterialListId) {
return Result.success(inspectionMaterialListService.getById(inspectionMaterialListId));
}
@ApiOperation("根据样品id修改样品信息")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
})
@PutMapping("/updateInspectionMaterialList/{inspectionMaterialListId}")
public Result updateInspectionMaterialList(@PathVariable Integer inspectionMaterialListId, @RequestBody InspectionMaterialList inspectionMaterialList) {
return Result.success(inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId, inspectionMaterialList));
}
}