From 68a70a56f90f8f36ac5f1886e4269150ba476862 Mon Sep 17 00:00:00 2001
From: panfeng <13181683323@163.com>
Date: Sat, 20 Dec 2025 15:30:28 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A6=BD=E7=99=BD=E8=A1=80?=
=?UTF-8?q?=E7=97=85=E7=97=85=E6=AF=92=20ELISA=20=E6=8A=97=E5=8E=9F?=
=?UTF-8?q?=E6=A3=80=E6=B5=8B=E8=AF=95=E5=89=82=E7=9B=92=E3=80=81=E9=B8=A1?=
=?UTF-8?q?=E6=AF=92=E6=94=AF=E5=8E=9F=E4=BD=93=E9=97=B4=E6=8E=A5=20ELISA?=
=?UTF-8?q?=20=E6=8A=97=E4=BD=93=E6=A3=80=E6=B5=8B=E8=AF=95=E5=89=82?=
=?UTF-8?q?=E7=9B=92=E3=80=81=E9=B8=A1=E6=BB=91=E6=B6=B2=E5=9B=8A=E6=94=AF?=
=?UTF-8?q?=E5=8E=9F=E4=BD=93=E9=97=B4=E6=8E=A5=20ELISA=20=E6=8A=97?=
=?UTF-8?q?=E4=BD=93=E6=A3=80=E6=B5=8B=E8=AF=95=E5=89=82=E7=9B=92=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lab-service/lab-lims/lab-lims.iml | 339 ++++++++++++++++++
.../lims/service/impl/EntrustServiceImpl.java | 17 +
.../impl/ExamineResultServiceImpl.java | 202 +++++++++++
3 files changed, 558 insertions(+)
create mode 100644 lab-service/lab-lims/lab-lims.iml
diff --git a/lab-service/lab-lims/lab-lims.iml b/lab-service/lab-lims/lab-lims.iml
new file mode 100644
index 0000000..83f4050
--- /dev/null
+++ b/lab-service/lab-lims/lab-lims.iml
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
index 0ffa72e..c1b339a 100644
--- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
+++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
@@ -2374,6 +2374,9 @@ public class EntrustServiceImpl extends BaseServiceImpl
|| "1691712889624555522".equals(examineResult.getReagentId())
|| "1680136574547013633".equals(examineResult.getReagentId())
|| "1691710090853576706".equals(examineResult.getReagentId())
+ || "2002014518899601409".equals(examineResult.getReagentId())
+ || "2002188351753383937".equals(examineResult.getReagentId())
+ || "2002188672294678529".equals(examineResult.getReagentId())
) {
result.put("18", "S/P");
} else if ("1580815808211578882".equals(examineResult.getReagentId())) {
@@ -3237,6 +3240,20 @@ public class EntrustServiceImpl extends BaseServiceImpl
map2.put("2", "阳性对照血清阻断率");
map2.put("3", df.format(100 - (Double.parseDouble(format1) / v3 * 100)) + "%");
}
+ // 禽白血病病毒 ELISA 抗原检测试剂盒---北京天之泰生物科技有限公司
+ else if ("2002014518899601409".equals(reagentId)) {
+ map1.put("2", "阴性对照OD平均值");
+ map1.put("3", format);
+ map2.put("2", "阳性对照OD平均值");
+ map2.put("3", format1);
+ }
+ // 鸡毒支原体间接 ELISA 抗体检测试剂盒、鸡滑液囊支原体间接 ELISA 抗体检测试剂盒--北京天之泰生物科技有限公司
+ else if ("2002188351753383937".equals(reagentId)||"2002188672294678529".equals(reagentId)) {
+ map1.put("2", "阴性对照OD平均值");
+ map1.put("3", format);
+ map2.put("2", "阳性对照OD平均值");
+ map2.put("3", format1);
+ }
map1.put("5", "成立");
map2.put("5", "成立");
resultList3.add(map1);
diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java
index 941eb1e..a13c887 100644
--- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java
+++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java
@@ -5408,6 +5408,208 @@ public class ExamineResultServiceImpl extends BaseServiceImpl>> mapList = new ArrayList<>();
+ List excels = map.get(i + 1 + "");
+ double code1 = Double.parseDouble(excels.get(0).getCode1());
+ double code2 = Double.parseDouble(excels.get(1).getCode1());
+ double code3 = Double.parseDouble(excels.get(2).getCode1());
+ double code4 = Double.parseDouble(excels.get(3).getCode1());
+ double v1 = (code1 + code2) / 2;
+ double v2 = (code3 + code4) / 2;
+ // 成立条件校验
+ if (code1 >= 0.15 || code2 >= 0.15 || code3 <= 0.5 || code4 <= 0.5) {
+ throw new ServiceException("第" + (i + 1) + "板阴阳性对照OD值条件不成立,请修改后重新上传!");
+ }
+
+ for (int j = 0; j < excels.size(); j++) {
+ // 行标头:前端渲染需要A、B、C....
+ String a = String.valueOf((char) (j + 65));
+
+ ExamineExcel examineExcel = excels.get(j);//取到一行记录
+ int filedsLength = examineExcel.getClass().getDeclaredFields().length - 1;
+
+ Map> map2 = new HashMap<>();
+
+ String SP = "0.00";
+ for (int n = 1; n <= filedsLength; n++) {
+ String code;
+ switch (n) {
+ case 1:
+ code = examineExcel.getCode1();
+ break;
+ case 2:
+ code = examineExcel.getCode2();
+ break;
+ case 3:
+ code = examineExcel.getCode3();
+ break;
+ case 4:
+ code = examineExcel.getCode4();
+ break;
+ case 5:
+ code = examineExcel.getCode5();
+ break;
+ case 6:
+ code = examineExcel.getCode6();
+ break;
+ case 7:
+ code = examineExcel.getCode7();
+ break;
+ case 8:
+ code = examineExcel.getCode8();
+ break;
+ case 9:
+ code = examineExcel.getCode9();
+ break;
+ case 10:
+ code = examineExcel.getCode10();
+ break;
+ case 11:
+ code = examineExcel.getCode11();
+ break;
+ case 12:
+ code = examineExcel.getCode12();
+ break;
+ default:
+ code = "0";
+ }
+
+ Map mapResult = new HashMap<>();
+ int index = (n - 1) * 8 + j + 1; //n是列,j是行 ,我们定义index是一列列的定义
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(code)) {
+ if (j > 5 || n > 1) {
+ if (v2 != 0) {
+ SP = df.format((Double.parseDouble(code)-v1) / (v2-v1));
+ }
+ mapResult.put("originResult", code);
+ mapResult.put("value", SP);
+ mapResult.put("num", "1");
+ if (Double.parseDouble(SP) < 0.2) {
+ mapResult.put("result", "阴性");
+ } else {
+ mapResult.put("result", "阳性");
+ }
+ } else {
+ mapResult.put("originResult", code);
+ mapResult.put("num", "");
+ }
+ } else {
+ mapResult.put("originResult", "");
+ mapResult.put("num", "");
+ }
+ mapResult.put("order", index + i * 96);
+ map2.put(a + n, mapResult);
+ list.add(mapResult);
+ }
+ mapList.add(map2);
+ }
+ map1.put("g" + (i + 1), mapList);
+ }
+ }
+ // 鸡毒支原体间接 ELISA 抗体检测试剂盒、鸡滑液囊支原体间接 ELISA 抗体检测试剂盒--北京天之泰生物科技有限公司
+ else if ("2002188351753383937".equals(reagentId)||"2002188672294678529".equals(reagentId)) {
+ for (int i = 0; i < group; i++) {
+ List