From b4319e15b7a08e699f4bf3d488d0217144d95af1 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期四, 03 八月 2023 15:22:28 +0800
Subject: [PATCH] LIMS管理系统框架-开发8-3

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java            |    6 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java |    9 ++
 inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml                                   |   19 ++++
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java           |   82 ++++++++++++++++++++
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java    |   80 ++++++-------------
 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java                           |    6 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java          |    7 +
 7 files changed, 154 insertions(+), 55 deletions(-)

diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
index 2e9b26e..6a21f00 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
@@ -1,22 +1,20 @@
 package com.yuanchu.limslaboratory.controller;
 
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
-import com.yuanchu.limslaboratory.pojo.Material;
-import com.yuanchu.limslaboratory.pojo.Standard;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
-import com.yuanchu.limslaboratory.service.MaterialService;
-import com.yuanchu.limslaboratory.service.StandardService;
+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 java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -28,21 +26,15 @@
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
  * @since 2023-08-03
  */
-@Api(tags = "鎶ユ绠$悊-->濮旀墭妫�楠�-->閾炬帴")
+@Api(tags = "鎶ユ绠$悊-->濮旀墭妫�楠�")
 @RestController
-@RequestMapping("/link-basic")
+@RequestMapping("/link-basic-table")
 public class LinkBasicInformationController {
 
     @Autowired
     private LinkBasicInformationService linkBasicInformationService;
 
-    @Autowired
-    private MaterialService materialService;
-
-    @Autowired
-    private StandardService standardService;
-
-    @ApiOperation("鑾峰彇閾炬帴")
+    @ApiOperation("閾炬帴-->鑾峰彇閾炬帴")
     @GetMapping("/link")
     public Result<?> getLink() {
         Object link1 = null;
@@ -56,43 +48,21 @@
         return Result.success(link1);
     }
 
-    @ApiOperation("鑾峰彇鏍峰搧鍚嶇О")
-    @GetMapping("/material")
-    public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
-        String redisLink = RedisUtil.get("link").toString();
-        if (redisLink.equals(link)){
-            LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
-            wrapper.select(Material::getId, Material::getName, Material::getCode);
-            List<Map<String, Object>> maps = materialService.listMaps(wrapper);
-            return Result.success(maps);
-        }
-        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
-    }
-
-    @ApiOperation("鑾峰彇瑙勬牸鍨嬪彿")
-    @GetMapping("/specification")
-    public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
-        String redisLink = RedisUtil.get("link").toString();
-        if (redisLink.equals(link)){
-            List<Map<String, Object>> specificationIdAndName = standardService.getSpecificationIdAndName(materialId);
-            return Result.success(specificationIdAndName);
-        }
-        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
-    }
-
-    @ApiOperation("娣诲姞妫�楠岀敵璇峰崟")
-    @PostMapping("/addInspection")
-    public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
-        String redisLink = RedisUtil.get("link").toString();
-        if (redisLink.equals(link)){
-            String code = linkBasicInformationService.addLinkBasicInformation(linkBasicInformation);
-            if (!ObjectUtils.isEmpty(code)){
-                return Result.success("娣诲姞鎴愬姛锛�", code);
-            } else {
-                return Result.fail("娣诲姞澶辫触!");
-            }
-        }
-        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
-
+    @ApiOperation(value = "鍒嗛〉琛ㄦ牸", tags = "123")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "entrustCoding", value = "濮旀墭缂栧彿", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "sampleName", value = "鏍峰搧鍚嶇О", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "entrusted", value = "濮旀墭鍗曚綅", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "inspectionStatus", value = "妫�楠岀姸鎬�", dataTypeClass = Integer.class)
+    })
+    @GetMapping("/page")
+    public Result<?> getLinkBasicPage(Integer pageNo, Integer pageSize, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus) {
+        IPage<Map<String, Object>> linkBasicPage = linkBasicInformationService.getLinkBasicPage(new Page<Object>(pageNo, pageSize), entrustCoding, sampleName, entrusted, inspectionStatus);
+        Map<String, Object> map = new HashMap<>();
+        map.put("total", linkBasicPage.getTotal());
+        map.put("row", linkBasicPage.getRecords());
+        return Result.success(map);
     }
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
new file mode 100644
index 0000000..82c0065
--- /dev/null
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
@@ -0,0 +1,82 @@
+package com.yuanchu.limslaboratory.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
+import com.yuanchu.limslaboratory.pojo.Material;
+import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
+import com.yuanchu.limslaboratory.service.MaterialService;
+import com.yuanchu.limslaboratory.service.StandardService;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
+import com.yuanchu.limslaboratory.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-03
+ */
+@Api(tags = "鎶ユ绠$悊-->濮旀墭妫�楠�")
+@RestController
+@RequestMapping("/link-basic")
+public class LinkDetectionController {
+
+    @Autowired
+    private LinkBasicInformationService linkBasicInformationService;
+
+    @Autowired
+    private MaterialService materialService;
+
+    @Autowired
+    private StandardService standardService;
+
+    @ApiOperation("閾炬帴-->鑾峰彇鏍峰搧鍚嶇О")
+    @GetMapping("/material")
+    public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
+        String redisLink = RedisUtil.get("link").toString();
+        if (redisLink.equals(link)){
+            LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
+            wrapper.select(Material::getId, Material::getName, Material::getCode);
+            List<Map<String, Object>> maps = materialService.listMaps(wrapper);
+            return Result.success(maps);
+        }
+        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
+    }
+
+    @ApiOperation("閾炬帴-->鑾峰彇瑙勬牸鍨嬪彿")
+    @GetMapping("/specification")
+    public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
+        String redisLink = RedisUtil.get("link").toString();
+        if (redisLink.equals(link)){
+            List<Map<String, Object>> specificationIdAndName = standardService.getSpecificationIdAndName(materialId);
+            return Result.success(specificationIdAndName);
+        }
+        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
+    }
+
+    @ApiOperation("閾炬帴-->娣诲姞妫�楠岀敵璇峰崟")
+    @PostMapping("/addInspection")
+    public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
+        String redisLink = RedisUtil.get("link").toString();
+        if (redisLink.equals(link)){
+            String code = linkBasicInformationService.addLinkBasicInformation(linkBasicInformation);
+            if (!ObjectUtils.isEmpty(code)){
+                return Result.success("娣诲姞鎴愬姛锛�", code);
+            } else {
+                return Result.fail("娣诲姞澶辫触!");
+            }
+        }
+        return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
+
+    }
+}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
index ee8b0a4..b635709 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
@@ -1,7 +1,12 @@
 package com.yuanchu.limslaboratory.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +18,5 @@
  */
 public interface LinkBasicInformationMapper extends BaseMapper<LinkBasicInformation> {
 
+    IPage<Map<String, Object>> getLinkBasicPage(Page<Object> page, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus);
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
index cde35e7..472e939 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
@@ -81,4 +81,10 @@
     @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
+
+    @ApiModelProperty(value = "妫�楠屾棩鏈�", hidden = true)
+    private Date dateSurvey;
+
+    @ApiModelProperty(value = "妫�楠岀姸鎬�", hidden = true)
+    private Integer inspectionStatus;
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
index 8a6b1f8..df2dd51 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
@@ -1,8 +1,13 @@
 package com.yuanchu.limslaboratory.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -16,4 +21,6 @@
 
     @Transactional(rollbackFor = Exception.class)
     String addLinkBasicInformation(LinkBasicInformation linkBasicInformation);
+
+    IPage<Map<String, Object>> getLinkBasicPage(Page<Object> page, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus);
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
index 1d8a285..6bc5732 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
@@ -1,5 +1,7 @@
 package com.yuanchu.limslaboratory.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
 import com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper;
 import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
@@ -10,6 +12,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -39,4 +43,9 @@
         }
         return null;
     }
