From ab0b2ea827a5116c1bcc8d57b082e14aff34e1d2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期一, 27 五月 2024 17:49:48 +0800
Subject: [PATCH] 修改线程池创建方式,增加时间非空判断

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java | 1133 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 698 insertions(+), 435 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 fca4429..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
@@ -10,6 +10,7 @@
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -18,6 +19,7 @@
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.*;
 import com.itextpdf.text.pdf.draw.LineSeparator;
+import com.ltkj.common.core.domain.entity.SysDictData;
 import com.ltkj.common.utils.DateUtils;
 import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.common.utils.StringUtils;
@@ -25,6 +27,8 @@
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
+import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.system.service.ISysDictDataService;
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.config.pdfutils.MergePdf;
 import com.ltkj.web.config.pdfutils.MyHeaderFooter;
@@ -68,23 +72,64 @@
     @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
     private ITjOrderDetailRulesService detailRulesService;
     @Resource
     private ITjRulesService rulesService;
+    @Autowired
+    private ISysConfigService configService;
+
+    @Autowired
+    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);
+
+    }
 
 
-
-     //    /* *//**
+    //    /* *//**
 //     * 鏌ヨ浣撴鎶ュ憡瀛樺偍鍒楄〃
 //     *//*
 //    @PreAuthorize("@ss.hasPermi('system:report:list')")
@@ -219,68 +264,87 @@
     @Transactional
     public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "浣撴鍙�") String tjNumber) {
 
-        //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢  浠呭瓨鍌ㄤ竴娆�
-        // TODO: 2023/3/21 灏嗘ā鏉夸繚瀛樺埌鏁版嵁搴� 涓�娆′娇鐢ㄥ悗娉ㄩ噴
-//        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);
-//        // TODO: 2023/3/21 灏嗗績鐢靛浘淇濆瓨鍒版暟鎹簱 涓�娆′娇鐢ㄥ悗娉ㄩ噴  鏆傛椂鐢ㄤ簬娴嬭瘯
-//        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<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
-        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
-        TjReportTemplate one1 = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper);
-        String template = one1.getTemplate();
-
-        String userId = SecurityUtils.getLoginUser().getUsername();
-        PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
-        // --------浠ヤ笂-------  鏍规嵁鏁版嵁搴撲腑鐨勬ā鏉夸簩杩涘埗鏂囦欢  杞琾df  鍒涘缓鏂囦欢澶�  灏唒df鏀捐繘鏈湴鏂囦欢澶�
-
-        //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
-        LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
-        wqa.eq(TjReport::getTjNumber, tjNumber);
-        wqa.eq(TjReport::getType,"浣撴鎶ュ憡");
-        List<TjReport> list2 = tjReportService.list(wqa);
-        if (list2.size() != 0) {
-            return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
-        }
-
-
+        if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
         LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
         wq.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder tjOrder = tjOrderService.getOne(wq);
+
         if (null != tjOrder) {
+            LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            TjReportTemplate reportTemplate =null;
+            if (tjOrder.getTjCategory()!=null){
+                //鏌ヨ瀛楀吀
+                LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>();
+                wqq.eq(SysDictData::getDictType, "dict_tjtype");
+                wqq.eq(SysDictData::getDictValue, tjOrder.getTjCategory());
+                SysDictData one = dictDataService.getOne(wqq);
+                if (one!=null){
+                    //鏌ヨ瀛楀吀
+                    LambdaQueryWrapper<SysDictData> wqq1 = new LambdaQueryWrapper<>();
+                    wqq1.eq(SysDictData::getDictType, "report_template_type");
+                    wqq1.eq(SysDictData::getDictLabel, one.getDictLabel());
+                    SysDictData one1 = dictDataService.getOne(wqq1);
+                    if (one1!=null){
+                        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, one1.getDictValue());
+                    }else {
+                        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
+                    }
+                }else {
+                    tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
+                }
+                tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
+                reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper);
+            }else {
+                tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
+                reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2);
+            }
+
+
+
+
+
+            //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
+            LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
+            wqa.eq(TjReport::getTjNumber, tjNumber);
+            wqa.eq(TjReport::getType, "浣撴鎶ュ憡");
+            List<TjReport> list2 = tjReportService.list(wqa);
+            if (list2.size() != 0) {
+                return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
+            }
+
+
             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);
@@ -328,31 +392,31 @@
                     String tjtype;
                     if (cusSex == 0) {
                         sex = "鐢�";
-                        name1=tjCustomer.getCusName()+"鍏堢敓";
+                        name1 = tjCustomer.getCusName() + "鍏堢敓";
                     } else {
                         sex = "濂�";
-                        name1=tjCustomer.getCusName()+"濂冲+";
+                        name1 = tjCustomer.getCusName() + "濂冲+";
                     }
-                    data.put("name",tjCustomer.getCusName());
-                    data.put("cusId",tjCustomer.getCusId());
-                    data.put("name1",name1);
+                    data.put("name", tjCustomer.getCusName());
+                    data.put("cusId", tjCustomer.getCusId());
+                    data.put("name1", name1);
                     if ("1".equals(tjOrder.getTjType())) {
                         tjtype = "鍥㈤槦";
-                        data.put("tjtype",tjtype);
+                        data.put("tjtype", tjtype);
                     } else {
                         tjtype = "涓汉";
-                        data.put("tjtype",tjtype);
+                        data.put("tjtype", tjtype);
                     }
-                    data.put("dstype","缁熶竴");
+                    data.put("dstype", "缁熶竴");
                     data.put("sex", sex);
                     data.put("age", DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
                     data.put("tjnumber", tjNumber);
                     data.put("tjdate", DateUtils.parseDateToStr("yyyy/MM/dd", tjOrder.getCreateTime()));
                     data.put("phone", tjCustomer.getCusPhone());
                     data.put("idcard", MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard()));
