From 92db9e7f8e1f79f5b61266382149843159907157 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 12 八月 2025 18:03:00 +0800
Subject: [PATCH] zjh20250812

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java |  281 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 165 insertions(+), 116 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java
index 07fe543..f55d1d1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java
@@ -4,33 +4,28 @@
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
-import com.ltkj.common.core.page.TableDataInfo;
-import com.ltkj.common.utils.SecurityUtils;
-import com.ltkj.common.utils.StringUtils;
-import com.ltkj.framework.config.UserHoder;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
+import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
+import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
 import com.ltkj.hosp.sqlDomain.LtkjHybgd;
 import com.ltkj.hosp.sqlDomain.LtkjHysqd;
-import com.ltkj.mall.mallOrderUtils.TjConstants;
+import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
+import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.web.config.pdfutils.PDFBinaryUtil;
+import com.ltkj.web.controller.system.TjReportController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.annotations.One;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTJcImpl;
 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 org.springframework.web.server.session.InMemoryWebSessionStore;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -39,7 +34,6 @@
 import java.net.URL;
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/lige
@@ -54,39 +48,40 @@
 
     @Resource
     private ITjReportService reportService;
-
     @Resource
     private ITjCustomerService customerService;
     @Autowired
     private ITjOrderService orderService;
-
     @Autowired
     private ITjOrderDetailService detailService;
-
     @Resource
     private ITjProjectService projectService;
-
     @Resource
     private ITjOrderRemarkService remarkService;
-
     @Resource
     private ITjStandardService standardService;
-
     @Resource
     private ITjAdviceService adviceService;
-
     @Resource
     private IDictCompService compService;
-
     @Resource
     private ITjReportTemplateService reportTemplateService;
-
-    @Value("${path.filePath}")
-    private String value;
+//    @Value("${path.filePath}")
+//    private String value;
     @Resource
     private LtkjHybgdService ltkjHybgdService;
     @Resource
     private LtkjHysqdService ltkjHysqdService;
+    @Resource
+    private LtkjExamJcbgdService jcbgdService;
+    @Resource
+    private LtkjExamJcsqdService jcsqdService;
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private TjReportController tjReportController;
+
+
     /**
      * 灏忕▼搴忔煡璇綋妫�鎶ュ憡鍒楄〃
      */
@@ -101,7 +96,7 @@
         LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
         wq1.eq(TjCustomer::getCusPhone, cusPhone);
         List<TjCustomer> list1 = customerService.list(wq1);
-        if (list1.size() != 0) {
+        if (null != list1 && !list1.isEmpty()) {
             for (TjCustomer tjCustomer : list1) {
                 Map<String, Object> map = new HashMap<>();
                 QueryWrapper<TjOrder> wq2 = new QueryWrapper<>();
@@ -110,7 +105,7 @@
                 wq2.isNotNull("finish_time");
                 wq2.orderByDesc("finish_time");
                 List<TjOrder> list = orderService.list(wq2);
-                if (null != list && list.size() > 0) {
+                if (null != list && !list.isEmpty()) {
                     TjOrder tjOrder = orderService.list(wq2).get(0);
                     map.put("report", tjOrder);
                     map.put("customer", tjCustomer);
@@ -131,7 +126,7 @@
     public AjaxResult getRelativeReportList(@RequestParam @ApiParam(value = "濮撳悕") String cusName,
                                             @RequestParam @ApiParam(value = "韬唤璇佸彿") String cusIdcard) {
         LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
-        wq1.eq(TjCustomer::getCusName, cusName);
+        wq1.like(TjCustomer::getCusName, cusName);
         wq1.eq(TjCustomer::getCusIdcard, cusIdcard);
         TjCustomer customer = customerService.getOne(wq1);
         if (null != customer) {
@@ -208,26 +203,27 @@
                             }
                             LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>();
                             wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId());
+                            wqqqq.eq(TjProject::getNeedReport,"Y");
                             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));
-                                }
-                            }
+                            //                            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));
+//                                }
+//                            }
                         }
                         LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>();
                         wq3.eq(TjAdvice::getProId, remark.getProId());
