package com.yuanchu.limslaboratory.controller;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.yuanchu.limslaboratory.annotation.AuthHandler;
|
import com.yuanchu.limslaboratory.enums.InterfaceType;
|
import com.yuanchu.limslaboratory.enums.MenuEnums;
|
import com.yuanchu.limslaboratory.pojo.vo.ReportVo;
|
import com.yuanchu.limslaboratory.service.ReportService;
|
import com.yuanchu.limslaboratory.utils.JackSonUtil;
|
import com.yuanchu.limslaboratory.utils.MyUtil;
|
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.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 江苏鵷雏网络科技有限公司
|
* @since 2023-08-07
|
*/
|
@Api(tags = "检验模块-->检验报告")
|
@RestController
|
@RequestMapping("/report")
|
public class ReportController {
|
|
@Resource
|
private ReportService reportService;
|
|
@ApiOperation("查询检验报告")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "page", value = "初始页", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "status", value = "状态(为空=全部)", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "name", value = "搜索信息", dataTypeClass = String.class)
|
})
|
@GetMapping("/selectAllReport")
|
@AuthHandler
|
public Result selectAllReport(Integer page, Integer pageSize, Integer status, String name) {
|
IPage<ReportVo> reportPage = reportService.selectAllReport(new Page<Object>(page, pageSize), status, name);
|
Map<String, Object> map = new HashMap<>();
|
map.put("total", reportPage.getTotal());
|
map.put("row", reportPage.getRecords());
|
return Result.success(map);
|
}
|
|
@ApiOperation("提交")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验报告id", dataTypeClass = Integer.class, required = true)
|
})
|
@PostMapping("/submit")
|
@AuthHandler
|
public Result submit(Integer id) {
|
return Result.success(reportService.submit(id));
|
}
|
|
@ApiOperation("审核")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验报告id", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "result", value = "审核结论", dataTypeClass = String.class, required = true)
|
})
|
@PostMapping("/check")
|
@AuthHandler
|
public Result check(@RequestHeader("X-Token") String token, Integer id, String result) throws Exception {
|
Object object = RedisUtil.get(token);
|
Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
|
MyUtil.PrintLog(unmarshal + "-------id" + id + "=========" + result);
|
return Result.success(reportService.check((String) unmarshal.get("name"), id, result));
|
}
|
|
@ApiOperation("删除")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "id", value = "检验报告id", dataTypeClass = Integer.class, required = true)
|
})
|
@PostMapping("/delreport")
|
@AuthHandler
|
public Result delreport(Integer id) {
|
return Result.success(reportService.delreport(id));
|
}
|
|
@ApiOperation("获取报告内的数据")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "code", value = "报告单号", dataTypeClass = String.class, required = true)
|
})
|
@PostMapping("/getReportContext")
|
@AuthHandler
|
public Result getReportContext(String code) {
|
return Result.success(reportService.getReportContext(code));
|
}
|
|
@GetMapping("/getEnterprise")
|
@ApiOperation("获取企业信息")
|
@AuthHandler(type = InterfaceType.SELECT,menuId = MenuEnums.checkTheReport,isAdd = true)
|
public Result getEnterprise() {
|
return Result.success(reportService.getEnterprise());
|
}
|
}
|