From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 27 六月 2025 20:24:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjRulesController.java |   98 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 75 insertions(+), 23 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjRulesController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjRulesController.java
index 0418744..3316a68 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjRulesController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjRulesController.java
@@ -1,21 +1,19 @@
 package com.ltkj.web.controller.system;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -52,6 +50,8 @@
     private ITjGroupingProService groupingProService;
     @Resource
     private ITjProjectService projectService;
+    @Resource
+    private TjProGzjyService proGzjyService;
 
     /**
      * 鏌ヨ瑙勫垯+鐥呯鍒楄〃
@@ -59,11 +59,20 @@
     //@PreAuthorize("@ss.hasPermi('hosp:rules:list')")
     @GetMapping("/list")
     @ApiOperation(value = "鏌ヨ瑙勫垯+鐥呯鍒楄〃")
-    public TableDataInfo list(TjRules tjRules) {
-        startPage();
+    public AjaxResult list(TjRules tjRules) {
+
+        Page<TjRules> page=new Page<>(tjRules.getPageNum(),tjRules.getPageSize());
+
         LambdaQueryWrapper<TjRules> wq = new LambdaQueryWrapper<>();
         if (tjRules.getProId() != null) {
-            wq.eq(TjRules::getProId, tjRules.getProId());
+            List<TjProject> projects = projectService.getTjProjectListBySoneId(tjRules.getProId());
+            if(null !=projects && !projects.isEmpty()){
+                wq.and(w-> w.eq(TjRules::getProId, tjRules.getProId())
+                        .or().in(TjRules::getProId,projects.stream().map(TjProject::getProId).collect(Collectors.toList())));
+            }else {
+                wq.eq(TjRules::getProId, tjRules.getProId());
+            }
+
         }
         if (tjRules.getProName() != null) {
             wq.like(TjRules::getProName, tjRules.getProName());
@@ -84,16 +93,12 @@
             wq.eq(TjRules::getSex, tjRules.getSex());
         }
         wq.orderByAsc(TjRules::getSort);
-        List<TjRules> list = tjRulesService.list(wq);
-        if (list != null) {
-            for (TjRules rules : list) {
-                LambdaQueryWrapper<TjRuleAdvice> wq1 = new LambdaQueryWrapper<>();
-                wq1.eq(TjRuleAdvice::getBz, rules.getAid());
-                final List<TjRuleAdvice> list1 = tjRuleAdviceService.list(wq1);
-                rules.setRuleAdvices(list1);
-            }
-        }
-        return getDataTable(list);
+//        List<TjRules> list = tjRulesService.list(wq);
+        Page<TjRules> page1 = tjRulesService.page(page, wq);
+        Map<String,Object>map=new HashMap<>();
+        map.put("rows",page1.getRecords());
+        map.put("total",page1.getTotal());
+        return AjaxResult.success(map);
     }
 
 
@@ -211,17 +216,64 @@
     @GetMapping("/AutoGetRule")
     @ApiOperation(value = "瑙勫垯鑷姩璁$畻")
     public AjaxResult AutoGetRule(@ApiParam(value = "椤圭洰") @RequestParam String proId,
-                                  @ApiParam(value = "瀹㈡埛") @RequestParam String cusId,
+                                  @ApiParam(value = "瀹㈡埛") @RequestParam(required = false) String cusId,
+                                  @ApiParam(value = "浣撴鍙�")@RequestParam String tjNum,
                                   @ApiParam(value = "鍏抽敭瀛�") @RequestParam(required = false) String keyWord,
-                                  @ApiParam(value = "缁撴灉鍊�") @RequestParam(required = false) BigDecimal keyNum) {
+                                  @ApiParam(value = "缁撴灉鍊�") @RequestParam(required = false) String keyNum) {
+
+        TjProject project = projectService.getById(proId);
+        TjOrder order = orderService.getOrderByTjNum(tjNum);
+        if(null !=project && null !=order){
+        TjProject pproject = projectService.getById(project.getProParentId());
+        List<Map<String, Object>> tjproGzJy = projectService.getTjproGzJy(tjNum, proId, keyNum, 0);
+        if(null !=tjproGzJy && !tjproGzJy.isEmpty()){
+//            proGzjyService.remove(new LambdaQueryWrapper<TjProGzjy>().eq(TjProGzjy::getProId,proId).eq(TjProGzjy::getTjNumber,tjNum));
+            proGzjyService.deletedByTjNumAndProId(proId,tjNum);
+            for (Map<String, Object> map : tjproGzJy) {
+                Object bz = map.get("bz");
+                Object bt = map.get("bt");
+                Object nr = map.get("nr");
+                TjProGzjy proGzjy=new TjProGzjy();
+                proGzjy.setTjNumber(tjNum);
+                proGzjy.setOrderId(order.getOrderId());
+                proGzjy.setProId(Long.valueOf(proId));
+                proGzjy.setProName(project.getProName());
+                proGzjy.setProPrentId(project.getProParentId());
+                proGzjy.setProPrentName(pproject.getProName());
+                proGzjy.setProJgz(keyNum);
+                if(null !=bz)proGzjy.setBz(bz.toString());
+                if(null !=bt)proGzjy.setBt(bt.toString());
+                if(null !=nr)proGzjy.setJy(nr.toString());
+                proGzjyService.save(proGzjy);
+            }
+        }
+        return AjaxResult.success(tjproGzJy);
+        }
+        return AjaxResult.success();
+    }
+
+    //涔嬪墠瑙勫垯绠楁硶鏂规硶
+    private AjaxResult getAjaxResult(String proId, String cusId, String keyWord, BigDecimal keyNum) {
         List<TjRules> res = new ArrayList<>();
+        if (proId ==null){
+            return AjaxResult.success(res);
+        }
+        if (cusId ==null){
+            return AjaxResult.success(res);
+        }
         TjCustomer byId = customerService.getById(cusId);
+        if(byId==null){
+            return AjaxResult.success(res);
+        }
         LambdaQueryWrapper<TjRules> wq = new LambdaQueryWrapper<>();
         wq.eq(TjRules::getProId, proId);
         wq.lt(TjRules::getAgeLt, MatchUtils.getAgeByIdCard(byId.getCusIdcard()));
         wq.gt(TjRules::getAgeGt, MatchUtils.getAgeByIdCard(byId.getCusIdcard()));
-        wq.in(TjRules::getSex, 0, byId.getCusSex());
+//        wq.in(TjRules::getSex, 0, byId.getCusSex());
         final List<TjRules> list = tjRulesService.list(wq);
+        if (list==null){
+            return AjaxResult.success(res);
+        }
         for (TjRules tjRules : list) {
             //鍒ゆ柇瑙勫垯绫诲瀷:鏁板��/鏂囧瓧
             if ("2".equals(tjRules.getRuleType())) {
@@ -236,7 +288,7 @@
                     }
                 }
             } else if ("1".equals(tjRules.getRuleType())) {
-                if (keyWord!=null){
+                if (keyWord !=null){
                     if (tjRules.getRuleStr().contains(keyWord)) {
                         res.add(tjRules);
                     }
@@ -244,7 +296,7 @@
 
             }
         }
-        if (res.size() > 0) {
+        if (!res.isEmpty()) {
             //寤鸿璧嬪��
             for (TjRules re : res) {
                 LambdaQueryWrapper<TjRuleAdvice> wq1 = new LambdaQueryWrapper<>();

--
Gitblit v1.8.0