From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 七月 2025 09:12:49 +0800
Subject: [PATCH] 2025-07-03

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |  267 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 181 insertions(+), 86 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 404743c..def672b 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
@@ -35,6 +35,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.DigestUtils;
@@ -45,6 +46,8 @@
 import com.ltkj.common.utils.poi.ExcelUtil;
 import com.ltkj.common.core.page.TableDataInfo;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -58,6 +61,7 @@
 @RestController
 @RequestMapping("/hosp/customer")
 @Api(tags = "瀹㈡埛绠$悊鎺ュ彛")
+@Slf4j
 public class TjCustomerController extends BaseController {
     @Resource
     private ITjCustomerService tjCustomerService;
@@ -151,20 +155,19 @@
         if (!"".equals(cusIdcard) && cusIdcard != null) {
 
             String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
-//            String sfjysjh = configService.selectConfigByKey("sfjysjh");
 
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
             if(sfjysfzh.equalsIgnoreCase("Y")){
                 if(cusIdcard.length()==18){
-                    if (! MatchUtils.isIdCard(cusIdcard)) {
+                    if (!MatchUtils.isIdCard(cusIdcard)) {
                         return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
                     }
                 }
-                if(cusIdcard.length()==9){
-                    if (!MatchUtils.cardValidates(cusIdcard)) {
-                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-                    }
-                }
+//                if(cusIdcard.length()==9){
+//                    if (!MatchUtils.cardValidates(cusIdcard)) {
+//                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+//                    }
+//                }
             }
 
 
@@ -241,7 +244,11 @@
                     tjCustomer1.setTjType(tjReservation.getTjType());
                     tjCustomer1.setCusName(tjReservation.getName());
                     tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
-                    tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                    try {
+                        tjCustomer1.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
+                    } catch (Exception e) {
+                        return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
+                    }
                     tjCustomer1.setCusPhone(tjReservation.getPhoe());
                     tjCustomer1.setCusEmail(tjReservation.getEmail());
                     tjCustomer1.setCusAddr(tjReservation.getAddress());
@@ -261,7 +268,7 @@
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
 
 //                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
-//                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
+                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
 
 //                    tjCustomerService.updateById(tjCustomer1);
 
@@ -271,7 +278,11 @@
                     tjCustomer.setCusIdcard(tjReservation.getIdCard());
                     tjCustomer.setCusName(tjReservation.getName());
                     tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
-                    tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                    try {
+                        tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
+                    } catch (Exception e) {
+                        return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
+                    }
                     tjCustomer.setCusPhone(tjReservation.getPhoe());
                     tjCustomer.setCusEmail(tjReservation.getEmail());
                     tjCustomer.setCusAddr(tjReservation.getAddress());
@@ -291,8 +302,8 @@
                     tjCustomer.setCusPassword(substring);
                     tjCustomer.setTjType(tjReservation.getTjType());
                     tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),""));
-//                    if(null !=tjReservation.getCompanyId())tjCustomer.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
-//                    if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
+                    if(null !=tjReservation.getCompanyId())tjCustomer.setCompId(tjReservation.getCompanyId());
+                    if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
 
                     if (null != key && key.equals("Y")) {
                         AjaxResult result = controller.Outpincreateapply(tjCustomer);
@@ -483,12 +494,13 @@
                         b = MatchUtils.isIdCard(cusIdcard);
                     }
                 }
-            } else {
-                if(cusIdcard.length()==9){
-                    b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
-                }
-
             }
+//            else {
+//                if(cusIdcard.length()==9){
+//                    b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
+//                }
+//
+//            }
         } else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
@@ -504,20 +516,18 @@
         wq.eq(TjCustomer::getCusIdcard, cusIdcard);
         TjCustomer customer = tjCustomerService.getOne(wq);
         if (customer != null) {
-//            BeanUtils.copyBeanProp(tjCustomer, customer);
-//            String substring = cusIdcard.substring(cusIdcard.length() - 6);
-//            substring = DigestUtils.md5DigestAsHex(substring.getBytes());
-//            customer.setCusPassword(substring);
-//            customer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
-//            return AjaxResult.success(tjCustomerService.updateById(customer));
             return AjaxResult.error("璇ヤ汉鍛樺凡瀛樺湪");
         }
         String substring = cusIdcard.substring(cusIdcard.length() - 6);
         substring = DigestUtils.md5DigestAsHex(substring.getBytes());
         tjCustomer.setCusPassword(substring);
-//        if (tjCustomer.getIdType().equals("1")) {
-            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
-//        }
+        if(cusIdcard.length()==18) {
+            try {
+                tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
+            } catch (Exception e) {
+                return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
+            }
+        }
         tjCustomer.setCusNumber(0L);
         tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
         String config = sysConfigService.selectConfigByKey("sfkqdyhis");
