179b7b6c557eec27f5a05ee7ed2981f14825b692..ea4d3ff1ec0075eab10ef6c214653298f34d8185
2023-08-26 value
Merge remote-tracking branch 'origin/master'
ea4d3f 对比 | 目录
2023-08-26 value
新增报告预览数据接口
783c5e 对比 | 目录
已修改7个文件
已删除1个文件
229 ■■■■ 文件已修改
framework/src/main/java/com/yuanchu/limslaboratory/controllerServerApi/LaboratoryServerApi.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/limslaboratory/utils/HttpUtils.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/ReportMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/limslaboratory/controllerServerApi/LaboratoryServerApi.java
ÎļþÒÑɾ³ý
framework/src/main/java/com/yuanchu/limslaboratory/utils/HttpUtils.java
@@ -1,136 +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.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 "";
        }
    }
}
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));
    }
}
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);
}
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);
}
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);
    }
}
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>
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;