@@ -281,9 +277,13 @@
                                 if (jyjgval.compareTo(min) < 0) {
                                     // jyjg 灏忎簬鑼冨洿鏈�灏忓�硷紝娣诲姞涓嬬澶�
                                     jyjg = jyjg + "   鈫�";
+                                    hybgd.setYcbz("1");
                                 } else if (jyjgval.compareTo(max) > 0) {
                                     // jyjg 澶т簬鑼冨洿鏈�澶у�硷紝娣诲姞涓婄澶�
                                     jyjg = jyjg + "   鈫�";
+                                    hybgd.setYcbz("1");
+                                }else {
+                                    hybgd.setYcbz("0");
                                 }
                                 hybgd.setJyjg(jyjg);
                             } catch (Exception ignored) {}
@@ -299,14 +299,42 @@
     }
 
 
+
+    @GetMapping("/getJcReportByTjNumber")
+    @ApiOperation(value = "灏忕▼搴�-浣撴妫�鏌ユ姤鍛婃煡璇㈣鎯�")
+    public AjaxResult getJcReportByTjNumber(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) {
+        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
+        wq1.eq(TjOrder::getTjNumber, tjNumber);
+        wq1.eq(TjOrder::getCheckStatus, 1);
+        TjOrder one = orderService.getOne(wq1);
+        if (one == null) {
+            return AjaxResult.success("浣撴鏆傛湭瀹屾垚锛侊紒");
+        }
+        List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(one.getCardId());
+        if(null !=jcsqdList && jcsqdList.size()>0){
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (LtkjExamJcsqd jcsqd : jcsqdList) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("parent",jcsqd.getJcxmmc());
+                map.put("jcbx",jcsqd.getJgbx());
+                List<LtkjExamJcbgd> jcbgdList = jcbgdService.getJianJcBaoGaoDanList(jcsqd.getTmh());
+                map.put("sons",jcbgdList);
+                list.add(map);
+            }
+            return AjaxResult.success(list);
+        }
+        return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�");
+    }
+
+
+
     /**
      * 灏忕▼搴忕偣鍑讳綋妫�鎶ュ憡鏌ヨ璇︽儏,鏄剧ず韬珮浣撻噸浣撻噸鎸囨暟鏀剁缉鍘嬭垝寮犲帇
      */
     @GetMapping("/getShenGaoTiZhong")
     @ApiOperation(value = "灏忕▼搴�-浣撴鎶ュ憡鏌ヨ璇︽儏")
     public AjaxResult getShenGaoTiZhong(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) {
-        Map<String, Object> objectMap = new HashMap<>();
-        List<Map<String, Object>> list = new ArrayList<>();
+//        Map<String, Object> objectMap = new HashMap<>();
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
         wq1.eq(TjOrder::getTjNumber, tjNumber);
         wq1.eq(TjOrder::getCheckStatus, 1);
@@ -315,62 +343,38 @@
             return AjaxResult.success("浣撴鏆傛湭瀹屾垚锛侊紒");
         }
 
-        LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
-        wq.in(TjOrderDetail::getProId, "1633660948860522524");
-        final TjOrderDetail one1 = detailService.getOne(wq);
-        if (one1 == null) {
-            objectMap.put("shenggao", "鏃�");
-        } else {
-            objectMap.put("shenggao", one1.getProResult());
-        }
-
-
-        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
-        wq2.eq(TjOrderDetail::getOrderId, one.getOrderId());
-        wq2.in(TjOrderDetail::getProId, "1633660948860522525");
-        final TjOrderDetail one2 = detailService.getOne(wq2);
-        if (one2 == null) {
-            objectMap.put("tizhong", "鏃�");
-        } else {
-            objectMap.put("tizhong", one2.getProResult());
-        }
-
-
-        LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>();
-        wq3.eq(TjOrderDetail::getOrderId, one.getOrderId());
-        wq3.in(TjOrderDetail::getProId, "1633660948860522526");
-        final TjOrderDetail one3 = detailService.getOne(wq3);
-        if (one3 == null) {
-            objectMap.put("tizhongzhishu", "鏃�");
-        } 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) {
-            objectMap.put("shousuoya", "鏃�");
-        } 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 {
-            objectMap.put("shuzhangya", one5.getProResult());
-        }
-
-
-        return AjaxResult.success(objectMap);
+        List<ShenGaoTiZhongVo> maps = detailService.getShenGaoTiZhongList(one.getTjNumber());
+//        if(null !=maps && maps.size()>0){
+//            for (Map<String, Object> map : maps) {
+//                if (map.get("") == null) {
+//                    objectMap.put("shenggao", "鏃�");
+//                } else {
+//                    objectMap.put("shenggao", one1.getProResult());
+//                }
+//                if (one2 == null) {
+//                    objectMap.put("tizhong", "鏃�");
+//                } else {
+//                    objectMap.put("tizhong", one2.getProResult());
+//                }
+//                if (one3 == null) {
+//                    objectMap.put("tizhongzhishu", "鏃�");
+//                } else {
+//                    objectMap.put("tizhongzhishu", one3.getProResult());
+//                }
+//                if (one4 == null) {
+//                    objectMap.put("shousuoya", "鏃�");
+//                } else {
+//                    objectMap.put("shousuoya", one4.getProResult());
+//                }
+//                if (one5 == null) {
+//                    objectMap.put("shuzhangya", "鏃�");
+//                } else {
+//                    objectMap.put("shuzhangya", one5.getProResult());
+//                }
+//            }
+//        }
+        log.info("ltkj {}鐨勪綋妫�鎶ュ憡鏌ヨ璇︽儏"+maps,tjNumber);
+        return AjaxResult.success(maps);
 
     }
 
