zjh
2024-06-28 0d4a80fd817b39417ad7eee88aa5d14bf571f79c
ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java
@@ -87,7 +87,7 @@
    @ApiOperation(value = "小程序-体检报告列表")
    public AjaxResult getReportList(String cusPhone) {
//        Wxuser wxuser = UserHoder.getWxuser();
        if (cusPhone==null){
        if (cusPhone == null) {
            return AjaxResult.error("请绑定手机号!");
        }
        List<Object> result = new ArrayList<>();
@@ -173,66 +173,63 @@
                Map<String, Object> parent = new HashMap<>();
                Map<String, Object> parent1 = new HashMap<>();
                TjProject tjProject = projectService.getById(remark.getProId());
                if (null != tjProject) {
                if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
                    parent.put("parent", tjProject.getProName());
                    parent1.put("parent", tjProject.getProName());
                } else {
                    parent.put("parent", null);
                    parent1.put("parent", null);
                }
                LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>();
                wq2.eq(TjProject::getProParentId, remark.getProId());
                List<Long> sonsTjProjectList = null;
                if (null != projectService.list(wq2) && projectService.list(wq2).size() > 0) {
                    sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList());
                }
                if (sonsTjProjectList == null) {
                    log.info("我报空指针了::::::::::::" + remark.toString());
                    continue;
                }
                LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
                wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
                wq.in(TjOrderDetail::getProId, sonsTjProjectList);
                List<TjOrderDetail> tjOrderDetails = detailService.list(wq);
                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
                    List<TjOrderDetail> abnormals = new ArrayList<>();
                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                        if (tjOrderDetail.getExceptionDesc() == 1) {
                            abnormals.add(tjOrderDetail);
                            parent1.put("abnormalList", abnormals);
                            abnormalList.add(parent1);
                        }
                        LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>();
                        wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId());
                        tjOrderDetail.setProject(projectService.getOne(wqqqq));
                        LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                        wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                        List<TjStandard> list2 = standardService.list(wq6);
                        if (list2.size() == 0) {
                            tjOrderDetail.setStandard(null);
                        } else if (list2.size() == 1) {
                            tjOrderDetail.setStandard(list2.get(0));
                        } else {
                            for (TjStandard tjStandard : list2) {
                                LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
                                if (tjStandard.getTjSex() != null) {
                                    wq8.eq(TjStandard::getTjSex, customer.getCusSex());
                    LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>();
                    wq2.eq(TjProject::getProParentId, remark.getProId());
                    List<Long> sonsTjProjectList = null;
                    if (null != projectService.list(wq2) && projectService.list(wq2).size() > 0) {
                        sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList());
                    }
                    if (sonsTjProjectList == null) {
                        log.info("我报空指针了::::::::::::" + remark.toString());
                        continue;
                    }
                    LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
                    wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
                    wq.in(TjOrderDetail::getProId, sonsTjProjectList);
                    List<TjOrderDetail> tjOrderDetails = detailService.list(wq);
                    if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
                        List<TjOrderDetail> abnormals = new ArrayList<>();
                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                            if (tjOrderDetail.getExceptionDesc() == 1) {
                                abnormals.add(tjOrderDetail);
                                parent1.put("abnormalList", abnormals);
                                abnormalList.add(parent1);
                            }
                            LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>();
                            wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId());
                            tjOrderDetail.setProject(projectService.getOne(wqqqq));
                            LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                            wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                            List<TjStandard> list2 = standardService.list(wq6);
                            if (list2.size() == 0) {
                                tjOrderDetail.setStandard(null);
                            } else if (list2.size() == 1) {
                                tjOrderDetail.setStandard(list2.get(0));
                            } else {
                                for (TjStandard tjStandard : list2) {
                                    LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
                                    if (tjStandard.getTjSex() != null) {
                                        wq8.eq(TjStandard::getTjSex, customer.getCusSex());
                                    }
                                    if (tjStandard.getTjType() != null) {
                                        wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
                                    }
                                    tjOrderDetail.setStandard(standardService.getOne(wq8));
                                }
                                if (tjStandard.getTjType() != null) {
                                    wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
                                }
                                tjOrderDetail.setStandard(standardService.getOne(wq8));
                            }
                        }
                        LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>();
                        wq3.eq(TjAdvice::getProId, remark.getProId());
                        parent.put("sons", tjOrderDetails);
                        parent.put("parentAdvice", adviceService.list(wq3));
                        parent.put("advice", remark.getSummary());
                        list.add(parent);
                    } else {
                        return AjaxResult.success("该客户在没有体检项目数据");
                    }
                    LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>();
                    wq3.eq(TjAdvice::getProId, remark.getProId());
                    parent.put("sons", tjOrderDetails);
                    parent.put("parentAdvice", adviceService.list(wq3));
                    parent.put("advice", remark.getSummary());
                    list.add(parent);
                } else {
                    return AjaxResult.success("该客户在没有体检项目数据");
                }
            }
            objectMap.put("list", list);
