diff --git a/cement-business/pom.xml b/cement-business/pom.xml
index 2ab65352bbe461d07f931e73d2576d50bd168469..2e247c407714830cb6f165958d586501fd325fbe 100644
--- a/cement-business/pom.xml
+++ b/cement-business/pom.xml
@@ -38,12 +38,10 @@
         <dependency>
             <groupId>org.redisson</groupId>
             <artifactId>redisson</artifactId>
-            <version>3.11.1</version>
         </dependency>
         <dependency>
             <groupId>redis.clients</groupId>
             <artifactId>jedis</artifactId>
-            <version>3.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -68,7 +66,6 @@
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <!--<version>5.1.45</version>-->
-            <version>8.0.18</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
@@ -99,7 +96,6 @@
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>4.6.8</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
         <dependency>
@@ -110,28 +106,28 @@
         <dependency>
             <groupId>io.jsonwebtoken</groupId>
             <artifactId>jjwt</artifactId>
-            <version>0.9.0</version>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
-            <version>23.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi</artifactId>
-            <version>3.17</version>
         </dependency>
+
         <!-- https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs-client-java -->
         <dependency>
             <groupId>net.oschina.zcx7878</groupId>
             <artifactId>fastdfs-client-java</artifactId>
-            <version>1.27.0.0</version>
         </dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.6</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>core</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/controller/SampleController.java b/cement-business/src/main/java/cn/wise/sc/cement/business/controller/SampleController.java
index 9c6e80b5c60c058492d6ea38370e149d86ba8e0a..9c3f336494c2190bb9f4fc456968562c79c527ee 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/controller/SampleController.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/controller/SampleController.java
@@ -1,10 +1,10 @@
 package cn.wise.sc.cement.business.controller;
 
-
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.qrcode.QrCodeUtil;
 import cn.wise.sc.cement.business.model.BaseResponse;
 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.StandardQuery;
 import cn.wise.sc.cement.business.service.ISampleService;
 import cn.wise.sc.cement.business.service.ISysDictionaryService;
 import io.swagger.annotations.Api;
@@ -15,104 +15,137 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ztw
  * @since 2020-09-04
  */
