From b6f742f5fd549231c46cccd11647946422a6e93a Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期二, 05 三月 2024 18:53:33 +0800
Subject: [PATCH] zjh 本地 2024/03/5 -2

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |  324 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 254 insertions(+), 70 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 4fc925b..914a6e3 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
@@ -72,13 +72,13 @@
     @Resource
     private ITjStandardService tjStandardService;
     @Resource
-    private ITjAdviceService tjAdviceService;
-    @Resource
     private IDictCompService dictCompService;
     @Resource
     private ITjReportTemplateService reportTemplateService;
     @Value("${path.filePath}")
     private String value;
+    @Value("${path.reportServer}")
+    private String urlValue;
     @Resource
     private ISysUserService userService;
     @Resource
@@ -92,6 +92,42 @@
     private ISysDictDataService dictDataService;
     @Resource
     private ITbTransitionService transitionService;
+
+    @Autowired
+    private ITjBigPositiveService tjBigPositiveService;
+
+    @GetMapping("/savePdf")
+    @ApiOperation(value = "浠庢湰鍦板瓨鍌ㄦā鏉垮埌鏁版嵁搴�")
+    public AjaxResult savePdf() {
+        //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢  浠呭瓨鍌ㄤ竴娆�
+        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\浣撴妯℃澘5.pdf");
+        TjReportTemplate tem = new TjReportTemplate();
+        tem.setName("浣撴鎶ュ憡妯℃澘5");
+        tem.setRemark("浣撴鎶ュ憡妯℃澘5");
+        tem.setTemplate(base64String);
+        tem.setFlag("1");
+        tem.setOpen("0");
+        final boolean save = reportTemplateService.save(tem);
+        if(save){
+            return AjaxResult.success("淇濆瓨鎴愬姛");
+        }
+        return AjaxResult.success("淇濆瓨澶辫触");
+//        String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\蹇冪數鍥�1.pdf");
+//        TjReport tem2 = new TjReport();
+//        tem2.setTjNumber(tjNumber);
+//        tem2.setReport(base64String2);
+//        tem2.setType("蹇冪數鍥�");
+//        tjReportService.save(tem2);
+//
+//        String base64String1 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\闄勪欢2.pdf");
+//        TjReport tem1 = new TjReport();
+//        tem1.setTjNumber(tjNumber);
+//        tem1.setReport(base64String1);
+//        tem1.setType("闄勪欢");
+//        tjReportService.save(tem1);
+
+    }
+
 
     //    /* *//**
 //     * 鏌ヨ浣撴鎶ュ憡瀛樺偍鍒楄〃
@@ -228,41 +264,8 @@
     @Transactional
     public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "浣撴鍙�") String tjNumber) {
 
-        //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢  浠呭瓨鍌ㄤ竴娆�
-//        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\浣撴妯℃澘4.pdf");
-//        TjReportTemplate tem = new TjReportTemplate();
-//        tem.setName("浣撴鎶ュ憡妯℃澘4");
-//        tem.setRemark("浣撴鎶ュ憡妯℃澘4");
-//        tem.setTemplate(base64String);
-//        tem.setFlag("1");
-//        tem.setOpen("0");
-//        reportTemplateService.save(tem);
-//        String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\蹇冪數鍥�1.pdf");
-//        TjReport tem2 = new TjReport();
-//        tem2.setTjNumber(tjNumber);
-//        tem2.setReport(base64String2);
-//        tem2.setType("蹇冪數鍥�");
-//        tjReportService.save(tem2);
-//
-//        String base64String1 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\闄勪欢2.pdf");
-//        TjReport tem1 = new TjReport();
-//        tem1.setTjNumber(tjNumber);
-//        tem1.setReport(base64String1);
-//        tem1.setType("闄勪欢");
-//        tjReportService.save(tem1);
-//
-//        String base64String3 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\鍖诲鍚嶈瘝.pdf");
-//        TjReport tem3 = new TjReport();
-//        tem3.setTjNumber(tjNumber);
-//        tem3.setReport(base64String3);
-//        tem3.setType("鍖诲鍚嶈瘝");
-//        tjReportService.save(tem3);
-
-
         int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
         if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
-
-
         LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
         wq.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder tjOrder = tjOrderService.getOne(wq);
@@ -296,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<>();
@@ -314,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);
@@ -404,12 +435,40 @@
                         data.put("docname", tjOrder.getCheckDoctor());
                     }
                     //寮傚父椤圭洰
