| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | |
| | | * @author ltkj |
| | | * @date 2022-12-06 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/system/report") |
| | | @Api(tags = "体检报告") |
| | | @Api(tags = "AAAA_体检报告") |
| | | @Transactional |
| | | public class TjReportController extends BaseController { |
| | | @Resource |
| | |
| | | private ITjBigPositiveService tjBigPositiveService; |
| | | @Autowired |
| | | private HisPDFUtil hisPDFUtil; |
| | | @Autowired |
| | | private IDictHospService dictHospService; |
| | | @Autowired |
| | | private ITjReportPrintService printService; |
| | | |
| | | @GetMapping("/savePdf") |
| | | @ApiOperation(value = "从本地存储模板到数据库") |
| | | public AjaxResult savePdf() { |
| | | //从文件地址读入PDF文件 仅存储一次 |
| | | String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template")); |
| | | reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"体检报告模板5")); |
| | | TjReportTemplate tem = new TjReportTemplate(); |
| | | tem.setName("体检报告模板5"); |
| | | tem.setRemark("体检报告模板5"); |
| | | tem.setTemplate(base64String); |
| | | tem.setFlag("1"); |
| | | tem.setOpen("0"); |
| | | tem.setCreateTime(DateUtil.date()); |
| | | final boolean save = reportTemplateService.save(tem); |
| | | if (save) { |
| | | return AjaxResult.success("保存成功"); |
| | |
| | | // return error; |
| | | // } |
| | | // return AjaxResult.success("该用户体检未完成,不能打印报告!!!"); |
| | | int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | if (num > 0) { |
| | | return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | | String config = configService.selectConfigByKey("sfjcwjhyqxm"); |
| | | if(null != config && config.equalsIgnoreCase("Y")){ |
| | | int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | if (num > 0) return AjaxResult.error("存在未检或延期项目暂不能生成报告!!!"); |
| | | } |
| | | |
| | | // String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | |
| | | LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq1); |
| | | LambdaQueryWrapper<TjReportTemplate> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjReportTemplate::getFlag,"4"); |
| | | wrapper.eq(TjReportTemplate::getOpen,"1"); |
| | | TjReportTemplate zongJianYiShiQianMing = reportTemplateService.getOne(wrapper); |
| | | try { |
| | | return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate); |
| | | return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing); |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | e.printStackTrace(); |
| | | log.error(String.valueOf(e)); |
| | | // 调用撤销 |
| | | // tjReportController.backOnlyCheckType(tjNumber); |
| | | logger.error("生成报告异常"); |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) throws Exception { |
| | | AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); |
| | | public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) { |
| | | AjaxResult ajaxResult = null; |
| | | try { |
| | | // ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); |
| | | // ajaxResult = hisPDFUtil.hisPDFNew(tjOrder, tjCustomer, reportTemplate); |
| | | |
| | | ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | if (!ajaxResult.get("code").toString().equals("200")) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } else { |
| | |
| | | // 设置正文字体样式:12号 |
| | | Font textFont = PdfUtils.setFont(9); |
| | | //创建表格 将表头字体和正文字体放进去 |
| | | PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value); |
| | | DictHosp dictHosp = dictHospService.list().get(0); |
| | | PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.equals("澄合矿务局中心医院")); |
| | | document.add(paragraph); |
| | | document.add(table); |
| | | //判断备注是否为空 空不能显示null |
| | |
| | | } |
| | | |
| | | private AjaxResult oldFun(String tjNumber) { |
| | | DictHosp dictHosp = dictHospService.list().get(0); |
| | | long startTime = System.currentTimeMillis(); |
| | | int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | if (num > 0) return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | |
| | | // 设置正文字体样式:12号 |
| | | Font textFont = PdfUtils.setFont(9); |
| | | //创建表格 将表头字体和正文字体放进去 |
| | | PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value); |
| | | PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.equals("澄合矿务局中心医院")); |
| | | document.add(paragraph); |
| | | document.add(table); |
| | | |
| | |
| | | @ApiOperation(value = "下载体检报告") |
| | | public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) { |
| | | //修改order表中的下载报告时间为当前时间 |
| | | LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(TjOrder::getTjNumber, tjNumber); |
| | | updateWrapper.set(TjOrder::getPrintLastTime, new Date()); |
| | | updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); |
| | | updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); |
| | | tjOrderService.update(updateWrapper); |
| | | // LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | // updateWrapper.eq(TjOrder::getTjNumber, tjNumber); |
| | | // updateWrapper.set(TjOrder::getPrintLastTime, new Date()); |
| | | // updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); |
| | | // updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); |
| | | // tjOrderService.update(updateWrapper); |
| | | |
| | | Date date = new Date(); |
| | | // LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | // wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | // TjOrder tjOrder = tjOrderService.getOne(wq1); |
| | | TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | TjOrder tjOrder = tjOrderService.getOne(wq1); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq2); |
| | | // LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); |
| | | // wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId()); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); |
| | |
| | | out = response.getOutputStream(); |
| | | while ((len = br.read(bs)) > 0) { |
| | | out.write(bs, 0, len); |
| | | } |
| | | if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){ |
| | | TjReportPrint print=new TjReportPrint(); |
| | | print.setTjNumber(tjNumber); |
| | | print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName()); |
| | | print.setPrintTime(date); |
| | | print.setPrintStatus("已打印"); |
| | | if (printService.save(print)) { |
| | | tjOrder.setPrintLastTime(date); |
| | | tjOrderService.updateById(tjOrder); |
| | | } |
| | | } |
| | | out.flush(); |
| | | out.close(); |
| | |
| | | } else { |
| | | one.setStatus(TjConstants.TJ_CONFIRM); |
| | | } |
| | | one.setReportTime(null); |
| | | one.setCheckTime(null); |
| | | //将状态改为未审核 |
| | | // UpdateWrapper updateWrapper=new UpdateWrapper(); |
| | | // updateWrapper.eq("tj_number",tjNumber); |