From 1b73a8d55dccf443aa0f1165dfe0bc75ca583cfc Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期四, 07 三月 2024 11:59:16 +0800 Subject: [PATCH] zjh 本地 2024/03/7 --1 --- 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