diff --git a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java index 73351f5e..3c758f34 100644 --- a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java @@ -757,8 +757,7 @@ public class PqDevServiceImpl extends ServiceImpl 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() diff --git a/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java b/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java index 891159aa..29ad2ab4 100644 --- a/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java @@ -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 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 i private final ISysTestConfigService sysTestConfigService; + private final SocketDevResponseService socketDevResponseService; + @Autowired private RestTemplateUtil restTemplateUtil; @@ -585,16 +596,16 @@ public class PqReportServiceImpl extends ServiceImpl 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 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 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 responseEntity = restTemplateUtil.uploadFile(url + "/upload", file); + ResponseEntity 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 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()); diff --git a/entrance/src/main/resources/application.yml b/entrance/src/main/resources/application.yml index cfb2c96a..0ef6c160 100644 --- a/entrance/src/main/resources/application.yml +++ b/entrance/src/main/resources/application.yml @@ -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 +