From 499b4f74b78c49ad5309529970d06ee2a6606f1e Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 23 Apr 2025 10:38:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=A5=A8=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UploadController.java | 1143 ++++++++++++++++- .../resources/mapper/ZypSingleQueryMapper.xml | 22 + 2 files changed, 1161 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hxjt/dataupload/controller/UploadController.java b/src/main/java/com/hxjt/dataupload/controller/UploadController.java index d7827ed..75660e4 100644 --- a/src/main/java/com/hxjt/dataupload/controller/UploadController.java +++ b/src/main/java/com/hxjt/dataupload/controller/UploadController.java @@ -7,15 +7,16 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hxjt.dataupload.mapper.ZypSingleQueryMapper; import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs; -import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; +import com.hxjt.dataupload.model.entity.tszy.upload.*; import com.hxjt.dataupload.service.FxfxdxService; import com.hxjt.dataupload.task.AsyncTask; import com.hxjt.dataupload.utils.FileUploadUtil; import com.hxjt.dataupload.utils.HttpUtils; import com.hxjt.dataupload.utils.JingWeiDuConverter; import com.hxjt.dataupload.utils.JsonData; -import com.hxjt.dataupload.utils.tszy.DhAqcsUtil; +import com.hxjt.dataupload.utils.tszy.*; //import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.context.XxlJobHelper; import org.apache.commons.lang3.StringUtils; import org.apache.http.protocol.HTTP; import org.springframework.beans.factory.annotation.Autowired; @@ -150,7 +151,56 @@ private ZypSingleQueryMapper zypSingleQueryMapper; file.transferTo(targetFile); if(zypTypeId.equals("e3dbc4258dae4f21961dbb0e83701929")||zypTypeId.equals("626e96e90760406a98c20f2f1f9d014f")){ - boolean flag = dh(id, ticketNumber, zypTypeId,targetFile); + boolean flag = dh(id,targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("4babbbd0f1714289bd0b70222998834c")||zypTypeId.equals("c72815d306314dca864414c7ea4a80c7")){ + boolean flag = sxkj(id,targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("457abb402d9b42ad8b8fd601d24fcece")||zypTypeId.equals("7314a6809e66452e9e5e51dfab9a2b3d")){ + boolean flag = mbcd(id, targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("0dc5370dda5248e69db924de402b6639")||zypTypeId.equals("e05c6ca6921f4900af3d6d85cdd9337c")){ + boolean flag = gczy(id,targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("e7671c99bca845e49aad9baab1084331")||zypTypeId.equals("2ce56e004e114f5a9c4b010392780abe")){ + boolean flag = dzaqzy(id, targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("f0ffe0a4620d4f53a143e647fc467b88")||zypTypeId.equals("797dcd5af1c04d76b8bc0071321aae6b")){ + boolean flag = lsydzy(id, targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("0579b3bc102e46feac2d8bdb617750df")||zypTypeId.equals("02954995e8e14704ac86276dee785983")){ + boolean flag = dtzy(id, targetFile); + if(flag){ + return ResponseEntity.ok("上传成功"); + }else{ + return ResponseEntity.internalServerError().body("失败"); + } + }else if(zypTypeId.equals("35ee7345c96a4d77b206d47076ed6839")||zypTypeId.equals("9b8ee675618f4544b9e4a565df4c8f01")||zypTypeId.equals("96f4c6faafcb405785c23f9c0e431a30")){ + boolean flag = dlzy(id, targetFile); if(flag){ return ResponseEntity.ok("上传成功"); }else{ @@ -167,7 +217,7 @@ private ZypSingleQueryMapper zypSingleQueryMapper; } } - public boolean dh(String id,String ticketNumber,String zypTypeId,File file) { + public boolean dh(String id,File file) { //附件上传 FileUploadUtil fileUploadUtil = new FileUploadUtil(); Map uploadResult = fileUploadUtil.upload(file); @@ -198,11 +248,14 @@ private ZypSingleQueryMapper zypSingleQueryMapper; // 1. 启动分页(必须紧邻查询语句) PageHelper.startPage(pageNum, pageSize); // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + + //附件上传 if (jobParam.equals("全量")) { onePage = zypSingleQueryMapper.getOneDhzysPage("N",id); } else { onePage = zypSingleQueryMapper.getOneDhzysPage("Y",id); } + //附件上传 // 3. 封装分页结果 PageInfo pageInfo = new PageInfo<>(onePage); @@ -322,7 +375,1089 @@ private ZypSingleQueryMapper zypSingleQueryMapper; } + public boolean sxkj(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneSxkjzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneSxkjzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String qiyebianma = pageInfo.getList().get(x).getQiyebianma(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/shouxiankongjiananqu/v1/shouxiankongjiananqu"; + switch (qiyebianma) { + case "370910170": + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + SxkjzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "UgedXJ6rjuZ0iPihxQRN1A312DA6ACE3B28F"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",受限空间作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + /*XxlJobHelper.log("执行日志:(恒信高科)" + post.toString());*/ + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + break; + case "370980326": + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + + + public boolean mbcd(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneMbcdzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneMbcdzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String qiyebianma = pageInfo.getList().get(x).getQiyebianma(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/mangbanchouduanquanz/v1/mangbanchouduanquanz"; + switch (qiyebianma) { + case "370910170": + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getZuoyepiaobianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + MbcdzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "v3N8M5tIrV7wroWdO4fmCD2897D9726FD394"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",盲板抽堵作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + break; + case "370980326": + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + + + + public boolean gczy(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + /* + + */ + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneGczysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneGczysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String qiyebianma = pageInfo.getList().get(x).getQiyebianma(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/gaochuanquanzuoyebao/v1/gaochuanquanzuoyebao"; + switch (qiyebianma) { + case "370910170": + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + GczyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "zaIDuL6BDCJRpciQpiTZDF739F2837E3D0BF"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",高处作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + break; + case "370980326": + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + } + + + public boolean dzaqzy(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + /* + + */ + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneDzaqzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneDzaqzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String qiyebianma = pageInfo.getList().get(x).getQiyebianma(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/diaozhuanganquanzuoy/v1/diaozhuanganquanzuoy"; + switch (qiyebianma) { + case "370910170": + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + DzaqzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "TgFxv5xVQwYvJ3pb4hKVD7FCB38C89FCDC7A"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",吊装安全作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + break; + case "370980326": + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + public boolean lsydzy(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneLsydzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneLsydzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String shenqingdanwei = pageInfo.getList().get(x).getShenqingdanwei(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/linshiyongdiananquan/v1/linshiyongdiananquan"; + if(shenqingdanwei.equals("山东恒信高科能源有限公司")){ + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + LsydzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "C6MC32Ig7bjNMfNiFn9f0349DF6D105F39E0"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",临时用电作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + }else{ + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + + public boolean dtzy(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneDtzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneDtzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String shenqingdanwei = pageInfo.getList().get(x).getShenqingdanwei(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/dongtuanquanzuoyebao/v1/dongtuanquanzuoyebao"; + if(shenqingdanwei.equals("山东恒信高科能源有限公司")){ + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + DtzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "tqAjma93H5xpof6iviSFC57389DC1D1F35EE"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",动土作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + }else{ + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + public boolean dlzy(String id,File file) { + //附件上传 + FileUploadUtil fileUploadUtil = new FileUploadUtil(); + Map uploadResult = fileUploadUtil.upload(file); + Object body1 = uploadResult.get("body"); + String body1json = JSON.toJSONString(body1); + com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json); + String body2Str = (String)body1JsonObject.get("body"); + System.out.println(body2Str); + com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str); + JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data"); + String dataStr = JSON.toJSONString(dataJsonArr); + System.out.println(dataStr); + String zuoyepiao = dataStr; + String jobParam = "全量"; + //附件上传 + + int pageSize = 1000; + int success = 0; + int fail = 0; + long total = 0; + + + int pageNum = 1; + do { + List onePage = new ArrayList<>(); + // 1. 启动分页(必须紧邻查询语句) + PageHelper.startPage(pageNum, pageSize); + // 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑) + if (jobParam.equals("全量")) { + onePage = zypSingleQueryMapper.getOneDlzysPage("N",id); + } else { + onePage = zypSingleQueryMapper.getOneDlzysPage("Y",id); + } + + // 3. 封装分页结果 + PageInfo pageInfo = new PageInfo<>(onePage); + //设置总数 + total = pageInfo.getTotal(); + System.out.println("总条数:" + total); + System.out.println("第" + pageNum + "页"); + System.out.println("本页条数:" + pageInfo.getList().size()); + //处理经纬度 + for (int x = 0; x < pageInfo.getList().size(); x++) { + pageInfo.getList().get(x).setJingweidu(JingWeiDuConverter.createGeoPoint(pageInfo.getList().get(x).getJingweidu())); + //附件上传 + pageInfo.getList().get(x).setZuoyepiao(zuoyepiao); + //附件上传 + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String shenqingdanwei = pageInfo.getList().get(x).getShenqingdanwei(); + String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/duanluanquanzuoyebao/v1/duanluanquanzuoyebao"; + if(shenqingdanwei.equals("山东恒信高科能源有限公司")){ + //恒信高科 + //查询安全措施 + ArrayList aqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (Aqcs aqcs: aqcsList) { + DlzyUtil.handle(pageInfo.getList().get(x),aqcs); + //System.out.println(aqcs); + } + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(pageInfo.getList().get(x)); + String post = null; + + //System.out.println(jsonObject); + + + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "vSc603IKlc4iaKAsbCV8880424DAAA87A529"); + boolean thisFailFlag = false; + boolean postIsNull = false; + boolean postNoMsgs = false; + if(!StringUtils.isBlank(post)){ + JSONObject postJsonObj = JSONObject.parseObject(post); + if(postJsonObj.get("msg")!=null && postJsonObj.get("code")!=null && postJsonObj.get("status")!=null && !StringUtils.isBlank(postJsonObj.get("msg").toString())&&!StringUtils.isBlank(postJsonObj.get("code").toString())&&!StringUtils.isBlank(postJsonObj.get("status").toString())){ + if(postJsonObj.get("msg").equals("成功")&&postJsonObj.get("code").toString().equals("1000000")&&postJsonObj.get("status").toString().equals("200")){//status + //成功 + System.out.println("成功"+(x+1)+","); + + + /*DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println(jsonObject); + System.out.println("post:" + post.toString());*/ + + success++; + }else{ + thisFailFlag = true; + } + }else{ + thisFailFlag = true; + postNoMsgs = true; + } + }else{ + postIsNull = true; + thisFailFlag = true; + } + if(thisFailFlag){//异常情况 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDate = LocalDateTime.now().format(formatter); + System.out.println(" 当前时间: " + formattedDate); // 示例输出:2025-03-12 08:29:25 + System.out.println("失败"+(x+1)+",断路作业"); + if(!postIsNull){ + System.out.println("post:" + post.toString()); + //XxlJobHelper.log("执行日志:(恒信高科)" + post.toString()); + } + + System.out.println(jsonObject); + + fail++; + Thread.sleep(120000); + } + } catch (Exception e) { + e.printStackTrace(); + /*XxlJobHelper.log("错误信息:" + e); + XxlJobHelper.log("请求体:" + jsonObject);*/ + try { + TimeUnit.MINUTES.sleep(2); // 直接指定分钟 + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } + + } + }else{ + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + //附件上传 + if (total > 0) { + return true; + //XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + return false; + //XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } } diff --git a/src/main/resources/mapper/ZypSingleQueryMapper.xml b/src/main/resources/mapper/ZypSingleQueryMapper.xml index 95f6595..8833d97 100644 --- a/src/main/resources/mapper/ZypSingleQueryMapper.xml +++ b/src/main/resources/mapper/ZypSingleQueryMapper.xml @@ -199,6 +199,9 @@ and a.APPLYTIME >= '2024-01-01 00:00:00.000' + + AND a.id = #{id} + order by a.APPLYTIME desc @@ -325,6 +328,9 @@ and a.APPLYTIME >= '2024-01-01 00:00:00.000' + + AND a.id = #{id} + order by a.APPLYTIME desc @@ -428,6 +434,9 @@ and a.APPLYTIME >= '2024-01-01 00:00:00.000' + + AND a.id = #{id} + --AND OTBILLID='DH20250213197' order by a.APPLYTIME desc @@ -539,6 +548,9 @@ and a.APPLYTIME >= '2023-01-01 00:00:00.000' + + AND a.id = #{id} + --AND OTBILLID='DH20250213197' order by a.APPLYTIME desc @@ -642,7 +654,11 @@ and a.APPLYTIME >= '2025-01-01 00:00:00.000' + + AND a.id = #{id} + and c.id in('f0ffe0a4620d4f53a143e647fc467b88', '797dcd5af1c04d76b8bc0071321aae6b') + --AND OTBILLID='DH20250213197' order by a.APPLYTIME desc @@ -735,6 +751,9 @@ and a.APPLYTIME >= '2023-01-01 00:00:00.000' + + AND a.id = #{id} + and c.id in('0579b3bc102e46feac2d8bdb617750df', '02954995e8e14704ac86276dee785983') --AND OTBILLID='DH20250213197' order by @@ -830,6 +849,9 @@ and a.APPLYTIME >= '2025-01-01 00:00:00.000' + + AND a.id = #{id} + and c.id in('35ee7345c96a4d77b206d47076ed6839', '9b8ee675618f4544b9e4a565df4c8f01','96f4c6faafcb405785c23f9c0e431a30') --AND OTBILLID='DH20250213197'