调整二楼提出的意见

This commit is contained in:
2025-06-20 14:21:41 +08:00
parent ed54f79983
commit a11189d85c
3 changed files with 52 additions and 39 deletions

View File

@@ -757,8 +757,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
queryWrapper
.eq("state", DataStateEnum.ENABLE.getCode())
.eq("Dev_Type", param.getDevType())
.and(q -> q.eq("name", param.getName()).or()
.eq("Create_Id", param.getCreateId())); //设备序列号重复
.and(q -> q.eq("Create_Id", param.getCreateId())); //设备序列号重复,不管设备类型,原设备类型条件删除
// .eq("pattern", param.getPattern())
// .eq("manufacturer", param.getManufacturer())
// .eq("Dev_Type", param.getDevType()).or()

View File

@@ -8,9 +8,7 @@ import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.ftp.Ftp;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
@@ -22,7 +20,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.BinaryDataConverter;
import com.njcn.common.utils.images.ImageConverter;
import com.njcn.gather.detection.handler.SocketDevResponseService;
import com.njcn.gather.detection.pojo.constant.DetectionCommunicateConstant;
@@ -73,7 +70,6 @@ import com.njcn.gather.type.pojo.po.DevType;
import com.njcn.gather.type.service.IDevTypeService;
import com.njcn.http.util.RestTemplateUtil;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.HttpServletUtil;
import io.netty.channel.Channel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -91,19 +87,14 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import javax.xml.bind.JAXBElement;
import java.awt.*;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferUShort;
import java.io.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -128,6 +119,24 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
@Value("${report.reportDir:D:\\report}")
private String reportPath;
@Value("${socket.device.ip}")
private String ip;
@Value("${socket.device.port}")
private Integer port;
@Value("${qr.cloud}")
private String cloudUrl;
@Value("${qr.dev.name}")
private String devName;
@Value("${qr.dev.password}")
private String devPsd;
@Value("${qr.dev.port}")
private Integer devPort;
private final IPqDevService iPqDevService;
private final PqDevMapper pqDevMapper;
@@ -147,6 +156,8 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
private final ISysTestConfigService sysTestConfigService;
private final SocketDevResponseService socketDevResponseService;
@Autowired
private RestTemplateUtil restTemplateUtil;
@@ -585,16 +596,16 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
}
out.close();
this.updateDevAndPlanState(devReportParam.getDevId(), devReportParam.getPlanId());
// 检测报告上云
Future<?> future = executor.submit(() -> {
sendReportToCloud(pqDevVO.getIp(), reportFullPath, pqDevVO.getCreateId() + ".docx");
});
try {
future.get();
} catch (Exception e) {
log.error("检测报告上云异常,异常为:"+e.getMessage());
}
sendReportToCloud(pqDevVO.getIp(), reportFullPath, pqDevVO.getCreateId() + ".docx");
// // 检测报告上云
// Future<?> future = executor.submit(() -> {
// sendReportToCloud(pqDevVO.getIp(), reportFullPath, pqDevVO.getCreateId() + ".docx");
// });
// try {
// future.get();
// } catch (Exception e) {
// log.error("检测报告上云异常,异常为:"+e.getMessage());
// }
} catch (IOException e) {
log.error(ReportResponseEnum.GENERATE_REPORT_ERROR.getMessage(), e);
@@ -603,13 +614,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
});
}
@Value("${socket.device.ip}")
private String ip;
@Value("${socket.device.port}")
private Integer port;
private final SocketDevResponseService socketDevResponseService;
/**
* 处理检测报告上传云服务器并生成二维码下装到装置
@@ -620,15 +625,13 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
* @param reportName 检测报告名称
*/
public void sendReportToCloud(String devIp, String reportFullPath, String reportName) {
// String url = "http://pqmcc.com:8060/api/file";
String url = "http://127.0.0.1:18082/api/file";
// 将文件上传至目标服务器
File file = new File(reportFullPath);
try {
ResponseEntity<String> responseEntity = restTemplateUtil.uploadFile(url + "/upload", file);
ResponseEntity<String> responseEntity = restTemplateUtil.uploadFile(cloudUrl + "/upload", file);
if (responseEntity.getStatusCode().is2xxSuccessful()) {
// 上传没问题后拼接url生成二维码并将二维码转为bin格式文件传递给设备通讯模块
String qrUrl = url + "/download/" + reportName;
String qrUrl = cloudUrl + "/download/" + reportName;
BufferedImage bufferedImage = QrCodeUtil.generate(qrUrl, 148, 148);
// 将 BufferedImage 转换为单色图像
BufferedImage monoImage = new BufferedImage(148, 148, BufferedImage.TYPE_BYTE_BINARY);
@@ -648,9 +651,9 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
sendFileMsg.setRequestId(SourceOperateCodeEnum.FTP_SEND_01.getValue());
// 组装业务数据
JSONObject data = new JSONObject();
data.set("name", "njcn");
data.set("password", "Pqs@12345678");
data.set("port", "21");
data.set("name", devName);
data.set("password", devPsd);
data.set("port", devPort);
data.set("path", "ftp://" + devIp + "/etc/qrc.bin");
data.set("file", base64String);
sendFileMsg.setData(data.toString());

View File

@@ -7,11 +7,11 @@ spring:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.1.24:13306/pqs91003?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
#url: jdbc:mysql://localhost:3306/pqs9100?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
username: root
#password: root
password: njcnpqs
# url: jdbc:mysql://localhost:3306/pqs91001?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
# username: root
# password: root
#初始化建立物理连接的个数、最小、最大连接数
initial-size: 5
min-idle: 5
@@ -50,12 +50,16 @@ phaseAngle:
socket:
source:
ip: 192.168.1.138
#ip: localhost
port: 62000
device:
ip: 192.168.1.138
#ip: localhost
port: 61000
# source:
# ip: 192.168.1.121
# port: 10086
# device:
# ip: 192.168.1.121
# port: 61000
webSocket:
port: 7777
@@ -84,3 +88,10 @@ report:
template: D:\template
reportDir: D:\report
qr:
cloud: http://pqmcc.com:18082/api/file
dev:
name: njcn
password: Pqs@12345678
port: 21