Fixiaobai
2023-09-06 8abe275e36823f1065300af45e1f7a9a68f549a7
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
@@ -1,9 +1,27 @@
package com.yuanchu.limslaboratory.controller;
import org.springframework.web.bind.annotation.RequestMapping;
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 org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
import java.util.*;
/**
 * <p>
@@ -13,8 +31,71 @@
 * @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<EquipmentPoint> equipmentPoints) throws Exception {
        Object object = RedisUtil.get(token);
        Map<String, Object> 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<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(InstrumentId);
        list.forEach(l->{
            l.put("instrumentId",null);
        });
        return Result.success(list);
    }
    @ApiOperation("根据码点Id删除数据")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "equipmentPointId", value = "设备码点Id", dataTypeClass = Integer.class, required = true)
    })
    @DeleteMapping("/delete")
    @AuthHandler
    public Result<?> deleteEquipmentPointInformation(Integer equipmentPointId) {
        Integer isDeleteSuccess = equipmentPointService.deleteEquipmentPointInformation(equipmentPointId);
        if (isDeleteSuccess == 1){
            return Result.success("删除成功!");
        }
        return Result.fail("删除失败!");
    }
    @ApiOperation("根据码点Id更新数据")
    @PutMapping("/update")
    @AuthHandler
    public Result<?> updateEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody UpdateEquipmentPointDto updateEquipmentPointDto) throws Exception {
        Object object = RedisUtil.get(token);
        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
        EquipmentPoint equipmentPoint = JackSonUtil.unmarshal(JackSonUtil.marshal(updateEquipmentPointDto), EquipmentPoint.class);
        equipmentPoint.setUserId((Integer) unmarshal.get("id"));
        Integer isUpdateSuccess = equipmentPointService.updateEquipmentPointInformation(equipmentPoint);
        if (isUpdateSuccess == 1){
            return Result.success("更新成功!");
        }
        return Result.fail("更新失败!");
    }
}