Browse Source

邵逸夫核酸检测

wangsy 4 years ago
parent
commit
d65020f8ed

+ 37 - 26
znwz-service/src/main/java/com/diagbot/facade/NacidTestFacade.java

@@ -25,34 +25,45 @@ public class NacidTestFacade implements NacidTestService {
        String result = nacidTestVo.getREPORTVALUE();
        if(result == null){
            nacidTestDTO.setColour("0");
-       }
-       String bluedate;
-       String reportdate = nacidTestVo.getREPORTDT();
-       Date report_date = DateUtil.parseDate(reportdate,"yyyy年MM月dd日");
-       int  effective_date = Integer.parseInt(nacidTestVo.getDAY())-1;
-       Date blue_date = DateUtil.addDate(report_date,effective_date);
-        System.out.println(blue_date.toString());
-       bluedate = new SimpleDateFormat("yyyy年MM月dd日").format(blue_date);
-       Date now_date = DateUtil.parseDate(DateUtil.getCurrentDateStr("yyyy年MM月dd日"),"yyyy年MM月dd日");
-       //当前日期早于蓝码日期
-       if(now_date.before(blue_date)){
-           if(result.equals("阴性") ){
-               nacidTestDTO.setColour("1");
-           }
-           if(result.equals("阳性")){
-               nacidTestDTO.setColour("2");
+       }else{
+           String bluedate = null;
+           String reportdate = nacidTestVo.getREPORTDT();
+           if(reportdate == null){
+               nacidTestDTO.setIndate("未查询到报告时间,无法评估");
+               nacidTestDTO.setColour("4");
+               return nacidTestDTO;
+           }else{
+               Date report_date;
+               try{
+                   report_date = DateUtil.parseDate(reportdate,"yyyy年MM月dd日");
+                   //有效时间多长?
+                   int  effective_date = Integer.parseInt(nacidTestVo.getDAY())-1;
+                   //有效期截至日期
+                   Date blue_date = DateUtil.addDate(report_date,effective_date);
+                   bluedate = new SimpleDateFormat("yyyy年MM月dd日").format(blue_date);
+                   Date now_date = DateUtil.parseDate(DateUtil.getCurrentDateStr("yyyy年MM月dd日"),"yyyy年MM月dd日");
+                   //当前日期早于蓝码日期
+                   if(now_date.before(blue_date)){
+                       if(result.equals("阴性") ){
+                           nacidTestDTO.setColour("1");
+                       }
+                       if(result.equals("阳性")){
+                           nacidTestDTO.setColour("2");
+                       }
+                   }else if(now_date.after(blue_date)){
+                       nacidTestDTO.setColour("4");
+                   }else{
+                       nacidTestDTO.setColour("3");
+                   }
+               }catch (Exception e){
+                   nacidTestDTO.setIndate("报告时间格式错误");
+                   nacidTestDTO.setColour("4");
+                   return nacidTestDTO;
+               }
            }
+           nacidTestDTO.setNacidTestVo(nacidTestVo);
+           nacidTestDTO.setIndate(reportdate+"-"+bluedate);
        }
-       //当前日期等于蓝码日期
-       if(now_date.equals(blue_date)){
-           nacidTestDTO.setColour("3");
-       }
-       //当前日期晚于蓝码日期,失效
-        if(now_date.after(blue_date)){
-            nacidTestDTO.setColour("4");
-        }
-        nacidTestDTO.setNacidTestVo(nacidTestVo);
-        nacidTestDTO.setIndate(reportdate+"-"+bluedate);
        return nacidTestDTO;
     }
 }

+ 13 - 0
znwz-service/src/main/java/com/diagbot/web/NacidTestController.java

@@ -67,6 +67,19 @@ public class NacidTestController {
             nacidTestVo.setDAY("14");
             nacidTestVo.setSEX("男");
         }
+        if(nacidVo.getData().getMRN().equals("555555")){
+            nacidTestVo.setREPORTVALUE("阴性");
+            nacidTestVo.setNAME("张三");
+            nacidTestVo.setDAY("14");
+            nacidTestVo.setSEX("男");
+        }
+        if(nacidVo.getData().getMRN().equals("666666")){
+            nacidTestVo.setREPORTVALUE("阴性");
+            nacidTestVo.setNAME("张三");
+            nacidTestVo.setDAY("14");
+            nacidTestVo.setSEX("男");
+            nacidTestVo.setREPORTDT("时间格式不对");
+        }
         return RespDTO.onSuc(nacidTestFacade.queryNacid(nacidTestVo));
     }
 }