From a0385d39fd55aaf45f43e2e12e446b9c933efc1c Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期五, 07 六月 2024 15:01:03 +0800
Subject: [PATCH] zjh 本地 2024/06/07 --1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |  168 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 129 insertions(+), 39 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 1be7465..35a03ec 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
@@ -2,22 +2,32 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.enums.DataSourceType;
+import com.ltkj.common.utils.SecurityUtils;
 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.hisDto.OutpinregapplyDto;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail;
 import com.ltkj.hosp.sqlDomain.LtkjMiddleHead;
 import com.ltkj.hosp.sqlDomain.LtkjTjPat;
 import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.web.controller.his.HisApiGetMethodService;
+import com.ltkj.web.controller.his.HisApiMethod;
+import com.ltkj.web.controller.his.HisApiMethodService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.DigestUtils;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.core.controller.BaseController;
@@ -64,13 +74,29 @@
     private ITjOrderService tjOrderService;
     @Resource
     private TjCustomerBlackService blackService;
+    @Autowired
+    private HisApiMethod hisApiMethod;
+    @Autowired
+    private HisApiMethodService controller;
+
+
+    //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
+    public JSONObject getJSONObject(String builder) {
+        String Response = JSONUtil.parseObj(builder).getStr("Response");
+        return JSONUtil.parseObj(Response);
+    }
+
+    //鑾峰彇鏂规硶杩斿洖鍊间俊鎭�
+    public String getAjaxResult(AjaxResult result) {
+        return result.get("data").toString();
+    }
 
     @GetMapping("/newGetTjPat")
     @ApiOperation(value = "鏌ヨhis鏁版嵁搴撹繑鍥炴柊鐨勬暟鎹�")
-    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);
+    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){
@@ -87,15 +113,14 @@
 //            }
 //        }
         List<String> strings = tjOrderService.selectTjOrderByCardId1();
-        if(null !=strings && strings.size()>0){
+        if (null != strings && strings.size() > 0) {
             List<Map<String, Object>> collect = maps.stream()
-                    .filter(item ->  !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList());
+                    .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList());
             return AjaxResult.success(collect);
         }
         return AjaxResult.success(maps);
 //        return AjaxResult.success(maps);
     }
-
 
 
     /**
@@ -119,27 +144,27 @@
 //            }
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
             final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData");
-            if ("Y".equals(getInfoFromSqlData)){
+            if ("Y".equals(getInfoFromSqlData)) {
                 //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭�
                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
-                if(null != tjPatByIdCard){
+                if (null != tjPatByIdCard) {
                     String fcardNo = tjPatByIdCard.getFcardNo();
-                    if(null !=fcardNo && !fcardNo.equals("")){
-                        fcardNo=fcardNo.trim();
+                    if (null != fcardNo && !fcardNo.equals("")) {
+                        fcardNo = fcardNo.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
-                    }else {
-                        fcardNo=cusIdcard.trim();
+                    } else {
+                        fcardNo = cusIdcard.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
                     }
                     //鏍规嵁韬唤璇佸彿浠庢暟鎹簱鎷夸俊鎭� 娌℃湁鐨勮瘽淇濆瓨
                     LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard);
-                    if(null==ltkjTjPat){
+                    if (null == ltkjTjPat) {
                         tjvLtkjvtjpatService.save(tjPatByIdCard);
                     }
                     DynamicDataSourceContextHolder.clearDataSourceType();
                     //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛�
                     TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo());
-                    if(null == tjCustomer){
+                    if (null == tjCustomer) {
                         //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛�
                         testMapper.getTjPatByCusId(cusIdcard);
                         LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
@@ -148,11 +173,11 @@
                         customer.setReservationId(customer.getCardId());
                         extracted(customer);
                         return success(customer);
-                    }else {
+                    } else {
                         String cardId = tjPatByIdCard.getFcardId();
-                        if(null !=cardId && !cardId.equals("0")){
+                        if (null != cardId && !cardId.equals("0")) {
                             int i = tjOrderService.selectTjOrderByCardId(cardId);
-                            if(i>0){
+                            if (i > 0) {
                                 return AjaxResult.error("涓嶅彲閲嶅绛惧埌");
                             }
 
@@ -242,7 +267,7 @@
             LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
             qw.eq(TjCustomer::getCusIdcard, cusIdcard);
             TjCustomer tjCustomer = tjCustomerService.getOne(qw);
-            return AjaxResult.success("鏆傛棤棰勭害淇℃伅",tjCustomer);
+            return AjaxResult.success("鏆傛棤棰勭害淇℃伅", tjCustomer);
         }
         return error("韬唤璇佸彿涓嶅瓨鍦�");
     }
@@ -251,16 +276,16 @@
         //浠巋is琛ㄦ姄鏁版嵁
         LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId());
         if (null != pat) {
-            LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>();
-            wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId());
+            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());
+            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());
-            if(o==null){
+            if (o == null) {
                 headService.save(pat);
                 for (LtkjMiddleDetail ltkjMiddleDetail : list) {
                     middleDetailService.save(ltkjMiddleDetail);
@@ -281,16 +306,16 @@
     public TableDataInfo list(TjCustomer tjCustomer) {
         startPage();
         List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer);
-        if(null !=list && list.size()>0){
+        if (null != list && list.size() > 0) {
             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()));
-                if(null !=tjCustomerBlack){
-                   customer.setIsBlack("Y");
-                }else {
-                   customer.setIsBlack("N");
+                if (null != tjCustomerBlack) {
+                    customer.setIsBlack("Y");
+                } else {
+                    customer.setIsBlack("N");
                 }
             }
         }
@@ -328,20 +353,25 @@
         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");
+
         String cusIdcard = tjCustomer.getCusIdcard();
 
-        boolean b=true;
-        if(null !=tjCustomer.getIdType()){
-            if(tjCustomer.getIdType().equals("1")){
+        boolean b = true;
+        if (null != tjCustomer.getIdType()) {
+            if (tjCustomer.getIdType().equals("1")) {
                 b = MatchUtils.isIdCard(cusIdcard);
             }
 //            else {
 //                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
 //            }
-        }else {
+        } else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
-        if(!b) return AjaxResult.error("璇佷欢鍙锋湁璇�");
+        if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�");
 
         //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘
         if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone())))
@@ -362,14 +392,74 @@
         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 (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);
+        String config = sysConfigService.selectConfigByKey("sfkqdyhis");
+        if(null !=config && config.equals("Y")){
+            AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date);
+            if (tjCustomer1 != null) return tjCustomer1;
         }
         return AjaxResult.error();
+}
+
+    private AjaxResult suijieHisXinXi(TjCustomer tjCustomer, String date) {
+        AjaxResult result = controller.Outpincreateapply(tjCustomer);
+        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) {
+                        OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto();
+                        outpinregapplyDto.setPationid(pationid);
+//                    outpinregapplyDto.setHisRegistrationId(pationid);
+                        outpinregapplyDto.setSqysbm(SecurityUtils.getUsername());
+                        outpinregapplyDto.setMzksbm("0101");
+                        outpinregapplyDto.setCzybm("00029");
+                        outpinregapplyDto.setSfjz("0");
+                        outpinregapplyDto.setGhzlbm("01");
+                        outpinregapplyDto.setYwckbm("0001");
+                        outpinregapplyDto.setSflstd("0");
+                        outpinregapplyDto.setGhrq(date);
+                        //闂ㄨ瘖鎸傚彿
+                        AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto);
+                        String result2 = getAjaxResult(ajaxResult);
+                        JSONObject object1 = getJSONObject(result2);
+                        String code1 = object1.getStr("ResultCode");
+                        if (code1.equals("0")) {
+                            JSONArray resultDatas = object1.getJSONArray("ResultData");
+                            if (null != resultDatas && resultDatas.size() > 0) {
+                                Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0);
+                                String hisRegistrationId = resultDatasss.get("his_registration_id").toString();
+                                if (null != hisRegistrationId) {
+                                    //闂ㄨ瘖鍖荤敓鎺ヨ瘖
+                                    AjaxResult result3 = controller.Outpinconapply(hisRegistrationId, date, SecurityUtils.getUsername());
+                                    String result4 = getAjaxResult(result3);
+                                    JSONObject object2 = getJSONObject(result4);
+                                    String code2 = object2.getStr("ResultCode");
+                                    if (code2.equals("0")) {
+                                        Map<String, Object> data = object2.getJSONObject("ResultData");
+                                        String toString = data.get("his_registration_id").toString();
+//                                        tjCustomer.setPationId(pationid);
+                                        tjCustomer.setCardId(toString);
+//                                        tjCustomerService.updateById(tjCustomer);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+            }
+            if (tjCustomerService.save(tjCustomer)) {
+                return AjaxResult.success(tjCustomer);
+            }
+        }
+        return null;
     }
 
     /**

--
Gitblit v1.8.0