浏览代码

健康证接口更新,新增核酸检测项目。

lighter 3 年之前
父节点
当前提交
22d493f9e4

+ 1 - 1
src/main/java/thyyxxk/webserver/entity/examinations/lisdock/HealthCardResult.java

@@ -10,5 +10,5 @@ public class HealthCardResult {
     private String appId;
     private String signature;
     private CustomerInfo customerInfo;
-    private List<ItemResults> itemResults ;
+    private List<ItemResult> itemResult;
 }

+ 61 - 9
src/main/java/thyyxxk/webserver/entity/examinations/lisdock/ItemResult.java

@@ -3,20 +3,72 @@ package thyyxxk.webserver.entity.examinations.lisdock;
 import lombok.Data;
 
 @Data
-public class ItemResults {
+public class ItemResult {
+    /**
+     * JK01(大便培养) JK02(血液检查) JK03(核酸检测)
+     * */
+    private String itemCode;
+    
+    /**
+     * 子项的名称:
+     * JK01(大便培养):
+     *     细菌性痢疾
+     *     伤寒和副伤寒
+     *     霍乱
+     *     阿米巴性痢疾
+     *
+     * JK02(血液检查):
+     *     甲型肝炎抗体IGM
+     *     戊型肝炎抗体IGM
+     *
+     * JK03(核酸检测):
+     *     新型冠状病毒感染性肺炎
+     * */
+    private String itemName;
+    
+    /**
+     * 检验者
+     * */
     private String opter;
+    
+    /**
+     * 审核者
+     * */
+    private String auditOpter;
+    
+    /**
+     * 检测时间:yyyy-MM-dd
+     * */
+    private String testTime;
+    
+    /**
+     * 审核时间:yyyy-MM-dd
+     * */
+    private String auditTime;
+    
+    /**
+     * 检测结果
+     * */
     private String result;
+    
+    /**
+     * 检测状态:0正常,1异常
+     * */
+    private String status;
+    
+    /**
+     * 参考值
+     * */
     private String reference;
-    private String itemName;
+    
+    /**
+     * 单位
+     * */
     private String unit;
-    private String auditTime;
-    private String itemCode;
-    private String testTime;
-    private String auditOpter;
-    private String status;
 
-    public ItemResults clone() {
-        ItemResults results = new ItemResults();
+    @Override
+    public ItemResult clone() {
+        ItemResult results = new ItemResult();
         results.setOpter(opter);
         results.setResult(result);
         results.setReference(reference);

+ 20 - 15
src/main/java/thyyxxk/webserver/service/examinations/LisDockService.java

@@ -17,7 +17,7 @@ import thyyxxk.webserver.entity.examinations.inspections.detail.InspectionHeader
 import thyyxxk.webserver.entity.examinations.inspections.detail.InspectionItem;
 import thyyxxk.webserver.entity.examinations.lisdock.CustomerInfo;
 import thyyxxk.webserver.entity.examinations.lisdock.HealthCardResult;
-import thyyxxk.webserver.entity.examinations.lisdock.ItemResults;
+import thyyxxk.webserver.entity.examinations.lisdock.ItemResult;
 import thyyxxk.webserver.entity.examinations.lisdock.PushResultParam;
 import thyyxxk.webserver.utils.Md5Util;
 import thyyxxk.webserver.utils.ResultVoUtil;
@@ -40,6 +40,7 @@ public class LisDockService {
     private final InspectionsService service;
     private final static String STOOL_CULTURE = "JK01";
     private final static String BLOOD_CHECK = "JK02";
+    private final static String COVID_EXAM = "JK03";
 
     private static final String[] SIGN = new String[2];
 
@@ -69,7 +70,8 @@ public class LisDockService {
         param.setContent(tjNo);
         List<InspectionsIndex> list = service.queryInspectionsIndex(param).get().getData();
         list.removeIf(item -> !item.getAPLY_CTNT().contains("大便培养") && !item.getAPLY_CTNT().contains("大便体检") &&
-                !item.getAPLY_CTNT().contains("甲肝抗体") && !item.getAPLY_CTNT().contains("戊肝抗体"));
+                !item.getAPLY_CTNT().contains("甲肝抗体") && !item.getAPLY_CTNT().contains("戊肝抗体") &&
+                !item.getAPLY_CTNT().contains("核酸检测"));
         map.put("inspectionsIndex", list);
         return ResultVoUtil.success(map);
     }
@@ -78,7 +80,8 @@ public class LisDockService {
         param.setType(3);
         List<InspectionsIndex> list = service.queryInspectionsIndex(param).get().getData();
         list.removeIf(item -> !item.getAPLY_CTNT().contains("大便培养") && !item.getAPLY_CTNT().contains("大便体检") &&
-                !item.getAPLY_CTNT().contains("甲肝抗体") && !item.getAPLY_CTNT().contains("戊肝抗体"));
+                !item.getAPLY_CTNT().contains("甲肝抗体") && !item.getAPLY_CTNT().contains("戊肝抗体") &&
+                !item.getAPLY_CTNT().contains("核酸检测"));
         return ResultVoUtil.success(list);
     }
 
@@ -90,6 +93,9 @@ public class LisDockService {
             if (index.getAPLY_CTNT().contains("大便培养") || index.getAPLY_CTNT().contains("大便体检")) {
                 customerInfo.setType("0");
                 itemCode = STOOL_CULTURE;
+            } else if (index.getAPLY_CTNT().contains("核酸检测")) {
+                customerInfo.setType("2");
+                itemCode = COVID_EXAM;
             } else {
                 customerInfo.setType("1");
                 itemCode = BLOOD_CHECK;
@@ -99,8 +105,8 @@ public class LisDockService {
             result.setCustomerInfo(customerInfo);
             InspectionDetail detail = service.queryInspectionDetail(index.getORDR_ID()).get().getData();
             InspectionHeader header = detail.getInspectionHeader();
-            List<ItemResults> itemResults = new ArrayList<>();
-            ItemResults model = new ItemResults();
+            List<ItemResult> itemResults = new ArrayList<>();
+            ItemResult model = new ItemResult();
             model.setItemName("");
             model.setOpter(header.getTEST_USR_NAME());
             model.setAuditOpter(header.getAUDT_USR_NAME());
@@ -110,13 +116,13 @@ public class LisDockService {
             model.setStatus("0");
             model.setReference("");
             model.setUnit("");
+            model.setItemCode(itemCode);
             if (STOOL_CULTURE.equals(itemCode)) {
-                model.setItemCode(itemCode);
                 for (InspectionItem item : detail.getInspectionItems()) {
                     if (item.getITM_NAME().contains("大便培养") || item.getITM_NAME().contains("大便体检")) {
                         fillResultItem(itemResults, model, item);
                     } else if (item.getITM_NAME().contains("阿米巴")){
-                        ItemResults ambxlj = model.clone();
+                        ItemResult ambxlj = model.clone();
                         ambxlj.setItemName("阿米巴性痢疾");
                         if (!item.getITM_STR_VALUE().contains("未见")) {
                             ambxlj.setResult(item.getITM_STR_VALUE());
@@ -125,7 +131,7 @@ public class LisDockService {
                         itemResults.add(ambxlj);
                     } else if (item.getITM_NAME().contains("微生物培养")) {
                         fillResultItem(itemResults, model, item);
-                        ItemResults ambxlj = model.clone();
+                        ItemResult ambxlj = model.clone();
                         ambxlj.setItemName("阿米巴性痢疾");
                         if (!item.getITM_STR_VALUE().contains("未检出")) {
                             ambxlj.setResult("检出");
@@ -135,16 +141,15 @@ public class LisDockService {
                     }
                 }
             } else {
-                model.setItemCode(itemCode);
                 for (InspectionItem item : detail.getInspectionItems()) {
-                    ItemResults results = model.clone();
+                    ItemResult results = model.clone();
                     results.setItemName(item.getITM_NAME());
                     results.setResult(item.getITM_STR_VALUE());
                     results.setStatus(item.getITM_STR_VALUE().contains("阴性") ? "0" : "1");
                     itemResults.add(results);
                 }
             }
-            result.setItemResults(itemResults);
+            result.setItemResult(itemResults);
             String reportUrl = html2image(result);
             if (null == reportUrl) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "生成检验报告图片失败!");
@@ -158,18 +163,18 @@ public class LisDockService {
         return ResultVoUtil.success(map);
     }
 
-    private void fillResultItem(List<ItemResults> itemResults, ItemResults model, InspectionItem item) {
-        ItemResults xjxlj = model.clone();
+    private void fillResultItem(List<ItemResult> itemResults, ItemResult model, InspectionItem item) {
+        ItemResult xjxlj = model.clone();
         xjxlj.setItemName("细菌性痢疾");
         if (!item.getITM_STR_VALUE().contains("未检出") && !item.getITM_STR_VALUE().contains("未见")) {
             xjxlj.setResult("检出");
             xjxlj.setStatus("1");
         }
         itemResults.add(xjxlj);
-        ItemResults shhfsh = xjxlj.clone();
+        ItemResult shhfsh = xjxlj.clone();
         shhfsh.setItemName("伤寒和副伤寒");
         itemResults.add(shhfsh);
-        ItemResults hl = xjxlj.clone();
+        ItemResult hl = xjxlj.clone();
         hl.setItemName("霍乱");
         itemResults.add(hl);
     }