From cb7ba105e4d14d1c2d6fb9db287bc4cc58417c1b Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期五, 22 十二月 2023 14:33:57 +0800
Subject: [PATCH] 1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |   73 +++++++++++++++++++++++++++++++-----
 1 files changed, 62 insertions(+), 11 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
index f28635f..f49efda 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -10,8 +10,9 @@
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.domain.TjReservation;
 import com.ltkj.hosp.mapper.TestMapper;
-import com.ltkj.hosp.service.ITjReservationService;
-import com.ltkj.hosp.service.TjvLtkjvtjpatService;
+import com.ltkj.hosp.service.*;
+import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail;
+import com.ltkj.hosp.sqlDomain.LtkjMiddleHead;
 import com.ltkj.hosp.sqlDomain.LtkjTjPat;
 import com.ltkj.system.service.ISysConfigService;
 import io.swagger.annotations.Api;
@@ -25,13 +26,13 @@
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.enums.BusinessType;
 import com.ltkj.hosp.domain.TjCustomer;
-import com.ltkj.hosp.service.ITjCustomerService;
 import com.ltkj.common.utils.poi.ExcelUtil;
 import com.ltkj.common.core.page.TableDataInfo;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -57,6 +58,18 @@
     private TestMapper testMapper;
     @Resource
     private TjvLtkjvtjpatService tjvLtkjvtjpatService;
+    @Resource
+    private LtkjMiddleHeadService headService;
+    @Resource
+    private LtkjMiddleDetailService middleDetailService;
+
+    @GetMapping("/newGetTjPat")
+    @ApiOperation(value = "鏌ヨhis鏁版嵁搴撹繑鍥炴柊鐨勬暟鎹�")
+    public AjaxResult newGetTjPat() {
+        List<Map<String, Object>> maps = testMapper.newGetTjPat();
+        DynamicDataSourceContextHolder.clearDataSourceType();
+        return AjaxResult.success(maps);
+    }
 
 
 
@@ -65,7 +78,7 @@
      */
     @PostMapping(value = "/cusIdcard")
     @ApiOperation(value = "鏍规嵁韬唤璇佸彿鑾峰彇鐢ㄦ埛淇℃伅")
-    @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT)
+//    @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT)
     public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) {
         if (!"".equals(cusIdcard) && cusIdcard != null) {
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
@@ -83,15 +96,36 @@
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
             final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData");
             if ("Y".equals(getInfoFromSqlData)){
-//                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
-                List<LtkjTjPat> list = testMapper.getTjPat();
-                DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
-                for (LtkjTjPat ltkjTjPat : list) {
-                    final boolean save = tjvLtkjvtjpatService.save(ltkjTjPat);
+                //鏍规嵁韬唤璇佸ソ鏌ヤ俊鎭�
+                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
+                if(null != tjPatByIdCard){
+                    String fcardNo = tjPatByIdCard.getFcardNo();
+                    if(null !=fcardNo){
+                        fcardNo=fcardNo.trim();
+                        tjPatByIdCard.setFcardNo(fcardNo);
+                    }
+                    LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard);
+                    if(null==ltkjTjPat){
+                        tjvLtkjvtjpatService.save(tjPatByIdCard);
+                    }
                 }
                 DynamicDataSourceContextHolder.clearDataSourceType();
+                //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛�
+                TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusIdcard);
+                if(null == tjCustomer){
+                    testMapper.getTjPatByCusId(cusIdcard);
+                    LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
+                    qw.eq(TjCustomer::getCusIdcard, cusIdcard);
+                    TjCustomer customer = tjCustomerService.getOne(qw);
+                    customer.setReservationId(customer.getCardId());
+                    extracted(customer);
+                    return success(customer);
+                }else {
+                    tjCustomer.setReservationId(tjCustomer.getCardId());
+                    extracted(tjCustomer);
+                    return success(tjCustomer);
+                }
 
-                 testMapper.getTjPatByCusId(cusIdcard);
             }
             //end====2023.12.12
             LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
@@ -133,7 +167,6 @@
                     tjCustomer1.setDiscount(tjReservation.getDiscount());
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
 
-
                     return success(tjCustomer1);
                 }
                 TjCustomer tjCustomer = new TjCustomer();
@@ -176,6 +209,24 @@
         return error("韬唤璇佸彿涓嶅瓨鍦�");
     }
 
+    private void extracted(TjCustomer customer) {
+        LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId());
+        if (null != pat) {
+            List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId());
+            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
+            LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId());
+            if(o==null){
+                headService.save(pat);
+                for (LtkjMiddleDetail ltkjMiddleDetail : list) {
+                    middleDetailService.save(ltkjMiddleDetail);
+                }
+                testMapper.saveTjProByCusId(customer.getCardId(), customer.getCusIdcard());
+            }
+            testMapper.saveTjProByCusId(customer.getCardId(), customer.getCusIdcard());
+        }
+        DynamicDataSourceContextHolder.clearDataSourceType();
+    }
+
 
     /**
      * 鏌ヨ瀹㈡埛淇℃伅鍒楄〃

--
Gitblit v1.8.0