From b98bda282397df60077efbe4c1ad35a44bdfffb9 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 02 十二月 2024 17:57:17 +0800 Subject: [PATCH] 2024-12-02 --- ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java | 131 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 131 insertions(+), 0 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java index 6a9786b..cdf9b24 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java @@ -4,17 +4,21 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.XmlUtil; +import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.utils.AgeResult; import com.ltkj.common.utils.DateUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.web.controller.his.HisApiGetMethodService; @@ -24,6 +28,7 @@ import org.springframework.stereotype.Component; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -51,6 +56,12 @@ private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; @Autowired private ISysConfigService configService; + @Autowired + private ITbTransitionService transitionService; + @Autowired + private ITjOrderService tjOrderService; + @Autowired + private LtkjExamJcsqdService ltkjExamJcsqdService; /** @@ -221,4 +232,124 @@ // exec usp_tjjk_pacsjg 鈥樹綋妫�鍙封�� // 璋冪敤鏇存柊鐘舵�侊細 // exec usp_tjjk_pacszt 鈥樹綋妫�鍙封�� + + + /** + * 璋冪敤pacs鐢宠鍗曟帹閫� + * xml浼犻�� + */ + public boolean OrderAdd(TjCustomer customer,TjOrder tjOrder){ + List<TbTransition> detailList = transitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId()); + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId, deptService.getJcDeptIds()); + List<TjProject> projects = projectService.list(wq); + HashMap<String, Object> root = new HashMap<>(); + HashMap<String, Object> hashMap = new HashMap<>(); + + HashMap<String, Object> patientInfo = new HashMap<>(); + patientInfo.put("PatientId",customer.getCusId()); + patientInfo.put("VisitNo",tjOrder.getTjNumber()); + patientInfo.put("PatType","P"); + patientInfo.put("PatientName",customer.getCusName()); + if (customer.getCusSex() == 0) patientInfo.put("PatientSex","M"); + else if (customer.getCusSex() == 1) patientInfo.put("PatientSex","F"); + else patientInfo.put("PatientSex","O"); + patientInfo.put("PatBirthday",customer.getCusBrithday()); + patientInfo.put("IdCard",customer.getCusIdcard()); + + String examItems = ""; + String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + for (TjProject project : projects) { + HashMap<String, Object> examItem = new HashMap<>(); + // 鐢宠鍗曞彿瑙勫垯锛氫綋妫�鍙穇project.getProId()鍚庡洓浣� + examItem.put("HisID", tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); + examItem.put("EmergencyFlag", "0"); + examItem.put("ExamItemID", project.getHisXmbm()); + examItem.put("ExamItemName", project.getHisXmmc()); + examItem.put("OrderDT", date); + SysDept dept = deptService.getById(project.getDeptId()); + examItem.put("Modality", dept.getModality()); + // TODO 鏀惰垂鏍囪瘑 1鏄敹璐� 鍜� 0鏈敹璐� + examItem.put("ChargeFlag",""); + examItems += "<ExamItem>"+ + XmlUtil.mapToXmlStr(examItem) + .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") + .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") + .replaceAll("<xml>","") + .replaceAll("</xml>","") + +"</ExamItem>"; + } + hashMap.put("PatientInfor",patientInfo); + hashMap.put("ExamItemList",examItems); + root.put("Root",hashMap); + String result = HttpRequest.post("").body(XmlUtil.mapToXmlStr(root)).contentType("application/xml;charset:utf-8;").execute().body(); + Map<String, Object> map = XmlUtil.xmlToMap(result); + if (map.get("Code").toString().equals("1")){ + for (TjProject project : projects) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getTjNumber()); + tree.setPationid(String.valueOf(customer.getCusId())); + tree.setSqdh(tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); + tree.setFyhj(String.valueOf(project.getProPrice())); + tree.setHisXmdm(project.getHisXmbm()); + tree.setType("妫�鏌�"); + tree.setService("pacs"); + tree.setTjPrice(String.valueOf(project.getProPrice())); + LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (project.getSfzhfy().equals("Y")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, project.getHisXmbm()); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, project.getHisXmbm()); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + ltkjJianchajianyanTreeService.save(tree); + + + LtkjExamJcsqd jcsqd = new LtkjExamJcsqd(); + jcsqd.setTjh(tjOrder.getTjNumber()); + jcsqd.setTmh(tree.getSqdh()); + jcsqd.setJcxmid(tree.getHisXmdm()); + jcsqd.setJcxmmc(project.getHisXmmc()); + jcsqd.setSqsj(date); + ltkjExamJcsqdService.save(jcsqd); + } + return true; + } + return false; + } + + /** + * 璋冪敤pacs鐢宠鍗曚綔搴� + * @param sqdh 鐢宠鍗曞彿 + * @param czrid 鎿嶄綔浜虹紪鐮� + * @return + */ + public boolean OrderDelete(String sqdh,String czrid){ + HashMap<String, Object> root = new HashMap<>(); + HashMap<String, Object> hashMap = new HashMap<>(); + LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(new LambdaQueryWrapper<LtkjJianchajianyanTree>().eq(LtkjJianchajianyanTree::getSqdh, sqdh)); + String pationid = tree.getPationid(); + hashMap.put("PatientId",pationid); + hashMap.put("PatType","P"); + hashMap.put("Operator",czrid); + hashMap.put("HisID",sqdh); + root.put("Root",hashMap); + String result = HttpRequest.post("").body(XmlUtil.mapToXmlStr(root)).contentType("application/xml;charset:utf-8;").execute().body(); + Map<String, Object> map = XmlUtil.xmlToMap(result); + if (map.get("Code").toString().equals("1")){ + ltkjJianchajianyanTreeService.removeById(tree); + return true; + } + return false; + } } -- Gitblit v1.8.0