zhaowenxuan
2025-06-11 6f31a7ec7b9c1d7d8190900b22e861eae2851200
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java
@@ -9,10 +9,7 @@
import com.ltkj.common.core.controller.BaseController;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.framework.config.UserHoder;
import com.ltkj.hosp.domain.LtkjJianchajianyanTree;
import com.ltkj.hosp.domain.TjCustomer;
import com.ltkj.hosp.domain.TjOrder;
import com.ltkj.hosp.domain.TjProject;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.hisDto.*;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
@@ -21,10 +18,13 @@
import com.ltkj.hosp.sqlDomain.LtkjHybgd;
import com.ltkj.hosp.sqlDomain.LtkjHysqd;
import com.ltkj.hosp.vodomain.CsProVo;
import com.ltkj.web.controller.system.SysConfigController;
import com.ltkj.web.controller.system.TjCheckController;
import io.swagger.annotations.Api;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.NoTransactionException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
@@ -62,6 +62,10 @@
    private LtkjHybgdService hybgdService;
    @Autowired
    private ITjCustomerService tjCustomerService;
    @Autowired
    private TjJcycxmService jcycxmService;
    @Autowired
    private SysConfigController configController;
    /**
     * 获取pacs检查数据
@@ -110,6 +114,7 @@
    /**
     * 获取pacs检查数据
     *
     * @param json
     * @return
     */
@@ -122,14 +127,14 @@
        String start = StrUtil.isBlank(parseObj.getStr("start")) ? null : parseObj.getStr("start");
        String end = StrUtil.isBlank(parseObj.getStr("end")) ? null : parseObj.getStr("end");
        String mzh = null;
        if (tjNum == null && name == null){
        if (tjNum == null && name == null) {
            return AjaxResult.error("体检号和名字不能都为空");
        }
        if (tjNum != null) {
            TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
            mzh = order.getCardId();
            LambdaQueryWrapper<TjCustomer> wrapper1 = new LambdaQueryWrapper<>();
            wrapper1.eq(TjCustomer::getCusId,order.getUserId());
            wrapper1.eq(TjCustomer::getCusId, order.getUserId());
            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1);
            name = tjCustomer.getCusName();
        }
@@ -141,64 +146,65 @@
    /**
     * 获取Lis检验数据
     *
     * @param json
     * @return
     */
    @PostMapping("/lis/getList")
    public AjaxResult getLisList(@RequestBody String json) {
//        log.info("lis接口参数->{}",JSONUtil.toJsonStr(json));
        cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(json);
        String tjNum = StrUtil.isBlank(parseObj.getStr("tjNum")) ? null : parseObj.getStr("tjNum");
        String name = StrUtil.isBlank(parseObj.getStr("name")) ? null : parseObj.getStr("name");
        String start = StrUtil.isBlank(parseObj.getStr("start")) ? null : parseObj.getStr("start");
        String end = StrUtil.isBlank(parseObj.getStr("end")) ? null : parseObj.getStr("end");
        String mzh = null;
        if (tjNum == null && name == null){
            return AjaxResult.error("体检号和名字不能都为空");
        }
        if (tjNum != null) {
            LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(TjOrder::getTjNumber,tjNum);
            TjOrder order = tjOrderService.getOne(wrapper);
            mzh = order.getCardId();
            LambdaQueryWrapper<TjCustomer> wrapper1 = new LambdaQueryWrapper<>();
            wrapper1.eq(TjCustomer::getCusId,order.getUserId());
            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1);
            name = tjCustomer.getCusName();
        }
        List<Map<String, Object>> jcList = testMapper.getLisJyList(name, mzh, start, end);
        return AjaxResult.success(jcList);