-                    data.put("yichang", "銆�1銆戝眻鍏変笉姝n" +
-                            "銆�2銆戞墎妗冧綋鑲モ激\n" +
-                            "銆�3銆戜綋閲嶆寚鏁板饩糪n" +
-                            "銆�4銆戔編鑴傚紓甯革紙鎬昏儐鍥洪唶澧炩炯锛涒舰娌逛笁閰饩硷級\n" +
-                            "銆�5銆懳�-饩曟皑閰拌浆绉婚叾澧炩炯锛涘ぉ饣斿啲姘ㄩ吀姘ㄥ熀杞Щ閰跺饩硷紱涓欐皑閰告皑鍩鸿浆绉婚叾澧炩炯\n" +
-                            "銆�6銆戣交饩勪腑搴﹁剛鑲倽");
+//                    data.put("yichang", "銆�1銆戝眻鍏変笉姝n" +
+//                            "銆�2銆戞墎妗冧綋鑲モ激\n" +
+//                            "銆�3銆戜綋閲嶆寚鏁板饩糪n" +
+//                            "銆�4銆戔編鑴傚紓甯革紙鎬昏儐鍥洪唶澧炩炯锛涒舰娌逛笁閰饩硷級\n" +
+//                            "銆�5銆懳�-饩曟皑閰拌浆绉婚叾澧炩炯锛涘ぉ饣斿啲姘ㄩ吀姘ㄥ熀杞Щ閰跺饩硷紱涓欐皑閰告皑鍩鸿浆绉婚叾澧炩炯\n" +
+//                            "銆�6銆戣交饩勪腑搴﹁剛鑲倽");
+
+                    //鎷兼帴閲嶅ぇ闃虫�х粨鏋�
+                    StringBuffer str=new StringBuffer();
+                    str.append("銆愰噸澶ч槼鎬ч」鐩�慭n");
+                    LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper=new LambdaQueryWrapper<>();
+                    bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber,tjNumber);
+                    final List<TjBigPositive> list1 = tjBigPositiveService.list(bigPositiveLambdaQueryWrapper);
+                    if(list1!=null&&list1.size()>0){
+                        for (int i = 0; i < list1.size(); i++) {
+                            str.append((i+1)+"銆�"+list1.get(i).getProName()+";\n");
+                        }
+                    }else {
+                        str.append("    鏃狅紱\n");
+                    }
+                    //鎷兼帴寮傚父椤圭洰
+                    str.append("銆愬紓甯告儏鍐甸」鐩�慭n");
+                    if(list.size()>0){
+                        for (int i = 0; i < list.size(); i++) {
+                            if (list.get(i).getExceptionDesc()==1){
+                                str.append((i+1)+"銆�"+projectService.getById(list.get(i).getProId()).getProName()+";\n");
+                            }
+                        }
+                    }else {
+                        str.append("    鏃狅紱\n");
+                    }
+
+                    //寮傚父椤圭洰
+                    data.put("yichang", str.toString());
 
                     // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪��
                     for (String key : data.keySet()) {
@@ -440,17 +499,20 @@
 
 
                     Map<TjOrderRemark, List<TjPdfVO>> tjOrderRemarkObjectMap = addTable(tjNumber);
+                    Map<TjOrderRemark, List<TjPdfVO>> tjOrderRemarkListMap = addHuaYanTable(tjNumber);
+                    tjOrderRemarkObjectMap.putAll(tjOrderRemarkListMap);
                     for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : tjOrderRemarkObjectMap.entrySet()) {
                         List<TjPdfVO> value = entry.getValue();
                         LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
                         wqqq.eq(TjProject::getProId, entry.getKey().getProId());
                         TjProject one11 = projectService.getOne(wqqq);
                         //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
-                        if ("N".equals(one11.getNeedReport())){
+                        if (null !=one11 && "N".equals(one11.getNeedReport())){
                             continue;
                         }
-                        if ("1".equals(one11.getResultType())) {
-                            String titleName = one11.getProName();
+                        String titleName =null;
+                        if (null !=one11 && "1".equals(one11.getResultType())) {
+                             titleName =one11.getProName();
                             // 璁剧疆鏍囬瀛椾綋鏍峰紡
                             Font titleFonts = PdfUtils.setFont(9);
                             Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
@@ -514,7 +576,12 @@
                             LineSeparator objectName = new LineSeparator();
                             document.add(objectName);
                         } else {
-                            String titleName = one11.getProName();
+                            if(null !=one11){
+                                titleName = one11.getProName();
+                            }else {
+                                titleName = entry.getKey().getProName();
+                            }
+
                             // 璁剧疆鏍囬瀛椾綋鏍峰紡
                             Font titleFonts = PdfUtils.setFont(9);
                             Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
@@ -592,23 +659,39 @@
 
                     LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>();
                     rtwq.eq(TjReport::getType, "蹇冪數鍥�");
-//                    rtwq.eq(TjReport::getTjNumber, tjNumber);
+                    rtwq.eq(TjReport::getTjNumber, tjNumber);
                     TjReport one1111 = tjReportService.getOne(rtwq);
                     if(null !=one1111){
                         String report = one1111.getReport();
-                        PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "蹇冪數鍥�.pdf");
+                        PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" +tjNumber+ userId + "蹇冪數鍥�.pdf");
                     }
 
                     LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>();
                     rtwq12.eq(TjReport::getType, "闄勪欢");
-//                    rtwq12.eq(TjReport::getTjNumber, tjNumber);
+                    rtwq12.eq(TjReport::getTjNumber, tjNumber);
                     TjReport one111112 = tjReportService.getOne(rtwq12);
                     if(null !=one111112){
                         String report12 = one111112.getReport();
-                        PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "闄勪欢.pdf");
+                        PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" +tjNumber+ userId + "闄勪欢.pdf");
+                    }
+
+                    //鍚堝苟
+                    String[] files1=null;
+                    if (one1111!=null ){
+                        if (one111112!=null){
+                            files1 = new String[ ]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
+                        }else {
+                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf",value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
+                        }
+                    }else {
+                        if (one111112!=null){
+                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "闄勪欢.pdf"};
+                        }else {
+                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"};
+                        }
                     }
                     //鍚堝苟
-                    String[] files1 = {value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + userId + "闄勪欢.pdf", value + "\\" + userId + "蹇冪數鍥�.pdf"};
+//                    String[] files1 = {value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" +tjNumber+ userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
                     String outputPath1 = value + "\\";
                     String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
 
@@ -621,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");
@@ -655,7 +739,7 @@
         }
         return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
     }
