Browse Source

1.临时用电作业

2.动土作业
master
liwenxuan 8 months ago
parent
commit
c06e63113b
  1. 179
      src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DtzyJobHandler.java
  2. 179
      src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/LsydzyJobHandler.java
  3. 4
      src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java
  4. 4
      src/main/java/com/hxjt/dataupload/service/FxfxdxService.java
  5. 10
      src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java
  6. 52
      src/main/java/com/hxjt/dataupload/utils/tszy/DtzyUtil.java
  7. 55
      src/main/java/com/hxjt/dataupload/utils/tszy/LsydzyUtil.java
  8. 197
      src/main/resources/mapper/FxfxdxMapper.xml

179
src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/DtzyJobHandler.java

@ -0,0 +1,179 @@
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.Dtzy;
import com.hxjt.dataupload.model.entity.tszy.upload.Lsydzy;
import com.hxjt.dataupload.service.FxfxdxService;
import com.hxjt.dataupload.utils.HttpUtils;
import com.hxjt.dataupload.utils.JingWeiDuConverter;
import com.hxjt.dataupload.utils.tszy.DtzyUtil;
import com.hxjt.dataupload.utils.tszy.LsydzyUtil;
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 DtzyJobHandler {
private Logger log = LoggerFactory.getLogger(DtzyJobHandler.class);
@Autowired
FxfxdxService fxfxdxService;
@XxlJob(value = "DtzyJobHandler", 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<Dtzy> onePage = new ArrayList<>();
// 1. 启动分页(必须紧邻查询语句)
PageHelper.startPage(pageNum, pageSize);
// 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑)
if (jobParam.equals("全量")) {
onePage = fxfxdxService.getOneDtzysPage("N");
} else {
onePage = fxfxdxService.getOneDtzysPage("Y");
}
// 3. 封装分页结果
PageInfo<Dtzy> 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 shenqingdanwei = pageInfo.getList().get(x).getShenqingdanwei();
String url = "https://www.ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/dongtuanquanzuoyebao/v1/dongtuanquanzuoyebao";
if(shenqingdanwei.equals("山东恒信高科能源有限公司")){
//恒信高科
//查询安全措施
ArrayList<Aqcs> 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) {
XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条");
} else {
XxlJobHelper.log("执行日志:本次无新数据需上传");
}
}
private void init() {
log.info("init 方法调用成功");
}
private void destroy() {
log.info("destroy 方法调用成功");
}
}

179
src/main/java/com/hxjt/dataupload/jobhandler/specialassignments/LsydzyJobHandler.java

@ -0,0 +1,179 @@
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.Lsydzy;
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.LsydzyUtil;
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 LsydzyJobHandler {
private Logger log = LoggerFactory.getLogger(LsydzyJobHandler.class);
@Autowired
FxfxdxService fxfxdxService;
@XxlJob(value = "LsydzyJobHandler", 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<Lsydzy> onePage = new ArrayList<>();
// 1. 启动分页(必须紧邻查询语句)
PageHelper.startPage(pageNum, pageSize);
// 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑)
if (jobParam.equals("全量")) {
onePage = fxfxdxService.getOneLsydzysPage("N");
} else {
onePage = fxfxdxService.getOneLsydzysPage("Y");
}
// 3. 封装分页结果
PageInfo<Lsydzy> 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 shenqingdanwei = pageInfo.getList().get(x).getShenqingdanwei();
String url = "https://www.ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/linshiyongdiananquan/v1/linshiyongdiananquan";
if(shenqingdanwei.equals("山东恒信高科能源有限公司")){
//恒信高科
//查询安全措施
ArrayList<Aqcs> 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) {
XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条");
} else {
XxlJobHelper.log("执行日志:本次无新数据需上传");
}
}
private void init() {
log.info("init 方法调用成功");
}
private void destroy() {
log.info("destroy 方法调用成功");
}
}

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

@ -40,4 +40,8 @@ public interface FxfxdxMapper {
List<Gczy> getOneGczysPage(@Param("isSingleDay")String isSingleDay);
List<Dzaqzy> getOneDzaqzysPage(@Param("isSingleDay")String isSingleDay);
List<Lsydzy> getOneLsydzysPage(@Param("isSingleDay")String isSingleDay);
List<Dtzy> getOneDtzysPage(@Param("isSingleDay")String isSingleDay);
}

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

@ -42,4 +42,8 @@ public interface FxfxdxService {
List<Gczy> getOneGczysPage(String isSingleDay);
//吊装安全作业
List<Dzaqzy> getOneDzaqzysPage(String isSingleDay);
//临时用电作业
List<Lsydzy> getOneLsydzysPage(String isSingleDay);
//动土作业
List<Dtzy> getOneDtzysPage(String isSingleDay);
}

