package com.yuanchu.limslaboratory.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; /** *

* 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-20 */ @Api(tags = "实验室-->设备台账-->2、仪器模块") @RestController @RequestMapping("/instrument") public class InstrumentController { @Autowired private InstrumentService instrumentService; @Autowired private UserService userService; @ApiOperation("添加仪器设备") @PostMapping("/add") public Result addInstrumentInformation(@RequestHeader("X-Token") String token, @RequestBody Instrument instrument) throws Exception { Object object = RedisUtil.get(token); Map 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) }) public Result getListInstrumentInformation(Integer pageNo, Integer pageSize, Integer conditions, Integer classifyId, Boolean whetherWhether, String numberOrNameOrSpecifications) { IPage> pageList = instrumentService.getListInstrumentInformation(conditions, whetherWhether, numberOrNameOrSpecifications, classifyId, new Page(pageNo, pageSize)); Map 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) }) public Result deleteInstrumentInformation(String instrumentId) { Boolean isDeleteSuccess = instrumentService.deleteInstrumentInformation(instrumentId); if (isDeleteSuccess){ return Result.success("删除仪器成功!"); } return Result.fail("删除仪器失败!"); } @ApiOperation("添加仪器时保管人下拉框数据") @GetMapping("/get_user") 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") public Result getIdInstrumentInformation(Integer InstrumentId) { Instrument idInstrumentInformation = instrumentService.getIdInstrumentInformation(InstrumentId); return Result.success(idInstrumentInformation); } @ApiOperation("根据仪器Id更新数据") @PutMapping("/update") 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() + "】失败! "); } }