Browse Source

动火作业票

master
liwenxuan 8 months ago
parent
commit
131ed62dae
  1. 177
      src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DhzyJobHandler.java
  2. 6
      src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java
  3. 35
      src/main/java/com/hxjt/dataupload/model/entity/tszy/aqcs/DhAqcs.java
  4. 702
      src/main/java/com/hxjt/dataupload/model/entity/tszy/upload/Dhzy.java
  5. 9
      src/main/java/com/hxjt/dataupload/service/FxfxdxService.java
  6. 12
      src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java
  7. 157
      src/main/java/com/hxjt/dataupload/utils/DhAqcsUtil.java
  8. 39
      src/main/java/com/hxjt/dataupload/utils/JingWeiDuConverter.java
  9. 114
      src/main/resources/mapper/FxfxdxMapper.xml

177
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<Dhzy> onePage = new ArrayList<>();
// 1. 启动分页(必须紧邻查询语句)
PageHelper.startPage(pageNum, pageSize);
// 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑)
if (jobParam.equals("全量")) {
onePage = fxfxdxService.getOneDhzysPage("N");
} else {
onePage = fxfxdxService.getOneDhzysPage("Y");
}
// 3. 封装分页结果
PageInfo<Dhzy> 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<DhAqcs> 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 方法调用成功");
}
}

6
src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java

@ -1,6 +1,8 @@
package com.hxjt.dataupload.mapper; package com.hxjt.dataupload.mapper;
import com.hxjt.dataupload.model.entity.doubleprevent.*; 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.CacheNamespace;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -27,4 +29,8 @@ public interface FxfxdxMapper {
List<Yhzlda> getOneYhzldasPage(@Param("isSingleDay")String isSingleDay); List<Yhzlda> getOneYhzldasPage(@Param("isSingleDay")String isSingleDay);
List<Zztyjwxjl> getOneZztyjwxjlsPage(@Param("isSingleDay")String isSingleDay); List<Zztyjwxjl> getOneZztyjwxjlsPage(@Param("isSingleDay")String isSingleDay);
List<Dhzy> getOneDhzysPage(@Param("isSingleDay")String isSingleDay);
ArrayList<DhAqcs> queryDhAqcsByBianhao(@Param("bianhao")String bianhao);
} }

35
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;
}
}

702
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 + '\'' +
'}';
}
}

9
src/main/java/com/hxjt/dataupload/service/FxfxdxService.java

@ -1,6 +1,8 @@
package com.hxjt.dataupload.service; package com.hxjt.dataupload.service;
import com.hxjt.dataupload.model.entity.doubleprevent.*; 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; import java.util.ArrayList;
@ -25,4 +27,11 @@ public interface FxfxdxService {
List<Yhzlda> getOneYhzldasPage(String isSingleDay); List<Yhzlda> getOneYhzldasPage(String isSingleDay);
//装置停用检维修记录 //装置停用检维修记录
List<Zztyjwxjl> getOneZztyjwxjlsPage(String isSingleDay); List<Zztyjwxjl> getOneZztyjwxjlsPage(String isSingleDay);
//动火作业
List<Dhzy> getOneDhzysPage(String isSingleDay);
//动火安全措施
ArrayList<DhAqcs> queryDhAqcsByBianhao(String bianhao);
} }

12
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.mapper.FxfxdxMapper;
import com.hxjt.dataupload.model.entity.doubleprevent.*; 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 com.hxjt.dataupload.service.FxfxdxService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -58,4 +60,14 @@ public class FxfxdxServiceImpl implements FxfxdxService {
public List<Zztyjwxjl> getOneZztyjwxjlsPage(String isSingleDay) { public List<Zztyjwxjl> getOneZztyjwxjlsPage(String isSingleDay) {
return fxfxdxMapper.getOneZztyjwxjlsPage(isSingleDay); return fxfxdxMapper.getOneZztyjwxjlsPage(isSingleDay);
} }
@Override
public List<Dhzy> getOneDhzysPage(String isSingleDay) {
return fxfxdxMapper.getOneDhzysPage(isSingleDay);
}
@Override
public ArrayList<DhAqcs> queryDhAqcsByBianhao(String bianhao) {
return fxfxdxMapper.queryDhAqcsByBianhao(bianhao);
}
} }

157
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<String> 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;
}
}

39
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]));
}
}
}
}

114
src/main/resources/mapper/FxfxdxMapper.xml

