Quellcode durchsuchen

修改任务单调整

xy vor 3 Wochen
Ursprung
Commit
abf34f69a0

+ 51 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardFileController.java

@@ -136,6 +136,57 @@ public class StandardFileController {
     @Operation(summary = "预览检验方案模版pdf")
     public void getPDFByInspection(@RequestParam(value = "file", required = true) MultipartFile file,@RequestParam(value = "manualUrl") String manualUrl,
                        HttpServletResponse response) throws Exception {
+
+        // 调用另一个服务的 PDF 转换接口
+        String targetUrl = grapecityUrl+
+                "/pdf/getPdf";
+        byte[] fileBytes = file.getBytes();
+        List<byte[]> pdfBytesList = new ArrayList<>();
+        pdfBytesList.add(fileBytes);
+        // 发送 POST 请求获取 PDF 字节流
+        byte[] bytes = HttpUtil.createPost(targetUrl)
+                .body(JSONObject.toJSONString(pdfBytesList)).execute().bodyBytes();
+
+        if (StringUtils.isNotEmpty(manualUrl)){
+
+            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+
+            if (manualUrl.endsWith(".doc") || manualUrl.endsWith(".docx")) {
+                byte[] wordBytes = fileApi.getFileByPath(manualUrl).getData();
+                byteArrayOutputStream = WordToPdfUtils.doc2pdfOutStream(wordBytes);
+            } else {
+                byte[] bytes1 = fileApi.getFileByPath(manualUrl).getData();
+                byteArrayOutputStream.write(bytes1);
+            }
+
+            ByteArrayOutputStream mergeOutputStream = new ByteArrayOutputStream();
+            PDFMergerUtility mergerUtility = new PDFMergerUtility();
+            mergerUtility.addSource(new ByteArrayInputStream(bytes));
+            mergerUtility.addSource(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()));
+            // pdf 文件流合并
+            mergerUtility.setDestinationStream(mergeOutputStream);
+            mergerUtility.mergeDocuments(null);
+
+            response.getOutputStream().write(mergeOutputStream.toByteArray());
+        }else{
+            response.getOutputStream().write(bytes);
+        }
+
+    }
+
+    @PostMapping("/getPdfLocal")
+    @Operation(summary = "预览模版pdf-本地测试")
+    public void getPdfLocal(@RequestParam(value = "file", required = true) MultipartFile file,
+                       HttpServletResponse response) throws Exception {
+        byte[] bytes = grapeCityApi.getPdfByte(file.getBytes()).getCheckedData();
+        response.getOutputStream().write(bytes);
+    }
+
+    @PostMapping("/getPDFByInspectionLocal")
+    @Operation(summary = "预览检验方案模版pdf")
+    public void getPDFByInspectionLocal(@RequestParam(value = "file", required = true) MultipartFile file,@RequestParam(value = "manualUrl") String manualUrl,
+                                        HttpServletResponse response) throws Exception {
+
         byte[] bytes = grapeCityApi.getPdfByte(file.getBytes()).getCheckedData();
 
         if (StringUtils.isNotEmpty(manualUrl)){

+ 51 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/standardfile/AppStandardFileController.java

@@ -118,10 +118,61 @@ public class AppStandardFileController {
         response.getOutputStream().write(bytes);
     }
 
+    @PostMapping("/getPdfLocal")
+    @Operation(summary = "预览模版pdf-本地测试")
+    public void getPdfLocal(@RequestParam(value = "file", required = true) MultipartFile file,
+                            HttpServletResponse response) throws Exception {
+        byte[] bytes = grapeCityApi.getPdfByte(file.getBytes()).getCheckedData();
+        response.getOutputStream().write(bytes);
+    }
+
     @PostMapping("/getPDFByInspection")
     @Operation(summary = "预览检验方案模版pdf")
     public void getPDFByInspection(@RequestParam(value = "file", required = true) MultipartFile file,@RequestParam(value = "manualUrl") String manualUrl,
                        HttpServletResponse response) throws Exception {
+
+        // 调用另一个服务的 PDF 转换接口
+        String targetUrl = grapecityUrl+
+                "/pdf/getPdf";
+        byte[] fileBytes = file.getBytes();
+        List<byte[]> pdfBytesList = new ArrayList<>();
+        pdfBytesList.add(fileBytes);
+        // 发送 POST 请求获取 PDF 字节流
+        byte[] bytes = HttpUtil.createPost(targetUrl)
+                .body(JSONObject.toJSONString(pdfBytesList)).execute().bodyBytes();
+
+        if (StringUtils.isNotEmpty(manualUrl)){
+
+            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+
+            if (manualUrl.endsWith(".doc") || manualUrl.endsWith(".docx")) {
+                byte[] wordBytes = fileApi.getFileByPath(manualUrl).getData();
+                byteArrayOutputStream = WordToPdfUtils.doc2pdfOutStream(wordBytes);
+            } else {
+                byte[] bytes1 = fileApi.getFileByPath(manualUrl).getData();
+                byteArrayOutputStream.write(bytes1);
+            }
+
+            ByteArrayOutputStream mergeOutputStream = new ByteArrayOutputStream();
+            PDFMergerUtility mergerUtility = new PDFMergerUtility();
+            mergerUtility.addSource(new ByteArrayInputStream(bytes));
+            mergerUtility.addSource(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()));
+            // pdf 文件流合并
+            mergerUtility.setDestinationStream(mergeOutputStream);
+            mergerUtility.mergeDocuments(null);
+
+            response.getOutputStream().write(mergeOutputStream.toByteArray());
+        }else{
+            response.getOutputStream().write(bytes);
+        }
+
+    }
+
+    @PostMapping("/getPDFByInspectionLocal")
+    @Operation(summary = "预览检验方案模版pdf")
+    public void getPDFByInspectionLocal(@RequestParam(value = "file", required = true) MultipartFile file,@RequestParam(value = "manualUrl") String manualUrl,
+                                   HttpServletResponse response) throws Exception {
+
         byte[] bytes = grapeCityApi.getPdfByte(file.getBytes()).getCheckedData();
 
         if (StringUtils.isNotEmpty(manualUrl)){

+ 14 - 11
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -2016,7 +2016,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 return member;
             }).toList();
 
-            if (team.getLeaderId() != null) {
+            if (StringUtil.isNotEmpty(team.getLeaderId())) {
                 BoilerTaskOrderUserDO leader = new BoilerTaskOrderUserDO();
                 leader.setOrderId(finalTaskOrderDO.getId());
                 leader.setType(100);
@@ -2031,16 +2031,19 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         if (!acceptOrderUserList.isEmpty()) {
             boilerTaskOrderUserMapper.delete(BoilerTaskOrderUserDO::getOrderId, id);
             boilerTaskOrderUserMapper.insertBatch(acceptOrderUserList);
-            AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(finalTaskOrderDO.getAcceptOrderId());
-            // 增加受理单用户
-            List<BoilerAcceptOrderUserDO> boilerAcceptOrderUserDOS = acceptOrderUserList.stream().map(item -> BoilerAcceptOrderUserDO.builder()
-                    .orderId(acceptOrderDO.getId())
-                    .userId(item.getUserId())
-                    .type(item.getType())
-                    .groupTeamId(item.getGroupTeamId())
-                    .build()).toList();
-            boilerAcceptOrderUserMapper.delete(BoilerAcceptOrderUserDO::getOrderId, acceptOrderDO.getId());
-            boilerAcceptOrderUserMapper.insertBatch(boilerAcceptOrderUserDOS);
+            BoilerTaskOrderDO taskOrderInfo = boilerTaskOrderMapper.selectById(id);
+            if (taskOrderInfo != null && taskOrderInfo.getAcceptOrderId() != null){
+                AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(taskOrderInfo.getAcceptOrderId());
+                // 增加受理单用户
+                List<BoilerAcceptOrderUserDO> boilerAcceptOrderUserDOS = acceptOrderUserList.stream().map(item -> BoilerAcceptOrderUserDO.builder()
+                        .orderId(acceptOrderDO.getId())
+                        .userId(item.getUserId())
+                        .type(item.getType())
+                        .groupTeamId(item.getGroupTeamId())
+                        .build()).toList();
+                boilerAcceptOrderUserMapper.delete(BoilerAcceptOrderUserDO::getOrderId, acceptOrderDO.getId());
+                boilerAcceptOrderUserMapper.insertBatch(boilerAcceptOrderUserDOS);
+            }
         }
 
         List<BoilerTaskOrderItemDO> taskOrderItemDOList = boilerTaskOrderItemMapper.selectList(BoilerTaskOrderItemDO::getOrderId, id);

+ 14 - 12
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -1754,7 +1754,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 return member;
             }).toList();
 
-            if (team.getLeaderId() != null) {
+            if (StringUtil.isNotEmpty(team.getLeaderId())) {
                 PipeTaskOrderUserDO leader = new PipeTaskOrderUserDO();
                 leader.setOrderId(finalTaskOrderDO.getId());
                 leader.setType(100);
@@ -1771,17 +1771,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             pipeTaskOrderUserMapper.insertBatch(acceptOrderUserList);
 
             // 修改受理单检验员
-
-            AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(finalTaskOrderDO.getAcceptOrderId());
-            // 增加受理单用户
-            List<PipeAcceptOrderUserDO> pipeAcceptOrderUserDOS = acceptOrderUserList.stream().map(item -> PipeAcceptOrderUserDO.builder()
-                    .orderId(acceptOrderDO.getId())
-                    .userId(item.getUserId())
-                    .type(item.getType())
-                    .groupTeamId(item.getGroupTeamId())
-                    .build()).toList();
-            pipeAcceptOrderUserMapper.delete(PipeAcceptOrderUserDO::getOrderId, acceptOrderDO.getId());
-            pipeAcceptOrderUserMapper.insertBatch(pipeAcceptOrderUserDOS);
+            PipeTaskOrderDO taskOrderInfo = pipeTaskOrderMapper.selectById(id);
+            if (taskOrderInfo != null && taskOrderInfo.getAcceptOrderId() != null) {
+                AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(taskOrderInfo.getAcceptOrderId());
+                // 增加受理单用户
+                List<PipeAcceptOrderUserDO> pipeAcceptOrderUserDOS = acceptOrderUserList.stream().map(item -> PipeAcceptOrderUserDO.builder()
+                        .orderId(acceptOrderDO.getId())
+                        .userId(item.getUserId())
+                        .type(item.getType())
+                        .groupTeamId(item.getGroupTeamId())
+                        .build()).toList();
+                pipeAcceptOrderUserMapper.delete(PipeAcceptOrderUserDO::getOrderId, acceptOrderDO.getId());
+                pipeAcceptOrderUserMapper.insertBatch(pipeAcceptOrderUserDOS);
+            }
         }
 
         List<PipeTaskOrderItemDO> taskOrderItemDOList = pipeTaskOrderItemMapper.selectList(PipeTaskOrderItemDO::getOrderId, id);