From c42f62b32bac302a7ac9fcde7489f7c5fc6e11aa Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 06 十二月 2024 15:35:17 +0800
Subject: [PATCH] zjh20241205-3

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |  134 +++++++++++++++++++++++++-------------------
 1 files changed, 75 insertions(+), 59 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 57ceb07..5441cdd 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
@@ -58,7 +58,7 @@
  */
 @RestController
 @RequestMapping("/system/report")
-@Api(tags = "浣撴鎶ュ憡")
+@Api(tags = "AAAA_浣撴鎶ュ憡")
 @Transactional
 public class TjReportController extends BaseController {
     @Resource
@@ -105,13 +105,15 @@
     @ApiOperation(value = "浠庢湰鍦板瓨鍌ㄦā鏉垮埌鏁版嵁搴�")
     public AjaxResult savePdf() {
         //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢  浠呭瓨鍌ㄤ竴娆�
-        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\浣撴妯℃澘5.pdf");
+        String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template"));
+        reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"浣撴鎶ュ憡妯℃澘5"));
         TjReportTemplate tem = new TjReportTemplate();
         tem.setName("浣撴鎶ュ憡妯℃澘5");
         tem.setRemark("浣撴鎶ュ憡妯℃澘5");
         tem.setTemplate(base64String);
         tem.setFlag("1");
         tem.setOpen("0");
