Browse Source

作业票附件上传-动火

master
liwenxuan 7 months ago
parent
commit
cc49eba63b
  1. 5
      pom.xml
  2. 209
      src/main/java/com/hxjt/dataupload/controller/UploadController.java
  3. 3
      src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java
  4. 28
      src/main/java/com/hxjt/dataupload/mapper/ZypSingleQueryMapper.java
  5. 4
      src/main/java/com/hxjt/dataupload/mqtt/MqttCallback.java
  6. 3
      src/main/java/com/hxjt/dataupload/service/FxfxdxService.java
  7. 3
      src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java
  8. 73
      src/main/java/com/hxjt/dataupload/utils/FileUploadUtil.java
  9. 3
      src/main/resources/application-dev.yml
  10. 15
      src/main/resources/mapper/FxfxdxMapper.xml
  11. 839
      src/main/resources/mapper/ZypSingleQueryMapper.xml

5
pom.xml

@ -195,6 +195,11 @@
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.6</version> <version>1.4.6</version>
</dependency> </dependency>
<dependency>
<groupId>com.konghq</groupId>
<artifactId>unirest-java</artifactId>
<version>3.13.6</version>
</dependency>
</dependencies> </dependencies>

209
src/main/java/com/hxjt/dataupload/controller/UploadController.java

