xuzhancheng 1 hafta önce
ebeveyn
işleme
af7d4578da

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderinput/PipeTaskOrderInputService.java

@@ -1,5 +1,6 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderinput;
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.*;
 
@@ -63,6 +64,12 @@ public interface PipeTaskOrderInputService extends IService<PipeTaskOrderInputDO
      * @param response 响应
      */
     void printPipeTaskOrderInput(List<PipeTaskOrderInputPrintReqVO> printReqVOS, HttpServletResponse response) throws Exception;
+    /**
+     * 获取管道检测项目pdf
+     *
+     * @param printReqVO 打印信息
+     */
+    ByteArrayOutputStream printPipeTaskOrderInput(PipeTaskOrderInputPrintReqVO printReqVO) throws Exception;
 
     /**
      * 下载管道检测项目,打包成压缩包

+ 14 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderinput/PipeTaskOrderInputServiceImpl.java

@@ -116,6 +116,20 @@ public class PipeTaskOrderInputServiceImpl extends ServiceImpl<PipeTaskOrderInpu
         mergeOutputStream.writeTo(response.getOutputStream());
     }
 
+    @Override
+    public ByteArrayOutputStream printPipeTaskOrderInput(PipeTaskOrderInputPrintReqVO printReqVO) throws Exception {
+        ByteArrayOutputStream mergeOutputStream = new ByteArrayOutputStream();
+        PDFMergerUtility mergerUtility = new PDFMergerUtility();
+        String templateId = printReqVO.getTemplateId();
+        String instanceId = dynamicTbInsService.getDynamicRefId(printReqVO.getId()).getId();
+        byte[] pdf = pdfService.pdf(templateId, instanceId);
+        mergerUtility.addSource(new ByteArrayInputStream(pdf));
+
+        mergerUtility.setDestinationStream(mergeOutputStream);
+        mergerUtility.mergeDocuments(null);
+        return mergeOutputStream;
+    }
+
     @Override
     public void downloadPipeTaskOrderInput(List<PipeTaskOrderInputPrintReqVO> printReqVOS, HttpServletResponse response) throws Exception {
         log.info("printReqVOS:{}", printReqVOS);

+ 84 - 82
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/tasksign/TaskSignServiceImpl.java

@@ -135,10 +135,12 @@ public class TaskSignServiceImpl implements TaskSignService {
 
             boilerTaskOrderSignFileService.save(taskOrderSignFileDO);
         }
-        if (taskOrderDO.getEquipMainType().equals(200)) {
-            orderReportService.generateBoilerOrderReport(taskOrderDO.getAcceptOrderId());
-        }else {
-            orderReportService.generatePipeOrderReport(taskOrderDO.getAcceptOrderId());
+        if (reqVO.getBusinessType().equals(100)) {
+            if (taskOrderDO.getEquipMainType().equals(200)) {
+                orderReportService.generateBoilerOrderReport(taskOrderDO.getAcceptOrderId());
+            } else {
+                orderReportService.generatePipeOrderReport(taskOrderDO.getAcceptOrderId());
+            }
         }
 
 //        String pdfUrl = printFromPdfDownload(orderFromPdfReqVO);
@@ -188,88 +190,88 @@ public class TaskSignServiceImpl implements TaskSignService {
     @Override
     public String printFromPdfDownload(OrderFromPdfReqVO reqVO) {
         String filePath = null;
-        try {
-            BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(reqVO.getOrderId());
-            if (ObjectUtil.isEmpty(taskOrderDO)) {
-                throw exception(TASK_ORDER_NOT_EXISTS);
-            }
-
-//            TaskOrderFileVersionDO taskOrderFileVersionDO = orderFileVersionService.selectLastOneByOrderIdAndBusinessType(reqVO.getOrderId(), reqVO.getBusinessType(), reqVO.getOrderItemId(), reqVO.getSecurityCheckId());
-//            if (ObjectUtil.isEmpty(taskOrderFileVersionDO)) {
-//                throw exception(new ErrorCode(1000, "任务单相关文件版本不存在"));
+//        try {
+//            BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(reqVO.getOrderId());
+//            if (ObjectUtil.isEmpty(taskOrderDO)) {
+//                throw exception(TASK_ORDER_NOT_EXISTS);
 //            }
-
-//            String notifierSignImageData = null;
-//            //业务类型=400并且告知人-签名人用户id不为空
-//            if (Integer.valueOf(400).equals(taskOrderFileVersionDO.getBusinessType()) && StringUtils.isNotEmpty(taskOrderFileVersionDO.getNotifierUserId())) {
-//                AdminUserRespDTO checkedData = adminUserApi.getUser(taskOrderFileVersionDO.getNotifierUserId()).getCheckedData();
-//                if (ObjectUtil.isNotEmpty(checkedData) && StringUtils.isNotEmpty(checkedData.getSignUrl())) {
-//                    notifierSignImageData = checkedData.getSignUrl();
+//
+////            TaskOrderFileVersionDO taskOrderFileVersionDO = orderFileVersionService.selectLastOneByOrderIdAndBusinessType(reqVO.getOrderId(), reqVO.getBusinessType(), reqVO.getOrderItemId(), reqVO.getSecurityCheckId());
+////            if (ObjectUtil.isEmpty(taskOrderFileVersionDO)) {
+////                throw exception(new ErrorCode(1000, "任务单相关文件版本不存在"));
+////            }
+//
+////            String notifierSignImageData = null;
+////            //业务类型=400并且告知人-签名人用户id不为空
+////            if (Integer.valueOf(400).equals(taskOrderFileVersionDO.getBusinessType()) && StringUtils.isNotEmpty(taskOrderFileVersionDO.getNotifierUserId())) {
+////                AdminUserRespDTO checkedData = adminUserApi.getUser(taskOrderFileVersionDO.getNotifierUserId()).getCheckedData();
+////                if (ObjectUtil.isNotEmpty(checkedData) && StringUtils.isNotEmpty(checkedData.getSignUrl())) {
+////                    notifierSignImageData = checkedData.getSignUrl();
+////                }
+////            }
+//
+//            //获取任务单签名文件信息
+//            BoilerTaskOrderSignFileDO taskOrderSignFileDO = boilerTaskOrderSignFileService.selectLastOneByOrderIdAndBusinessType(taskOrderDO.getId(), reqVO.getBusinessType(), reqVO.getOrderItemId(), reqVO.getSecurityCheckId());
+//            if (ObjectUtil.isNotEmpty(taskOrderSignFileDO) && StringUtils.isNotEmpty(taskOrderSignFileDO.getSignUrl())) {
+//                ByteArrayOutputStream byteArrayOutputStream = null;
+//                byte[] imageData = fileApi.getFileByPath(taskOrderSignFileDO.getSignUrl()).getData();
+//                PipeTaskOrderInputPrintReqVO printReqVO = new PipeTaskOrderInputPrintReqVO();
+//                if (Integer.valueOf(100).equals(taskOrderSignFileDO.getBusinessType())) {
+//                    List<OrderReportDO> orderReportDOS = orderReportMapper.selectList(OrderReportDO::getTaskOrderId, taskOrderDO.getId());
+//                    OrderReportDO orderReportDO = orderReportDOS.get(0);
+//                    printReqVO.setId(orderReportDO.getId());
+//                    printReqVO.setTemplateId(orderReportDO.getTemplateId());
+//                } else if (Integer.valueOf(200).equals(taskOrderSignFileDO.getBusinessType())) {
+//
+//                } else if (Integer.valueOf(300).equals(taskOrderSignFileDO.getBusinessType()) || Integer.valueOf(400).equals(taskOrderSignFileDO.getBusinessType())) {
+//                }
+//                byteArrayOutputStream = pipeTaskOrderInputService.printPipeTaskOrderInput(printReqVO);
+//
+//                if (Objects.equals(env, "uat") && Integer.valueOf(100).equals(taskOrderSignFileDO.getBusinessType())) {
+//                    if (Integer.valueOf(100).equals(reqVO.getBusinessType())) {
+//                        List<SignValuesDTO> valuesDTOList = Lists.newArrayList();
+//                        SignValuesDTO valuesDTO1 = new SignValuesDTO();
+//                        valuesDTO1.setTextonce(0);
+//                        if (Integer.valueOf(200).equals(taskOrderDO.getCheckType())) {
+//                            valuesDTO1.setSealType("6");
+//                            valuesDTO1.setText("机构公章或");
+//                        } else {
+//                            valuesDTO1.setSealType("6");
+//                            valuesDTO1.setText("机构公章或");
+//                        }
+//                        valuesDTOList.add(valuesDTO1);
+//                        byte[] byteUrl = this.sign(byteArrayOutputStream.toByteArray(), valuesDTOList, null);
+//                        //上传至资源服务器并获取url
+//                        filePath = fileApi.createFile(byteUrl);
+//                        LambdaUpdateWrapper<BoilerTaskOrderSignFileDO> updateWrapper = new LambdaUpdateWrapper<>();
+//                        updateWrapper.eq(BoilerTaskOrderSignFileDO::getId, taskOrderSignFileDO.getId());
+//                        updateWrapper.set(BoilerTaskOrderSignFileDO::getSignFilePdf, filePath);
+//                        boilerTaskOrderSignFileService.update(updateWrapper);
+//                    }
+//                } else {
+//                    filePath = fileApi.createFile(byteArrayOutputStream.toByteArray());
+//                    LambdaUpdateWrapper<BoilerTaskOrderSignFileDO> updateWrapper = new LambdaUpdateWrapper<>();
+//                    updateWrapper.eq(BoilerTaskOrderSignFileDO::getId, taskOrderSignFileDO.getId());
+//                    updateWrapper.set(BoilerTaskOrderSignFileDO::getSignFilePdf, filePath);
+//                    boilerTaskOrderSignFileService.update(updateWrapper);
 //                }
+//            } else {
+//                throw exception(new ErrorCode(1000, "不存在签名信息pdf下载失败"));
 //            }
-
-            //获取任务单签名文件信息
-            BoilerTaskOrderSignFileDO taskOrderSignFileDO = boilerTaskOrderSignFileService.selectLastOneByOrderIdAndBusinessType(taskOrderDO.getId(), reqVO.getBusinessType(), reqVO.getOrderItemId(), reqVO.getSecurityCheckId());
-            if (ObjectUtil.isNotEmpty(taskOrderSignFileDO) && StringUtils.isNotEmpty(taskOrderSignFileDO.getSignUrl())) {
-                ByteArrayOutputStream byteArrayOutputStream = null;
-                byte[] imageData = fileApi.getFileByPath(taskOrderSignFileDO.getSignUrl()).getData();
-                PipeTaskOrderInputPrintReqVO printReqVO = new PipeTaskOrderInputPrintReqVO();
-                if (Integer.valueOf(100).equals(taskOrderSignFileDO.getBusinessType())) {
-                    List<OrderReportDO> orderReportDOS = orderReportMapper.selectList(OrderReportDO::getTaskOrderId, taskOrderDO.getId());
-                    OrderReportDO orderReportDO = orderReportDOS.get(0);
-                    printReqVO.setId(orderReportDO.getId());
-                    printReqVO.setTemplateId(orderReportDO.getTemplateId());
-                } else if (Integer.valueOf(200).equals(taskOrderSignFileDO.getBusinessType())) {
-
-                } else if (Integer.valueOf(300).equals(taskOrderSignFileDO.getBusinessType()) || Integer.valueOf(400).equals(taskOrderSignFileDO.getBusinessType())) {
-                }
-                    byteArrayOutputStream = pipeTaskOrderInputService.printPipeTaskOrderInput(printReqVO);
-
-                if (Objects.equals(env, "uat") && Integer.valueOf(100).equals(taskOrderSignFileDO.getBusinessType())) {
-                    if (Integer.valueOf(100).equals(reqVO.getBusinessType())) {
-                        List<SignValuesDTO> valuesDTOList = Lists.newArrayList();
-                        SignValuesDTO valuesDTO1 = new SignValuesDTO();
-                        valuesDTO1.setTextonce(0);
-                        if (Integer.valueOf(200).equals(taskOrderDO.getCheckType())) {
-                            valuesDTO1.setSealType("6");
-                            valuesDTO1.setText("机构公章或");
-                        } else {
-                            valuesDTO1.setSealType("6");
-                            valuesDTO1.setText("机构公章或");
-                        }
-                        valuesDTOList.add(valuesDTO1);
-                        byte[] byteUrl = this.sign(byteArrayOutputStream.toByteArray(), valuesDTOList, null);
-                        //上传至资源服务器并获取url
-                        filePath = fileApi.createFile(byteUrl);
-                        LambdaUpdateWrapper<BoilerTaskOrderSignFileDO> updateWrapper = new LambdaUpdateWrapper<>();
-                        updateWrapper.eq(BoilerTaskOrderSignFileDO::getId, taskOrderSignFileDO.getId());
-                        updateWrapper.set(BoilerTaskOrderSignFileDO::getSignFilePdf, filePath);
-                        boilerTaskOrderSignFileService.update(updateWrapper);
-                    }
-                } else {
-                    filePath = fileApi.createFile(byteArrayOutputStream.toByteArray());
-                    LambdaUpdateWrapper<BoilerTaskOrderSignFileDO> updateWrapper = new LambdaUpdateWrapper<>();
-                    updateWrapper.eq(BoilerTaskOrderSignFileDO::getId, taskOrderSignFileDO.getId());
-                    updateWrapper.set(BoilerTaskOrderSignFileDO::getSignFilePdf, filePath);
-                    boilerTaskOrderSignFileService.update(updateWrapper);
-                }
-            } else {
-                throw exception(new ErrorCode(1000, "不存在签名信息pdf下载失败"));
-            }
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
         return filePath;
     }
 
-    private byte[] sign(byte[] bytes, List<SignValuesDTO> valuesDTOList, QrCodeValuesDTO qrCodeValuesDTO) throws Exception {
-        CntSignReqDTO signReqDTO = new CntSignReqDTO();
-        signReqDTO.setBytes(bytes);
-        signReqDTO.setValuesDTOList(valuesDTOList);
-        signReqDTO.setQrCodeValuesDTO(qrCodeValuesDTO);
-        CntSignResponseRepsDTO signRepsDTO = signApi.sign(signReqDTO).getCheckedData();
-        String signUrl = signRepsDTO.getRecord_saved_urls().get(0);
-        log.info("signUrl:" + signUrl);
-        return signApi.getSignFile(signUrl).getCheckedData();
-    }
+//    private byte[] sign(byte[] bytes, List<SignValuesDTO> valuesDTOList, QrCodeValuesDTO qrCodeValuesDTO) throws Exception {
+//        CntSignReqDTO signReqDTO = new CntSignReqDTO();
+//        signReqDTO.setBytes(bytes);
+//        signReqDTO.setValuesDTOList(valuesDTOList);
+//        signReqDTO.setQrCodeValuesDTO(qrCodeValuesDTO);
+//        CntSignResponseRepsDTO signRepsDTO = signApi.sign(signReqDTO).getCheckedData();
+//        String signUrl = signRepsDTO.getRecord_saved_urls().get(0);
+//        log.info("signUrl:" + signUrl);
+//        return signApi.getSignFile(signUrl).getCheckedData();
+//    }
 }