-@Api(tags="样品管理")
+@Api(tags = "样品管理")
 @RestController
 @RequestMapping("/business/sample")
 public class SampleController {
 
-	private static final Logger log = LoggerFactory.getLogger("SampleController");
-
-	@Autowired
-	private ISampleService sampleService;
-	@Autowired
-	private ISysDictionaryService dictionaryService;
-
-	@ApiOperation(value = "样品分页列表")
-	@ApiImplicitParams(value = {
-			@ApiImplicitParam(name = "sampleName", value = "样品名称", paramType = "query", dataType = "String"),
-			@ApiImplicitParam(name = "cementCode", value = "样品本所编号", paramType = "query", dataType = "String")
-	})
-	@GetMapping("/getPage")
-	public BaseResponse getPage(PageQuery pageQuery, String sampleName, String cementCode) {
-		try {
-			return sampleService.getPage(pageQuery, sampleName, cementCode);
-		} catch (Exception e) {
-			log.debug("样品分页列表{}", e);
-		}
-		return BaseResponse.errorMsg("失败!");
-	}
-
-	@ApiOperation("样品列表导出")
-	@PostMapping("/export")
-	public void export(String sampleName, String cementCode,
-	                   String fileName, HttpServletResponse response) {
-		try {
-			sampleService.export(sampleName, cementCode,
-					 fileName, response);
-		} catch (Exception e) {
-			log.debug("样品列表导出{}", e);
-		}
-	}
-
-
-
-
-	@ApiOperation(value = "样品详情")
-	@GetMapping("/{id}")
-	public BaseResponse getById(@PathVariable Integer id){
-		try {
-			return sampleService.getDetail(id);
-		}catch (Exception e){
-			log.debug("样品详情{}",e);
-		}
-		return BaseResponse.errorMsg("失败!");
-	}
-
-	@ApiOperation(value = "样品登记")
-	@PostMapping("/register")
-	public BaseResponse register(@RequestBody SampleManageQuery query) {
-		try {
-			return sampleService.register(query);
-		}catch (Exception e) {
-			log.debug("样品登记{}",e);
-		}
-		return BaseResponse.errorMsg("失败!");
-	}
-
-	@ApiOperation(value = "样品销毁")
-	@PostMapping("/destruction/{id}")
-	public BaseResponse destruction(@PathVariable Integer id) {
-		try {
-			return sampleService.destruction(id);
-		}catch (Exception e) {
-			log.debug("样品销毁{}",e);
-		}
-		return BaseResponse.errorMsg("失败!");
-	}
-
-	@ApiOperation(value = "获取样品状态列表")
-	@GetMapping("/getSampleFormList")
-	public BaseResponse getSampleFormList(){
-		try {
-			return dictionaryService.getContent("样品状态");
-		}catch (Exception e){
-			log.debug("获取样品状态列表{}",e);
-		}
-		return BaseResponse.errorMsg("失败!");
-	}
-
-
+    private static final Logger log = LoggerFactory.getLogger("SampleController");
+
+    @Autowired
+    private ISampleService sampleService;
+    @Autowired
+    private ISysDictionaryService dictionaryService;
+
+    @ApiOperation(value = "样品分页列表")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "sampleName", value = "样品名称", paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "cementCode", value = "样品本所编号", paramType = "query", dataType = "String")
+    })
+    @GetMapping("/getPage")
+    public BaseResponse getPage(PageQuery pageQuery, String sampleName, String cementCode) {
+        try {
+            return sampleService.getPage(pageQuery, sampleName, cementCode);
+        } catch (Exception e) {
+            log.debug("样品分页列表{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
+
+    @ApiOperation("样品列表导出")
+    @PostMapping("/export")
+    public void export(String sampleName, String cementCode,
+                       String fileName, HttpServletResponse response) {
+        try {
+            sampleService.export(sampleName, cementCode,
+                    fileName, response);
+        } catch (Exception e) {
+            log.debug("样品列表导出{}", e);
+        }
+    }
+
+    @ApiOperation(value = "样品详情")
+    @GetMapping("/{id}")
+    public BaseResponse getById(@PathVariable Integer id) {
+        try {
+            return sampleService.getDetail(id);
+        } catch (Exception e) {
+            log.debug("样品详情{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
+
+    @ApiOperation(value = "样品登记")
+    @PostMapping("/register")
+    public BaseResponse register(@RequestBody SampleManageQuery query) {
+        try {
+            return sampleService.register(query);
+        } catch (Exception e) {
+            log.debug("样品登记{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
+
+    @ApiOperation("绑定样品信息")
+    @PutMapping("/bind/savePosition")
+    public BaseResponse<String> bindSavePosition(@RequestBody SampleManageQuery query){
+
+        try {
+            return sampleService.bindSavePosition(query);
+        }catch (Exception e){
+            log.debug("样品登记{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
+
+    @ApiOperation("样品复查")
+    @PutMapping("/review")
+    public BaseResponse<Boolean> ampleReview(Integer id){
+       return sampleService.ampleReview(id);
+    }
+
+    @ApiOperation("获取存储位置二维码")
+    @PostMapping("/saverq/init")
+    public void getSaveRQ(String savePosition, HttpServletResponse response) {
+
+        if (StrUtil.isBlank(savePosition)) {
+            log.error("生成存储位置二维码失败!savePosition参数为空!");
+        }
+        BufferedImage bufferedImage = QrCodeUtil.generate(savePosition, 200, 200);
+
+        try (ServletOutputStream os = response.getOutputStream()) {
+            ImageIO.write(bufferedImage, "jpg", os);
+            os.flush();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @ApiOperation(value = "样品销毁")
+    @PostMapping("/destruction/{id}")
+    public BaseResponse destruction(@PathVariable Integer id) {
+        try {
+            return sampleService.destruction(id);
+        } catch (Exception e) {
+            log.debug("样品销毁{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
+
+    @ApiOperation(value = "获取样品状态列表")
+    @GetMapping("/getSampleFormList")
+    public BaseResponse getSampleFormList() {
+        try {
+            return dictionaryService.getContent("样品状态");
+        } catch (Exception e) {
+            log.debug("获取样品状态列表{}", e);
+        }
+        return BaseResponse.errorMsg("失败!");
+    }
 
 }
 
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java b/cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
index 06c2cdcafce932d7f5e8257d295ab8c8069a93be..3c95fe935c58f20eb30445a7d6eed89c06f03dd5 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
@@ -3,11 +3,9 @@ package cn.wise.sc.cement.business.entity;
 import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.io.Serializable;
-
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -98,7 +96,7 @@ public class Sample implements Serializable {
     @ApiModelProperty("原样位置")
     private String originalPosition;
 
-    @ApiModelProperty("(0未领用,1已领用,2已销毁)")
+    @ApiModelProperty("(0未领用,1已领用,2已销毁,3复查)")
     private Integer status;
 
     @ApiModelProperty("销毁时间")
@@ -112,6 +110,4 @@ public class Sample implements Serializable {
 
     @ApiModelProperty("样品是否校核完成(0未检测完成, 1检测完成,)")
     private Integer isCheck;
-
-
 }
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/model/query/SampleCheckTeamQuery.java b/cement-business/src/main/java/cn/wise/sc/cement/business/model/query/SampleCheckTeamQuery.java
index 63c045ad833b74a53872641f0d0bd5886124b32b..70583b69b3343748b98875abdbbfe4da4b33afa5 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/model/query/SampleCheckTeamQuery.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/model/query/SampleCheckTeamQuery.java
@@ -1,17 +1,8 @@
 package cn.wise.sc.cement.business.model.query;
 
-import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.mysql.cj.xdevapi.JsonArray;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
 import java.util.Map;
 
 /**
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleService.java b/cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleService.java
index 691cb5b10053c700b6673018b298b930b5503fae..3c1d5bfcd15f4707662c4f5c07adaacefe52ee65 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleService.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/service/ISampleService.java
@@ -31,4 +31,17 @@ public interface ISampleService extends IService<Sample> {
 	void export(String sampleName, String cementCode,
 	            String fileName, HttpServletResponse response);
 
+	/**
+	 * 绑定位置信息
+	 * @param query 小样绑定位置信息
+	 * @return 成功与否
+	 */
+	BaseResponse<String> bindSavePosition(SampleManageQuery query);
+
+	/**
+	 * 样品复查
+	 * @param id  样品id
+	 * @return 复查成功与否
+	 */
+	BaseResponse<Boolean> ampleReview(Integer id);
 }
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
index 9fb20576c8b12db6bc30e246d569c7243c1d9ca9..30068e7f349c251551d1a63f0105309de3829203 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
@@ -269,8 +269,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
                         }
                     }
                     if(teamNameList.contains("Al2O3")){
-                        if(!teamNameList.contains("Fe2O3")){
-                            return BaseResponse.errorMsg("选择Al2O3必须要选择Fe2O3");
+                        if(!teamNameList.contains("Fe2o3")){
+                            return BaseResponse.errorMsg("选择Al2O3必须要选择Fe2o3");
                         }
                     }
                 }
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleServiceImpl.java b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleServiceImpl.java
index c8e7d158cd9be1ccb0c924077c36fcf4b49c5f66..f99329f1da6d64a4dc8824f67139fc6d19fb1715 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleServiceImpl.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SampleServiceImpl.java
@@ -1,9 +1,6 @@
 package cn.wise.sc.cement.business.service.impl;
 
-import cn.wise.sc.cement.business.entity.Method;
 import cn.wise.sc.cement.business.entity.Sample;
-import cn.wise.sc.cement.business.entity.SampleTmp;
-import cn.wise.sc.cement.business.entity.Team;
 import cn.wise.sc.cement.business.mapper.SampleMapper;
 import cn.wise.sc.cement.business.model.BaseResponse;
 import cn.wise.sc.cement.business.model.PageQuery;
@@ -12,7 +9,6 @@ import cn.wise.sc.cement.business.model.vo.SampleVo;
 import cn.wise.sc.cement.business.service.ISampleService;
 import cn.wise.sc.cement.business.service.ISysUserService;
 import cn.wise.sc.cement.business.util.ExcelUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -23,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -31,7 +28,7 @@ import java.util.Map;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author ztw
@@ -40,138 +37,178 @@ import java.util.Map;
 @Service
 public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> implements ISampleService {
 
-	@Resource
-	private SampleMapper sampleMapper;
-	@Autowired
-	private ISysUserService userService;
+    @Resource
+    private SampleMapper sampleMapper;
+    private final ISysUserService userService;
+
+    public SampleServiceImpl(ISysUserService userService) {
+        this.userService = userService;
+    }
+
+    /**
+     * 分页列表
+     *
+     * @param pageQuery
+     * @param sampleName
+     * @param cementCode
+     * @return
+     */
+    @Override
+    public BaseResponse<IPage<SampleVo>> getPage(PageQuery pageQuery, String sampleName, String cementCode) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("sampleName", sampleName);
+        params.put("cementCode", cementCode);
+        Page<SampleVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
+        IPage<SampleVo> pages = sampleMapper.getPage(page, params);
+        return BaseResponse.okData(pages);
+    }
+
+    /**
+     * 样品管理详情
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public BaseResponse<SampleVo> getDetail(Integer id) {
+        SampleVo sampleVo = sampleMapper.getDetail(id);
+        if (sampleVo == null) {
+            return BaseResponse.errorMsg("信息错误!");
+        }
+        return BaseResponse.okData(sampleVo);
+    }
+
+    /**
+     * 样品登记
+     *
+     * @param query
+     * @return
+     */
+    @Transactional
+    @Override
+    public BaseResponse<String> register(SampleManageQuery query) {
+        if (query.getId() == null) {
+            return BaseResponse.errorMsg("参数错误!");
+        }
+        Sample sample = sampleMapper.selectById(query.getId());
+        if (sample == null) {
+            return BaseResponse.errorMsg("信息错误");
+        }
+        sample.setOperatorId(userService.getLoginUser().getId())
+                .setRegisterTime(LocalDateTime.now())
+                .setHandleDate(query.getHandleDate())
+                .setLittlePosition(query.getLittlePosition())
+                .setOriginalPosition(query.getOriginalPosition())
+                .setRemark(query.getRemark());
+        sampleMapper.updateById(sample);
+        return BaseResponse.okData("样品登记成功");
+    }
+
+    /**
+     * 样品销毁
+     * @param id
+     * @return
+     */
+    @Transactional
+    @Override
+    public BaseResponse<String> destruction(Integer id) {
+        if (id == null) {
+            return BaseResponse.errorMsg("参数错误!");
+        }
+        Sample sample = sampleMapper.selectById(id);
+        if (sample == null) {
+            return BaseResponse.errorMsg("信息错误");
+        }
+        sample.setStatus(2)
+                .setDestructionTime(LocalDateTime.now());
+        sampleMapper.updateById(sample);
+        return BaseResponse.okData("样品已销毁");
+    }
+
+    /**
+     * 样品列表导出
+     *
+     * @param sampleName
+     * @param cementCode
+     * @param fileName
+     * @param response
+     */
+    public void export(String sampleName, String cementCode,
+                       String fileName, HttpServletResponse response) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("sampleName", sampleName);
+        params.put("cementCode", cementCode);
+        List<Map<String, Object>> list = sampleMapper.exportList(params);
+
+        if (!CollectionUtils.isEmpty(list)) {
+            Map<String, Object> map = list.get(0);
+            String[] headers = new String[map.size()];
+            headers[0] = "序号";
+            headers[1] = "样品名称";
+            headers[2] = "样品本所编号";
+            headers[3] = "所属项目";
+            headers[4] = "小样信息";
+            headers[5] = "原样存储";
+            headers[6] = "样品重量(kg)";
+            headers[7] = "是否为平行样";
+            headers[8] = "状态";
+            List<Object[]> datas = new ArrayList<>(headers.length);
+            for (Map<String, Object> m : list) {
+                Object[] objects = new Object[headers.length];
+                for (int j = 0; j < headers.length; j++) {
+                    String obj = m.get(headers[j]).toString();
+                    //如果序号带小数点 去除.0,保留整数
+                    if (j == 0) {
+                        obj = obj.split("\\.")[0];
+                    }
+                    objects[j] = obj;
+                }
+                datas.add(objects);
+            }
+            ExcelUtil.excelExport(
+                    fileName == null || fileName.trim().length() <= 0 ? "样品列表" : fileName, headers,
+                    datas, response);
+        }
+    }
+
+    @Override
+    public BaseResponse<String> bindSavePosition(SampleManageQuery query) {
+
+        if (query.getId() == null) {
+			return BaseResponse.errorMsg("");
+		}
 
+		Sample sample = this.getById(query.getId());
+		sample.setStatus(1);
+		sample.setDestructionTime(LocalDateTime.now());
+		sample.setHandleDate(LocalDate.now());
 
+		sample.setLittlePosition(query.getLittlePosition());
+		sample.setOriginalPosition(query.getOriginalPosition());
 
-	/**
-	 * 分页列表
-	 * @param pageQuery
-	 * @param sampleName
-	 * @param cementCode
-	 * @return
-	 */
-	@Override
-	public BaseResponse<IPage<SampleVo>> getPage(PageQuery pageQuery, String sampleName, String cementCode){
-		Map<String, Object> params = new HashMap<>();
-		params.put("sampleName", sampleName);
-		params.put("cementCode", cementCode);
-		Page<SampleVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
-		IPage<SampleVo> pages = sampleMapper.getPage(page, params);
-		return BaseResponse.okData(pages);
-	}
-
-	/**
-	 *  样品管理详情
-	 * @param id
-	 * @return
-	 */
-	@Override
-	public BaseResponse<SampleVo> getDetail(Integer id){
-		SampleVo sampleVo = sampleMapper.getDetail(id);
-		if(sampleVo == null ){
-			return BaseResponse.errorMsg("信息错误!");
+		boolean b = this.updateById(sample);
+		if (b){
+			return BaseResponse.okData("更新成功!");
+		}else {
+			return BaseResponse.errorMsg("更新失败,可以重新尝试!");
 		}
-		return BaseResponse.okData(sampleVo);
-	}
+    }
 
-	/**
-	 * 样品登记
-	 * @param query
-	 * @return
-	 */
-	@Transactional
 	@Override
-	public BaseResponse<String> register(SampleManageQuery query) {
-		if (query.getId() == null) {
-			return BaseResponse.errorMsg("参数错误!");
-		}
-		Sample sample = sampleMapper.selectById(query.getId());
-		if(sample == null){
-			return BaseResponse.errorMsg("信息错误");
-		}
-		sample.setOperatorId(userService.getLoginUser().getId())
-				.setRegisterTime(LocalDateTime.now())
-				.setHandleDate(query.getHandleDate())
-				.setLittlePosition(query.getLittlePosition())
-				.setOriginalPosition(query.getOriginalPosition())
-				.setRemark(query.getRemark());
-		sampleMapper.updateById(sample);
-		return BaseResponse.okData("样品登记成功");
-	}
+	public BaseResponse<Boolean> ampleReview(Integer id) {
 
-	/**
-	 * 样品销毁
-	 * @param id
-	 * @return
-	 */
-	@Transactional
-	@Override
-	public BaseResponse<String> destruction(Integer id) {
-		if (id == null) {
-			return BaseResponse.errorMsg("参数错误!");
-		}
-		Sample sample = sampleMapper.selectById(id);
-		if(sample == null){
-			return BaseResponse.errorMsg("信息错误");
+    	if (id == null){
+    		log.debug("样品复查失败!没有指定样品id!");
+    		return BaseResponse.errorMsg("请指定样品id");
 		}
-		sample.setStatus(2)
-				.setDestructionTime(LocalDateTime.now());
-		sampleMapper.updateById(sample);
-		return BaseResponse.okData("样品已销毁");
-	}
-
-	/**
-	 * 样品列表导出
-	 * @param sampleName
-	 * @param cementCode
-	 * @param fileName
-	 * @param response
-	 */
-	public void export(String sampleName, String cementCode,
-	                   String fileName, HttpServletResponse response) {
-		Map<String, Object> params = new HashMap<>();
-		params.put("sampleName", sampleName);
-		params.put("cementCode", cementCode);
-		List<Map<String, Object>> list = sampleMapper.exportList(params);
-
-		if (!CollectionUtils.isEmpty(list)) {
-			Map<String, Object> map = list.get(0);
-			String[] headers = new String[map.size()];
-			headers[0] = "序号";
-			headers[1] = "样品名称";
-			headers[2] = "样品本所编号";
-			headers[3] = "所属项目";
-			headers[4] = "小样信息";
-			headers[5] = "原样存储";
-			headers[6] = "样品重量(kg)";
-			headers[7] = "是否为平行样";
-			headers[8] = "状态";
-			List<Object[]> datas = new ArrayList<>(headers.length);
-			for (Map<String, Object> m : list) {
-				Object[] objects = new Object[headers.length];
-				for (int j = 0; j < headers.length; j++) {
-					String obj = m.get(headers[j]).toString();
-					//如果序号带小数点 去除.0,保留整数
-					if (j == 0) {
-						obj = obj.split("\\.")[0];
-					}
-					objects[j] = obj;
-				}
-				datas.add(objects);
-			}
-			ExcelUtil.excelExport(
-					fileName == null || fileName.trim().length() <= 0 ? "样品列表" : fileName, headers,
-					datas, response);
+    	Sample sample = this.getById(id);
+		sample.setStatus(3);
+		boolean b = this.updateById(sample);
+		if (b){
+			return BaseResponse.okData(true);
 		}
+		return BaseResponse.okData(false);
 	}
 
 
-
-
-
-
 }
diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SysDictionaryServiceImpl.java b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SysDictionaryServiceImpl.java
index f7f74ac359e32e0c519f53efcab6cc771fb37512..502cc90225c53d3f98a83e8d2f784deffd3939a7 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SysDictionaryServiceImpl.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SysDictionaryServiceImpl.java
@@ -5,12 +5,9 @@ import cn.wise.sc.cement.business.mapper.SysDictionaryMapper;
 import cn.wise.sc.cement.business.model.BaseResponse;
 import cn.wise.sc.cement.business.service.ISysDictionaryService;
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mysql.cj.xdevapi.JsonArray;
 import org.springframework.stereotype.Service;
-
 import javax.annotation.Resource;
 
 /**
diff --git a/mybatis-generator/pom.xml b/mybatis-generator/pom.xml
index aba631d67bd2e374347a372bbef159a932df1823..d5d0a754dc1288bb19683014444edb625d22d25b 100644
--- a/mybatis-generator/pom.xml
+++ b/mybatis-generator/pom.xml
@@ -14,7 +14,6 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-generator</artifactId>
-            <version>3.3.1</version>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>
@@ -28,7 +27,6 @@
         <dependency>
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
-            <version>2.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
diff --git a/pom.xml b/pom.xml
index 37ebb2d5f5f57092526b374ca13454191c49f28d..4a3eef46339b8c94a6f1dcc793d20405a901d324 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,10 +65,55 @@
                 <artifactId>commons-collections4</artifactId>
                 <version>4.2</version>
             </dependency>
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-all</artifactId>
+                <version>4.6.8</version>
+            </dependency>
+            <dependency>
+                <groupId>net.oschina.zcx7878</groupId>
+                <artifactId>fastdfs-client-java</artifactId>
+                <version>1.27.0.0</version>
+            </dependency>
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>0.9.0</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>23.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.poi</groupId>
+                <artifactId>poi</artifactId>
+                <version>3.17</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>2.6</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.zxing</groupId>
+                <artifactId>core</artifactId>
+                <version>3.3.3</version>
+            </dependency>
             <dependency>
                 <groupId>mysql</groupId>
                 <artifactId>mysql-connector-java</artifactId>
-                <version>5.1.39</version>
+                <version>8.0.18</version>
+            </dependency>
+            <dependency>
+                <groupId>org.redisson</groupId>
+                <artifactId>redisson</artifactId>
+                <version>3.11.1</version>
+            </dependency>
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-generator</artifactId>
+                <version>3.3.1</version>
             </dependency>
             <!--日志-->
             <dependency>
@@ -77,6 +122,11 @@
                 <version>2.10.0</version>
                 <scope>compile</scope>
             </dependency>
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity-engine-core</artifactId>
+                <version>2.0</version>
+            </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>jul-to-slf4j</artifactId>