From 5a8f3e426736bff2f8678a47d05a3da24af6f470 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 21 五月 2024 18:17:43 +0800
Subject: [PATCH] zjh 2024/05/21-1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |  139 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 96 insertions(+), 43 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 f49efda..1be7465 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
@@ -5,9 +5,9 @@
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.enums.DataSourceType;
-import com.ltkj.common.utils.bean.BeanUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
+import com.ltkj.hosp.domain.TjCustomerBlack;
 import com.ltkj.hosp.domain.TjReservation;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
@@ -18,13 +18,10 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.DigestUtils;
 import org.springframework.web.bind.annotation.*;
-import com.ltkj.common.annotation.Log;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
-import com.ltkj.common.enums.BusinessType;
 import com.ltkj.hosp.domain.TjCustomer;
 import com.ltkj.common.utils.poi.ExcelUtil;
 import com.ltkj.common.core.page.TableDataInfo;
@@ -33,6 +30,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -62,13 +60,40 @@
     private LtkjMiddleHeadService headService;
     @Resource
     private LtkjMiddleDetailService middleDetailService;
+    @Resource
+    private ITjOrderService tjOrderService;
+    @Resource
+    private TjCustomerBlackService blackService;
 
     @GetMapping("/newGetTjPat")
     @ApiOperation(value = "鏌ヨhis鏁版嵁搴撹繑鍥炴柊鐨勬暟鎹�")
-    public AjaxResult newGetTjPat() {
-        List<Map<String, Object>> maps = testMapper.newGetTjPat();
+    public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode,
+                                  @RequestParam(required = false)String pacName,
+                                  @RequestParam(required = false)String pacRemark) {
+        List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark);
         DynamicDataSourceContextHolder.clearDataSourceType();
+//        List<Map<String, Object>> list=new ArrayList<>();
+//        if(null !=maps && maps.size()>0){
+//            for (Map<String, Object> map : maps) {
+//                String pacCode1 = map.get("pacCode").toString();
+//                List<String> s = tjOrderService.selectTjOrderByCardId1();
+//                if(null !=s && s.size()>0){
+//                    if(s.contains(pacCode1)){
+////                        maps.remove(map);
+//                        continue;
+//                    }
+//                    list.add(map);
+//                }
+//            }
+//        }
+        List<String> strings = tjOrderService.selectTjOrderByCardId1();
+        if(null !=strings && strings.size()>0){
+            List<Map<String, Object>> collect = maps.stream()
+                    .filter(item ->  !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList());
+            return AjaxResult.success(collect);
+        }
         return AjaxResult.success(maps);
+//        return AjaxResult.success(maps);
     }
 
 
@@ -82,50 +107,64 @@
     public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) {
         if (!"".equals(cusIdcard) && cusIdcard != null) {
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
-            // TODO: 2023/2/10  鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
-            if(cusIdcard.length()==18){
-                if (! MatchUtils.isIdCard(cusIdcard)) {
-                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-                }
-            }
-            if(cusIdcard.length()==9){
-                if (!MatchUtils.cardValidates(cusIdcard)) {
-                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-                }
-            }
+//            if(cusIdcard.length()==18){
+//                if (! MatchUtils.isIdCard(cusIdcard)) {
+//                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+//                }
+//            }
+//            if(cusIdcard.length()==9){
+//                if (!MatchUtils.cardValidates(cusIdcard)) {
+//                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+//                }
+//            }
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
             final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData");
             if ("Y".equals(getInfoFromSqlData)){
-                //鏍规嵁韬唤璇佸ソ鏌ヤ俊鎭�
-                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
+                //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭�
+                LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
                 if(null != tjPatByIdCard){
                     String fcardNo = tjPatByIdCard.getFcardNo();
-                    if(null !=fcardNo){
+                    if(null !=fcardNo && !fcardNo.equals("")){
                         fcardNo=fcardNo.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
+                    }else {
+                        fcardNo=cusIdcard.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);
-                }
+                    DynamicDataSourceContextHolder.clearDataSourceType();
+                    //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛�
+                    TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo());
+                    if(null == tjCustomer){
+                        //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛�
+                        testMapper.getTjPatByCusId(cusIdcard);
+                        LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
+                        qw.eq(TjCustomer::getCusIdcard, tjPatByIdCard.getFcardNo());
+                        TjCustomer customer = tjCustomerService.getOne(qw);
+                        customer.setReservationId(customer.getCardId());
+                        extracted(customer);
+                        return success(customer);
+                    }else {
+                        String cardId = tjPatByIdCard.getFcardId();
+                        if(null !=cardId && !cardId.equals("0")){
+                            int i = tjOrderService.selectTjOrderByCardId(cardId);
+                            if(i>0){
+                                return AjaxResult.error("涓嶅彲閲嶅绛惧埌");
+                            }
 
+                        }
+                        tjCustomer.setReservationId(tjCustomer.getCardId());
+                        tjCustomer.setCardId(tjPatByIdCard.getFcardId());
+                        tjCustomerService.updateById(tjCustomer);
+                        extracted(tjCustomer);
+                        return success(tjCustomer);
+                    }
+
+                }
             }
             //end====2023.12.12
             LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
@@ -166,7 +205,6 @@
                     tjCustomer1.setReservationId(tjReservation.getId());
                     tjCustomer1.setDiscount(tjReservation.getDiscount());
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
-
                     return success(tjCustomer1);
                 }
                 TjCustomer tjCustomer = new TjCustomer();
@@ -210,8 +248,15 @@
     }
 
     private void extracted(TjCustomer customer) {
+        //浠巋is琛ㄦ姄鏁版嵁
         LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId());
         if (null != pat) {
+            LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>();
+            wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId());
+            headService.remove(wq1);
+            LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>();
+            wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId());
+            middleDetailService.remove(wq0);
             List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId());
             DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
             LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId());
@@ -220,7 +265,6 @@
                 for (LtkjMiddleDetail ltkjMiddleDetail : list) {
                     middleDetailService.save(ltkjMiddleDetail);
                 }
-                testMapper.saveTjProByCusId(customer.getCardId(), customer.getCusIdcard());
             }
             testMapper.saveTjProByCusId(customer.getCardId(), customer.getCusIdcard());
         }
@@ -239,9 +283,15 @@
         List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer);
         if(null !=list && list.size()>0){
             for (TjCustomer customer : list) {
-                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
+//                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
                 customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
                 customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
+                TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId()));
+                if(null !=tjCustomerBlack){
+                   customer.setIsBlack("Y");
+                }else {
+                   customer.setIsBlack("N");
+                }
             }
         }
         return getDataTable(list);
@@ -284,9 +334,10 @@
         if(null !=tjCustomer.getIdType()){
             if(tjCustomer.getIdType().equals("1")){
                 b = MatchUtils.isIdCard(cusIdcard);
-            }else {
-                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
             }
+//            else {
+//                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
+//            }
         }else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
@@ -311,7 +362,9 @@
         String substring = cusIdcard.substring(cusIdcard.length() - 6);
         substring = DigestUtils.md5DigestAsHex(substring.getBytes());
         tjCustomer.setCusPassword(substring);
-        tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
+        if(tjCustomer.getIdType().equals("1")){
+            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
+        }
         tjCustomer.setCusNumber(0L);
         if (tjCustomerService.save(tjCustomer)) {
             return AjaxResult.success(tjCustomer);

--
Gitblit v1.8.0