Commit 7e3f6dc6 authored by qinhu's avatar qinhu

存储柜管理

parent d14f5572
package cn.wise.sc.cement.business.controller;
import cn.wise.sc.cement.business.entity.Cabinet;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.service.ICabinetService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2020-10-19
*/
@Api(tags = "存储柜子管理")
@RestController
@RequestMapping("/business/cabinet")
public class CabinetController {
final
ICabinetService iCabinetService;
public CabinetController(ICabinetService iCabinetService) {
this.iCabinetService = iCabinetService;
}
@PostMapping("/new")
@ApiOperation("新增柜子")
public BaseResponse<Boolean> newCabinet(@RequestBody Cabinet cabinet) {
boolean save = iCabinetService.save(cabinet);
if (save) {
return BaseResponse.okData(true);
} else {
return BaseResponse.errorMsg("添加失败!");
}
}
@PutMapping("/edit")
@ApiOperation("编辑柜子")
public BaseResponse<Boolean> editCabinet(@RequestBody Cabinet cabinet) {
boolean b = iCabinetService.updateById(cabinet);
if (b) {
return BaseResponse.okData(true);
} else {
return BaseResponse.errorMsg("更新失败失败!");
}
}
@GetMapping("/page")
@ApiOperation("查询柜子分页")
public BaseResponse<IPage<Cabinet>> page(PageQuery pageQuery) {
IPage<Cabinet> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
return BaseResponse.okData(iCabinetService.page(page));
}
}
package cn.wise.sc.cement.business.controller; package cn.wise.sc.cement.business.controller;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.wise.sc.cement.business.model.BaseResponse; import cn.wise.sc.cement.business.model.BaseResponse;
...@@ -7,6 +9,7 @@ import cn.wise.sc.cement.business.model.PageQuery; ...@@ -7,6 +9,7 @@ import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.SampleManageQuery; import cn.wise.sc.cement.business.model.query.SampleManageQuery;
import cn.wise.sc.cement.business.service.ISampleService; import cn.wise.sc.cement.business.service.ISampleService;
import cn.wise.sc.cement.business.service.ISysDictionaryService; import cn.wise.sc.cement.business.service.ISysDictionaryService;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -15,11 +18,15 @@ import org.slf4j.Logger; ...@@ -15,11 +18,15 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p> * <p>
...@@ -92,11 +99,11 @@ public class SampleController { ...@@ -92,11 +99,11 @@ public class SampleController {
@ApiOperation("绑定样品信息") @ApiOperation("绑定样品信息")
@PutMapping("/bind/savePosition") @PutMapping("/bind/savePosition")
public BaseResponse<String> bindSavePosition(@RequestBody SampleManageQuery query){ public BaseResponse<String> bindSavePosition(@RequestBody SampleManageQuery query) {
try { try {
return sampleService.bindSavePosition(query); return sampleService.bindSavePosition(query);
}catch (Exception e){ } catch (Exception e) {
log.debug("样品登记{}", e); log.debug("样品登记{}", e);
} }
return BaseResponse.errorMsg("失败!"); return BaseResponse.errorMsg("失败!");
...@@ -104,27 +111,46 @@ public class SampleController { ...@@ -104,27 +111,46 @@ public class SampleController {
@ApiOperation("样品复查") @ApiOperation("样品复查")
@PutMapping("/review") @PutMapping("/review")
public BaseResponse<Boolean> ampleReview(Integer id){ public BaseResponse<Boolean> ampleReview(Integer id) {
return sampleService.ampleReview(id); return sampleService.ampleReview(id);
} }
@ApiOperation("获取存储位置二维码") @ApiOperation("获取存储位置二维码")
@PostMapping("/saverq/init") @PostMapping("/saverq/init")
public void getSaveRQ(String savePosition, HttpServletResponse response) { public BaseResponse<List<String>> getSaveRQ(@RequestBody List<String> savePositions) throws IOException {
if (StrUtil.isBlank(savePosition)) { if (CollectionUtil.isEmpty(savePositions)) {
log.error("生成存储位置二维码失败!savePosition参数为空!"); log.error("生成存储位置二维码失败!savePosition参数为空!");
} }
ByteArrayOutputStream stream = new ByteArrayOutputStream();
List<String> rts = new ArrayList<>(savePositions.size());
for (String savePosition : savePositions) {
stream.reset();
BufferedImage bufferedImage = QrCodeUtil.generate(savePosition, 200, 200); BufferedImage bufferedImage = QrCodeUtil.generate(savePosition, 200, 200);
ImageIO.write(bufferedImage, "png", stream);
String base64 = Base64.encode(stream.toByteArray());
rts.add(base64);
System.out.println(base64);
}
stream.close();
return BaseResponse.okData(rts);
}
try (ServletOutputStream os = response.getOutputStream()) { @ApiOperation("获取样品二维码")
ImageIO.write(bufferedImage, "jpg", os); @PostMapping("/samplerq/init")
os.flush(); public BaseResponse<String> getSampleRQ(String sampleId) throws IOException {
} catch (IOException e) {
e.printStackTrace(); if (StrUtil.isBlank(sampleId)) {
log.error("生成样品二维码失败!savePosition参数为空!");
} }
ByteArrayOutputStream stream = new ByteArrayOutputStream();
BufferedImage bufferedImage = QrCodeUtil.generate(sampleId, 200, 200);
ImageIO.write(bufferedImage, "png", stream);
stream.close();
return BaseResponse.okData(Base64.encode(stream.toByteArray()));
} }
@ApiOperation(value = "样品销毁") @ApiOperation(value = "样品销毁")
@PostMapping("/destruction/{id}") @PostMapping("/destruction/{id}")
public BaseResponse destruction(@PathVariable Integer id) { public BaseResponse destruction(@PathVariable Integer id) {
...@@ -136,6 +162,7 @@ public class SampleController { ...@@ -136,6 +162,7 @@ public class SampleController {
return BaseResponse.errorMsg("失败!"); return BaseResponse.errorMsg("失败!");
} }
@ApiOperation(value = "获取样品状态列表") @ApiOperation(value = "获取样品状态列表")
@GetMapping("/getSampleFormList") @GetMapping("/getSampleFormList")
public BaseResponse getSampleFormList() { public BaseResponse getSampleFormList() {
......
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-10-19
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Cabinet implements Serializable {
private static final long serialVersionUID=1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String name;
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Cabinet;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-10-19
*/
public interface CabinetMapper extends BaseMapper<Cabinet> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.CabinetMapper">
</mapper>
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.Cabinet;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-10-19
*/
public interface ICabinetService extends IService<Cabinet> {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.Cabinet;
import cn.wise.sc.cement.business.mapper.CabinetMapper;
import cn.wise.sc.cement.business.service.ICabinetService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-10-19
*/
@Service
public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> implements ICabinetService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment