From cd6114bf85d19e6bdcd6a17c66f34b8c838870d5 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期三, 16 十月 2024 15:31:23 +0800 Subject: [PATCH] 增加标本代码设置 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 366 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 313 insertions(+), 53 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..8f944bc 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,21 @@ 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.lis.LisApiMethod; +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 +66,14 @@ private LtkjEjjfxmzdService ltkjEjjfxmzdService; @Autowired private TjCfService cfService; + @Autowired + private PacsApiMethodService pacsApiMethodService; + @Autowired + private ITjOrderDetailService tjOrderDetailService; + @Autowired + private TjSysAsyncServiceImpl tjSysAsyncService; + @Autowired + private LisApiMethod lisApiMethod; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -528,10 +541,192 @@ 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); + List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.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 - public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order) { + public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -545,43 +740,70 @@ List<String> cfhs = cfService.getCfhs(order.getCardId()); - //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� - if (null != jcsqdh && jcsqdh.size()>0) { - for (String s : jcsqdh) { - AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if (code.equals("0")) { - orderService.delHuoQuJcsqdh(order.getCardId()); - } -// else { -// return false; -// } - } - - } - - - //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; - if (null != jysqdh && jysqdh.size()>0) { - for (String s : jysqdh) { - ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); - result2 = getAjaxResult(ajaxResult); - object1 = getJSONObject(result2); - code1 = object1.getStr("ResultCode"); - if (code1.equals("0")) { - orderService.delHuoQuJysqdh(order.getCardId()); + if (isUseLisAndPacsRegister){ + TjCustomer customer1 = customerService.getById(order.getUserId()); + // 浣滃簾妫�鏌ョ敵璇� + if (jcsqdh != null && !jcsqdh.isEmpty()){ + for (String sqdh : jcsqdh) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuJcsqdh(order.getCardId()); + } } + } + // 浣滃簾妫�楠岀敵璇� + if (jysqdh != null && !jysqdh.isEmpty()){ + for (String sqdh : jysqdh) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelLisAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code= object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuJysqdh(order.getCardId()); + } + } + } + + }else { + //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + if (null != jcsqdh && jcsqdh.size()>0) { + for (String s : jcsqdh) { + AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + orderService.delHuoQuJcsqdh(order.getCardId()); + } // else { // return false; // } + } + + } + //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� + if (null != jysqdh && jysqdh.size()>0) { + for (String s : jysqdh) { + ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuJysqdh(order.getCardId()); + } +// else { +// return false; +// } + } } } @@ -641,36 +863,70 @@ List<String> cfhs = cfService.getCfBlhs(order.getCardId(),bldh); - //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� - if (null != jcsqdh && jcsqdh.size()>0) { - for (String s : jcsqdh) { - AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if (code.equals("0")) { - orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); - } - } - - } - - - //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� - AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; - if (null != jysqdh && jysqdh.size()>0) { - for (String s : jysqdh) { - ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); - result2 = getAjaxResult(ajaxResult); - object1 = getJSONObject(result2); - code1 = object1.getStr("ResultCode"); - if (code1.equals("0")) { - orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + if (lisApiMethod.isUseLisAndPacsRegister(order)) { + TjCustomer customer1 = customerService.getById(order.getUserId()); + // 浣滃簾妫�鏌ョ敵璇� + if (jcsqdh != null && !jcsqdh.isEmpty()){ + for (String sqdh : jcsqdh) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + // 浣滃簾妫�楠岀敵璇� + if (jysqdh != null && !jysqdh.isEmpty()){ + for (String sqdh : jysqdh) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelLisAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code= object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + }else { + //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + if (null != jcsqdh && jcsqdh.size()>0) { + for (String s : jcsqdh) { + AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� + if (null != jysqdh && jysqdh.size()>0) { + for (String s : jysqdh) { + ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + }else { + return false; + } } } } @@ -684,6 +940,8 @@ code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(order.getCardId(),bldh); + }else { + return false; } } } @@ -697,6 +955,8 @@ String code = object.getStr("ResultCode"); if(null !=code && code.equals("0")){ cfService.delCfByCardId(cfh); + }else { + return false; } } } -- Gitblit v1.8.0