@ -1,9 +1,23 @@
package com.hxjt.dataupload.controller; package com.hxjt.dataupload.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hxjt.dataupload.mapper.ZypSingleQueryMapper;
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs;
import com.hxjt.dataupload.model.entity.tszy.upload.Dhzy;
import com.hxjt.dataupload.service.FxfxdxService; import com.hxjt.dataupload.service.FxfxdxService;
import com.hxjt.dataupload.task.AsyncTask; import com.hxjt.dataupload.task.AsyncTask;
import com.hxjt.dataupload.utils.FileUploadUtil;
import com.hxjt.dataupload.utils.HttpUtils;
import com.hxjt.dataupload.utils.JingWeiDuConverter;
import com.hxjt.dataupload.utils.JsonData; import com.hxjt.dataupload.utils.JsonData;
import com.hxjt.dataupload.utils.tszy.DhAqcsUtil;
//import com.xxl.job.core.context.XxlJobHelper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.protocol.HTTP;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -17,11 +31,12 @@ import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.util.HashMap; import java.time.LocalDateTime;
import java.util.Map; import java.time.format.DateTimeFormatter;
import java.util.UUID; import java.util.*;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
/** /**
* liwenxuan * liwenxuan
@ -37,6 +52,11 @@ private AsyncTask asyncTask;
@Autowired @Autowired
private FxfxdxService fxfxdxService; private FxfxdxService fxfxdxService;
@Autowired
private ZypSingleQueryMapper zypSingleQueryMapper;
@RequestMapping("list") @RequestMapping("list")
public Object list(){ public Object list(){
@ -85,7 +105,7 @@ private FxfxdxService fxfxdxService;
public JsonData getCustomerFormList(@RequestBody Map<String,String> requestBody) { public JsonData getCustomerFormList(@RequestBody Map<String,String> requestBody) {
//System.out.println(requestBody.get("id")); //System.out.println(requestBody.get("id"));
if(!StringUtils.isBlank(requestBody.get("id"))){ if(!StringUtils.isBlank(requestBody.get("id"))){
String result = fxfxdxService.getOTBILLIDById(requestBody.get("id")); Map<String,String> result = fxfxdxService.getOTBILLIDById(requestBody.get("id"));
return JsonData.buildSuccess(result); return JsonData.buildSuccess(result);
}else{ }else{
return JsonData.buildError("请先输入id"); return JsonData.buildError("请先输入id");
@ -96,7 +116,8 @@ private FxfxdxService fxfxdxService;
public ResponseEntity<String> uploadPdf( public ResponseEntity<String> uploadPdf(
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam("id") String id, @RequestParam("id") String id,
@RequestParam("ticketNumber") String ticketNumber) { @RequestParam("ticketNumber") String ticketNumber,
@RequestParam("zypTypeId") String zypTypeId) {
//上线 //上线
String uploadDir = "F://dataUpload/zypPdfs/"; String uploadDir = "F://dataUpload/zypPdfs/";
// 1. 验证文件类型和大小 // 1. 验证文件类型和大小
@ -109,9 +130,9 @@ private FxfxdxService fxfxdxService;
if (file.getSize() > 10 * 1024 * 1024) { // 限制10MB if (file.getSize() > 10 * 1024 * 1024) { // 限制10MB
return ResponseEntity.badRequest().body("文件大小超过限制"); return ResponseEntity.badRequest().body("文件大小超过限制");
} }
/*System.out.println(id); System.out.println(id);
System.out.println(ticketNumber); System.out.println(ticketNumber);
*/ System.out.println(zypTypeId);
try { try {
// 确保目录存在 // 确保目录存在
File targetDir = new File(uploadDir); File targetDir = new File(uploadDir);
@ -127,10 +148,182 @@ private FxfxdxService fxfxdxService;
// 保存文件到磁盘 // 保存文件到磁盘
file.transferTo(targetFile); file.transferTo(targetFile);
return ResponseEntity.ok("上传成功");
if(zypTypeId.equals("e3dbc4258dae4f21961dbb0e83701929")||zypTypeId.equals("626e96e90760406a98c20f2f1f9d014f")){
boolean flag = dh(id, ticketNumber, zypTypeId,targetFile);
if(flag){
return ResponseEntity.ok("上传成功");
}else{
return ResponseEntity.internalServerError().body("失败");
}
}else{
return ResponseEntity.internalServerError().body("失败");
}
//return ResponseEntity.ok("上传成功");
} catch (IOException e) { } catch (IOException e) {
return ResponseEntity.internalServerError().body("文件存储失败:" + e.getMessage()); return ResponseEntity.internalServerError().body("文件存储失败:" + e.getMessage());
} }
} }
public boolean dh(String id,String ticketNumber,String zypTypeId,File file) {
//附件上传
FileUploadUtil fileUploadUtil = new FileUploadUtil();
Map<String, Object> uploadResult = fileUploadUtil.upload(file);
Object body1 = uploadResult.get("body");
String body1json = JSON.toJSONString(body1);
com.alibaba.fastjson2.JSONObject body1JsonObject = JSON.parseObject(body1json);
String body2Str = (String)body1JsonObject.get("body");
System.out.println(body2Str);
com.alibaba.fastjson2.JSONObject body2JsonObject = JSON.parseObject(body2Str);
JSONArray dataJsonArr = (JSONArray) body2JsonObject.get("data");
String dataStr = JSON.toJSONString(dataJsonArr);
System.out.println(dataStr);
String zuoyepiao = dataStr;
String jobParam = "全量";
//附件上传
int pageSize = 1000;
int success = 0;
int fail = 0;
long total = 0;
int pageNum = 1;
do {
List<Dhzy> onePage = new ArrayList<>();
// 1. 启动分页(必须紧邻查询语句)
PageHelper.startPage(pageNum, pageSize);
// 2. 执行查询(此时SQL已被自动拦截并添加分页逻辑)
if (jobParam.equals("全量")) {
onePage = zypSingleQueryMapper.getOneDhzysPage("N",id);
} else {
onePage = zypSingleQueryMapper.getOneDhzysPage("Y",id);
}
// 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()));
//附件上传
pageInfo.getList().get(x).setZuoyepiao(zuoyepiao);
//附件上传
}
//对本页数据进行上传
for (int x = 0; x < pageInfo.getList().size(); x++) {
String qiyebianma = pageInfo.getList().get(x).getQiyebianma();
String url = "https://ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/donghuozuoyebaobei/v1/donghuozuoyebaobei";
switch (qiyebianma) {
case "370910170":
//恒信高科
//查询安全措施
ArrayList<Aqcs> dhAqcsList = fxfxdxService.queryDhAqcsByBianhao(pageInfo.getList().get(x).getBianhao());
//根据安全措施列表便利处理给当前上传对象赋值相关字段
for (Aqcs 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);
try {
TimeUnit.MINUTES.sleep(2); // 直接指定分钟
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
}
}
break;
case "370980326":
//中碳氢能源
System.out.println(1);
}
}
pageNum++;
} while (total > (pageNum - 1) * pageSize);
//附件上传
if (total > 0) {
return true;
//XxlJobHelper.log("执行日志:本次有" + total + "条需要上传,成功上传" + success + "条,失败" + fail + "条");
} else {
return false;
//XxlJobHelper.log("执行日志:本次无新数据需上传");
}
}
} }

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

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
@Mapper @Mapper
public interface FxfxdxMapper { public interface FxfxdxMapper {
@ -47,5 +48,5 @@ public interface FxfxdxMapper {
List<Dlzy> getOneDlzysPage(@Param("isSingleDay")String isSingleDay); List<Dlzy> getOneDlzysPage(@Param("isSingleDay")String isSingleDay);
String getOTBILLIDById(@Param("id")String id); Map<String,String> getOTBILLIDById(@Param("id")String id);
} }

28
src/main/java/com/hxjt/dataupload/mapper/ZypSingleQueryMapper.java

@ -0,0 +1,28 @@
package com.hxjt.dataupload.mapper;
import com.hxjt.dataupload.model.entity.tszy.aqcs.Aqcs;
import com.hxjt.dataupload.model.entity.tszy.upload.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.List;
@Mapper
public interface ZypSingleQueryMapper {
List<Dhzy> getOneDhzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Sxkjzy> getOneSxkjzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Mbcdzy> getOneMbcdzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Gczy> getOneGczysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Dzaqzy> getOneDzaqzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Lsydzy> getOneLsydzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Dtzy> getOneDtzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
List<Dlzy> getOneDlzysPage(@Param("isSingleDay")String isSingleDay,@Param("id")String id);
}

4
src/main/java/com/hxjt/dataupload/mqtt/MqttCallback.java

@ -23,11 +23,11 @@ public class MqttCallback implements org.eclipse.paho.client.mqttv3.MqttCallback
@Override @Override
public void connectionLost(Throwable throwable) { public void connectionLost(Throwable throwable) {
// 连接丢失后,一般在这里面进行重连 /*// 连接丢失后,一般在这里面进行重连
logger.info("连接断开,可以做重连"); logger.info("连接断开,可以做重连");
if (client == null || !client.isConnected()) { if (client == null || !client.isConnected()) {
mqttConfig.getMqttPushClient(); mqttConfig.getMqttPushClient();
} }*/
} }
@Override @Override

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

@ -7,6 +7,7 @@ import com.hxjt.dataupload.model.entity.tszy.upload.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
public interface FxfxdxService { public interface FxfxdxService {
//风险分析对象 //风险分析对象
@ -49,5 +50,5 @@ public interface FxfxdxService {
//断路作业 //断路作业
List<Dlzy> getOneDlzysPage(String isSingleDay); List<Dlzy> getOneDlzysPage(String isSingleDay);
String getOTBILLIDById(String id); Map<String,String> getOTBILLIDById(String id);
} }

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

@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class FxfxdxServiceImpl implements FxfxdxService { public class FxfxdxServiceImpl implements FxfxdxService {
@ -106,7 +107,7 @@ public class FxfxdxServiceImpl implements FxfxdxService {
} }
@Override @Override
public String getOTBILLIDById(String id) { public Map<String, String> getOTBILLIDById(String id) {
return fxfxdxMapper.getOTBILLIDById(id); return fxfxdxMapper.getOTBILLIDById(id);
} }
} }

73
src/main/java/com/hxjt/dataupload/utils/FileUploadUtil.java

@ -0,0 +1,73 @@
package com.hxjt.dataupload.utils;
import kong.unirest.HttpResponse;
import kong.unirest.Unirest;
import kong.unirest.UnirestException;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class FileUploadUtil {
// 通用文件上传方法(支持自定义Header)
public static Map<String, Object> upload(File file) {
String url = "https://ny-fxfk.com/gp-gateway/dts/file/upload";
String authorization = "3e382cf7-d5af-75be-9578-ee7911ed8e01";
Map<String, Object> result = new HashMap<>();
try {
// 构建请求并打印请求详情
System.out.println("========== HTTP REQUEST ==========");
System.out.println("POST " + url);
System.out.println("Headers:");
System.out.println(" Authorization: " + authorization);
System.out.println("Multipart Form Data:");
System.out.println(" file: " + file.getName() +
" (Size: " + file.length() + " bytes)");
System.out.println("===================================");
// 构建请求并添加Header
Unirest.post(url)
.header("Authorization", authorization) // 设置Authorization
.field("files", file)
.asString()
.ifSuccess(response -> {
result.put("status", response.getStatus());
result.put("body", response);
System.out.println(response.getBody());
})
.ifFailure(response -> {
result.put("status", response.getStatus());
result.put("error", response);
});
;
} catch (UnirestException e) {
result.put("status", 500);
result.put("error", "请求失败: " + e.getMessage());
}
return result;
}
// 初始化配置(在Spring启动时调用)
public static void init() {
Unirest.config()
.connectTimeout(10000)
.socketTimeout(60000)
.concurrency(20, 5);
}
// 关闭资源(在Spring关闭时调用)
public static void shutdown() {
try {
Unirest.shutDown();
} catch (Exception e) {
e.printStackTrace();
}
}
}

3
src/main/resources/application-dev.yml

@ -18,6 +18,7 @@ spring:
multipart: multipart:
max-file-size: 10MB max-file-size: 10MB
max-request-size: 10MB max-request-size: 10MB
enabled: true
autoconfigure: autoconfigure:
#去除durid配置 #去除durid配置
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
@ -66,7 +67,7 @@ spring:
mqtt: mqtt:
username: 10@ningyanghuagongchany20250328091457 username: 10@ningyanghuagongchany20250328091457
password: 4c0d00b8dcdd4809ad75ad1d0e38533c password: 4c0d00b8dcdd4809ad75ad1d0e38533c
hostUrl: tcp://112.245.55.112:18183 hostUrl: tcp://112.245.55.112:18183-----
clientId: 10@ningyanghuagongchany20250328091457 clientId: 10@ningyanghuagongchany20250328091457
defaultTopic: /indoor/10@ningyanghuagongchany20250328091457/thirdParty/sensorData defaultTopic: /indoor/10@ningyanghuagongchany20250328091457/thirdParty/sensorData
timeout: 100 timeout: 100

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

@ -3,8 +3,18 @@
<mapper namespace="com.hxjt.dataupload.mapper.FxfxdxMapper"> <mapper namespace="com.hxjt.dataupload.mapper.FxfxdxMapper">
<select id="getOTBILLIDById" parameterType="string" resultType="String"> <select id="getOTBILLIDById" parameterType="string" resultType="map">
select OTBILLID from OTM_OPERATICK where id = #{id} select
a.OTBILLID as OTBILLID,
c.id as zypTypeId
from
OTM_OPERATICK a
LEFT JOIN
OTM_OTKIND C
ON
A.OTKIND = C.ID
where
a.id = #{id}
</select> </select>
<select id="getFxfxdxs" resultType="com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx"> <select id="getFxfxdxs" resultType="com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx">
@ -1437,6 +1447,7 @@
</choose> </choose>
and c.id in('35ee7345c96a4d77b206d47076ed6839', '9b8ee675618f4544b9e4a565df4c8f01','96f4c6faafcb405785c23f9c0e431a30') and c.id in('35ee7345c96a4d77b206d47076ed6839', '9b8ee675618f4544b9e4a565df4c8f01','96f4c6faafcb405785c23f9c0e431a30')
--AND OTBILLID='DH20250213197' --AND OTBILLID='DH20250213197'
order by order by
a.APPLYTIME desc a.APPLYTIME desc
</select> </select>

839
src/main/resources/mapper/ZypSingleQueryMapper.xml

@ -0,0 +1,839 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hxjt.dataupload.mapper.ZypSingleQueryMapper">
<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,
'是' 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
--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>
<if test="id != null and id != ''">
AND a.id = #{id}
</if>
order by
zuoyeshenqingshijian desc
</select>
<select id="getOneSxkjzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Sxkjzy">
--受限空间
SELECT
--bianhao
a.ID as bianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS zuoyeshenqingdanwei,
--qiyebianma
(CASE
WHEN C.FNAME like '%中碳%' THEN '370980326'
ELSE '370910170'
END) AS qiyebianma,
FORMAT(A.PBDATE,
'yyyy-MM-dd HH:mm:ss')as shishikaishishijian,
FORMAT(A.PEDATE,
'yyyy-MM-dd HH:mm:ss')as shishijieshushijian,
A.OTLOCARION AS donghuodidianjidongh,
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 '13053831355'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
'否' AS zuoyeshifoubiangengg,
'否' AS zuoyeshifouquxiao,
-- 风险辨识结果需改进
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.name01 AS shouxiankongjianneiy,
-- 关联其他作业票需改进
A.NAME08 AS guanliandeqitateshuz,
d.personname9 AS jieshoujiaodiren,
d.firepersonname2 AS anquanjiaodiren,
'是' 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
D.FIREPERSONID1 = F.ID
where
a.isdelete = 'N'
and d.showflag = '1'
--and a.APPLYTIME >= '2025-01-01 00:00:00.000'
and c.id in('4babbbd0f1714289bd0b70222998834c', 'c72815d306314dca864414c7ea4a80c7')
--AND OTBILLID='DH20250213197'
<choose>
<when test='isSingleDay == "Y"'>
AND (DATEDIFF(dd, a.APPLYTIME, GETDATE() - 1) = 0)
</when>
<otherwise>
and a.APPLYTIME >= '2024-01-01 00:00:00.000'
</otherwise>
</choose>
order by
a.APPLYTIME desc
</select>
<select id="getOneMbcdzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Mbcdzy">
--盲板抽堵
SELECT
a.ID as zuoyepiaobianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS zuoyeshenqingdanwei,
--qiyebianma
(CASE
WHEN C.FNAME like '%中碳%' THEN '370980326'
ELSE '370910170'
END) AS qiyebianma,
'盲板抽堵作业' as zuoyeleibie,
FORMAT(A.PBDATE,
'yyyy-MM-dd HH:mm:ss')as shijizuoyekaishishij,
FORMAT(A.PEDATE,
'yyyy-MM-dd HH:mm:ss')as shishijieshushijian,
A.OTLOCARION AS donghuodidianjidongh,
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.FIREPERSONNAME4 AS zuoyefuzeren,
(CASE
WHEN (F.MOBILE IS NULL
OR F.MOBILE = '') THEN '13853732279'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--实际作业结束时间
FORMAT(A.PEDATE,
'yyyy-MM-dd HH:mm:ss')as shijizuoyejieshushij,
--交底人
d.firepersonname3 AS jieshoujiaodiren,
d.firepersonname2 AS anquanjiaodiren,
-- 一张票可能对应多个盲板,只取一个,见outer apply
--盲板位置编号没有
--盲板位置图有
--盲板参数编号
h.cutpostion as bianhao,
--规格
h.fdepth as guige,
--材质
h.pipedia as caizhi,
--压力
h.ftrend as yalif,
--温度
h.facloaction AS wendu,
--介质
h.underfac AS jiezhi,
--设备/管道名称
h.ffield1 AS shebeiguandaomingche,
-- 风险辨识结果需改进
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 guanliandeqitateshuz,
'是' 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
D.FIREPERSONID1 = F.ID
LEFT JOIN PF_ORGAN G ON
a.otunit = G.ORGANCODE
-- 只取一个盲板的参数
OUTER APPLY (
SELECT
top 1 h.*
FROM
OTM_UNDERFACSIT H
WHERE
h.FOTID = a.ID
ORDER BY
CREASTAMP
) H
where
a.isdelete = 'N'
and d.showflag = '1'
--and a.APPLYTIME >= '2024-01-01 00:00:00.000'
and c.id in('457abb402d9b42ad8b8fd601d24fcece', '7314a6809e66452e9e5e51dfab9a2b3d')
--AND OTBILLID='DH20250213197'
<choose>
<when test='isSingleDay == "Y"'>
AND (DATEDIFF(dd, a.APPLYTIME, GETDATE() - 1) = 0)
</when>
<otherwise>
and a.APPLYTIME >= '2024-01-01 00:00:00.000'
</otherwise>
</choose>
order by
a.APPLYTIME desc
</select>
<select id="getOneGczysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Gczy">
SELECT
a.ID as bianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS zuoyeshenqingdanwei,
--qiyebianma
(CASE
WHEN C.FNAME like '%中碳%' THEN '370980326'
ELSE '370910170'
END) AS qiyebianma,
(CASE
WHEN A.FIREGRADE = '1' THEN 'A类IV级'
WHEN A.FIREGRADE = '2' THEN 'A类I级'
WHEN A.FIREGRADE = '3' THEN 'A类II级'
WHEN A.FIREGRADE = '4' THEN 'A类III级'
ELSE 'A类III级'
END) AS gaochuzuoyejibie,
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,
CONCAT(a.elecname, a.firewrite) 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 '13053831533'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--申请时间
FORMAT(a.APPLYTIME,
'yyyy-MM-dd HH:mm:ss') AS zuoyeshenqingshijian,
--作业高度
a.FIREWORKTYPE AS zuoyegaodu,
-- 风险辨识结果需改进
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,
-- 关联其他作业票需改进
A.NAME08 AS guanlianqitateshuzuo,
d.personname9 AS jieshoujiaodiren,
'是' as shifouweiqiyetuisong,
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
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 a.APPLYTIME >= '2025-01-01 00:00:00.000'
and c.id in('0dc5370dda5248e69db924de402b6639', 'e05c6ca6921f4900af3d6d85cdd9337c')
<choose>
<when test='isSingleDay == "Y"'>
AND (DATEDIFF(dd, a.APPLYTIME, GETDATE() - 1) = 0)
</when>
<otherwise>
and a.APPLYTIME >= '2024-01-01 00:00:00.000'
</otherwise>
</choose>
--AND OTBILLID='DH20250213197'
order by
a.APPLYTIME desc
</select>
<select id="getOneDzaqzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Dzaqzy">
SELECT
a.ID as bianhao,
--zuoyeshenqingdanwei
(CASE
WHEN C.FNAME like '%中碳%' THEN '恒信中碳氢能源科技(山东)有限公司'
ELSE '山东恒信高科能源有限公司'
END) AS zuoyeshenqingdanwei,
--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 diaowuzhiliangtjizuo,
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,
(CASE
WHEN a.firewrite IS NULL THEN '赵西雨'
ELSE a.firewrite
END) 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 '13053831355'
ELSE F.MOBILE
END) as fuzerenlianxifangshi,
-- 是否变更
'否' AS zuoyeshifoubiangengg,
--是否取消
'否' AS zuoyeshifouquxiao,
--作业票附件需要改进
--申请时间
FORMAT(a.APPLYTIME,
'yyyy-MM-dd HH:mm:ss') AS zuoyeshenqingshijian,
--指挥人
d.firepersonname1 AS zhihuirenyuan,
--司索人
a.fsso AS sisuoren,
--吊具名称
a.fireworktype AS diaojumingcheng,
--接受交底人
d.personname9 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.otherhaziden,
'是' as shifouweiqiyetuisong,
-- 关联其他作业票需改进
A.NAME08 AS guanlianqitateshuzuo
--添加安措
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
D.FIREPERSONID1 = F.ID
LEFT JOIN PF_ORGAN G ON
a.otunit = G.ORGANCODE
where
a.isdelete = 'N'
and d.showflag = '1'
--and a.APPLYTIME >= '2024-01-01 00:00:00.000'
and c.id in('e7671c99bca845e49aad9baab1084331', '2ce56e004e114f5a9c4b010392780abe')
<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 OTBILLID='DH20250213197'
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>
<select id="getOneDlzysPage" resultType="com.hxjt.dataupload.model.entity.tszy.upload.Dlzy">
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 duanluxiangguanshuom,
--经纬度
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,
--作业负责人
(CASE
WHEN D.FIREPERSONNAME1 is null then '郝得润'
ELSE D.FIREPERSONNAME1
END) AS zuoyefuzeren,
--没有默认的联系方式??
(CASE
WHEN (F.MOBILE IS NULL
OR F.MOBILE = '') THEN '13053831533'
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 >= '2025-01-01 00:00:00.000'
</otherwise>
</choose>
and c.id in('35ee7345c96a4d77b206d47076ed6839', '9b8ee675618f4544b9e4a565df4c8f01','96f4c6faafcb405785c23f9c0e431a30')
--AND OTBILLID='DH20250213197'
order by
a.APPLYTIME desc
</select>
</mapper>
Loading…
Cancel
Save