From 8f85fc93874441e02f7faf972a8d7b566579da34 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 16 十月 2024 18:15:00 +0800
Subject: [PATCH] zjh20241016

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java             |    7 +++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java     |   12 ++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java                |   20 ++++++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java |   46 +++++++++++++++++++++--
 4 files changed, 81 insertions(+), 4 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
index fec54ca..e271b30 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -6,9 +6,11 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
+import javax.servlet.ServletSecurityElement;
 import javax.servlet.http.HttpServletResponse;
 import javax.swing.plaf.basic.BasicScrollPaneUI;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,10 +19,12 @@
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.web.controller.lis.LisApiMethod;
+import com.sun.xml.internal.bind.v2.TODO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.aspectj.weaver.AjAttribute;
+import org.springframework.beans.BeanUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -41,7 +45,7 @@
  */
 @RestController
 @RequestMapping("/sampling/sampling")
-@Api(tags = "浣撴閲囨牱绠$悊")
+@Api(tags = "PC绔� 浣撴閲囨牱绠$悊")
 public class TjSamplingController extends BaseController {
     @Resource
     private ITjSamplingService tjSamplingService;
@@ -194,6 +198,7 @@
      * @return
      */
     @GetMapping("/getCusList")
+    @ApiOperation(value = "鑾峰彇閲囨牱瀹㈡埛鍒楄〃")
     public AjaxResult getCusList(@RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor,
                                  @RequestParam(required = false) @ApiParam(value = "浣撴鍙�") String tjNum,
                                  @RequestParam(required = false) @ApiParam(value = "瀹㈡埛濮撳悕") String name,
@@ -236,6 +241,7 @@
      * @return
      */
     @GetMapping("/getCusCyList")
+    @ApiOperation(value = "鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃")
     public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId){
         if (cusId == null || StrUtil.isBlank(cusId))
             return AjaxResult.error("鍙傛暟閿欒");
@@ -251,9 +257,41 @@
         return AjaxResult.success(list);
     }
 
-    @PostMapping("/mergeCaiYang")
-    public AjaxResult mergeCaiYang(@RequestBody List<String> ids){
-        return AjaxResult.success();
+    @GetMapping("/mergeCaiYang")
+    @ApiOperation(value = "閲囨牱鐧昏鍚堝苟椤圭洰鎺ュ彛")
+    public AjaxResult mergeCaiYang(@RequestParam List<String> ids){
+        if(null !=ids && !ids.isEmpty()){
+            int i = tjSamplingService.panduanshifoukeyihebing(ids);
+            if(i>1){
+                return AjaxResult.error("鏍囨湰绫诲瀷涓嶄竴鑷�,涓嶅彲鍚堝苟");
+            }
+
+            TjSampling tjSampling = tjSamplingService.getById(ids.get(0));
+
+
+            //todo  鍔犱竴鏉″垽鏂槸鍚﹀瓨鍦ㄥ悎骞堕」鐩殑鏌ヨsql
+            //todo  鍒ゆ柇浼犲叆鐨勯」鐩槸鍚﹀瓨鍦ㄥ悎骞堕」鐩�  涓嶅瓨鍦ㄨ蛋鍘熼�昏緫  瀛樺湪璧癳lse
+
+
+            Map<String,Object> map= tjSamplingService.hebingCaiYangInFo(ids);
+            TjSampling sampling=new TjSampling();
+            String proId = map.get("proId").toString();
+            String proName = map.get("proName").toString();
+            BeanUtil.copyProperties(tjSampling,sampling,new String[]{"id"});
+            sampling.setProId(proId);
+            sampling.setProName(proName);
+            sampling.setIsMerge(1);
+            if (tjSamplingService.save(sampling)) {
+                for (String id : ids) {
+                    TjSampling service = tjSamplingService.getById(id);
+                    service.setParentId(sampling.getId());
+                    service.setIsMerge(1);
+                    tjSamplingService.updateById(service);
+                }
+                return AjaxResult.success("鍚堝苟椤圭洰鎴愬姛!");
+            }
+        }
+        return AjaxResult.error("璇烽�夋嫨浣犺鍚堝苟鐨勯」鐩�!!!");
     }
 
     /**
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
index b7f5bf5..a048067 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
@@ -2,10 +2,13 @@
 
 import java.util.Base64;
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjSampling;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * 浣撴閲囨牱绠$悊Mapper鎺ュ彛
@@ -62,4 +65,21 @@
      * @return 缁撴灉
      */
     public int deleteTjSamplingByIds(String[] ids);
+
+
+    @Select({"<script>","SELECT GROUP_CONCAT(a.pro_id SEPARATOR ',')proId,GROUP_CONCAT(a.pro_name SEPARATOR ' + ') proName FROM tj_sampling a WHERE a.deleted=0 AND a.id " +
+            "IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
+            "#{id}",
+            "</foreach>",
+            "</script>"})
+    Map<String, Object> hebingCaiYangInFo(@Param("ids") List<String> ids);
+
+
+    @Select({"<script>","SELECT COUNT(*) FROM(" +
+            "SELECT GROUP_CONCAT(a.pro_id SEPARATOR ',')proId,GROUP_CONCAT(a.pro_name SEPARATOR ' + ') proName FROM tj_sampling a WHERE a.deleted=0 AND a.id " +
+            "IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
+            "#{id}",
+            "</foreach>", "GROUP BY a.specimen_type_code) aa" +
+            "</script>"})
+    int panduanshifoukeyihebing(@Param("ids") List<String> ids);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java
index 3472754..abb1411 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java
@@ -1,9 +1,11 @@
 package com.ltkj.hosp.service;
 
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ltkj.hosp.domain.TjSampling;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 浣撴閲囨牱绠$悊Service鎺ュ彛
@@ -59,4 +61,9 @@
      * @return 缁撴灉
      */
     public int deleteTjSamplingById(String id);
+
+    Map<String, Object> hebingCaiYangInFo(List<String> ids);
+
+
+    int panduanshifoukeyihebing(@Param("ids") List<String> ids);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java
index c246b56..97a03a3 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java
@@ -1,6 +1,8 @@
 package com.ltkj.hosp.service.impl;
 
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ltkj.common.utils.DateUtils;
@@ -88,4 +90,14 @@
     public int deleteTjSamplingById(String id) {
         return tjSamplingMapper.deleteTjSamplingById(id);
     }
+
+    @Override
+    public Map<String, Object> hebingCaiYangInFo(List<String> ids) {
+        return tjSamplingMapper.hebingCaiYangInFo(ids);
+    }
+
+    @Override
+    public int panduanshifoukeyihebing(List<String> ids) {
+        return tjSamplingMapper.panduanshifoukeyihebing(ids);
+    }
 }

--
Gitblit v1.8.0