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