From ab0b2ea827a5116c1bcc8d57b082e14aff34e1d2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期一, 27 五月 2024 17:49:48 +0800
Subject: [PATCH] 修改线程池创建方式,增加时间非空判断

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |   98 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 88 insertions(+), 10 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 32a9b70..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
@@ -297,11 +299,10 @@
                 tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
                 reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2);
             }
-            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<>();
@@ -315,6 +316,35 @@
 
             Integer checkStatus = tjOrder.getCheckStatus();
             if (checkStatus == 1) {
+                //鍒ゆ柇鎶ュ憡鐢熸垚 淇濆瓨绫诲瀷 2024/2/29
+                if ("鎶ヨ〃".equals(reportTemplate.getPrint())){
+                    TjReport tjReport = new TjReport();
+                    tjReport.setTjNumber(String.valueOf(tjNumber));
+                    tjReport.setPath(reportTemplate.getUrl()+"?tjNum="+tjNumber);
+                    tjReport.setType("浣撴鎶ュ憡");
+                    tjReport.setPrint("鎶ヨ〃");
+                    tjReportService.save(tjReport);
+                    //淇敼order琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿
+                    LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
+                    updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
+                    updateWrapper.set(TjOrder::getReportTime, new Date());
+                    updateWrapper.set(TjOrder::getPrintLastTime, new Date());
+                    updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
+                    updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
+                    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());
                 TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
@@ -674,10 +704,11 @@
 
                     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("浣撴鎶ュ憡");
+                    tjReport.setPrint("pdf");
                     tjReportService.save(tjReport);
 
                     //FileUtil.del(value + "\\" + tjNumber + "浣撴鎶ュ憡.pdf");
@@ -711,19 +742,22 @@
     //闈炲寲楠岄」鐩姤鍛�
     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());
         //20230323鍒ゆ柇椤圭洰宸叉
         wq.ne(TjOrderDetail::getTjStatus, 0);
         wq.ne(TjOrderDetail::getProId,projectService.getHuaYanProId());
+        wq.eq(TjOrderDetail::getProId,projectService.getNotCcCtXdtProId());
+//        wq.notIn(TjOrderDetail::getProId,projectService.getNneedReprotProId());
         List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq);
 
         //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
@@ -734,6 +768,7 @@
                 tjOrderDetail.setProject(tjProject);
             }
         }
+*/
 
         LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>();
         wq22.eq(TjCustomer::getCusId, one.getUserId());
@@ -741,6 +776,8 @@
         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","251","271");
+        wqq.notIn(TjOrderRemark::getProId,projectService.getNneedReprotProId());
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
 
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
@@ -748,7 +785,7 @@
             printReport.put(tjOrderRemark,null);
         }
 
-        extracted(printReport, tjOrderDetails, customer);
+        extracted(printReport,one, customer);
         return printReport;
     }
 
@@ -756,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);
@@ -791,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());
@@ -805,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());
                 }
@@ -874,6 +925,32 @@
     }
 
 
+    @GetMapping("/isPdfOrJimu")
+    @ApiOperation(value = "鍒ゆ柇鎶ュ憡鎵撳紑绫诲瀷")
+    public AjaxResult isPdfOrJimu(String tjNumber) {
+        Map<String,String> res=new HashMap<>();
+        LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
+        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);
+        }else if ("鎶ヨ〃".equals(one.getPrint())){
+            res.put("flag","1");
+            res.put("url",one.getPath());
+            return AjaxResult.success(res);
+        }else {
+            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡");
+        }
+
+    }
+
+
+
     @GetMapping("/preview/{flag}/{TjNumber}")
     @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
     public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) {
@@ -903,6 +980,7 @@
         if (one == null) {
             return;
         }
+
         String userId = SecurityUtils.getLoginUser().getUsername();
         PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
         //String filePath = one.getPath();

--
Gitblit v1.8.0