From 626028e5865122c43d97156d2cb221b751e5f18d Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 06 一月 2021 13:39:49 +0800
Subject: [PATCH] add

---
 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index f21d74b..bd23c72 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -1261,6 +1261,10 @@
                     logger.error("The containerCode has not been exists!");
                 }
 			}
+			//-1 状态
+			if (status.equals(-1)){
+                continue;
+            }
  			opeReagentStatusDao.syncOpeReagentStatus(params);
 
     	 }
@@ -1347,7 +1351,7 @@
 
     // 人员违规预警接口
     @Override
-    public void alarmperson(JSONObject jsonObject) throws ApiException, IOException {
+    public void alarmperson(JSONObject jsonObject) throws Exception {
 		JSONArray dataArr = jsonObject.getJSONArray("data");
 
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1406,12 +1410,19 @@
             Timestamp warnTime;
 			try {
 				Date warningTime = sdf.parse(warningTimeStr);
+				//不接收时间超过现在的数据
+                if (warningTime.after(new Date())) {
+                    throw new  Exception("柜子时间发生错误");
+                }
                 warnTime = new Timestamp(warningTime.getTime());
                 sysAlarmPerson.setWarningTime(warnTime);
 			} catch (ParseException e) {
 				throw new ApiException(ApiStatus.PARAM_ERR);
-			}
-			// 将人员违规预警记录保存到数据库表
+			} catch (Exception e) {
+                e.printStackTrace();
+                throw new Exception(e.getMessage());
+            }
+            // 将人员违规预警记录保存到数据库表
             int count = sysAlarmPersonDao.repeatedJudgment(containerCode, warningLevelInt, warnTime);
 			if (count<1){
 			    //获取实验室条码和具体地点
@@ -1460,7 +1471,7 @@
                         logger.info(resData2);
                     }
                 }
-                sysAlarmPersonDao.insertSysAlarmPerson(sysAlarmPerson);
+
             if(enable && "2".equals(warningId) ) {
                 List<Map> personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode);
                 Map param = new HashMap();
@@ -1490,7 +1501,9 @@
                     });
                 }
                 if (phones.length() >0){
-                phones.deleteCharAt(phones.length() - 1);}
+                    phones.deleteCharAt(phones.length() - 1);
+
+                }
 
                 String suffix = String.format("?head=%s&signature=%s&content=%s&telnumber=%s", head, signature, content, phones.toString().replace(" ", ""));
                 CloseableHttpClient client = HttpClients.createDefault();
@@ -1498,9 +1511,16 @@
                 post.setHeader("Content-Type", "application/json;charset=UTF-8");
                 CloseableHttpResponse response = client.execute(post);
                 String resData = EntityUtils.toString(response.getEntity(),"UTF-8");
+                client.close();
+                JSONObject res = JSONObject.parseObject(resData);
+                if ("200".equals(res.getString("code")) && phones.length() >0){
+                    String memo = String.format("短信已发送[%s]", phones);
+                    sysAlarmPerson.setMemo(memo);
+                }
                 logger.info(resData);
 
             }
+                sysAlarmPersonDao.insertSysAlarmPerson(sysAlarmPerson);
 			}
             // 将人员扣分更新到人员表
 			if (warningPoint == null) {

--
Gitblit v1.9.2