From 0767d514fbfa1612928953ef9757e65abeecf400 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期一, 14 十月 2024 11:24:00 +0800
Subject: [PATCH] 增加lis pacs签到登记

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java |  190 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 190 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
index 0163456..620bb2a 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -8,16 +8,20 @@
 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.SysUser;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.hisDto.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
+import com.ltkj.web.controller.pacs.PacsApiMethodService;
+import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
 import jdk.nashorn.internal.runtime.logging.Logger;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -61,6 +65,12 @@
     private LtkjEjjfxmzdService ltkjEjjfxmzdService;
     @Autowired
     private TjCfService cfService;
+    @Autowired
+    private PacsApiMethodService pacsApiMethodService;
+    @Autowired
+    private ITjOrderDetailService tjOrderDetailService;
+    @Autowired
+    private TjSysAsyncServiceImpl tjSysAsyncService;
 
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
@@ -528,6 +538,186 @@
         return AjaxResult.success();
     }
 
+    public AjaxResult tijianshenqing(TjCustomer customer, String date, TjOrder tjOrder, SysUser sysUser, AjaxResult result) {
+        List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId());
+        if (!pacsApiMethodService.save(tjOrder, customer, detailList)) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            Object jzh = result.get("jzh");
+            if (null != jzh && null != jzh.toString()) {
+                ZfHisApiMethod(jzh.toString());
+            }
+            log.error("pacs鐢宠澶辫触 璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
+            return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
+        }
+        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
+        wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
+        wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
+        wq2.eq(TjOrderDetail::getIsSampling, 0);
+        List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
+        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList.isEmpty(), tjOrder, sysUser);
+
+        //妫�楠岀敵璇�
+        OutpintestapplyDto dto = new OutpintestapplyDto();
+        dto.setHisRegistrationId(tjOrder.getCardId());
+        dto.setSfzh(customer.getCusIdcard());
+        dto.setSqysbm("00029");
+        dto.setMzksbm("0101");
+        dto.setSjrq(date);
+        dto.setCzybm("00029");
+        dto.setCzyksbm("0101");
+        dto.setSfjz("0");
+
+        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
+
+        //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+        OutpintreatapplyDto dao = new OutpintreatapplyDto();
+        dao.setHisRegistrationId(tjOrder.getCardId());
+        dao.setSfzh(customer.getCusIdcard());
+        dao.setSqysbm("00029");
+        dao.setMzksbm("0101");
+        dao.setSjrq(date);
+        dao.setCzybm("00029");
+        dao.setCzyksbm("0101");
+        dao.setSfjz("0");
+        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+        if (!detailList.isEmpty()) {
+            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+            wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
+            List<TjProject> projects = projectService.list(wq);
+            if (null != projects && !projects.isEmpty()) {
+                for (TjProject project : projects) {
+                    if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                        if (null != project.getHisXmbm()) {
+                            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());
+                            detailDtos.add(detailsDto);
+                        }
+                        if(project.getProId()==1740177341251154377L){
+                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                            detilsDto.setYpbm("00006670");
+                            detilsDto.setPcbm("06");
+                            detilsDto.setSl("1");
+                            detilsDto.setDj("60");
+                            detilsDto.setDcjl("1");
+                            detilsDto.setPj("60");
+                            detilsDto.setJj("60");
+                            detilsDto.setJldw("");
+                            detilsDto.setTjbm("");
+                            detilsDto.setPs("");
+                            detilsDto.setPsbm("");
+                            detilsDto.setYyts("");
+                            detilsDto.setXtph("");
+                            detilsDto.setScph("");
+                            detilsDto.setYpxq("");
+                            detilsDto.setCdbm("");
+                            detilsDto.setKfdw("");
+                            detilsDto.setYfdw("");
+                            detilsDto.setYysm("");
+                            detilsDto.setFzbl("1");
+                            detilsDto.setZh("0");
+                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                        }
+                    }
+                }
+            }
+        }
+        if (!detailDtos.isEmpty()) {
+            dao.setDetails(detailDtos);
+            AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
+            String mzylyzsq2 = getAjaxResult(mzylyzsq1);
+            JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
+            String code5 = mzylyzsq3.getStr("ResultCode");
+            if (code5.equals("0")) {
+                List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
+                for (OutpintestapplyDetailsDto detail : details1) {
+                    LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                    tree.setCardId(dao.getHisRegistrationId());
+                    tree.setPationid(customer.getPationId());
+                    JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
+                    tree.setSqdh(resultData.getStr("zlczh"));
+                    tree.setFyhj(resultData.getStr("fyhj"));
+                    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);
+                }
+            }
+        }
+
+        //鑽搧鐢宠
+        if(!outpinmedicapplyDetilsDtos.isEmpty()){
+            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+            dto1.setHisRegistrationId(tjOrder.getCardId());
+            dto1.setSfzh(customer.getCusIdcard());
+            dto1.setSqysbm("00029");
+            dto1.setMzksbm("0101");
+            dto1.setSjrq(date);
+            dto1.setCzybm("00029");
+            dto1.setCzyksbm("0101");
+            dto1.setCflxbm("A");
+            dto1.setYfbm("1");
+            dto1.setFyts("1");
+            dto1.setMzzd("");
+            dto1.setDetails(outpinmedicapplyDetilsDtos);
+            AjaxResult resultt = controller.Outpinmedicapply(dto1);
+            String result1 = getAjaxResult(resultt);
+            JSONObject object = getJSONObject(result1);
+            String code = object.getStr("ResultCode");
+            if(null !=code && code.equals("0")){
+                JSONObject resultData = object.getJSONObject("ResultData");
+//                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
+                String cfh = resultData.getStr("cfh");
+                log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+"  outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString());
+                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
+                    TjCf cf=new TjCf();
+                    cf.setCardId(tjOrder.getCardId());
+                    cf.setSfzh(customer.getCusIdcard());
+                    cf.setCfh(cfh);
+                    cf.setSqysbm("00029");
+                    cf.setSqysxm("鐜嬪仴钀�");
+                    cf.setMzksbn("0101");
+                    cf.setSqrq(date);
+                    cf.setCzybm("00029");
+                    cf.setYpbm(detilsDto.getYpbm());
+                    cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
+                    cf.setSl(String.valueOf(detilsDto.getSl()));
+                    cf.setDj(String.valueOf(detilsDto.getDj()));
+                    cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
+                    cf.setPj(String.valueOf(detilsDto.getPj()));
+                    cf.setJj(String.valueOf(detilsDto.getJj()));
+                    cf.setCreateTime(new Date());
+                    cfService.save(cf);
+                }
+            }
+        }
+
+        return AjaxResult.success();
+    }
 
     //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔
     @Transactional

--
Gitblit v1.8.0