@@ -243,7 +240,6 @@
        }
        return AjaxResult.success("该客户在没有体检项目数据!");
    }
    /**
@@ -266,9 +262,9 @@
        wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
        wq.in(TjOrderDetail::getProId, "1633660948860522524");
        final TjOrderDetail one1 = detailService.getOne(wq);
        if (one1== null){
        if (one1 == null) {
            objectMap.put("shenggao", "无");
        }else {
        } else {
            objectMap.put("shenggao", one1.getProResult());
        }
@@ -277,9 +273,9 @@
        wq2.eq(TjOrderDetail::getOrderId, one.getOrderId());
        wq2.in(TjOrderDetail::getProId, "1633660948860522525");
        final TjOrderDetail one2 = detailService.getOne(wq2);
        if (one2==null){
        if (one2 == null) {
            objectMap.put("tizhong", "无");
        }else {
        } else {
            objectMap.put("tizhong", one2.getProResult());
        }
@@ -288,33 +284,31 @@
        wq3.eq(TjOrderDetail::getOrderId, one.getOrderId());
        wq3.in(TjOrderDetail::getProId, "1633660948860522526");
        final TjOrderDetail one3 = detailService.getOne(wq3);
        if (one3==null){
        if (one3 == null) {
            objectMap.put("tizhongzhishu", "无");
        }else {
        } else {
            objectMap.put("tizhongzhishu", one3.getProResult());
        }
        LambdaQueryWrapper<TjOrderDetail> wq4 = new LambdaQueryWrapper<>();
        wq4.eq(TjOrderDetail::getOrderId, one.getOrderId());
        wq4.in(TjOrderDetail::getProId, "1633660948860522527");
        final TjOrderDetail one4 = detailService.getOne(wq4);
        if (one4==null){
        if (one4 == null) {
            objectMap.put("shousuoya", "无");
        }else {
        } else {
            objectMap.put("shousuoya", one4.getProResult());
        }
        LambdaQueryWrapper<TjOrderDetail> wq5 = new LambdaQueryWrapper<>();
        wq5.eq(TjOrderDetail::getOrderId, one.getOrderId());
        wq5.in(TjOrderDetail::getProId, "1633660948860522528");
        final TjOrderDetail one5 = detailService.getOne(wq5);
        if (one5==null){
            objectMap.put("shuzhangya","无");
        }else {
        if (one5 == null) {
            objectMap.put("shuzhangya", "无");
        } else {
            objectMap.put("shuzhangya", one5.getProResult());
        }
@@ -324,33 +318,29 @@
    }
    /**
     * 小程序点击下载报告
     */
    @GetMapping("/downloadReport")
    @ApiOperation(value = "小程序-下载报告")
    public AjaxResult downloadReport(@RequestParam @ApiParam(value = "体检号") String tjNumber) {
        Map<String,String> res=new HashMap<>();
        Map<String, String> res = new HashMap<>();
        LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
        we.eq(TjReport::getTjNumber, tjNumber);
        we.eq(TjReport::getType, "体检报告");
        TjReport one = reportService.getOne(we);
        if ("pdf".equals(one.getPrint())){
            res.put("flag","0");
            res.put("url",one.getPath());
        if ("pdf".equals(one.getPrint())) {
            res.put("flag", "0");
            res.put("url", one.getPath());
            return AjaxResult.success(res);
        }else if ("报表".equals(one.getPrint())){
            res.put("flag","1");
            res.put("url",one.getPath());
        } else if ("报表".equals(one.getPrint())) {
            res.put("flag", "1");
            res.put("url", one.getPath());
            return AjaxResult.success(res);
        }else {
        } else {
            return AjaxResult.error("暂无体检报告");
        }
    }
    @GetMapping("/preview/{flag}/{TjNumber}")
@@ -386,9 +376,9 @@
        final String substring = uuid.toString().substring(0, 5);
//        String userId = SecurityUtils.getLoginUser().getUsername();
        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\"  +substring+ tjNumber + tjCustomer.getCusName() + "_体检报告.pdf");
        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf");
        //String filePath = one.getPath();
        String filePath = value + "\\"  +substring + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf";
        String filePath = value + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf";
        File f = new File(filePath);
        if (filePath.isEmpty()) {
            System.out.println("文件不存在!");
@@ -410,13 +400,13 @@
                String contentType = u.openConnection().getContentType();
                response.setContentType(contentType);
                response.setHeader("Content-Disposition", "inline;filename="
                        +substring+ tjNumber + ".pdf");
                        + substring + tjNumber + ".pdf");
            } else {
                // 纯下载方式
                response.setContentType("application/x-msdownload");
                response.setContentType("application/pdf;charset=utf-8");
                response.setHeader("Content-Disposition", "attachment;filename="
                        +substring+ tjNumber + ".pdf");
                        + substring + tjNumber + ".pdf");
            }
            out = response.getOutputStream();
            while ((len = br.read(bs)) > 0) {
@@ -442,7 +432,6 @@
            }
        }
    }
    /**