From b7adb9e5316030aabfb90a8ff1b43c848aa550ec Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 05 六月 2025 12:37:45 +0800
Subject: [PATCH] 小程序查报告接口增加返回检查综述以及医师建议

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java |  163 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 90 insertions(+), 73 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 fc7d4a7..28a48a6 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
@@ -22,6 +22,7 @@
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
 import com.ltkj.web.controller.his.HisApiGetMethodService;
+import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -146,90 +147,106 @@
         if (projects != null && !projects.isEmpty()) {
             String dept = configService.selectConfigByKey("request_default_dept");
             String ysbm = configService.selectConfigByKey("request_default_ysbm");
+            String ysmc = configService.selectConfigByKey("request_default_ysmc");
             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 = "M_jk" + tjOrder.getCardId() +"_" + project.getHisXmbm();
-                        savePacsApply.setRegNo(regNo);
-                        JSONObject jsonObject = JSONUtil.createObj();
-                        jsonObject.putOpt("cardId", tjOrder.getCardId());
-                        jsonObject.putOpt("regNo", regNo);
-                        jsonObject.putOpt("name", tjCustomer.getCusName());
-                        array.add(jsonObject);
-                        savePacsApply.setCheckItemID(project.getHisXmbm());
-                        savePacsApply.setCheckItem(project.getHisXmmc());
-                        // TODO 妫�鏌ラ儴浣�
-                        savePacsApply.setCheckPosition("-");
-                        savePacsApply.setAmount(project.getProPrice());
-                        savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
-                        savePacsApply.setApplyDepment(dept);
-                        savePacsApply.setApplyDepmentName("浣撴涓績");
-                        savePacsApply.setApplyDoctor(ysbm);
-                        savePacsApply.setApplyDoctorName("鐜嬪仴钀�");
-                        savePacsApply.setExecDepment(dept);
-                        savePacsApply.setExecDepmentName("浣撴涓績");
-                        savePacsApply.setCreateTime(savePacsApply.getApplyDate());
-                        // TODO 妫�鏌ヨ澶�
-                        savePacsApply.setDevice("-");
-                        // TODO 妫�鏌ヨ澶囩被鍨�
-                        savePacsApply.setDeviceType("-");
-                        log.info("PACS妫�鏌ョ敵璇� ->{}", JSONUtil.toJsonStr(savePacsApply));
-                        AjaxResult ajaxResult = savePacsApply(savePacsApply);
-                        log.info("杩斿洖 ->{}",JSONUtil.toJsonStr(ajaxResult));
-                        String result = ajaxResult.get("data").toString();
-                        JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result));
-                        log.info("PACS璇锋眰杩斿洖 ->{}", object);
-                        String code = object.getStr("ResultCode");
-                        allTotal++;
-                        if (code.equals("1")) {
-                            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.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());
+                    if(project.getSfzhfy().equalsIgnoreCase("Y")){
+                        allTotal = getAllTotal(tjOrder, tjCustomer, array, successPacsList, errorPacsList, project, dept, ysbm, ysmc, allTotal);
+                    }else {
+                        List<TjProject> bySoneId = projectService.getTjProjectListBySoneId(project.getProId().toString());
+                        for (TjProject tjProject : bySoneId) {
+                            if(project.getProPrice().compareTo(BigDecimal.ZERO) != 0){
+                                allTotal = getAllTotal(tjOrder, tjCustomer, array, successPacsList, errorPacsList, tjProject, dept, ysbm, ysmc, allTotal);
                             }
-                            tree.setCreateTime(DateUtil.date());
-                            ltkjJianchajianyanTreeService.save(tree);
-                        } else {
-                            errorPacsList.add(savePacsApply);
                         }
                     }
+
                 }
             }
         }
         return allTotal;
     }
 
+    private int getAllTotal(TjOrder tjOrder, TjCustomer tjCustomer, JSONArray array, ArrayList<SavePacsApply> successPacsList, ArrayList<SavePacsApply> errorPacsList, TjProject project, String dept, String ysbm, String ysmc, int allTotal) {
+        if (StringUtil.isNotBlank(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 = "M_jk" + tjOrder.getCardId() +"_" + project.getHisXmbm();
+            savePacsApply.setRegNo(regNo);
+            JSONObject jsonObject = JSONUtil.createObj();
+            jsonObject.putOpt("cardId", tjOrder.getCardId());
+            jsonObject.putOpt("regNo", regNo);
+            jsonObject.putOpt("name", tjCustomer.getCusName());
+            array.add(jsonObject);
+            savePacsApply.setCheckItemID(project.getHisXmbm());
+            savePacsApply.setCheckItem(project.getProName());
+            // TODO 妫�鏌ラ儴浣�
+            savePacsApply.setCheckPosition("-");
+            savePacsApply.setAmount(project.getProPrice());
+            savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+            savePacsApply.setApplyDepment(dept);
+            savePacsApply.setApplyDepmentName("浣撴涓績");
+            savePacsApply.setApplyDoctor(ysbm);
+            savePacsApply.setApplyDoctorName(ysmc);
+            savePacsApply.setExecDepment(dept);
+            savePacsApply.setExecDepmentName("浣撴涓績");
+            savePacsApply.setCreateTime(savePacsApply.getApplyDate());
+            // TODO 妫�鏌ヨ澶�
+            savePacsApply.setDevice("-");
+            // TODO 妫�鏌ヨ澶囩被鍨�
+            savePacsApply.setDeviceType("-");
+            log.info("PACS妫�鏌ョ敵璇� ->{}", JSONUtil.toJsonStr(savePacsApply));
+            AjaxResult ajaxResult = savePacsApply(savePacsApply);
+            log.info("杩斿洖 ->{}",JSONUtil.toJsonStr(ajaxResult));
+            String result = ajaxResult.get("data").toString();
+            JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result));
+            log.info("PACS璇锋眰杩斿洖 ->{}", object);
+            String code = object.getStr("ResultCode");
+            allTotal++;
+            if (code.equals("1")) {
+                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.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);
+            } else {
+                errorPacsList.add(savePacsApply);
+            }
+        }
+        return allTotal;
+    }
+
     /*         鏌ヨ妫�鏌ョ粨鏋溿�佹洿鏂版煡璇㈢姸鎬�           */
     // 璋冪敤杩斿洖妫�楠岀粨鏋滐細
     // exec usp_tjjk_pacsjg 鈥樹綋妫�鍙封��

--
Gitblit v1.8.0