-
+    //闈炲寲楠岄」鐩姤鍛�
     public Map<TjOrderRemark, List<TjPdfVO>> addTable(String tjNumber) {
         //鍒涘缓map 閿负鐖堕」鐩�  鍊间负瀛愰」鐩泦鍚�
         Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
@@ -665,11 +749,15 @@
         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);
 
         //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
@@ -680,27 +768,102 @@
                 tjOrderDetail.setProject(tjProject);
             }
         }
+*/
 
         LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>();
         wq22.eq(TjCustomer::getCusId, one.getUserId());
         TjCustomer customer = tjCustomerService.getOne(wq22);
         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) {
-            printReport.put(tjOrderRemark, null);
+
+            printReport.put(tjOrderRemark,null);
         }
 
+        extracted(printReport,one, customer);
+        return printReport;
+    }
+
+
+    //鍖栭獙椤圭洰鎶ュ憡
+    public Map<TjOrderRemark, List<TjPdfVO>> addHuaYanTable(String tjNumber) {
+        //鍒涘缓map 閿负鐖堕」鐩�  鍊间负瀛愰」鐩泦鍚�
+        Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
+        //鏌ュ埌璇ュ鎴风殑浣撴璁板綍
+//        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.eq(TjOrderDetail::getProId,projectService.getHuaYanProId());
+//        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq);
+        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanTable(tjNumber);
+        //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
+        //閬嶅巻瀹㈡埛鎵�閫夌殑椤圭洰(鍖呭惈瀛愰」鐖堕」)
+//        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+//            TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
+//            if (null != tjProject) {
+//                tjOrderDetail.setProject(tjProject);
+//            }
+//        }
+
+//        LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>();
+//        wq22.eq(TjCustomer::getCusId, one.getUserId());
+//        TjCustomer customer = tjCustomerService.getOne(wq22);
+//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
+//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
+//        wqq.eq(TjOrderRemark::getDeptId,"241");
+//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanTable(tjNumber);
+
+        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());
+                        tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
+                        tjPdfVO.setStandardValue(tjOrderDetail.getStanId());
+                        tjPdfVO.setCompany(tjOrderDetail.getProAdvice());
+                        tjPdfVOS.add(tjPdfVO);
+                    }
+            }
+            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, 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());
                 }
-
                 if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) {
-
                     LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                     wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                     List<TjStandard> list2 = tjStandardService.list(wq6);
@@ -755,8 +918,33 @@
             }
             printReport.put(entry.getKey(), tjPdfVOS);
         }
-        return printReport;
     }
+
+
+    @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}")
@@ -788,6 +976,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();
@@ -1387,25 +1576,20 @@
         LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
         wqq.like(TjOrder::getUserId, cusId);
         List<TjOrder> orderList = tjOrderService.list(wqq);
-        if (orderList!=null){
+        if (orderList!=null && orderList.size()>0){
             for (TjOrder tjOrder : orderList) {
                 if (tjOrder!=null){
                     LambdaQueryWrapper<TjReport> wq = new LambdaQueryWrapper<>();
                     wq.eq(TjReport::getTjNumber, tjOrder.getTjNumber());
                     wq.eq(TjReport::getType,"浣撴鎶ュ憡");
-                    res.add(tjReportService.getOne(wq));
+                    TjReport one = tjReportService.getOne(wq);
+                    if(null !=one){
+                        res.add(one);
+                    }
                 }
             }
             return AjaxResult.success(res);
         }
         return AjaxResult.error("鏆傛棤鍘嗗彶鎶ュ憡");
     }
-
-
-
-
-
-
-
-
 }

--
Gitblit v1.8.0