//        String json1 = "[{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四1\",\"patientAge\":\"20\",\"mzh\":\"810001246120745\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\",\"conclusion\":\"异常\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫克\",\"checkDoctorName\":\"检测医师\",\"jcxmid\":\"123\",\"shys\":\"审核医师\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四2\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"}]";
//        return AjaxResult.success(JSONUtil.parseArray(json1));
//        cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(json);
//        String tjNum = StrUtil.isBlank(parseObj.getStr("tjNum")) ? null : parseObj.getStr("tjNum");
//        String name = StrUtil.isBlank(parseObj.getStr("name")) ? null : parseObj.getStr("name");
//        String start = StrUtil.isBlank(parseObj.getStr("start")) ? null : parseObj.getStr("start");
//        String end = StrUtil.isBlank(parseObj.getStr("end")) ? null : parseObj.getStr("end");
//        String mzh = null;
//        if (tjNum == null && name == null) {
//            return AjaxResult.error("体检号和名字不能都为空");
//        }
//        if (tjNum != null) {
//            LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>();
//            wrapper.eq(TjOrder::getTjNumber, tjNum);
//            TjOrder order = tjOrderService.getOne(wrapper);
//            mzh = order.getCardId();
//            LambdaQueryWrapper<TjCustomer> wrapper1 = new LambdaQueryWrapper<>();
//            wrapper1.eq(TjCustomer::getCusId, order.getUserId());
//            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1);
//            name = tjCustomer.getCusName();
//        }
//        List<Map<String, Object>> jcList = testMapper.getLisJyList(name, mzh, start, end);
//        return AjaxResult.success(jcList);
        String json1 = "[{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0103\",\"diagnosis\":0,\"project\":\"0-0.20\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"checkParts\":\"项目1\",\"proResult\":\"0.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"*巨大未成熟细胞\",\"tjStandardGtValue\":\"0-0.20\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000070      \",\"checkParts\":\"项目2\",\"jcxmid\":\"0104\",\"diagnosis\":0,\"project\":\"0-2.50\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.1000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"*巨大未成熟细胞百分比\",\"tjStandardGtValue\":\"0-2.50\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0101\",\"diagnosis\":0,\"project\":\"0-0.20\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"*异形淋巴细胞\",\"tjStandardGtValue\":\"0-0.20\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0102\",\"diagnosis\":0,\"project\":\"0-2.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"*异形淋巴细胞百分比\",\"tjStandardGtValue\":\"0-2.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0001\",\"diagnosis\":0,\"project\":\"4.00-10.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"5.4500\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆白细胞\",\"tjStandardGtValue\":\"4.00-10.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0012\",\"diagnosis\":0,\"project\":\"3.50-5.50\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"4.4400\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^12/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆红细胞\",\"tjStandardGtValue\":\"3.50-5.50\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0014\",\"diagnosis\":0,\"project\":\"37.00-54.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"42.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆红细胞压积\",\"tjStandardGtValue\":\"37.00-54.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0013\",\"diagnosis\":0,\"project\":\"110.00-160.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"135.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"g/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆血红蛋白\",\"tjStandardGtValue\":\"110.00-160.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0020\",\"diagnosis\":0,\"project\":\"100.00-300.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"154.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆血小板\",\"tjStandardGtValue\":\"100.00-300.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0023\",\"diagnosis\":0,\"project\":\"0.10-0.50\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.1700\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"◆血小板压积\",\"tjStandardGtValue\":\"0.10-0.50\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0006\",\"diagnosis\":0,\"project\":\"0.10-0.80\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.2900\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"单核细胞\",\"tjStandardGtValue\":\"0.10-0.80\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0007\",\"diagnosis\":0,\"project\":\"3.00-8.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"5.3000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"单核细胞百分比\",\"tjStandardGtValue\":\"3.00-8.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0019\",\"diagnosis\":0,\"project\":\"10.00-15.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"13.7000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"红细胞分布宽度变异系数\",\"tjStandardGtValue\":\"10.00-15.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0018\",\"diagnosis\":0,\"project\":\"30.00-57.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"47.7000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"fL\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"红细胞分布宽度标准差\",\"tjStandardGtValue\":\"30.00-57.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0004\",\"diagnosis\":0,\"project\":\"0.80-4.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"2.1100\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"淋巴细胞\",\"tjStandardGtValue\":\"0.80-4.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0005\",\"diagnosis\":0,\"project\":\"20.00-40.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"38.7000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"淋巴细胞百分比\",\"tjStandardGtValue\":\"20.00-40.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0015\",\"diagnosis\":0,\"project\":\"80.00-100.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"94.6000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"fL\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"平均红细胞体积\",\"tjStandardGtValue\":\"80.00-100.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0016\",\"diagnosis\":0,\"project\":\"27.00-34.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"30.4000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"pg\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"平均红细胞血红蛋白含量\",\"tjStandardGtValue\":\"27.00-34.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0017\",\"diagnosis\":0,\"project\":\"320.00-360.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"321.0000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"g/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"平均红细胞血红蛋白浓度\",\"tjStandardGtValue\":\"320.00-360.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0022\",\"diagnosis\":0,\"project\":\"6.00-14.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"11.3000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"fL\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"平均血小板体积\",\"tjStandardGtValue\":\"6.00-14.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0010\",\"diagnosis\":0,\"project\":\"0-0.10\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.0100\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"嗜碱粒细胞\",\"tjStandardGtValue\":\"0-0.10\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0011\",\"diagnosis\":0,\"project\":\"0-3.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.2000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"嗜碱粒细胞百分比\",\"tjStandardGtValue\":\"0-3.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0008\",\"diagnosis\":0,\"project\":\"0.05-0.35\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.0300\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"嗜酸粒细胞\",\"tjStandardGtValue\":\"0.05-0.35\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0009\",\"diagnosis\":0,\"project\":\"0.50-5.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"0.6000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"嗜酸粒细胞百分比\",\"tjStandardGtValue\":\"0.50-5.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0021\",\"diagnosis\":0,\"project\":\"9.00-18.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"16.4000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"fL\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"血小板分布宽度\",\"tjStandardGtValue\":\"9.00-18.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0002\",\"diagnosis\":0,\"project\":\"2.00-7.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"3.0100\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"10^9/L\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"中性粒细胞\",\"tjStandardGtValue\":\"2.00-7.00\"},{\"deptName\":\"内儿科                                            \",\"brid\":\"250512000069      \",\"jcxmid\":\"0003\",\"diagnosis\":0,\"project\":\"52.00-72.00\",\"jyxh\":\"250512000069\",\"examinationDate\":\"2025-05-12 10:11:18\",\"proResult\":\"55.2000\",\"name\":\"苏菲\",\"patientAge\":34,\"mzh\":\"20250512000129    \",\"shys\":\"张钰旋                        \",\"company\":\"%\",\"reportDoctorName\":\"张钰旋                        \",\"proName\":\"中性粒细胞百分比\",\"tjStandardGtValue\":\"52.00-72.00\"}]";
        return AjaxResult.success(JSONUtil.parseArray(json1));
    }
    @GetMapping("/getTjList")
    public AjaxResult getTjList(@RequestParam("code")String code){
    public AjaxResult getTjList(@RequestParam("code") String code) {
//        log.info("tjList接口参数->{}",code);
        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(TjOrder::getCardId, code)
                .or()
                .eq(TjOrder::getTjNumber, code);
        TjOrder order = tjOrderService.getOne(queryWrapper);
        if (order == null){
            return AjaxResult.error("门诊号:"+code+"在体检系统中不存在");
        if (order == null) {
            return AjaxResult.error("门诊号:" + code + "在体检系统中不存在");
        }
        List<CsProVo> proVos = tjCheckController.getCsProVos(order.getTjNumber(),true);
        return AjaxResult.success(proVos);
//        String json = "[{\"deptName\":\"CT室\",\"proName\":\"(tj)胸部CT平扫\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"},{\"deptName\":\"彩超室\",\"proName\":\"(tj)泌尿系前列腺\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2024-11-06 10:47:15\",\"bcupdateTime\":\"2024-11-06 10:47:15\",\"bcdoctorName\":null,\"zhupdateTime\":\"2024-11-06 10:47:15\"}]";
//        String json = "[{\"proId\":\"1870371396991955206\",\"deptName\":\"DR室\",\"proName\":\"胸部DR正位\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2025-06-05 10:55:43\",\"bcupdateTime\":\"2025-06-05 10:55:43\",\"bcdoctorName\":null,\"imageUrl\":null,\"zhupdateTime\":\"2025-06-05 10:55:43\",\"deptId\":599},{\"proId\":\"1878964342340526298\",\"deptName\":\"彩超室\",\"proName\":\"肝胆脾胰肾彩超\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2025-06-05 10:55:43\",\"bcupdateTime\":\"2025-06-05 10:55:43\",\"bcdoctorName\":null,\"imageUrl\":null,\"zhupdateTime\":\"2025-06-05 10:55:43\",\"deptId\":609},{\"proId\":\"1878964342340526330\",\"deptName\":\"彩超室\",\"proName\":\"膀胱前列腺彩超\",\"type\":0,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2025-06-05 10:55:43\",\"bcupdateTime\":\"2025-06-05 10:55:43\",\"bcdoctorName\":null,\"imageUrl\":null,\"zhupdateTime\":\"2025-06-05 10:55:43\",\"deptId\":609},{\"proId\":\"1870371396991955336\",\"deptName\":\"心电图\",\"proName\":\"心电图检查\",\"type\":1,\"doctorName\":null,\"sffs\":\"统收\",\"isPay\":\"已收费\",\"qdcreateTime\":\"2025-06-05 10:55:43\",\"bcupdateTime\":\"2025-06-05 11:12:50\",\"bcdoctorName\":null,\"imageUrl\":null,\"zhupdateTime\":\"2025-06-05 11:12:50\",\"deptId\":601}]";
//        return AjaxResult.success(JSONUtil.parseArray(json));
    }
    @GetMapping("/getJyTjList")
    public AjaxResult getJyTjList(@RequestParam("code")String code){
    public AjaxResult getJyTjList(@RequestParam("code") String code) {
//        log.info("tjList接口参数->{}",code);
        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(TjOrder::getCardId,code)
        queryWrapper.eq(TjOrder::getCardId, code)
                .or()
                .eq(TjOrder::getTjNumber, code);
        TjOrder order = tjOrderService.getOne(queryWrapper);
        if (order == null){
            return AjaxResult.error("门诊号:"+code+"在体检系统中不存在");
        if (order == null) {
            return AjaxResult.error("门诊号:" + code + "在体检系统中不存在");
        }
        List<CsProVo> proVos = orderRemarkService.cSWebGetProByTjNumAndOrderIdJy(order.getTjNumber());
        if (null != proVos && !proVos.isEmpty()) {
@@ -212,7 +218,8 @@
    @Transactional
    @PostMapping("/asyncPacs")
    public AjaxResult asyncPacs(@RequestBody String json) {
        log.info("合并检测同步参数 ->{}",json);
        try {
            log.info("合并检测同步参数 ->{}", json);
//        try {
//            Thread.sleep(2000);
//        } catch (InterruptedException ignored) {
@@ -220,196 +227,516 @@
//        }
//        if (true)
//            return AjaxResult.error("同步失败请重试");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj( json);
        cn.hutool.json.JSONObject pacs = parseObj.getJSONObject("pacs");
        cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
        cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
        if (pacs != null && !pacs.isEmpty()){
            String tjNum = pacs.getStr("tjnum");
            LambdaQueryWrapper<TjOrder> wrapper1 = new LambdaQueryWrapper<>();
            wrapper1.eq(TjOrder::getTjNumber,tjNum);
            TjOrder order = tjOrderService.getOne(wrapper1);
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(json);
            cn.hutool.json.JSONObject pacs = parseObj.getJSONObject("pacs");
            cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
            cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
            if (pacs != null && !pacs.isEmpty()) {
                String tjNum = pacs.getStr("tjnum");
                LambdaQueryWrapper<TjOrder> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.eq(TjOrder::getTjNumber, tjNum);
                TjOrder order = tjOrderService.getOne(wrapper1);
            LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
            ltkjExamJcsqd.setTjh(order.getCardId());
                LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
                ltkjExamJcsqd.setTjh(order.getCardId());
            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId());
            TjProject project = projectService.getById(tj.getStr("proId"));
            String xmdm = project.getHisXmbm();
            if (project.getSfzhfy().equals("N")){
                LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjProject::getProParentId,project.getProId());
                List<TjProject> list = projectService.list(wrapper);
                for (TjProject tjProject : list) {
                    if (StrUtil.isNotBlank(tjProject.getHisXmbm())){
                        xmdm = tjProject.getHisXmbm();
                        break;
                    }
                }
            }
            queryWrapper.eq(LtkjJianchajianyanTree::getType,"检查");
            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
            ltkjExamJcsqd.setTmh("M_"+tree.getSqdh()+"_"+tree.getHisXmdm());
            ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
            ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
            ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
            Date reportDate = null;
            try {
                reportDate = dateFormat.parse(pacs.getStr("reportDate"));
                ltkjExamJcsqd.setJgsj(format.format(reportDate));
            } catch (ParseException ignored) {
                ltkjExamJcsqd.setJgsj(format.format(new Date()));
            }
            String checkParts = pacs.getStr("checkParts");
//            ltkjExamJcsqd.setJcxmmc(checkParts);
//            ltkjExamJcsqd.setJcxmid(xmdm);
            ltkjExamJcsqd.setJcxmmc(project.getProName());
            ltkjExamJcsqd.setJcxmid(project.getProId().toString());
            ltkjExamJcsqd.setBw(checkParts);
            ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
            ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
            boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
            LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
            ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
            ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
//            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
//            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
            ltkjExamJcbgd.setXmdm(project.getProId().toString());
            ltkjExamJcbgd.setXmmc(project.getProName());
            ltkjExamJcbgd.setBgUrl("");
            ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
            ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
//            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
//            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
            ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
            ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
            ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
            ltkjExamJcbgd.setBgNr(ltkjExamJcsqd.getJgbx());
            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgzt());
            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
            boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
            if (save1 && save2) {
                try {
                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                }catch (Exception e){
                    log.error(String.valueOf(e));
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
            } else {
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("同步失败请重试");
            }
            return AjaxResult.success();
        }else {
            cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
            String tjNum = entries.getStr("tjNum");
            LtkjHysqd hysqd = new LtkjHysqd();
            TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
            hysqd.setTjh(order.getCardId());
            String mzh = order.getCardId();
            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
            TjProject project = projectService.getById(tj.getStr("proId"));
            String xmdm = project.getHisXmbm();
            queryWrapper.eq(LtkjJianchajianyanTree::getType,"检验");
            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
            if (tree == null) {
                tree = new LtkjJianchajianyanTree();
                tree.setHisXmdm(xmdm);
                tree.setCreateTime(new Date());
                String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                    tree.setSqdh(sqdh);
                }else {
                    while (true){
                        sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                        queryWrapper = new LambdaQueryWrapper<>();
                        queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
                        if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                            tree.setSqdh(sqdh);
                LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId());
                TjProject project = projectService.getById(tj.getStr("proId"));
                String xmdm = project.getHisXmbm();
                if (project.getSfzhfy().equals("N")) {
                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjProject::getProParentId, project.getProId());
                    List<TjProject> list = projectService.list(wrapper);
                    for (TjProject tjProject : list) {
                        if (StrUtil.isNotBlank(tjProject.getHisXmbm())) {
                            xmdm = tjProject.getHisXmbm();
                            break;
                        }
                    }
                }
            }
            String tmh = tree.getSqdh()+"_"+tree.getHisXmdm();
            String shys = "";
            for (Object o : lis) {
                cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) o;
                if (StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) tmh = jsonObject.getStr("jyxh");
                if (StrUtil.isNotBlank(jsonObject.getStr("shys"))) shys = jsonObject.getStr("shys");
                if (StrUtil.isNotBlank(tmh) && StrUtil.isNotBlank(shys) && StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) break;
            }
            hysqd.setTmh(tmh);
//            if (StrUtil.isNotBlank(xmdm)) {
//                hysqd.setXmid(xmdm);
//                hysqd.setXmmc(project.getHisXmmc());
//            }else {
//                hysqd.setXmid(String.valueOf(project.getProId()));
//                hysqd.setXmmc(project.getProName());
//            }
                queryWrapper.eq(LtkjJianchajianyanTree::getType, "检查");
                queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm, xmdm);
            hysqd.setXmid(project.getProId().toString());
            hysqd.setXmmc(project.getProName());
            hysqd.setSqsj(format.format(tree.getCreateTime()));
            hysqd.setJgsj(format.format(new Date()));
            hysqd.setShrxm(shys);
//            hysqd.setBbmc();
            hysqdService.deletedByTjhAndXmId(hysqd.getTjh(),hysqd.getXmid());
            hybgdService.deletedLtkjHybgdByTjhAndTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
            hysqdService.save(hysqd);
            for (Object object : lis) {
                cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
                LtkjHybgd hybgd = new LtkjHybgd();
                hybgd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
                hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
                hybgd.setJcxm(jsonObject.getStr("proName"));
                hybgd.setJyjg(jsonObject.getStr("proResult"));
                hybgd.setJgdw(jsonObject.getStr("company"));
                String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
                String zdz = "";
                String zxz = "";
                if (tjStandardGtValue.contains("-")){
                    String[] split = tjStandardGtValue.split("-");
                    zxz = split[0].trim();
                    zdz = split[1].trim();
                LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                ltkjExamJcsqd.setTmh("M_" + tree.getSqdh() + "_" + tree.getHisXmdm());
                ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
                ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
                ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
                Date reportDate = null;
                try {
                    reportDate = dateFormat.parse(pacs.getStr("reportDate"));
                    ltkjExamJcsqd.setJgsj(format.format(reportDate));
                } catch (ParseException ignored) {
                    ltkjExamJcsqd.setJgsj(format.format(new Date()));
                }
                hybgd.setFwzdz(zdz);
                hybgd.setFwzgz(zxz);
                hybgd.setFwz(tjStandardGtValue);
                hybgd.setJysj(jsonObject.getStr("examinationDate"));
                hybgd.setShsj(jsonObject.getStr("examinationDate"));
                hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
                hybgd.setShysmc(shys);
                hybgd.setYcbz(jsonObject.getStr("ycbz"));
                hybgdService.save(hybgd);
                String checkParts = pacs.getStr("checkParts");
                //            ltkjExamJcsqd.setJcxmmc(checkParts);
                //            ltkjExamJcsqd.setJcxmid(xmdm);
                ltkjExamJcsqd.setJcxmmc(project.getProName());
                ltkjExamJcsqd.setJcxmid(project.getProId().toString());
                ltkjExamJcsqd.setBw(checkParts);
                ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
                ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
                ltkjExamJcsqd.setSgorzd("1");
                ltkjExamJcsqd.setCreateTime(new Date());
                ltkjExamJcsqdService.deletedLtkjJcsqdByTjhAndXmId(ltkjExamJcsqd.getTjh(), ltkjExamJcsqd.getJcxmid());
                boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
          /*      log.info("手动同步检查结果状态 ->{}", ltkjExamJcsqd.getJgzt());
                if (StringUtil.isNotBlank(ltkjExamJcsqd.getJgzt())) {
//                    jcycxmService.deletedByTjh(order.getTjNumber());
                    jcycxmService.deletedByTjhAndXmm(order.getTjNumber(),ltkjExamJcsqd.getJcxmmc());
                    String[] split = ltkjExamJcsqd.getJgzt().replaceAll("\n", "").split("。|;|;|,|,");
                    log.info("进入检查结果异常提取分割方法体 ->{}->{}", order.getTjNumber(), split);
                    for (String jg : split) {
                        if (StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
                                && !jg.contains("未见明显") && !jg.contains("正常") && !jg.contains("双侧椎间孔无狭窄")) {
                            log.info("进入检查结果异常提取  即将保存检查异常结果->{}->{}", order.getTjNumber(), jg);
                            try {
                                TjJcycxm jcycxm = new TjJcycxm();
                                jcycxm.setTjh(order.getTjNumber());
                                jcycxm.setYqid("jczyy");
                                String[] split1 = ltkjExamJcsqd.getJcxmid().split(";");
                                jcycxm.setProId(split1[0]);
                                jcycxm.setProName(ltkjExamJcsqd.getJcxmmc());
                                jcycxm.setCreateTime(new Date());
                                jcycxm.setJcjg(jg);
                                jcycxmService.save(jcycxm);
                            } catch (Exception e) {
                                logger.error("保存检查异常结果失败",e);
                                throw new RuntimeException(e);
                            }
                            log.info("进入检查结果异常提取  保存检查异常结果完毕");
                        }
                    }
                }
*/
                LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
                ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
                ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
                //            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
                //            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
                ltkjExamJcbgd.setXmdm(project.getProId().toString());
                ltkjExamJcbgd.setXmmc(project.getProName());
                ltkjExamJcbgd.setBgUrl("");
                ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
                ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
                //            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
                //            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
                ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
                ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
                ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
                ltkjExamJcbgd.setBgNr(ltkjExamJcsqd.getJgbx());
                ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgzt());
                ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
                ltkjExamJcbgd.setSgorzd("1");
                ltkjExamJcsqd.setCreateTime(new Date());
                ltkjExamJcbgdService.deletedLtkjJcbgdByTjhAndTmhA(ltkjExamJcsqd.getTjh(), ltkjExamJcsqd.getTmh());
                boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
                if (save1 && save2) {
                    try {
                        configController.tjjcycxm(tjNum,  "0");
//                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                        orderRemarkService.updateTjOrderRemarkByTjzt(order.getTjNumber(),project.getProId().toString());
                    } catch (Exception e) {
                        log.error(String.valueOf(e));
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("同步失败请重试");
                    }
                } else {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
                return AjaxResult.success();
            } else {
                cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
                String tjNum = entries.getStr("tjNum");
                LtkjHysqd hysqd = new LtkjHysqd();
                TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
                hysqd.setTjh(order.getCardId());
                String mzh = order.getCardId();
                LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
                TjProject project = projectService.getById(tj.getStr("proId"));
                String xmdm = project.getHisXmbm();
                queryWrapper.eq(LtkjJianchajianyanTree::getType, "检验");
                queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm, xmdm);
                LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                String tmh;
                if (tree == null) {
                    tree = new LtkjJianchajianyanTree();
                    tree.setHisXmdm(xmdm);
                    tree.setCreateTime(new Date());
                    String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                    queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(LtkjJianchajianyanTree::getSqdh, sqdh);
                    if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                        tree.setSqdh(sqdh);
                    } else {
                        while (true) {
                            sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                            queryWrapper = new LambdaQueryWrapper<>();
                            queryWrapper.eq(LtkjJianchajianyanTree::getSqdh, sqdh);
                            if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                                tree.setSqdh(sqdh);
                                break;
                            }
                        }
                    }
                    tmh = tree.getSqdh() + "_" + tree.getHisXmdm();
                } else {
                    tmh = tree.getSqdh();
                }
                String shys = "";
                for (Object o : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) o;
                    if (StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) tmh = jsonObject.getStr("jyxh");
                    if (StrUtil.isNotBlank(jsonObject.getStr("shys"))) shys = jsonObject.getStr("shys");
                    if (StrUtil.isNotBlank(tmh) && StrUtil.isNotBlank(shys) && StrUtil.isNotBlank(jsonObject.getStr("jyxh")))
                        break;
                }
                hysqd.setTmh(tmh);
                //            if (StrUtil.isNotBlank(xmdm)) {
                //                hysqd.setXmid(xmdm);
                //                hysqd.setXmmc(project.getHisXmmc());
                //            }else {
                //                hysqd.setXmid(String.valueOf(project.getProId()));
                //                hysqd.setXmmc(project.getProName());
                //            }
                hysqd.setXmid(project.getProId().toString());
                hysqd.setXmmc(project.getProName());
                hysqd.setSqsj(format.format(tree.getCreateTime()));
                hysqd.setJgsj(format.format(new Date()));
                hysqd.setShrxm(shys);
                hysqd.setCreateTime(new Date());
                //            hysqd.setBbmc();
                hysqdService.deletedByTjhAndXmId(hysqd.getTjh(), hysqd.getXmid());
                hybgdService.deletedLtkjHybgdByTjhAndTmh(tmh);
                hysqdService.save(hysqd);
                for (Object object : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
                    LtkjHybgd hybgd = new LtkjHybgd();
                    hybgd.setTmh(tmh);
                    hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
                    hybgd.setJcxm(jsonObject.getStr("proName"));
                    hybgd.setJyjg(jsonObject.getStr("proResult"));
                    hybgd.setJgdw(jsonObject.getStr("company"));
                    String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
                    String zdz = "";
                    String zxz = "";
                    if (tjStandardGtValue.contains("-")) {
                        String[] split = tjStandardGtValue.split("-");
                        zxz = split[0].trim();
                        zdz = split[1].trim();
                    }
                    hybgd.setFwzdz(zdz);
                    hybgd.setFwzgz(zxz);
                    hybgd.setFwz(tjStandardGtValue);
                    hybgd.setJysj(jsonObject.getStr("examinationDate"));
                    hybgd.setShsj(jsonObject.getStr("examinationDate"));
                    hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
                    hybgd.setShysmc(shys);
                    hybgd.setYcbz(jsonObject.getStr("ycbz"));
                    hybgd.setCreateTime(new Date());
                    hybgdService.save(hybgd);
                }
                try {
//                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                    orderRemarkService.updateTjOrderRemarkByTjzt(order.getTjNumber(),project.getProId().toString());
                } catch (Exception e) {
                    log.error(String.valueOf(e));
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
                return AjaxResult.success();
            }
            try {
                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
            }catch (Exception e){
                log.error(String.valueOf(e));
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("同步失败请重试");
        } catch (NoTransactionException e) {
            log.error(String.valueOf(e));
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return AjaxResult.error("同步失败请重试");
        }
    }
    @Transactional
    @PostMapping("/newasyncPacs")
    public AjaxResult newasyncPacs(@RequestBody String json) {
        try {
            log.info("合并检测同步参数 ->{}", json);
//        try {
//            Thread.sleep(2000);
//        } catch (InterruptedException ignored) {
//
//        }
//        if (true)
//            return AjaxResult.error("同步失败请重试");
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(json);
            cn.hutool.json.JSONArray pacss = parseObj.getJSONArray("pacs");
            cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
            cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
            if (pacss != null && !pacss.isEmpty()) {
                cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) pacss.get(0);
                String tjNum = entries.getStr("tjNum");
                LambdaQueryWrapper<TjOrder> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.eq(TjOrder::getTjNumber, tjNum);
                TjOrder order = tjOrderService.getOne(wrapper1);
                for (Object o : pacss) {
                    cn.hutool.json.JSONObject pacs = (cn.hutool.json.JSONObject) o;
                    if (pacs != null && !pacs.isEmpty()) {
                        LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
                        ltkjExamJcsqd.setTjh(order.getCardId());
                        LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                        queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId());
                        TjProject project = projectService.getById(tj.getStr("proId"));
                        String xmdm = project.getHisXmbm();
                        if (project.getSfzhfy().equals("N")) {
                            LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                            wrapper.eq(TjProject::getProParentId, project.getProId());
                            List<TjProject> list = projectService.list(wrapper);
                            for (TjProject tjProject : list) {
                                if (StrUtil.isNotBlank(tjProject.getHisXmbm())) {
                                    xmdm = tjProject.getHisXmbm();
                                    break;
                                }
                            }
                        }
                        queryWrapper.eq(LtkjJianchajianyanTree::getType, "检查");
                        queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm, xmdm);
                        LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                        String brid = pacs.getStr("brid");
                        ltkjExamJcsqd.setTmh(brid + tree.getHisXmdm());
                        ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
                        ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
                        ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
                        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
                        Date reportDate = null;
                        try {
                            reportDate = dateFormat.parse(pacs.getStr("reportDate"));
                            ltkjExamJcsqd.setJgsj(format.format(reportDate));
                        } catch (ParseException ignored) {
                            ltkjExamJcsqd.setJgsj(format.format(new Date()));
                        }
                        String checkParts = pacs.getStr("checkParts");
                        //            ltkjExamJcsqd.setJcxmmc(checkParts);
                        //            ltkjExamJcsqd.setJcxmid(xmdm);
                        ltkjExamJcsqd.setJcxmmc(project.getProName());
                        ltkjExamJcsqd.setJcxmid(project.getProId().toString());
                        ltkjExamJcsqd.setBw(checkParts);
                        ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
                        ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
                        ltkjExamJcsqd.setSgorzd("1");
                        ltkjExamJcsqd.setCreateTime(new Date());
//                        ltkjExamJcsqdService.deletedLtkjJcsqdByTjhAndXmId(ltkjExamJcsqd.getTjh(), ltkjExamJcsqd.getJcxmid());
                        ltkjExamJcsqdService.sdtbdeletedLtkjJcsqdByTjhandtmh(ltkjExamJcsqd.getTjh(), ltkjExamJcsqd.getTmh());
                        boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
          /*              log.info("手动同步检查结果状态 ->{}", ltkjExamJcsqd.getJgzt());
                        if (StringUtil.isNotBlank(ltkjExamJcsqd.getJgzt())) {
//                            jcycxmService.deletedByTjh(order.getTjNumber());
                            jcycxmService.deletedByTjhAndXmm(order.getTjNumber(),ltkjExamJcsqd.getJcxmmc());
                            String[] split = ltkjExamJcsqd.getJgzt().replaceAll("\n", "").split("。|;|;|,|,");
                            log.info("进入检查结果异常提取分割方法体 ->{}->{}", order.getTjNumber(), split);
                            for (String jg : split) {
                                if (StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                        && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
                                        && !jg.contains("未见明显") && !jg.contains("正常") && !jg.contains("双侧椎间孔无狭窄")) {
                                     log.info("进入检查结果异常提取  即将保存检查异常结果->{}->{}", order.getTjNumber(), jg);
                                    try {
                                        TjJcycxm jcycxm = new TjJcycxm();
                                        jcycxm.setTjh(order.getTjNumber());
                                        jcycxm.setYqid("jczyy");
                                        String[] split1 = ltkjExamJcsqd.getJcxmid().split(";");
                                        jcycxm.setProId(split1[0]);
                                        jcycxm.setProName(ltkjExamJcsqd.getJcxmmc());
                                        jcycxm.setCreateTime(new Date());
                                        jcycxm.setJcjg(jg);
                                        jcycxmService.save(jcycxm);
                                    } catch (Exception e) {
                                        log.error("保存检查异常结果失败",e);
                                        throw new RuntimeException(e);
                                    }
                                    log.info("进入检查结果异常提取  保存检查异常结果完毕");
                                }
                            }
                        }*/
                        LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
                        ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
                        ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
                        //            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
                        //            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
                        ltkjExamJcbgd.setXmdm(project.getProId().toString());
                        ltkjExamJcbgd.setXmmc(project.getProName());
                        ltkjExamJcbgd.setBgUrl("");
                        ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
                        ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
                        //            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
                        //            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
                        ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
                        ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
                        ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
                        ltkjExamJcbgd.setBgNr(ltkjExamJcsqd.getJgbx());
                        ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgzt());
                        ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
                        ltkjExamJcbgd.setSgorzd("1");
                        ltkjExamJcsqd.setCreateTime(new Date());
                        ltkjExamJcbgdService.deletedLtkjJcbgdByTjhAndTmhA(ltkjExamJcsqd.getTjh(), ltkjExamJcsqd.getTmh());
                        boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
                        if (save1 && save2) {
                            try {
                                configController.tjjcycxm(tjNum,  "0");
//                                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                                orderRemarkService.updateTjOrderRemarkByTjzt(order.getTjNumber(),project.getProId().toString());
                            } catch (Exception e) {
                                log.error(String.valueOf(e));
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return AjaxResult.error("同步失败请重试");
                            }
                        } else {
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return AjaxResult.error("同步失败请重试");
                        }
                    }
                }
                return AjaxResult.success();
            } else {
                cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
                String tjNum = entries.getStr("tjNum");
                LtkjHysqd hysqd = new LtkjHysqd();
                TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
                hysqd.setTjh(order.getCardId());
                String mzh = order.getCardId();
                LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
                TjProject project = projectService.getById(tj.getStr("proId"));
                String xmdm = project.getHisXmbm();
                queryWrapper.eq(LtkjJianchajianyanTree::getType, "检验");
                queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm, xmdm);
                LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
                String tmh;
                if (tree == null) {
                    tree = new LtkjJianchajianyanTree();
                    tree.setHisXmdm(xmdm);
                    tree.setCreateTime(new Date());
                    String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                    queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(LtkjJianchajianyanTree::getSqdh, sqdh);
                    if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                        tree.setSqdh(sqdh);
                    } else {
                        while (true) {
                            sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
                            queryWrapper = new LambdaQueryWrapper<>();
                            queryWrapper.eq(LtkjJianchajianyanTree::getSqdh, sqdh);
                            if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
                                tree.setSqdh(sqdh);
                                break;
                            }
                        }
                    }
                    tmh = tree.getSqdh() + "_" + tree.getHisXmdm();
                } else {
                    tmh = tree.getSqdh();
                }
                String shys = "";
                for (Object o : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) o;
                    if (StrUtil.isNotBlank(jsonObject.getStr("jyxh"))) tmh = jsonObject.getStr("jyxh");
                    if (StrUtil.isNotBlank(jsonObject.getStr("shys"))) shys = jsonObject.getStr("shys");
                    if (StrUtil.isNotBlank(tmh) && StrUtil.isNotBlank(shys) && StrUtil.isNotBlank(jsonObject.getStr("jyxh")))
                        break;
                }
                hysqd.setTmh(tmh);
                //            if (StrUtil.isNotBlank(xmdm)) {
                //                hysqd.setXmid(xmdm);
                //                hysqd.setXmmc(project.getHisXmmc());
                //            }else {
                //                hysqd.setXmid(String.valueOf(project.getProId()));
                //                hysqd.setXmmc(project.getProName());
                //            }
                hysqd.setXmid(project.getProId().toString());
                hysqd.setXmmc(project.getProName());
                hysqd.setSqsj(format.format(tree.getCreateTime()));
                hysqd.setJgsj(format.format(new Date()));
                hysqd.setShrxm(shys);
                hysqd.setCreateTime(new Date());
                //            hysqd.setBbmc();
                hysqdService.deletedByTjhAndXmId(hysqd.getTjh(), hysqd.getXmid());
                hybgdService.deletedLtkjHybgdByTjhAndTmh(tmh);
                hysqdService.save(hysqd);
                for (Object object : lis) {
                    cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
                    LtkjHybgd hybgd = new LtkjHybgd();
                    hybgd.setTmh(tmh);
                    hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
                    hybgd.setJcxm(jsonObject.getStr("proName"));
                    hybgd.setJyjg(jsonObject.getStr("proResult"));
                    hybgd.setJgdw(jsonObject.getStr("company"));
                    String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
                    String zdz = "";
                    String zxz = "";
                    if (tjStandardGtValue.contains("-")) {
                        String[] split = tjStandardGtValue.split("-");
                        zxz = split[0].trim();
                        zdz = split[1].trim();
                    }
                    hybgd.setFwzdz(zdz);
                    hybgd.setFwzgz(zxz);
                    hybgd.setFwz(tjStandardGtValue);
                    hybgd.setJysj(jsonObject.getStr("examinationDate"));
                    hybgd.setShsj(jsonObject.getStr("examinationDate"));
                    hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
                    hybgd.setShysmc(shys);
                    hybgd.setYcbz(jsonObject.getStr("ycbz"));
                    hybgd.setCreateTime(new Date());
                    hybgdService.save(hybgd);
                }
                try {
//                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                    orderRemarkService.updateTjOrderRemarkByTjzt(order.getTjNumber(),project.getProId().toString());
                } catch (Exception e) {
                    log.error(String.valueOf(e));
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("同步失败请重试");
                }
                return AjaxResult.success();
            }
            return AjaxResult.success();
        } catch (NoTransactionException e) {
            log.error(String.valueOf(e));
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return AjaxResult.error("同步失败请重试");
        }
    }
@@ -420,7 +747,7 @@
        System.out.println(json.toJSONString());
        String tjNumber = json.get("tjNumber").toString();
        String reportName = json.get("reportName").toString();
        System.out.println("用户: "+tjNumber+reportName+" 已打印");
        System.out.println("用户: " + tjNumber + reportName + " 已打印");
    }
}