| | |
| | | } |
| | | } |
| | | |
| | | //货柜预警接口 |
| | | @Override |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public void alarm(JSONObject jsonObject) throws ApiException { |
| | |
| | | String containerCode = dataJson.getString("containerCode"); |
| | | |
| | | //check containerCode是否存在 |
| | | SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao |
| | | SysLaboratoryContainer LaboratoryContainer = sysLaboratoryContainerDao |
| | | .getSysLaboratoryContainerByContainerCode(containerCode); |
| | | if (Objects.isNull(sysLaboratoryContainer) == true) { |
| | | SysWarehouseContainer container = sysWarehouseContainerDao |
| | |
| | | } |
| | | |
| | | sysAlarmDao.insertSysAlarm(sysAlarm); |
| | | |
| | | try { |
| | | if (enable && "01".equals(warningId)) { |
| | | SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(LaboratoryContainer.getLaboratoryId()); |
| | | String project = sysLaboratory.getProject(); |
| | | //2.根据Lab的课题组判断人员 |
| | | List<Map> personsInCharge = null; |
| | | if (StringUtils.isBlank(project)) { |
| | | //没有课题组就是实验室部门下的负责人 |
| | | personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode); |
| | | } else { |
| | | //有课题组就是 所有课题组下的人员负责人 |
| | | personsInCharge = sysLaboratoryService.getPersonInChargeByProjects(project); |
| | | } |
| | | |
| | | Map param = new HashMap(); |
| | | param.put("groupId", "securityManager"); |
| | | List<BaseMeta> managers = baseMetaDao.getBaseMetaList(param); |
| | | StringBuffer phones = new StringBuffer(); |
| | | |
| | | //实验室负责人手机号 |
| | | if (personsInCharge != null && personsInCharge.size() > 0) { |
| | | personsInCharge.forEach(person -> { |
| | | Object phone = person.get("phone"); |
| | | if (phone != null && !"".equals(phone)) { |
| | | phones.append(phone); |
| | | phones.append(","); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | //所及负责人手机号 |
| | | if (managers != null && managers.size() > 0) { |
| | | managers.forEach(manager -> { |
| | | String phone = manager.getMetaValue(); |
| | | if (phone != null && !"".equals(phone)) { |
| | | phones.append(phone); |
| | | phones.append(","); |
| | | } |
| | | }); |
| | | } |
| | | if (phones.length() > 0) { |
| | | phones.deleteCharAt(phones.length() - 1); |
| | | |
| | | } |
| | | |
| | | Map location = sysLaboratoryContainer.selectLocationByContainerCode(containerCode); |
| | | String messageFormat = "名称:%s,具体地点:%s,柜号:%s,"; |
| | | String content = String.format(messageFormat, location.get("name"),location.get("location"), containerCode); |
| | | |
| | | String suffix = String.format("?head=%s&signature=%s&content=%s&telnumber=%s", head, signature, content + baseMetaList.get(0).getMetaValue(), phones.toString().replace(" ", "")); |
| | | CloseableHttpClient client = HttpClients.createDefault(); |
| | | HttpPost post = new HttpPost(url + suffix); |
| | | 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); |
| | | } |
| | | logger.info(resData); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | logger.warn(e); |
| | | } |
| | | //增加发送短信接口 key:01 value:主电掉电,备电工作 |
| | | |
| | | |
| | | |
| | | // |
| | | // Integer warningPoint = dataJson.getInteger("warningPoint"); |
| | | // if(warningPoint == null){ |