From 783c5e37fbe6b689f8e14d8e9691dbe81f4e799a Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期六, 26 八月 2023 16:21:57 +0800
Subject: [PATCH] 新增报告预览数据接口

---
 /dev/null                                                                                      |  140 -----------------------------------
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java    |    9 ++
 inspection-server/src/main/resources/mapper/ReportMapper.xml                                   |   34 ++++++++
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java |    6 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java            |    4 +
 user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java               |    1 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java          |    4 +
 7 files changed, 57 insertions(+), 141 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/controllerServerApi/LaboratoryServerApi.java b/framework/src/main/java/com/yuanchu/limslaboratory/controllerServerApi/LaboratoryServerApi.java
deleted file mode 100644
index 1460e5a..0000000
--- a/framework/src/main/java/com/yuanchu/limslaboratory/controllerServerApi/LaboratoryServerApi.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.yuanchu.limslaboratory.controllerServerApi;
-
-import com.yuanchu.limslaboratory.utils.HttpUtils;
-import com.yuanchu.limslaboratory.utils.JsonUtil;
-import com.yuanchu.limslaboratory.utils.RedisUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @Author 寮犲
- * @Date 2023/8/26
- */
-@Component
-public class LaboratoryServerApi {
-
-    private final String ROLE_MANAGER="/role-manager";
-
-    @Resource
-    HttpUtils  httpUtils;
-
-    public Map<String, Object> getRoleAndMenuByRole(Long roleId){
-        String url=ROLE_MANAGER+ "/getRoleAndMenuByRole";
-        HashMap<String, String>map=new HashMap<>();
-        map.put("roleId",String.valueOf(roleId));
-        String result = httpUtils.get(url, map, String.valueOf(RedisUtil.get("access_token")));
-        return JsonUtil.jsonToPojo(result,Map.class);
-    }
-
-
-}
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/HttpUtils.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/HttpUtils.java
deleted file mode 100644
index 86283cf..0000000
--- a/framework/src/main/java/com/yuanchu/limslaboratory/utils/HttpUtils.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package com.yuanchu.limslaboratory.utils;
-
-import com.google.gson.Gson;
-import okhttp3.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @Author 寮犲
- * @Date 2023/8/26
- */
-@Component
-public class HttpUtils {
-
-    private final String IP="http://localhost:";
-
-    @Value("${server.port}")
-    private String port;
-
-    public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
-
-    public static final Logger logger = LoggerFactory.getLogger(HttpUtils.class);
-
-    final OkHttpClient client
-            = new OkHttpClient.Builder()
-            .connectTimeout(10, TimeUnit.SECONDS)
-            .writeTimeout(10, TimeUnit.SECONDS)
-            .readTimeout(20, TimeUnit.SECONDS)
-            .build();
-
-    public String postJson(String url, Map<String, String> map,String token){
-        url=IP+port+url;
-        if (map == null || StringUtils.isEmpty(url)) {
-            throw new RuntimeException("url鎴栬姹傚弬鏁颁笉鑳戒负绌�");
-        }
-        Gson gson = new Gson();
-        String json = gson.toJson(map);
-        RequestBody body = RequestBody.create(JSON, json);
-        Request request = builderRequest(url, body, token);
-        try (Response response = client.newCall(request).execute()) {
-            ResponseBody responseBody = response.body();
-            if (Objects.isNull(responseBody)) {
-                throw new RuntimeException("鍝嶅簲浣撲负绌�");
-            }
-            return responseBody.string();
-        } catch (Exception e) {
-            logger.error(e.toString());
-            return "";
-        }
-    }
-
-    private Request builderRequest(String url,RequestBody body,String token) {
-        if(StringUtils.isNotEmpty(token)){
-            return new Request.Builder()
-                    .url(url)
-                    .post(body)
-                    .addHeader("X-Token", token)
-                    .build();
-        }else {
-            return new Request.Builder()
-                    .url(url)
-                    .post(body)
-                    .build();
-        }
-    }
-
-    /**
-     * 闇�瑕佷娇鐢ㄥ簭鍒楀寲宸ュ叿灏嗗璞″簭鍒楀寲鎴愬瓧绗︿覆锛氬gson
-     *
-     * @param url
-     * @param json
-     * @return
-     */
-    public String postJson(String url, String json,String token) {
-        url=IP+port+url;
-        if (StringUtils.isEmpty(json) || StringUtils.isEmpty(url)) {
-            throw new RuntimeException("url鎴栬姹傚弬鏁颁笉鑳戒负绌�");
-        }
-        RequestBody body = RequestBody.create(JSON, json);
-        Request request = builderRequest(url, body, token);
-        try (Response response = client.newCall(request).execute()) {
-            ResponseBody responseBody = response.body();
-            if (Objects.isNull(responseBody)) {
-                throw new RuntimeException("鍝嶅簲浣撲负绌�");
-            }
-            return responseBody.string();
-        } catch (Exception e) {
-            logger.error(e.toString());
-            return "";
-        }
-    }
-
-    /**
-     * @param url
-     * @param queryParamMap
-     * @return
-     */
-    public String get(String url, Map<String, String> queryParamMap, String token){
-        url=IP+port+url;
-        if (StringUtils.isEmpty(url)) {
-            throw new RuntimeException("url鎴栬姹傚弬鏁颁笉鑳戒负绌�");
-        }
-        System.out.println(url);
-        HttpUrl.Builder builder = Objects.requireNonNull(HttpUrl.parse(url)).newBuilder();
-        if (queryParamMap != null && queryParamMap.size() != 0) {
-            queryParamMap.forEach(builder::addQueryParameter);
-        }
-        url = builder.build().toString();
-        Request request=null;
-        if(StringUtils.isNotEmpty(token)){
-             request = new Request.Builder()
-                    .url(url)
-                    .addHeader("X-Token", token)
-                    .build();
-        }else {
-             request = new Request.Builder()
-                    .url(url)
-                    .build();
-        }
-        try (Response response = client.newCall(request).execute()) {
-            ResponseBody responseBody = response.body();
-            if (Objects.isNull(responseBody)) {
-                throw new RuntimeException("鍝嶅簲浣撲负绌�");
-            }
-            return responseBody.string();
-        } catch (Exception e) {
-            logger.error(e.toString());
-            return "";
-        }
-    }
-}
\ No newline at end of file
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
index 01c93e6..822c590 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
@@ -84,5 +84,14 @@
         return Result.success(reportService.delreport(id));
     }
 
