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 |  398 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 267 insertions(+), 131 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 31009db..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;
@@ -121,13 +125,23 @@
 //            }
 //        }
         List<String> strings = tjOrderService.selectTjOrderByCardId1();
-        if (null != strings && strings.size() > 0) {
+        if (null != strings && !strings.isEmpty()) {
             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);
+    }
+
+
+    @GetMapping("/vcustomerlist")
+    @ApiOperation(value = "绛惧埌鐧昏椤甸潰濮撳悕鏍忓脊妗嗘帴鍙�")
+    public AjaxResult vcustomerlist(@RequestParam(required = false) String name,
+                                  @RequestParam(required = false) String sjh,
+                                  @RequestParam(required = false) String sfzh) {
+        List<Map<String, Object>> maps = tjCustomerService.vcustomerlist(name, sjh, sfzh);
+        return AjaxResult.success(maps);
     }
 
 
@@ -141,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("韬唤璇佸彿鐮侀敊璇�");
+//                    }
+//                }
             }
 
 
@@ -208,7 +221,7 @@
             }
 
             String key = sysConfigService.selectConfigByKey("sfkqdyhis");
-
+            String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
             LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
             wq.eq(TjReservation::getIdCard, cusIdcard);
             wq.eq(TjReservation::getIsExpire, 2);
@@ -225,13 +238,17 @@
                 qw.eq(TjCustomer::getCusIdcard, cusIdcard);
                 TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
                 if (tjCustomer1 != null) {
-                    if (null != tjReservation.getCompanyId()) tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
-                    if (null != tjReservation.getCompany()) tjCustomer1.setCompName(tjReservation.getCompany());
-                    tjCustomerService.updateById(tjCustomer1);
+//                    if (null != tjReservation.getCompanyId()) tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
+//                    if (null != tjReservation.getCompany()) tjCustomer1.setCompName(tjReservation.getCompany());
+//                    tjCustomerService.updateById(tjCustomer1);
                     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());
@@ -250,7 +267,7 @@
                     tjCustomer1.setDiscount(tjReservation.getDiscount());
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
 
-                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
+//                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
                     if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
 
 //                    tjCustomerService.updateById(tjCustomer1);
@@ -261,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());
@@ -281,10 +302,10 @@
                     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.getCompanyId())tjCustomer.setCompId(tjReservation.getCompanyId());
                     if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
-                    if (null != key && key.equals("Y"))
-                    {
+
+                    if (null != key && key.equals("Y")) {
                         AjaxResult result = controller.Outpincreateapply(tjCustomer);
                         String result1 = getAjaxResult(result);
                         JSONObject object = getJSONObject(result1);
@@ -306,6 +327,11 @@
                                     hisApiGetMethodService.save(object4, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer)));
                                 }
                             }
+                        }
+                    } else if(null != s && s.equalsIgnoreCase("Y")) {
+                        TjCustomer requestCommonHisApi = isRequestCommonHisApi(tjCustomer);
+                        if (null !=requestCommonHisApi){
+                            tjCustomerService.save(requestCommonHisApi);
                         }
                     }else {
                         tjCustomerService.save(tjCustomer);
@@ -330,10 +356,10 @@
 //            if (null != key && key.equals("Y")) {
                 String cardId = tjCustomerServiceOne.getCardId();
                 if (null != cardId && !cardId.equals("0")) {
-                    int i = tjOrderService.selectTjOrderByCardId(cardId);
-                    if (i > 0) {
-                        return AjaxResult.error("涓嶅彲閲嶅绛惧埌");
-                    }
+//                    int i = tjOrderService.selectTjOrderByCardId(cardId);
+//                    if (i > 0) {
+//                        return AjaxResult.error("涓嶅彲閲嶅绛惧埌");
+//                    }
                 }
 
 //            }
@@ -372,6 +398,27 @@
     }
 
 
+    @GetMapping("/getcusList")
+    @ApiOperation(value = "妗f绠$悊鎺ュ彛")
+    public TableDataInfo getcusList(TjCustomer tjCustomer) {
+        startPage();
+        List<TjCustomer> list = tjCustomerService.getcusList(tjCustomer);
+        if (null != list && !list.isEmpty()) {
+            for (TjCustomer customer : list) {
+                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);
+    }
+
+
     /**
      * 鏌ヨ瀹㈡埛淇℃伅鍒楄〃
      */
@@ -381,9 +428,8 @@
     public TableDataInfo list(TjCustomer tjCustomer) {
         startPage();
         List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer);
-        if (null != list && list.size() > 0) {
+        if (null != list && !list.isEmpty()) {
             for (TjCustomer customer : list) {
-//                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()));
@@ -448,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("璇烽�夋嫨璇佷欢绫诲瀷");
         }
@@ -469,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");
@@ -492,43 +537,11 @@
         } 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> isjd = new HashMap<>();
-                isjd.put("cusIdCard",tjCustomer.getCusIdcard());
-                isjd.put("compId","");
-                String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/isCreat", isjd);
-                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.save(tjCustomer)) {
-                        return AjaxResult.success(tjCustomer);
+                TjCustomer requestCommonHisApi = isRequestCommonHisApi(tjCustomer);
+                if (null !=requestCommonHisApi){
+                    if (tjCustomerService.save(requestCommonHisApi)) {
+                        return AjaxResult.success(requestCommonHisApi);
                     }
-                }else {
-                    HashMap<String, Object> map = new HashMap<>();
-                    map.put("cardId","");
-                    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 post = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/creat", map);
-                    JSONObject jsonObject = JSONUtil.parseObj(post);
-                    if (jsonObject.getStr("code").equals("200")){
-                        JSONObject data = jsonObject.getJSONObject("data");
-                        tjCustomer.setPationId(data.getStr("pationId"));
-                        tjCustomer.setCardId(data.getStr("cardId"));
-                        tjCustomer.setHisJzkh(data.getStr("cardId"));
-                        if (tjCustomerService.save(tjCustomer)) {
-                            return AjaxResult.success(tjCustomer);
-                        }
-                    }else return AjaxResult.error();
                 }
             }else {
                 if (tjCustomerService.save(tjCustomer)) {
@@ -537,6 +550,52 @@
             }
         }
         return AjaxResult.error();
+    }
+
+    private TjCustomer isRequestCommonHisApi(TjCustomer tjCustomer) {
+        String apiUrl = sysConfigService.selectConfigByKey("common_api_url");
+        String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm");
+        HashMap<String, Object> isjd = new HashMap<>();
+        isjd.put("cusIdCard", tjCustomer.getCusIdcard());
+        isjd.put("compId","");
+        String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/isCreat", isjd);
+        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"));
+            return tjCustomer;
+        }else {
+            HashMap<String, Object> map = new HashMap<>();
+            // 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("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 post = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/creat", map);
+            JSONObject jsonObject = JSONUtil.parseObj(post);
+            if (jsonObject.getStr("code").equals("200")){
+                JSONObject data = jsonObject.getJSONObject("data");
+                tjCustomer.setPationId(data.getStr("pationId"));
+                tjCustomer.setCardId(data.getStr("cardId"));
+                tjCustomer.setHisJzkh(data.getStr("cardId"));
+                return tjCustomer;
+            }
+        }
+        return null;
     }
 
     private AjaxResult suijieHisXinXi(TjCustomer tjCustomer, String date) {
@@ -580,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