+
+    @Override
+    public IPage<Map<String, Object>> getLinkBasicPage(Page<Object> page, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus) {
+        return linkBasicInformationMapper.getLinkBasicPage(page, entrustCoding, sampleName, entrusted, inspectionStatus);
+    }
 }
diff --git a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
index b82d831..d17384b 100644
--- a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
+++ b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
@@ -2,4 +2,23 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper">
 
+    <select id="getLinkBasicPage" resultType="map">
+        SELECT l.`id`, l.`entrust_coding`, l.`entrusted`, d.`samples_number`, d.`sample_name`, d.`specifications_models`,
+            DATE_FORMAT(l.`inspection_time`,'%Y-%m-%d') inspectionTime, l.`completion_deadline`, l.`contacts`, d.`date_survey`, d.`inspection_status`
+        FROM link_basic_information l, link_detection d
+        WHERE l.`id` = d.`link_basic_id`
+        AND l.`state` = 1
+        <if test="entrustCoding != null and entrustCoding != null">
+            AND l.`entrust_coding` like concat('%', #{entrustCoding}, '%')
+        </if>
+        <if test="sampleName != null and sampleName != null">
+            AND d.`sample_name` like concat('%', #{sampleName}, '%')
+        </if>
+        <if test="entrusted != null and entrusted != null">
+            AND l.`contacts` like concat('%', #{entrusted}, '%')
+        </if>
+        <if test="inspectionStatus != null and inspectionStatus != null">
+            AND d.`inspection_status` = #{inspectionStatus}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3