@@ -403,20 +407,11 @@
     @GetMapping("/preview/{flag}/{TjNumber}")
     @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);
-//        orderService.update(updateWrapper);
-
-
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
         wq1.eq(TjOrder::getTjNumber, tjNumber);
         TjOrder tjOrder = orderService.getOne(wq1);
 
-
+        String value = configService.selectConfigByKey("path_filePath");
         LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>();
         wq2.eq(TjCustomer::getCusId, tjOrder.getUserId());
         TjCustomer tjCustomer = customerService.getOne(wq2);
@@ -433,9 +428,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() + File.separator + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
         //String filePath = one.getPath();
-        String filePath = value + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
+        String filePath = value + File.separator + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
         File f = new File(filePath);
         if (filePath.isEmpty()) {
             System.out.println("鏂囦欢涓嶅瓨鍦紒");
@@ -520,4 +515,58 @@
         }
         return AjaxResult.success("鎮ㄨ繕娌℃湁浣撴璁板綍锛�");
     }
+
+
+    @PostMapping("/tijianjilu")
+    @ApiOperation("灏忕▼搴忎綋妫�璁板綍")
+    public AjaxResult tijianjilu(@RequestBody String json) {
+        cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json);
+        String idCard = entries.getStr("idCard");
+        String kssj = entries.getStr("kssj");
+        String jssj = entries.getStr("jssj");
+        TjCustomer tjCustomer = customerService.getTjCustomerByCusIdCard(idCard);
+        if (null != tjCustomer) {
+            List<Map<String, Object>> mapList = new ArrayList<>();
+            LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
+            wq.eq(TjOrder::getUserId, tjCustomer.getCusId());
+            wq.eq(TjOrder::getCheckStatus, 1);
+            wq.eq(TjOrder::getHeshouStatus, 1);
+            wq.isNotNull(TjOrder::getReportTime);
+            wq.isNotNull(TjOrder::getHeshouTime);
+            if(StringUtil.isNotBlank(kssj) && StringUtil.isNotBlank(jssj)){
+                wq.between(TjOrder::getCreateTime, kssj, jssj);
+            }else {
+                DateTime start = DateUtil.beginOfMonth(DateUtil.date());
+                DateTime end = DateUtil.beginOfMonth(DateUtil.offsetMonth(DateUtil.date(), 1));
+                wq.between(TjOrder::getCreateTime, start, end);
+            }
+            List<TjOrder> list = orderService.list(wq);
+            if (null != list && !list.isEmpty()) {
+                for (TjOrder order : list) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("tjNumber", order.getTjNumber());
+                    map.put("status", "宸插畬鎴�");
+                    map.put("cusName", tjCustomer.getCusName());
+                    map.put("cusSex", tjCustomer.getCusSex());
+                    map.put("age", tjCustomer.getAge());
+                    map.put("tjTime",order.getCreateTime());
+                    mapList.add(map);
+                }
+                return AjaxResult.success(mapList);
+            }
+        }
+
+        return AjaxResult.error("鏆傛棤浣撴璁板綍");
+    }
+
+
+    @PostMapping("/preview")
+    @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
+    public void preview(HttpServletResponse response,@RequestBody String json) {
+        cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json);
+        String tjNumber = entries.getStr("tjNumber");
+        tjReportController.preview(response, true, tjNumber);
+    }
+
+
 }

--
Gitblit v1.8.0