From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 20 六月 2025 19:01:13 +0800 Subject: [PATCH] zjh20250620 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 2341 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 2,003 insertions(+), 338 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 ee6a6e9..8285d91 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 @@ -10,6 +10,7 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; @@ -27,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -89,6 +91,8 @@ private SamplingServiceApi samplingService; @Autowired private TbLisSqService tbLisSqService; + @Autowired + private TjOutpinmedicXmService tjOutpinmedicXmService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 @@ -196,8 +200,920 @@ } } +// Map<String,Object> mapJinchuan=new HashMap<>(); + private static List<String> mapJinchuan=null; + public AjaxResult tijianshenqingJinchuanNew(TjCustomer customer, String date,String cardId) + { + mapJinchuan=new ArrayList<>(); + tijianshenqingOldJinchuan( customer, date, cardId); - //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� + tijianshenqingJinchuan( customer, date, cardId); + return AjaxResult.success(); + } + public AjaxResult tijianshenqingJinchuan(TjCustomer customer, String date,String cardId) { + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); + + log.info("mapJinchuan闆嗗悎閲岄潰鐨勬暟鎹槸: "+mapJinchuan.toString()); + + List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + + //妫�楠岀敵璇� + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); +// wq.groupBy(TjProject::getHisXmbm); +// wq.in(TjProject::getDeptId, "241", "317"); + wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); + List<TjProject> projects = projectService.list(wq); + if (null != projects && !projects.isEmpty()) { + List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); + List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); + Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + if (!isNull.isEmpty()) + listMap.put("",isNull); + for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(cardId); + dto.setSfzh(customer.getCusIdcard()); + dto.setSqysbm(ysbm); + dto.setMzksbm(dept); + dto.setSjrq(date); + dto.setCzybm(ysbm); + dto.setCzyksbm(dept); + dto.setSfjz("0"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + List<TjProject> value = entry.getValue(); + for (TjProject project : value) { + LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); + + wrapper.eq(TjProject::getProParentId,project.getProId()); + if (!mapJinchuan.isEmpty()) { + wrapper.notIn(TjProject::getProId, mapJinchuan); + wrapper.notIn(TjProject::getProParentId, mapJinchuan); + } + List<TjProject> list = projectService.list(wrapper); + + log.info("妫�楠岀敵璇烽泦鍚堥噷闈㈢殑鏁版嵁鏄�: "+list.toString()); + for (TjProject tjProject : list) { + if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); + if (tjProject.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(tjProject.getSl()); + detailsDto.setProjg(tjProject.getProPrice()); + detailsDtos.add(detailsDto); + } + } + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + } + if (!detailsDtos.isEmpty()) { + dto.setDetails(detailsDtos); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + List<OutpintestapplyDetailsDto> details = dto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(dto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object3.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jysqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("his"); + 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); + } + // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 + // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 +// TjOrder tjOrder = orderService.getOrderByCardId(cardId); +// if(null !=tjOrder){ +// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); +// } + } + } + } + } + } + + //闂ㄨ瘖妫�鏌ョ敵璇� + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + List<TjProject> projects = projectService.list(wq); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + + if (!mapJinchuan.isEmpty()) { + wrapper4.notIn("pro_id", mapJinchuan); + wrapper4.notIn("pro_parent_id", mapJinchuan); + } + + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { + List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); + for (TjProject project : projects) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailsDtoss.add(detailsDto); + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + if (!detailsDtoss.isEmpty()) { + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(cardId); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); + outpinexamapplyDto.setSfjz("0"); + outpinexamapplyDto.setDetails(detailsDtoss); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object5.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jcsqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�鏌�"); + tree.setService("his"); + 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); + } + } + } + } + } + } + + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + OutpintreatapplyDto dao = new OutpintreatapplyDto(); + dao.setHisRegistrationId(cardId); + dao.setSfzh(customer.getCusIdcard()); + dao.setSqysbm(ysbm); + dao.setMzksbm(dept); + dao.setSjrq(date); + dao.setCzybm(ysbm); + dao.setCzyksbm(dept); + dao.setSfjz("0"); +// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + if (null != detailList && !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); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + if (!mapJinchuan.isEmpty()) { + wrapper4.notIn("pro_id", mapJinchuan); + wrapper4.notIn("pro_parent_id", mapJinchuan); + } + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { + List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); + for (TjProject project : projects) { + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailDtos.add(detailsDto); + } + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + 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(cardId); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm(ysbm); +// dto1.setMzksbm(dept); +// dto1.setSjrq(date); +// String yfbm = configService.selectConfigByKey("chufang_yfbm"); +// String mzzd = configService.selectConfigByKey("chufang_mzzd"); +// String czybm = configService.selectConfigByKey("chufang_czybm"); +// String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); +// if (czybm.equalsIgnoreCase("N")) +// dto1.setCzybm(ysbm); +// else dto1.setCzybm(czybm); +// if (czyksbm.equalsIgnoreCase("N")) +// dto1.setCzyksbm(dept); +// else dto1.setCzyksbm(czyksbm); +// dto1.setCflxbm(cflxbm); +// if (yfbm.equalsIgnoreCase("N")) +// dto1.setYfbm("1"); +// else dto1.setYfbm(yfbm); +// dto1.setFyts("1"); +// if (mzzd.equalsIgnoreCase("N")) +// dto1.setMzzd(""); +// else dto1.setMzzd(mzzd); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult result = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(result); +// 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(cardId); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm(ysbm); +// cf.setSqysxm(ysmc); +// cf.setMzksbn(dept); +// cf.setSqrq(date); +// cf.setCzybm(ysbm); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc(detilsDto.getYpmc()); +// 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); +// } +// } +// } + + + /** + * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 + */ + if(!outpinmedicapplyDetilsDtos.isEmpty()){ + String yfbm = configService.selectConfigByKey("chufang_yfbm"); + String mzzd = configService.selectConfigByKey("chufang_mzzd"); + String czybm = configService.selectConfigByKey("chufang_czybm"); + String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); + listMap.forEach((cflx, details) -> { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); + dto1.setHisRegistrationId(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + if (czybm.equalsIgnoreCase("N")) + dto1.setCzybm(ysbm); + else dto1.setCzybm(czybm); + if (czyksbm.equalsIgnoreCase("N")) + dto1.setCzyksbm(dept); + else dto1.setCzyksbm(czyksbm); + dto1.setCflxbm(cflx); + if (yfbm.equalsIgnoreCase("N")) + dto1.setYfbm("1"); + else dto1.setYfbm(yfbm); + dto1.setFyts("1"); + if (mzzd.equalsIgnoreCase("N")) + dto1.setMzzd(""); + else dto1.setMzzd(mzzd); + dto1.setDetails(details); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONObject resultData = object.getJSONObject("ResultData"); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf = new TjCf(); + cf.setCardId(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + cf.setYpbm(detilsDto.getYpbm()); + cf.setYpmc(detilsDto.getYpmc()); + 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(); + } + + // 浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� + public AjaxResult tijianshenqingOldJinchuan(TjCustomer customer, String date,String cardId) { + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); + + List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + + //妫�楠岀敵璇� + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(cardId); + dto.setSfzh(customer.getCusIdcard()); + dto.setSqysbm(ysbm); + dto.setMzksbm(dept); + dto.setSjrq(date); + dto.setCzybm(ysbm); + dto.setCzyksbm(dept); + dto.setSfjz("0"); + + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); +// wq.groupBy(TjProject::getHisXmbm); +// wq.in(TjProject::getDeptId, "241", "317"); + wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); + 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()) { + if (project.getSfzhfy().equals("Y")) { + mapJinchuan.add(project.getProId().toString()); + //TODO 杩欓噷detailsDto 鏀规垚浼犻�掓墍鏈夌殑灏忛」 妫�楠屾槸鍚堝苟涔嬪悗杩涜鍙戦�� 涓�涓牱鏈唬鐮佷竴娆¤姹� + // 鎵�鏈夌殑灏忛」鍏ㄩ儴娣诲姞鍒拌繖涓泦鍚堜箣涓� + 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); + } + } + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + } + } + } + } + if (!detailsDtos.isEmpty()) { + dto.setDetails(detailsDtos); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + List<OutpintestapplyDetailsDto> details = dto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(dto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object3.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jysqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("his"); + 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); + } + // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 + // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 +// TjOrder tjOrder = orderService.getOrderByCardId(cardId); +// if(null !=tjOrder){ +// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); +// } + } + } + + //闂ㄨ瘖妫�鏌ョ敵璇� + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(cardId); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); + outpinexamapplyDto.setSfjz("0"); +// List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + 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()) { + if (project.getSfzhfy().equals("Y")){ + mapJinchuan.add(project.getProParentId().toString()); + //TODO 杩欓噷鏀逛负灏忛」闆嗗悎 涔熸槸鎸夌収鍘熸湰鐨勬煡璇㈡墍鏈夌殑澶ч」 鐒跺悗鏍规嵁澶ч」鏌ュ嚭鑷繁鐨勫皬椤� 涓�涓ぇ椤逛负涓�娆¤姹� + 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()); + detailsDtoss.add(detailsDto); + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + } + } + } + } + if (!detailsDtoss.isEmpty()) { + outpinexamapplyDto.setDetails(detailsDtoss); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object5.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jcsqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�鏌�"); + tree.setService("his"); + 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); + } + } + } + + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + OutpintreatapplyDto dao = new OutpintreatapplyDto(); + dao.setHisRegistrationId(cardId); + dao.setSfzh(customer.getCusIdcard()); + dao.setSqysbm(ysbm); + dao.setMzksbm(dept); + dao.setSjrq(date); + dao.setCzybm(ysbm); + dao.setCzyksbm(dept); + dao.setSfjz("0"); +// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); + if (null != detailList && !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()) { + if (project.getSfzhfy().equals("Y")) { + mapJinchuan.add(project.getProParentId().toString()); + 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); + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + 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(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + dto1.setCzybm(ysbm); + dto1.setCzyksbm(dept); + dto1.setCflxbm("A"); + dto1.setYfbm("1"); + dto1.setFyts("1"); + dto1.setMzzd(""); + dto1.setDetails(outpinmedicapplyDetilsDtos); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + 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(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + 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(); + } + + /**/ // public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { // String dept = configService.selectConfigByKey("request_default_dept"); // String ysbm = configService.selectConfigByKey("request_default_ysbm"); @@ -206,17 +1122,6 @@ // List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); // // //妫�楠岀敵璇� -// OutpintestapplyDto dto = new OutpintestapplyDto(); -// dto.setHisRegistrationId(cardId); -// dto.setSfzh(customer.getCusIdcard()); -// dto.setSqysbm(ysbm); -// dto.setMzksbm(dept); -// dto.setSjrq(date); -// dto.setCzybm(ysbm); -// dto.setCzyksbm(dept); -// dto.setSfjz("0"); -// -// List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); // List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); // if (null != detailList && !detailList.isEmpty()) { // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); @@ -226,21 +1131,40 @@ // wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); // 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()) { -// //TODO 杩欓噷detailsDto 鏀规垚浼犻�掓墍鏈夌殑灏忛」 妫�楠屾槸鍚堝苟涔嬪悗杩涜鍙戦�� 涓�涓牱鏈唬鐮佷竴娆¤姹� -// // 鎵�鏈夌殑灏忛」鍏ㄩ儴娣诲姞鍒拌繖涓泦鍚堜箣涓� -// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); -// detailsDto.setMxfyxmbm(project.getHisXmbm()); -// if (project.getSfzhfy().equals("Y")) { -// detailsDto.setSfzhfy("1"); -// } else { -// detailsDto.setSfzhfy("0"); +// List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); +// List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); +// Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); +// if (!isNull.isEmpty()) +// listMap.put("",isNull); +// for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { +// OutpintestapplyDto dto = new OutpintestapplyDto(); +// dto.setHisRegistrationId(cardId); +// dto.setSfzh(customer.getCusIdcard()); +// dto.setSqysbm(ysbm); +// dto.setMzksbm(dept); +// dto.setSjrq(date); +// dto.setCzybm(ysbm); +// dto.setCzyksbm(dept); +// dto.setSfjz("0"); +// List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); +// List<TjProject> value = entry.getValue(); +// for (TjProject project : value) { +// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjProject::getProParentId,project.getProId()); +// List<TjProject> list = projectService.list(wrapper); +// for (TjProject tjProject : list) { +// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { +// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); +// detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); +// if (tjProject.getSfzhfy().equals("Y")) { +// detailsDto.setSfzhfy("1"); +// } else { +// detailsDto.setSfzhfy("0"); +// } +// detailsDto.setSl(tjProject.getSl()); +// detailsDto.setProjg(tjProject.getProPrice()); +// detailsDtos.add(detailsDto); // } -// detailsDto.setSl(project.getSl()); -// detailsDto.setProjg(project.getProPrice()); -// detailsDtos.add(detailsDto); // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); @@ -268,68 +1192,58 @@ // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } -// } -// } -// } -// if (!detailsDtos.isEmpty()) { -// dto.setDetails(detailsDtos); -// AjaxResult ajaxResult1 = controller.Outpintestapply(dto); -// String result5 = getAjaxResult(ajaxResult1); -// JSONObject object3 = getJSONObject(result5); -// String code3 = object3.getStr("ResultCode"); -// if (code3.equals("0")) { -// List<OutpintestapplyDetailsDto> details = dto.getDetails(); -// for (OutpintestapplyDetailsDto detail : details) { -// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); -// tree.setCardId(dto.getHisRegistrationId()); -// tree.setPationid(customer.getPationId()); -// JSONObject resultData = object3.getJSONObject("ResultData"); -// tree.setSqdh(resultData.getStr("jysqdh")); -// tree.setFyhj(resultData.getStr("fyhj")); -// String mxfyxmbm = detail.getMxfyxmbm(); -// tree.setHisXmdm(mxfyxmbm); -// tree.setType("妫�楠�"); -// tree.setService("his"); -// 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); -// } -// // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 -// // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 +// if (!detailsDtos.isEmpty()) { +// dto.setDetails(detailsDtos); +// AjaxResult ajaxResult1 = controller.Outpintestapply(dto); +// String result5 = getAjaxResult(ajaxResult1); +// JSONObject object3 = getJSONObject(result5); +// String code3 = object3.getStr("ResultCode"); +// if (code3.equals("0")) { +// List<OutpintestapplyDetailsDto> details = dto.getDetails(); +// for (OutpintestapplyDetailsDto detail : details) { +// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); +// tree.setCardId(dto.getHisRegistrationId()); +// tree.setPationid(customer.getPationId()); +// JSONObject resultData = object3.getJSONObject("ResultData"); +// tree.setSqdh(resultData.getStr("jysqdh")); +// tree.setFyhj(resultData.getStr("fyhj")); +// String mxfyxmbm = detail.getMxfyxmbm(); +// tree.setHisXmdm(mxfyxmbm); +// tree.setType("妫�楠�"); +// tree.setService("his"); +// 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); +// } +// // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 +// // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 //// TjOrder tjOrder = orderService.getOrderByCardId(cardId); //// if(null !=tjOrder){ //// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); //// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); //// } +// } +// } +// } // } // } // // //闂ㄨ瘖妫�鏌ョ敵璇� -// OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); -// outpinexamapplyDto.setHisRegistrationId(cardId); -// outpinexamapplyDto.setSfzh(customer.getCusIdcard()); -// outpinexamapplyDto.setSqysbm(ysbm); -// outpinexamapplyDto.setMzksbm(dept); -// outpinexamapplyDto.setCzybm(ysbm); -// outpinexamapplyDto.setCzyksbm(dept); -// outpinexamapplyDto.setSfjz("0"); -//// List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); -// List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); // if (null != detailList && !detailList.isEmpty()) { // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); @@ -337,19 +1251,32 @@ // List<TjProject> projects = projectService.list(wq); // if (null != projects && !projects.isEmpty()) { // for (TjProject project : projects) { +// OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); +// outpinexamapplyDto.setHisRegistrationId(cardId); +// outpinexamapplyDto.setSfzh(customer.getCusIdcard()); +// outpinexamapplyDto.setSqysbm(ysbm); +// outpinexamapplyDto.setMzksbm(dept); +// outpinexamapplyDto.setCzybm(ysbm); +// outpinexamapplyDto.setCzyksbm(dept); +// outpinexamapplyDto.setSfjz("0"); +// List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); // if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { -// if (null != project.getHisXmbm()) { -// //TODO 杩欓噷鏀逛负灏忛」闆嗗悎 涔熸槸鎸夌収鍘熸湰鐨勬煡璇㈡墍鏈夌殑澶ч」 鐒跺悗鏍规嵁澶ч」鏌ュ嚭鑷繁鐨勫皬椤� 涓�涓ぇ椤逛负涓�娆¤姹� -// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); -// detailsDto.setMxfyxmbm(project.getHisXmbm()); -// if (project.getSfzhfy().equals("Y")) { -// detailsDto.setSfzhfy("1"); -// } else { -// detailsDto.setSfzhfy("0"); +// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjProject::getProParentId,project.getProId()); +// List<TjProject> list = projectService.list(wrapper); +// for (TjProject tjProject : list) { +// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { +// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); +// detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); +// if (tjProject.getSfzhfy().equals("Y")) { +// detailsDto.setSfzhfy("1"); +// } else { +// detailsDto.setSfzhfy("0"); +// } +// detailsDto.setSl(tjProject.getSl()); +// detailsDto.setProjg(tjProject.getProPrice()); +// detailsDtoss.add(detailsDto); // } -// detailsDto.setSl(project.getSl()); -// detailsDto.setProjg(project.getProPrice()); -// detailsDtoss.add(detailsDto); // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); @@ -377,46 +1304,46 @@ // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } -// } -// } -// } -// if (detailsDtoss.size() > 0) { -// outpinexamapplyDto.setDetails(detailsDtoss); -// AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); -// String result6 = getAjaxResult(ajaxResult2); -// JSONObject object5 = getJSONObject(result6); -// String code4 = object5.getStr("ResultCode"); -// if (code4.equals("0")) { -// List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); -// for (OutpintestapplyDetailsDto detail : details) { -// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); -// tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); -// tree.setPationid(customer.getPationId()); -// JSONObject resultData = object5.getJSONObject("ResultData"); -// tree.setSqdh(resultData.getStr("jcsqdh")); -// tree.setFyhj(resultData.getStr("fyhj")); -// String mxfyxmbm = detail.getMxfyxmbm(); -// tree.setHisXmdm(mxfyxmbm); -// tree.setType("妫�鏌�"); -// tree.setService("his"); -// 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()); +// if (detailsDtoss.size() > 0) { +// outpinexamapplyDto.setDetails(detailsDtoss); +// AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); +// String result6 = getAjaxResult(ajaxResult2); +// JSONObject object5 = getJSONObject(result6); +// String code4 = object5.getStr("ResultCode"); +// if (code4.equals("0")) { +// List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); +// for (OutpintestapplyDetailsDto detail : details) { +// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); +// tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); +// tree.setPationid(customer.getPationId()); +// JSONObject resultData = object5.getJSONObject("ResultData"); +// tree.setSqdh(resultData.getStr("jcsqdh")); +// tree.setFyhj(resultData.getStr("fyhj")); +// String mxfyxmbm = detail.getMxfyxmbm(); +// tree.setHisXmdm(mxfyxmbm); +// tree.setType("妫�鏌�"); +// tree.setService("his"); +// 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); +// } +// } // } -// tree.setCreateTime(DateUtil.date()); -// ltkjJianchajianyanTreeService.save(tree); // } // } // } @@ -433,7 +1360,6 @@ // dao.setCzyksbm(dept); // dao.setSfjz("0"); //// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); -// List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); // if (null != detailList && detailList.size() > 0) { // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); @@ -441,18 +1367,24 @@ // List<TjProject> projects = projectService.list(wq); // if (null != projects && projects.size() > 0) { // for (TjProject project : projects) { +// List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); // 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"); +// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjProject::getProParentId,project.getProId()); +// List<TjProject> list = projectService.list(wrapper); +// for (TjProject tjProject : list) { +// if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { +// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); +// detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); +// if (tjProject.getSfzhfy().equals("Y")) { +// detailsDto.setSfzhfy("1"); +// } else { +// detailsDto.setSfzhfy("0"); +// } +// detailsDto.setSl(tjProject.getSl()); +// detailsDto.setProjg(tjProject.getProPrice()); +// detailDtos.add(detailsDto); // } -// detailsDto.setSl(project.getSl()); -// detailsDto.setProjg(project.getProPrice()); -// detailDtos.add(detailsDto); // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); @@ -480,45 +1412,45 @@ // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } -// } -// } -// } -// if (detailDtos.size() > 0) { -// 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()); +// if (detailDtos.size() > 0) { +// 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); +// } +// } // } -// tree.setCreateTime(DateUtil.date()); -// ltkjJianchajianyanTreeService.save(tree); // } // } // } @@ -580,6 +1512,8 @@ List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + //妫�楠岀敵璇� List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { @@ -624,15 +1558,17 @@ detailsDto.setProjg(tjProject.getProPrice()); detailsDtos.add(detailsDto); } - if(project.getProId()==1740177341251154377L){ + } + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { 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.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); @@ -645,10 +1581,12 @@ detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); - detilsDto.setFzbl("1"); - detilsDto.setZh("0"); + detilsDto.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); - } + }); } } if (!detailsDtos.isEmpty()) { @@ -708,44 +1646,38 @@ wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List<TjProject> projects = projectService.list(wq); - if (null != projects && !projects.isEmpty()) { - for (TjProject project : projects) { - OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); - outpinexamapplyDto.setHisRegistrationId(cardId); - outpinexamapplyDto.setSfzh(customer.getCusIdcard()); - outpinexamapplyDto.setSqysbm(ysbm); - outpinexamapplyDto.setMzksbm(dept); - outpinexamapplyDto.setCzybm(ysbm); - outpinexamapplyDto.setCzyksbm(dept); - outpinexamapplyDto.setSfjz("0"); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); - if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { - LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getProParentId,project.getProId()); - List<TjProject> list = projectService.list(wrapper); - for (TjProject tjProject : list) { - if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { - OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); - detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); - if (tjProject.getSfzhfy().equals("Y")) { - detailsDto.setSfzhfy("1"); - } else { - detailsDto.setSfzhfy("0"); - } - detailsDto.setSl(tjProject.getSl()); - detailsDto.setProjg(tjProject.getProPrice()); - detailsDtoss.add(detailsDto); - } + for (TjProject project : projects) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailsDtoss.add(detailsDto); } - if(project.getProId()==1740177341251154377L){ + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { 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.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); @@ -758,12 +1690,22 @@ detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); - detilsDto.setFzbl("1"); - detilsDto.setZh("0"); + detilsDto.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); - } + }); } - if (detailsDtoss.size() > 0) { + if (!detailsDtoss.isEmpty()) { + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(cardId); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); + outpinexamapplyDto.setSfjz("0"); outpinexamapplyDto.setDetails(detailsDtoss); AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); String result6 = getAjaxResult(ajaxResult2); @@ -819,41 +1761,45 @@ dao.setCzyksbm(dept); dao.setSfjz("0"); // List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); - if (null != detailList && detailList.size() > 0) { + if (null != detailList && !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.size() > 0) { - for (TjProject project : projects) { + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); - if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { - LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getProParentId,project.getProId()); - List<TjProject> list = projectService.list(wrapper); - for (TjProject tjProject : list) { - if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + for (TjProject project : projects) { + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); - detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); - if (tjProject.getSfzhfy().equals("Y")) { - detailsDto.setSfzhfy("1"); - } else { - detailsDto.setSfzhfy("0"); - } - detailsDto.setSl(tjProject.getSl()); - detailsDto.setProjg(tjProject.getProPrice()); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); detailDtos.add(detailsDto); } } - if(project.getProId()==1740177341251154377L){ + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { 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.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); @@ -866,12 +1812,14 @@ detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); - detilsDto.setFzbl("1"); - detilsDto.setZh("0"); + detilsDto.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); - } + }); } - if (detailDtos.size() > 0) { + if (!detailDtos.isEmpty()) { dao.setDetails(detailDtos); AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); String mzylyzsq2 = getAjaxResult(mzylyzsq1); @@ -914,51 +1862,649 @@ } } - //鑽搧鐢宠 - if(outpinmedicapplyDetilsDtos.size()>0){ - OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); - dto1.setHisRegistrationId(cardId); - dto1.setSfzh(customer.getCusIdcard()); - dto1.setSqysbm(ysbm); - dto1.setMzksbm(dept); - dto1.setSjrq(date); - dto1.setCzybm(ysbm); - dto1.setCzyksbm(dept); - dto1.setCflxbm("A"); - dto1.setYfbm("1"); - dto1.setFyts("1"); - dto1.setMzzd(""); - dto1.setDetails(outpinmedicapplyDetilsDtos); - AjaxResult result = controller.Outpinmedicapply(dto1); - String result1 = getAjaxResult(result); - 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(cardId); - cf.setSfzh(customer.getCusIdcard()); - cf.setCfh(cfh); - cf.setSqysbm(ysbm); - cf.setSqysxm(ysmc); - cf.setMzksbn(dept); - cf.setSqrq(date); - cf.setCzybm(ysbm); - 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); + //鑽搧鐢宠 鍘熺増 +// if(!outpinmedicapplyDetilsDtos.isEmpty()){ +// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); +// dto1.setHisRegistrationId(cardId); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm(ysbm); +// dto1.setMzksbm(dept); +// dto1.setSjrq(date); +// String yfbm = configService.selectConfigByKey("chufang_yfbm"); +// String mzzd = configService.selectConfigByKey("chufang_mzzd"); +// String czybm = configService.selectConfigByKey("chufang_czybm"); +// String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); +// if (czybm.equalsIgnoreCase("N")) +// dto1.setCzybm(ysbm); +// else dto1.setCzybm(czybm); +// if (czyksbm.equalsIgnoreCase("N")) +// dto1.setCzyksbm(dept); +// else dto1.setCzyksbm(czyksbm); +// dto1.setCflxbm(cflxbm); +// if (yfbm.equalsIgnoreCase("N")) +// dto1.setYfbm("1"); +// else dto1.setYfbm(yfbm); +// dto1.setFyts("1"); +// if (mzzd.equalsIgnoreCase("N")) +// dto1.setMzzd(""); +// else dto1.setMzzd(mzzd); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult result = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(result); +// 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(cardId); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm(ysbm); +// cf.setSqysxm(ysmc); +// cf.setMzksbn(dept); +// cf.setSqrq(date); +// cf.setCzybm(ysbm); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc(detilsDto.getYpmc()); +// 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); +// } +// } +// } + + /** + * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 + */ + if(!outpinmedicapplyDetilsDtos.isEmpty()){ + String yfbm = configService.selectConfigByKey("chufang_yfbm"); + String mzzd = configService.selectConfigByKey("chufang_mzzd"); + String czybm = configService.selectConfigByKey("chufang_czybm"); + String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); + listMap.forEach((cflx, details) -> { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); + dto1.setHisRegistrationId(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + if (czybm.equalsIgnoreCase("N")) + dto1.setCzybm(ysbm); + else dto1.setCzybm(czybm); + if (czyksbm.equalsIgnoreCase("N")) + dto1.setCzyksbm(dept); + else dto1.setCzyksbm(czyksbm); + dto1.setCflxbm(cflx); + if (yfbm.equalsIgnoreCase("N")) + dto1.setYfbm("1"); + else dto1.setYfbm(yfbm); + dto1.setFyts("1"); + if (mzzd.equalsIgnoreCase("N")) + dto1.setMzzd(""); + else dto1.setMzzd(mzzd); + dto1.setDetails(details); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONObject resultData = object.getJSONObject("ResultData"); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf = new TjCf(); + cf.setCardId(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + cf.setYpbm(detilsDto.getYpbm()); + cf.setYpmc(detilsDto.getYpmc()); + 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(); + } + + + /** + * 瀵逛箣鍓嶄唬鐮佸鍔犳�讳环浠ュ強浠锋牸璁$畻瑙勫垯閫昏緫 + * @param customer + * @param date + * @param cardId + * @return + */ + public AjaxResult tijianshenqing_v2(TjCustomer customer, String date,String cardId) { + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); + + List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + + // his鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰鎬讳环缂栫爜 + String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); + // 鏄惁寮�鍚痟is鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰 N浣跨敤鏄庣粏寮�鍗� 鍏朵粬閮戒负鍗曢」鐩紑鎬讳环 + String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); + // 鏄惁浣跨敤his浠锋牸浼犻�掕鍒� Y寮�鍚� + String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); + // his浠锋牸浼犻�掕鍒欎繚鐣欏緱浣嶆暟 榛樿2浣� + String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); + // his浠锋牸浼犻�掕鍒� 1鍥涜垗浜斿叆 2鐩存帴鑸嶅幓 + String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); + + if (StrUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("Y")){ + // 妫�楠岄」鐩� + 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> jyxms = projectService.list(wq); + if (!jyxms.isEmpty()){ + List<TjProject> notNull = jyxms.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); + List<TjProject> isNull = jyxms.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); + Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + if (!isNull.isEmpty()) + listMap.put("",isNull); + for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { + } } + // 妫�鏌ラ」鐩� + wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + List<TjProject> jcxms = projectService.list(wq); + + }else { + + } + + //妫�楠岀敵璇� + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + if (null != detailList && !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); + if (null != projects && !projects.isEmpty()) { + List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); + List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); + Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + if (!isNull.isEmpty()) + listMap.put("",isNull); + + for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(cardId); + dto.setSfzh(customer.getCusIdcard()); + dto.setSqysbm(ysbm); + dto.setMzksbm(dept); + dto.setSjrq(date); + dto.setCzybm(ysbm); + dto.setCzyksbm(dept); + dto.setSfjz("0"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + List<TjProject> value = entry.getValue(); + for (TjProject project : value) { + LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjProject::getProParentId,project.getProId()); + List<TjProject> list = projectService.list(wrapper); + for (TjProject tjProject : list) { + if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); + if (tjProject.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(tjProject.getSl()); + detailsDto.setProjg(tjProject.getProPrice()); + detailsDtos.add(detailsDto); + } + } + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + } + if (!detailsDtos.isEmpty()) { + dto.setDetails(detailsDtos); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + List<OutpintestapplyDetailsDto> details = dto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(dto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object3.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jysqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setService("his"); + 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 (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + List<TjProject> projects = projectService.list(wq); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { + List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); + for (TjProject project : projects) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailsDtoss.add(detailsDto); + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + outpinmedicapplyDetilsDtos.add(detilsDto); + }); + } + if (!detailsDtoss.isEmpty()) { + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(cardId); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); + outpinexamapplyDto.setSfjz("0"); + outpinexamapplyDto.setDetails(detailsDtoss); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); + tree.setPationid(customer.getPationId()); + JSONObject resultData = object5.getJSONObject("ResultData"); + tree.setSqdh(resultData.getStr("jcsqdh")); + tree.setFyhj(resultData.getStr("fyhj")); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�鏌�"); + tree.setService("his"); + 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); + } + } + } + } + } + } + + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + OutpintreatapplyDto dao = new OutpintreatapplyDto(); + dao.setHisRegistrationId(cardId); + dao.setSfzh(customer.getCusIdcard()); + dao.setSqysbm(ysbm); + dao.setMzksbm(dept); + dao.setSjrq(date); + dao.setCzybm(ysbm); + dao.setCzyksbm(dept); + dao.setSfjz("0"); +// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + if (null != detailList && !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); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>(); + wrapper4.select("sum(sl) as sl","pro_id" + ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" + ,"pro_price"); + wrapper4.in("pro_parent_id",proIds); + wrapper4.groupBy("his_xmbm"); + projects = projectService.list(wrapper4); + if (null != projects && !projects.isEmpty()) { + List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); + for (TjProject project : projects) { + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + detailsDto.setSfzhfy("0"); + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailDtos.add(detailsDto); + } + } + } + List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); + if (!outpinmedicXms.isEmpty()) { + outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { + OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + detilsDto.setYpbm(i.getYpbm()); + detilsDto.setPcbm(i.getPcbm()); + detilsDto.setSl(i.getSl()); + detilsDto.setDj(i.getDj()); + detilsDto.setDcjl(i.getDcjl()); + detilsDto.setPj(i.getPj()); + detilsDto.setJj(i.getJj()); + 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.setYpmc(i.getYpmc()); + detilsDto.setFzbl(i.getFzbl()); + detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); + 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(cardId); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm(ysbm); +// dto1.setMzksbm(dept); +// dto1.setSjrq(date); +// String yfbm = configService.selectConfigByKey("chufang_yfbm"); +// String mzzd = configService.selectConfigByKey("chufang_mzzd"); +// String czybm = configService.selectConfigByKey("chufang_czybm"); +// String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); +// if (czybm.equalsIgnoreCase("N")) +// dto1.setCzybm(ysbm); +// else dto1.setCzybm(czybm); +// if (czyksbm.equalsIgnoreCase("N")) +// dto1.setCzyksbm(dept); +// else dto1.setCzyksbm(czyksbm); +// dto1.setCflxbm(cflxbm); +// if (yfbm.equalsIgnoreCase("N")) +// dto1.setYfbm("1"); +// else dto1.setYfbm(yfbm); +// dto1.setFyts("1"); +// if (mzzd.equalsIgnoreCase("N")) +// dto1.setMzzd(""); +// else dto1.setMzzd(mzzd); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult result = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(result); +// 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(cardId); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm(ysbm); +// cf.setSqysxm(ysmc); +// cf.setMzksbn(dept); +// cf.setSqrq(date); +// cf.setCzybm(ysbm); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc(detilsDto.getYpmc()); +// 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); +// } +// } +// } + + /** + * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 + */ + if(!outpinmedicapplyDetilsDtos.isEmpty()){ + String yfbm = configService.selectConfigByKey("chufang_yfbm"); + String mzzd = configService.selectConfigByKey("chufang_mzzd"); + String czybm = configService.selectConfigByKey("chufang_czybm"); + String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); + listMap.forEach((cflx, details) -> { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); + dto1.setHisRegistrationId(cardId); + dto1.setSfzh(customer.getCusIdcard()); + dto1.setSqysbm(ysbm); + dto1.setMzksbm(dept); + dto1.setSjrq(date); + if (czybm.equalsIgnoreCase("N")) + dto1.setCzybm(ysbm); + else dto1.setCzybm(czybm); + if (czyksbm.equalsIgnoreCase("N")) + dto1.setCzyksbm(dept); + else dto1.setCzyksbm(czyksbm); + dto1.setCflxbm(cflx); + if (yfbm.equalsIgnoreCase("N")) + dto1.setYfbm("1"); + else dto1.setYfbm(yfbm); + dto1.setFyts("1"); + if (mzzd.equalsIgnoreCase("N")) + dto1.setMzzd(""); + else dto1.setMzzd(mzzd); + dto1.setDetails(details); + AjaxResult result = controller.Outpinmedicapply(dto1); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONObject resultData = object.getJSONObject("ResultData"); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf = new TjCf(); + cf.setCardId(cardId); + cf.setSfzh(customer.getCusIdcard()); + cf.setCfh(cfh); + cf.setSqysbm(ysbm); + cf.setSqysxm(ysmc); + cf.setMzksbn(dept); + cf.setSqrq(date); + cf.setCzybm(ysbm); + cf.setYpbm(detilsDto.getYpbm()); + cf.setYpmc(detilsDto.getYpmc()); + 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(); @@ -977,59 +2523,91 @@ 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()); -// log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1)); tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); if (mergeRequest.equals("Y")){ LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); List<TjSampling> list = tjSamplingService.list(wrapper); - log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); - if (!list.isEmpty()) { - Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); - log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); - ArrayList<String> ids = new ArrayList<>(); - for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { - log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); - // Lis鏍囨湰浠g爜 - String specimenTypeCode = entry.getKey(); - List<TjSampling> samplings = entry.getValue(); - if (samplings.size() >= 2) { - // 杩涜鍚堝苟 - List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); - log.info("鎻愬彇id ->{}",stringList); - for (int i = 0; i < stringList.size(); i++) { - String s = stringList.get(i); - if (tjSamplingService.isMergeItem(s) != 0) { - stringList.remove(s); - ids.add(s); - } + if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ + log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + if(null !=list && !list.isEmpty()){ + List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(TjProject::getProParentId,strings); + wrapper1.eq(TjProject::getProStatus,0); + wrapper1.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + if(null != tjProjectList && !tjProjectList.isEmpty()){ + Map<String, List<TjProject>> listMap = tjProjectList.stream() + .collect(Collectors.groupingBy(p->p.getSpecimenType()+"_"+p.getYb())); + + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, tjOrder, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); } - if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); - ids.add(id); - }else { - ids.add(stringList.get(0)); + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); } - } else { - ids.add(samplings.get(0).getId()); + tjSamplingService.updateBatchById(list); } } - Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); - if (!confirmed) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("澶勭悊澶辫触"); + + + }else{ + try { +// LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); +// List<TjSampling> list = tjSamplingService.list(wrapper); + log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); + if (!list.isEmpty()) { + Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + ArrayList<String> ids = new ArrayList<>(); + for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { + log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); + // Lis鏍囨湰浠g爜 + String specimenTypeCode = entry.getKey(); + List<TjSampling> samplings = entry.getValue(); + if (samplings.size() >= 2) { + // 杩涜鍚堝苟 + List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); + // log.info("鎻愬彇id ->{}",stringList); + for (int i = 0; i < stringList.size(); i++) { + String s = stringList.get(i); + if (tjSamplingService.isMergeItem(s) != 0) { + stringList.remove(s); + ids.add(s); + } + } + if (stringList.size() > 1) { + String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); + ids.add(id); + }else { + ids.add(stringList.get(0)); + } + } else { + ids.add(samplings.get(0).getId()); + } + } + Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + } + } catch (NoTransactionException e) { +// throw new RuntimeException(e); + log.error(String.valueOf(e),e.getMessage()); } } + } //妫�楠岀敵璇� @@ -1195,6 +2773,93 @@ return AjaxResult.success(); } + + public AjaxResult tijianBlshenqing(TjCustomer customer,TjOrder tjOrder, SysUser sysUser,String jxbz) { + List<TbTransition> detailList = tbTransitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId(),jxbz); + pacsApiMethodService.save(tjOrder, customer, detailList); + List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJiJxbz(tjOrder.getOrderId(), jxbz); + tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); + + String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); + String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); + if (mergeRequest.equals("Y")){ + if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ + log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); + wrapper.eq(TjSampling::getJxbz,jxbz); + List<TjSampling> list = tjSamplingService.list(wrapper); + List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(TjProject::getProParentId,strings); + wrapper1.eq(TjProject::getProStatus,0); + wrapper1.eq(TjProject::getDeleted,0); + wrapper1.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, tjOrder, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); + } + tjSamplingService.updateBatchById(list); + }else{ + try { + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); + wrapper.eq(TjSampling::getJxbz,jxbz); + List<TjSampling> list = tjSamplingService.list(wrapper); + log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); + if (!list.isEmpty()) { + Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + ArrayList<String> ids = new ArrayList<>(); + for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { + log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); + // Lis鏍囨湰浠g爜 + String specimenTypeCode = entry.getKey(); + List<TjSampling> samplings = entry.getValue(); + if (samplings.size() >= 2) { + // 杩涜鍚堝苟 + List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); + // log.info("鎻愬彇id ->{}",stringList); + for (int i = 0; i < stringList.size(); i++) { + String s = stringList.get(i); + if (tjSamplingService.isMergeItem(s) != 0) { + stringList.remove(s); + ids.add(s); + } + } + if (stringList.size() > 1) { + String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); + ids.add(id); + }else { + ids.add(stringList.get(0)); + } + } else { + ids.add(samplings.get(0).getId()); + } + } + Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); + } + } + } catch (NoTransactionException e) { + log.error(String.valueOf(e),e.getMessage()); + } + } + + } + return AjaxResult.success(); + } + //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔 @Transactional public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) { -- Gitblit v1.8.0