10
src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java

@ -89,4 +89,14 @@ public class FxfxdxServiceImpl implements FxfxdxService {
public List<Dzaqzy> getOneDzaqzysPage(String isSingleDay) {
return fxfxdxMapper.getOneDzaqzysPage(isSingleDay);
}
@Override
public List<Lsydzy> getOneLsydzysPage(String isSingleDay) {
return fxfxdxMapper.getOneLsydzysPage(isSingleDay);
}
@Override
public List<Dtzy> getOneDtzysPage(String isSingleDay) {
return fxfxdxMapper.getOneDtzysPage(isSingleDay);
}
}

52
src/main/java/com/hxjt/dataupload/utils/tszy/DtzyUtil.java

@ -0,0 +1,52 @@
package com.hxjt.dataupload.utils.tszy;
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs;
import com.hxjt.dataupload.model.entity.tszy.upload.Dtzy;
import com.hxjt.dataupload.model.entity.tszy.upload.Lsydzy;
import org.apache.commons.lang3.StringUtils;
public class DtzyUtil {
public static void handle(Dtzy dtzy, Aqcs aqcs) {
if(StringUtils.isBlank(aqcs.getQuerenren())||StringUtils.isBlank(aqcs.getShifousheji())){
}else{
if(aqcs.getAncuoneirong().startsWith("地下通讯电(光)缆")){
dtzy.setShifousheji1(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren1(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("地下供排水")){
dtzy.setShifousheji2(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren2(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("已按作业方案图")){
dtzy.setShifousheji3(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren3(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("作业现场围栏")){
dtzy.setShifousheji4(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren4(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("已进行放坡处理")){
dtzy.setShifousheji5(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren5(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("道路施工作业已报")){
dtzy.setShifousheji6(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren6(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("现场夜间有充足")){
dtzy.setShifousheji7(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren7(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("作业人员已配备必要")){
dtzy.setShifousheji8(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren8(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("易燃易爆、有毒气体存在的")){
dtzy.setShifousheji9(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren9(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("其他相关特殊作业已")){
dtzy.setShifousheji10(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren10(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("其他安全措施")){
dtzy.setQitaanquancuoshi(DhAqcsUtil.processSecurityMeasures(aqcs.getAncuoneirong()));
dtzy.setBianzhiren(aqcs.getQuerenren());
dtzy.setShifousheji11(aqcs.getShifousheji().equals("Y")?"是":"否");
dtzy.setQuerenren11(aqcs.getQuerenren());
}
}
}
}

55
src/main/java/com/hxjt/dataupload/utils/tszy/LsydzyUtil.java

@ -0,0 +1,55 @@
package com.hxjt.dataupload.utils.tszy;
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs;
import com.hxjt.dataupload.model.entity.tszy.upload.Gczy;
import com.hxjt.dataupload.model.entity.tszy.upload.Lsydzy;
public class LsydzyUtil {
public static void handle(Lsydzy lsydzy, Aqcs aqcs) {
if(aqcs.getAncuoneirong().startsWith("作业人员持有电")){
lsydzy.setAnquancuoshi1(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren1(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("在防爆场所使用的")){
lsydzy.setAnquancuoshi2(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren2(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("上级开关已断电")){
lsydzy.setAnquancuoshi3(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren3(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("临时用电的单相和混用线路要求")){
lsydzy.setAnquancuoshi4(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren4(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("临时用电线路如架高敷设")){
lsydzy.setAnquancuoshi5(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren5(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("临时用电线路如沿墙面或地面敷设")){
lsydzy.setAnquancuoshi6(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren6(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("临时用电线路架空进线不应")){
lsydzy.setAnquancuoshi7(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren7(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("暗管埋设及地下电缆线路敷")){
lsydzy.setAnquancuoshi8(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren8(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("现场临时用配电盘")){
lsydzy.setAnquancuoshi9(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren9(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("临时用电设施已装配漏电保护器")){
lsydzy.setAnquancuoshi10(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren10(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("用电设备")){
lsydzy.setAnquancuoshi11(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren11(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("其他相关特殊作业已办理相应")){
lsydzy.setAnquancuoshi12(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren12(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("作业场所已进行气体检")){
lsydzy.setAnquancuoshi13(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren13(aqcs.getQuerenren());
}else if(aqcs.getAncuoneirong().startsWith("其他补充安全措施")){
lsydzy.setBianzhiren(aqcs.getQuerenren());
lsydzy.setAnquancuoshi14(aqcs.getShifousheji().equals("Y")?"是":"否");
lsydzy.setQuerenren14(aqcs.getQuerenren());
}
}
}

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

@ -1135,4 +1135,201 @@
order by
a.APPLYTIME desc
</select>
<select id="getOneLsydzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Lsydzy">
SELECT
a.ID as bianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS shenqingdanwei,
--qiyebianma
--(CASE WHEN C.FNAME like '%中碳%' THEN '370980326' ELSE '370910170' END) AS qiyebianma,
FORMAT(A.PBDATE,
'yyyy-MM-dd HH:mm:ss')as zuoyeshishikaishishi,
FORMAT(A.PEDATE,
'yyyy-MM-dd HH:mm:ss')as zuoyeshishijieshushi,
A.OTLOCARION AS zuoyedidian,
A.OTCONTENT AS zuoyeneirong,
--经纬度需改进
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,
--作业人
f.EMPNAME AS zuoyeren,
--作业单位
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 '13053831511'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--申请时间
FORMAT(a.APPLYTIME,
'yyyy-MM-dd HH:mm:ss') AS zuoyeshenqingshijian,
--接受交底人
d.personname9 AS jieshoujiaodiren,
--交底人
d.firepersonname2 AS anquanjiaodiren,
--用电设备名称及额定功率
a.name02 AS yongdianshebeimingch,
--工作电压
a.NAME03 AS gongzuodianya,
--电源接入点及许可用电功率
a.NAME01 AS dianyuanjierudianjix,
-- 风险辨识结果需改进
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,
'是' as shifouweiqiyetuisong,
-- 关联其他作业票需改进
A.NAME08 AS guanlianqitateshuzuo,
d.OPINION1 as yijian1,
d.OPINION2 as yijian2,
d.OPINION3 as yijian3,
d.OPINION6 as yijian4
FROM
OTM_OPERATICK A
LEFT JOIN ISM_AREA B ON
A.otlocarionid = B.id
LEFT JOIN OTM_OTKIND C ON
A.OTKIND = C.ID
LEFT JOIN OTM_OTMSUB D ON
A.ID = D.PID
LEFT JOIN PF_EMPLOYEE F ON
A.FIREWRITE = F.ID
LEFT JOIN PF_ORGAN G ON
a.otunit = G.ORGANCODE
where
a.isdelete = 'N'
and d.showflag = '1'
<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>
and c.id in('f0ffe0a4620d4f53a143e647fc467b88', '797dcd5af1c04d76b8bc0071321aae6b')
--AND OTBILLID='DH20250213197'
order by
a.APPLYTIME desc
</select>
<select id="getOneDtzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Dtzy">
SELECT
a.ID as bianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS shenqingdanwei,
FORMAT(A.PBDATE, 'yyyy-MM-dd HH:mm:ss')as zuoyeshishikaishishi,
FORMAT(A.PEDATE, 'yyyy-MM-dd HH:mm:ss')as zuoyeshishijieshushi,
A.OTLOCARION AS zuoyedidian,
A.OTCONTENT AS zuoyeneirong,
--经纬度
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.FIREWRITENAME AS zuoyeren,
--作业单位
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 '13053831511'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--申请时间
FORMAT(a.APPLYTIME, 'yyyy-MM-dd HH:mm:ss') AS zuoyeshenqingshijian,
--接受交底人
d.firepersonname3 AS jieshoujiaodiren,
--交底人
d.firepersonname2 AS anquanjiaodiren,
-- 风险辨识结果需改进
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.NAME08 AS guanlianqitateshuzuo,
'是' as shifouweiqiyetuisong
--添加安措
FROM
OTM_OPERATICK A
LEFT JOIN ISM_AREA B ON
A.otlocarionid = B.id
LEFT JOIN OTM_OTKIND C ON
A.OTKIND = C.ID
LEFT JOIN OTM_OTMSUB D ON
A.ID = D.PID
LEFT JOIN PF_EMPLOYEE F ON
A.FIREWRITE = F.ID
LEFT JOIN PF_ORGAN G ON
a.otunit = G.ORGANCODE
where
a.isdelete = 'N'
and d.showflag = '1'
<choose>
<when test='isSingleDay == "Y"'>
AND (DATEDIFF(dd, a.APPLYTIME, GETDATE() - 1) = 0)
</when>
<otherwise>
and a.APPLYTIME >= '2023-01-01 00:00:00.000'
</otherwise>
</choose>
and c.id in('0579b3bc102e46feac2d8bdb617750df', '02954995e8e14704ac86276dee785983')
--AND OTBILLID='DH20250213197'
order by
a.APPLYTIME desc
</select>
</mapper>
Loading…
Cancel
Save