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.pojo.Instrument;
|
import com.yuanchu.limslaboratory.pojo.dto.UpdateInstrumentDto;
|
import com.yuanchu.limslaboratory.service.InstrumentService;
|
import com.yuanchu.limslaboratory.service.UserService;
|
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.HashMap;
|
import java.util.Map;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 江苏鵷雏网络科技有限公司
|
* @since 2023-07-20
|
*/
|
@Api(tags = "实验室-->1、设备台账-->2、仪器模块")
|
@RestController
|
@RequestMapping("/instrument")
|
public class InstrumentController {
|
|
@Autowired
|
private InstrumentService instrumentService;
|
|
@Autowired
|
private UserService userService;
|
|
@ApiOperation("添加仪器设备")
|
@PostMapping("/add")
|
@AuthHandler
|
public Result<?> addInstrumentInformation(@RequestHeader("X-Token") String token, @RequestBody Instrument instrument) throws Exception {
|
Object object = RedisUtil.get(token);
|
Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
|
instrument.setCreateUserId((Integer) unmarshal.get("id"));
|
Integer isInsertSuccess = instrumentService.addInstrumentInformation(instrument);
|
if (isInsertSuccess == 1){
|
return Result.success("添加【" + instrument.getEquipmentName() + "】成功!");
|
}
|
return Result.fail("仪器设备编号重复,添加【" + instrument.getEquipmentName() + "】失败! ");
|
}
|
|
@ApiOperation("根据分类Id:分页列表展示")
|
@GetMapping("/list")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "classifyId", value = "分类Id", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "conditions", value = "查询状态:默认全部", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "whetherWhether", value = "是否已过期", dataTypeClass = Boolean.class),
|
@ApiImplicitParam(name = "numberOrNameOrSpecifications", value = "编号/设备名称/规格型号", dataTypeClass = String.class)
|
})
|
@AuthHandler
|
public Result<?> getListInstrumentInformation(Integer pageNo,
|
Integer pageSize,
|
Integer conditions,
|
Integer classifyId,
|
Boolean whetherWhether,
|
String numberOrNameOrSpecifications) {
|
IPage<Map<String, Object>> pageList = instrumentService.getListInstrumentInformation(conditions, whetherWhether, numberOrNameOrSpecifications,
|
classifyId, new Page<Objects>(pageNo, pageSize));
|
Map<String, Object> map = new HashMap<>();
|
map.put("row", pageList.getRecords());
|
map.put("total", pageList.getTotal());
|
return Result.success(map);
|
}
|
|
@ApiOperation("删除仪器数据")
|
@DeleteMapping("/delete")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "instrumentId", value = "仪器Id", dataTypeClass = String.class, required = true)
|
})
|
@AuthHandler
|
public Result<?> deleteInstrumentInformation(String instrumentId) {
|
Boolean isDeleteSuccess = instrumentService.deleteInstrumentInformation(instrumentId);
|
if (isDeleteSuccess){
|
return Result.success("删除仪器成功!");
|
}
|
return Result.fail("删除仪器失败!");
|
}
|
|
@ApiOperation("添加仪器时保管人下拉框数据")
|
@GetMapping("/get_user")
|
@AuthHandler
|
public Result<?> getMapUserInformation() {
|
return Result.success(userService.getUserNameAndId());
|
}
|
|
@ApiOperation("根据仪器Id获取信息用于编辑")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "InstrumentId", value = "分类Id", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/get_instrument")
|
@AuthHandler
|
public Result<?> getIdInstrumentInformation(Integer InstrumentId) {
|
return Result.success(instrumentService.getIdInstrumentInformation(InstrumentId));
|
}
|
|
@ApiOperation("根据仪器Id更新数据")
|
@PutMapping("/update")
|
@AuthHandler
|
public Result<?> updateEquipmentPointInformation(@RequestBody UpdateInstrumentDto updateInstrumentDto) throws Exception {
|
Instrument instrument = JackSonUtil.unmarshal(JackSonUtil.marshal(updateInstrumentDto), Instrument.class);
|
Integer isUpdateSuccess = instrumentService.updateEquipmentPointInformation(instrument);
|
if (isUpdateSuccess == 1){
|
return Result.success("更新【" + instrument.getEquipmentName() + "】成功!");
|
}
|
return Result.fail("仪器设备编号重复,更新【" + instrument.getEquipmentName() + "】失败! ");
|
}
|
}
|