package com.yuanchu.limslaboratory.controller;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
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.pojo.EquipmentPoint;
import com.yuanchu.limslaboratory.pojo.dto.UpdateEquipmentPointDto;
import com.yuanchu.limslaboratory.service.EquipmentPointService;
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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.*;
/**
*
* 前端控制器
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-07-20
*/
@Api(tags = "实验室-->1、设备台账-->3、设备码点")
@RestController
@RequestMapping("/equipment-point")
public class EquipmentPointController {
@Autowired
private EquipmentPointService equipmentPointService;
@ApiOperation("添加设备码点")
@PostMapping("/add")
@AuthHandler
public Result> addEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody List equipmentPoints) throws Exception {
Object object = RedisUtil.get(token);
Map unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
equipmentPoints.forEach(e->{
e.setUserId((Integer) unmarshal.get("id"));
e.setCreateTime(new Date());
e.setUpdateTime(new Date());
});
if(equipmentPointService.addEquipmentPointInformation(equipmentPoints)>0){
return Result.success("添加成功");
}
return Result.fail("添加失败");
}
@ApiOperation("根据仪器Id查询对应设备码点数据")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "InstrumentId", value = "仪器模块Id", dataTypeClass = String.class, required = true)
})
@GetMapping("/list")
@AuthHandler
public Result> getListEquipmentPointInformation(String InstrumentId) {
List