9 changed files with 1147 additions and 25 deletions
@ -0,0 +1,184 @@ |
|||||
|
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.tszy.aqcs.Aqcs; |
||||
|
import com.hxjt.dataupload.model.entity.tszy.upload.Dzaqzy; |
||||
|
import com.hxjt.dataupload.model.entity.tszy.upload.Gczy; |
||||
|
import com.hxjt.dataupload.service.FxfxdxService; |
||||
|
import com.hxjt.dataupload.utils.HttpUtils; |
||||
|
import com.hxjt.dataupload.utils.JingWeiDuConverter; |
||||
|
import com.hxjt.dataupload.utils.tszy.DzaqzyUtil; |
||||
|
import com.hxjt.dataupload.utils.tszy.GczyUtil; |
||||
|
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; |
||||
|
import java.util.concurrent.TimeUnit; |
||||
|
|
||||
|
@Component |
||||
|
public class DzaqzyJobHandler { |
||||
|
|
||||
|
|
||||
|
|
||||
|
private Logger log = LoggerFactory.getLogger(DzaqzyJobHandler.class); |
||||
|
|
||||
|
@Autowired |
||||
|
FxfxdxService fxfxdxService; |
||||
|
|
||||
|
@XxlJob(value = "DzaqzyJobHandler", 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<Dzaqzy> onePage = new ArrayList<>(); |
||||
|
// 1. 启动分页(必须紧邻查询语句)
|
||||
|
PageHelper.startPage(pageNum, pageSize); |
||||
|
// 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑)
|
||||
|
if (jobParam.equals("全量")) { |
||||
|
onePage = fxfxdxService.getOneDzaqzysPage("N"); |
||||
|
} else { |
||||
|
onePage = fxfxdxService.getOneDzaqzysPage("Y"); |
||||
|
} |
||||
|
|
||||
|
// 3. 封装分页结果
|
||||
|
PageInfo<Dzaqzy> 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/diaozhuanganquanzuoy/v1/diaozhuanganquanzuoy"; |
||||
|
switch (qiyebianma) { |
||||
|
case "370910170": |
||||
|
//恒信高科
|
||||
|
//查询安全措施
|
||||
|
ArrayList<Aqcs> 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) { |
||||
|
XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条"); |
||||
|
} else { |
||||
|
XxlJobHelper.log("执行日志:本次无新数据需上传"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
private void init() { |
||||
|
log.info("init 方法调用成功"); |
||||
|
} |
||||
|
|
||||
|
private void destroy() { |
||||
|
log.info("destroy 方法调用成功"); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,73 @@ |
|||||
|
package com.hxjt.dataupload.utils.tszy; |
||||
|
|
||||
|
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs; |
||||
|
import com.hxjt.dataupload.model.entity.tszy.upload.Dzaqzy; |
||||
|
import com.hxjt.dataupload.model.entity.tszy.upload.Gczy; |
||||
|
|
||||
|
public class DzaqzyUtil { |
||||
|
public static void handle(Dzaqzy dzaqzy, Aqcs aqcs) { |
||||
|
|
||||
|
if(aqcs.getAncuoneirong().startsWith("一、二级吊装作业已编制")){ |
||||
|
dzaqzy.setShifousheji1(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren1(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("吊装场所如有含危险物")){ |
||||
|
dzaqzy.setShifousheji2(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren2(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业人员已按规定佩戴")){ |
||||
|
dzaqzy.setShifousheji3(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren3(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("已对起重吊装设备")){ |
||||
|
dzaqzy.setShifousheji4(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren4(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("已明确各自分工")){ |
||||
|
dzaqzy.setShifousheji5(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren5(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("将建筑物")){ |
||||
|
dzaqzy.setShifousheji6(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren6(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("吊装绳索")){ |
||||
|
dzaqzy.setShifousheji7(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren7(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("吊物捆扎坚固")){ |
||||
|
dzaqzy.setShifousheji8(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren8(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("吊物捆扎坚固")){ |
||||
|
dzaqzy.setShifousheji9(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren9(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("起重机安全")){ |
||||
|
dzaqzy.setShifousheji10(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren10(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("吊装作业人员持有有效的法定")){ |
||||
|
dzaqzy.setShifousheji11(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren11(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("地下通信电")){ |
||||
|
dzaqzy.setShifousheji12(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren12(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("起吊物的质量")){ |
||||
|
dzaqzy.setShifousheji13(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren13(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("在吊装高度的管线")){ |
||||
|
dzaqzy.setShifousheji14(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren14(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业现场围栏")){ |
||||
|
dzaqzy.setShifousheji15(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren15(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业高度和转臂范围")){ |
||||
|
dzaqzy.setShifousheji16(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren16(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("在爆炸危险场所内的作业")){ |
||||
|
dzaqzy.setShifousheji17(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren17(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("露天作业")){ |
||||
|
dzaqzy.setShifousheji18(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren18(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("其他相关特殊作业")){ |
||||
|
dzaqzy.setShifousheji19(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
dzaqzy.setQuerenren19(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("其他安全措施")){ |
||||
|
dzaqzy.setQitaanquancuoshi(DhAqcsUtil.processSecurityMeasures(aqcs.getAncuoneirong())); |
||||
|
dzaqzy.setBianzhiren(aqcs.getQuerenren()); |
||||
|
dzaqzy.setQuerenren20(aqcs.getQuerenren()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,57 @@ |
|||||
|
package com.hxjt.dataupload.utils.tszy; |
||||
|
|
||||
|
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs; |
||||
|
import com.hxjt.dataupload.model.entity.tszy.upload.Gczy; |
||||
|
|
||||
|
public class GczyUtil { |
||||
|
public static void handle(Gczy gczy, Aqcs aqcs) { |
||||
|
|
||||
|
if(aqcs.getAncuoneirong().startsWith("作业人员身体条件")){ |
||||
|
gczy.setShentitiaojianfuheya(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren1(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业人员着装符合")){ |
||||
|
gczy.setZhuozhuangfuhezuoyey(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren2(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业人员佩戴符合标准要")){ |
||||
|
gczy.setPeidaianquanmaoanqua(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren3(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业人员携带有工具袋")){ |
||||
|
gczy.setXiedaigongjudaijianq(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren4(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("现场搭设的脚手架")){ |
||||
|
gczy.setJiaoshoujiafuheanqua(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren5(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("垂直分层作业中间")){ |
||||
|
gczy.setYougelisheshi(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren6(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("梯子、绳子符合")){ |
||||
|
gczy.setShengzifuheanquangui(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren7(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("轻型棚的承重梁")){ |
||||
|
gczy.setZuidafuhedeyaoqiu(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren8(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业人员在不承重物处作业")){ |
||||
|
gczy.setChengzhongbanwending(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren9(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("采光、夜间作业照明")){ |
||||
|
gczy.setZhaomingfuhezuoyeyao(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren10(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("30")){ |
||||
|
gczy.setPeibeitongxinlianluo(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren11(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("作业现场四周已设")){ |
||||
|
gczy.setSizhouyishejingjiequ(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren12(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("露天作业")){ |
||||
|
gczy.setFenglimanzuzuoyeanqu(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren13(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("其他相关特殊作业已办")){ |
||||
|
gczy.setXiangyinganquanzuoye(aqcs.getShifousheji().equals("Y")?"是":"否"); |
||||
|
gczy.setQuerenren14(aqcs.getQuerenren()); |
||||
|
}else if(aqcs.getAncuoneirong().startsWith("其他相关特殊作业已办")){ |
||||
|
gczy.setQitaanquancuoshi(DhAqcsUtil.processSecurityMeasures(aqcs.getAncuoneirong())); |
||||
|
gczy.setBianzhiren(aqcs.getQuerenren()); |
||||
|
gczy.setQuerenren15(aqcs.getQuerenren()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue