From 6c4c2e31ddbcbf4a5f9472a29f621b360ce4713b Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 25 七月 2024 15:31:42 +0800
Subject: [PATCH] 增加同步api接口

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 237 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index 5a5ff9c..a854c91 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1,5 +1,6 @@
 package com.ltkj.web.controller.system;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
@@ -574,6 +575,242 @@
         return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
     }
 
+    /**
+     * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
+     */
+    @GetMapping ("/dataSynchronizationApi")
+    @ApiOperation (value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
+    @RepeatSubmit
+//    @Transactional
+    public AjaxResult dataSynchronizationApi(@RequestParam String tjNumber) {
+        if (true){
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            return AjaxResult.success("tjNumber="+tjNumber);
+        }
+
+        //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
+        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+
+        final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+        TjOrder order = orderService.getOrderByTjNum(tjNumber);
+        if (null != order) {
+
+            //寮�鍚瓧鍏稿脊绐�
+            if ("Y".equals(getInfoFromSqlData)) {
+                tbhyxm(order);
+                //鍚屾鍖栭獙椤圭洰
+                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                //鍚屾妫�鏌ラ」鐩�
+                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                asyncService.updateCheckType(order.getTjNumber());
+
+            }
+            //寮�鍚拰his瀵规帴
+            if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
+                List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
+                List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
+                //鍚屾妫�楠�
+                if (null != baoGaoDans && baoGaoDans.size() > 0) {
+                    Date dates = new Date();
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("his_registration_id", order.getCardId());
+                    map.put("ksbm", "");
+                    map.put("pationid", "");
+                    map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss"));
+                    map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
+                    map.put("pagecount", 10);
+                    map.put("page", 1);
+                    AjaxResult result = controller.Getlabreportinfo(map);
+                    String result1 = getAjaxResult(result);
+                    JSONObject object = getJSONObject(result1);
+                    String code = object.getStr("ResultCode");
+                    if (null == code || !code.equals("0")) {
+                        return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!");
+                    }
+                    JSONArray data = object.getJSONArray("ResultData");
+                    for (Object datum : data) {
+                        JSONObject jsonObject = (JSONObject) datum;
+                        boolean isInsertHysqd = false;
+                        LtkjHysqd hysqd = new LtkjHysqd();
+                        hysqd.setTjh(order.getCardId());
+                        hysqd.setTmh(jsonObject.getStr("JYBGID"));
+                        hysqd.setBbbh(jsonObject.getStr("BBDM"));
+                        hysqd.setBbmc(jsonObject.getStr("BBMC"));
+                        hysqd.setXmid(jsonObject.getStr("JYXMDM"));
+                        hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
+                        hysqd.setSqsj(jsonObject.getStr("SQRQ"));
+                        hysqd.setSqys(jsonObject.getStr("SQRBH"));
+                        hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
+                        hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
+                        hysqd.setSqdh(jsonObject.getStr("SQDBH"));
+                        hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
+                        hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
+                        hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
+                        List<LtkjHysqd> list = ltkjHysqdService.listByMap(BeanUtil.beanToMap(hysqd));
+                        if (list.isEmpty())
+                            isInsertHysqd = true;
+                        if (isInsertHysqd){
+                            saveHysqd(hysqd);
+                        }else {
+                            saveHybgd(hysqd);
+                        }
+                    }
+                    //鍚屾鍖栭獙椤圭洰
+                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                }
+                /*鍚屾妫�鏌� his鎺ュ彛*/
+                if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
+                    Map<String, Object> maps = new HashMap<>();
+                    maps.put("his_registration_id", order.getCardId());
+                    maps.put("ksbm", "浣撴涓績");
+                    maps.put("pagecount", 100);
+                    maps.put("page", 1);
+                    LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
+                    HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
+                    /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
+                    AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+                    DynamicDataSourceContextHolder.clearDataSourceType();
+                    log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
+                    if (Integer.parseInt(results.get("code").toString()) == 200) {
+                        List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
+                        if (null != datas && datas.size() > 0) {
+                            for (Map<String, Object> objectMap : datas) {
+                                //淇濆瓨鍏ュ弬鍑哄弬
+                                service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
+                                LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
+                                jcbgd.setTjh(order.getCardId());
+                                if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
+                                    jcbgd.setTmh(objectMap.get("JCBGID").toString());
+                                if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
+                                    jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
+                                if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
+                                    jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
+                                if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
+                                    jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
+                                if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
+                                    jcbgd.setBgUrl(objectMap.get("reporturl").toString());
+                                if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
+                                    jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
+                                if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
+                                    jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
+                                if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
+                                    jcbgd.setYxzd(objectMap.get("YXZD").toString());
+                                if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
+                                    if (objectMap.get("YXBX").toString().equals("null")) {
+                                        jcbgd.setYxbx("鏈寮傚父");
+                                    } else {
+                                        jcbgd.setYxbx(objectMap.get("YXBX").toString());
+                                    }
+                                }
+                                if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
+                                    jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
+                                if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
+                                    jcbgd.setJcbw(objectMap.get("JCBW").toString());
+                                if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
+                                    jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
+                                List<LtkjExamJcbgd> list = jcbgdService.listByMap(BeanUtil.beanToMap(jcbgd));
+                                if (list.isEmpty())
+                                    jcbgdService.save(jcbgd);
+                            }
+                            List<LtkjExamJcbgd> list = jcsqdService.queryLtkjExamJcsqdByTjh(order.getCardId());
+                            if (list.isEmpty())
+                                jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                            testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                        }else {
+                            return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                        }
+                    }
+                }
+                return AjaxResult.success("鍚屾鎴愬姛");
+            }
+            //鍖栭獙
+            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+            //妫�鏌�
+            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+            return AjaxResult.success("鍚屾鎴愬姛");
+        }
+        return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
+    }
+
+    private void saveHysqd(LtkjHysqd hysqd) {
+        if (ltkjHysqdService.save(hysqd)) {
+            saveHybgd(hysqd);
+        }
+    }
+
+    private void saveHybgd(LtkjHysqd hysqd) {
+        Map<String, Object> hashMap = new HashMap<>();
+        hashMap.put("jybgid", hysqd.getTmh());
+        AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
+        String result2 = getAjaxResult(bgdres);
+        JSONObject object1 = getJSONObject(result2);
+        String code1 = object1.getStr("ResultCode");
+        if (null != code1 && code1.equals("0")) {
+            JSONArray datas = object1.getJSONArray("ResultData");
+            for (Object o : datas) {
+                JSONObject js = (JSONObject) o;
+//                            ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID"));
+                LtkjHybgd bgd = new LtkjHybgd();
+                bgd.setTmh(hysqd.getTmh());
+                bgd.setJcxmid(js.getStr("JCZBDM"));
+                bgd.setJcxm(js.getStr("JCZBMC"));
+                bgd.setTdh(js.getStr(""));
+                bgd.setJyjg(js.getStr("JCZBJG"));
+                bgd.setJgdw(js.getStr("JLDW"));
+                bgd.setFwzdz(js.getStr(""));
+                bgd.setFwzgz(js.getStr(""));
+                bgd.setFwz(js.getStr("CKZFW"));
+                bgd.setJysj(js.getStr("BGRQ"));
+                bgd.setJyys(js.getStr("JCRBH"));
+                bgd.setShsj(js.getStr("BGRQ"));
+                bgd.setShsj(js.getStr("BGRQ"));
+                bgd.setShys(js.getStr("SHRBH"));
+                bgd.setShysmc(js.getStr("SHRXM"));
+                bgd.setYcbz(js.getStr("YCTS"));
+//                            bgd.setTpurl(js.getStr(""));
+                List<LtkjHybgd> list = ltkjHybgdService.listByMap(BeanUtil.beanToMap(bgd));
+                if (list.isEmpty())
+                    ltkjHybgdService.save(bgd);
+            }
+        }
+
+        Map<String, Object> fbhashMap = new HashMap<>();
+        fbhashMap.put("jybgid", hysqd.getTmh());
+        AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
+        String ajaxResult = getAjaxResult(fbres);
+        JSONObject fbobject = getJSONObject(ajaxResult);
+        String fbcode = fbobject.getStr("ResultCode");
+        if (null != fbcode && fbcode.equals("0")) {
+            JSONArray datas = fbobject.getJSONArray("ResultData");
+            for (Object o : datas) {
+                JSONObject js = (JSONObject) o;
+                LtkjHybgd bgd = new LtkjHybgd();
+                bgd.setTmh(hysqd.getTmh());
+                bgd.setJcxmid(hysqd.getXmid());
+                bgd.setJcxm(hysqd.getXmmc());
+                bgd.setTdh(js.getStr(""));
+                bgd.setJyjg(js.getStr("JCJG"));
+                bgd.setJgdw("/");
+                bgd.setFwzdz("/");
+                bgd.setFwzgz("/");
+                bgd.setFwz("/");
+                bgd.setJysj(js.getStr("BGRQ"));
+                bgd.setJyys(hysqd.getSqrxm());
+                bgd.setShsj(js.getStr("BGRQ"));
+                bgd.setShys(hysqd.getShrdm());
+                bgd.setShysmc(hysqd.getShrxm());
+                List<LtkjHybgd> list = ltkjHybgdService.listByMap(BeanUtil.beanToMap(bgd));
+                if (list.isEmpty())
+                    ltkjHybgdService.save(bgd);
+            }
+        }
+    }
+
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
         String Response = JSONUtil.parseObj(builder).getStr("Response");

--
Gitblit v1.8.0