From 8e0bc2b6ee9817f00cc4240c596e31441888a0fe Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期四, 29 二月 2024 15:02:33 +0800 Subject: [PATCH] 报告打印和预览判断 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 91 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 72 insertions(+), 19 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 fe07dd0..7b8927b 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 @@ -297,11 +297,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 +314,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); @@ -678,6 +706,7 @@ String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); tjReport.setReport(pdfBinary); tjReport.setType("浣撴鎶ュ憡"); + tjReport.setPrint("pdf"); tjReportService.save(tjReport); //FileUtil.del(value + "\\" + tjNumber + "浣撴鎶ュ憡.pdf"); @@ -724,6 +753,8 @@ //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); //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅 @@ -741,11 +772,13 @@ 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.notIn(TjOrderRemark::getProId,projectService.getNneedReprotProId()); List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { - printReport.put(tjOrderRemark,new ArrayList<TjPdfVO>()); + printReport.put(tjOrderRemark,null); } extracted(printReport, tjOrderDetails, customer); @@ -757,7 +790,6 @@ 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); @@ -771,7 +803,6 @@ // wq.eq(TjOrderDetail::getProId,projectService.getHuaYanProId()); // List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq); List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanTable(tjNumber); - //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅 //閬嶅巻瀹㈡埛鎵�閫夌殑椤圭洰(鍖呭惈瀛愰」鐖堕」) // for (TjOrderDetail tjOrderDetail : tjOrderDetails) { @@ -791,20 +822,20 @@ List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanTable(tjNumber); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { - printReport.put(tjOrderRemark, new ArrayList<TjPdfVO>()); + printReport.put(tjOrderRemark,null); } - for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { List<TjPdfVO> tjPdfVOS = new ArrayList<>(); for (TjOrderDetail tjOrderDetail : tjOrderDetails) { - - TjPdfVO tjPdfVO = new TjPdfVO(); - tjPdfVO.setProName(tjOrderDetail.getProName()); - tjPdfVO.setProResult(tjOrderDetail.getProResult()); - tjPdfVO.setExc(tjOrderDetail.getExceptionDesc()); - tjPdfVO.setStandardValue(tjOrderDetail.getStanId()); - tjPdfVOS.add(tjPdfVO); - + 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); } @@ -818,9 +849,7 @@ 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); @@ -878,6 +907,29 @@ } + @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 ("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) { @@ -907,6 +959,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