From 73a816fd2b1e29c25d615c85ce34b12b55c16ccf Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 20 一月 2025 13:41:45 +0800 Subject: [PATCH] zjh20250120 --- ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java | 462 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 369 insertions(+), 93 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 9b66719..c202786 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 @@ -16,7 +16,9 @@ import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; import com.ltkj.hosp.lisDto.LisSaveSqdxxDto; import com.ltkj.hosp.lisDto.LisSaveSqdxxJyxmlistDto; +import com.ltkj.hosp.mapper.TbTransitionMapper; import com.ltkj.hosp.service.*; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateFormatUtils; @@ -24,10 +26,7 @@ import org.springframework.stereotype.Component; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -58,6 +57,16 @@ private LtkjJyxmzdService jyxmzdService; @Autowired private IdUtils idUtils; + @Autowired + private ISysConfigService configService; + @Autowired + private ITjOrderService orderService; + @Autowired + private ITjCustomerService customerService; + @Autowired + private TbTransitionMapper tbTransitionMapper; + @Autowired + private ITjSamplingService tjSamplingService; /** * 淇濆瓨妫�楠屽崟鐢宠淇℃伅 @@ -65,9 +74,14 @@ * @param tjCustomer * @param detailList * @return + * @deprecated 淇敼 涓嶄娇鐢↙ist<TbTransition>浼犲弬鏁� */ + @Deprecated public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList){ if (detailList != null && !detailList.isEmpty()) { + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); @@ -76,50 +90,18 @@ // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm` // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm` // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm` + AtomicInteger xh = new AtomicInteger(); for (TjProject project : projects) { - List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (null != project.getHisXmbm()) { - LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); - LtkjJyxmzd jyxmzd = getGetYbDm(project); - BigDecimal allPrice = new BigDecimal("0"); - for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId())) - .collect(Collectors.toList())) { - allPrice = allPrice.add(transition.getNowPrice()); - } + LtkjJyxmzd jyxmzd = getJyxmzd(project); if (jyxmzd != null) { - ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); - AtomicInteger xh = new AtomicInteger(); - detailList.stream().filter(detail -> detail.getParentProId().equals(project.getProId())) - .forEach(item -> { - LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); - dto.setXh(String.valueOf(xh.getAndIncrement())); - TjProject project1 = projectService.getById(item.getProId()); - LtkjJyxmzd jyxmzd1 = getGetYbDm(project1); - if (jyxmzd1 == null) dto.setJyxm(project1.getHisXmbm()); - else dto.setJyxm(jyxmzd1.getJyxmdm()); - dto.setXmmc(project1.getProName()); - 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 yyyyMMdd = DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyyMMdd"); -// String sqdh = "3"+yyyyMMdd.substring(2)+ RandomUtil.randomString(String.valueOf(System.currentTimeMillis()), 3); - String jyxh = idUtils.generateID(); + LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); + String jyxh = idUtils.generateLisID(lis_tmh_prefix); lisSaveSqdxxDto.setJyxh(jyxh); lisSaveSqdxxDto.setBah(tjOrder.getCardId()); lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); - lisSaveSqdxxDto.setBrdm(PinyinUtil.getPinyin(tjCustomer.getCusName())); + lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); lisSaveSqdxxDto.setXb(tjCustomer.getCusSex()==1?"2":"1"); lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); @@ -130,55 +112,326 @@ lisSaveSqdxxDto.setJtzz(""); Date date = new Date(); lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); - lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm()); lisSaveSqdxxDto.setCyrq(""); lisSaveSqdxxDto.setLczd(""); - lisSaveSqdxxDto.setFyje(allPrice.toString()); lisSaveSqdxxDto.setBz(""); - lisSaveSqdxxDto.setKsbm("0101"); - lisSaveSqdxxDto.setSqys("00029"); - lisSaveSqdxxDto.setJyxmlistDtoList(dtos); - log.info("妫�楠岀敵璇� ->{}",JSONUtil.toJsonStr(lisSaveSqdxxDto)); - // TODO 鏆備笉鍙戝嚭璇锋眰 - if (!detailsDtos.isEmpty() && false) { - 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(jyxh); - 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> wrapper3 = new LambdaQueryWrapper<>(); - wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); - LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); - LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); - wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); - LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); - tree.setXmfl(ejjfxmzd.getYjkmdm()); - } - tree.setCreateTime(DateUtil.date()); - ltkjJianchajianyanTreeService.save(tree); - } - }else { - log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto); - } + lisSaveSqdxxDto.setKsbm(dept); + lisSaveSqdxxDto.setSqys(ysbm); + lisSaveSqdxxDto.setKfbz("1"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); + BigDecimal allPrice = new BigDecimal("0"); + for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId())) + .collect(Collectors.toList())) { + allPrice = allPrice.add(transition.getNowPrice()); } + lisSaveSqdxxDto.setFyje(allPrice.toString()); + lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(jyxmzd.getJyxmdm()); + dto.setXmmc(jyxmzd.getJyxmmc()); + 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); + + lisSaveSqdxxDto.setJyxmlist(dtos); + log.info("妫�楠岀敵璇峰弬鏁� ->{}",JSONUtil.toJsonStr(lisSaveSqdxxDto)); + AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); + // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}} + // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}} + log.info("Lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(ajaxResult)); + String result = ajaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + for (OutpintestapplyDetailsDto detail : detailsDtos) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getCardId()); + tree.setPationid(tjCustomer.getPationId()); + tree.setSqdh(jyxh); + tree.setFyhj(allPrice.toString()); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("lis"); + 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> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + ltkjJianchajianyanTreeService.save(tree); + } + }else { + log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto); + } + } + } + } + } + } + } + return true; + } + + public Boolean save(TjSampling sampling,TjOrder tjOrder,TjCustomer tjCustomer){ + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + AtomicInteger xh = new AtomicInteger(); + LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); +// String jyxh = idUtils.generateLisID(); + lisSaveSqdxxDto.setJyxh(sampling.getJyxh()); + lisSaveSqdxxDto.setBah(tjOrder.getCardId()); + lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); + lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(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.setCyrq(""); + lisSaveSqdxxDto.setLczd(""); + lisSaveSqdxxDto.setBz(""); + lisSaveSqdxxDto.setKsbm(dept); + lisSaveSqdxxDto.setSqys(ysbm); + lisSaveSqdxxDto.setKfbz("1"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); + BigDecimal allPrice; + if (sampling.getProId().contains(",")){ + allPrice = tbTransitionMapper.getLisPriceByTjNumAndInParentProId(tjOrder.getTjNumber(), Arrays.asList(sampling.getProId().split(","))); + }else { + allPrice = tbTransitionMapper.getLisPriceByTjNumAndParentProId(tjOrder.getTjNumber(), sampling.getProId()); + } + lisSaveSqdxxDto.setFyje(allPrice.toString()); + lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode()); + + if (sampling.getIsMerge() == 1){ + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getParentId, sampling.getId()); + List<TjSampling> list = tjSamplingService.list(wrapper); + for (TjSampling tjSampling : list) { + TjProject project = projectService.getById(tjSampling.getProId()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(tjSampling.getJyxmdm()); + dto.setXmmc(tjSampling.getProName()); + 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 { + TjProject project = projectService.getById(sampling.getProId()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(sampling.getJyxmdm()); + dto.setXmmc(sampling.getProName()); + 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); + } + + lisSaveSqdxxDto.setJyxmlist(dtos); + log.info("妫�楠岀敵璇峰弬鏁� ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto)); +// if (true) +// return true; + AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); + // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}} + // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}} + log.info("Lis璇锋眰杩斿洖 ->{}", JSONUtil.toJsonStr(ajaxResult)); + String result = ajaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if (code.equals("1")) { + for (OutpintestapplyDetailsDto detail : detailsDtos) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getCardId()); + tree.setPationid(tjCustomer.getPationId()); + tree.setSqdh(sampling.getJyxh()); + tree.setFyhj(allPrice.toString()); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("lis"); + 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> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + tree.setJxbz(sampling.getJxbz()); + ltkjJianchajianyanTreeService.save(tree); + } + return true; + } else { + log.error("璇锋眰澶辫触 ->{}", lisSaveSqdxxDto); + return false; + } + } + + public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TjProject> projects,List<TbTransition> detailList) { +// 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); + + if (projects != null && !projects.isEmpty()) { + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm` + // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm` + // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm` + AtomicInteger xh = new AtomicInteger(); + for (TjProject project : projects) { + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + LtkjJyxmzd jyxmzd = getJyxmzd(project); + if (jyxmzd != null) { + LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); + String jyxh = idUtils.generateLisID(lis_tmh_prefix); + lisSaveSqdxxDto.setJyxh(jyxh); + lisSaveSqdxxDto.setBah(tjOrder.getCardId()); + lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); + lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(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.setCyrq(""); + lisSaveSqdxxDto.setLczd(""); + lisSaveSqdxxDto.setBz(""); + lisSaveSqdxxDto.setKsbm(dept); + lisSaveSqdxxDto.setSqys(ysbm); + lisSaveSqdxxDto.setKfbz("1"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); + BigDecimal allPrice = new BigDecimal("0"); + for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId())) + .collect(Collectors.toList())) { + allPrice = allPrice.add(transition.getNowPrice()); + } + lisSaveSqdxxDto.setFyje(allPrice.toString()); + lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(jyxmzd.getJyxmdm()); + dto.setXmmc(jyxmzd.getJyxmmc()); + 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); + + lisSaveSqdxxDto.setJyxmlist(dtos); + log.info("妫�楠岀敵璇峰弬鏁� ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto)); + AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); + // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}} + // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}} + log.info("Lis璇锋眰杩斿洖 ->{}", JSONUtil.toJsonStr(ajaxResult)); + String result = ajaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if (code.equals("1")) { + for (OutpintestapplyDetailsDto detail : detailsDtos) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getCardId()); + tree.setPationid(tjCustomer.getPationId()); + tree.setSqdh(jyxh); + tree.setFyhj(allPrice.toString()); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("lis"); + 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> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + ltkjJianchajianyanTreeService.save(tree); + } + } else { + log.error("璇锋眰澶辫触 ->{}", lisSaveSqdxxDto); } } } @@ -210,23 +463,46 @@ - private LtkjJyxmzd getGetYbDm(TjProject project) { + public LtkjJyxmzd getJyxmzd(TjProject project) { String jyxmdm = ""; - LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm()); - LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper); - if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm(); - else { + if (project.getSfzhfy().equals("Y")){ + LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm()); + LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper); + if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm(); + } else { LambdaQueryWrapper<LtkjJfxmgljyxmzd> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(LtkjJfxmgljyxmzd::getXmdm, project.getHisXmbm()); LtkjJfxmgljyxmzd jfxmgljyxmzd = ltkjJfxmgljyxmzdService.getOne(wrapper1); if (jfxmgljyxmzd != null) jyxmdm = jfxmgljyxmzd.getJyxmdm(); } -// if (StrUtil.isBlank(jyxmdm)) log.error("鑾峰彇妫�楠岄」鐩唬鐮佷负绌� ->{}", project); LambdaQueryWrapper<LtkjJyxmzd> wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjJyxmzd::getJyxmdm,jyxmdm); LtkjJyxmzd jyxmzd = jyxmzdService.getOne(wrapper2); if (jyxmzd != null) return jyxmzd; return null; } + + /** + * 鏍规嵁浣撴绫诲瀷鍒ゆ柇鏄惁闇�瑕佺洿鎺ヤ粠Lis銆乸acs鐩存帴鐢宠 + */ + public Boolean isUseLisAndPacsRegister(TjOrder tjOrder) { + try { + String useLisAndPacsRegisterDictTeam = configService.selectConfigByKey("use_lis_and_pacs_register_dict_team"); + String[] split = useLisAndPacsRegisterDictTeam.split(","); + List<String> list = Arrays.asList(split); + return list.contains(tjOrder.getTjType()); + } catch (Exception e) { + return false; + } + } + + /** + * 妫�楠岄」鐩瓧鍏哥殑妫�楠屽垎绫讳唬鐮佷笉鑳藉瓨鍦ㄤ簬璇ユ帴鍙h繑鍥炰腑锛屽鏋滃瓨鍦ㄥ垯涓嶈兘鍚堝苟 + * 鑾峰彇妫�楠屽垎绫诲悎骞朵俊鎭瓧鍏� 瀛樺湪鎵嶈兘鍚堝苟鍙戦�� 涓嶅瓨鍦ㄥ垯鍙兘鍗曟鍙戦�� + * @return + */ + public AjaxResult getJyFlHb(){ + return lisApiMethodService.getJyflhbxx(); + } } -- Gitblit v1.8.0