From b73fedc4026231b31cbc99f9fdad54c8e73a1a34 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 04 七月 2025 17:39:24 +0800
Subject: [PATCH] 2025-0704

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |  149 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 130 insertions(+), 19 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 242247d..d0c659a 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
@@ -6,6 +6,7 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
@@ -36,6 +37,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;
@@ -46,6 +48,9 @@
 import com.ltkj.common.utils.poi.ExcelUtil;
 import com.ltkj.common.core.page.TableDataInfo;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -59,6 +64,7 @@
 @RestController
 @RequestMapping("/hosp/customer")
 @Api(tags = "瀹㈡埛绠$悊鎺ュ彛")
+@Slf4j
 public class TjCustomerController extends BaseController {
     @Resource
     private ITjCustomerService tjCustomerService;
@@ -161,11 +167,11 @@
                         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("韬唤璇佸彿鐮侀敊璇�");
+//                    }
+//                }
             }
 
 
@@ -243,7 +249,7 @@
                     tjCustomer1.setCusName(tjReservation.getName());
                     tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
                     try {
-                        tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                        tjCustomer1.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard().replaceAll(" ", "")));
                     } catch (Exception e) {
                         return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
                     }
@@ -277,7 +283,7 @@
                     tjCustomer.setCusName(tjReservation.getName());
                     tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
                     try {
-                        tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                        tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                     } catch (Exception e) {
                         return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
                     }
@@ -521,7 +527,7 @@
         tjCustomer.setCusPassword(substring);
         if(cusIdcard.length()==18) {
             try {
-                tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
+                tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
             } catch (Exception e) {
                 return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
             }
@@ -542,16 +548,44 @@
                 TjCustomer requestCommonHisApi = isRequestCommonHisApi(tjCustomer);
                 if (null !=requestCommonHisApi){
                     if (tjCustomerService.save(requestCommonHisApi)) {
+                        saveCustomerSfzImg(tjCustomer,dataSourceType);
                         return AjaxResult.success(requestCommonHisApi);
                     }
                 }
             }else {
                 if (tjCustomerService.save(tjCustomer)) {
+                    saveCustomerSfzImg(tjCustomer,dataSourceType);
                     return AjaxResult.success(tjCustomer);
                 }
             }
         }
         return AjaxResult.error();
+    }
+
+    private void saveCustomerSfzImg(TjCustomer tjCustomer,String hospId){
+        if (StrUtil.isNotBlank(tjCustomer.getSfzImg())){
+            hospId = hospId.replace("ltkjpeis10_","");
+            String value = sysConfigService.selectConfigByKey("path_sfzfilePath");
+            String outputPath = value + File.separator + hospId + File.separator+tjCustomer.getCusId()+".jpg";
+            File outFile = new File(outputPath);
+            File parentDir = outFile.getParentFile();
+            if (!parentDir.exists()) {
+                parentDir.mkdirs();
+            }
+            try {
+                String base64Str = tjCustomer.getSfzImg();
+                if (base64Str.contains(",")) {
+                    base64Str = base64Str.split(",")[1];
+                }
+                byte[] imageBytes = Base64.getDecoder().decode(base64Str);
+                try (OutputStream out = new FileOutputStream(outFile)) {
+                    out.write(imageBytes);
+                    out.flush();
+                }
+            } catch (Exception e) {
+                log.error("淇濆瓨韬唤璇佷汉鍍忓浘鐗囧け璐�",e);
+            }
+        }
     }
 
     private TjCustomer isRequestCommonHisApi(TjCustomer tjCustomer) {
@@ -570,11 +604,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());
@@ -647,16 +689,16 @@
 
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
             if(sfjysfzh.equalsIgnoreCase("Y")){
-                if(tjCustomer.getCusIdcard().length()==18){
+                if(tjCustomer.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("韬唤璇佸彿鐮侀敊璇�");
+//                    }
+//                }
             }
 
 
@@ -685,8 +727,8 @@
                     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("pationId",customer.getPationId());
+                    map.put("cardId",customer.getHisJzkh());
                     map.put("cusName",tjCustomer.getCusName());
                     map.put("cusSex",tjCustomer.getCusSex());
                     map.put("cusIdCard",tjCustomer.getCusIdcard());
@@ -715,6 +757,75 @@
        return AjaxResult.error();
     }
 
+
+    @Log(title = "娉ㄥ唽瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "/zhuceTjCustomer")
+    @ApiOperation(value = "淇敼瀹㈡埛淇℃伅")
+    @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(customer);
+                String result1 = getAjaxResult(result);
+                JSONObject object = getJSONObject(result1);
+                String code = object.getStr("ResultCode");
+                if (code.equals("0")) {
+                    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("娉ㄥ唽澶辫触");
+                }
+            }
+
+            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);
+
+        }
+
+    }
+
+
     /**
      * 鍒犻櫎瀹㈡埛淇℃伅
      */

--
Gitblit v1.8.0