@ -591,4 +591,118 @@
AND (DATEDIFF(dd, a.CREASTAMP, GETDATE() - 1) = 0); AND (DATEDIFF(dd, a.CREASTAMP, GETDATE() - 1) = 0);
</if> </if>
</select> </select>
<select id="getOneDhzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Dhzy">
SELECT
a.ID as bianhao,
--a.OTUNITNAME AS zuoyeshenqingdanwei,
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS zuoyeshenqingdanwei,
--'370910170' AS qiyebianma,
(CASE
WHEN C.FNAME like '%中碳%' THEN '370980326'
ELSE '370910170'
END) AS qiyebianma,
(CASE
WHEN A.FIREGRADE = '1' THEN '特级'
WHEN A.FIREGRADE = '2' THEN '一级'
ELSE '二级'
END) AS donghuozuoyejibie,
FORMAT(A.PBDATE,
'yyyy-MM-dd HH:mm:ss') as donghuozuoyeshishika,
FORMAT(A.PEDATE,
'yyyy-MM-dd HH:mm:ss') as donghuozuoyeshishiji,
A.OTLOCARION as donghuodidianjidongh,
A.OTCONTENT as zuoyeneirong,
-- 需按文档改进
--b.XVAL,b.YVAL,--jingweidu,
STUFF( COALESCE(',' + NULLIF(REPLACE( CAST(B.XVAL AS VARCHAR(255)), ';', ','),
''),
'') +
COALESCE(',' + NULLIF(CAST(B.YVAL AS VARCHAR(255)),
''),
''),
1,
1,
'' ) AS jingweidu,
'已验收' as zuoyezhuangtai,
A.GUARDNAME AS jianhuren,
A.ELECPRONAME AS shigongrenyuanxingmi,
A.SDUNITNAME AS zuoyedanwei,
-- 通过机构路径改进
(case
when A.UNITID is null then '是'
else '否'
end) as shifouchengbaoshangz,
D.FIREPERSONNAME1 AS zuoyefuzeren,
(CASE
WHEN (F.MOBILE IS NULL
OR F.MOBILE = '') THEN '13053831533'
ELSE F.MOBILE
END) AS fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--(SELECT STUFF((SELECT ';' + FILEPATH FROM PF_FILES AS U2 WHERE U2.FID = U1.FID FOR XML PATH('')), 1, 1, '') AS AllUserNames FROM PF_FILES U1 WHERE FID = a.id GROUP BY FID) AS zuoyepiao,
--申请时间
FORMAT(a.APPLYTIME,
'yyyy-MM-dd HH:mm:ss') AS zuoyeshenqingshijian,
a.FIREWORKTYPE AS donghuofangshi,
CONCAT(elecproname, facheadername, promanager, facheaconmea, prosafe, takeememea) AS donghuoren,
A.elecname AS zhengshubianhao,
-- 风险辨识结果需改进
--a.haziden AS fengxianbianshijiegu,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE
(a.haziden, 'BS01', '物体打击'), 'BS02', '机械伤害'), 'BS03', '起重伤害'), 'BS04', '触电'), 'BS05', '灼烫'), 'BS06', '火灾'),
'BS07', '坍塌'), 'BS08', '高处坠落'), 'BS09', '中毒和窒息'), 'BS10', '锅炉爆炸'), 'BS11', '容器爆炸'), 'BS12', '淹溺'), 'BS13', '其它爆炸'), 'BS14', '其它伤害') AS fengxianbianshijiegu,
--a.otherhaziden as guanliandeqitateshuz,
-- 关联其他作业票需改进
--a.othercontent AS guanliandeqitateshuz,
A.NAME08 AS guanliandeqitateshuz,
d.personname9 AS jieshoujiaodiren,
d.firepersonname2 AS anquanjiaodiren
FROM
OTM_OPERATICK A
LEFT JOIN ISM_AREA B ON
A. otlocarionid = B.id
LEFT JOIN OTM_OTKIND C ON
A.OTKIND = C.ID
--OTM_OPEAPPOINT
LEFT JOIN OTM_OTMSUB D ON
A.ID = D.PID
LEFT JOIN PF_EMPLOYEE F ON
D.FIREPERSONID1 = F.ID
LEFT JOIN PF_ORGAN G ON
a.otunit = G.ORGANCODE
where
a.isdelete = 'N'
and d.showflag = '1'
and c.id in('e3dbc4258dae4f21961dbb0e83701929','626e96e90760406a98c20f2f1f9d014f')
<choose>
<when test='isSingleDay == "Y"'>
AND (DATEDIFF(dd, a.APPLYTIME, GETDATE() - 1) = 0)
</when>
<otherwise>
and a.APPLYTIME >= '2025-01-01 00:00:00.000'
</otherwise>
</choose>
order by
zuoyeshenqingshijian desc
</select>
<select id="queryDhAqcsByBianhao" resultType="com.hxjt.dataupload.model.entity.tszy.aqcs.DhAqcs">
SELECT
MEAIMP as querenren,SAFCONTENT as ancuoneirong,SAFMEASIMPLE as shifousheji
from
OTM_OTSAFMEAS
WHERE
FOTID = 'a5d0e6e4e5a14768b02b111da3eaf072'
order by SAFCONTENT
</select>
</mapper> </mapper>
Loading…
Cancel
Save