| | |
| | | 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.common.core.page.TableDataInfo; |
| | | import com.ltkj.common.utils.http.HttpUtils; |
| | | import com.ltkj.hosp.domain.DictSsdm; |
| | | import com.ltkj.hosp.domain.TjCustomer; |
| | | import com.ltkj.hosp.hisDto.OutpinimpapplyDto; |
| | | import com.ltkj.hosp.hisDto.OutpinregapplyDto; |
| | | import com.ltkj.hosp.service.ITjCustomerService; |
| | | import com.ltkj.web.wxUtils.HttpClientUtils; |
| | | 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 io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | 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 javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | 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; |
| | | |
| | | private static final String HIS_URL = "https://mock.mengxuegu.com/mock/664d3dbce45d2156fa209c80/example/api/His/HisRequest"; |
| | | /** |
| | | * 获取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<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.getPacsJcList(name, mzh, start, end); |
| | | // if (jcList.isEmpty()){ |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // if (tjNum == null){ |
| | | // String string = jcList.get(0).get("mzh").toString(); |
| | | // LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); |
| | | // wrapper.eq(TjOrder::getCardId,string); |
| | | // TjOrder order = tjOrderService.getOne(wrapper); |
| | | // if (order == null) return AjaxResult.error(""); |
| | | // tjNum = order.getTjNumber(); |
| | | // } |
| | | // List<CsProVo> proVos = tjCheckController.getCsProVos(tjNum,true); |
| | | // HashMap<String, Object> hashMap = new HashMap<>(); |
| | | // hashMap.put("pacs",jcList); |
| | | // hashMap.put("vo",proVos); |
| | | // return AjaxResult.success(hashMap); |
| | | // } |
| | | |
| | | @PostMapping("/Outpincreateapply") |
| | | @ApiOperation(value = "新增/修改门诊注册信息") |
| | | public AjaxResult Outpincreateapply(@RequestBody TjCustomer customer) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (null != customer.getCusId()) { |
| | | map.put("pationid", customer.getCusId()); |
| | | } else { |
| | | map.put("pationid", null); |
| | | /** |
| | | * 获取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("体检号和名字不能都为空"); |
| | | } |
| | | map.put("brxm", customer.getCusName()); |
| | | map.put("brxb", customer.getCusSex()); |
| | | map.put("csrq", customer.getCusBrithday()); |
| | | map.put("brnl", customer.getAge()); |
| | | map.put("brnldw", customer.getAgeUnit()); |
| | | map.put("addr", customer.getAddr()); |
| | | map.put("gzdw", null); |
| | | map.put("dwdz", null); |
| | | map.put("lxr", customer.getCusName()); |
| | | map.put("lxrdh", customer.getCusPhone()); |
| | | map.put("lxrgx", "本人"); |
| | | map.put("sfzh", customer.getCusIdcard()); |
| | | map.put("jhrxm", null); |
| | | map.put("jhrsfzh", null); |
| | | map.put("mz", customer.getCusNational()); |
| | | map.put("zy", customer.getCareer()); |
| | | map.put("fbbm", null); |
| | | map.put("czy", customer.getCreateBy()); |
| | | map.put("jkkkh", customer.getIndexCard()); |
| | | map.put("mindex_id", customer.getIndexCard()); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | if (tjNum != null) { |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNum); |
| | | 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.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)); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/Outpinconapply") |
| | | @ApiOperation(value = "门诊医生接诊") |
| | | public AjaxResult Outpinconapply(@RequestParam @ApiParam(value = "就诊号") String jzh, |
| | | @ApiParam(value = "接诊日期") @RequestParam Date jzrq, |
| | | @ApiParam(value = "接诊医师") @RequestParam String jzysbm) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("jzh",jzh); |
| | | map.put("jzrq",jzrq); |
| | | map.put("jzysbm",jzysbm); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | /** |
| | | * 获取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\":\"内儿科 \",\"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)); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/Outpinunconapply") |
| | | @ApiOperation(value = "门诊医生取消接诊") |
| | | public AjaxResult Outpinunconapply(@RequestParam @ApiParam(value = "就诊号") String jzh, |
| | | @ApiParam(value = "接诊日期") @RequestParam Date jzrq, |
| | | @ApiParam(value = "接诊医师") @RequestParam String jzysbm) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("jzh",jzh); |
| | | map.put("jzrq",jzrq); |
| | | map.put("jzysbm",jzysbm); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | @GetMapping("/getTjList") |
| | | 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 + "在体检系统中不存在"); |
| | | } |
| | | List<CsProVo> 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)); |
| | | } |
| | | |
| | | @PostMapping("/Outpinimpapply") |
| | | @ApiOperation(value = "新增/修改门诊诊断") |
| | | public AjaxResult Outpinimpapply(@RequestBody OutpinimpapplyDto dto ) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("his_registration_id",dto.getHisRegistrationId()); |
| | | map.put("mzzdid",dto.getMzzdid()); |
| | | map.put("sqysbm",dto.getSqysbm()); |
| | | map.put("mzksbm",dto.getMzksbm()); |
| | | map.put("fbrq",dto.getFbrq()); |
| | | map.put("zdrq",dto.getZdrq()); |
| | | map.put("czybm",dto.getCzybm()); |
| | | map.put("czyksbm",dto.getCzyksbm()); |
| | | map.put("zs",dto.getZs()); |
| | | map.put("bs",dto.getBs()); |
| | | map.put("clyz",dto.getClyz()); |
| | | map.put("jws",dto.getJws()); |
| | | map.put("tgjc",dto.getTgjc()); |
| | | map.put("gms",dto.getGms()); |
| | | map.put("jbbm",dto.getJbbm()); |
| | | map.put("jbbm1",dto.getJbbm1()); |
| | | map.put("jbbm2",dto.getJbbm2()); |
| | | map.put("tw",dto.getTw()); |
| | | map.put("mb",dto.getMb()); |
| | | map.put("hx",dto.getHx()); |
| | | map.put("bp",dto.getBp()); |
| | | map.put("fzbz",dto.getFzbz()); |
| | | map.put("hzqx",dto.getHzqx()); |
| | | map.put("sfqc",dto.getSfqc()); |
| | | map.put("qchs",dto.getQchs()); |
| | | map.put("sfqj",dto.getSfqj()); |
| | | map.put("ckrq",dto.getCkrq()); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | @GetMapping("/getJyTjList") |
| | | public AjaxResult getJyTjList(@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 + "在体检系统中不存在"); |
| | | } |
| | | List<CsProVo> 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<TjOrder> wrapper1 = new LambdaQueryWrapper<>(); |
| | | wrapper1.eq(TjOrder::getTjNumber, tjNum); |
| | | TjOrder order = tjOrderService.getOne(wrapper1); |
| | | |
| | | @PostMapping("/Outpinmesapply") |
| | | @ApiOperation(value = "门诊预交收费") |
| | | public AjaxResult Outpinmesapply(@RequestParam @ApiParam(value = "门诊患者 ID") String pationid, |
| | | @ApiParam(value = "操作员") @RequestParam String czybm, |
| | | @ApiParam(value = "支付类型编码") @RequestParam String zflxbm, |
| | | @ApiParam(value = "预交金额") @RequestParam int yjje) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("pationid",pationid); |
| | | map.put("czybm",czybm); |
| | | map.put("zflxbm",zflxbm); |
| | | map.put("yjje",yjje); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | 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")); |
| | | 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(); |
| | | } |
| | | } 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"); |
| | | |
| | | @PostMapping("/Outpinregapply") |
| | | @ApiOperation(value = "新增/修改门诊挂号申请") |
| | | public AjaxResult Outpinregapply(@RequestBody OutpinregapplyDto dao) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("pationid",dao.getPationid()); |
| | | map.put("his_registration_id",dao.getHisRegistrationId()); |
| | | map.put("sqysbm",dao.getSqysbm()); |
| | | map.put("mzksbm",dao.getMzksbm()); |
| | | map.put("czybm",dao.getCzybm()); |
| | | map.put("sfjz",dao.getSfjz()); |
| | | map.put("ghzlbm",dao.getGhzlbm()); |
| | | map.put("ywckbm",dao.getYwckbm()); |
| | | map.put("sflstd",dao.getSflstd()); |
| | | map.put("ghrq",dao.getGhrq()); |
| | | String post = HttpClientUtils.sendPost(HIS_URL, map); |
| | | return AjaxResult.success(post); |
| | | |
| | | 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()); |
| | | |
| | | 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; |
| | | // } |
| | | // } |
| | | // } |
| | | // LambdaQueryWrapper<LtkjJianchajianyanTree> 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<LtkjJianchajianyanTree> 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 + " 已打印"); |
| | | } |
| | | |
| | | } |