From ed277ece348dae9bc6e36c0fc9f69ae8a3825912 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期四, 18 四月 2024 17:57:55 +0800
Subject: [PATCH] 填鸭表单

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
index 5c90bd6..bb3e3be 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -77,6 +77,8 @@
     private ITjReportTemplateService reportTemplateService;
     @Value("${path.filePath}")
     private String value;
+    @Value("${path.reportServer}")
+    private String urlValue;
     @Resource
     private ISysUserService userService;
     @Resource
@@ -300,11 +302,7 @@
 
 
 
-            String template = reportTemplate.getTemplate();
 
-            String userId = SecurityUtils.getLoginUser().getUsername();
-            PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
-            // --------浠ヤ笂-------  鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢  杞琾df  鍒涘缓鏂囦欢澶�  灏唒df鏀捐繘鏈湴鏂囦欢澶�
 
             //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
             LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
@@ -336,6 +334,16 @@
                     tjOrderService.update(updateWrapper);
                     return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒");
                 }
+
+
+
+                String template = reportTemplate.getTemplate();
+                String userId = SecurityUtils.getLoginUser().getUsername();
+                if (template!=null){
+                    PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
+                }
+                // --------浠ヤ笂-------  鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢  杞琾df  鍒涘缓鏂囦欢澶�  灏唒df鏀捐繘鏈湴鏂囦欢澶�
+
 
                 LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
                 wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
@@ -696,7 +704,7 @@
 
                     TjReport tjReport = new TjReport();
                     tjReport.setTjNumber(String.valueOf(tjNumber));
-                    tjReport.setPath(outputPath1 + outputFileName1);
+                    tjReport.setPath(urlValue + outputFileName1);
                     String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
                     tjReport.setReport(pdfBinary);
                     tjReport.setType("浣撴鎶ュ憡");
@@ -734,13 +742,14 @@
     //闈炲寲楠岄」鐩姤鍛�
     public Map<TjOrderRemark, List<TjPdfVO>> addTable(String tjNumber) {
         //鍒涘缓map 閿负鐖堕」鐩�  鍊间负瀛愰」鐩泦鍚�
-        Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
+        Map<TjOrderRemark, List<TjPdfVO>> printReport = new LinkedHashMap<>();
 
         //鏌ュ埌璇ュ鎴风殑浣撴璁板綍
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
         wq1.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder one = tjOrderService.getOne(wq1);
 
+/*
         //鎷垮埌浣撴璁板綍鐨刼rderid锛屾煡鍑洪」鐩缁嗕俊鎭�
         LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
         wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
@@ -748,7 +757,7 @@
         wq.ne(TjOrderDetail::getTjStatus, 0);
         wq.ne(TjOrderDetail::getProId,projectService.getHuaYanProId());
         wq.eq(TjOrderDetail::getProId,projectService.getNotCcCtXdtProId());
-        wq.notIn(TjOrderDetail::getProId,projectService.getNneedReprotProId());
+//        wq.notIn(TjOrderDetail::getProId,projectService.getNneedReprotProId());
         List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq);
 
         //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
@@ -759,6 +768,7 @@
                 tjOrderDetail.setProject(tjProject);
             }
         }
+*/
 
         LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>();
         wq22.eq(TjCustomer::getCusId, one.getUserId());
@@ -766,7 +776,7 @@
         LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
         wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
         wqq.ne(TjOrderRemark::getDeptId,"241");
-        wqq.in(TjOrderRemark::getDeptId,"269","270","253","254","255","257");
+        wqq.in(TjOrderRemark::getDeptId,"269","270","253","254","255","257","251","271");
         wqq.notIn(TjOrderRemark::getProId,projectService.getNneedReprotProId());
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
 
@@ -775,7 +785,7 @@
             printReport.put(tjOrderRemark,null);
         }
 
-        extracted(printReport, tjOrderDetails, customer);
+        extracted(printReport,one, customer);
         return printReport;
     }
 
@@ -783,7 +793,7 @@
     //鍖栭獙椤圭洰鎶ュ憡
     public Map<TjOrderRemark, List<TjPdfVO>> addHuaYanTable(String tjNumber) {
         //鍒涘缓map 閿负鐖堕」鐩�  鍊间负瀛愰」鐩泦鍚�
-        Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
+        Map<TjOrderRemark, List<TjPdfVO>> printReport = new LinkedHashMap<>();
         //鏌ュ埌璇ュ鎴风殑浣撴璁板綍
 //        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
 //        wq1.eq(TjOrder::getTjNumber, tjNumber);
@@ -818,13 +828,18 @@
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark,null);
         }
+        List<Object> toRemoveKeys = new ArrayList<>();
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             List<TjPdfVO> tjPdfVOS = new ArrayList<>();
             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                     if(entry.getKey().getProId().equals(tjOrderDetail.getProId())){
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProName());
-                        tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        if(null !=tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")){
+                            tjPdfVO.setProResult(tjOrderDetail.getProResult()+" ["+tjOrderDetail.getYcbz()+"]");
+                        }else {
+                            tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        }
                         tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                         tjPdfVO.setStandardValue(tjOrderDetail.getStanId());
                         tjPdfVO.setCompany(tjOrderDetail.getProAdvice());
@@ -832,14 +847,23 @@
                     }
             }
             printReport.put(entry.getKey(), tjPdfVOS);
+            if(tjPdfVOS.size()==0)
+            {toRemoveKeys.add(entry.getKey());}
         }
+        toRemoveKeys.forEach(printReport::remove);
         return printReport;
     }
 
-    private void extracted(Map<TjOrderRemark, List<TjPdfVO>> printReport, List<TjOrderDetail> tjOrderDetails, TjCustomer customer) {
+    private void extracted(Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             List<TjPdfVO> tjPdfVOS = new ArrayList<>();
+//            TjOrder one = tjOrderService.getOrderByTjNum(entry.getKey().getTjNumber());
+            List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(),entry.getKey().getProId());
             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
+                if (null != tjProject) {
+                    tjOrderDetail.setProject(tjProject);
+                }
                 if (null == tjOrderDetail.getProject()) {
                     System.out.println("'''''''''''''''''''''''''''''''''''" + tjOrderDetail.getOrderDetailId());
                 }
@@ -909,6 +933,9 @@
         we.eq(TjReport::getTjNumber, tjNumber);
         we.eq(TjReport::getType, "浣撴鎶ュ憡");
         TjReport one = tjReportService.getOne(we);
+        if (one==null){
+            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡");
+        }
         if ("pdf".equals(one.getPrint())){
             res.put("flag","0");
             return AjaxResult.success(res);

--
Gitblit v1.8.0