From 131ed62dae4dc46a89074472350f592cc5f8bdbc Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 19 Mar 2025 08:08:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E7=81=AB=E4=BD=9C=E4=B8=9A=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../specialassignments/DhzyJobHandler.java | 177 +++++ .../hxjt/dataupload/mapper/FxfxdxMapper.java | 6 + .../model/entity/tszy/aqcs/DhAqcs.java | 35 + .../model/entity/tszy/upload/Dhzy.java | 702 ++++++++++++++++++ .../dataupload/service/FxfxdxService.java | 9 + .../service/impl/FxfxdxServiceImpl.java | 12 + .../com/hxjt/dataupload/utils/DhAqcsUtil.java | 157 ++++ .../dataupload/utils/JingWeiDuConverter.java | 39 + src/main/resources/mapper/FxfxdxMapper.xml | 114 +++ 9 files changed, 1251 insertions(+) create mode 100644 src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DhzyJobHandler.java create mode 100644 src/main/java/com/hxjt/dataupload/model/entity/tszy/aqcs/DhAqcs.java create mode 100644 src/main/java/com/hxjt/dataupload/model/entity/tszy/upload/Dhzy.java create mode 100644 src/main/java/com/hxjt/dataupload/utils/DhAqcsUtil.java create mode 100644 src/main/java/com/hxjt/dataupload/utils/JingWeiDuConverter.java diff --git a/src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DhzyJobHandler.java b/src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DhzyJobHandler.java new file mode 100644 index 0000000..5dcd5b6 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DhzyJobHandler.java @@ -0,0 +1,177 @@ +package com.hxjt.dataupload.jobhandler.specialassignments; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx; +import com.hxjt.dataupload.model.entity.doubleprevent.Yhpcrw; +import com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs; +import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; +import com.hxjt.dataupload.service.FxfxdxService; +import com.hxjt.dataupload.utils.DhAqcsUtil; +import com.hxjt.dataupload.utils.HttpUtils; +import com.hxjt.dataupload.utils.JingWeiDuConverter; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.protocol.HTTP; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + + +@Component +public class DhzyJobHandler { + + + private Logger log = LoggerFactory.getLogger(DhzyJobHandler.class); + + @Autowired + FxfxdxService fxfxdxService; + + @XxlJob(value = "DhzyJobHandler", init = "init", destroy = "destroy") + public void execute(String param) { + String jobParam = XxlJobHelper.getJobParam(); + + 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 = fxfxdxService.getOneDhzysPage("N"); + } else { + onePage = fxfxdxService.getOneDhzysPage("Y"); + } + + // 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())); + } + //对本页数据进行上传 + for (int x = 0; x < pageInfo.getList().size(); x++) { + + String qiyebianma = pageInfo.getList().get(x).getQiyebianma(); + String url = "https://www.ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/donghuozuoyebaobei/v1/donghuozuoyebaobei"; + switch (qiyebianma) { + case "370910170": + //恒信高科 + //查询安全措施 + ArrayList dhAqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao()); + //根据安全措施列表便利处理给当前上传对象赋值相关字段 + for (DhAqcs dhAqcs: dhAqcsList) { + DhAqcsUtil.handle(pageInfo.getList().get(x),dhAqcs); + } + 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, "PrBMPrhf0qLDFwj6bnLJ7D1821BA364FFDC5"); + 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); + + + } + break; + case "370980326": + //中碳氢能源 + System.out.println(1); + } + + + } + pageNum++; + + } while (total > (pageNum - 1) * pageSize); + + + + + if (total > 0) { + XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); + } else { + XxlJobHelper.log("执行日志:本次无新数据需上传"); + } + + + } + + + private void init() { + log.info("init 方法调用成功"); + } + + private void destroy() { + log.info("destroy 方法调用成功"); + } + +} diff --git a/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java b/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java index 5994f51..8b90916 100644 --- a/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java +++ b/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java @@ -1,6 +1,8 @@ package com.hxjt.dataupload.mapper; import com.hxjt.dataupload.model.entity.doubleprevent.*; +import com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs; +import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; import org.apache.ibatis.annotations.CacheNamespace; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -27,4 +29,8 @@ public interface FxfxdxMapper { List getOneYhzldasPage(@Param("isSingleDay")String isSingleDay); List getOneZztyjwxjlsPage(@Param("isSingleDay")String isSingleDay); + + List getOneDhzysPage(@Param("isSingleDay")String isSingleDay); + + ArrayList queryDhAqcsByBianhao(@Param("bianhao")String bianhao); } diff --git a/src/main/java/com/hxjt/dataupload/model/entity/tszy/aqcs/DhAqcs.java b/src/main/java/com/hxjt/dataupload/model/entity/tszy/aqcs/DhAqcs.java new file mode 100644 index 0000000..d4a7fb9 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/model/entity/tszy/aqcs/DhAqcs.java @@ -0,0 +1,35 @@ +package com.hxjt.dataupload.model.entity.tszy.aqcs; + +import org.springframework.stereotype.Repository; + +@Repository +public class DhAqcs { + private String querenren; + private String ancuoneirong; + private String shifousheji; + + + public String getQuerenren() { + return querenren; + } + + public void setQuerenren(String querenren) { + this.querenren = querenren; + } + + public String getAncuoneirong() { + return ancuoneirong; + } + + public void setAncuoneirong(String ancuoneirong) { + this.ancuoneirong = ancuoneirong; + } + + public String getShifousheji() { + return shifousheji; + } + + public void setShifousheji(String shifousheji) { + this.shifousheji = shifousheji; + } +} diff --git a/src/main/java/com/hxjt/dataupload/model/entity/tszy/upload/Dhzy.java b/src/main/java/com/hxjt/dataupload/model/entity/tszy/upload/Dhzy.java new file mode 100644 index 0000000..08b83a9 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/model/entity/tszy/upload/Dhzy.java @@ -0,0 +1,702 @@ +package com.hxjt.dataupload.model.entity.tszy.upload; + +import org.springframework.stereotype.Repository; + +@Repository +public class Dhzy { + private String bianhao; + private String zuoyeshenqingdanwei; + private String qiyebianma; + private String donghuozuoyejibie; + private String donghuozuoyeshishika; + private String donghuozuoyeshishiji; + private String donghuodidianjidongh; + private String zuoyeneirong; + //经纬度 + private String jingweidu; + private String zuoyezhuangtai; + private String jianhuren; + private String shigongrenyuanxingmi; + private String zuoyedanwei; + private String shifouchengbaoshangz; + private String zuoyefuzeren; + private String fuzerenlianxifangshi; + private String zuoyeshifoubiangengg; + //作业变更原因 + private String zuoyebiangengyuanyin; + private String zuoyeshifouquxiao; + //作业作废原因 + private String zuoyezuofeiyuanyin; + //作业票 + private String zuoyepiao; + private String zuoyeshenqingshijian; + private String donghuofangshi; + private String donghuoren; + //证书编号 + private String zhengshubianhao; + //风险辨识结果 + private String fengxianbianshijiegu; + private String guanliandeqitateshuz; + //接下来的都需要二次处理----安全措施 + private String shifousheji1; + private String querenren1; + private String jiamangbankuaishu; + private String shifousheji2; + private String querenren2; + private String shifousheji3; + private String querenren3; + private String shifousheji4; + private String querenren4; + private String shifousheji5; + private String querenren5; + private String shifousheji6; + private String querenren6; + private String shifousheji7; + private String querenren7; + private String zhengqidaihuoxiaofan; + private String peibeimiehuotankuais; + private String peibeimiehuoqitaishu; + private String shifousheji8; + private String querenren8; + private String shifousheji9; + private String querenren9; + private String shifousheji10; + private String querenren10; + private String shifousheji11; + private String querenren11; + private String shifousheji12; + private String querenren12; + private String shifousheji13; + private String querenren13; + private String shifousheji14; + private String querenren14; + private String shifousheji15; + private String querenren15; + private String qitaanquancuoshi; + private String bianzhiren; + private String shifousheji16; + private String querenren16; + private String jieshoujiaodiren; + private String anquanjiaodiren; + private String shifouweiqiyetuisong; + + + public String getBianhao() { + return bianhao; + } + + public void setBianhao(String bianhao) { + this.bianhao = bianhao; + } + + public String getZuoyeshenqingdanwei() { + return zuoyeshenqingdanwei; + } + + public void setZuoyeshenqingdanwei(String zuoyeshenqingdanwei) { + this.zuoyeshenqingdanwei = zuoyeshenqingdanwei; + } + + public String getQiyebianma() { + return qiyebianma; + } + + public void setQiyebianma(String qiyebianma) { + this.qiyebianma = qiyebianma; + } + + public String getDonghuozuoyejibie() { + return donghuozuoyejibie; + } + + public void setDonghuozuoyejibie(String donghuozuoyejibie) { + this.donghuozuoyejibie = donghuozuoyejibie; + } + + public String getDonghuozuoyeshishika() { + return donghuozuoyeshishika; + } + + public void setDonghuozuoyeshishika(String donghuozuoyeshishika) { + this.donghuozuoyeshishika = donghuozuoyeshishika; + } + + public String getDonghuozuoyeshishiji() { + return donghuozuoyeshishiji; + } + + public void setDonghuozuoyeshishiji(String donghuozuoyeshishiji) { + this.donghuozuoyeshishiji = donghuozuoyeshishiji; + } + + public String getDonghuodidianjidongh() { + return donghuodidianjidongh; + } + + public void setDonghuodidianjidongh(String donghuodidianjidongh) { + this.donghuodidianjidongh = donghuodidianjidongh; + } + + public String getZuoyeneirong() { + return zuoyeneirong; + } + + public void setZuoyeneirong(String zuoyeneirong) { + this.zuoyeneirong = zuoyeneirong; + } + + public String getJingweidu() { + return jingweidu; + } + + public void setJingweidu(String jingweidu) { + this.jingweidu = jingweidu; + } + + public String getZuoyezhuangtai() { + return zuoyezhuangtai; + } + + public void setZuoyezhuangtai(String zuoyezhuangtai) { + this.zuoyezhuangtai = zuoyezhuangtai; + } + + public String getJianhuren() { + return jianhuren; + } + + public void setJianhuren(String jianhuren) { + this.jianhuren = jianhuren; + } + + public String getShigongrenyuanxingmi() { + return shigongrenyuanxingmi; + } + + public void setShigongrenyuanxingmi(String shigongrenyuanxingmi) { + this.shigongrenyuanxingmi = shigongrenyuanxingmi; + } + + public String getZuoyedanwei() { + return zuoyedanwei; + } + + public void setZuoyedanwei(String zuoyedanwei) { + this.zuoyedanwei = zuoyedanwei; + } + + public String getShifouchengbaoshangz() { + return shifouchengbaoshangz; + } + + public void setShifouchengbaoshangz(String shifouchengbaoshangz) { + this.shifouchengbaoshangz = shifouchengbaoshangz; + } + + public String getZuoyefuzeren() { + return zuoyefuzeren; + } + + public void setZuoyefuzeren(String zuoyefuzeren) { + this.zuoyefuzeren = zuoyefuzeren; + } + + public String getFuzerenlianxifangshi() { + return fuzerenlianxifangshi; + } + + public void setFuzerenlianxifangshi(String fuzerenlianxifangshi) { + this.fuzerenlianxifangshi = fuzerenlianxifangshi; + } + + public String getZuoyeshifoubiangengg() { + return zuoyeshifoubiangengg; + } + + public void setZuoyeshifoubiangengg(String zuoyeshifoubiangengg) { + this.zuoyeshifoubiangengg = zuoyeshifoubiangengg; + } + + public String getZuoyebiangengyuanyin() { + return zuoyebiangengyuanyin; + } + + public void setZuoyebiangengyuanyin(String zuoyebiangengyuanyin) { + this.zuoyebiangengyuanyin = zuoyebiangengyuanyin; + } + + public String getZuoyeshifouquxiao() { + return zuoyeshifouquxiao; + } + + public void setZuoyeshifouquxiao(String zuoyeshifouquxiao) { + this.zuoyeshifouquxiao = zuoyeshifouquxiao; + } + + public String getZuoyezuofeiyuanyin() { + return zuoyezuofeiyuanyin; + } + + public void setZuoyezuofeiyuanyin(String zuoyezuofeiyuanyin) { + this.zuoyezuofeiyuanyin = zuoyezuofeiyuanyin; + } + + public String getZuoyepiao() { + return zuoyepiao; + } + + public void setZuoyepiao(String zuoyepiao) { + this.zuoyepiao = zuoyepiao; + } + + public String getZuoyeshenqingshijian() { + return zuoyeshenqingshijian; + } + + public void setZuoyeshenqingshijian(String zuoyeshenqingshijian) { + this.zuoyeshenqingshijian = zuoyeshenqingshijian; + } + + public String getDonghuofangshi() { + return donghuofangshi; + } + + public void setDonghuofangshi(String donghuofangshi) { + this.donghuofangshi = donghuofangshi; + } + + public String getDonghuoren() { + return donghuoren; + } + + public void setDonghuoren(String donghuoren) { + this.donghuoren = donghuoren; + } + + public String getZhengshubianhao() { + return zhengshubianhao; + } + + public void setZhengshubianhao(String zhengshubianhao) { + this.zhengshubianhao = zhengshubianhao; + } + + public String getFengxianbianshijiegu() { + return fengxianbianshijiegu; + } + + public void setFengxianbianshijiegu(String fengxianbianshijiegu) { + this.fengxianbianshijiegu = fengxianbianshijiegu; + } + + public String getGuanliandeqitateshuz() { + return guanliandeqitateshuz; + } + + public void setGuanliandeqitateshuz(String guanliandeqitateshuz) { + this.guanliandeqitateshuz = guanliandeqitateshuz; + } + + public String getShifousheji1() { + return shifousheji1; + } + + public void setShifousheji1(String shifousheji1) { + this.shifousheji1 = shifousheji1; + } + + public String getQuerenren1() { + return querenren1; + } + + public void setQuerenren1(String querenren1) { + this.querenren1 = querenren1; + } + + public String getJiamangbankuaishu() { + return jiamangbankuaishu; + } + + public void setJiamangbankuaishu(String jiamangbankuaishu) { + this.jiamangbankuaishu = jiamangbankuaishu; + } + + public String getShifousheji2() { + return shifousheji2; + } + + public void setShifousheji2(String shifousheji2) { + this.shifousheji2 = shifousheji2; + } + + public String getQuerenren2() { + return querenren2; + } + + public void setQuerenren2(String querenren2) { + this.querenren2 = querenren2; + } + + public String getShifousheji3() { + return shifousheji3; + } + + public void setShifousheji3(String shifousheji3) { + this.shifousheji3 = shifousheji3; + } + + public String getQuerenren3() { + return querenren3; + } + + public void setQuerenren3(String querenren3) { + this.querenren3 = querenren3; + } + + public String getShifousheji4() { + return shifousheji4; + } + + public void setShifousheji4(String shifousheji4) { + this.shifousheji4 = shifousheji4; + } + + public String getQuerenren4() { + return querenren4; + } + + public void setQuerenren4(String querenren4) { + this.querenren4 = querenren4; + } + + public String getShifousheji5() { + return shifousheji5; + } + + public void setShifousheji5(String shifousheji5) { + this.shifousheji5 = shifousheji5; + } + + public String getQuerenren5() { + return querenren5; + } + + public void setQuerenren5(String querenren5) { + this.querenren5 = querenren5; + } + + public String getShifousheji6() { + return shifousheji6; + } + + public void setShifousheji6(String shifousheji6) { + this.shifousheji6 = shifousheji6; + } + + public String getQuerenren6() { + return querenren6; + } + + public void setQuerenren6(String querenren6) { + this.querenren6 = querenren6; + } + + public String getShifousheji7() { + return shifousheji7; + } + + public void setShifousheji7(String shifousheji7) { + this.shifousheji7 = shifousheji7; + } + + public String getQuerenren7() { + return querenren7; + } + + public void setQuerenren7(String querenren7) { + this.querenren7 = querenren7; + } + + public String getZhengqidaihuoxiaofan() { + return zhengqidaihuoxiaofan; + } + + public void setZhengqidaihuoxiaofan(String zhengqidaihuoxiaofan) { + this.zhengqidaihuoxiaofan = zhengqidaihuoxiaofan; + } + + public String getPeibeimiehuotankuais() { + return peibeimiehuotankuais; + } + + public void setPeibeimiehuotankuais(String peibeimiehuotankuais) { + this.peibeimiehuotankuais = peibeimiehuotankuais; + } + + public String getPeibeimiehuoqitaishu() { + return peibeimiehuoqitaishu; + } + + public void setPeibeimiehuoqitaishu(String peibeimiehuoqitaishu) { + this.peibeimiehuoqitaishu = peibeimiehuoqitaishu; + } + + public String getShifousheji8() { + return shifousheji8; + } + + public void setShifousheji8(String shifousheji8) { + this.shifousheji8 = shifousheji8; + } + + public String getQuerenren8() { + return querenren8; + } + + public void setQuerenren8(String querenren8) { + this.querenren8 = querenren8; + } + + public String getShifousheji9() { + return shifousheji9; + } + + public void setShifousheji9(String shifousheji9) { + this.shifousheji9 = shifousheji9; + } + + public String getQuerenren9() { + return querenren9; + } + + public void setQuerenren9(String querenren9) { + this.querenren9 = querenren9; + } + + public String getShifousheji10() { + return shifousheji10; + } + + public void setShifousheji10(String shifousheji10) { + this.shifousheji10 = shifousheji10; + } + + public String getQuerenren10() { + return querenren10; + } + + public void setQuerenren10(String querenren10) { + this.querenren10 = querenren10; + } + + public String getShifousheji11() { + return shifousheji11; + } + + public void setShifousheji11(String shifousheji11) { + this.shifousheji11 = shifousheji11; + } + + public String getQuerenren11() { + return querenren11; + } + + public void setQuerenren11(String querenren11) { + this.querenren11 = querenren11; + } + + public String getShifousheji12() { + return shifousheji12; + } + + public void setShifousheji12(String shifousheji12) { + this.shifousheji12 = shifousheji12; + } + + public String getQuerenren12() { + return querenren12; + } + + public void setQuerenren12(String querenren12) { + this.querenren12 = querenren12; + } + + public String getShifousheji13() { + return shifousheji13; + } + + public void setShifousheji13(String shifousheji13) { + this.shifousheji13 = shifousheji13; + } + + public String getQuerenren13() { + return querenren13; + } + + public void setQuerenren13(String querenren13) { + this.querenren13 = querenren13; + } + + public String getShifousheji14() { + return shifousheji14; + } + + public void setShifousheji14(String shifousheji14) { + this.shifousheji14 = shifousheji14; + } + + public String getQuerenren14() { + return querenren14; + } + + public void setQuerenren14(String querenren14) { + this.querenren14 = querenren14; + } + + public String getShifousheji15() { + return shifousheji15; + } + + public void setShifousheji15(String shifousheji15) { + this.shifousheji15 = shifousheji15; + } + + public String getQuerenren15() { + return querenren15; + } + + public void setQuerenren15(String querenren15) { + this.querenren15 = querenren15; + } + + public String getQitaanquancuoshi() { + return qitaanquancuoshi; + } + + public void setQitaanquancuoshi(String qitaanquancuoshi) { + this.qitaanquancuoshi = qitaanquancuoshi; + } + + public String getBianzhiren() { + return bianzhiren; + } + + public void setBianzhiren(String bianzhiren) { + this.bianzhiren = bianzhiren; + } + + public String getShifousheji16() { + return shifousheji16; + } + + public void setShifousheji16(String shifousheji16) { + this.shifousheji16 = shifousheji16; + } + + public String getQuerenren16() { + return querenren16; + } + + public void setQuerenren16(String querenren16) { + this.querenren16 = querenren16; + } + + public String getJieshoujiaodiren() { + return jieshoujiaodiren; + } + + public void setJieshoujiaodiren(String jieshoujiaodiren) { + this.jieshoujiaodiren = jieshoujiaodiren; + } + + public String getAnquanjiaodiren() { + return anquanjiaodiren; + } + + public void setAnquanjiaodiren(String anquanjiaodiren) { + this.anquanjiaodiren = anquanjiaodiren; + } + + public String getShifouweiqiyetuisong() { + return shifouweiqiyetuisong; + } + + public void setShifouweiqiyetuisong(String shifouweiqiyetuisong) { + this.shifouweiqiyetuisong = shifouweiqiyetuisong; + } + + + @Override + public String toString() { + return "DhzyUpload{" + + "bianhao='" + bianhao + '\'' + + ", zuoyeshenqingdanwei='" + zuoyeshenqingdanwei + '\'' + + ", qiyebianma='" + qiyebianma + '\'' + + ", donghuozuoyejibie='" + donghuozuoyejibie + '\'' + + ", donghuozuoyeshishika='" + donghuozuoyeshishika + '\'' + + ", donghuozuoyeshishiji='" + donghuozuoyeshishiji + '\'' + + ", donghuodidianjidongh='" + donghuodidianjidongh + '\'' + + ", zuoyeneirong='" + zuoyeneirong + '\'' + + ", jingweidu='" + jingweidu + '\'' + + ", zuoyezhuangtai='" + zuoyezhuangtai + '\'' + + ", jianhuren='" + jianhuren + '\'' + + ", shigongrenyuanxingmi='" + shigongrenyuanxingmi + '\'' + + ", zuoyedanwei='" + zuoyedanwei + '\'' + + ", shifouchengbaoshangz='" + shifouchengbaoshangz + '\'' + + ", zuoyefuzeren='" + zuoyefuzeren + '\'' + + ", fuzerenlianxifangshi='" + fuzerenlianxifangshi + '\'' + + ", zuoyeshifoubiangengg='" + zuoyeshifoubiangengg + '\'' + + ", zuoyebiangengyuanyin='" + zuoyebiangengyuanyin + '\'' + + ", zuoyeshifouquxiao='" + zuoyeshifouquxiao + '\'' + + ", zuoyezuofeiyuanyin='" + zuoyezuofeiyuanyin + '\'' + + ", zuoyepiao='" + zuoyepiao + '\'' + + ", zuoyeshenqingshijian='" + zuoyeshenqingshijian + '\'' + + ", donghuofangshi='" + donghuofangshi + '\'' + + ", donghuoren='" + donghuoren + '\'' + + ", zhengshubianhao='" + zhengshubianhao + '\'' + + ", fengxianbianshijiegu='" + fengxianbianshijiegu + '\'' + + ", guanliandeqitateshuz='" + guanliandeqitateshuz + '\'' + + ", shifousheji1='" + shifousheji1 + '\'' + + ", querenren1='" + querenren1 + '\'' + + ", jiamangbankuaishu='" + jiamangbankuaishu + '\'' + + ", shifousheji2='" + shifousheji2 + '\'' + + ", querenren2='" + querenren2 + '\'' + + ", shifousheji3='" + shifousheji3 + '\'' + + ", querenren3='" + querenren3 + '\'' + + ", shifousheji4='" + shifousheji4 + '\'' + + ", querenren4='" + querenren4 + '\'' + + ", shifousheji5='" + shifousheji5 + '\'' + + ", querenren5='" + querenren5 + '\'' + + ", shifousheji6='" + shifousheji6 + '\'' + + ", querenren6='" + querenren6 + '\'' + + ", shifousheji7='" + shifousheji7 + '\'' + + ", querenren7='" + querenren7 + '\'' + + ", zhengqidaihuoxiaofan='" + zhengqidaihuoxiaofan + '\'' + + ", peibeimiehuotankuais='" + peibeimiehuotankuais + '\'' + + ", peibeimiehuoqitaishu='" + peibeimiehuoqitaishu + '\'' + + ", shifousheji8='" + shifousheji8 + '\'' + + ", querenren8='" + querenren8 + '\'' + + ", shifousheji9='" + shifousheji9 + '\'' + + ", querenren9='" + querenren9 + '\'' + + ", shifousheji10='" + shifousheji10 + '\'' + + ", querenren10='" + querenren10 + '\'' + + ", shifousheji11='" + shifousheji11 + '\'' + + ", querenren11='" + querenren11 + '\'' + + ", shifousheji12='" + shifousheji12 + '\'' + + ", querenren12='" + querenren12 + '\'' + + ", shifousheji13='" + shifousheji13 + '\'' + + ", querenren13='" + querenren13 + '\'' + + ", shifousheji14='" + shifousheji14 + '\'' + + ", querenren14='" + querenren14 + '\'' + + ", shifousheji15='" + shifousheji15 + '\'' + + ", querenren15='" + querenren15 + '\'' + + ", qitaanquancuoshi='" + qitaanquancuoshi + '\'' + + ", bianzhiren='" + bianzhiren + '\'' + + ", shifousheji16='" + shifousheji16 + '\'' + + ", querenren16='" + querenren16 + '\'' + + ", jieshoujiaodiren='" + jieshoujiaodiren + '\'' + + ", anquanjiaodiren='" + anquanjiaodiren + '\'' + + ", shifouweiqiyetuisong='" + shifouweiqiyetuisong + '\'' + + '}'; + } +} diff --git a/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java b/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java index eaaea6d..5be23a8 100644 --- a/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java +++ b/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java @@ -1,6 +1,8 @@ package com.hxjt.dataupload.service; import com.hxjt.dataupload.model.entity.doubleprevent.*; +import com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs; +import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; import java.util.ArrayList; @@ -25,4 +27,11 @@ public interface FxfxdxService { List getOneYhzldasPage(String isSingleDay); //装置停用检维修记录 List getOneZztyjwxjlsPage(String isSingleDay); + + + + //动火作业 + List getOneDhzysPage(String isSingleDay); + //动火安全措施 + ArrayList queryDhAqcsByBianhao(String bianhao); } diff --git a/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java b/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java index 61f1865..ca8f431 100644 --- a/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java +++ b/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java @@ -2,6 +2,8 @@ package com.hxjt.dataupload.service.impl; import com.hxjt.dataupload.mapper.FxfxdxMapper; import com.hxjt.dataupload.model.entity.doubleprevent.*; +import com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs; +import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; import com.hxjt.dataupload.service.FxfxdxService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -58,4 +60,14 @@ public class FxfxdxServiceImpl implements FxfxdxService { public List getOneZztyjwxjlsPage(String isSingleDay) { return fxfxdxMapper.getOneZztyjwxjlsPage(isSingleDay); } + + @Override + public List getOneDhzysPage(String isSingleDay) { + return fxfxdxMapper.getOneDhzysPage(isSingleDay); + } + + @Override + public ArrayList queryDhAqcsByBianhao(String bianhao) { + return fxfxdxMapper.queryDhAqcsByBianhao(bianhao); + } } diff --git a/src/main/java/com/hxjt/dataupload/utils/DhAqcsUtil.java b/src/main/java/com/hxjt/dataupload/utils/DhAqcsUtil.java new file mode 100644 index 0000000..d912f81 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/utils/DhAqcsUtil.java @@ -0,0 +1,157 @@ +package com.hxjt.dataupload.utils; + +import com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs; +import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class DhAqcsUtil { + public static void handle(Dhzy dhzy, DhAqcs dhAqcs) { + if(dhAqcs.getAncuoneirong().startsWith("动火设备内部构件清理干净")){ + dhzy.setShifousheji1(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren1(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("与动火设备相连接的所有管线已断开,加盲板")){ + dhzy.setJiamangbankuaishu(getMangBanNum(dhAqcs.getAncuoneirong())); + dhzy.setShifousheji2(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren2(dhAqcs.getQuerenren()); + }else if (dhAqcs.getAncuoneirong().startsWith("动火点周围及附近(孔洞、窨井、地沟、水封设施、污水井等)已清除易燃物,并已采取")){ + dhzy.setShifousheji3(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren3(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("油气罐区动火点同一防火堤内和防火间距")){// + dhzy.setShifousheji4(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren4(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("高处作业已采取防火花")){// + dhzy.setShifousheji5(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren5(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("在有可燃物构件和使用可燃物做防火内衬的设")){// + dhzy.setShifousheji6(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren6(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("乙炔气瓶直立放置")){// + dhzy.setShifousheji7(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren7(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("现场配备灭火器")){// + String[] arr = extractBracketContents(dhAqcs.getAncuoneirong()); + dhzy.setZhengqidaihuoxiaofan(arr[2]); + dhzy.setPeibeimiehuotankuais(arr[1]); + dhzy.setPeibeimiehuoqitaishu(arr[0]); + dhzy.setShifousheji8(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren8(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("电焊机所处位置已考虑防火防爆要")){// + dhzy.setShifousheji9(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren9(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("动火点周围规定距离内没有易燃易爆化学品的装卸")){// + dhzy.setShifousheji10(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren10(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("动火点30m内垂直空间未排放可燃气体")){// + dhzy.setShifousheji11(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren11(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("已开展作业危害分析")){// + dhzy.setShifousheji12(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren12(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("用于连续检测的移动式可燃")){// + dhzy.setShifousheji13(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren13(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("配备的摄录设备已到位")){// + dhzy.setShifousheji14(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren14(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("其他相关特殊作业已办理")){// + dhzy.setShifousheji15(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + dhzy.setQuerenren15(dhAqcs.getQuerenren()); + }else if(dhAqcs.getAncuoneirong().startsWith("作业现场四周己设立警戒")){// + + dhzy.setQitaanquancuoshi(processSecurityMeasures(dhAqcs.getAncuoneirong())); + dhzy.setShifousheji16(dhAqcs.getShifousheji().equals("Y")?"是":"否"); + if(dhzy.getShifousheji16().equals("是")){ + dhzy.setBianzhiren(dhAqcs.getQuerenren()); + } + dhzy.setQuerenren16(dhAqcs.getQuerenren()); + } + } + + + + public static String getMangBanNum(String param){ + if (param == null || param.isEmpty()) { + return "0"; + } + + // 修改正则表达式匹配中文括号 + Pattern pattern = Pattern.compile(" ((.*?))"); + Matcher matcher = pattern.matcher(param); + + if (matcher.find()) { + String content = matcher.group(1).trim(); // 去首尾空格 + + if (isValidNumber(content)) { + return content; + } + } + return "0"; + } + + private static boolean isValidNumber(String str) { + try { + Double.parseDouble(str); + return true; + } catch (NumberFormatException e) { + return false; + } + } + + public static String[] extractBracketContents(String input) { + List matches = new ArrayList<>(); + // 匹配中文括号内的内容,使用非贪婪模式 + Pattern pattern = Pattern.compile("\uFF08(.*?)\uFF09"); + Matcher matcher = pattern.matcher(input); + while (matcher.find()) { + matches.add(matcher.group(1)); + } + + String[] result = new String[3]; + for (int i = 0; i < 3; i++) { + String content = ""; + if (i < matches.size()) { + content = matches.get(i).trim(); // 去除两边空格 + } + // 判断内容是否能转为数字 + boolean isNumber = false; + if (!content.isEmpty()) { + try { + Double.parseDouble(content); + isNumber = true; + } catch (NumberFormatException e) { + // 转换失败,非数字 + } + } + result[i] = isNumber ? content : "0"; + } + return result; + } + + // 定义需要过滤的中英文符号正则表达式 + private static final String SYMBOLS_REGEX = "^[::,,。.?!!]*|([::,,。.?!!]*)$"; + // 汉字正则表达式 + private static final Pattern CHINESE_PATTERN = Pattern.compile("[\u4E00-\u9FA5]"); + + public static String processSecurityMeasures(String input) { + // 定位关键词位置 + int index = input.indexOf(" 其他安全措施"); + if (index == -1) return "无"; + + // 截取关键词后的内容并去除两端空格 + String content = input.substring(index + 6).trim(); + if (content.isEmpty()) return "无"; + + // 去除两端符号 + content = content.replaceAll(SYMBOLS_REGEX, "").trim(); + + // 检查是否包含汉字 + Matcher matcher = CHINESE_PATTERN.matcher(content); + if (!matcher.find()) return "无"; + + return content.isEmpty() ? "无" : content; + } +} diff --git a/src/main/java/com/hxjt/dataupload/utils/JingWeiDuConverter.java b/src/main/java/com/hxjt/dataupload/utils/JingWeiDuConverter.java new file mode 100644 index 0000000..4304866 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/utils/JingWeiDuConverter.java @@ -0,0 +1,39 @@ +package com.hxjt.dataupload.utils; + +import org.apache.commons.lang3.StringUtils; + +import java.math.BigDecimal; + +public class JingWeiDuConverter { + /** + * 生成包含坐标点的JSON结构 + * @param longitude 经度 + * @param latitude 纬度 + * @return 包含坐标信息的JSON字符串 + */ + public static String createGeoPoint(double longitude, double latitude) { + // 使用BigDecimal保证数值精度[10]() + String lon = BigDecimal.valueOf(longitude).toPlainString(); + String lat = BigDecimal.valueOf(latitude).toPlainString(); + + // 构建JSON结构[1]()[5]() + return String.format( + "{\"center\":[\"%s\",\"%s\",\"0\"],\"type\":\"point\",\"originType\":\"draw\",\"coords\":[\"%s\",\"%s\",\"0\"]}", + lon, lat, lon, lat + ); + } + public static String createGeoPoint(String coordinates) { + if(StringUtils.isBlank(coordinates)){ + return null; + }else{ + String[] parts = coordinates.split(","); + if(parts.length != 2) { + //throw new IllegalArgumentException("参数格式错误"); + return null; + }else{ + return createGeoPoint(Double.parseDouble(parts[0]), Double.parseDouble(parts[1])); + } + + } + } +} diff --git a/src/main/resources/mapper/FxfxdxMapper.xml b/src/main/resources/mapper/FxfxdxMapper.xml index b25e687..d51ca45 100644 --- a/src/main/resources/mapper/FxfxdxMapper.xml +++ b/src/main/resources/mapper/FxfxdxMapper.xml @@ -591,4 +591,118 @@ AND (DATEDIFF(dd, a.CREASTAMP, GETDATE() - 1) = 0); + + + + \ No newline at end of file