From bd6c1c1c6642d57c85816a62d77c25c4e1a66a76 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 02 一月 2024 09:38:46 +0800
Subject: [PATCH] zjh 2024/01/02--1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 102 insertions(+), 4 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
index aed625b..996055d 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -1,6 +1,8 @@
 package com.ltkj.web.controller.system;
 
+import java.io.*;
 import java.math.BigDecimal;
+import java.net.URL;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -8,9 +10,11 @@
 import javax.servlet.http.HttpServletResponse;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.extra.pinyin.PinyinUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.base.Joiner;
 import com.ltkj.common.excelConfig.ExcelUtils;
@@ -21,12 +25,16 @@
 import com.ltkj.hosp.dto.ConfirmDto;
 import com.ltkj.hosp.dto.ExcelImportDto;
 import com.ltkj.hosp.service.*;
+import com.ltkj.mall.mallOrderUtils.TjConstants;
+import com.ltkj.web.config.pdfutils.PDFBinaryUtil;
 import com.ltkj.web.config.redis.OrderDelayService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
@@ -70,12 +78,86 @@
     private TjAsyncService asyncService;
     @Resource
     private OrderDelayService delayService;
+    @Resource
+    private ITjReportTemplateService reportTemplateService;
+
+    @Value("${path.filePath}")
+    private String value;
 
     @PostMapping("/importTemplate")
     @ApiOperation(value = "瀵煎嚭excel琛ㄦā鏉�")
     public void importTemplate(HttpServletResponse response) {
-        ExcelUtils.exportTemplate(response, "浣撴棰勭害Excel妯℃澘", TjReservation.class);
+        //鍘熸潵鐨勪笅杞芥ā鏉胯皟鐢ㄦ帴鍙�
+//        ExcelUtils.exportTemplate(response, "浣撴棰勭害Excel妯℃澘", TjReservation.class);
+        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\瑗垮畨璺嘲鏈虹數绉戞妧鏈夐檺鍏徃.xls");
+//        TjReportTemplate tem = new TjReportTemplate();
+//        tem.setName("鍥綋棰勭害Excel妯$増");
+//        tem.setRemark("鍥綋棰勭害Excel妯$増");
+//        tem.setTemplate(base64String);
+//        tem.setFlag("1");
+//        tem.setOpen("0");
+//        reportTemplateService.save(tem);
+
+//        LambdaQueryWrapper<TjReportTemplate> wq = new LambdaQueryWrapper<>();
+//        wq.eq(TjReportTemplate::getFlag, 4);
+//        wq.eq(TjReportTemplate::getName, "");
+//        wq.eq(TjReportTemplate::getOpen, 0);
+//         reportTemplateService.getOne(wq);
+
+        PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + "\\" + "鍥綋棰勭害Excel妯$増.xls");
+        String filePath = value + "\\" + "鍥綋棰勭害Excel妯$増.xls";
+        File f = new File(filePath);
+        if (filePath.isEmpty()) {
+            System.out.println("鏂囦欢涓嶅瓨鍦紒");
+            return;
+        }
+        BufferedInputStream br = null;
+        OutputStream out = null;
+        FileInputStream fileInputStream = null;
+        try {
+            fileInputStream = new FileInputStream(f);
+            br = new BufferedInputStream(fileInputStream);
+            byte[] bs = new byte[1024];
+            int len = 0;
+            response.reset(); // 闈炲父閲嶈
+            if (true) {
+                // 鍦ㄧ嚎鎵撳紑鏂瑰紡
+                URL u = new URL("file:///" + filePath);
+                //System.out.println(u);
+                String contentType = u.openConnection().getContentType();
+                response.setContentType(contentType);
+                response.setHeader("Content-Disposition", "inline;filename=鍥綋棰勭害Excel妯$増.xls");
+            } else {
+                // 绾笅杞芥柟寮�
+                response.setContentType("application/x-msdownload");
+                response.setContentType("application/pdf;charset=utf-8");
+                response.setHeader("Content-Disposition", "attachment;filename=鍥綋棰勭害Excel妯$増.xls");
+            }
+            out = response.getOutputStream();
+            while ((len = br.read(bs)) > 0) {
+                out.write(bs, 0, len);
+            }
+            out.flush();
+            out.close();
+            br.close();
+            fileInputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+            //System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e);
+        } finally {
+            if (out != null) {
+                try {
+                    out.close();
+                    br.close();
+                    fileInputStream.close();
+
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
     }
+
 
 
     /**
@@ -423,11 +505,20 @@
      */
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "鏍规嵁棰勭害id鑾峰彇棰勭害璇︽儏")
-    public AjaxResult getInfo(@PathVariable("id") @ApiParam(value = "棰勭害id") Integer id) {
+    public AjaxResult getInfo(@PathVariable("id") @ApiParam(value = "棰勭害id") String id) {
         TjReservation tjReservation = tjReservationService.selectTjReservationById(id);
         if (null != tjReservation) {
             if (null != tjReservation.getPacId()) {
-                tjReservation.setPacName(packageService.getById(tjReservation.getPacId()).getPacName());
+                TjPackage aPackage = packageService.getById(tjReservation.getPacId());
+                if(null !=aPackage){
+                    tjReservation.setPacName(aPackage.getPacName());
+                }
+                TjDwDept dwDept = dwDeptService.getById(tjReservation.getPacId());
+
+                if(null !=dwDept){
+                    tjReservation.setPacName(dwDept.getDwName());
+                }
+
             }
             if (null != tjReservation.getProIds()) {
                 List<String> proNames = new ArrayList<>();
@@ -490,9 +581,14 @@
     @PostMapping("/tjReappoint")
     @ApiOperation(value = "浣撴棰勭害淇敼鎺ュ彛")
     public AjaxResult tjReappoint(@RequestBody TjReservation tjReservation) {
+        TjReservation reservation = tjReservationService.getById(tjReservation.getId());
+
         if (tjReservation.getIsExpire() == 1) {
             return AjaxResult.error("棰勭害宸茶繃鏈熶笉鍙慨鏀�");
         }
+        tjReservation.setIdCard(reservation.getIdCard());
+        tjReservation.setPhoe(reservation.getPhoe());
+        tjReservation.setName(reservation.getName());
         if (tjReservationService.updateById(tjReservation)) {
             return AjaxResult.success("鎿嶄綔鎴愬姛");
         }
@@ -528,6 +624,7 @@
 
     @PostMapping("/newReservationConfirm")
     @ApiOperation(value = "鍥綋棰勭害纭鎺ュ彛 (鏂扮増鏈�)")
+    @Transactional
     public AjaxResult newReservationConfirm(@RequestBody ConfirmDto dto) {
         //棰勭害鐨勬墍鏈変汉
         List<TjReservation> rightList = dto.getReservations();
@@ -544,7 +641,8 @@
         TjDwDept dwDept = dwDeptService.getById(dto.getDwDeptId());
 
         //寮傛鏁版嵁
-        asyncService.addNewReservationConfirm(rightList);
+//        asyncService.addNewReservationConfirm(rightList);
+        asyncService.saveNewReservationConfirm(rightList);
 
         //鍥綋浜烘暟鍚堣浠锋牸
         BigDecimal compPay=new BigDecimal("0.00");

--
Gitblit v1.8.0