package com.ltkj.web.controller.his; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.*; import com.ltkj.hosp.hisDto.*; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; 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.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @Slf4j @Api(tags = "AAAAA-----HISAPI相关接口文档") @RestController @RequestMapping("/api/His") public class HisApiController extends BaseController { @Autowired private TestMapper testMapper; @Autowired private ITjOrderService tjOrderService; @Autowired private TjCheckController tjCheckController; @Autowired private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; @Autowired private LtkjExamJcsqdService ltkjExamJcsqdService; @Autowired private LtkjExamJcbgdService ltkjExamJcbgdService; @Autowired private ITjProjectService projectService; @Autowired private ITjOrderRemarkService orderRemarkService; @Autowired private LtkjHysqdService hysqdService; @Autowired private LtkjHybgdService hybgdService; @Autowired private ITjCustomerService tjCustomerService; @Autowired private TjJcycxmService jcycxmService; @Autowired private SysConfigController configController; /** * 获取pacs检查数据 * @param json * @return */ // @PostMapping("/pacs/getAll") // public AjaxResult getAllList(@RequestBody String 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 wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjOrder::getTjNumber,tjNum); // TjOrder order = tjOrderService.getOne(wrapper); // mzh = order.getCardId(); // LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); // wrapper1.eq(TjCustomer::getCusId,order.getUserId()); // TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1); // name = tjCustomer.getCusName(); // } // List> jcList = testMapper.getPacsJcList(name, mzh, start, end); // if (jcList.isEmpty()){ // return AjaxResult.success(); // } // if (tjNum == null){ // String string = jcList.get(0).get("mzh").toString(); // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjOrder::getCardId,string); // TjOrder order = tjOrderService.getOne(wrapper); // if (order == null) return AjaxResult.error(""); // tjNum = order.getTjNumber(); // } // List proVos = tjCheckController.getCsProVos(tjNum,true); // HashMap hashMap = new HashMap<>(); // hashMap.put("pacs",jcList); // hashMap.put("vo",proVos); // return AjaxResult.success(hashMap); // } /** * 获取pacs检查数据 * * @param json * @return */ @PostMapping("/pacs/getList") public AjaxResult getList(@RequestBody String json) { // log.info("pacs接口参数->{}",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) { TjOrder order = tjOrderService.getOrderByTjNum(tjNum); mzh = order.getCardId(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1); name = tjCustomer.getCusName(); } List> jcList = testMapper.getPacsJcList(name, mzh, start, end); return AjaxResult.success(jcList); // String json1 = "[{\"reportDoctorCode\":\"\",\"deptName\":\"\",\"checkDoctorCode\":\"\",\"ghxh\":\"135107\",\"gender\":\"未知\",\"brid\":\"135107\",\"checkParts\":\"胸部CT\",\"zyh\":\"2025002358\",\"diagnosis\":\"右肺下叶慢性炎症,请结合临床;\\n右肺上叶多发结节,必要时定期复查。\",\"checkDoctorName\":\"辛文辉\",\"F_MACHINE_NAME_LIST\":\"CT\",\"reportDate\":\"2025-03-17 09:47:36\",\"examinationDate\":\"2025-03-17 09:47:36\",\"examination\":\"胸部CT平扫:胸廓形态未见明显异常。气管通畅;双肺纹理增粗,右肺下叶可见索条状高密度影;右肺上叶可见多发结节影,边界清,较大者约0.5cm;叶间裂无移位,双肺门未见增大。纵隔居中,其内未见明显增大淋巴结影。心影未见增大,未见胸水征象。\",\"name\":\"赵西宁\",\"patientAge\":47,\"clinicalDiagnosis\":\"\",\"mzh\":\"135107\",\"F_RPT_UID\":\"http://192.168.10.3:8021/PDFReport/27/135107.pdf\",\"reportDoctorName\":\"樊继元\",\"studyReport\":81000,\"F_RPT_WRITE_DATE\":\"2025-03-17 09:26:08\"},{\"reportDoctorCode\":\"\",\"deptName\":\"\",\"checkDoctorCode\":\"\",\"ghxh\":\"136954\",\"gender\":\"未知\",\"brid\":\"136954\",\"checkParts\":\"脊柱CT\",\"zyh\":\"2025002966\",\"diagnosis\":\"右肺下叶及左肺上叶慢性炎症,请结合临床;\\n右肺中、上叶结节;\\nL4/5椎间盘膨出。\",\"checkDoctorName\":\"辛文辉\",\"F_MACHINE_NAME_LIST\":\"CT\",\"reportDate\":\"2025-04-07 09:49:25\",\"examinationDate\":\"2025-04-07 09:49:25\",\"examination\":\"胸部CT平扫:胸廓形态未见明显异常。气管通畅;双肺纹理增粗,右肺下叶及左肺上叶可见索条状高密度影,边缘欠清;右肺中、上叶见结节影,边界尚清,大小约0.4cm;叶间裂无移位,双肺门未见增大。纵隔居中,其内未见明显增大淋巴结影。心影未见增大,未见胸水征象。\\n 腰椎椎间盘CT平扫:腰椎生理曲度存在,诸椎体序列如常,L3/4、L4/5、L5/S1椎间隙未见变窄,L4/5椎间盘向四周膨出,相应硬膜囊轻度受压;骨性椎管前后径未见狭窄,黄韧带未增厚,椎旁软组织未见明显异常。\",\"name\":\"赵西宁\",\"patientAge\":47,\"clinicalDiagnosis\":\"\",\"mzh\":\"136954\",\"F_RPT_UID\":\"http://192.168.10.3:8021/PDFReport/27/136954.pdf\",\"reportDoctorName\":\"樊继元\",\"studyReport\":82737,\"F_RPT_WRITE_DATE\":\"2025-04-07 09:32:28\"},{\"reportDoctorCode\":\"\",\"deptName\":\"\",\"checkDoctorCode\":\"\",\"ghxh\":\"136954\",\"gender\":\"未知\",\"brid\":\"136954\",\"checkParts\":\"胸部CT\",\"zyh\":\"2025002966\",\"diagnosis\":\"右肺下叶及左肺上叶慢性炎症,请结合临床;\\n右肺中、上叶结节;\\nL4/5椎间盘膨出。\",\"checkDoctorName\":\"辛文辉\",\"F_MACHINE_NAME_LIST\":\"CT\",\"reportDate\":\"2025-04-07 09:49:25\",\"examinationDate\":\"2025-04-07 09:49:25\",\"examination\":\"胸部CT平扫:胸廓形态未见明显异常。气管通畅;双肺纹理增粗,右肺下叶及左肺上叶可见索条状高密度影,边缘欠清;右肺中、上叶见结节影,边界尚清,大小约0.4cm;叶间裂无移位,双肺门未见增大。纵隔居中,其内未见明显增大淋巴结影。心影未见增大,未见胸水征象。\\n 腰椎椎间盘CT平扫:腰椎生理曲度存在,诸椎体序列如常,L3/4、L4/5、L5/S1椎间隙未见变窄,L4/5椎间盘向四周膨出,相应硬膜囊轻度受压;骨性椎管前后径未见狭窄,黄韧带未增厚,椎旁软组织未见明显异常。\",\"name\":\"赵西宁\",\"patientAge\":47,\"clinicalDiagnosis\":\"\",\"mzh\":\"136954\",\"F_RPT_UID\":\"http://192.168.10.3:8021/PDFReport/27/136954.pdf\",\"reportDoctorName\":\"樊继元\",\"studyReport\":82737,\"F_RPT_WRITE_DATE\":\"2025-04-07 09:32:28\"},{\"reportDoctorCode\":\"\",\"deptName\":\"\",\"checkDoctorCode\":\"\",\"ghxh\":\"141493\",\"gender\":\"未知\",\"brid\":\"141493\",\"checkParts\":\"胸部+上腹部+肋骨三维重建\",\"zyh\":\"2025004388 \",\"diagnosis\":\"右肺上下炎症;\\n右侧第2前肋骨折愈合后表现,请结合临床病史;\\n上腹部CT平扫未见明显异常 \",\"checkDoctorName\":\"辛文辉\",\"F_MACHINE_NAME_LIST\":\"CT\",\"reportDate\":\"2025-06-10 09:34:58\",\"examinationDate\":\"2025-06-10 09:34:58\",\"examination\":\"胸部CT平扫显示:胸廓对称,纵隔居中。气管、支气管通畅,未见狭窄;右肺下叶可见条絮影;右肺中上叶沿支气管走行可见类圆形密度增高影;叶间裂无移位,双肺门未见增大。纵隔居中,其内未见明显增大淋巴结影。心影未见增大,未见胸水征象。\\n 上腹部CT平扫显示:肝脏大小、形态正常,肝内未见明显局灶性密度异常,肝内血管走行正常,肝内外胆管未见扩张。胆囊不大,其内未见明显异常密度影。脾脏、胰腺大小形态及密度正常。双侧肾脏对称,大小及形态正常,未见局灶性密度异常。腹膜后未见肿大淋巴结。\\n 肋骨CT平扫及三维重建显示:右侧第2前肋走行异常,余双侧肋骨未见明显骨折征象。\",\"name\":\"赵西宁\",\"patientAge\":48,\"clinicalDiagnosis\":\"\",\"mzh\":\"141493\",\"F_RPT_UID\":\"http://192.168.10.3:8021/PDFReport/28/141493.pdf\",\"reportDoctorName\":\"张艳艳\",\"studyReport\":87091,\"F_RPT_WRITE_DATE\":\"2025-06-10 09:01:14\"}]"; // return AjaxResult.success(JSONUtil.parseArray(json1)); } /** * 获取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 wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjOrder::getTjNumber, tjNum); TjOrder order = tjOrderService.getOne(wrapper); mzh = order.getCardId(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper1); name = tjCustomer.getCusName(); } List> 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) { // log.info("tjList接口参数->{}",code); LambdaQueryWrapper 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 + "在体检系统中不存在"); } List proVos = tjCheckController.getCsProVos(order.getTjNumber(),true); return AjaxResult.success(proVos); // 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) { // log.info("tjList接口参数->{}",code); LambdaQueryWrapper 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 + "在体检系统中不存在"); } List proVos = orderRemarkService.cSWebGetProByTjNumAndOrderIdJy(order.getTjNumber()); if (null != proVos && !proVos.isEmpty()) { proVos.sort(Comparator.comparingInt(CsProVo::getType)); } 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\"}]"; // return AjaxResult.success(JSONUtil.parseArray(json)); } @Transactional @PostMapping("/asyncPacs") public AjaxResult asyncPacs(@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.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 wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjOrder::getTjNumber, tjNum); TjOrder order = tjOrderService.getOne(wrapper1); LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd(); ltkjExamJcsqd.setTjh(order.getCardId()); LambdaQueryWrapper 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 wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getProParentId, project.getProId()); List 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")); 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 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(); } } 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 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()); TjProject project = projectService.getById(tj.getStr("proId")); // String xmdm = project.getHisXmbm(); // if (project.getSfzhfy().equals("N")) { // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjProject::getProParentId, project.getProId()); // List list = projectService.list(wrapper); // for (TjProject tjProject : list) { // if (StrUtil.isNotBlank(tjProject.getHisXmbm())) { // xmdm = tjProject.getHisXmbm(); // break; // } // } // } // LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); // queryWrapper.eq(LtkjJianchajianyanTree::getCardId, order.getCardId()); // queryWrapper.eq(LtkjJianchajianyanTree::getType, "检查"); // queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm, xmdm); // LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper); String brid = pacs.getStr("brid"); // ltkjExamJcsqd.setTmh(brid + tree.getHisXmdm()); // if(StringUtil.isNotBlank(xmdm)){ // String tmh = brid+ xmdm; // ltkjExamJcsqd.setTmh(tmh); // }else { // String tmh = brid+ project.getProId(); // ltkjExamJcsqd.setTmh(tmh); // } ltkjExamJcsqd.setTmh(order.getCardId()+brid); ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName")); ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode")); ltkjExamJcsqd.setSqsj(format.format(order.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(); TjProject project = projectService.getById(tj.getStr("proId")); String xmdm = project.getHisXmbm(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh); 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(order.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(); } } catch (NoTransactionException e) { log.error(String.valueOf(e)); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("同步失败请重试"); } } @PostMapping(value = "/callback") public void callback(@RequestBody JSONObject json) { System.out.println("===================记录打印次数===================="); System.out.println(json.toJSONString()); String tjNumber = json.get("tjNumber").toString(); String reportName = json.get("reportName").toString(); System.out.println("用户: " + tjNumber + reportName + " 已打印"); } }