From ac8b972231fea9da2ce3cb62920bc8a9ab4683e7 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 10 十月 2024 10:00:13 +0800 Subject: [PATCH] Lis增加作废、取消,修改申请逻辑 --- ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java | 257 +++++++++++++++++++++++++++++---------------------- 1 files changed, 147 insertions(+), 110 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 cb7c29f..e9eb47c 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 @@ -2,7 +2,8 @@ import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -25,6 +26,8 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @Component @@ -50,139 +53,173 @@ private LtkjJyxmzdService ltkjJyxmzdService; @Autowired private LtkjJfxmgljyxmzdService ltkjJfxmgljyxmzdService; + @Autowired + private LtkjJyxmzdService jyxmzdService; + /** + * 淇濆瓨妫�楠屽崟鐢宠淇℃伅 + * @param tjOrder + * @param tjCustomer + * @param detailList + * @return + */ 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) { + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); 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); + LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); + LtkjJyxmzd jyxmzd = getGetYbDm(project); + BigDecimal allPrice = new BigDecimal("0"); + detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId())) + .forEach(item -> allPrice.add(item.getNowPrice())); + 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())); + dto.setJyxm(item.getProName()); + TjProject project1 = projectService.getById(item.getProId()); + LtkjJyxmzd jyxmzd1 = getGetYbDm(project1); + dto.setXmmc(jyxmzd1.getJyxmdm()); + 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); + }); - OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); - detailsDto.setMxfyxmbm(project.getHisXmbm()); - if (project.getSfzhfy().equals("Y")) { - detailsDto.setSfzhfy("1"); - } else { - detailsDto.setSfzhfy("0"); + String yyyyMMdd = DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyyMMdd"); + String sqdh = "3"+yyyyMMdd.substring(2)+ RandomUtil.randomString(String.valueOf(System.currentTimeMillis()), 3); + 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(jyxmzd.getJybbdm()); + lisSaveSqdxxDto.setCyrq(""); + lisSaveSqdxxDto.setLczd(""); + lisSaveSqdxxDto.setFyje(allPrice.toString()); + lisSaveSqdxxDto.setBz(""); + lisSaveSqdxxDto.setKsbm("0101"); + lisSaveSqdxxDto.setSqys("00029"); + lisSaveSqdxxDto.setJyxmlistDtoList(dtos); + System.out.println(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(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> 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); } - 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; } + + /** + * 鑾峰彇妫�楠岀粨鏋� + * @param cardId + * @return + */ + public AjaxResult getJyJg(String cardId){ + return lisApiMethodService.getJyjg(cardId); + } + + /** + * 浣滃簾鐢宠鍗� + * @param jyxh + * @param cardId + * @param cusName + * @return + */ + public AjaxResult cancel(String jyxh,String cardId,String cusName){ + return lisApiMethodService.updateSqdxx(cardId,jyxh,cusName); + } + + + + private LtkjJyxmzd getGetYbDm(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 { + 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; + } } -- Gitblit v1.8.0