From 2e4b5f661836dcd84e72f807af0dca8aa6864bba Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 20 九月 2024 18:05:50 +0800
Subject: [PATCH] pacs申请类

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/pacsDto/SavePacsApply.java                |  109 +++++++++++++++++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java |  181 ++++++++++++++++++++++++++++++++++++
 2 files changed, 290 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
new file mode 100644
index 0000000..e6bb79f
--- /dev/null
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java
@@ -0,0 +1,181 @@
+package com.ltkj.web.controller.pacs;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
+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.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.system.service.ISysDeptService;
+import com.ltkj.web.controller.his.HisApiGetMethodService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2024/9/18 10:55
+ */
+@Slf4j
+@Component
+public class PacsApiMethodService {
+    @Autowired
+    private HisApiGetMethodService getMethodService;
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private ITjProjectService projectService;
+    @Autowired
+    private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService;
+    @Autowired
+    private LtkjMxjfxmzdService ltkjMxjfxmzdService;
+    @Autowired
+    private LtkjEjjfxmzdService ltkjEjjfxmzdService;
+    @Autowired
+    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
+
+
+    /**
+     * pas 妫�鏌ョ敵璇蜂俊鎭繚瀛�
+     * @param savePacsApply
+     * @return
+     */
+    public AjaxResult savePacsApply(SavePacsApply savePacsApply){
+        Map<String, Object> map = BeanUtil.beanToMap(savePacsApply);
+        return getMethodService.getPacsData("savePacsApply", map);
+    }
+
+    /**
+     * pas 缁撴灉鑾峰彇
+     * @param regNo 妫�鏌ョ敵璇峰崟鍙�
+     * @return
+     */
+    public AjaxResult getPacsReport(String regNo){
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("regNo", regNo);
+        return getMethodService.getPacsData("getPacsReport",hashMap);
+    }
+
+    /**
+     * pas 妫�鏌ョ敵璇蜂俊鎭綔搴�
+     * @param regNo 妫�鏌ョ敵璇峰崟鍙�
+     * @param examNo 浣撴鍙�
+     * @param name 鐥呬汉濮撳悕
+     * @return
+     */
+    public AjaxResult updatePacsApply(String regNo,String examNo,String name){
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("regNo", regNo);
+        hashMap.put("examNo", examNo);
+        hashMap.put("name", name);
+        return getMethodService.getPacsData("updatePacsApply",hashMap);
+    }
+
+    public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer,List<TbTransition> detailList) {
+        if (detailList != null && !detailList.isEmpty()) {
+            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);
+            ArrayList<SavePacsApply> errorPacsList = new ArrayList<>();
+            ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
+            int allTotal = 0;
+            if (projects != null && !projects.isEmpty()){
+                for (TjProject project : projects) {
+                    if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                        if (null != project.getHisXmbm()) {
+                            SavePacsApply savePacsApply = new SavePacsApply();
+                            savePacsApply.setExamNo(tjOrder.getCardId());
+                            savePacsApply.setName(tjCustomer.getCusName());
+                            savePacsApply.setSex(tjCustomer.getCusSex()==1?"2":"1");
+                            AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday());
+                            savePacsApply.setAge(String.valueOf(ageResult.getAge()));
+                            savePacsApply.setAgeUnit(String.valueOf(ageResult.getUnit()));
+                            savePacsApply.setBirthday(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd"));
+                            savePacsApply.setCardNumber(tjCustomer.getCusIdcard());
+                            savePacsApply.setTel(tjCustomer.getCusPhone());
+                            Date date = new Date();
+                            String regNo = "jk_"+DateFormatUtils.format(date, "yyyyMMddHHmmss") +"_"+project.getHisXmbm();
+                            savePacsApply.setRegNo(regNo);
+                            savePacsApply.setCheckItemID(project.getHisXmbm());
+                            savePacsApply.setCheckItem(project.getHisXmmc());
+                            savePacsApply.setCheckPosition("");
+                            savePacsApply.setAmount(project.getProPrice());
+                            savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+                            savePacsApply.setApplyDepment("0101");
+                            savePacsApply.setApplyDepmentName("浣撴涓績");
+                            savePacsApply.setApplyDoctor("00029");
+                            savePacsApply.setApplyDoctorName("鐜嬪仴钀�");
+                            savePacsApply.setExecDepment("0101");
+                            savePacsApply.setExecDepmentName("浣撴涓績");
+                            savePacsApply.setCreateTime(savePacsApply.getApplyDate());
+                            savePacsApply.setDevice("");
+                            savePacsApply.setDeviceType("");
+                            AjaxResult ajaxResult = savePacsApply(savePacsApply);
+                            String result = ajaxResult.get("data").toString();
+                            JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response"));
+                            log.info("璇锋眰杩斿洖 ->{}",object);
+                            String code = object.getStr("ResultCode");
+                            allTotal++;
+                            if(code.equals("0")){
+                                successPacsList.add(savePacsApply);
+                                LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                                tree.setCardId(tjOrder.getCardId());
+                                tree.setPationid(tjCustomer.getPationId());
+                                tree.setSqdh(regNo);
+                                tree.setFyhj(String.valueOf(project.getProPrice()));
+                                tree.setHisXmdm(project.getHisXmbm());
+                                tree.setType("妫�鏌�");
+                                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);
+                            }else {
+                                errorPacsList.add(savePacsApply);
+                            }
+                        }
+                    }
+                }
+            }
+            log.info("妫�鏌ユ�昏 ->{}涓�",allTotal);
+            if (!errorPacsList.isEmpty()){
+                log.info("鎴愬姛 ->{}",successPacsList);
+                log.error("澶辫触 ->{}",errorPacsList);
+            }
+        }
+        return true;
+    }
+
+    /*         鏌ヨ妫�鏌ョ粨鏋溿�佹洿鏂版煡璇㈢姸鎬�           */
+    // 璋冪敤杩斿洖妫�楠岀粨鏋滐細
+    // exec usp_tjjk_pacsjg 鈥樹綋妫�鍙封��
+    // 璋冪敤鏇存柊鐘舵�侊細
+    // exec usp_tjjk_pacszt 鈥樹綋妫�鍙封��
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/pacsDto/SavePacsApply.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/pacsDto/SavePacsApply.java
new file mode 100644
index 0000000..c9af3cd
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/pacsDto/SavePacsApply.java
@@ -0,0 +1,109 @@
+package com.ltkj.hosp.pacsDto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2024/9/18 10:57
+ */
+@Data
+public class SavePacsApply {
+    /**
+     * 浣撴鍙�
+     */
+    private String examNo;
+    /**
+     * 鐥呬汉濮撳悕
+     */
+    private String name;
+    /**
+     * 鎬у埆 1-鐢� 2-濂�
+     */
+    private String sex;
+    /**
+     * 骞撮緞
+     */
+    private String age;
+    /**
+     * 骞撮緞鍗曚綅 1-宀� 2-鏈� 3-澶� 4-灏忔椂 5-鍒嗛挓
+     */
+    private String ageUnit;
+    /**
+     * 鍑虹敓鏃ユ湡鏍煎紡锛歽yyy-mm-dd
+     */
+    private String birthday;
+    /**
+     * 韬唤璇佸彿
+     */
+    private String cardNumber;
+    /**
+     * 鐢佃瘽
+     */
+    private String tel;
+    /**
+     * 妫�鏌ョ敵璇峰崟鍙�
+     */
+    private String regNo;
+    /**
+     * 妫�鏌ラ」鐩紪鐮� 浼犱綋妫�绯荤粺涓殑椤圭洰缂栫爜
+     */
+    private String checkItemID;
+    /**
+     * 妫�鏌ラ」鐩悕绉� 浼犱綋妫�绯荤粺涓殑椤圭洰鍚嶇О
+     */
+    private String checkItem;
+    /**
+     * 妫�鏌ラ儴浣�
+     */
+    private String checkPosition;
+    /**
+     * 閲戦
+     */
+    private BigDecimal amount;
+    /**
+     * 鐢宠鏃堕棿 鏍煎紡锛歽yyy-mm-dd hh:mm:ss
+     */
+    private String applyDate;
+    /**
+     * 鐢宠绉戝
+     */
+    private String applyDepment;
+    /**
+     * 鐢宠绉戝鍚嶇О
+     */
+    private String applyDepmentName;
+    /**
+     * 鐢宠鍖荤敓
+     */
+    private String applyDoctor;
+    /**
+     * 鐢宠鍖荤敓濮撳悕
+     */
+    private String applyDoctorName;
+    /**
+     * 鎵ц绉戝
+     */
+    private String execDepment;
+    /**
+     * 鎵ц绉戝鍚嶇О
+     */
+    private String execDepmentName;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    private String createTime;
+    /**
+     * 妫�鏌ヨ澶�
+     */
+    private String device;
+    /**
+     * 妫�鏌ヨ澶囩被鍨�
+     * CT/MR/CR/DX/US/AU/BI/CD/DD/DG/ECG/ES/GM/HC/IO/
+     * IVUS/KO/LS/MG/NM/OP/OT/PET/PR/PT/PX/RF/RG/SM/
+     * SR/ST/XA/XC/DR
+     */
+    private String deviceType;
+}

--
Gitblit v1.8.0