-                    data.put("num1",list.size());
-                    data.put("num2",0);
-                    data.put("num3",4);
+                    data.put("num1", list.size());
+                    data.put("num2", 0);
+                    data.put("num3", 4);
                     if (dictComp == null) {
                         data.put("work", "鏃�");
                     } else {
@@ -371,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()) {
@@ -395,25 +487,32 @@
                     //璁剧疆鏂囨。鐨勯〉杈硅窛灏辨槸璺濈椤甸潰杈逛笂鐨勮窛绂伙紝鍒嗗埆涓猴細宸﹁竟璺濓紝鍙宠竟璺濓紝涓婅竟璺濓紝涓嬭竟璺�
                     document.setMargins(70, 70, 40, 40);
                     //鐢熸垚pdf鐨勪綅缃互鍙婂悕绉�
-                    String fileName = value + "\\" + userId + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf";
+                    String fileName = value + "\\" + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf";
                     OutputStream outputStream = Files.newOutputStream(Paths.get(fileName));
                     PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream);
 
-                    pdfWriter.setPageEvent(new MyHeaderFooter());// 椤电湁椤佃剼
+                    //pdfWriter.setPageEvent(new MyHeaderFooter());// 椤电湁椤佃剼
 
                     document.open();
 
-                    document.add(new Header("鍋ュ悍浣撴缁撴灉","鍋ュ悍浣撴缁撴灉"));
+                    document.add(new Header("鍋ュ悍浣撴缁撴灉", "鍋ュ悍浣撴缁撴灉"));
 
 
                     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("1".equals(one11.getProCheckMethod())){
-                            String titleName = one11.getProName();
+                        //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
+                        if (null !=one11 && "N".equals(one11.getNeedReport())){
+                            continue;
+                        }
+                        String titleName =null;
+                        if (null !=one11 && "1".equals(one11.getResultType())) {
+                             titleName =one11.getProName();
                             // 璁剧疆鏍囬瀛椾綋鏍峰紡
                             Font titleFonts = PdfUtils.setFont(9);
                             Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
@@ -435,36 +534,36 @@
                             }
 
                             String remark = "澶囨敞锛�" + entry.getKey().getRemark();
-                            if (entry.getKey().getRemark().length()>50){
-                                int j=0;
-                                for (int i = 0; i < remark.length()/50; i++) {
-                                    String substring = remark.substring(j, j+50);
+                            if (entry.getKey().getRemark().length() > 50) {
+                                int j = 0;
+                                for (int i = 0; i < remark.length() / 50; i++) {
+                                    String substring = remark.substring(j, j + 50);
                                     Font remarkFonts = PdfUtils.setFont(9);
                                     Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
                                     document.add(pp);
-                                    j=j+50;
+                                    j = j + 50;
                                 }
-                                if (remark.length()%50!=0){
-                                    String substring = remark.substring((remark.length()/50)*50, remark.length()-1);
+                                if (remark.length() % 50 != 0) {
+                                    String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
                                     Font remarkFonts = PdfUtils.setFont(9);
                                     Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
                                     document.add(pp);
                                 }
-                            }else {
+                            } else {
                                 Font remarkFonts = PdfUtils.setFont(9);
                                 Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
                                 document.add(pp);
                             }
 
                             //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                            if (null !=entry.getKey().getDoctorName() && null !=userService.getById(entry.getKey().getDoctorName())) {
+                            if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) {
                                 //涓绘鍖诲笀
                                 String doctorName = "涓绘鍖诲笀锛�" + userService.getById(entry.getKey().getDoctorName()).getNickName();
                                 Font doctorFonts = PdfUtils.setFont(9);
                                 Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
                                 df.setAlignment(Element.ALIGN_RIGHT);
                                 document.add(df);
-                            }else {
+                            } else {
                                 String doctorName = "涓绘鍖诲笀锛�" + "鏃�";
                                 Font doctorFonts = PdfUtils.setFont(9);
                                 Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
@@ -476,8 +575,13 @@
                             //鍒嗗壊绾�
                             LineSeparator objectName = new LineSeparator();
                             document.add(objectName);
-                        }else {
-                            String titleName = one11.getProName();
+                        } else {
+                            if(null !=one11){
+                                titleName = one11.getProName();
+                            }else {
+                                titleName = entry.getKey().getProName();
+                            }
+
                             // 璁剧疆鏍囬瀛椾綋鏍峰紡
                             Font titleFonts = PdfUtils.setFont(9);
                             Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
@@ -499,36 +603,36 @@
                             }
 
                             String remark = "澶囨敞锛�" + entry.getKey().getRemark();
-                            if (entry.getKey().getRemark().length()>50){
-                                int j=0;
-                                for (int i = 0; i < remark.length()/50; i++) {
-                                    String substring = remark.substring(j, j+50);
+                            if (entry.getKey().getRemark().length() > 50) {
+                                int j = 0;
+                                for (int i = 0; i < remark.length() / 50; i++) {
+                                    String substring = remark.substring(j, j + 50);
                                     Font remarkFonts = PdfUtils.setFont(9);
                                     Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
                                     document.add(pp);
-                                    j=j+50;
+                                    j = j + 50;
                                 }
-                                if (remark.length()%50!=0){
-                                    String substring = remark.substring((remark.length()/50)*50, remark.length()-1);
+                                if (remark.length() % 50 != 0) {
+                                    String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
                                     Font remarkFonts = PdfUtils.setFont(9);
                                     Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
                                     document.add(pp);
                                 }
-                            }else {
+                            } else {
                                 Font remarkFonts = PdfUtils.setFont(9);
                                 Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
                                 document.add(pp);
                             }
 
                             //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                            if (null !=entry.getKey().getDoctorName() && null !=userService.getById(entry.getKey().getDoctorName())) {
+                            if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) {
                                 //涓绘鍖诲笀
                                 String doctorName = "涓绘鍖诲笀锛�" + userService.getById(entry.getKey().getDoctorName()).getNickName();
                                 Font doctorFonts = PdfUtils.setFont(9);
                                 Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
                                 df.setAlignment(Element.ALIGN_RIGHT);
                                 document.add(df);
-                            }else {
+                            } else {
                                 String doctorName = "涓绘鍖诲笀锛�" + "鏃�";
                                 Font doctorFonts = PdfUtils.setFont(9);
                                 Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
@@ -544,33 +648,52 @@
                     pdfWriter.close();
                     outputStream.close();
 
-                    // TODO: 2023/3/29  鏌ヨ闄勪欢pdf 濡傚績鐢靛浘銆侀檮浠�
-                    LambdaQueryWrapper<TjReport> rtwq1 = new LambdaQueryWrapper<>();
-                    rtwq1.eq(TjReport::getType, "鍖诲鍚嶈瘝");
-//                    rtwq1.eq(TjReport::getTjNumber, tjNumber);
-                    TjReport one11111 = tjReportService.getOne(rtwq1);
-                    String report1 = one11111.getReport();
-                    PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "鍖诲鍚嶈瘝.pdf");
+//                    LambdaQueryWrapper<TjReport> rtwq1 = new LambdaQueryWrapper<>();
+//                    rtwq1.eq(TjReport::getType, "鍖诲鍚嶈瘝");
+////                    rtwq1.eq(TjReport::getTjNumber, tjNumber);
+//                    TjReport one11111 = tjReportService.getOne(rtwq1);
+//                    if(null !=one11111){
+//                        String report1 = one11111.getReport();
+//                        PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "鍖诲鍚嶈瘝.pdf");
+//                    }
 
                     LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>();
                     rtwq.eq(TjReport::getType, "蹇冪數鍥�");
-//                    rtwq.eq(TjReport::getTjNumber, tjNumber);
+                    rtwq.eq(TjReport::getTjNumber, tjNumber);
                     TjReport one1111 = tjReportService.getOne(rtwq);
-                    String report = one1111.getReport();
-                    PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "蹇冪數鍥�.pdf");
+                    if(null !=one1111){
+                        String report = one1111.getReport();
+                        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);
-                    String report12 = one111112.getReport();
-                    PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "闄勪欢.pdf");
-
+                    if(null !=one111112){
+                        String report12 = one111112.getReport();
+                        PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" +tjNumber+ userId + "闄勪欢.pdf");
+                    }
 
                     //鍚堝苟
-                    String[] files1 = {value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf", value + "\\" + userId + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf",value + "\\" + userId + "鍖诲鍚嶈瘝.pdf",value + "\\" + userId + "闄勪欢.pdf",value + "\\" + 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 + "\\" +tjNumber+ userId + "闄勪欢.pdf", value + "\\" + tjNumber + userId + "蹇冪數鍥�.pdf"};
                     String outputPath1 = value + "\\";
-                    String outputFileName1 = userId+tjNumber +tjCustomer.getCusName()+ "_浣撴鎶ュ憡.pdf";
+                    String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
 
                     File file1 = new File(outputPath1 + outputFileName1);
                     List<File> f = new ArrayList<>();
@@ -581,16 +704,16 @@
 
                     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);
 
-                    //TODO 2023/2/3 16:21 鐢熸垚浣撴鎶ュ憡pdf鍚庡垹闄ゆ湰鍦版枃浠�
                     //FileUtil.del(value + "\\" + tjNumber + "浣撴鎶ュ憡.pdf");
                     //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰妯℃澘.pdf");
-                    //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf");
+                    //FileUtil.del(value + "\\" + userId +tjNumber+ "浣撴鎶ュ憡椤圭洰璇︽儏椤�.pdf");
                     //FileUtil.del(value + "\\" + userId + "浣撴鎶ュ憡灏侀潰椤�.pdf");
                     //FileUtil.del(value + "\\" + userId + "蹇冪數鍥�.pdf");
 
@@ -609,62 +732,147 @@
                 } catch (Exception e) {
                     e.printStackTrace();
                     return AjaxResult.success("PDF瀵煎嚭澶辫触");
+                }finally {
+                    transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjOrder.getCardId());
                 }
             }
         }
         return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
     }