+        tem.setCreateTime(DateUtil.date());
         final boolean save = reportTemplateService.save(tem);
         if (save) {
             return AjaxResult.success("淇濆瓨鎴愬姛");
@@ -271,7 +273,7 @@
     @ApiOperation(value = "鎵撳嵃浣撴鎶ュ憡涓簆df")
     @Transactional
     public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "浣撴鍙�") String tjNumber) {
-        AjaxResult error = null;
+        //        AjaxResult error = null;
         // 涔嬪墠鐨勪唬鐮� 浼樺寲閫熷害
 //        System.out.println("----------------------------------oldFun寮�濮�-------------------------------------------------------");
 //        error = oldFun(tjNumber);
@@ -297,24 +299,29 @@
 //            return error;
 //        }
 //        return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
-        int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
-        if (num > 0) {
-            return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
+        String config = configService.selectConfigByKey("sfjcwjhyqxm");
+        if(null != config && config.equalsIgnoreCase("Y")){
+            int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
+            if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
         }
-        //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
-        LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
-        wqa.eq(TjReport::getTjNumber, tjNumber);
-        wqa.eq(TjReport::getType, "浣撴鎶ュ憡");
-        Integer count = tjReportService.getSelectCount(wqa);
-        if (count != 0) {
-            return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
-        }
+
 //        String configByKey = configService.selectConfigByKey("sfkqdyhis");
         String configByKey = "Y";
         LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder tjOrder = tjOrderService.getOne(queryWrapper);
         if (null != tjOrder) {
+
+            //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
+            LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
+            wqa.eq(TjReport::getTjNumber, tjNumber);
+            wqa.eq(TjReport::getType, "浣撴鎶ュ憡");
+            Integer count = tjReportService.getSelectCount(wqa);
+
+            if (tjOrder.getReportTime() !=null ||  count != 0  ) {
+                return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
+            }
+
             LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
             tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
             tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
@@ -382,30 +389,7 @@
                 wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
                 TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
                 try {
-                    AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
-                    if (!ajaxResult.get("code").toString().equals("200")) {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    } else {
-                        Long userId = tjCustomer.getCusId();
-                        String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
-                        TjReport tjReport = new TjReport();
-                        tjReport.setTjNumber(String.valueOf(tjNumber));
-                        tjReport.setPath(urlValue + outputFileName1);
-                        String outputPath1 = value + "\\";
-                        String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
-                        tjReport.setReport(pdfBinary);
-                        tjReport.setType("浣撴鎶ュ憡");
-                        tjReport.setPrint("pdf");
-                        tjReportService.save(tjReport);
-                        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;
+                    return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate);
                 } catch (Exception e) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     e.printStackTrace();
@@ -421,6 +405,37 @@
         return AjaxResult.error();
     }
 
+    public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) throws Exception {
+        AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
+        if (!ajaxResult.get("code").toString().equals("200")) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        } else {
+            Long userId = tjCustomer.getCusId();
+            String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
+            TjReport tjReport = new TjReport();
+            tjReport.setTjNumber(String.valueOf(tjNumber));
+            tjReport.setPath(urlValue + outputFileName1);
+            String outputPath1 = value + File.separator;
+            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
+            tjReport.setReport(pdfBinary);
+            tjReport.setType("浣撴鎶ュ憡");
+            tjReport.setPrint("pdf");
+            tjReportService.save(tjReport);
+            Date date = new Date();
+            //            LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
+//            updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
+//            updateWrapper.set(TjOrder::getReportTime, date);
+//            updateWrapper.set(TjOrder::getPrintLastTime, date);
+//            updateWrapper.set(TjOrder::getDownloadLastTime,date);
+//            updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
+            tjOrder.setStatus(TjConstants.TJ_END);
+            tjOrder.setReportTime(date);
+            tjOrder.setPrintLastTime(date);
+            tjOrder.setDownloadLastTime(date);
+            tjOrderService.updateById(tjOrder);
+        }
+        return ajaxResult;
+    }
 
 
     /**
@@ -684,7 +699,7 @@
                     System.out.println("鏂囦欢淇濆瓨鍓嶈�楁椂锛�" + (fujianEnd - pdfMkStart));
                     // 淇濆瓨pdf鏂囦欢
                     copy.close();
-                    String outputPath1 = value + "\\";
+                    String outputPath1 = value + File.separator;
                     String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "new_浣撴鎶ュ憡.pdf";
                     File file = new File(outputPath1 + outputFileName1);
                     BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
@@ -1010,7 +1025,7 @@
                 String template = reportTemplate.getTemplate();
                 String userId = SecurityUtils.getLoginUser().getUsername();
                 if (template != null) {
-                    PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
+                    PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
                 }
                 // --------浠ヤ笂-------  鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢  杞琾df  鍒涘缓鏂囦欢澶�  灏唒df鏀捐繘鏈湴鏂囦欢澶�
 
@@ -1033,8 +1048,8 @@
                     tjOrderDetail.setProject(tjProject);
                 }
 
-                String inputFileName = value + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf";
-                String outputFileName = value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf";
+                String inputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf";
+                String outputFileName = value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf";
                 OutputStream os = null;
                 PdfStamper ps = null;
                 PdfReader reader = null;
@@ -1157,7 +1172,7 @@
                     //璁剧疆鏂囨。鐨勯〉杈硅窛灏辨槸璺濈椤甸潰杈逛笂鐨勮窛绂伙紝鍒嗗埆涓猴細宸﹁竟璺濓紝鍙宠竟璺濓紝涓婅竟璺濓紝涓嬭竟璺�
                     document.setMargins(70, 70, 40, 40);
                     //鐢熸垚pdf鐨勪綅缃互鍙婂悕绉�
-                    String fileName = value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf";
+                    String fileName = value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf";
                     OutputStream outputStream = Files.newOutputStream(Paths.get(fileName));
                     PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream);
 
@@ -1324,7 +1339,7 @@
 //                    TjReport one11111 = tjReportService.getOne(rtwq1);
 //                    if(null !=one11111){
 //                        String report1 = one11111.getReport();
-//                        PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "鍖诲鍚嶈瘝.pdf");
+//                        PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + File.separator + userId + "鍖诲鍚嶈瘝.pdf");
 //                    }
 
                     LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>();
@@ -1333,7 +1348,7 @@
                     TjReport one1111 = tjReportService.getOne(rtwq);
                     if (null != one1111) {
                         String report = one1111.getReport();
-                        PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf");
+                        PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf");
                     }
 
                     LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>();
@@ -1342,27 +1357,27 @@
                     TjReport one111112 = tjReportService.getOne(rtwq12);
                     if (null != one111112) {
                         String report12 = one111112.getReport();
-                        PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + tjNumber + userId + "闄勪欢.pdf");
+                        PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + File.separator + 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"};
+                            files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "闄勪欢.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"};
                         } else {
-                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
+                            files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"};
                         }
                     } else {
                         if (one111112 != null) {
-                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" + tjNumber + userId + "闄勪欢.pdf"};
+                            files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator + tjNumber + userId + "闄勪欢.pdf"};
                         } else {
-                            files1 = new String[]{value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"};
+                            files1 = new String[]{value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf"};
                         }
                     }
                     //鍚堝苟
-//                    String[] files1 = {value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + "\\" +tjNumber+ userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
-                    String outputPath1 = value + "\\";
+//                    String[] files1 = {value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + File.separator + userId + tjNumber+"浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf", value + File.separator +tjNumber+ userId + "闄勪欢.pdf", value + File.separator + tjNumber + userId + "蹇冪數鍥�.pdf"};
+                    String outputPath1 = value + File.separator;
                     String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
 
                     File file1 = new File(outputPath1 + outputFileName1);
@@ -1381,11 +1396,11 @@
                     tjReport.setPrint("pdf");
                     tjReportService.save(tjReport);
 
-                    //FileUtil.del(value + "\\" + tjNumber + "浣撴鎶ュ憡.pdf");
-                    //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
-                    //FileUtil.del(value + "\\" + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf");
-                    //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf");
-                    //FileUtil.del(value + "\\" + userId + "蹇冪數鍥�.pdf");
+                    //FileUtil.del(value + File.separator + tjNumber + "浣撴鎶ュ憡.pdf");
+                    //FileUtil.del(value + File.separator + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
+                    //FileUtil.del(value + File.separator + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf");
+                    //FileUtil.del(value + File.separator + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf");
+                    //FileUtil.del(value + File.separator + userId + "蹇冪數鍥�.pdf");
 
 
                     //淇敼order琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿
@@ -1711,9 +1726,9 @@
         }
 
         String userId = SecurityUtils.getLoginUser().getUsername();
-        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
+        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
         //String filePath = one.getPath();
-        String filePath = value + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
+        String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
         File f = new File(filePath);
         if (filePath.isEmpty()) {
             System.out.println("鏂囦欢涓嶅瓨鍦紒");
@@ -2037,6 +2052,7 @@
         } else {
             one.setStatus(TjConstants.TJ_CONFIRM);
         }
+        one.setReportTime(null);
         //灏嗙姸鎬佹敼涓烘湭瀹℃牳
 //        UpdateWrapper updateWrapper=new UpdateWrapper();
 //        updateWrapper.eq("tj_number",tjNumber);

--
Gitblit v1.8.0