From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 30 十二月 2024 17:04:09 +0800
Subject: [PATCH] zjh202412030

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |  240 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 156 insertions(+), 84 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 0ff575c..31009db 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
@@ -31,6 +31,7 @@
 import com.ltkj.web.controller.his.HisApiGetMethodService;
 import com.ltkj.web.controller.his.HisApiMethod;
 import com.ltkj.web.controller.his.HisApiMethodService;
+import com.ltkj.web.wxUtils.HttpClientUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -44,10 +45,7 @@
 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;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -141,19 +139,24 @@
 //    @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT)
     public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) {
         if (!"".equals(cusIdcard) && cusIdcard != null) {
+
+            String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
+//            String sfjysjh = configService.selectConfigByKey("sfjysjh");
+
             //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
-//            if(cusIdcard.length()==18){
-//                if (! MatchUtils.isIdCard(cusIdcard)) {
-//                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-//                }
-//            }
-//            if(cusIdcard.length()==9){
-//                if (!MatchUtils.cardValidates(cusIdcard)) {
-//                    return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-//                }
-//            }
-//            Date dates = new Date();
-//            final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
+            if(sfjysfzh.equalsIgnoreCase("Y")){
+                if(cusIdcard.length()==18){
+                    if (! MatchUtils.isIdCard(cusIdcard)) {
+                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+                    }
+                }
+                if(cusIdcard.length()==9){
+                    if (!MatchUtils.cardValidates(cusIdcard)) {
+                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
+                    }
+                }
+            }
+
 
             final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData");
             if ("Y".equals(getInfoFromSqlData)) {
@@ -161,7 +164,7 @@
                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
                 if (null != tjPatByIdCard) {
                     String fcardNo = tjPatByIdCard.getFcardNo();
-                    if (null != fcardNo && !fcardNo.equals("")) {
+                    if (null != fcardNo && !fcardNo.isEmpty()) {
                         fcardNo = fcardNo.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
                     } else {
@@ -206,16 +209,12 @@
 
             String key = sysConfigService.selectConfigByKey("sfkqdyhis");
 
-
-            //end====2023.12.12
             LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
             wq.eq(TjReservation::getIdCard, cusIdcard);
             wq.eq(TjReservation::getIsExpire, 2);
             TjReservation tjReservation = tjReservationService.getOne(wq);
             if (tjReservation != null) {
-//                if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
-//                    return AjaxResult.error("鏈埌棰勭害鏃堕棿");
-//                }
+
                 if (null != tjReservation.getReservationTime() && DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(),
                         tjReservation.getYxts())).before(new Date())) {
                     tjReservation.setIsExpire(1);
@@ -226,6 +225,9 @@
                 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);
                     tjCustomer1.setTjType(tjReservation.getTjType());
                     tjCustomer1.setCusName(tjReservation.getName());
                     tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
@@ -241,38 +243,18 @@
                     tjCustomer1.setAgeUnit(tjReservation.getAgeUnit());
                     tjCustomer1.setCareer(tjReservation.getCareer());
                     tjCustomer1.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),""));
-/*                    if (null != key && key.equals("Y"))
-                    {
-                        AjaxResult result = controller.Outpincreateapply(tjCustomer1);
-                        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.size() > 0) {
-                                String pationid = resultData.get("PationId").toString();
-                                if (null != pationid) {
-//                                    tjCustomer1.setPationId(pationid);
-                                    tjCustomerService.updateById(tjCustomer1);
-                                    //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬
-                                    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(tjCustomer1)));
-                                }
-                            }
-                        }
-                    }else {
-                        tjCustomerService.updateById(tjCustomer1);
-                    }*/
+
                     tjCustomer1.setTeamNo(tjReservation.getTeamNo());
                     tjCustomer1.setCompId(tjReservation.getCompanyId());
                     tjCustomer1.setReservationId(tjReservation.getId());
                     tjCustomer1.setDiscount(tjReservation.getDiscount());
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
+
+                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
+                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
+
+//                    tjCustomerService.updateById(tjCustomer1);
+
                     return success(tjCustomer1);
                 }else {
                     TjCustomer tjCustomer = new TjCustomer();
@@ -299,6 +281,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 != key && key.equals("Y"))
                     {
                         AjaxResult result = controller.Outpincreateapply(tjCustomer);
@@ -308,7 +292,7 @@
                         if (code.equals("0")) {
                             JSONArray resultDatass = object.getJSONArray("ResultData");
                             Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
-                            if (null != resultData && resultData.size() > 0) {
+                            if (null != resultData && !resultData.isEmpty()) {
                                 String pationid = resultData.get("PationId").toString();
                                 if (null != pationid) {
                                     tjCustomer.setPationId(pationid);
@@ -442,11 +426,11 @@
     @ApiOperation(value = "鏂板瀹㈡埛")
     @Transactional
     @RepeatSubmit
+    @Log(title = "鏂板瀹㈡埛淇℃伅", businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄淇℃伅") TjCustomer tjCustomer) {
         if (null == tjCustomer.getCusIdcard() || null == tjCustomer.getCusPhone()) {
             return AjaxResult.error("璇疯緭鍏ヨ韩浠借瘉鍙锋垨鎵嬫満鍙�");
         }
-        HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService();
 
         Date dates = new Date();
         final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
@@ -454,21 +438,32 @@
         String cusIdcard = tjCustomer.getCusIdcard();
 
         boolean b = true;
+        String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
+        String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh");
         if (null != tjCustomer.getIdType()) {
             if (tjCustomer.getIdType().equals("1")) {
-                b = MatchUtils.isIdCard(cusIdcard);
+                //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
+                if(sfjysfzh.equalsIgnoreCase("Y")){
+                    if(cusIdcard.length()==18){
+                        b = MatchUtils.isIdCard(cusIdcard);
+                    }
+                }
+            } else {
+                if(cusIdcard.length()==9){
+                    b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
+                }
+
             }
-//            else {
-//                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
-//            }
         } else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
         if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�");
 
         //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
-        if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone())))
-            return AjaxResult.error("鎵嬫満鍙烽敊璇�");
+        if(sfjysjh.equalsIgnoreCase("Y")){
+            if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone())))
+                return AjaxResult.error("鎵嬫満鍙烽敊璇�");
+        }
 
         LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
         wq.eq(TjCustomer::getCusIdcard, cusIdcard);
@@ -495,8 +490,50 @@
             AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date);
             if (tjCustomer1 != null) return tjCustomer1;
         } else {
-            if (tjCustomerService.save(tjCustomer)) {
-                return AjaxResult.success(tjCustomer);
+            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);
+                    }
+                }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)) {
+                    return AjaxResult.success(tjCustomer);
+                }
             }
         }
         return AjaxResult.error();
