From 96e8bad7c51dd16d6775166c36017d92ce5b7b14 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 20 九月 2024 18:06:17 +0800
Subject: [PATCH] lis申请类

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 178 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
index 86950f9..cb7c29f 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -1,10 +1,188 @@
 package com.ltkj.web.controller.lis;
 
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
+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.lisDto.LisSaveSqdxxDto;
+import com.ltkj.hosp.lisDto.LisSaveSqdxxJyxmlistDto;
+import com.ltkj.hosp.service.*;
+import com.ltkj.system.service.ISysDeptService;
 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.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Component
 @Slf4j
 public class LisApiMethod {
+    @Autowired
+    private LisApiMethodService lisApiMethodService;
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private ITjProjectService projectService;
+    @Autowired
+    private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService;
+    @Autowired
+    private LtkjMxjfxmzdService ltkjMxjfxmzdService;
+    @Autowired
+    private LtkjEjjfxmzdService ltkjEjjfxmzdService;
+    @Autowired
+    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
+    @Autowired
+    private LtkjJfzhgljyxmzdService ltkjJfzhgljyxmzdService;
+    @Autowired
+    private LtkjJyxmzdService ltkjJyxmzdService;
+    @Autowired
+    private LtkjJfxmgljyxmzdService ltkjJfxmgljyxmzdService;
+
+    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.getJyDeptIds());
+            List<TjProject> projects = projectService.list(wq);
+            List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+            if (projects != null && !projects.isEmpty()){
+                LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
+                ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
+                BigDecimal allPrice = new BigDecimal("0");
+                // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm`
+                // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm`
+                // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm`
+                int xh = 0;
+                for (TjProject project : projects) {
+                    if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                        if (null != project.getHisXmbm()) {
+                            allPrice.add(project.getProPrice());
+                            LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>();
+                            wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm());
+                            LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper);
+                            if (jfzhgljyxmzd != null) {
+//                                LambdaQueryWrapper<LtkjJyxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                                wrapper1.eq(LtkjJyxmzd::getJyxmdm, jfzhgljyxmzd.getJyxmdm());
+//                                LtkjJyxmzd jyxmzd = ltkjJyxmzdService.getOne(wrapper1);
+                                LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+                                dto.setXh(String.valueOf(xh++));
+                                dto.setJyxm(jfzhgljyxmzd.getJyxmdm());
+                                dto.setXmmc(jfzhgljyxmzd.getZhxmmc());
+                                dtos.add(dto);
+
+                                OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                if (project.getSfzhfy().equals("Y")) {
+                                    detailsDto.setSfzhfy("1");
+                                } else {
+                                    detailsDto.setSfzhfy("0");
+                                }
+                                detailsDto.setSl(project.getSl());
+                                detailsDto.setProjg(project.getProPrice());
+                                detailsDtos.add(detailsDto);
+                            }else {
+                                LambdaQueryWrapper<LtkjJfxmgljyxmzd> wrapper1 = new LambdaQueryWrapper<>();
+                                wrapper1.eq(LtkjJfxmgljyxmzd::getXmdm, project.getHisXmbm());
+                                LtkjJfxmgljyxmzd jfxmgljyxmzd = ltkjJfxmgljyxmzdService.getOne(wrapper1);
+                                if (jfxmgljyxmzd != null) {
+                                    LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+                                    dto.setXh(String.valueOf(xh++));
+                                    dto.setJyxm(jfxmgljyxmzd.getJyxmdm());
+                                    dto.setXmmc(jfxmgljyxmzd.getXmmc());
+                                    dtos.add(dto);
+
+                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                    if (project.getSfzhfy().equals("Y")) {
+                                        detailsDto.setSfzhfy("1");
+                                    } else {
+                                        detailsDto.setSfzhfy("0");
+                                    }
+                                    detailsDto.setSl(project.getSl());
+                                    detailsDto.setProjg(project.getProPrice());
+                                    detailsDtos.add(detailsDto);
+                                }
+                            }
+                        }
+                    }
+                }
+                String sqdh = "妫�楠屽簭鍙�-鏉$爜鍙凤紙10 浣嶏紝瑙勫垯涓嶈兘鏄� 2 寮�澶达級 涓嶈兘閲嶅";
+                lisSaveSqdxxDto.setJyxh(sqdh);
+                lisSaveSqdxxDto.setBah(tjOrder.getCardId());
+                lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName());
+                lisSaveSqdxxDto.setBrdm(PinyinUtil.getPinyin(tjCustomer.getCusName()));
+                lisSaveSqdxxDto.setXb(tjCustomer.getCusSex()==1?"2":"1");
+                lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd"));
+                AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday());
+                lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge()));
+                lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit()));
+                lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard());
+                lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone());
+                lisSaveSqdxxDto.setJtzz("");
+                Date date = new Date();
+                lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+                lisSaveSqdxxDto.setYbbm("鏍锋湰-鍥炰紶鏍锋湰瀛楀吀涓殑缂栫爜");
+                lisSaveSqdxxDto.setCyrq("");
+                lisSaveSqdxxDto.setLczd("");
+                lisSaveSqdxxDto.setFyje(allPrice.toString());
+                lisSaveSqdxxDto.setBz("");
+                lisSaveSqdxxDto.setKsbm("0101");
+                lisSaveSqdxxDto.setSqys("00029");
+                lisSaveSqdxxDto.setJyxmlistDtoList(dtos);
+                if (!detailsDtos.isEmpty()){
+                    AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
+                    String result = ajaxResult.get("data").toString();
+                    JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response"));
+                    log.info("璇锋眰杩斿洖 ->{}",object);
+                    String code = object.getStr("ResultCode");
+                    if(code.equals("0")){
+                        for (OutpintestapplyDetailsDto detail : detailsDtos) {
+                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                            tree.setCardId(tjOrder.getCardId());
+                            tree.setPationid(tjCustomer.getPationId());
+                            tree.setSqdh(sqdh);
+                            tree.setFyhj(allPrice.toString());
+                            String mxfyxmbm = detail.getMxfyxmbm();
+                            tree.setHisXmdm(mxfyxmbm);
+                            tree.setType("妫�楠�");
+                            tree.setTjPrice(String.valueOf(detail.getProjg()));
+                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+                            if (detail.getSfzhfy().equals("1"))
+                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+                            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 {
+                        log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto);
+                    }
+                }
+            }
+        }
+        return true;
+    }
 }

--
Gitblit v1.8.0