-
+    //闈炲寲楠岄」鐩姤鍛�
     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::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);
 
         //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
         //閬嶅巻瀹㈡埛鎵�閫夌殑椤圭洰(鍖呭惈瀛愰」鐖堕」)
         for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
             TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
-            if(null !=tjProject){
+            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.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 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.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(null==tjOrderDetail.getProject()){
-                    System.out.println("'''''''''''''''''''''''''''''''''''"+tjOrderDetail.getOrderDetailId());
+                    if(entry.getKey().getProId().equals(tjOrderDetail.getProId())){
+                        TjPdfVO tjPdfVO = new TjPdfVO();
+                        tjPdfVO.setProName(tjOrderDetail.getProName());
+                        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());
+                        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);
                     if (list2.size() == 0) {
-                        TjStandard s=new TjStandard();
+                        TjStandard s = new TjStandard();
                         s.setCompany(" ");
                         s.setTjStandardLtValue(" ");
                         s.setTjStandardGtValue(" ");
@@ -693,19 +901,19 @@
                     tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                     if (tjOrderDetail.getStandard() != null) {
                         //鍗曚綅
-                        if (tjOrderDetail.getStandard().getCompany()==null){
+                        if (tjOrderDetail.getStandard().getCompany() == null) {
                             tjPdfVO.setCompany(" ");
-                        }else {
+                        } else {
                             tjPdfVO.setCompany(tjOrderDetail.getStandard().getCompany());
                         }
                         //鏈�澶у�煎拰鏈�灏忓��
                         String tjStandardGtValue = tjOrderDetail.getStandard().getTjStandardGtValue();
                         String tjStandardLtValue = tjOrderDetail.getStandard().getTjStandardLtValue();
-                        if (tjStandardGtValue==null){
-                            tjStandardGtValue=" ";
+                        if (tjStandardGtValue == null) {
+                            tjStandardGtValue = " ";
                         }
-                        if (tjStandardLtValue==null){
-                            tjStandardLtValue=" ";
+                        if (tjStandardLtValue == null) {
+                            tjStandardLtValue = " ";
                         }
                         tjPdfVO.setStandardValue(tjStandardLtValue + "-" + tjStandardGtValue);
                     }
@@ -714,8 +922,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}")
@@ -731,7 +964,7 @@
 
 
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-        wq1.eq(TjOrder::getTjNumber,tjNumber);
+        wq1.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder tjOrder = tjOrderService.getOne(wq1);
 
 
@@ -742,17 +975,18 @@
 
         LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
         we.eq(TjReport::getTjNumber, tjNumber);
-        we.eq(TjReport::getType,"浣撴鎶ュ憡");
+        we.eq(TjReport::getType, "浣撴鎶ュ憡");
         TjReport one = tjReportService.getOne(we);
         if (one == null) {
             return;
         }
+
         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() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
         //String filePath = one.getPath();
-        String filePath = value+ "\\" + userId+tjNumber +tjCustomer.getCusName()+ "_浣撴鎶ュ憡.pdf";
+        String filePath = value + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
         File f = new File(filePath);
-        if (filePath.isEmpty()){
+        if (filePath.isEmpty()) {
             System.out.println("鏂囦欢涓嶅瓨鍦紒");
             return;
         }
@@ -772,13 +1006,13 @@
                 String contentType = u.openConnection().getContentType();
                 response.setContentType(contentType);
                 response.setHeader("Content-Disposition", "inline;filename="
-                        + userId+tjNumber + ".pdf");
+                        + userId + tjNumber + ".pdf");
             } else {
                 // 绾笅杞芥柟寮�
                 response.setContentType("application/x-msdownload");
                 response.setContentType("application/pdf;charset=utf-8");
                 response.setHeader("Content-Disposition", "attachment;filename="
-                        + userId+tjNumber + ".pdf");
+                        + userId + tjNumber + ".pdf");
             }
             out = response.getOutputStream();
             while ((len = br.read(bs)) > 0) {
@@ -813,7 +1047,7 @@
         QueryWrapper<TjReport> wq1 = new QueryWrapper<>();
         wq1.eq("tj_number", tjNumber);
         wq1.eq("type", "浣撴鎶ュ憡");
-        if (null!=tjReportService.getOne(wq1)){
+        if (null != tjReportService.getOne(wq1)) {
             if (!tjReportService.remove(wq1)) {
                 return AjaxResult.error("鎾ゅ洖澶辫触锛�");
             }
@@ -822,7 +1056,12 @@
         wq2.eq("tj_number", tjNumber);
         TjOrder one = tjOrderService.getOne(wq2);
         one.setCheckStatus(0);
-        one.setStatus(TjConstants.TJ_WAIT);
+        String config = configService.selectConfigByKey("tj_confirm");
+        if ("Y".equals(config)) {
+            one.setStatus(TjConstants.TJ_CHECK);
+        } else {
+            one.setStatus(TjConstants.TJ_CONFIRM);
+        }
         //灏嗙姸鎬佹敼涓烘湭瀹℃牳
 //        UpdateWrapper updateWrapper=new UpdateWrapper();
 //        updateWrapper.eq("tj_number",tjNumber);
@@ -839,330 +1078,330 @@
 
     @GetMapping("/tuanDuiReport")
     @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�斿勾榫勭粺璁�")
-    public Map<String,List<Map<String, Object>>> tuanDuiReport(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
-                                    @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId){
-        Map<String,List<Map<String, Object>>> all=new HashMap<>();
-        List<Map<String, Object>> res1=new ArrayList<>();
+    public Map<String, List<Map<String, Object>>> tuanDuiReport(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
+                                                                @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId) {
+        Map<String, List<Map<String, Object>>> all = new HashMap<>();
+        List<Map<String, Object>> res1 = new ArrayList<>();
 
-        int a=0;
-        Map<String, Object> resMap1=new HashMap<>();
-        resMap1.put("name","0-19宀�");
-        resMap1.put("value",a);
+        int a = 0;
+        Map<String, Object> resMap1 = new HashMap<>();
+        resMap1.put("name", "0-19宀�");
+        resMap1.put("value", a);
         res1.add(resMap1);
-        Map<String, Object> resMap2=new HashMap<>();
-        resMap2.put("name","20-29宀�");
-        resMap2.put("value",a);
+        Map<String, Object> resMap2 = new HashMap<>();
+        resMap2.put("name", "20-29宀�");
+        resMap2.put("value", a);
         res1.add(resMap2);
-        Map<String, Object> resMap3=new HashMap<>();
-        resMap3.put("name","30-39宀�");
-        resMap3.put("value",a);
+        Map<String, Object> resMap3 = new HashMap<>();
+        resMap3.put("name", "30-39宀�");
+        resMap3.put("value", a);
         res1.add(resMap3);
-        Map<String, Object> resMap4=new HashMap<>();
-        resMap4.put("name","40-49宀�");
-        resMap4.put("value",a);
+        Map<String, Object> resMap4 = new HashMap<>();
+        resMap4.put("name", "40-49宀�");
+        resMap4.put("value", a);
         res1.add(resMap4);
-        Map<String, Object> resMap5=new HashMap<>();
-        resMap5.put("name","50-59宀�");
-        resMap5.put("value",a);
+        Map<String, Object> resMap5 = new HashMap<>();
+        resMap5.put("name", "50-59宀�");
+        resMap5.put("value", a);
         res1.add(resMap5);
-        Map<String, Object> resMap6=new HashMap<>();
-        resMap6.put("name","60-69宀�");
-        resMap6.put("value",a);
+        Map<String, Object> resMap6 = new HashMap<>();
+        resMap6.put("name", "60-69宀�");
+        resMap6.put("value", a);
         res1.add(resMap6);
-        Map<String, Object> resMap7=new HashMap<>();
-        resMap7.put("name","70-79宀�");
-        resMap7.put("value",a);
+        Map<String, Object> resMap7 = new HashMap<>();
+        resMap7.put("name", "70-79宀�");
+        resMap7.put("value", a);
         res1.add(resMap7);
-        Map<String, Object> resMap8=new HashMap<>();
-        resMap8.put("name","80宀�+");
-        resMap8.put("value",a);
+        Map<String, Object> resMap8 = new HashMap<>();
+        resMap8.put("name", "80宀�+");
+        resMap8.put("value", a);
         res1.add(resMap8);
 
 
-        LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>();
-        wq2.eq(TjOrder::getFirmId,firmId);
-        wq2.eq(TjOrder::getFirmDeptId,firmDeptId);
-        wq2.eq(TjOrder::getTjType,"1");
-        wq2.in(TjOrder::getStatus,401,402);
+        LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>();
+        wq2.eq(TjOrder::getFirmId, firmId);
+        wq2.eq(TjOrder::getFirmDeptId, firmDeptId);
+        wq2.eq(TjOrder::getTjType, "1");
+        wq2.in(TjOrder::getStatus, 401, 402);
         final List<TjOrder> list = tjOrderService.list(wq2);
 
         for (TjOrder tjOrder : list) {
-            a=0;
+            a = 0;
             final TjCustomer byId = tjCustomerService.getById(tjOrder.getUserId());
             final int ageByIdCard = MatchUtils.getAgeByIdCard(byId.getCusIdcard());
 
 
-            if (0<=ageByIdCard && ageByIdCard<=19){
+            if (0 <= ageByIdCard && ageByIdCard <= 19) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("0-19宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("0-19宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (20<=ageByIdCard && ageByIdCard<=29){
+            } else if (20 <= ageByIdCard && ageByIdCard <= 29) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("20-29宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("20-29宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (30<=ageByIdCard && ageByIdCard<=39){
+            } else if (30 <= ageByIdCard && ageByIdCard <= 39) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("30-39宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("30-39宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (40<=ageByIdCard && ageByIdCard<=49){
+            } else if (40 <= ageByIdCard && ageByIdCard <= 49) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("40-49宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("40-49宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (50<=ageByIdCard && ageByIdCard<=59){
+            } else if (50 <= ageByIdCard && ageByIdCard <= 59) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("50-59宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("50-59宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (60<=ageByIdCard && ageByIdCard<=69){
+            } else if (60 <= ageByIdCard && ageByIdCard <= 69) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("60-69宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("60-69宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else if (70<=ageByIdCard && ageByIdCard<=79){
+            } else if (70 <= ageByIdCard && ageByIdCard <= 79) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("70-79宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("70-79宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
-            }else {
+            } else {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("80宀�+".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
+                    if ("80宀�+".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
                     }
                 }
             }
         }
-        all.put("data",res1);
+        all.put("data", res1);
         return all;
 
     }
 
     @GetMapping("/tuanDuiReportBySex")
     @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�斿勾榫勬�у埆缁熻")
-    public Map<String,List<Map<String, Object>>> tuanDuiReportBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmIds,
-                                                               @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptIds){
-        Map<String,List<Map<String, Object>>> all=new HashMap<>();
-        List<Map<String, Object>> res1=new ArrayList<>();
+    public Map<String, List<Map<String, Object>>> tuanDuiReportBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmIds,
+                                                                     @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptIds) {
+        Map<String, List<Map<String, Object>>> all = new HashMap<>();
+        List<Map<String, Object>> res1 = new ArrayList<>();
 
-        int a=0;
-        int b=0;
-        int c=0;
-        Map<String, Object> resMap1=new HashMap<>();
-        resMap1.put("name","0-19宀�");
-        resMap1.put("value",a);
-        resMap1.put("boy",b);
-        resMap1.put("girl",c);
-        resMap1.put("value1",0);
-        resMap1.put("boy1",0);
-        resMap1.put("girl1",0);
+        int a = 0;
+        int b = 0;
+        int c = 0;
+        Map<String, Object> resMap1 = new HashMap<>();
+        resMap1.put("name", "0-19宀�");
+        resMap1.put("value", a);
+        resMap1.put("boy", b);
+        resMap1.put("girl", c);
+        resMap1.put("value1", 0);
+        resMap1.put("boy1", 0);
+        resMap1.put("girl1", 0);
         res1.add(resMap1);
-        Map<String, Object> resMap2=new HashMap<>();
-        resMap2.put("name","20-29宀�");
-        resMap2.put("value",a);
-        resMap2.put("boy",b);
-        resMap2.put("girl",c);
-        resMap2.put("value1",0);
-        resMap2.put("boy1",0);
-        resMap2.put("girl1",0);
+        Map<String, Object> resMap2 = new HashMap<>();
+        resMap2.put("name", "20-29宀�");
+        resMap2.put("value", a);
+        resMap2.put("boy", b);
+        resMap2.put("girl", c);
+        resMap2.put("value1", 0);
+        resMap2.put("boy1", 0);
+        resMap2.put("girl1", 0);
         res1.add(resMap2);
-        Map<String, Object> resMap3=new HashMap<>();
-        resMap3.put("name","30-39宀�");
-        resMap3.put("value",a);
-        resMap3.put("boy",b);
-        resMap3.put("girl",c);
-        resMap3.put("value1",0);
-        resMap3.put("boy1",0);
-        resMap3.put("girl1",0);
+        Map<String, Object> resMap3 = new HashMap<>();
+        resMap3.put("name", "30-39宀�");
+        resMap3.put("value", a);
+        resMap3.put("boy", b);
+        resMap3.put("girl", c);
+        resMap3.put("value1", 0);
+        resMap3.put("boy1", 0);
+        resMap3.put("girl1", 0);
         res1.add(resMap3);
-        Map<String, Object> resMap4=new HashMap<>();
-        resMap4.put("name","40-49宀�");
-        resMap4.put("value",a);
-        resMap4.put("boy",b);
-        resMap4.put("girl",c);
-        resMap4.put("value1",0);
-        resMap4.put("boy1",0);
-        resMap4.put("girl1",0);
+        Map<String, Object> resMap4 = new HashMap<>();
+        resMap4.put("name", "40-49宀�");
+        resMap4.put("value", a);
+        resMap4.put("boy", b);
+        resMap4.put("girl", c);
+        resMap4.put("value1", 0);
+        resMap4.put("boy1", 0);
+        resMap4.put("girl1", 0);
         res1.add(resMap4);
-        Map<String, Object> resMap5=new HashMap<>();
-        resMap5.put("name","50-59宀�");
-        resMap5.put("value",a);
-        resMap5.put("boy",b);
-        resMap5.put("girl",c);
-        resMap5.put("value1",0);
-        resMap5.put("boy1",0);
-        resMap5.put("girl1",0);
+        Map<String, Object> resMap5 = new HashMap<>();
+        resMap5.put("name", "50-59宀�");
+        resMap5.put("value", a);
+        resMap5.put("boy", b);
+        resMap5.put("girl", c);
+        resMap5.put("value1", 0);
+        resMap5.put("boy1", 0);
+        resMap5.put("girl1", 0);
         res1.add(resMap5);
-        Map<String, Object> resMap6=new HashMap<>();
-        resMap6.put("name","60-69宀�");
-        resMap6.put("value",a);
-        resMap6.put("boy",b);
-        resMap6.put("girl",c);
-        resMap6.put("value1",0);
-        resMap6.put("boy1",0);
-        resMap6.put("girl1",0);
+        Map<String, Object> resMap6 = new HashMap<>();
+        resMap6.put("name", "60-69宀�");
+        resMap6.put("value", a);
+        resMap6.put("boy", b);
+        resMap6.put("girl", c);
+        resMap6.put("value1", 0);
+        resMap6.put("boy1", 0);
+        resMap6.put("girl1", 0);
         res1.add(resMap6);
-        Map<String, Object> resMap7=new HashMap<>();
-        resMap7.put("name","70-79宀�");
-        resMap7.put("value",a);
-        resMap7.put("boy",b);
-        resMap7.put("girl",c);
-        resMap7.put("value1",0);
-        resMap7.put("boy1",0);
-        resMap7.put("girl1",0);
+        Map<String, Object> resMap7 = new HashMap<>();
+        resMap7.put("name", "70-79宀�");
+        resMap7.put("value", a);
+        resMap7.put("boy", b);
+        resMap7.put("girl", c);
+        resMap7.put("value1", 0);
+        resMap7.put("boy1", 0);
+        resMap7.put("girl1", 0);
         res1.add(resMap7);
-        Map<String, Object> resMap8=new HashMap<>();
-        resMap8.put("name","80宀�+");
-        resMap8.put("value",a);
-        resMap8.put("boy",b);
-        resMap8.put("girl",c);
-        resMap8.put("value1",0);
-        resMap8.put("boy1",0);
-        resMap8.put("girl1",0);
+        Map<String, Object> resMap8 = new HashMap<>();
+        resMap8.put("name", "80宀�+");
+        resMap8.put("value", a);
+        resMap8.put("boy", b);
+        resMap8.put("girl", c);
+        resMap8.put("value1", 0);
+        resMap8.put("boy1", 0);
+        resMap8.put("girl1", 0);
         res1.add(resMap8);
 
 
-        LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>();
-        wq2.eq(TjOrder::getFirmId,firmIds);
-        wq2.eq(TjOrder::getFirmDeptId,firmDeptIds);
-        wq2.eq(TjOrder::getTjType,"1");
-        wq2.in(TjOrder::getStatus,401,402);
+        LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>();
+        wq2.eq(TjOrder::getFirmId, firmIds);
+        wq2.eq(TjOrder::getFirmDeptId, firmDeptIds);
+        wq2.eq(TjOrder::getTjType, "1");
+        wq2.in(TjOrder::getStatus, 401, 402);
         final List<TjOrder> list = tjOrderService.list(wq2);
 
         for (TjOrder tjOrder : list) {
-            a=0;
-            b=0;
-            c=0;
+            a = 0;
+            b = 0;
+            c = 0;
             final TjCustomer byId = tjCustomerService.getById(tjOrder.getUserId());
             final int ageByIdCard = MatchUtils.getAgeByIdCard(byId.getCusIdcard());
 
-            if (0<=ageByIdCard && ageByIdCard<=19){
+            if (0 <= ageByIdCard && ageByIdCard <= 19) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("0-19宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("0-19宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (20<=ageByIdCard && ageByIdCard<=29){
+            } else if (20 <= ageByIdCard && ageByIdCard <= 29) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("20-29宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("20-29宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (30<=ageByIdCard && ageByIdCard<=39){
+            } else if (30 <= ageByIdCard && ageByIdCard <= 39) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("30-39宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("30-39宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (40<=ageByIdCard && ageByIdCard<=49){
+            } else if (40 <= ageByIdCard && ageByIdCard <= 49) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("40-49宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("40-49宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (50<=ageByIdCard && ageByIdCard<=59){
+            } else if (50 <= ageByIdCard && ageByIdCard <= 59) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("50-59宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("50-59宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (60<=ageByIdCard && ageByIdCard<=69){
+            } else if (60 <= ageByIdCard && ageByIdCard <= 69) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("60-69宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("60-69宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else if (70<=ageByIdCard && ageByIdCard<=79){
+            } else if (70 <= ageByIdCard && ageByIdCard <= 79) {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("70-79宀�".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("70-79宀�".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
-            }else {
+            } else {
                 for (int i = 0; i < res1.size(); i++) {
-                    if ("80宀�+".equals(res1.get(i).get("name"))){
-                        a+=1;
-                        res1.get(i).put("value",a);
-                        if (byId.getCusSex()==0){
-                            b+=1;
-                        }else if (byId.getCusSex()==1){
-                            c+=1;
+                    if ("80宀�+".equals(res1.get(i).get("name"))) {
+                        a += 1;
+                        res1.get(i).put("value", a);
+                        if (byId.getCusSex() == 0) {
+                            b += 1;
+                        } else if (byId.getCusSex() == 1) {
+                            c += 1;
                         }
-                        res1.get(i).put("boy",b);
-                        res1.get(i).put("girl",c);
+                        res1.get(i).put("boy", b);
+                        res1.get(i).put("girl", c);
                     }
                 }
             }
@@ -1172,7 +1411,7 @@
             final int value1 = (int) res1.get(i).get("boy");
             final int value2 = (int) res1.get(i).get("girl");
             final int value = (int) res1.get(i).get("value");
-            if (value!=0){
+            if (value != 0) {
                 double percentage = (value1 * 1.0 / value) * 100;
                 NumberFormat nf = NumberFormat.getPercentInstance();
                 nf.setMinimumFractionDigits(2);
@@ -1186,14 +1425,14 @@
                 NumberFormat numberFormat = NumberFormat.getInstance();
                 numberFormat.setMaximumFractionDigits(2);
                 String result = numberFormat.format((float) value1 / (float) value2 * 100);
-                res1.get(i).put("boy1",percent1);
-                res1.get(i).put("girl1",percent2);
-                res1.get(i).put("value1",result);
+                res1.get(i).put("boy1", percent1);
+                res1.get(i).put("girl1", percent2);
+                res1.get(i).put("value1", result);
 
             }
 
         }
-        all.put("data",res1);
+        all.put("data", res1);
         return all;
 
     }
@@ -1201,65 +1440,65 @@
 
     @GetMapping("/tuanDuiYiChang")
     @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�斿紓甯哥粨鏋滅粺璁�")
-    public Map<String,List<Map<String, Object>>> tuanDuiYiChang(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
-                                                               @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId){
+    public Map<String, List<Map<String, Object>>> tuanDuiYiChang(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
+                                                                 @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId) {
 
-        Map<String,List<Map<String, Object>>> all=new HashMap<>();
+        Map<String, List<Map<String, Object>>> all = new HashMap<>();
 
-        LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>();
-        wq2.eq(TjOrder::getFirmId,firmId);
-        wq2.eq(TjOrder::getFirmDeptId,firmDeptId);
-        wq2.eq(TjOrder::getTjType,"1");
-        wq2.in(TjOrder::getStatus,401,402);
+        LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>();
+        wq2.eq(TjOrder::getFirmId, firmId);
+        wq2.eq(TjOrder::getFirmDeptId, firmDeptId);
+        wq2.eq(TjOrder::getTjType, "1");
+        wq2.in(TjOrder::getStatus, 401, 402);
         final List<TjOrder> list = tjOrderService.list(wq2);
 
-        List<TjOrderDetailRules> res11=new ArrayList<>();
+        List<TjOrderDetailRules> res11 = new ArrayList<>();
         for (TjOrder tjOrder : list) {
-            LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>();
-            wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber());
+            LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>();
+            wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber());
             final List<TjOrderDetailRules> list1 = detailRulesService.list(wq1);
             //鏀捐繘闆嗗悎
             res11.addAll(list1);
         }
         //鍘婚噸鏀堕泦
         Map<String, Long> columnCountMap = res11.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting()));
-        List<Map<String, Object>> aaa=new ArrayList<>();
-        if (columnCountMap!=null){
-            for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){
-                Map<String, Object> resMap=new HashMap<>();
+        List<Map<String, Object>> aaa = new ArrayList<>();
+        if (columnCountMap != null) {
+            for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) {
+                Map<String, Object> resMap = new HashMap<>();
                 final TjRules byId = rulesService.getById(entry.getKey());
-                if (byId!=null){
+                if (byId != null) {
                     resMap.put("name", byId.getBingzhong());
                     resMap.put("value", String.valueOf(entry.getValue()));
                     aaa.add(resMap);
                 }
             }
         }
-        all.put("data",aaa);
+        all.put("data", aaa);
         return all;
 
     }
 
     @GetMapping("/tuanDuiYiChangBySex")
     @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�旂敺濂冲紓甯哥粨鏋滅粺璁�")
-    public Map<String,List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
-                                                                @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId){
+    public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
+                                                                      @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId) {
 
-        Map<String,List<Map<String, Object>>> all=new HashMap<>();
+        Map<String, List<Map<String, Object>>> all = new HashMap<>();
 
-        LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>();
-        wq2.eq(TjOrder::getFirmId,firmId);
-        wq2.eq(TjOrder::getFirmDeptId,firmDeptId);
-        wq2.eq(TjOrder::getTjType,"1");
-        wq2.in(TjOrder::getStatus,401,402);
+        LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>();
+        wq2.eq(TjOrder::getFirmId, firmId);
+        wq2.eq(TjOrder::getFirmDeptId, firmDeptId);
+        wq2.eq(TjOrder::getTjType, "1");
+        wq2.in(TjOrder::getStatus, 401, 402);
         final List<TjOrder> list = tjOrderService.list(wq2);
 
-        List<String> tjNumberList=list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
+        List<String> tjNumberList = list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
 
-        List<TjOrderDetailRules> res11=new ArrayList<>();
+        List<TjOrderDetailRules> res11 = new ArrayList<>();
         for (TjOrder tjOrder : list) {
-            LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>();
-            wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber());
+            LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>();
+            wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber());
             final List<TjOrderDetailRules> list1 = detailRulesService.list(wq1);
             //鏀捐繘闆嗗悎
             res11.addAll(list1);
@@ -1267,36 +1506,36 @@
         //鍘婚噸鏀堕泦
         Map<String, Long> columnCountMap = res11.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting()));
 
-        List<Map<String, Object>> aaa=new ArrayList<>();
-        if (columnCountMap!=null){
+        List<Map<String, Object>> aaa = new ArrayList<>();
+        if (columnCountMap != null) {
 
-            for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){
-                int a=0;
-                int b=0;
-                Map<String, Object> resMap=new HashMap<>();
+            for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) {
+                int a = 0;
+                int b = 0;
+                Map<String, Object> resMap = new HashMap<>();
                 final TjRules byId = rulesService.getById(entry.getKey());
-                if (byId!=null){
+                if (byId != null) {
                     resMap.put("name", byId.getBingzhong());
                     resMap.put("value", entry.getValue().intValue());
-                    resMap.put("boy",a);
-                    resMap.put("girl",b);
-                    resMap.put("value1",0);
-                    resMap.put("boy1",0);
-                    resMap.put("girl1",0);
+                    resMap.put("boy", a);
+                    resMap.put("girl", b);
+                    resMap.put("value1", 0);
+                    resMap.put("boy1", 0);
+                    resMap.put("girl1", 0);
 
                     //
-                    LambdaQueryWrapper<TjOrderDetailRules> wq11=new LambdaQueryWrapper<>();
-                    wq11.eq(TjOrderDetailRules::getAid,entry.getKey());
-                    wq11.in(TjOrderDetailRules::getTjNumber,tjNumberList);
+                    LambdaQueryWrapper<TjOrderDetailRules> wq11 = new LambdaQueryWrapper<>();
+                    wq11.eq(TjOrderDetailRules::getAid, entry.getKey());
+                    wq11.in(TjOrderDetailRules::getTjNumber, tjNumberList);
                     final List<TjOrderDetailRules> list1 = detailRulesService.list(wq11);
                     for (TjOrderDetailRules orderDetailRules : list1) {
                         resMap.put("name", orderDetailRules.getBingzhong());
-                        if ("0".equals(orderDetailRules.getCusSex())){
-                            a+=1;
-                            resMap.put("boy",a);
-                        }else if ("1".equals(orderDetailRules.getCusSex())){
-                            b+=1;
-                            resMap.put("girl",b);
+                        if ("0".equals(orderDetailRules.getCusSex())) {
+                            a += 1;
+                            resMap.put("boy", a);
+                        } else if ("1".equals(orderDetailRules.getCusSex())) {
+                            b += 1;
+                            resMap.put("girl", b);
                         }
                     }
                     aaa.add(resMap);
@@ -1309,7 +1548,7 @@
             final Integer value1 = (Integer) aaa.get(i).get("boy");
             final Integer value2 = (Integer) aaa.get(i).get("girl");
             final Integer value = (Integer) aaa.get(i).get("value");
-            if (value!=0){
+            if (value != 0) {
                 double percentage = (value1 * 1.0 / value) * 100;
                 NumberFormat nf = NumberFormat.getPercentInstance();
                 nf.setMinimumFractionDigits(2);
@@ -1323,14 +1562,38 @@
                 NumberFormat numberFormat = NumberFormat.getInstance();
                 numberFormat.setMaximumFractionDigits(2);
                 String result = numberFormat.format((float) value1 / (float) value2 * 100);
-                aaa.get(i).put("boy1",percent1);
-                aaa.get(i).put("girl1",percent2);
-                aaa.get(i).put("value1",result);
+                aaa.get(i).put("boy1", percent1);
+                aaa.get(i).put("girl1", percent2);
+                aaa.get(i).put("value1", result);
 
             }
         }
-        all.put("data",aaa);
+        all.put("data", aaa);
         return all;
 
     }
+
+    @GetMapping("/reportHistory")
+    @ApiOperation(value = "鍘嗗彶鎶ュ憡")
+    public AjaxResult reportHistory(Long cusId) {
+        List<TjReport> res=new ArrayList<>();
+        LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
+        wqq.like(TjOrder::getUserId, cusId);
+        List<TjOrder> orderList = tjOrderService.list(wqq);
+        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,"浣撴鎶ュ憡");
+                    TjReport one = tjReportService.getOne(wq);
+                    if(null !=one){
+                        res.add(one);
+                    }
+                }
+            }
+            return AjaxResult.success(res);
+        }
+        return AjaxResult.error("鏆傛棤鍘嗗彶鎶ュ憡");
+    }
 }

--
Gitblit v1.8.0