From fcc5d56c4fa7b269d96b8ef66a527fa6a7c90450 Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期三, 28 二月 2024 19:10:18 +0800 Subject: [PATCH] zjh 本地 2024/02/28 -2 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 214 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 164 insertions(+), 50 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 1582d46..ee8ed63 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,8 +72,6 @@ @Resource private ITjStandardService tjStandardService; @Resource - private ITjAdviceService tjAdviceService; - @Resource private IDictCompService dictCompService; @Resource private ITjReportTemplateService reportTemplateService; @@ -92,6 +90,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 +262,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); @@ -411,8 +412,33 @@ // "銆�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", ""); + data.put("yichang", str.toString()); // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪�� for (String key : data.keySet()) { @@ -443,17 +469,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); @@ -517,7 +546,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); @@ -595,23 +629,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"; @@ -658,7 +708,7 @@ } return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�"); } - + //闈炲寲楠岄」鐩姤鍛� public Map<TjOrderRemark, List<TjPdfVO>> addTable(String tjNumber) { //鍒涘缓map 閿负鐖堕」鐩� 鍊间负瀛愰」鐩泦鍚� Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); @@ -673,6 +723,8 @@ wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); //20230323鍒ゆ柇椤圭洰宸叉 wq.ne(TjOrderDetail::getTjStatus, 0); + wq.ne(TjOrderDetail::getProId,projectService.getHuaYanProId()); + wq.eq(TjOrderDetail::getProId,projectService.getNotCcCtXdtProId()); List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq); //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅 @@ -689,21 +741,84 @@ 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"); List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { - printReport.put(tjOrderRemark, null); + + printReport.put(tjOrderRemark,null); } + extracted(printReport, tjOrderDetails, 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); + } + 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); + } + return printReport; + } + + private void extracted(Map<TjOrderRemark, List<TjPdfVO>> printReport, List<TjOrderDetail> tjOrderDetails, TjCustomer customer) { for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { List<TjPdfVO> tjPdfVOS = new ArrayList<>(); for (TjOrderDetail tjOrderDetail : tjOrderDetails) { 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); @@ -758,7 +873,6 @@ } printReport.put(entry.getKey(), tjPdfVOS); } - return printReport; } -- Gitblit v1.8.0