| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | package com.ltkj.web.config.timer; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.TjJcycxm; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | |
| | | String dsqjssj = configService.selectConfigByKey("dsqjssj"); |
| | | String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | | boolean panduandangqianshijian = panduandangqianshijian(dsqkssj, dsqjssj); |
| | | log.info("定时器自动同步检验检查结果"); |
| | | log.info("当前时间是否在 " + dsqkssj + " 点到 " + dsqjssj + " 点之间: " + panduandangqianshijian); |
| | | String dsrwsjjg = configService.selectConfigByKey("dsrwsjjg"); |
| | | boolean lock = reentrantLock.tryLock(); |
| | |
| | | } catch (Exception e) { |
| | | scheduleNextTask(Long.parseLong(dsrwsjjg)); |
| | | log.error("定时器执行报错"); |
| | | e.printStackTrace(); |
| | | log.error(String.valueOf(e)); |
| | | // e.printStackTrace(); |
| | | } finally { |
| | | reentrantLock.unlock(); |
| | | } |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("同步检验数据失败"); |
| | | throw new RuntimeException(e); |
| | | // throw new RuntimeException(e); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("同步检查数据失败"); |
| | | throw new RuntimeException(e); |
| | | // throw new RuntimeException(e); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.ltkj.framework.config.UserHoder; |
| | | import com.ltkj.hosp.domain.LtkjJianchajianyanTree; |
| | | import com.ltkj.hosp.domain.TjOrder; |
| | | import com.ltkj.hosp.domain.TjProject; |
| | | 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.TjCheckController; |
| | | import io.swagger.annotations.Api; |
| | |
| | | private ITjProjectService projectService; |
| | | @Autowired |
| | | private ITjOrderRemarkService orderRemarkService; |
| | | @Autowired |
| | | private LtkjHysqdService hysqdService; |
| | | @Autowired |
| | | private LtkjHybgdService hybgdService; |
| | | |
| | | /** |
| | | * 获取pacs检查数据 |
| | |
| | | */ |
| | | @PostMapping("/lis/getList") |
| | | public AjaxResult getLisList(@RequestBody String json) { |
| | | // log.info("pacs接口参数->{}",JSONUtil.toJsonStr(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"); |
| | |
| | | } |
| | | List<Map<String, Object>> jcList = testMapper.getLisJyList(name, mzh, start, end); |
| | | return AjaxResult.success(jcList); |
| | | // String json1 = "[{\"reportDoctorCode\":114,\"deptName\":\"体检中心\",\"checkDoctorCode\":114,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆泌尿系前列腺\",\"zyh\":\"-\",\"diagnosis\":\"前列腺增生\",\"checkDoctorName\":\"李霞\",\"F_MACHINE_NAME_LIST\":\"GE-P6\",\"reportDate\":\"2024.11.06 11:49:20\",\"examinationDate\":\"2024.11.06 11:54:58\",\"examination\":\"双肾大小、形态正常,包膜光滑平整,实质回声分布均匀,皮髓界限清晰,集合系统未见分离。rnCDFI:双肾血流呈“树枝状”分布,灌注良好;双侧输尿管未见扩张。rn膀胱充盈佳,壁厚度正常,内壁光整,腔内未探及异常回声。rn经腹部前列腺大小约34mm×35mm×30mm,形态饱满,包膜完整,实质回声欠均匀,内腺稍增大。rnCDFI:腺体内未探及异常血流信号。\",\"name\":\"张小兵\",\"patientAge\":\"53岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.204.1730864961.484.897.557\",\"reportDoctorName\":\"李霞\",\"studyReport\":525696,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"体检中心 \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"男\",\"brid\":\"jk20241106000019\",\"checkParts\":\"◆胸部CT平扫\",\"zyh\":\"-\",\"diagnosis\":\"1.左肺下叶外基底段支气管扩张伴感染;rn2.冠状动脉硬化;rn3.胸椎骨质增生。\",\"checkDoctorName\":\"姚诚\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"两侧胸廓对称,气管居中。左肺下叶外基底段支气管扩张,周围见斑片状磨玻璃影;双肺门结构正常,各叶、段支气管通畅。心脏各房室大小正常;冠状动脉走行区多发致密影。纵膈内未见增大淋巴结。双侧胸膜未见增厚。部分胸椎缘见骨赘形成,胸廓诸骨质结构显示完整,软组织结构显示正常。\",\"name\":\"张小兵\",\"patientAge\":\"76岁\",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"姚诚\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"}]"; |
| | | // String json1 = "[{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四1\",\"patientAge\":\"20\",\"mzh\":\"810001246120745\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\",\"conclusion\":\"异常\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫克\",\"checkDoctorName\":\"检测医师\",\"jcxmid\":\"123\",\"shys\":\"审核医师\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四2\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"},{\"deptName\":\"科室\",\"gender\":\"男\",\"brid\":\"sqd445314589914\",\"checkParts\":\"血液\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"赵四3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"医师\",\"proName\":\"血液分析\"}]"; |
| | | // return AjaxResult.success(JSONUtil.parseArray(json1)); |
| | | } |
| | | |
| | |
| | | @Transactional |
| | | @PostMapping("/asyncPacs") |
| | | public AjaxResult asyncPacs(@RequestBody String json) { |
| | | // log.info("合并检测同步参数 ->{}",json); |
| | | 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()){ |
| | | LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd(); |
| | | ltkjExamJcsqd.setTjh(pacs.getStr("mzh")); |
| | | |
| | |
| | | return AjaxResult.error("同步失败请重试"); |
| | | } |
| | | return AjaxResult.success(); |
| | | }else { |
| | | cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0); |
| | | String mzh = entries.getStr("mzh"); |
| | | LtkjHysqd hysqd = new LtkjHysqd(); |
| | | LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjOrder::getCardId,mzh); |
| | | TjOrder order = tjOrderService.getOne(wrapper); |
| | | hysqd.setTjh(order.getTjNumber()); |
| | | |
| | | LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh); |
| | | TjProject project = projectService.getById(tj.getStr("proId")); |
| | | String xmdm = project.getHisXmbm(); |
| | | queryWrapper.eq(LtkjJianchajianyanTree::getType,"检验"); |
| | | queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm); |
| | | LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper); |
| | | if (tree == null) { |
| | | tree = new LtkjJianchajianyanTree(); |
| | | tree.setHisXmdm(xmdm); |
| | | tree.setCreateTime(new Date()); |
| | | String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999)); |
| | | queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh); |
| | | if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) { |
| | | tree.setSqdh(sqdh); |
| | | }else { |
| | | while (true){ |
| | | sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999)); |
| | | queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh); |
| | | if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) { |
| | | tree.setSqdh(sqdh); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | hysqd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm()); |
| | | hysqd.setXmid(xmdm); |
| | | hysqd.setXmmc(project.getHisXmbm()); |
| | | hysqd.setSqsj(format.format(tree.getCreateTime())); |
| | | hysqd.setJgsj(format.format(new Date())); |
| | | // hysqd.setBbmc(); |
| | | boolean save = hysqdService.save(hysqd); |
| | | boolean save2 = true; |
| | | for (Object object : lis) { |
| | | cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object; |
| | | LtkjHybgd hybgd = new LtkjHybgd(); |
| | | hybgd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm()); |
| | | hybgd.setJcxmid(jsonObject.getStr("jcxmid")); |
| | | hybgd.setJcxm(jsonObject.getStr("checkParts")); |
| | | 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.setShys(jsonObject.getStr("shys")); |
| | | boolean save1 = hybgdService.save(hybgd); |
| | | if (!save1) { |
| | | save2 = false; |
| | | break; |
| | | } |
| | | } |
| | | if (save && save2){ |
| | | try { |
| | | testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); |
| | | }catch (Exception e){ |
| | | log.error(String.valueOf(e)); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error("同步失败请重试"); |
| | | } |
| | | } else { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error("同步失败请重试"); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | if (samplings.size() >= 2) { |
| | | // 进行合并 |
| | | List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); |
| | | log.info("提取id ->{}",stringList); |
| | | // log.info("提取id ->{}",stringList); |
| | | for (int i = 0; i < stringList.size(); i++) { |
| | | String s = stringList.get(i); |
| | | if (tjSamplingService.isMergeItem(s) != 0) { |
| | |
| | | if (samplings.size() >= 2){ |
| | | // 进行合并 |
| | | List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); |
| | | log.info("提取id ->{}",stringList); |
| | | // log.info("提取id ->{}",stringList); |
| | | for (int i = 0; i < stringList.size(); i++) { |
| | | String s = stringList.get(i); |
| | | if (tjSamplingService.isMergeItem(s) != 0) { |
| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import com.ltkj.common.core.domain.entity.SysMenu; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.DictHosp; |
| | | import com.ltkj.hosp.domain.TjJcycxm; |
| | | import com.ltkj.hosp.domain.TjProject; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; |
| | | import com.ltkj.hosp.sqlDomain.*; |
| | | import com.ltkj.system.service.ISysMenuService; |
| | | 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.apache.ibatis.annotations.Case; |
| | | import org.apache.ibatis.jdbc.Null; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | @RestController |
| | | @RequestMapping("/system/config") |
| | | @Api(tags = "A---PC端参数配置接口集") |
| | | @Slf4j |
| | | public class SysConfigController extends BaseController { |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | |
| | | private TjJcycxmService jcycxmService; |
| | | @Resource |
| | | private LtkjExamJcsqdService jcsqdService; |
| | | @Resource |
| | | private LtkjExamJcbgdService jcbgdService; |
| | | @Resource |
| | | private LtkjHybgdService ltkjHybgdService; |
| | | @Resource |
| | | private LtkjHysqdService ltkjHysqdService; |
| | | @Resource |
| | | private TestMapper testMapper; |
| | | @Autowired |
| | | private AwsService awsService; |
| | | |
| | | /** |
| | | * 获取参数配置列表 |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping ("/shoudongtbjyjcwsxmjg") |
| | | @ApiOperation(value = "手动同步检验检查外送项目结果接口") |
| | | public AjaxResult shoudongtbjyjcwsxmjg(@RequestParam @ApiParam(value = "jy检验 jc检查 jyjc检验和检查") String tblx, |
| | | @ApiParam(value = "体检号")@RequestParam String tjh) { |
| | | |
| | | log.info("手动同步检验或检查结果开始->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | try { |
| | | |
| | | switch (tblx){ |
| | | case "jy": |
| | | tbjianyan(tjh); |
| | | log.info("当前同步的是->{} 结果","检验"); |
| | | break; |
| | | case "jc": |
| | | tbjiancha(tjh); |
| | | log.info("当前同步的是->{} 结果","检查"); |
| | | break; |
| | | case "jyjc": |
| | | tbjianyan(tjh); |
| | | tbjiancha(tjh); |
| | | log.info("当前同步的是->{} 结果","检验检查"); |
| | | break; |
| | | default: |
| | | log.info("没有找到所匹配的同步类型"); |
| | | return AjaxResult.error("没有找到所匹配的同步类型!"); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | testMapper.tjplUpdateDetatilByVi(map); |
| | | Integer object = (Integer) map.get("total"); |
| | | log.info("执行存储过程后出参->{}", object); |
| | | log.info("手动同步检验或检查结果结束->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); |
| | | return AjaxResult.success("同步成功"); |
| | | |
| | | } catch (Exception e) { |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | private void tbjianyan(String s) { |
| | | try { |
| | | List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s); |
| | | if(null !=awsList && !awsList.isEmpty()){ |
| | | log.info(awsList.toString()); |
| | | testMapper.delWsxmjg(s); |
| | | log.info("删除外送项目成功"); |
| | | awsService.saveBatch(awsList); |
| | | log.info("保存外送项目成功"); |
| | | } |
| | | List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s); |
| | | List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s); |
| | | if(null !=wssq && !wssq.isEmpty())hysqdList.addAll(wssq); |
| | | if (null != hysqdList && !hysqdList.isEmpty()) { |
| | | for (LtkjHysqd hysqd : hysqdList) { |
| | | LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); |
| | | if (null != jybgid) { |
| | | ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); |
| | | ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh()); |
| | | } |
| | | if (ltkjHysqdService.save(hysqd)) { |
| | | List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh()); |
| | | List<LtkjHybgd> wsbg = testMapper.getWsxmLtkjHybgdByLisVi(s); |
| | | if(null !=wsbg && !wsbg.isEmpty())hybgdList.addAll(wsbg); |
| | | ltkjHybgdService.saveBatch(hybgdList); |
| | | } |
| | | } |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("同步检验数据失败"); |
| | | // throw new RuntimeException(e); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | private void tbjiancha(String s) { |
| | | |
| | | try { |
| | | List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s); |
| | | if (null != jcsqdList && !jcsqdList.isEmpty()) { |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s); |
| | | jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s); |
| | | jcsqdService.saveBatch(jcsqdList); |
| | | List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("同步检查数据失败"); |
| | | // throw new RuntimeException(e); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @GetMapping ("/zxsq")//执行 |
| | | @ApiOperation(value = "zxsq") |
| | | public AjaxResult zx(@RequestParam int day) { |
| | |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | } |
| | |
| | | @ApiOperation("登录接口") |
| | | @RepeatSubmit |
| | | public AjaxResult login(@RequestBody @ApiParam(value = "登录对象") LoginBody loginBody) { |
| | | |
| | | AjaxResult ajax = success(); |
| | | // 生成令牌 |
| | | String token; |
| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStreamReader; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Paths; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.ltkj.db.DataSourceConfig; |
| | | import com.ltkj.db.DataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.DictHosp; |
| | | import com.ltkj.hosp.service.IDictHospService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.core.io.ClassPathResource; |
| | | import org.springframework.jdbc.core.JdbcTemplate; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.util.FileCopyUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | |
| | | @Autowired |
| | | private ISysDeptService deptService; |
| | | @Autowired |
| | | private JdbcTemplate jdbcTemplate; |
| | | @Autowired |
| | | private IDictHospService dictHospService; |
| | | |
| | | @Value("${config.path}") |
| | | private String path; |
| | | |
| | | // @PreAuthorize("@ss.hasPermi('system:role:list')") |
| | | @GetMapping("/list") |
| | |
| | | ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); |
| | | return ajax; |
| | | } |
| | | |
| | | @Autowired |
| | | private DataSourceConfig dataSourceConfig; |
| | | |
| | | /** |
| | | * 从库批量执行sql |
| | | * 读取本地sql文件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/execUpdateSql") |
| | | public AjaxResult execUpdateSql() { |
| | | DataSourceContextHolder.setDataSourceKey("default"); |
| | | List<DictHosp> list = dictHospService.list(); |
| | | List<Map<String, Object>> resultList = new ArrayList<>(); |
| | | boolean flag = false; |
| | | for (DictHosp dictHosp : list) { |
| | | String dbName = dictHosp.getDbname(); |
| | | Map<String, Object> dbResult = new HashMap<>(); |
| | | dbResult.put("database", dbName); |
| | | List<String> successList = new ArrayList<>(); |
| | | List<String> errorList = new ArrayList<>(); |
| | | try { |
| | | InputStreamReader reader = new InputStreamReader(Files.newInputStream(Paths.get(path + File.separator + "update.sql")), StandardCharsets.UTF_8); |
| | | String sqlContent = FileCopyUtils.copyToString(reader); |
| | | String[] sqlStatements = sqlContent.split("\\|-\\|"); |
| | | for (String sql : sqlStatements) { |
| | | sql = sql.trim(); |
| | | if (!sql.isEmpty()) { |
| | | // INSERT INTO `api_config` (`id`, `api_url`, `api_method`, `tab_name`, `is_response`, `primary_keys`, `remark`, `result_code_key`, `result_data_key`, `type`) VALUES (${id}, '${dbName}', '${randowmStr}', '${randowmStr}', 1, 'ResultData', '1.pas 检查申请信息作废', 'ResultCode', 'ResultData', 'pacs'); |
| | | // sql = sql.replace("${dbName}",dbName).replace("${id}", IdUtil.getSnowflake().nextIdStr()).replace("${randowmStr}", RandomUtil.randomString(10)); |
| | | try { |
| | | dataSourceConfig.addDataSource(dbName); |
| | | DataSourceContextHolder.setDataSourceKey(dbName); |
| | | jdbcTemplate.execute(sql); |
| | | successList.add(sql); |
| | | } catch (Exception e) { |
| | | errorList.add(sql + "\nERROR: " + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | } catch (IOException e) { |
| | | return AjaxResult.error("读取SQL文件失败:" + e.getMessage()); |
| | | } |
| | | dbResult.put("successSQL", successList); |
| | | dbResult.put("failedSQL", errorList); |
| | | resultList.add(dbResult); |
| | | if (!errorList.isEmpty()) |
| | | flag = true; |
| | | } |
| | | DataSourceContextHolder.clear(); |
| | | if (flag) |
| | | return AjaxResult.error("执行sql中存在失败",resultList); |
| | | return AjaxResult.success(resultList); |
| | | } |
| | | |
| | | } |
| | |
| | | return AjaxResult.success(maps); |
| | | }else { |
| | | List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); |
| | | if(mapList.isEmpty()){ |
| | | return AjaxResult.error("暂无数据"); |
| | | } |
| | | // if(mapList.isEmpty()){ |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | return AjaxResult.success(mapList); |
| | | } |
| | | |
| | |
| | | return AjaxResult.success(); |
| | | } |
| | | } |
| | | return AjaxResult.error(); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | |
| | | tjCustomer1.setGroupingId(tjReservation.getGroupingId()); |
| | | |
| | | // if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); |
| | | // if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany()); |
| | | if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany()); |
| | | |
| | | // tjCustomerService.updateById(tjCustomer1); |
| | | |
| | |
| | | tjCustomer.setCusPassword(substring); |
| | | tjCustomer.setTjType(tjReservation.getTjType()); |
| | | tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); |
| | | // if(null !=tjReservation.getCompanyId())tjCustomer.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); |
| | | // if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany()); |
| | | if(null !=tjReservation.getCompanyId())tjCustomer.setCompId(tjReservation.getCompanyId()); |
| | | if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany()); |
| | | |
| | | if (null != key && key.equals("Y")) { |
| | | AjaxResult result = controller.Outpincreateapply(tjCustomer); |
| | |
| | | import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto; |
| | | import com.ltkj.hosp.hisDto.OutpinimpapplyDto; |
| | | import com.ltkj.hosp.hisDto.OutpinmedicapplyDto; |
| | | import com.ltkj.hosp.mapper.TbTransitionMapper; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.mapper.TjSamplingMapper; |
| | | import com.ltkj.hosp.pacsDto.SavePacsApply; |
| | |
| | | import org.aspectj.weaver.ast.Var; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.http.HttpRequest; |
| | | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | private ITjXdPictureService xdPictureService; |
| | | @Autowired |
| | | private TjOrderYcxmService ycxmService; |
| | | @Autowired |
| | | private TbTransitionMapper tbTransitionMapper; |
| | | |
| | | private static final String TJH = "tjhs:tjh"; |
| | | |
| | | //将方法返回值解析成json格式 |
| | | public JSONObject getJSONObject(String builder) { |
| | |
| | | wqq.like(TjCustomer::getCusName, name); |
| | | List<TjCustomer> customerList = tjCustomerService.list(wqq); |
| | | List<TjOrder> list2 = new ArrayList<>(); |
| | | if (null != customerList && customerList.size() > 0) { |
| | | if (null != customerList && !customerList.isEmpty()) { |
| | | List<TjOrder> list = new ArrayList<>(); |
| | | for (TjCustomer customer : customerList) { |
| | | LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); |
| | |
| | | list.addAll(tjOrderService.list(wq)); |
| | | } |
| | | List<TjOrder> collect = null; |
| | | if (list.size() > 0) { |
| | | if (!list.isEmpty()) { |
| | | for (TjOrder order : list) { |
| | | //筛选有调查问卷的 |
| | | LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>(); |
| | | wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); |
| | | List<TjSurveyRecord> one = surveyRecordService.list(wqq1); |
| | | if (one.size() == 0) { |
| | | if (one.isEmpty()) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); |
| | | if (null != tjCustomer) { |
| | | order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | |
| | | LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); |
| | | List<TjSurveyRecord> one = surveyRecordService.list(wqq); |
| | | if (one.size() == 0) { |
| | | if (one.isEmpty()) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); |
| | | if (null != tjCustomer) { |
| | | order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | |
| | | // if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; |
| | | |
| | | |
| | | String tjNumber = (SecurityUtils.getUsername()+IdUtils.getTjNumber()); |
| | | String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber()); |
| | | if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; |
| | | tjOrder.setTjNumber(tjNumber); |
| | | |
| | |
| | | |
| | | @PostMapping("/addPlOrderAndDetail") |
| | | @ApiOperation(value = "体检批量签到登记接口") |
| | | @Transactional //(切换数据库出错,所以注释) |
| | | // @Transactional //(切换数据库出错,所以注释) |
| | | public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto, HttpServletResponse response) { |
| | | SysUser sysUser = UserHoder.getLoginUser().getUser(); |
| | | List<String> cusIds = daoDto.getCusIds(); |
| | | ArrayList<String> tjNumbers = new ArrayList<>(); |
| | | ArrayList<String> errTjh = new ArrayList<>(); |
| | | if (null != cusIds && !cusIds.isEmpty()) { |
| | | ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size()); |
| | | for (String cusId : cusIds) { |
| | |
| | | // } |
| | | // } |
| | | // }); |
| | | |
| | | Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { |
| | | @Override |
| | | public AjaxResult call() throws Exception { |
| | |
| | | }); |
| | | try { |
| | | AjaxResult result = future.get(); |
| | | String code = result.get("code").toString(); |
| | | if (code.equals("200")) { |
| | | String tjNumber = result.get("tjNumber").toString(); |
| | | tjNumbers.add(tjNumber); |
| | | }else { |
| | | String userId = result.get("userId").toString(); |
| | | errTjh.add(userId); |
| | | } |
| | | } catch (InterruptedException | ExecutionException e) { |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | threadPools.shutdown(); |
| | | } |
| | | } |
| | | // TODO 因为有体检号会查出空数据 先使用死数据 |
| | | tjNumbers = new ArrayList<>(); |
| | | tjNumbers.add("02095240229171627"); |
| | | tjNumbers.add("02095240229173104"); |
| | | tjNumbers.add("10001240524172002"); |
| | | tjNumbers.add("10001240304124410"); |
| | | tjNumbers.add("00325240304160123"); |
| | | tjNumbers.add("02095240304162044"); |
| | | tjNumbers.add("02095240304162152"); |
| | | tjNumbers.add("10001240304163505"); |
| | | Map<String, Object> map = null; |
| | | // TODO 因为有体检号会查出空数据 先使用死数据 打印导诊单 |
| | | if (!tjNumbers.isEmpty()) { |
| | | /* Map<String, Object> map = null; |
| | | try { |
| | | map = PDFDocumentUtil.getDocument(); |
| | | Document document = (Document) map.get("document"); |
| | | for (int i = 0; i < tjNumbers.size(); i++) { |
| | | // for (int i = 0; i < tjNumbers.size(); i++) { |
| | | int i = 0; |
| | | for (String tjNumber : tjNumbers) { |
| | | try { |
| | | List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i)); |
| | | Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i)); |
| | | List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); |
| | | Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); |
| | | if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){ |
| | | LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); |
| | | DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); |
| | | String time = null; |
| | |
| | | if (i + 1 < tjNumbers.size()) { |
| | | document.newPage(); |
| | | } |
| | | } |
| | | |
| | | } catch (DocumentException | IOException e) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | //这里删除的是这个人所有项目包括补录项目 |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNumber); |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | | remarkService.deletedOrderRemarkByTjNum(tjNumber); |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | // transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); |
| | | |
| | | TjReservation reservation = tjReservationService.getById(order.getReservationId()); |
| | | if(null !=reservation){ |
| | | reservation.setIsExpire(2); |
| | | tjReservationService.updateById(reservation); |
| | | transitionService.updateTbTransitionByTjNum(tjNumber); |
| | | } |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | // } |
| | | document.close(); |
| | | ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); |
| | | String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); |
| | | return AjaxResult.success().put("file", encodeToString); |
| | | } catch (IOException | DocumentException e) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | e.printStackTrace(); |
| | | }*/ |
| | | Map<String,Object> map=new HashMap<>(); |
| | | map.put("tjh",tjNumbers); |
| | | return AjaxResult.success("操作成功",map); |
| | | } |
| | | return AjaxResult.success("操作成功"); |
| | | if (!errTjh.isEmpty()){ |
| | | Map<String,Object> map=new HashMap<>(); |
| | | map.put("errtjh",errTjh); |
| | | return AjaxResult.success("以上人员签到失败",map); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | private void getAjaxResults(String cusIdcard) { |
| | | @GetMapping("/signOrderInfo") |
| | | public AjaxResult signOrderInfo(@RequestParam("tjNum") String tjNum){ |
| | | List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNum); |
| | | Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNum); |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("djd",djdInfos); |
| | | hashMap.put("user",userInfo); |
| | | return AjaxResult.success(hashMap); |
| | | } |
| | | |
| | | @Transactional |
| | | public void getAjaxResults(String cusIdcard) { |
| | | if (!"".equals(cusIdcard) && cusIdcard != null) { |
| | | //根据配置调取存储过程 将临时表数据存入预约表2023.12.12 |
| | | final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); |
| | |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | |
| | | private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { |
| | | @Transactional |
| | | public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { |
| | | |
| | | LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjCustomer::getCusId, userId); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq); |
| | | if (tjCustomer == null) return AjaxResult.error("该客户未登记或不存在"); |
| | | |
| | | // LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); |
| | | // wqq.eq(TjOrder::getUserId, userId); |
| | | // wqq.eq(TjOrder::getCheckStatus, 0); |
| | | // wqq.isNull(TjOrder::getFinishTime); |
| | | // if (!tjCustomer.getCardId().equals("0")) { |
| | | // wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); |
| | | // } |
| | | // TjOrder order = tjOrderService.getOne(wqq); |
| | | // if (null != order) { |
| | | // transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); |
| | | // return AjaxResult.error("不可重复登记"); |
| | | // } |
| | | TjOrder tjOrder = new TjOrder(); |
| | | Date date = new Date(); |
| | | tjOrder.setCreateTime(date); |
| | |
| | | if (tjReservation != null) { |
| | | tjOrder.setReservationId(tjReservation.getId()); |
| | | mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId())); |
| | | if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { |
| | | return AjaxResult.error("未到预约时间"); |
| | | } |
| | | if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { |
| | | tjReservation.setIsExpire(1); |
| | | tjReservationService.updateById(tjReservation); |
| | | return AjaxResult.error("对不起您的预约已超时请重新预约"); |
| | | } |
| | | // if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { |
| | | // return AjaxResult.error("未到预约时间"); |
| | | // } |
| | | // if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { |
| | | // tjReservation.setIsExpire(1); |
| | | // tjReservationService.updateById(tjReservation); |
| | | // return AjaxResult.error("对不起您的预约已超时请重新预约"); |
| | | // } |
| | | if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo()); |
| | | if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId()); |
| | | if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany()); |
| | | if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); |
| | | if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); |
| | | if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); |
| | |
| | | } |
| | | tjReservation.setIsExpire(1); |
| | | tjReservationService.updateById(tjReservation); |
| | | if (null != tjReservation.getTeamNo()) { |
| | | tjOrder.setTjType("1"); |
| | | } else{ |
| | | tjOrder.setTjType("2"); |
| | | } |
| | | |
| | | if (StringUtil.isBlank(tjOrder.getFirmId())) { |
| | | tjOrder.setFirmId("0"); |
| | | } |
| | | // |
| | | // tjReservation.setIsExpire(1); |
| | | // tjReservationService.updateById(tjReservation); |
| | | |
| | | //生成体检号 |
| | | String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); |
| | | // String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); |
| | | // tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6)); |
| | | |
| | | tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); |
| | | |
| | | //获取拼接前缀 |
| | | String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); |
| | | String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber()); |
| | | if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; |
| | | |
| | | |
| | | // if (redisCache.hasKey(TJH)) { |
| | | // while (true){ |
| | | // List<String> tjh = redisCache.getCacheList(TJH); |
| | | // if(tjh.contains(tjNumber)){ |
| | | // tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber()); |
| | | // if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; |
| | | // }else { |
| | | // tjh.add(tjNumber); |
| | | // } |
| | | // } |
| | | // }else { |
| | | // List<String> stringList = tjOrderService. |
| | | // list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); |
| | | // stringList.add(tjNumber); |
| | | // redisCache.setCacheList(TJH,stringList); |
| | | // } |
| | | tjOrder.setTjNumber(tjNumber); |
| | | if (null != tjOrder.getPhoto()) { |
| | | File file = new File(tjOrder.getPhoto()); |
| | |
| | | tjCustomer.setCusNumber(cusNumber); |
| | | // BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); |
| | | TjFlowingWater tjFlowingWater = new TjFlowingWater(); |
| | | tjFlowingWater.setCreateTime(date); |
| | | tjFlowingWater.setCreateTime(date); |
| | | tjFlowingWater.setUpdateTime(date); |
| | | tjFlowingWater.setCreateBy(sysUser.getNickName()); |
| | | tjFlowingWater.setUpdateBy(sysUser.getNickName()); |
| | | // BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()); |
| | | BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard()); |
| | | tjFlowingWater.setCopeWith(bigDecimal); |
| | | // BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()); |
| | | BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard()); |
| | | tjFlowingWater.setPaidIn(bigDecimal1); |
| | | tjFlowingWater.setDiscount(String.valueOf(10)); |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(3L); |
| | | |
| | | tjFlowingWater.setPayStasus(0L); |
| | | if ("1".equals(tjOrder.getTjType())) { |
| | | if (tjReservation.getPayType() == 1) { |
| | |
| | | if (tjFlowingWaterService.save(tjFlowingWater)) { |
| | | tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | tjOrderService.updateById(tjOrder); |
| | | |
| | | |
| | | } |
| | | asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | | transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber()); |
| | | tjCustomer.setCardId(tjOrder.getTjNumber()); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber()); |
| | | tjOrder.setCardId(tjOrder.getTjNumber()); |
| | | tjOrderService.updateById(tjOrder); |
| | | |
| | | // asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | | |
| | | if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { |
| | | // 这是上面个人方法引入数据 |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjOrder.setTjFlowingWater(tjFlowingWater); |
| | | newSaveextracted(tjOrder, tjCustomer, BigDecimal.valueOf(10), sysUser, tjReservation, tjFlowingWater); |
| | | tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), |
| | | sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); |
| | | List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); |
| | | xdPictureService.saveBatch(xdPictureList); |
| | | List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); |
| | | addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); |
| | | // return AjaxResult.success(tjNumber); |
| | | } |
| | | |
| | | tjCustomer.setCardId("0"); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | return AjaxResult.success().put("tjNumber", tjNumber); |
| | | } |
| | | } |
| | | return AjaxResult.error(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error().put("userId",userId); |
| | | } |
| | | |
| | | |
| | |
| | | for (int i = 0; i < tjNumbers.size(); i++) { |
| | | String tjNumber = tjNumbers.get(i).getTjNumber(); |
| | | try { |
| | | List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); |
| | | List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); |
| | | Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); |
| | | LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); |
| | | DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/huifuyuyuejilu") |
| | | @ApiOperation(value = "体检记录页面恢复预约记录接口") |
| | | @Transactional |
| | | public AjaxResult huifuyuyuejilu(@RequestBody List<String> tjNUms) { |
| | | |
| | | if (null != tjNUms && !tjNUms.isEmpty()) { |
| | | for (String tjNUm : tjNUms) { |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNUm); |
| | | if(null !=order && StringUtil.isNotBlank(order.getReservationId())){ |
| | | //这里删除的是这个人所有项目包括补录项目 |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | | remarkService.deletedOrderRemarkByTjNum(tjNUm); |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | // transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); |
| | | |
| | | TjReservation reservation = tjReservationService.getById(order.getReservationId()); |
| | | if(null !=reservation){ |
| | | reservation.setIsExpire(2); |
| | | tjReservationService.updateById(reservation); |
| | | transitionService.updateTbTransitionByTjNum(tjNUm); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | return AjaxResult.success(); |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | |
| | | 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.Value; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | public AjaxResult savePdf() { |
| | | //从文件地址读入PDF文件 仅存储一次 |
| | | String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template")); |
| | | if(StringUtil.isNotBlank(base64String)){ |
| | | reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"体检报告模板5")); |
| | | TjReportTemplate tem = new TjReportTemplate(); |
| | | tem.setName("体检报告模板5"); |
| | |
| | | if (save) { |
| | | return AjaxResult.success("保存成功"); |
| | | } |
| | | } |
| | | |
| | | return AjaxResult.success("保存失败"); |
| | | // String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\心电图1.pdf"); |
| | | // TjReport tem2 = new TjReport(); |
| | |
| | | we.eq(TjReport::getType, "体检报告"); |
| | | TjReport one = tjReportService.getOne(we); |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无体检报告"); |
| | | return AjaxResult.error("暂无体检报告,请撤回到总检未审核页面,需总检医生重新审核并生成报告!"); |
| | | } |
| | | if ("pdf".equals(one.getPrint())) { |
| | | res.put("flag", "0"); |
| | |
| | | res.put("url", one.getPath()); |
| | | return AjaxResult.success(res); |
| | | } else { |
| | | return AjaxResult.error("暂无体检报告"); |
| | | return AjaxResult.error("暂无体检报告,请撤回到总检未审核页面,需总检医生重新审核并生成报告!"); |
| | | } |
| | | |
| | | } |
| | |
| | | // 不在使用逻辑删除 逻辑删除导致打印报告生成 查询sql缓慢 |
| | | int i = tjReportService.deleteTjReportByReId(tjReport.getReId()); |
| | | if (i == 0) { |
| | | return AjaxResult.error("撤回失败!"); |
| | | return AjaxResult.error("暂无体检报告,请撤回到总检未审核页面,需总检医生重新审核并生成报告!"); |
| | | } |
| | | } |
| | | |
| | |
| | | one.setPrintLastTime(null); |
| | | one.setDownloadLastTime(null); |
| | | if (tjOrderService.updateById(one)) { |
| | | // ycxmService.delOrderYcXmJyByTjh(tjNumber); |
| | | return AjaxResult.success("撤回成功!"); |
| | | } |
| | | } |
| | | return AjaxResult.error("撤回失败!"); |
| | | return AjaxResult.error("该人员体检记录不存在,请核实人员信息!"); |
| | | |
| | | } |
| | | |
| | |
| | | public AjaxResult getCusList(@RequestParam(defaultValue = "1") @ApiParam(value = "0是1否") Integer isSignFor, |
| | | @RequestParam(required = false) @ApiParam(value = "体检号") String tjNum, |
| | | @RequestParam(required = false) @ApiParam(value = "客户姓名") String name, |
| | | @RequestParam(required = false) @ApiParam(value = "单位") String dw, |
| | | @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer pageNum, |
| | | @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize, |
| | | @ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime, |
| | |
| | | wrapper.like(TjSampling::getCusName, name); |
| | | if (null != beginTime && null != endTime && StrUtil.isNotBlank(beginTime) && StrUtil.isNotBlank(endTime)) |
| | | wrapper.between(TjSampling::getApplicationTime, beginTime, endTime); |
| | | if (StrUtil.isNotBlank(dw)){ |
| | | LambdaQueryWrapper<TjOrder> wqq=new LambdaQueryWrapper<>(); |
| | | wqq.like(TjOrder::getFirmId,dw); |
| | | wqq.select(TjOrder::getTjNumber); |
| | | List<TjOrder> orderList = orderService.list(wqq); |
| | | if(null !=orderList && !orderList.isEmpty()){ |
| | | List<String> list = orderList.stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); |
| | | wrapper.in(TjSampling::getTjNum, list); |
| | | } |
| | | } |
| | | |
| | | wrapper.groupBy(TjSampling::getCusId); |
| | | wrapper.orderByDesc(TjSampling::getCreateTime); |
| | | // wrapper.last("LIMIT " + (pageNum - 1) * pageSize + "," + pageSize); |
| | |
| | | for (TjSampling tjSampling : list) { |
| | | TjCustomer customer = customerService.getById(tjSampling.getCusId()); |
| | | if(null !=customer){ |
| | | TjOrder order = orderService.getOrderByTjNum(tjSampling.getTjNum()); |
| | | customer.setCompName(order.getFirmName()); |
| | | customer.setCusName(customer.getCusName()); |
| | | customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | |
| | | if (list.size() >= 2) { |
| | | // 进行合并 |
| | | List<String> stringList = list.stream().map(TjSampling::getId).collect(Collectors.toList()); |
| | | log.info("提取id ->{}",stringList); |
| | | // log.info("提取id ->{}",stringList); |
| | | for (String s : stringList) { |
| | | if (tjSamplingService.isMergeItem(s) != 0) { |
| | | list.removeIf(item -> Objects.equals(item.getId(), s)); |
| | |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5000 |
| | | port: 5011 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: / |
| | |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: false |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: D:\ltkjprojectconf\configregion.properties |
| | | properties: D:\ltkjprojectconf\config.properties |
| | | path: D:\ltkjprojectconf |
| | | logging: |
| | | level: |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5011 |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: /Users/chacca/开发相关/代码/Tjreport |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: /ltkj/uploadPath/ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: /Users/chacca/开发相关/代码/ltkjprojectconf/gspljcxyyconfig.properties |
| | | path: /Users/chacca/开发相关/代码/ltkjprojectconf |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5003 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: /ltkj/Tjreport/mjprodReort |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: /ltkj/uploadPath/ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: /ltkj/ltkjprojectconf/mjzsconfig.properties |
| | | path: /ltkj/ltkjprojectconf |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5004 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: /ltkj/Tjreport |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: /ltkj/uploadPath/ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: /ltkj/ltkjprojectconf/mjcsconfig.properties |
| | | path: /ltkj/ltkjprojectconf |
| | |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5001 |
| | | port: 5000 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5002 |
| | | port: 5001 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5001 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: C:\Tjreport\chkwyy |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: C:\AppPhoto\uploadPath\ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: C:\ltkjprojectconf\chkwyy-config.properties |
| | | path: C:\ltkjprojectconf |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5005 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: C:\Tjreport\pbkwyy |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: C:\AppPhoto\uploadPath\ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5005/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: C:\ltkjprojectconf\pbkwyy-config.properties |
| | | path: C:\ltkjprojectconf |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5003 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: C:\Tjreport\xamjyy |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: C:\AppPhoto\uploadPath\ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: C:\ltkjprojectconf\xamjyy-config.properties |
| | | path: C:\ltkjprojectconf |
New file |
| | |
| | | # 项目相关配置 |
| | | ltkj: |
| | | # 名称 |
| | | name: ltkj |
| | | # 版本 |
| | | version: 1.0.1 |
| | | # 版权年份 |
| | | copyrightYear: 2022 |
| | | # 实例演示开关 |
| | | demoEnabled: true |
| | | # 文件路径 示例( Windows配置D:/ltkj/uploadPath,Linux配置 /home/ltkj/uploadPath) |
| | | # 用户换头像后的图片存储地址 测试:D:\ltkj\uploadPath\avatar\2022\12\14 |
| | | #profile: D:/ltkj/uploadPath |
| | | # profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath |
| | | profile: http://192.168.0.5:5502/uploadPath |
| | | |
| | | # 获取ip地址开关 |
| | | addressEnabled: true |
| | | # 验证码类型 math 数组计算 char 字符验证 |
| | | captchaType: math |
| | | # 开发环境配置 |
| | | server: |
| | | # 服务器的HTTP端口,默认为8080 |
| | | port: 5004 |
| | | servlet: |
| | | # 应用的访问路径 |
| | | context-path: /ltkj-admin |
| | | tomcat: |
| | | # tomcat的URI编码 |
| | | uri-encoding: UTF-8 |
| | | # 连接数满后的排队数,默认为100 |
| | | accept-count: 1000 |
| | | threads: |
| | | # tomcat最大线程数,默认为200 |
| | | max: 800 |
| | | # Tomcat启动初始化的线程数,默认值10 |
| | | min-spare: 100 |
| | | |
| | | # 日志配置 |
| | | #logging: |
| | | # level: |
| | | # com.ltkj: debug |
| | | # org.springframework: warn |
| | | |
| | | # 用户配置 |
| | | user: |
| | | password: |
| | | # 密码最大错误次数 |
| | | maxRetryCount: 5 |
| | | # 密码锁定时间(默认10分钟) |
| | | lockTime: 10 |
| | | |
| | | # Spring配置 |
| | | spring: |
| | | # 资源信息 |
| | | messages: |
| | | # 国际化资源文件路径 |
| | | basename: i18n/messages |
| | | # 文件上传 |
| | | servlet: |
| | | multipart: |
| | | # 单个文件大小 |
| | | max-file-size: 2GB |
| | | # 设置总上传的文件大小 |
| | | max-request-size: 2GB |
| | | # 服务模块 |
| | | devtools: |
| | | restart: |
| | | # 热部署开关 |
| | | enabled: true |
| | | cache: |
| | | type: redis |
| | | |
| | | # redis 配置 |
| | | # redis: |
| | | # # 地址 |
| | | ## host: 101.42.27.146 |
| | | # host: localhost |
| | | # # 端口,默认为6379 |
| | | # port: 6379 |
| | | # # 数据库索引 |
| | | # database: 0 |
| | | # # 密码 |
| | | ## password: 654321 |
| | | # password: 123456 |
| | | # # 连接超时时间 |
| | | # timeout: 120s |
| | | # lettuce: |
| | | # pool: |
| | | # # 连接池中的最小空闲连接 |
| | | # min-idle: 0 |
| | | # # 连接池中的最大空闲连接 |
| | | # max-idle: 8 |
| | | # # 连接池的最大数据库连接数 |
| | | # max-active: 8 |
| | | # # #连接池最大阻塞等待时间(使用负值表示没有限制) |
| | | # max-wait: -1ms |
| | | # 邮件 |
| | | mail: |
| | | # from 要和 username 一致, 否则报错 |
| | | from: 1138758025@qq.com |
| | | # 邮件服务地址 |
| | | host: smtp.qq.com |
| | | # 用户名 |
| | | username: 1138758025@qq.com |
| | | # 授权码 (设置 - 账户 - POP3/SMTP服务) |
| | | password: lwsbmlbqgpaqfgdb |
| | | # QQ邮箱加密端口,不同邮箱的端口不一样 |
| | | port: 465 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactory: |
| | | class: javax.net.ssl.SSLSocketFactory |
| | | ssl: |
| | | trust: smtp.qq.com |
| | | # 是否需要用户认证 |
| | | auth: true |
| | | starttls: |
| | | # 启用TLS加密 |
| | | enable: true |
| | | required: true |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: true |
| | | url-pattern: /druid/* |
| | | login-username: 10001 |
| | | login-password: admin123 |
| | | reset-enable: true |
| | | allow: |
| | | filters: stat,wall,log4j # 启用日志和监控过滤器 |
| | | stat: |
| | | mergeSql: true # 合并SQL统计信息 |
| | | slowSqlMillis: 3000 # 配置 SQL 慢查询阈值,单位是毫秒,3秒即 3000ms |
| | | |
| | | # token配置 |
| | | token: |
| | | # 令牌自定义标识 |
| | | header: Authorization |
| | | # 令牌密钥 |
| | | secret: xaltjdkjyxgs_sjh&1987 |
| | | |
| | | secret_key: ltkj_xaltjdkjsjh |
| | | # 令牌有效期(默认30分钟) |
| | | expireTime: 180 |
| | | # 是否允许账户多终端同时登录(true允许 false不允许) |
| | | soloLogin: true |
| | | #是否开启登录时判断商户秘钥是否过期 |
| | | secret_key_login: true |
| | | |
| | | # MyBatis Plus配置 |
| | | mybatis-plus: |
| | | # 搜索指定包别名 |
| | | typeAliasesPackage: com.ltkj.**.domain |
| | | # 配置mapper的扫描,找到所有的mapper.xml映射文件 |
| | | mapperLocations: classpath*:mapper/**/*Mapper.xml |
| | | # 加载全局的配置文件 |
| | | configLocation: classpath:mybatis/mybatis-config.xml |
| | | global-config: |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | update-strategy: not_null |
| | | |
| | | |
| | | # PageHelper分页插件 |
| | | pagehelper: |
| | | helperDialect: mysql |
| | | supportMethodsArguments: true |
| | | params: count=countSql |
| | | |
| | | # Swagger配置 |
| | | swagger: |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
| | | # 过滤开关 |
| | | enabled: true |
| | | # 排除链接(多个用逗号分隔) |
| | | excludes: /system/notice,/system/package |
| | | # 匹配链接 |
| | | urlPatterns: /system/*,/monitor/*,/tool/* |
| | | |
| | | |
| | | # 体检报告模板和报告临时生成存储的文件夹路径 |
| | | path: |
| | | filePath: C:\Tjreport\xamjyy\test |
| | | # nginx图片服务器 |
| | | reportServer: https://ltpeis.xaltjdkj.cn:5516/ |
| | | |
| | | |
| | | # 体检套餐和轮播图存储路径 |
| | | photoPath: C:\AppPhoto\uploadPath\ |
| | | # nginx图片服务器 |
| | | #photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/ |
| | | photoServer: http://192.168.0.5:5502/uploadPath/ |
| | | |
| | | |
| | | |
| | | # 微信小程序appid secret |
| | | xcx: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msgDataFormat: JSON |
| | | token: token # 微信小程序消息服务器配置的token |
| | | aesKey: aesKey # 微信小程序消息服务器配置的EncodingAESKey |
| | | # 开发者应该设置成自己的wx相关信息 |
| | | wx: |
| | | # 小程序 |
| | | miniapp: |
| | | appid: wx40a545f1a8eb1d9d |
| | | secret: c86c1ff7f91c16380111878e9a259237 |
| | | msg-data-format: XML |
| | | pay: |
| | | #appid |
| | | app-id: wx40a545f1a8eb1d9d |
| | | mch-id: 1642930999 #商户号 |
| | | mch-key: Xianlutaikeji666888999shijihongL #密钥 |
| | | #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12 #本地证书路径,在微信商户后台下载 |
| | | key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12 #服务器证书路径,在微信商户后台下载 |
| | | # pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify #微信支付回调地址 |
| | | # pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify #微信支付回调地址 |
| | | |
| | | #积木报表访问地址 |
| | | jimu: |
| | | # path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin |
| | | # path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin |
| | | path: http://192.168.0.5:5000/ltkj-admin |
| | | # path: http://10.168.0.9:5011 |
| | | # path: http://192.168.0.105:5011 |
| | | # path: http://192.168.1.113:5011 |
| | | |
| | | |
| | | jeecg : |
| | | jmreport: |
| | | # 打印纸张配置 title描述 size宽高 |
| | | printPaper: |
| | | - title: 小票打印 |
| | | size: |
| | | - 40 |
| | | - 60 |
| | | # ip = 101.42.27.146 |
| | | # prot = 3306 |
| | | # name = ltkjpeis10 |
| | | # username = root |
| | | # password = Root_ltkj123 |
| | | config: |
| | | properties: C:\ltkjprojectconf\xamjyy-config-test.properties |
| | | path: C:\ltkjprojectconf |
| | |
| | | # Spring配置 |
| | | #dev 公司 开发/部署使用 5000 |
| | | #prod 泾川县部署正式环境使用(小程序端也可使用) 5001 |
| | | #test 泾川县部署测试环境使用 5002 |
| | | # linux-prod 5001 |
| | | # linux-test 5002 |
| | | #dev 公司 开发/部署使用 |
| | | #prod 泾川县部署正式环境使用(小程序端也可使用) |
| | | #test 泾川县部署测试环境使用 |
| | | # linux-prod |
| | | # linux-test |
| | | # linux-mjprod |
| | | # linux-mjtest |
| | | # win-xamjyyprod |
| | | # win-xamjyytest |
| | | # win-chkwyyprod |
| | | # win-pbkwyyprod |
| | | # 陕健医澄合矿务局中心医院正式 5001 |
| | | # 陕健医澄合矿务局中心医院测试 5002 |
| | | # 陕西西安煤机医院正式 5003 |
| | | # 陕西西安煤机医院测试 5004 |
| | | spring: |
| | | profiles: |
| | | active: dev |
| | |
| | | </springProfile> |
| | | |
| | | |
| | | <!-- 日志存放路径 煤积医院linux环境--> |
| | | <springProfile name="linux-mjprod"> |
| | | <property name="log.path" value="/ltkj/jar/logs/meiji"/> |
| | | </springProfile> |
| | | |
| | | <springProfile name="linux-mjtest"> |
| | | <property name="log.path" value="/ltkj/jar/logs/meiji/ceshi"/> |
| | | </springProfile> |
| | | |
| | | <springProfile name="win-pbkwyyprod"> |
| | | <property name="log.path" value="../../logs/pbkwyy/prod"/> |
| | | </springProfile> |
| | | |
| | | <springProfile name="win-chkwyyprod"> |
| | | <property name="log.path" value="../../logs/chkwyy/prod"/> |
| | | </springProfile> |
| | | |
| | | <springProfile name="win-xamjyyprod"> |
| | | <property name="log.path" value="../../logs/xamjyy/prod"/> |
| | | </springProfile> |
| | | |
| | | <springProfile name="win-xamjyytest"> |
| | | <property name="log.path" value="../../logs/xamjyy/test"/> |
| | | </springProfile> |
| | | |
| | | <!-- 日志输出格式 --> |
| | | <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> |
| | |
| | | import com.ltkj.LtkjApplication; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.common.core.domain.entity.DictUserInfo; |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; |
| | | import com.ltkj.hosp.lisDto.LisSaveSqdxxDto; |
| | |
| | | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
| | | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.test.context.junit4.SpringRunner; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | private ITjReportTemplateService reportTemplateService; |
| | | @Autowired |
| | | private HisPDFUtil hisPDFUtil; |
| | | |
| | | // @Autowired |
| | | // private RedisCache redisCache; |
| | | // @Autowired |
| | | // private RedisTemplate<String,Object> redisTemplate; |
| | | |
| | | public static String generateId() { |
| | | String id; |
| | |
| | | template.setOpen("1"); |
| | | reportTemplateService.save(template); |
| | | } |
| | | // |
| | | // @Test |
| | | // public void test11(){ |
| | | // redisCache.setCacheList("list1",new ArrayList<>()); |
| | | // redisTemplate.opsForList().set("list2",0,new ArrayList<>()); |
| | | // } |
| | | |
| | | } |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | */ |
| | | private String uuid; |
| | | |
| | | private String hospId; |
| | | |
| | | @ApiModelProperty(value = "是true否false") |
| | | private Boolean type = false; |
| | | |
| | |
| | | public class IdUtils { |
| | | |
| | | private static final String LIS_LAST_ID_KEY = "id:generate:lis:id"; |
| | | private static final String TJH_LAST_ID_KEY = "id:generate:tjhs:tjh"; |
| | | private static final String LIS_LAST_ID_INCR_KEY = "id:generate:lis:id:incr"; |
| | | private static final String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate"; |
| | | |
| | |
| | | private static long lastTimestamp = -1; |
| | | private static final Random random = new Random(); |
| | | |
| | | public static synchronized String getTjNumber() { |
| | | long timestamp = System.currentTimeMillis(); // 获取当前时间戳(毫秒) |
| | | // public static synchronized String getTjNumber() { |
| | | // long timestamp = System.currentTimeMillis(); // 获取当前时间戳(毫秒) |
| | | // |
| | | // // 如果时间戳和上次生成的时间戳相同,生成一个新的随机数 |
| | | // if (timestamp == lastTimestamp) { |
| | | // return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); |
| | | // } else { |
| | | // lastTimestamp = timestamp; // 更新最后生成时间戳 |
| | | // return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); |
| | | // } |
| | | // } |
| | | |
| | | // 如果时间戳和上次生成的时间戳相同,生成一个新的随机数 |
| | | if (timestamp == lastTimestamp) { |
| | | return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); |
| | | |
| | | public synchronized String getTjNumber() { |
| | | String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date()); |
| | | String storedDate = stringRedisTemplate.opsForValue().get(LIS_CURRENT_DATE_KEY); |
| | | String lastIdStr = stringRedisTemplate.opsForValue().get(TJH_LAST_ID_KEY); |
| | | if (StrUtil.isBlank(lastIdStr))lastIdStr = "0"; |
| | | int lastId; |
| | | if (storedDate == null || !storedDate.equals(currentDate)) { |
| | | lastId = 1; |
| | | stringRedisTemplate.opsForValue().set(TJH_LAST_ID_KEY, String.valueOf(lastId)); |
| | | stringRedisTemplate.opsForValue().set(LIS_CURRENT_DATE_KEY, currentDate); |
| | | } else { |
| | | lastTimestamp = timestamp; // 更新最后生成时间戳 |
| | | return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); |
| | | lastId = Integer.parseInt(lastIdStr) + 1; |
| | | stringRedisTemplate.opsForValue().set(TJH_LAST_ID_KEY, String.valueOf(lastId)); |
| | | } |
| | | String yyMMdd = currentDate.substring(2); |
| | | return String.format("%s%05d", yyMMdd, lastId); |
| | | } |
| | | |
| | | |
| | |
| | | map.put(EncodeHintType.CHARACTER_SET,"utf-8"); |
| | | BitMatrix encode = null; |
| | | try { |
| | | encode = new MultiFormatWriter().encode(tjNumber, BarcodeFormat.CODE_128, 300, 100, map); |
| | | encode = new MultiFormatWriter().encode(tjNumber, BarcodeFormat.CODE_128, 500, 100, map); |
| | | } catch (WriterException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | * @throws DocumentException |
| | | * @throws IOException |
| | | */ |
| | | public static void makeTjInfo(Document document,List<Map<String ,String>> data) throws DocumentException, IOException { |
| | | public static void makeTjInfo(Document document,List<Map<String ,Object>> data) throws DocumentException, IOException { |
| | | PdfPTable table1 = new PdfPTable(7); |
| | | table1.setWidthPercentage(100); |
| | | float[] columnWidths = {1.5f, 3, 3, 6, 1.5f, 3, 3}; |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | |
| | | import java.util.Objects; |
| | | |
| | | import com.ltkj.db.DataSourceContextHolder; |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import org.aspectj.lang.ProceedingJoinPoint; |
| | | import org.aspectj.lang.annotation.Around; |
| | |
| | | DataSource dataSource = getDataSource(point); |
| | | |
| | | if (StringUtils.isNotNull(dataSource)) { |
| | | DataSourceContextHolder.setDataSourceKey(dataSource.value().name()); |
| | | DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name()); |
| | | } |
| | | |
| | | try { |
| | | return point.proceed(); |
| | | } finally { |
| | | // 销毁数据源 在执行方法之后 |
| | | DataSourceContextHolder.clear(); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | } |
| | | |
| | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.Properties; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.Filter; |
| | | import javax.servlet.FilterChain; |
| | | import javax.servlet.FilterConfig; |
| | |
| | | import javax.servlet.ServletResponse; |
| | | import javax.sql.DataSource; |
| | | |
| | | import com.ltkj.db.HospDynamicDataSource; |
| | | import com.ltkj.framework.config.properties.DruidProperties; |
| | | import com.ltkj.framework.datasource.DynamicDataSource; |
| | | import com.ltkj.system.service.ISysConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.boot.web.servlet.FilterRegistrationBean; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | |
| | | * |
| | | * @author ltkj |
| | | */ |
| | | //@Configuration |
| | | @Configuration |
| | | @Slf4j |
| | | public class DruidConfig { |
| | | |
| | |
| | | private String path; |
| | | |
| | | |
| | | private static final String DEFAULT_DATA_SOURCE_KEY = "default"; // 主库的标识 |
| | | private final Map<String, DataSource> dataSourceCache = new HashMap<>(); // 数据源缓存 |
| | | |
| | | |
| | | // 从 application.yml 中读取主库的配置 |
| | | // @Value("${spring.datasource.url}") |
| | | private String primaryUrl; |
| | | |
| | | private String primaryPort; |
| | | |
| | | // @Value("${spring.datasource.username}") |
| | | private String primaryUsername; |
| | | |
| | | // @Value("${spring.datasource.password}") |
| | | private String primaryPassword; |
| | | |
| | | // @Value("${dbUrl}") |
| | | private String dbUrl; |
| | | |
| | | private String dbName; |
| | | |
| | | |
| | | // @Bean |
| | | @Bean |
| | | // @ConfigurationProperties("spring.datasource.druid.master") |
| | | public DataSource masterDataSource(DruidProperties druidProperties) { |
| | | DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); |
| | |
| | | return druidProperties.dataSource(dataSource); |
| | | } |
| | | |
| | | // @Bean |
| | | @Bean |
| | | // @ConfigurationProperties("spring.datasource.druid.slavehis") |
| | | // @ConditionalOnProperty(prefix = "spring.datasource.druid.slavehis", name = "enabled", havingValue = "true") |
| | | public DataSource slaveHisDataSource(DruidProperties druidProperties) { |
| | |
| | | return druidProperties.dataSource(dataSource); |
| | | } |
| | | |
| | | // @Bean |
| | | @Bean |
| | | // @ConfigurationProperties("spring.datasource.druid.slavelis") |
| | | // @ConditionalOnProperty(prefix = "spring.datasource.druid.slavelis", name = "enabled", havingValue = "true") |
| | | public DataSource slaveDataLisSource(DruidProperties druidProperties) { |
| | |
| | | return druidProperties.dataSource(dataSource); |
| | | } |
| | | |
| | | // @Bean |
| | | @Bean |
| | | // @ConfigurationProperties("spring.datasource.druid.slavepacs") |
| | | // @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true") |
| | | public DataSource slaveDataPacsSource(DruidProperties druidProperties) { |
| | |
| | | return druidProperties.dataSource(dataSource); |
| | | } |
| | | |
| | | // @Bean |
| | | |
| | | |
| | | @Bean |
| | | // @ConfigurationProperties("spring.datasource.druid.slavepacs") |
| | | // @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true") |
| | | public DataSource slaveDataWsSource(DruidProperties druidProperties) { |
| | |
| | | return dataSource; |
| | | } |
| | | |
| | | // @Bean(name = "hospDynamicDataSources") |
| | | // public DataSource hospDynamicDataSources() { |
| | | // HospDynamicDataSource dynamicDataSource = new HospDynamicDataSource(); |
| | | // FileInputStream fis = null; |
| | | // Properties props = new Properties(); |
| | | // try { |
| | | // fis = new FileInputStream(url); |
| | | // props.load(fis); |
| | | // fis.close(); |
| | | // dbUrl = props.getProperty("ip"); |
| | | // dbName = props.getProperty("name"); |
| | | // primaryPassword = props.getProperty("password"); |
| | | // primaryPort = props.getProperty("prot"); |
| | | // primaryUsername = props.getProperty("username"); |
| | | // } catch (IOException e) { |
| | | // throw new RuntimeException("读取配置文件失败", e); |
| | | // } |
| | | // String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName; |
| | | // // 初始化默认数据源为主库 |
| | | // dynamicDataSource.addTargetDataSource(DEFAULT_DATA_SOURCE_KEY, createDataSource(url, primaryUsername, primaryPassword)); |
| | | // |
| | | // dynamicDataSource.setDefaultTargetDataSource(dynamicDataSource.getTargetDataSources().get(DEFAULT_DATA_SOURCE_KEY)); // 设置默认数据源 |
| | | // return dynamicDataSource; |
| | | // } |
| | | |
| | | // 根据用户 ID 动态获取数据源 |
| | | public void addDataSource(String dbName) { |
| | | FileInputStream fis = null; |
| | | Properties props = new Properties(); |
| | | try { |
| | | fis = new FileInputStream(url); |
| | | props.load(fis); |
| | | fis.close(); |
| | | dbUrl = props.getProperty("ip"); |
| | | primaryPassword = props.getProperty("password"); |
| | | primaryPort = props.getProperty("prot"); |
| | | primaryUsername = props.getProperty("username"); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException("读取配置文件失败", e); |
| | | } |
| | | |
| | | // 检查缓存中是否已经存在该数据源 |
| | | if (!dataSourceCache.containsKey(dbName)) { |
| | | synchronized (this) { |
| | | String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName; |
| | | DataSource dataSource = createDataSource(url, primaryUsername, primaryPassword); |
| | | dataSourceCache.put(dbName, dataSource); |
| | | |
| | | DynamicDataSource dynamicDataSource = dataSource(dataSource); |
| | | dynamicDataSource.addTargetDataSource(dbName, dataSource); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 动态创建数据源 |
| | | private DataSource createDataSource(String url, String username, String password) { |
| | | DruidDataSource dataSource = new DruidDataSource(); |
| | | dataSource.setUrl(url); |
| | | dataSource.setUsername(username); |
| | | dataSource.setPassword(password); |
| | | return dataSource; |
| | | } |
| | | |
| | | |
| | | // @Bean(name = "dynamicDataSource") |
| | | // @Primary |
| | | @Bean(name = "dynamicDataSource") |
| | | @Primary |
| | | public DynamicDataSource dataSource(DataSource masterDataSource) { |
| | | Map<Object, Object> targetDataSources = new HashMap<>(); |
| | | targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); |
| | |
| | | * 去除监控页面底部的广告 |
| | | */ |
| | | @SuppressWarnings({"rawtypes", "unchecked"}) |
| | | // @Bean |
| | | // @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true") |
| | | @Bean |
| | | @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true") |
| | | public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) { |
| | | // 获取web监控页面的参数 |
| | | DruidStatProperties.StatViewServlet config = properties.getStatViewServlet(); |
| | |
| | | // 静态资源,可匿名访问 |
| | | .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() |
| | | .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() |
| | | .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**").anonymous() |
| | | .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**","/hosp/order/signOrderInfo").anonymous() |
| | | // 除上面外的所有请求全部需要鉴权认证 |
| | | .anyRequest().authenticated() |
| | | .and() |
| | |
| | | import com.google.gson.Gson; |
| | | import com.ltkj.hosp.domain.Wxuser; |
| | | import io.jsonwebtoken.Claims; |
| | | import org.springframework.core.annotation.Order; |
| | | import org.springframework.web.servlet.HandlerInterceptor; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | * @Author: 西安路泰科技有限公司/赵佳豪 |
| | | * @Date: 2022/11/17 10:11 |
| | | */ |
| | | @Order(-1) |
| | | //拦截器(校验token) |
| | | public class TokenInterceptor implements HandlerInterceptor { |
| | | @Override |
| | |
| | | package com.ltkj.framework.config; |
| | | |
| | | //import com.ltkj.framework.interceptor.DBChangeInterceptor; |
| | | import com.ltkj.framework.interceptor.DBChangeInterceptor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | |
| | | //定义拦截器 |
| | | @Configuration |
| | | public class WebConfig implements WebMvcConfigurer { |
| | | |
| | | @Autowired |
| | | private DBChangeInterceptor dbChangeInterceptor; |
| | | |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(new TokenInterceptor()) |
| | |
| | | "/cus/package/projectListByPacId/**", |
| | | "/cus/hospital/getHospList", |
| | | "/lis/**","/api/His/**","/pacs/**", |
| | | "/callBack/**" |
| | | }); |
| | | |
| | | registry.addInterceptor(dbChangeInterceptor) |
| | | .addPathPatterns("/**") |
| | | .excludePathPatterns(new String[]{ |
| | | "/system/dict/data/**", |
| | | "/system/dict/type/**", |
| | | "/captchaImage","/getCaptchaConfigKey/**", |
| | | "/system/role/execUpdateSql" |
| | | // , |
| | | // "/login", "/register", "/captchaImage","/cus/**","/getCaptchaConfigKey","/report/jmreport/**", |
| | | // "/sqlserver/getdata/**","/api/His/**","/system/config/zx","/system/config/gxxmpym","/system/report/savePdf", |
| | | // "/system/dyjl/saveGjddyjl","/system/dyjl/saveBlGjddyjl","/check/ceshi","/check/pacs","/check/ceshicc", |
| | | // "/common/uploadImgExe","/common/listExeVal","/pacs/InvokeRisService/**","/check/dataSynchronizationApi", |
| | | // String.valueOf(HttpMethod.GET), "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**", |
| | | // "/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/jmreport/**","/lis/**","/pacs/**","/callBack/**" |
| | | "/callBack/**", |
| | | "/hosp/order/signOrderInfo" |
| | | }); |
| | | } |
| | | } |
| | |
| | | package com.ltkj.framework.datasource; |
| | | |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import javax.sql.DataSource; |
| | | |
| | | import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; |
| | |
| | | * @author ltkj |
| | | */ |
| | | public class DynamicDataSource extends AbstractRoutingDataSource { |
| | | private final Map<Object, Object> targetDataSources = new ConcurrentHashMap<>(); // 存储所有数据源 |
| | | public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) { |
| | | super.setDefaultTargetDataSource(defaultTargetDataSource); |
| | | super.setTargetDataSources(targetDataSources); |
| | |
| | | |
| | | @Override |
| | | protected Object determineCurrentLookupKey() { |
| | | System.out.println("当前数据源 -> "+ DynamicDataSourceContextHolder.getDataSourceType()); |
| | | return DynamicDataSourceContextHolder.getDataSourceType(); |
| | | } |
| | | |
| | | public void addTargetDataSource(String key, DataSource dataSource) { |
| | | targetDataSources.put(key, dataSource); |
| | | super.setTargetDataSources(new ConcurrentHashMap<>(targetDataSources)); // 更新目标数据源 |
| | | super.afterPropertiesSet(); // 重新初始化数据源 |
| | | } |
| | | |
| | | // 允许外部访问所有目标数据源 |
| | | @Override |
| | | public void setTargetDataSources(Map<Object, Object> targetDataSources) { |
| | | super.setTargetDataSources(targetDataSources); |
| | | } |
| | | |
| | | public Map<Object, Object> getTargetDataSources() { |
| | | return targetDataSources; // 获取所有目标数据源 |
| | | } |
| | | } |
| | |
| | | package com.ltkj.framework.datasource; |
| | | |
| | | import com.ltkj.db.DataSourceContextHolder; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | |
| | | */ |
| | | public static void setDataSourceType(String dsType) { |
| | | log.info("切换到{}数据源", dsType); |
| | | // CONTEXT_HOLDER.set(dsType); |
| | | DataSourceContextHolder.setDataSourceKey(dsType); |
| | | CONTEXT_HOLDER.set(dsType); |
| | | } |
| | | |
| | | /** |
| | | * 获得数据源的变量 |
| | | */ |
| | | public static String getDataSourceType() { |
| | | // return CONTEXT_HOLDER.get(); |
| | | return DataSourceContextHolder.getDataSourceKey(); |
| | | return CONTEXT_HOLDER.get(); |
| | | } |
| | | |
| | | /** |
| | | * 清空数据源变量 |
| | | */ |
| | | public static void clearDataSourceType() { |
| | | // CONTEXT_HOLDER.remove(); |
| | | DataSourceContextHolder.clear(); |
| | | CONTEXT_HOLDER.remove(); |
| | | } |
| | | } |
| | |
| | | */ |
| | | public String login(String username, String password, Boolean type,String code,String uuid) { |
| | | |
| | | |
| | | String aSwitch = configService.selectConfigByKey("captcha_switch"); |
| | | if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){ |
| | | String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; |
| | |
| | | } |
| | | AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); |
| | | LoginUser loginUser = (LoginUser) authentication.getPrincipal(); |
| | | |
| | | recordLoginInfo(Long.valueOf(loginUser.getUserId())); |
| | | |
| | | //校验商家过期否 |
| | | if (secretKeyLogin) |
| | | { |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | <dependency> |
| | | <groupId>com.ltkj</groupId> |
| | | <artifactId>ltkj-common</artifactId> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | |
| | | <!-- 集成积木报表--> |
| | |
| | | <groupId>org.jeecgframework.jimureport</groupId> |
| | | <artifactId>jimureport-spring-boot-starter</artifactId> |
| | | <version>1.5.4</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | |
| | | <!-- 阿里数据库连接池 --> |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid-spring-boot-starter</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | </dependency> |
| | | |
| | | </dependencies> |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date expirationTime; |
| | | |
| | | // 数据库名 |
| | | private String dbname; |
| | | |
| | | |
| | | @Override |
| | | public String toString() { |
| | |
| | | public boolean delTbBycusCardIdAndProId(@Param("cdId") String cdId,@Param("proId")String proId); |
| | | |
| | | @Update("UPDATE tb_transition a SET "+ |
| | | "a.tj_num=null" + |
| | | "a.tj_num=null," + |
| | | "a.card_id=0" + |
| | | " WHERE a.tj_num=#{tjNum}") |
| | | boolean updateTbTransitionByTjNum(String tjNum); |
| | | |
| | |
| | | |
| | | @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE a.tj_num=#{tjNum} AND a.parent_pro_id=#{proId}") |
| | | BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(@Param("tjNum")String tjNum,@Param("proId")String proId); |
| | | |
| | | @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE a.tj_num=#{tjNum} ") |
| | | BigDecimal sumTbTransitionOrdPriceByTjNum(@Param("tjNum")String tjNum); |
| | | |
| | | @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE a.cus_id=#{tjNum} and isnull(a.tj_num)") |
| | | BigDecimal sumTbTransitionOrdPriceByTjNumIsNull(@Param("tjNum")String tjNum); |
| | | |
| | | @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE a.tj_num=#{tjNum}") |
| | | BigDecimal sumTbTransitionNowPriceByTjNum(@Param("tjNum")String tjNum); |
| | | |
| | | @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE a.cus_id=#{tjNum} and isnull(a.tj_num)") |
| | | BigDecimal sumTbTransitionNowPriceByTjNumIsNull(@Param("tjNum")String tjNum); |
| | | } |
| | |
| | | |
| | | |
| | | // @DataSource(value = DataSourceType.SLAVE_WS) |
| | | @Select("SELECT aa.tjh,ws.pro_id tmh,aa.bbbh,aa.bbmc,ws.pro_id xmid,aa.xmmc,aa.sqsj,aa.sqys,aa.jgsj,aa.sqdh,aa.sqrxm,aa.sqrdm,aa.jybgjg,aa.create_time FROM tj_wsxm ws LEFT JOIN (\n" + |
| | | @Select("SELECT aa.tjh,CONCAT(aa.tjh,RIGHT(ws.pro_id, 6)) tmh,aa.bbbh,aa.bbmc,ws.pro_id xmid,aa.xmmc,aa.sqsj,aa.sqys,aa.jgsj,aa.sqdh,aa.sqrxm,aa.sqrdm,aa.jybgjg,aa.create_time FROM tj_wsxm ws LEFT JOIN (\n" + |
| | | " SELECT\n" + |
| | | " a.brid tjh,\n" + |
| | | " a.brid tmh,\n" + |
| | |
| | | List<LtkjHysqd> getWsxmLtkjHysqdByLisVi(String tjNum); |
| | | |
| | | // @DataSource(value = DataSourceType.SLAVE_WS) |
| | | @Select("SELECT ws.pro_id tmh,aa.jcxmid,aa.jcxm,NULL tdh,aa.jyjg,null jgdw,null fwzdz,null fwzgz,aa.jysj,aa.shsj,NULL shys,aa.shysmc,NULL tpurl,NULL ycbz,aa.create_time\n" + |
| | | @Select("SELECT CONCAT(aa.tmh,RIGHT(ws.pro_id, 6)) tmh,aa.jcxmid,aa.jcxm,NULL tdh,aa.jyjg,null jgdw,null fwzdz,null fwzgz,aa.jysj,aa.shsj,NULL shys,aa.shysmc,NULL tpurl,NULL ycbz,aa.create_time\n" + |
| | | " FROM tj_wsxm ws \n" + |
| | | " LEFT JOIN (\n" + |
| | | " SELECT distinct a.brid tmh,a.xmbm jcxmid,a.xmmc jcxm,NULL tdh,a.result jyjg,null jgdw,null fwzdz,null fwzgz,null fwz,a.bgsj jysj,a.bgys jyys,a.bgsj shsj," + |
| | |
| | | |
| | | |
| | | |
| | | // @DataSource(value = DataSourceType.SLAVE_WS) |
| | | // @Select("SELECT * from lis_result a where a.brid=#{tjNum}") |
| | | // List<Aws> getWsxmLtkjHysqdByLisViBySLAVEWS(String tjNum); |
| | | |
| | | @DataSource(value = DataSourceType.SLAVE_WS) |
| | | @Select("SELECT * from lis_result a where a.brid=#{tjNum}") |
| | | @Select("select t.brid,t.xmbm,t.xmmc,t.result,t.gdpd ,t.xmckz,t.dw,t.bgys,max(bgsj) bgsj\n" + |
| | | " from lis_result t WHERE t.brid=#{tjNum} \n" + |
| | | " group by t.brid,t.xmbm,t.xmmc,t.result,t.gdpd,t.xmckz,t.dw,t.bgys") |
| | | List<Aws> getWsxmLtkjHysqdByLisViBySLAVEWS(String tjNum); |
| | | |
| | | |
| | |
| | | * @param tjNumber 体检单号 |
| | | * @return |
| | | */ |
| | | @Select("SELECT @num := @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN ( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm from ( SELECT (case when f.ksmc in ('临检室','化验室','','') or c.pro_name like '%测定%' then '检验科' when c.pro_name like '%心电图%' then '心电图室' when f.ksmc='x光室' or c.pro_name like '%X线摄影%' then '放射科' when c.pro_name like '%色觉%' then '眼科' \t\t\t\twhen c.pro_name like '%超%' or c.pro_name like '%多普勒%' then 'B超室' when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then d.dept_name when c.pro_name like '%CT%' then 'CT室' else '体检中心' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id JOIN tj_project c ON c.pro_id = b.pro_id left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00',(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number = #{tjNumber} ) aa GROUP BY ksmc ) e ON e.ksmc = d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh") |
| | | List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber); |
| | | // @Select("SELECT @num := @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN " + |
| | | // "( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm from " + |
| | | // "( SELECT (case when f.ksmc in ('临检室','化验室','','') or c.pro_name like '%测定%' then '检验科' " + |
| | | // " when c.pro_name like '%心电图%' then '心电图室' when f.ksmc='x光室' or c.pro_name like '%X线摄影%' then '放射科' when c.pro_name like '%色觉%' then '眼科' " + |
| | | // "\t\t\t\twhen c.pro_name like '%超%' or c.pro_name like '%多普勒%' then 'B超室' when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then " + |
| | | // " d.dept_name when c.pro_name like '%CT%' then 'CT室' else '体检中心' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id " + |
| | | // "JOIN tj_project c ON c.pro_id = b.pro_id left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00'," + |
| | | // "(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number = #{tjNumber} ) aa GROUP BY ksmc ) e ON e.ksmc = " + |
| | | // "d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh") |
| | | // List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber); |
| | | |
| | | |
| | | @Select("SELECT \n" + |
| | | " ROW_NUMBER() OVER (ORDER BY d.djd_num) AS xh, " + |
| | | " REPLACE(d.dept_name, '门诊', '') AS ksmc,\n" + |
| | | " ifnull(d.official_web,'') AS ksdz,\n" + |
| | | " e.tjxm,\n" + |
| | | " e.tjjg\n" + |
| | | "FROM sys_dept d\n" + |
| | | "JOIN (\n" + |
| | | " SELECT\n" + |
| | | " c.dept_id,\n" + |
| | | " GROUP_CONCAT(DISTINCT c1.pro_name ORDER BY c1.pro_name DESC SEPARATOR ';') AS tjxm,\n" + |
| | | " SUM(b.ord_price) AS tjjg\n" + |
| | | " FROM tb_transition b\n" + |
| | | " JOIN tj_project c ON c.pro_id = b.parent_pro_id\n" + |
| | | " JOIN tj_project c1 ON c1.pro_id = b.parent_pro_id\n" + |
| | | " WHERE trim(b.tj_num) = #{tjNumber} \n" + |
| | | " AND c.pro_parent_id = 0\n" + |
| | | " AND c1.pro_name NOT IN ('主任医师诊查', '(tj)体检费(物理检查)')\n" + |
| | | " AND c1.pro_name NOT LIKE '%主任医师诊查%'\n" + |
| | | " GROUP BY c.dept_id\n" + |
| | | ") e ON e.dept_id = d.dept_id\n" + |
| | | "ORDER BY d.djd_num") |
| | | List<Map<String ,Object >> selectDjdInfo(@Param("tjNumber")String tjNumber); |
| | | |
| | | /** |
| | | * 查询导检单用户信息 |
| | | * @param tjNumber |
| | | * @return |
| | | */ |
| | | @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,a.create_time tjsj,ifnull(d.cn_name,'') dwmc,a.cus_phone lxdh\n" + |
| | | @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,c.create_time tjsj,ifnull(c.firm_name,'') dwmc,a.cus_phone lxdh,ifnull(c.firm_dept_name,'') dwbm,\n" + |
| | | "ifnull((select dict_label from sys_dict_data where dict_type ='dict_team' and status=0 and dict_value=c.tj_type),'') tjlx,\n" + |
| | | "( (\n" + |
| | | " SELECT\n" + |
| | | " sum( b1.ord_price ) \n" + |
| | | " FROM\n" + |
| | | " tb_transition b1\n" + |
| | | " JOIN tj_project c1 ON c1.pro_id = b1.parent_pro_id \n" + |
| | | " AND c1.pro_parent_id = 0 \n" + |
| | | " WHERE\n" + |
| | | " b1.tj_num = c.tj_number \n" + |
| | | " )*(IFNULL(c.discount,10)/10)) tjze,c.card_id ,CONCAT(cast(a.age as char),e.dict_label) nl,(SELECT tb.pac_name FROM tb_transition tb" + |
| | | " WHERE tb.tj_num = c.tj_number GROUP BY tb.pac_id)tcmc,a.his_jzkh\n" + |
| | | "from tj_order c \n" + |
| | | " join tj_customer a on a.cus_id= c.user_id \n" + |
| | | "\tjoin tj_customer a on a.cus_id= c.user_id \n" + |
| | | " join (select dict_value,dict_label from sys_dict_data where dict_type='sys_user_sex') b on b.dict_value = a.cus_sex\n" + |
| | | " left join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" + |
| | | "where c.tj_number=#{tjNumber}") |
| | | "\tleft join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" + |
| | | "join (select dict_label,dict_value from sys_dict_data where dict_type='dict_ageunit') e on e.dict_value = a.age_unit\n" + |
| | | "where trim(c.tj_number)=#{tjNumber}") |
| | | Map<String ,Object > selectDjdUserInfo(@Param("tjNumber")String tjNumber); |
| | | |
| | | |
| | |
| | | |
| | | String isPayByTjNum(String orderId); |
| | | |
| | | List<Map<String ,String >> selectDjdInfo(String tjNumber); |
| | | List<Map<String ,Object >> selectDjdInfo(String tjNumber); |
| | | |
| | | Map<String ,Object > selectDjdUserInfo(String tjNumber); |
| | | |
| | |
| | | private LtkjExamJcsqdMapper mapper; |
| | | |
| | | @Qualifier(value = "slaveHisDataSource") |
| | | @Autowired |
| | | private DataSource dataSource; |
| | | |
| | | |
| | | @Override |
| | |
| | | import com.ltkj.hosp.service.ITjOrderService; |
| | | import com.ltkj.hosp.service.ITjPackageService; |
| | | import com.ltkj.hosp.vodomain.LineChartsVo; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ltkj.hosp.mapper.TjOrderMapper; |
| | |
| | | * @date 2022-11-21 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class TjOrderServiceImpl extends ServiceImpl<TjOrderMapper, TjOrder> implements ITjOrderService { |
| | | @Autowired |
| | | private TjOrderMapper tjOrderMapper; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, String>> selectDjdInfo(String tjNumber) { |
| | | public List<Map<String, Object>> selectDjdInfo(String tjNumber) { |
| | | log.info("传递进来的体检号为: "+tjNumber); |
| | | return tjOrderMapper.selectDjdInfo(tjNumber); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> selectDjdUserInfo(String tjNumber) { |
| | | log.info("传递进来的体检号为: "+tjNumber); |
| | | return tjOrderMapper.selectDjdUserInfo(tjNumber); |
| | | } |
| | | |
| | |
| | | <result property="updateByName" column="update_by_name"/> |
| | | <result property="imgbase64" column="imgBase64"/> |
| | | <result property="deleted" column="deleted"/> |
| | | <!-- <result property="dbname" column="dbname"/>--> |
| | | </resultMap> |
| | | |
| | | <sql id="selectDictHospVo"> |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |
| | |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ltkj_peis_region</artifactId> |
| | | <artifactId>ltkj</artifactId> |
| | | <groupId>com.ltkj</groupId> |
| | | <version>3.8.4</version> |
| | | </parent> |