@@ -558,11 +568,19 @@
             return tjCustomer;
         }else {
             HashMap<String, Object> map = new HashMap<>();
-            map.put("cardId","");
+            // 1鏄韩浠借瘉
+            // 鏍规嵁鍑屼簯his鎺ュ彛鍙涓嶆槸鍥藉唴韬唤璇佸彿 韬唤璇佸瓧娈典笉浼� 灏嗗彿鐮佷紶閫掑埌鍗″彿瀛楁骞跺崟浣嶇紪鍙峰繀濉� 鍗曚綅缂栧彿闅忎究鍐�
+            if (!tjCustomer.getIdType().equals("1")){
+                map.put("cardId",tjCustomer.getCusIdcard());
+                map.put("compId",tjCustomer.getCusIdcard());
+                map.put("cusIdCard", "");
+            }else {
+                map.put("cardId","");
+                map.put("cusIdCard", tjCustomer.getCusIdcard());
+                map.put("compId","");
+            }
             map.put("cusName", tjCustomer.getCusName());
             map.put("cusSex", tjCustomer.getCusSex());
-            map.put("cusIdCard", tjCustomer.getCusIdcard());
-            map.put("compId","");
             map.put("cusBrithday", tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : "");
             map.put("cusAddr", tjCustomer.getCusAddr());
             map.put("cusPhone", tjCustomer.getCusPhone());
@@ -621,86 +639,163 @@
     @RepeatSubmit
     public AjaxResult edit(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) {
 
-        TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId());
-        if(null==customer){
-            return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!");
-        }
+        try {
+            TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId());
+            if(null==customer){
+                return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!");
+            }
 
-        String cusPhone = tjCustomer.getCusPhone();
-        if (null == cusPhone) {
-            return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�");
-        }
-        String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
-        String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh");
+            String cusPhone = tjCustomer.getCusPhone();
+            if (null == cusPhone) {
+                return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�");
+            }
+            String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
+            String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh");
 
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
             if(sfjysfzh.equalsIgnoreCase("Y")){
-                if(tjCustomer.getCusIdcard().length()==18){
+                if(customer.getIdType().equals("1")){
                     if (!(MatchUtils.isIdCard(tjCustomer.getCusIdcard())))
                         return AjaxResult.error("韬唤璇佸彿閿欒");
                 }
 
-                if(tjCustomer.getCusIdcard().length()==9){
-                    if (!MatchUtils.cardValidates(tjCustomer.getCusIdcard())) {
-                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-                    }
-                }
+//                if(tjCustomer.getCusIdcard().length()==9){
+//                    if (!MatchUtils.cardValidates(tjCustomer.getCusIdcard())) {
+//                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+//                    }
+//                }
             }
 
 
-        //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
-        if(sfjysjh.equalsIgnoreCase("Y")){
-            if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone())))
-                return AjaxResult.error("鎵嬫満鍙烽敊璇�");
+            //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
+            if(sfjysjh.equalsIgnoreCase("Y")){
+                if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone())))
+                    return AjaxResult.error("鎵嬫満鍙烽敊璇�");
+            }
+
+            tjCustomer.setCusPhone(cusPhone);
+            tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
+            tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
+            if (tjCustomerService.updateById(tjCustomer)) {
+                String config = sysConfigService.selectConfigByKey("sfkqdyhis");
+                if (null != config && config.equals("Y")) {
+                    AjaxResult result = controller.Outpincreateapply(tjCustomer);
+                    String result1 = getAjaxResult(result);
+                    JSONObject object = getJSONObject(result1);
+                    String code = object.getStr("ResultCode");
+                    if (code.equals("0")) {
+                        return AjaxResult.success();
+                    }
+                    return AjaxResult.error(object.getStr("ResultContent"));
+                }else {
+                    String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
+                    if (null != s && s.equals("Y")){
+                        String apiUrl = sysConfigService.selectConfigByKey("common_api_url");
+                        String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm");
+                        HashMap<String, Object> map = new HashMap<>();
+                        map.put("pationId",customer.getPationId());
+                        map.put("cardId",customer.getHisJzkh());
+                        map.put("cusName",tjCustomer.getCusName());
+                        map.put("cusSex",tjCustomer.getCusSex());
+                        map.put("cusIdCard",tjCustomer.getCusIdcard());
+                        map.put("compId","");
+                        map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : "");
+                        map.put("cusAddr",tjCustomer.getCusAddr());
+                        map.put("cusPhone",tjCustomer.getCusPhone());
+                        map.put("compName","");
+                        String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/update", map);
+                        JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat);
+                        if (isCreatjsonObject.getStr("code").equals("200")){
+    //                        JSONObject data = isCreatjsonObject.getJSONObject("data");
+    //                        tjCustomer.setPationId(data.getStr("pationId"));
+    //                        tjCustomer.setCardId(data.getStr("cardId"));
+    //                        tjCustomer.setHisJzkh(data.getStr("cardId"));
+    //                        if (tjCustomerService.updateById(tjCustomer)) {
+                                return AjaxResult.success(tjCustomer);
+    //                        }
+                        }else {
+                            return AjaxResult.error();
+                        }
+                    }
+                    return AjaxResult.success();
+                }
+            }
+            return AjaxResult.success();
+        } catch (Exception e) {
+            log.error(e.toString());
+            throw new RuntimeException(e);
+
         }
 