@@ -510,7 +547,7 @@
         if (code.equals("0")) {
             JSONArray resultDatass = object.getJSONArray("ResultData");
             Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
-            if (null != resultData && resultData.size() > 0) {
+            if (null != resultData && !resultData.isEmpty()) {
                 String pationid = resultData.get("PationId").toString();
                 if (null != pationid) {
                     tjCustomer.setPationId(pationid);
@@ -536,9 +573,11 @@
      * 淇敼瀹㈡埛淇℃伅
      */
     //@PreAuthorize("@ss.hasPermi('hosp:customer:edit')")
-    @Log(title = "瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE)
+    @Log(title = "淇敼瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "淇敼瀹㈡埛淇℃伅")
+    @Transactional
+    @RepeatSubmit
     public AjaxResult edit(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) {
 
         TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId());
@@ -550,12 +589,30 @@
         if (null == cusPhone) {
             return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�");
         }
-        /*LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjCustomer::getCusPhone, cusPhone);
-        TjCustomer customer = tjCustomerService.getOne(wq);
-        if (customer != null) {
-            return AjaxResult.error("璇ユ墜鏈哄彿宸茶浣跨敤!");
-        }*/
+        String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh");
+        String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh");
+
+            //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
+            if(sfjysfzh.equalsIgnoreCase("Y")){
+                if(tjCustomer.getCusIdcard().length()==18){
+                    if (!(MatchUtils.isIdCard(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("鎵嬫満鍙烽敊璇�");
+        }
+
         tjCustomer.setCusPhone(cusPhone);
         tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
         if (tjCustomerService.updateById(tjCustomer)) {
@@ -566,26 +623,41 @@
                 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.size() > 0) {
-                        String pationid = resultData.get("PationId").toString();
-                        if (null != pationid) {
-                            tjCustomer.setPationId(pationid);
-                            tjCustomerService.updateById(tjCustomer);
-                        }
-                    }*/
-                    //淇濆瓨淇敼鍏ュ弬鍑哄弬
-//                    object.putOpt("cardId",customer.getPationId());
-//                    LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-//                    lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply");
-//                    HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
-//                    hisApiGetMethodService.save(object, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer)));
                     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();
+                    }
+                }
+                return AjaxResult.success();
             }
-            return AjaxResult.success();
         }
        return AjaxResult.error();
     }
@@ -598,6 +670,6 @@
     @DeleteMapping("/{cusIds}")
     @ApiOperation(value = "鍒犻櫎瀹㈡埛")
     public AjaxResult remove(@PathVariable @ApiParam(value = "鎵�鍒犻櫎瀹㈡埛鐨刬d") Long[] cusIds) {
-        return toAjax(tjCustomerService.deleteTjCustomerByCusIds(cusIds));
+        return toAjax(tjCustomerService.removeByIds(Arrays.asList(cusIds)));
     }
 }

--
Gitblit v1.8.0