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