+    @ApiOperation("鑾峰彇鎶ュ憡鍐呯殑鏁版嵁")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "code", value = "鎶ュ憡鍗曞彿", dataTypeClass = String.class, required = true)
+    })
+    @PostMapping("/getReportContext")
+    public Result getReportContext(String code) {
+        return Result.success(reportService.getReportContext(code));
+    }
+
 }
 
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java
index d22692c..cc8df9c 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java
@@ -6,6 +6,8 @@
 import com.yuanchu.limslaboratory.pojo.Report;
 import com.yuanchu.limslaboratory.pojo.vo.ReportVo;
 
+import java.util.Map;
+
 /**
  * <p>
  *  Mapper 鎺ュ彛
@@ -23,6 +25,8 @@
      */
     IPage<ReportVo> selectAllReport(Page<Object> page, Integer status, String name);
 
+    Map<String, Object> getReportContext(String code);
+
 
 }
 
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java
index 4e6476f..a134f11 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java
@@ -6,6 +6,8 @@
 import com.yuanchu.limslaboratory.pojo.Report;
 import com.yuanchu.limslaboratory.pojo.vo.ReportVo;
 
+import java.util.Map;
+
 /**
  * <p>
  * 鏈嶅姟绫�
@@ -45,5 +47,7 @@
      * @return
      */
     String delreport(Integer id);
+
+    Map<String, Object> getReportContext(String code);
 }
 
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java
index dec4ee1..c5ce8ed 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java
@@ -10,6 +10,7 @@
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.Map;
 
 /**
  * <p>
@@ -69,5 +70,10 @@
         return "鍒犻櫎鎴愬姛!";
     }
 
+    @Override
+    public Map<String, Object> getReportContext(String code) {
+        return reportMapper.getReportContext(code);
+    }
+
 }
 
diff --git a/inspection-server/src/main/resources/mapper/ReportMapper.xml b/inspection-server/src/main/resources/mapper/ReportMapper.xml
index 8c53688..7a1cea7 100644
--- a/inspection-server/src/main/resources/mapper/ReportMapper.xml
+++ b/inspection-server/src/main/resources/mapper/ReportMapper.xml
@@ -32,4 +32,38 @@
         order by r.id
     </select>
 
+    <resultMap id="report" type="map">
+        <id property="rcode" column="rcode"/>
+        <result property="name" column="name"/>
+        <result property="specifications" column="specifications"/>
+        <result property="supplier" column="supplier"/>
+        <result property="insCode" column="ins_code"/>
+        <result property="type" column="type"/>
+        <collection property="products" resultMap="products" javaType="java.util.List"/>
+    </resultMap>
+
+    <resultMap id="products" type="map">
+        <id property="code" column="id"/>
+        <result property="ipName" column="ip_name"/>
+        <result property="unit" column="unit"/>
+        <result property="required" column="required"/>
+        <result property="testValue" column="test_value"/>
+        <result property="testState" column="test_state"/>
+    </resultMap>
+
+    <select id="getReportContext" resultMap="report">
+        SELECT r.`code` rcode,im.`name`,im.specifications,im.supplier,im.`code` im_code,i.`code` ins_code,i.type,ip.id,ip.`name` ip_name,ip.unit,ip.required,ip.test_value,ip.test_state
+        FROM report r
+                 LEFT JOIN inspection i
+                           ON r.inspection_id = i.id
+                 LEFT JOIN inspection_material im
+                           ON im.inspection_id = i.id
+                 LEFT JOIN inspection_product ip
+                           ON ip.inspection_material_id = im.id
+        WHERE ip.state != 0
+          and im.state != 0
+          and i.state != 0
+          and r.`code` = #{code}
+    </select>
+
 </mapper>
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java
index 6c6c169..7159e84 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java
@@ -1,6 +1,5 @@
 package com.yuanchu.limslaboratory.clients;
 
-import com.yuanchu.limslaboratory.controllerServerApi.LaboratoryServerApi;
 import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
 import com.yuanchu.limslaboratory.mapper.UserMapper;
 import com.yuanchu.limslaboratory.pojo.Menu;

--
Gitblit v1.9.3