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; /** *

* 前端控制器 *

* * @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") @AuthHandler public Result getMaterialIdAndName(@RequestHeader("link") String link) { String redisLink = RedisUtil.get("viewId").toString(); if (linkBasicInformationService.isIfViewUUID(redisLink)){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.select(Material::getId, Material::getName, Material::getCode); List> maps = materialService.listMaps(wrapper); return Result.success(maps); } return Result.fail("抱歉链接错误或已过期!"); } @ApiOperation("链接-->获取规格型号") @GetMapping("/specification") @AuthHandler public Result getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) { String redisLink = RedisUtil.get("viewId").toString(); if (linkBasicInformationService.isIfViewUUID(redisLink)){ List> 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") @AuthHandler 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") @AuthHandler 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") @AuthHandler public Result getViewUUID(int day){ return Result.success("生成成功",linkBasicInformationService.getViewUUID(day)); } @ApiOperation(value = "查询二维码所需的唯一码") @GetMapping("/selectViewUUID") @AuthHandler public Result selectViewUUID(){ return Result.success("查询成功",linkBasicInformationService.selectViewUUID()); } @ApiOperation(value = "检验唯一码是否有效") @GetMapping("/isIfViewUUID") @AuthHandler public Result isIfViewUUID(String viewId){ return Result.success("查询成功",linkBasicInformationService.isIfViewUUID(viewId)); } }