From 28f6c716269ce5435b103137dd7ec1f1f9ab19ba Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期一, 26 六月 2023 09:16:56 +0800 Subject: [PATCH] 临时提交-已经与app端对接完成 --- src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java | 121 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 118 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java index a465e18..f2967f7 100644 --- a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java @@ -56,6 +56,8 @@ private PreventCJReportDangerInfoService CJDangerInfoService; @Autowired private PreventCJReportPointService CJPointService; + @Autowired + private PreventCJReportOverhaulLogService CJOverhaulLogService; String token = "GT6gGJV7JV"; String key = "Bv+NeBolwqg2Pbc1yVwrZA=="; @@ -468,6 +470,9 @@ CJReportCheckTaskFromWorkDTO cjReportCheckTaskFromWorkDTO = BeanCopyUtils.copyBean(cjTaskFromWork, CJReportCheckTaskFromWorkDTO.class); cjReportCheckTaskFromWorkDTO.setCreateDate(dateFormat.format(cjTaskFromWork.getCreateDate())); cjReportCheckTaskFromWorkDTO.setUpdateDate(dateFormat.format(cjTaskFromWork.getUpdateDate())); + cjReportCheckTaskFromWorkDTO.setTaskStartTime(dateFormat.format(cjTaskFromWork.getCreateDate())); + cjReportCheckTaskFromWorkDTO.setWorkStartTime(dateFormat.format(cjTaskFromWork.getUpdateDate())); + cjReportCheckTaskFromWorkDTO.setWorkEndTime(dateFormat.format(cjTaskFromWork.getUpdateDate())); reportCheckTaskFromWorkList.add(cjReportCheckTaskFromWorkDTO); } //数据上报 @@ -564,9 +569,11 @@ List<CJReportCheckRecordFromTaskDTO> reportRecordFromTaskList = new ArrayList<>(); for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) { CJReportCheckRecordFromTaskDTO cjReportCheckRecordFromTaskDTO = BeanCopyUtils.copyBean(cjRecordFromTask, CJReportCheckRecordFromTaskDTO.class); - cjReportCheckRecordFromTaskDTO.setCreateDate(dateFormat.format(cjRecordFromTask.getCreateDate())); - cjReportCheckRecordFromTaskDTO.setUpdateDate(dateFormat.format(cjRecordFromTask.getUpdateDate())); +// cjReportCheckRecordFromTaskDTO.setCreateDate(dateFormat.format(cjRecordFromTask.getCreateDate())); +// cjReportCheckRecordFromTaskDTO.setUpdateDate(dateFormat.format(cjRecordFromTask.getUpdateDate())); cjReportCheckRecordFromTaskDTO.setCheckTime(dateFormat.format(cjRecordFromTask.getCheckTime())); + cjReportCheckRecordFromTaskDTO.setMobileMe(cjRecordFromTask.getMobileCode()); + cjReportCheckRecordFromTaskDTO.setIsDefend(cjRecordFromTask.getDefend()); reportRecordFromTaskList.add(cjReportCheckRecordFromTaskDTO); } //数据加密 @@ -760,6 +767,114 @@ logger.info("【6】隐患信息-无数据上报昌吉州"); } - } + /** + * 7、检修停用记录信息数据 + * */ + logger.info("【7】检修停用记录-处理数据..."); + List<PreventCJReportOverhaulLog> CJOverhaulLogs = CJOverhaulLogService.listReportOverhaulDate(); + if (ObjectUtils.isNotEmpty(CJOverhaulLogs)){ + //封装上报数据 + List<CJReportOverhaulLogDTO> reportOverhaulLogDTOS = new ArrayList<>(); + for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogs) { + CJReportOverhaulLogDTO cjReportOverhaulLogDTO = BeanCopyUtils.copyBean(cjOverhaulLog, CJReportOverhaulLogDTO.class); + + cjReportOverhaulLogDTO.setCreateDate(dateFormat.format(cjOverhaulLog.getCreateDate())); + cjReportOverhaulLogDTO.setUpdateDate(dateFormat.format(cjOverhaulLog.getUpdateDate())); + cjReportOverhaulLogDTO.setStopStartTime(dateFormat.format(cjOverhaulLog.getStopStartTime())); + if (ObjectUtils.isNotEmpty(cjOverhaulLog.getStopEndTime())){ + cjReportOverhaulLogDTO.setStopEndTime(dateFormat.format(cjOverhaulLog.getStopEndTime())); + }else { + cjReportOverhaulLogDTO.setStopEndTime(null); + } + reportOverhaulLogDTOS.add(cjReportOverhaulLogDTO); + } + + //数据上报 + logger.info("【原始数据】" + JSONObject.toJSONString(reportOverhaulLogDTOS)); + String AESReportDangerInfo = encrypt(JSONObject.toJSONString(reportOverhaulLogDTOS), key.getBytes(), iv.getBytes()); + StringBuffer dangerInfoResultBuffer = null; + //上报数据 + try { + URL url = new URL("http://v1/data/receive/receiveUnitStop"); + //得到连接对象 + con = (HttpURLConnection) url.openConnection(); + //设置请求类型 + con.setRequestMethod("POST"); + //设置Content-Type,此处根据实际情况确定 + con.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); + //允许写出 + con.setDoOutput(true); + //允许读入 + con.setDoInput(true); + //不使用缓存 + con.setUseCaches(false); + //设置请求头 + con.setRequestProperty("X-Access-Token",token + formatDate.toString()); + OutputStream os = con.getOutputStream(); + Map paraMap = new HashMap(); + paraMap.put("data", AESReportDangerInfo);/**封装数据*/ + //组装入参,设置请求体 + os.write(JSON.toJSONString(paraMap).getBytes()); + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + dangerInfoResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + dangerInfoResultBuffer.append(line); + } + logger.info("result:" + dangerInfoResultBuffer.toString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + + //接收返回值,保存返回值 + CJReportResultData CJOverhaulLogResult = JSONObject.parseObject(dangerInfoResultBuffer.toString(), CJReportResultData.class); + //接收返回值,保存返回值 + List<String> errorIdList= new ArrayList<>(); + Data data = JSONObject.parseObject(CJOverhaulLogResult.getData(), Data.class); + //保存失败结果 + if (ObjectUtils.isNotEmpty(data)){ + for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) { + errorIdList.add(errorMsgDetail.getId()); + } + } + logger.info("【】CJOverhaulLog数据上报结果:" + CJOverhaulLogResult.getCode()); + //设置所有数据上报成功 + + if (CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){ + for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogs) { + HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam(); + //封装数据 + handlerCJReportParam.setId(cjOverhaulLog.getId()); + handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerCJReportParam.setReportTime(date); + CJOverhaulLogService.updateCJReportStatusById(handlerCJReportParam); + } + } + //设置上报失败的数据,上报失败 + if (CJOverhaulLogResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJOverhaulLogResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){ + for (String failId : errorIdList) { + //上报失败 + HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam(); + //封装数据 + handlerCJReportParam.setId(failId); + handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode()); + handlerCJReportParam.setReportTime(date); + CJOverhaulLogService.updateCJReportStatusById(handlerCJReportParam); + } + } + logger.info("【7】检修停用记录-数据处理完成"); + }else { + logger.info("【7】检修停用记录-无数据上报昌吉州"); + } + + } } -- Gitblit v1.9.2