| | |
| | | |
| | | /** |
| | | * 通过his API请求获取数据生成PDF |
| | | * |
| | | * @param pdfInfoMap |
| | | * @param params |
| | | * @param tjOrder |
| | |
| | | |
| | | /** |
| | | * 生成检查表格 |
| | | * |
| | | * @param tjOrder |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * PDF文件存储至本地 |
| | | * |
| | | * @param tjOrder |
| | | * @param customer |
| | | * @param finalOutPut |
| | |
| | | |
| | | /** |
| | | * 填充检验表格数据 |
| | | * |
| | | * @param document1 |
| | | * @param map |
| | | * @throws DocumentException |
| | |
| | | |
| | | /** |
| | | * 非化验项目表格填充 |
| | | * |
| | | * @param document1 |
| | | * @param printReport |
| | | * @throws DocumentException |
| | | */ |
| | | private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport) throws DocumentException { |
| | | for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { |
| | | List<TjPdfVO> value = entry.getValue(); |
| | | LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); |
| | | wqqq.eq(TjProject::getProId, entry.getKey().getProId()); |
| | | TjProject one11 = projectService.getOne(wqqq); |
| | | //判断该项目是否需要打印报告 |
| | | if (null != one11 && "N".equals(one11.getNeedReport())) { |
| | | continue; |
| | | } |
| | | if (null != one11 && "Y".equals(one11.getNeedReport())) { |
| | | List<TjPdfVO> value = entry.getValue(); |
| | | String titleName = null; |
| | | if (null != one11 && "1".equals(one11.getResultType())) { |
| | | titleName = one11.getProName(); |
| | |
| | | // 设置标题字体样式 |
| | | Font titleFonts = PdfUtils.setFont(9); |
| | | Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); |
| | | String[] titles = {"体检项目", "体检结果", "单位", "参考范围"}; |
| | | String[] titles = {"体检项目", "体检结果", "单位"}; |
| | | // 获取列表数据 |
| | | //设置表头字体样式 |
| | | Font headFont = PdfUtils.setFont(9); |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public HashMap<String, Object> makeHisJianYan(TjOrder tjOrder, TjCustomer customer){ |
| | | // TODO 这里先使用查全部测试 |
| | |
| | | // jyjg 大于范围最大值,添加上箭头 |
| | | jyjg = jyjg + " ↑"; |
| | | } |
| | | } catch (Exception ignored) {} |
| | | } catch (Exception ignored) { |
| | | } |
| | | } |
| | | // LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); |
| | | // queryWrapper.eq(SysUser::getUserName,jyys); |
| | |
| | | |
| | | /** |
| | | * 生成PDF模版以及用户信息部分 |
| | | * |
| | | * @param tjOrder |
| | | * @param reportTemplate |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 组合非化验项目报告数据 |
| | | * |
| | | * @param tjNumber |
| | | * @param printReport |
| | | * @param one |
| | |
| | | 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.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257", "271"); |
| | | wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); |
| | | List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); |
| | | for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { |
| | |
| | | List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId()); |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); |
| | | if (null != tjProject) { |
| | | if (null != tjProject && tjProject.getNeedReport().equals("Y")) { |
| | | tjOrderDetail.setProject(tjProject); |
| | | } |
| | | |
| | | 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(); |
| | | s.setCompany(" "); |
| | | s.setTjStandardLtValue(" "); |
| | | s.setTjStandardGtValue(" "); |
| | | tjOrderDetail.setStandard(s); |
| | | } else if (list2.size() == 1) { |
| | | tjOrderDetail.setStandard(list2.get(0)); |
| | | } else { |
| | | Long cusSex = customer.getCusSex(); |
| | | Date cusBrithday = customer.getCusBrithday(); |
| | | int age = DateUtil.ageOfNow(cusBrithday); |
| | | for (TjStandard tjStandard : list2) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, cusSex); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); |
| | | } |
| | | TjStandard standard = tjStandardService.getOne(wq8); |
| | | tjOrderDetail.setStandard(standard); |
| | | } |
| | | } |
| | | TjPdfVO tjPdfVO = new TjPdfVO(); |
| | | tjPdfVO.setProName(tjOrderDetail.getProject().getProName()); |
| | | tjPdfVO.setProResult(tjOrderDetail.getProResult()); |
| | | tjPdfVO.setExc(tjOrderDetail.getExceptionDesc()); |
| | | if (tjOrderDetail.getStandard() != null) { |
| | | //单位 |
| | | if (tjOrderDetail.getStandard().getCompany() == null) { |
| | | tjPdfVO.setCompany(" "); |
| | | if(null !=tjProject.getProMetering()){ |
| | | tjPdfVO.setCompany(tjProject.getProMetering()); |
| | | } else { |
| | | tjPdfVO.setCompany(tjOrderDetail.getStandard().getCompany()); |
| | | } |
| | | // TODO 设置单位 |
| | | //最大值和最小值 |
| | | String tjStandardGtValue = tjOrderDetail.getStandard().getTjStandardGtValue(); |
| | | String tjStandardLtValue = tjOrderDetail.getStandard().getTjStandardLtValue(); |
| | | if (tjStandardGtValue == null) { |
| | | tjStandardGtValue = " "; |
| | | } |
| | | if (tjStandardLtValue == null) { |
| | | tjStandardLtValue = " "; |
| | | } |
| | | tjPdfVO.setStandardValue(tjStandardLtValue + "-" + tjStandardGtValue); |
| | | tjPdfVO.setCompany("/"); |
| | | } |
| | | tjPdfVOS.add(tjPdfVO); |
| | | } |
| | | } |
| | | } |
| | | printReport.put(entry.getKey(), tjPdfVOS); |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param document |
| | | * @param titleName |
| | | * @param titles |
| | |
| | | |
| | | /** |
| | | * 创建检查pdf |
| | | * |
| | | * @param xm |
| | | * @param xb |
| | | * @param nl |