-        tjCustomer.setCusPhone(cusPhone);
-        tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
-        if (tjCustomerService.updateById(tjCustomer)) {
+    }
+
+
+
+    @Log(title = "娉ㄥ唽his瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "/zhuceTjCustomer")
+    @ApiOperation(value = "娉ㄥ唽his瀹㈡埛淇℃伅")
+    @Transactional
+    @RepeatSubmit
+    public AjaxResult zhuceTjCustomer(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) {
+
+        try {
+            TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId());
+            if(null==customer){
+                return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!");
+            }
+
+            if(!customer.getPationId().equals("0")){
+                return AjaxResult.error("璇ヤ汉鍛樺凡缁忔敞鍐�!");
+            }
             String config = sysConfigService.selectConfigByKey("sfkqdyhis");
             if (null != config && config.equals("Y")) {
-                AjaxResult result = controller.Outpincreateapply(tjCustomer);
+                AjaxResult result = controller.Outpincreateapply(customer);
                 String result1 = getAjaxResult(result);
                 JSONObject object = getJSONObject(result1);
                 String code = object.getStr("ResultCode");
                 if (code.equals("0")) {
-                    return AjaxResult.success();
-                }
-                return AjaxResult.error(object.getStr("ResultContent"));
-            }else {
-                String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
-                if (null != s && s.equals("Y")){
-                    String apiUrl = sysConfigService.selectConfigByKey("common_api_url");
-                    String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm");
-                    HashMap<String, Object> map = new HashMap<>();
-                    map.put("pationId",tjCustomer.getPationId());
-                    map.put("cardId",tjCustomer.getCardId());
-                    map.put("cusName",tjCustomer.getCusName());
-                    map.put("cusSex",tjCustomer.getCusSex());
-                    map.put("cusIdCard",tjCustomer.getCusIdcard());
-                    map.put("compId","");
-                    map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : "");
-                    map.put("cusAddr",tjCustomer.getCusAddr());
-                    map.put("cusPhone",tjCustomer.getCusPhone());
-                    map.put("compName","");
-                    String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/update", map);
-                    JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat);
-                    if (isCreatjsonObject.getStr("code").equals("200")){
-//                        JSONObject data = isCreatjsonObject.getJSONObject("data");
-//                        tjCustomer.setPationId(data.getStr("pationId"));
-//                        tjCustomer.setCardId(data.getStr("cardId"));
-//                        tjCustomer.setHisJzkh(data.getStr("cardId"));
-//                        if (tjCustomerService.updateById(tjCustomer)) {
-                            return AjaxResult.success(tjCustomer);
-//                        }
-                    }else {
-                        return AjaxResult.error();
+                    JSONArray resultDatass = object.getJSONArray("ResultData");
+                    Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
+                    if (null != resultData && !resultData.isEmpty()) {
+                        String pationid = resultData.get("PationId").toString();
+                        if (null != pationid) {
+                            customer.setPationId(pationid);
+                            //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬
+                            resultData.put("cardId",pationid);
+                            JSONObject object4 = JSONUtil.parseObj(resultData);
+                            LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply");
+                            HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
+                            hisApiGetMethodService.save(object4, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer)));
+                        }
+
                     }
+                    if (tjCustomerService.updateById(customer)) {
+                        return AjaxResult.success("娉ㄥ唽鎴愬姛");
+                    }
+                }else{
+                    return AjaxResult.error("娉ㄥ唽澶辫触");
                 }
-                return AjaxResult.success();
             }
+
+            String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
+            if (null != s && s.equals("Y")){
+                TjCustomer requestCommonHisApi = isRequestCommonHisApi(customer);
+                if (null !=requestCommonHisApi){
+                    if (tjCustomerService.updateById(customer)) {
+                        return AjaxResult.success("娉ㄥ唽鎴愬姛");
+                    }
+                }else {
+                    return AjaxResult.error("娉ㄥ唽澶辫触");
+                }
+            }
+            return AjaxResult.error("璇峰厛杩炴帴his鏈嶅姟");
+        } catch (Exception e) {
+            log.error(e.toString());
+            throw new RuntimeException(e);
+
         }
-       return AjaxResult.error();
+
     }
 
     /**

--
Gitblit v1.8.0