From e37740bcaa6a0dfdef6e082e4d8136b81d453000 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 09 七月 2024 18:16:48 +0800
Subject: [PATCH] zjh 2024/07/9-1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |  121 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 111 insertions(+), 10 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 584dc8d..6806325 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
@@ -6,6 +6,7 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -38,6 +39,7 @@
 import com.ltkj.web.config.pdfutils.MyHeaderFooter;
 import com.ltkj.web.config.pdfutils.PDFBinaryUtil;
 import com.ltkj.web.config.pdfutils.PdfUtils;
+import com.ltkj.web.controller.his.HisPDFUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -100,6 +102,8 @@
 
     @Autowired
     private ITjBigPositiveService tjBigPositiveService;
+    @Autowired
+    private HisPDFUtil hisPDFUtil;
 
     @GetMapping("/savePdf")
     @ApiOperation(value = "浠庢湰鍦板瓨鍌ㄦā鏉垮埌鏁版嵁搴�")
@@ -287,15 +291,112 @@
 //        remarkVo.setProId("1633660948860522555");
 //        updateOrderRemarkVos.add(remarkVo);
 //        tjCheckController.checkUpdateOrderRemark(updateOrderRemarkVos);
-        System.out.println("---------------------------------------newFun寮�濮�--------------------------------------------------");
-        error = newFun(tjNumber);
-        System.out.println("-------------------------------------------缁撴潫----------------------------------------------");
+//        System.out.println("---------------------------------------newFun寮�濮�--------------------------------------------------");
+        // 浠ュ墠娴嬭瘯pdf鏂规硶
+//        error = newFun(tjNumber);
+//        System.out.println("-------------------------------------------缁撴潫----------------------------------------------");
         // 鎾ら攢
 //        revocationReport(tjNumber);
-        if (error != null) {
-            return error;
+//        if (error != null) {
+//            return error;
+//        }
+//        return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
+        int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
+        if (num > 0) {
+            return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
         }
-        return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
+        //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
+        LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
+        wqa.eq(TjReport::getTjNumber, tjNumber);
+        wqa.eq(TjReport::getType, "浣撴鎶ュ憡");
+        Integer count = tjReportService.getSelectCount(wqa);
+        if (count != 0) {
+            return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
+        }
+//        String configByKey = configService.selectConfigByKey("sfkqdyhis");
+        String configByKey = "Y";
+        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(TjOrder::getTjNumber, tjNumber);
+        TjOrder tjOrder = tjOrderService.getOne(queryWrapper);
+        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);
+            }
+            Integer checkStatus = tjOrder.getCheckStatus();
+            if (checkStatus == 1) {
+                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 hisRegistrationId = tjOrder.getCardId();
+                Date createTime = tjOrder.getCreateTime();
+                Date finishTime = tjOrder.getFinishTime();
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String ksrq = dateFormat.format(createTime);
+                String jsrq = dateFormat.format(new Date());
+                HashMap<String, Object> params = new HashMap<>();
+                params.put("his_registration_id", hisRegistrationId);
+                params.put("ksbm", "");
+                params.put("pationid", "");
+                params.put("ksrq", ksrq);
+                params.put("jsrq", jsrq);
+                params.put("pagecount", 100);
+                params.put("page", 1);
+                HashMap<String, Object> map = new HashMap<>();
+                LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
+                wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
+                TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
+//                    return hisPDFUtil.execHisRequest(map, params, tjOrder, reportTemplate);
+                try {
+                    return hisPDFUtil.hisPDF(tjOrder,tjCustomer,reportTemplate);
+                } catch (DocumentException e) {
+                    logger.error("鐢熸垚鎶ュ憡寮傚父");
+                    e.printStackTrace();
+                    return AjaxResult.error("鐢熸垚鎶ュ憡寮傚父");
+                }
+            } else {
+                return AjaxResult.error("璇峰厛鎬绘");
+            }
+        }
+        return AjaxResult.error();
     }
 
     private AjaxResult newFun(String tjNumber) {
@@ -1259,7 +1360,7 @@
                     e.printStackTrace();
                     return AjaxResult.success("PDF瀵煎嚭澶辫触");
                 } finally {
-                    transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjOrder.getCardId());
+//                    transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjOrder.getCardId());
                 }
             }
         }
@@ -1332,7 +1433,7 @@
 //        wq.ne(TjOrderDetail::getTjStatus, 0);
 //        wq.eq(TjOrderDetail::getProId,projectService.getHuaYanProId());
 //        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq);
-        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanTable(tjNumber);
+        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanAndCgTable(tjNumber);
         //閬嶅巻浣撴璁板綍 灏嗛」鐩殑鍏蜂綋淇℃伅
         //閬嶅巻瀹㈡埛鎵�閫夌殑椤圭洰(鍖呭惈瀛愰」鐖堕」)
 //        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
@@ -1349,7 +1450,7 @@
 //        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
 //        wqq.eq(TjOrderRemark::getDeptId,"241");
 //        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
-        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanTable(tjNumber);
+        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanAndCgTable(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
         }
@@ -1357,7 +1458,7 @@
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             List<TjPdfVO> tjPdfVOS = new ArrayList<>();
             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                if (entry.getKey().getProId().equals(tjOrderDetail.getProId())) {
+                if (entry.getKey().getProsId().equals(tjOrderDetail.getProsId())) {
                     TjPdfVO tjPdfVO = new TjPdfVO();
                     tjPdfVO.setProName(tjOrderDetail.getProName());
                     if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {

--
Gitblit v1.8.0