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/TjPackageController.java |  206 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 164 insertions(+), 42 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjPackageController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjPackageController.java
index 969365e..6ca0d54 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjPackageController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjPackageController.java
@@ -22,6 +22,7 @@
 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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -56,18 +57,58 @@
     private ITjConsumablesService tjConsumablesService;
     @Resource
     private ISysConfigService configService;
-
-    @Resource
-    private TjAsyncService asyncService;
-
-    @Resource
-    private RedisCache redisCache;
-
     @Autowired
     private IMallKeywordService mallKeywordService;
-
     @Autowired
     private IMallCategoryService mallCategoryService;
+
+    @GetMapping("/getPacList")
+    @ApiOperation(value = "鏌ヨ浣撴濂楅鍒楄〃(鑷甫鏈夊垎椤�)(鏂�)")
+    //@PreAuthorize("@ss.hasPermi('hosp:package:list')")
+    public TableDataInfo getPacList(@ApiParam(value = "浣撴濂楅瀵硅薄") TjPackage tjPackage) {
+        startPage();
+        List<TjPackage> list = tjPackageService.selectTjPackageList(tjPackage);
+        if (null != list && !list.isEmpty()) {
+            for (TjPackage aPackage : list) {
+                aPackage.setAllProName(tjPackageService.getTjPacProNames(String.valueOf(aPackage.getPacId())));
+                final String keywords = aPackage.getKeywords();
+                if (keywords != null) {
+                    final String[] strings = keywords.split(",");
+                    aPackage.setKeyNames(mallKeywordService.getKeyNames(strings));
+                    aPackage.setKeyIds(mallKeywordService.getKeyIds(strings));
+                }
+
+                final MallCategory byId = mallCategoryService.getById(aPackage.getCategoryId());
+                if (byId != null) {
+                    aPackage.setCategoryNames(byId.getName());
+                }
+            }
+        }
+        return getDataTable(list);
+    }
+
+
+    @GetMapping("/getPacInFo")
+    @ApiOperation(value = "鏌ヨ浣撴濂楅鍒楄〃(璇︾粏)(鑷甫鏈夊垎椤�)(鏂�)")
+    //@PreAuthorize("@ss.hasPermi('hosp:package:list')")
+    public AjaxResult getPacInFo(@ApiParam(value = "浣撴濂楅瀵硅薄id") String pacId) {
+        TjPackage aPackage = tjPackageService.getById(pacId);
+        if (null != aPackage) {
+                List<TjPackageProject> pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId()));
+                if (null != pplist) {
+                    for (TjPackageProject packageProject : pplist) {
+                        TjProject tjProject = tjProjectService.getById(packageProject.getProId());
+                        if (null != tjProject) {
+                            packageProject.setProName(tjProject.getProName());
+                        }
+                    }
+                }
+                aPackage.setPackageProjects(pplist);
+            return AjaxResult.success(aPackage);
+        }
+        return AjaxResult.error();
+    }
+
 
     /**
      * 鏌ヨ浣撴濂楅鍒楄〃
@@ -78,7 +119,7 @@
     public TableDataInfo list(@ApiParam(value = "浣撴濂楅瀵硅薄") TjPackage tjPackage) {
         startPage();
         List<TjPackage> list = tjPackageService.selectTjPackageList(tjPackage);
-        if (null != list && list.size() > 0) {
+        if (null != list && !list.isEmpty()) {
             for (TjPackage aPackage : list) {
                 StringBuilder allProName = new StringBuilder();
                 StringBuilder allSonName = new StringBuilder();
@@ -98,14 +139,6 @@
                             }
                             tjProject.setAllSonProName(allSonProName.toString());   //2023.2.7 濂楅鍐呮瘡涓�鐖堕」鐩殑瀛愰」鐩瓧绗︿覆
                             tjProjectList.add(tjProject);
-//                            LambdaQueryWrapper<TjProConsumables> wrapper1 = new LambdaQueryWrapper<>();
-//                            wrapper1.eq(TjProConsumables::getProId, packageProject.getProId());
-//                            List<TjProConsumables> list0 = tjProConsumablesService.list(wrapper1);
-//                            List<TjConsumables> list1 = new ArrayList<>();
-//                            for (TjProConsumables tjProConsumables : list0) {
-//                                list1.add(tjConsumablesService.getById(tjProConsumables.getConsumablesId()));
-//                            }
-//                            tjProject.setConsumablesList(list1);
                             //鐜颁环璧嬪�煎垽鏂璶ull璧嬪師浠�  2023.2.8
                             if (packageProject.getPriceNow() != null) {
                                 tjProject.setPriceNow(packageProject.getPriceNow());
@@ -118,7 +151,7 @@
                 }
                 aPackage.setTjProjectList(tjProjectList);
                 aPackage.setAllProName(allProName.toString());
-                aPackage.setAllSonName(allSonName.toString());
+//                aPackage.setAllSonName(allSonName.toString());
 
                 StringBuffer a = new StringBuffer();
                 List<String> b = new ArrayList<>();
@@ -183,20 +216,67 @@
 //            return getDataTable(tjPackageList);
 //        }
         String pacName="";
-        if (cusSex.equals("2")) {
-            return getDataTable(tjPackageService.getPacListBySqlAndAll(pacName));
-
+        if (cusSex==null || cusSex.equals("2")) {
+            final List<TjPackage> pacListBySqlAndAll = tjPackageService.getPacListBySqlAndAll(pacName);
+            if (pacListBySqlAndAll!=null){
+                for (TjPackage tjPackage : pacListBySqlAndAll) {
+                    List<TjProject> res=new ArrayList<>();
+                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
+                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
+                    final List<TjPackageProject> list = ppservice.list(wqq);
+                    if (list!=null){
+                        for (TjPackageProject tjPackageProject : list) {
+                            final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
+                            res.add(byId);
+                        }
+                        tjPackage.setTjProjectList(res);
+                    }
+                }
+            }
+            return getDataTable(pacListBySqlAndAll);
         } else {
             if (cusSex.equals("0")) {
-                return getDataTable(tjPackageService.getPacListBySqlAndMan(pacName));
+                final List<TjPackage> pacListBySqlAndMan = tjPackageService.getPacListBySqlAndMan(pacName);
+                if (pacListBySqlAndMan!=null){
+                    for (TjPackage tjPackage : pacListBySqlAndMan) {
+                        List<TjProject> res=new ArrayList<>();
+                        LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
+                        wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
+                        final List<TjPackageProject> list = ppservice.list(wqq);
+                        if (list!=null){
+                            for (TjPackageProject tjPackageProject : list) {
+                                final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
+                                res.add(byId);
+                            }
+                            tjPackage.setTjProjectList(res);
+                        }
+                    }
+                }
+                return getDataTable(pacListBySqlAndMan);
             }else {
-                return getDataTable(tjPackageService.getPacListBySqlAndWomen(pacName));
+                final List<TjPackage> pacListBySqlAndWomen = tjPackageService.getPacListBySqlAndWomen(pacName);
+                if (pacListBySqlAndWomen!=null){
+                    for (TjPackage tjPackage : pacListBySqlAndWomen) {
+                        List<TjProject> res=new ArrayList<>();
+                        LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
+                        wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
+                        final List<TjPackageProject> list = ppservice.list(wqq);
+                        if (list!=null){
+                            for (TjPackageProject tjPackageProject : list) {
+                                final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
+                                res.add(byId);
+                            }
+                            tjPackage.setTjProjectList(res);
+                        }
+                    }
+                }
+                return getDataTable(pacListBySqlAndWomen);
             }
         }
     }
 
     private void getTjPackageList(List<TjPackage> tjPackageList) {
-        if (null != tjPackageList && tjPackageList.size() > 0) {
+        if (null != tjPackageList && !tjPackageList.isEmpty()) {
             for (TjPackage aPackage : tjPackageList) {
                 List<TjProject> tjProjectList = new ArrayList<>();
                 List<TjPackageProject> pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId()));
@@ -295,22 +375,32 @@
             BigDecimal money = new BigDecimal("0.00");
             tjPackage.setPrice(money);
         }
+        tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),""));
         if (tjPackageService.save(tjPackage)) {
             List<TjProject> tjProjectList = tjPackage.getTjProjectList();
-            if (null != tjProjectList && tjProjectList.size() > 0) {
+            if (null != tjProjectList && !tjProjectList.isEmpty()) {
                 BigDecimal money = new BigDecimal("0.00");
                 for (TjProject tjProject : tjProjectList) {
                     TjPackageProject tjpp = new TjPackageProject();
-                    if (null != tjProject.getPriceNow()) {
-                        tjpp.setPriceNow(tjProject.getPriceNow().setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
-                    } else {
-                        tjpp.setPriceNow(tjProject.getProPrice());
-                    }
+//                    if (null != tjProject.getPriceNow()) {
+//                        tjpp.setPriceNow(tjProject.getPriceNow().setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
+//                    } else {
+//                        tjpp.setPriceNow(tjProject.getProPrice());
+//                    }
+                    tjpp.setPriceNow(tjProject.getProPrice());
                     tjpp.setProId(tjProject.getProId());
                     tjpp.setPacId(tjPackage.getPacId());
+                    //鍒ゆ柇褰撳墠濂楅涓嬫湁娌℃湁杩欎釜椤圭洰  鏈夌殑璇濊烦杩囨坊鍔�
+                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
+                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
+                    wqq.eq(TjPackageProject::getProId,tjProject.getProId());
+                    final TjPackageProject one = ppservice.getOne(wqq);
+                    if (one!=null){
+                        continue;
+                    }
                     ppservice.save(tjpp);
-                    if (null != tjProject.getPriceNow()) {
-                        money = money.add(tjProject.getPriceNow());
+                    if (null != tjProject.getProPrice()) {
+                        money = money.add(tjProject.getProPrice());
                     }
                 }
                 tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
@@ -329,25 +419,36 @@
     @ApiOperation(value = "淇敼浣撴濂楅")
     //@PreAuthorize("@ss.hasPermi('system:package:edit')")
     public AjaxResult edit(@RequestBody @ApiParam(value = "浣撴濂楅瀵硅薄") TjPackage tjPackage) {
+        tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),""));
         if (tjPackageService.updateById(tjPackage)) {
             List<TjProject> tjProjectList = tjPackage.getTjProjectList();
-            if (null != tjProjectList && tjProjectList.size() > 0) {
+            if (null != tjProjectList && !tjProjectList.isEmpty()) {
                 LambdaQueryWrapper<TjPackageProject> wq = new LambdaQueryWrapper<>();
                 wq.eq(TjPackageProject::getPacId, tjPackage.getPacId());
                 ppservice.remove(wq);
                 BigDecimal money = new BigDecimal(0);
                 for (TjProject tjProject : tjProjectList) {
-                    TjPackageProject tjpp = new TjPackageProject();
-                    if (null != tjProject.getPriceNow()) {
-                        tjpp.setPriceNow(tjProject.getPriceNow());
-                    } else {
-                        tjpp.setPriceNow(new BigDecimal(0).setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
+                    //鍒ゆ柇褰撳墠濂楅涓嬫湁娌℃湁杩欎釜椤圭洰  鏈夌殑璇濊烦杩囨坊鍔�
+                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
+                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
+                    wqq.eq(TjPackageProject::getProId,tjProject.getProId());
+                    final TjPackageProject one = ppservice.getOne(wqq);
+                    if (one!=null){
+                        continue;
                     }
+
+                    TjPackageProject tjpp = new TjPackageProject();
+//                    if (null != tjProject.getPriceNow()) {
+//                        tjpp.setPriceNow(tjProject.getPriceNow());
+//                    } else {
+//                        tjpp.setPriceNow(new BigDecimal(0).setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
+//                    }
+                    tjpp.setPriceNow(tjProject.getProPrice());
                     tjpp.setProId(tjProject.getProId());
                     tjpp.setPacId(tjPackage.getPacId());
                     ppservice.save(tjpp);
-                    if (null != tjProject.getPriceNow()) {
-                        money = money.add(tjProject.getPriceNow());
+                    if (null != tjProject.getProPrice()) {
+                        money = money.add(tjProject.getProPrice());
                     }
                 }
                 tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
@@ -448,7 +549,7 @@
             LambdaQueryWrapper<TjPackage> wq0 = new LambdaQueryWrapper<>();
             wq0.like(TjPackage::getPacName, name);
             List<TjPackage> packageList = tjPackageService.list(wq0);
-            if (null != packageList && packageList.size() > 0) {
+            if (null != packageList && !packageList.isEmpty()) {
                 for (TjPackage aPackage : packageList) {
                     List<TjProject> tjProjectList = new ArrayList<>();
                     LambdaQueryWrapper<TjPackageProject> wq = new LambdaQueryWrapper<>();
@@ -489,7 +590,7 @@
             }
 
             List<TjPackage> tjPackageList = tjPackageService.list();
-            if (null != tjPackageList && tjPackageList.size() > 0) {
+            if (null != tjPackageList && !tjPackageList.isEmpty()) {
                 List<TjPackage> lisi = new ArrayList<>();
                 for (TjPackage aPackage : tjPackageList) {
                     String pinyin = PinyinUtil.getFirstLetter(aPackage.getPacName(), "");
@@ -537,4 +638,25 @@
         }
         return AjaxResult.error("璇疯緭鍏ヤ綘瑕佹煡璇㈢殑鍐呭");
     }
+
+
+    @PostMapping("/saveOreditTjPacNew")
+    @ApiOperation(value = "浣撴濂楅鏂板淇敼鎺ュ彛")
+    public AjaxResult saveOreditTjPacNew(@RequestBody @ApiParam(value = "浣撴濂楅瀵硅薄") TjPackage tjPackage) {
+        tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),""));
+        if (tjPackageService.saveOrUpdate(tjPackage)) {
+            List<TjPackageProject> projectList = tjPackage.getPackageProjects();
+            if (null != projectList && !projectList.isEmpty()) {
+                if(StringUtil.isNotBlank(tjPackage.getPacId())){
+                    ppservice.deleteTjPackageProjectByPacId(tjPackage.getPacId());
+                    for (TjPackageProject project : projectList) {
+                        project.setPacId(tjPackage.getPacId());
+                        ppservice.save(project);
+                    }
+                }
+            }
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
 }

--
Gitblit v1.8.0