src/main/java/com/example/constant/ApiParamsConstantsLis.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/controller/LisController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/factory/ServiceFactory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/service/LisService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/service/shanxiqin/xian/MeiJiHisService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/service/shanxiqin/xian/MeiJiLisService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/utils/HttpClientUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/utils/Test.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/example/constant/ApiParamsConstantsLis.java
New file @@ -0,0 +1,246 @@ package com.example.constant; /** * @Company: 西安路泰科技有限公司 * @Author: zhaowenxuan * @Date: 2024/12/25 16:10 */ public class ApiParamsConstantsLis { /** * 门诊号码 */ public static final String PATIENTNO = "patientno"; /** * 挂号号码 */ public static final String GH_PATIENTNO = "gh_patientno"; /** * 标本条形码 */ public static final String TXM = "txm"; /** * 辅助号码 */ public static final String PRINTNO = "printno"; /** * 病人姓名 */ public static final String PATIENTNAME = "patientname"; /** * 出生日期 */ public static final String BIRTHDAY = "birthday"; /** * 身份证号 */ public static final String SFZH = "sfzh"; /** * 1男2女0未知 必须提供 * 性别 */ public static final String GENDER = "gender"; /** * 地址 */ public static final String ADDRESS = "address"; /** * 电话 */ public static final String TELEPHONE = "telephone"; /** * 医保卡号 */ public static final String YBKH = "ybkh"; /** * 体检单位 */ public static final String TJDW = "tjdw"; /** * 默认1 必须提供 * 是否启用 */ public static final String ISACTIVE = "isactive"; /** * 备注 */ public static final String MEMO = "memo"; /** * 临床诊断 */ public static final String DIAGNOSE = "diagnose"; /** * 送检医生代码 */ public static final String SENDDOCTOR = "senddoctor"; /** * 送检医生姓名 */ public static final String SENDDOCTORNAME = "senddoctorname"; /** * 送检科室代码 */ public static final String SENDDEPARTCODE = "senddepartcode"; /** * 送检科室名称 */ public static final String SENDDEPARTNAME = "senddepartname"; /** * 开单科室代码 */ public static final String APPLYDEPARTCODE = "applydepartcode"; /** * 开单科室名称 */ public static final String APPLYDEPARTNAME = "applydepartname"; /** * 开单医生代码 */ public static final String APPLYDOCTORCODE = "applydoctorcode"; /** * 开单医生名称 */ public static final String APPLYDOCTORNAME = "applydoctorname"; /** * 开单时间 */ public static final String APPLYDATETIME = "applydatetime"; /** * 采样时间 */ public static final String GATHERDATETIME = "gatherdatetime"; /** * 采样医生编码 */ public static final String GATHERDOCTORCODE = "gatherdoctorcode"; /** * 采样医生姓名 */ public static final String GATHERDOCTORNAME = "gatherdoctorname"; /** * 床号 */ public static final String BEDNO = "bedno"; /** * 必须提供[yyyy-mm-dd hh:mi:ss] * 送检日期和开单时间 */ public static final String SENDDATE = "senddate"; /** * 必须提供 * 例如: SFXMID : 1001 * 那么: (诊疗项目)里面的SFXMID也要有: 1001 * 必须跟(诊疗项目)里面的SFXMID一致 * 诊疗项目代码 */ public static final String SFXMID = "sfxmid"; /** * 必须提供 * 例如: SFXMNAME : 肝功能6项 * 那么: (诊疗项目)里面的SFXMNAME也要有: 肝功能6项 * 必须跟(诊疗项目)里面的SFXMNAME名称一致 * 诊疗项目名称 */ public static final String SFXMNAME = "sfxmname"; /** * 诊疗项目单价 */ public static final String SFXMPRICE = "sfxmprice"; /** * 收费人员姓名 */ public static final String SFYNAME = "sfyname"; /** * 开单日期, 必须提供 * 收费日期 */ public static final String SFDATE = "sfdate"; /** * 必须提供,机构ID,需和LIS工程师沟通 * 医院编号 */ public static final String HOSPITALID = "hospitalid"; /** * 数量 */ public static final String QUALITY = "quality"; /** * 卡类型 */ public static final String CARDTYPE = "cardtype"; /** * 就诊类别 1:门诊 2:住院 3:体检 */ public static final String PATIENTTYPE = "patienttype"; /** * 主键 * 医嘱信息,保证值唯一性 * 用于HIS交互索引 * *每条指标不重复的唯一值, * 例如: * 甲某做了 * 血常规 对应的Keyvalue是 1111 * 大生化 对应的Keyvalue是 2222 * 尿常规 对应的Keyvalue是 3333 * * 丁某做了 * 血常规 对应的Keyvalue是 4444 * 大生化 对应的Keyvalue是 5555 * 尿常规 对应的Keyvalue是 6666 */ public static final String KEYVALUE = "keyvalue"; /** * 必须提供0:不是急诊 1:是急诊 默认:0 * 急诊标志 */ public static final String JIZHENBZ = "jizhenbz"; /** * 项目类型编号 */ public static final String SpecimenCode = "specimencode"; /** * 项目类型名称 */ public static final String SpecimenDesc = "specimendesc"; } src/main/java/com/example/controller/LisController.java
New file @@ -0,0 +1,39 @@ package com.example.controller; import com.example.factory.ServiceFactory; import com.example.service.LisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; /** * @Company: 西安路泰科技有限公司 * @Author: zhaowenxuan * @Date: 2024/12/25 10:13 */ @RestController @RequestMapping("/api/his") public class LisController { private final ServiceFactory serviceFactory; @Autowired public LisController(ServiceFactory serviceFactory) { this.serviceFactory = serviceFactory; } /** * 生成申请单 * @param hospName * @param map * @return */ @PostMapping("/{hospName}/create") public String makeSqd(@PathVariable("hospName") String hospName, @RequestBody Map<String ,Object > map){ LisService lisService = serviceFactory.getLisService(hospName); return lisService.makeSqd(map); } } src/main/java/com/example/factory/ServiceFactory.java
@@ -2,6 +2,7 @@ import com.example.config.ConfigValue; import com.example.service.HisService; import com.example.service.LisService; import com.example.service.PacsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; @@ -31,6 +32,11 @@ return (PacsService) applicationContext.getBean(beanName+"Pacs"); } public LisService getLisService(String hospName) { String beanName = getServiceBeanName(hospName); return (LisService) applicationContext.getBean(beanName+"Lis"); } private String getServiceBeanName(String hospName) { switch (hospName) { src/main/java/com/example/service/LisService.java
New file @@ -0,0 +1,21 @@ package com.example.service; import org.springframework.stereotype.Service; import java.util.Map; /** * @Company: 西安路泰科技有限公司 * @Author: zhaowenxuan * @Date: 2024/12/25 10:15 */ @Service public interface LisService { /** * 创建申请单 * @param map * @return */ String makeSqd(Map<String, Object> map); } src/main/java/com/example/service/shanxiqin/xian/MeiJiHisService.java
@@ -145,7 +145,9 @@ return JSONUtil.toJsonStr(object); } JSONObject entries = JSONUtil.parseObj(string); if (entries.get("returnData") != null) { log.info("获取病人信息返回数据 ->{}", entries); Object returnData = entries.get("returnData"); if (null != returnData && !returnData.toString().equals("null")) { HashMap<String, String> hashMap = new HashMap<>(); JSONObject data = entries.getJSONObject("returnData"); hashMap.put(ApiParamsConstants.CARD_ID,data.getStr("jiuZhenKh")); src/main/java/com/example/service/shanxiqin/xian/MeiJiLisService.java
New file @@ -0,0 +1,56 @@ package com.example.service.shanxiqin.xian; import com.example.constant.ApiParamsConstants; import com.example.constant.ApiParamsConstantsLis; import com.example.service.LisService; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; /** * @Company: 西安路泰科技有限公司 * @Author: zhaowenxuan * @Date: 2024/12/25 10:14 */ @Service("ShanXiQinXiAnMeiJiLis") public class MeiJiLisService implements LisService { @Override public String makeSqd(Map<String, Object> map) { HashMap<String, Object> hashMap = new HashMap<>(); // 门诊号码 hashMap.put("PATIENTNO", map.get(ApiParamsConstantsLis.PATIENTNO)); // 挂号号码 hashMap.put("GH_PATIENTNO", map.get(ApiParamsConstantsLis.GH_PATIENTNO)); // 标本条形码 hashMap.put("TXM", map.get(ApiParamsConstantsLis.TXM)); // 辅助号码 hashMap.put("PRINTNO",map.get(ApiParamsConstantsLis.PRINTNO)); // 病人姓名 hashMap.put("PATIENTNAME",map.get(ApiParamsConstants.CUS_NAME)); // 出生日期 hashMap.put("BIRTHDAY",map.get(ApiParamsConstants.CUS_BRITHDAY)); // 身份证号 hashMap.put("SFZH",map.get(ApiParamsConstants.CUS_ID_CARD)); // 性别 long cusSex = Long.parseLong(map.get(ApiParamsConstants.CUS_SEX).toString()); if(cusSex==0L){ hashMap.put ("GENDER","1"); }else if(cusSex==1L){ hashMap.put ("GENDER","2"); }else { hashMap.put ("GENDER","0"); } hashMap.put("ADDRESS",map.get(ApiParamsConstants.CUS_ADDR)); hashMap.put("TELEPHONE",map.get(ApiParamsConstants.CUS_PHONE)); hashMap.put("YBKH",""); hashMap.put("TJDW",map.get(ApiParamsConstants.COMP_NAME)); return ""; } } src/main/java/com/example/utils/HttpClientUtils.java
@@ -205,6 +205,7 @@ .append("=") .append(URLEncoder.encode(entry.getValue().toString(), "UTF-8")); } log.info("参数拼接 ->{}",postData); writer = new OutputStreamWriter(connection.getOutputStream()); writer.write(postData.toString()); writer.flush(); src/main/java/com/example/utils/Test.java
New file @@ -0,0 +1,25 @@ package com.example.utils; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import org.apache.ibatis.javassist.compiler.ast.Variable; /** * @Company: 西安路泰科技有限公司 * @Author: zhaowenxuan * @Date: 2024/12/30 14:32 */ public class Test { public static void main(String[] args) { String json = "{\"businessStackTraces\":null,\"exceptionContent\":null,\"exceptionPosition\":null,\"returnCode\":1,\"returnData\":null,\"returnMessage\":\"请求成功\"}"; JSONObject entries = JSONUtil.parseObj(json); Object returnData = entries.get("returnData"); System.out.println("1 ->"+returnData); if (null != returnData && !returnData.toString().equals("null")) { System.out.println("1 = " + 1); }else { System.out.println("2 = " + 2); } } }