From 2c19fa65dc87ea8f3d81f84154f4eeabff7f8d00 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 六月 2025 12:36:47 +0800 Subject: [PATCH] zjh20250605 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 2695 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 2,405 insertions(+), 290 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 d5544f3..28223a3 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 @@ -2,34 +2,48 @@ import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; 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; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.*; import com.ltkj.hosp.service.*; import com.ltkj.system.service.ISysConfigService; +import com.ltkj.system.service.ISysDeptService; +import com.ltkj.web.controller.lis.LisApiMethod; +import com.ltkj.web.controller.pacs.PacsApiMethodService; +import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; +import com.ltkj.web.controller.system.SamplingServiceApi; import jdk.nashorn.internal.runtime.logging.Logger; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /* @Authot:zjh * @Date: 2024-05-30 * */ @Component +@Slf4j public class HisApiMethod { @Autowired private HisApiMethodService controller; @@ -48,7 +62,7 @@ @Autowired private HisApiGetMethodService hisApiGetMethodService; @Resource - private ISysConfigService configService; + private ISysDeptService deptService; @Resource private ITbTransitionService transitionService; @Autowired @@ -61,6 +75,25 @@ private LtkjEjjfxmzdService ltkjEjjfxmzdService; @Autowired private TjCfService cfService; + @Autowired + private PacsApiMethodService pacsApiMethodService; + @Autowired + private ITjOrderDetailService tjOrderDetailService; + @Autowired + private TjSysAsyncServiceImpl tjSysAsyncService; + @Autowired + private LisApiMethod lisApiMethod; + @Autowired + private ISysConfigService configService; + @Autowired + private ITjSamplingService tjSamplingService; + @Autowired + private SamplingServiceApi samplingService; + @Autowired + private TbLisSqService tbLisSqService; + @Autowired + private TjOutpinmedicXmService tjOutpinmedicXmService; + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -75,146 +108,296 @@ //瀵规帴his鎬绘帴鍙� 娉ㄥ唽鎸傚彿鎺ヨ瘖鐢宠鍗曟搷浣� @Logger - public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { + public AjaxResult HisApiMethods(TjCustomer customer,TjOrder tjOrder) { + String jzh=null; + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + try { +// TjOrder tjOrder = orderService.getById(orderId); + Date dates = new Date(); + final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); + OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); + outpinregapplyDto.setPationid(customer.getPationId()); + outpinregapplyDto.setSqysbm(ysbm); + outpinregapplyDto.setMzksbm(dept); + outpinregapplyDto.setCzybm(ysbm); + outpinregapplyDto.setSfjz("0"); + outpinregapplyDto.setGhzlbm("01"); + outpinregapplyDto.setYwckbm("0001"); + outpinregapplyDto.setSflstd("0"); + outpinregapplyDto.setGhrq(date); + //闂ㄨ瘖鎸傚彿 + AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); + String result2 = getAjaxResult(ajaxResult); + JSONObject object1 = getJSONObject(result2); + String code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + JSONArray resultDatas = object1.getJSONArray("ResultData"); + if (null != resultDatas && resultDatas.size() > 0) { + Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); + String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); + jzh=hisRegistrationId; + //淇濆瓨鎸傚彿鍏ュ弬鍑哄弬 + resultDatasss.put("cardId",hisRegistrationId); + JSONObject object4 = JSONUtil.parseObj(resultDatasss); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinregapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto))); - TjOrder tjOrder = orderService.getById(orderId); - Date dates = new Date(); - final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); -// AjaxResult result = controller.Outpincreateapply(customer); -// String result1 = getAjaxResult(result); -// JSONObject object = getJSONObject(result1); -// String code = object.getStr("ResultCode"); -// if (code.equals("0")) { -// JSONArray resultDatass = object.getJSONArray("ResultData"); -// Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); -// if (null != resultData && resultData.size() > 0) { -// String pationid = resultData.get("PationId").toString(); -// if (null != pationid) { -// customer.setPationId(pationid); -// customerService.updateById(customer); - OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); - outpinregapplyDto.setPationid(customer.getPationId()); - outpinregapplyDto.setSqysbm("00029"); - outpinregapplyDto.setMzksbm("0101"); - outpinregapplyDto.setCzybm("00029"); - outpinregapplyDto.setSfjz("0"); - outpinregapplyDto.setGhzlbm("01"); - outpinregapplyDto.setYwckbm("0001"); - outpinregapplyDto.setSflstd("0"); - outpinregapplyDto.setGhrq(date); - //闂ㄨ瘖鎸傚彿 - AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); - String result2 = getAjaxResult(ajaxResult); - JSONObject object1 = getJSONObject(result2); - String code1 = object1.getStr("ResultCode"); - if (code1.equals("0")) { - JSONArray resultDatas = object1.getJSONArray("ResultData"); - if (null != resultDatas && resultDatas.size() > 0) { - Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); - String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); - //淇濆瓨鎸傚彿鍏ュ弬鍑哄弬 - resultDatasss.put("cardId",hisRegistrationId); - JSONObject object4 = JSONUtil.parseObj(resultDatasss); - LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinregapply"); - HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); - hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto))); - - //闂ㄨ瘖鍖荤敓鎺ヨ瘖 - controller.Outpinconapply(hisRegistrationId, date, "00029"); - if(null != tjOrder.getTjCategory() && !tjOrder.getTjCategory().equals("13")){ - customer.setCardId(hisRegistrationId); - }else { - customer.setCardId("0"); + //闂ㄨ瘖鍖荤敓鎺ヨ瘖 + AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, ysbm); + String result3 = getAjaxResult(result); + JSONObject object2 = getJSONObject(result3); + String code2 = object2.getStr("ResultCode"); + if (!code2.equals("0")) { + return AjaxResult.error(object2.getStr("ResultContent")); + } + log.info("his鎺ュ彛-----鍖荤敓鎺ヨ瘖鎴愬姛!"); + if(null != tjOrder.getTjCategory() && !tjOrder.getTjCategory().equals("13")){ + customer.setCardId(hisRegistrationId); + }else { + customer.setCardId("0"); + } + customerService.updateById(customer); + transitionService.updateCardIdByTjNumAndIdCard(customer.getCusIdcard(), hisRegistrationId, tjOrder.getTjNumber()); + tjOrder.setCardId(hisRegistrationId); + orderService.updateById(tjOrder); } - customerService.updateById(customer); - transitionService.updateCardIdByTjNumAndIdCard(customer.getCusIdcard(), hisRegistrationId, tjOrder.getTjNumber()); - tjOrder.setCardId(hisRegistrationId); - orderService.updateById(tjOrder); + + //娣诲姞浣撴璇婃柇 + OutpinimpapplyDto dto=new OutpinimpapplyDto(); + dto.setHisRegistrationId(tjOrder.getCardId()); + dto.setMzzdid(1); + dto.setSqysbm(ysbm); + dto.setMzksbm(dept); + dto.setFbrq(date); + dto.setZdrq(date); + dto.setCzybm(ysbm); + dto.setCzyksbm(dept); + dto.setZs("鍋ュ悍鏌ヤ綋"); + dto.setBs("涓嶈"); + dto.setClyz(""); + dto.setJws(""); + dto.setTgjc(""); + dto.setGms(""); + dto.setJbbm("Z00.001"); + dto.setJbbm1(""); + dto.setJbbm2(""); + dto.setFzbz("1"); + dto.setHzqx("6"); + dto.setSfqc("0"); + dto.setQchs(""); + dto.setSfqj("0"); + dto.setJzqk(9); + controller.Outpinimpapply(dto); + return AjaxResult.success(); } - - //娣诲姞浣撴璇婃柇 - OutpinimpapplyDto dto=new OutpinimpapplyDto(); - dto.setHisRegistrationId(tjOrder.getCardId()); - dto.setMzzdid(1); - dto.setSqysbm("00029"); - dto.setMzksbm("0101"); - dto.setFbrq(date); - dto.setZdrq(date); - dto.setCzybm("00029"); - dto.setCzyksbm("0101"); - dto.setZs("鍋ュ悍鏌ヤ綋"); - dto.setBs("涓嶈"); - dto.setClyz(""); - dto.setJws(""); - dto.setTgjc(""); - dto.setGms(""); - dto.setJbbm("Z00.001"); - dto.setJbbm1(""); - dto.setJbbm2(""); - dto.setFzbz("1"); - dto.setHzqx("6"); - dto.setSfqc("0"); - dto.setQchs(""); - dto.setSfqj("0"); - dto.setJzqk(9); - controller.Outpinimpapply(dto); - - return tijianshenqing(customer, date,tjOrder.getCardId()); + return AjaxResult.error(); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error().put("jzh",jzh); } - -// } -// } -// } - return AjaxResult.error(); } +// 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鐢宠鍗曡皟鐢ㄦ柟娉� - private AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { - //妫�楠岀敵璇� - OutpintestapplyDto dto = new OutpintestapplyDto(); - dto.setHisRegistrationId(cardId); - dto.setSfzh(customer.getCusIdcard()); - dto.setSqysbm("00029"); - dto.setMzksbm("0101"); - dto.setSjrq(date); - dto.setCzybm("00029"); - dto.setCzyksbm("0101"); - dto.setSfjz("0"); + 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<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + + //妫�楠岀敵璇� List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); - 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.groupBy(TjProject::getHisXmbm); - wq.in(TjProject::getDeptId, "241", "317"); +// wq.in(TjProject::getDeptId, "241", "317"); + wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List<TjProject> projects = projectService.list(wq); - if (null != projects && projects.size() > 0) { - for (TjProject project : projects) { - if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { - if (null != project.getHisXmbm()) { + 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()); - if (project.getSfzhfy().equals("Y")) { - detailsDto.setSfzhfy("1"); - } else { - detailsDto.setSfzhfy("0"); - } + detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); - detailsDtos.add(detailsDto); + 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(""); @@ -227,15 +410,394 @@ 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.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); + } } } } } } - if (detailsDtos.size() > 0) { + + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + 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); @@ -253,23 +815,7 @@ String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("妫�楠�"); -// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); -// List<TjProject> list = projectService.list(wrapper); -// String tj_price = ""; -// for (TjProject project : list) { -// tj_price += project.getProPrice() + "銆�"; -// } -// tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); -// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); -// wrapper.eq(TjProject::getSl,1); -// wrapper.groupBy(TjProject::getHisXmbm); -// TjProject project = projectService.getOne(wrapper); -// if(null !=project){ -// BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl())); -// tree.setTjPrice(String.valueOf(decimal)); -// } + tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) @@ -286,55 +832,16 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } + tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } - } - } - - //鑽搧鐢宠 - if(outpinmedicapplyDetilsDtos.size()>0){ - OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); - dto1.setHisRegistrationId(cardId); - dto1.setSfzh(customer.getCusIdcard()); - dto1.setSqysbm("00029"); - dto1.setMzksbm("0101"); - dto1.setSjrq(date); - dto1.setCzybm("00029"); - dto1.setCzyksbm("0101"); - dto1.setCflxbm("A"); - dto1.setYfbm("1"); - dto1.setFyts("1"); - dto1.setMzzd(""); - dto1.setDetails(outpinmedicapplyDetilsDtos); - AjaxResult result = controller.Outpinmedicapply(dto1); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if(null !=code && code.equals("200")){ - JSONArray resultData = object.getJSONArray("ResultData"); - Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); - String cfh = resultDatasss.get("cfh").toString(); - - for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { - TjCf cf=new TjCf(); - cf.setCardId(cardId); - cf.setSfzh(customer.getCusIdcard()); - cf.setCfh(cfh); - cf.setSqysbm("00029"); - cf.setSqysxm("鐜嬪仴钀�"); - cf.setMzksbn("0101"); - cf.setSqrq(date); - cf.setCzybm("00029"); - cf.setYpbm(detilsDto.getYpbm()); - cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅"); - cf.setSl(String.valueOf(detilsDto.getSl())); - cf.setDj(String.valueOf(detilsDto.getDj())); - cf.setDcjl(String.valueOf(detilsDto.getDcjl())); - cf.setPj(String.valueOf(detilsDto.getPj())); - cf.setJj(String.valueOf(detilsDto.getJj())); - cf.setCreateTime(new Date()); - cfService.save(cf); - } + // 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); +// } } } @@ -342,23 +849,25 @@ OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); - outpinexamapplyDto.setSqysbm("00029"); - outpinexamapplyDto.setMzksbm("0101"); - outpinexamapplyDto.setCzybm("00029"); - outpinexamapplyDto.setCzyksbm("0101"); + outpinexamapplyDto.setSqysbm(ysbm); + outpinexamapplyDto.setMzksbm(dept); + outpinexamapplyDto.setCzybm(ysbm); + outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("0"); - List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); +// List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); - if (null != detailLists && detailLists.size() > 0) { + if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.in(TjProject::getProId, detailLists.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); -// wq.groupBy(TjProject::getHisXmbm); - wq.in(TjProject::getDeptId, "247", "248", "249", "250", "251", "252", "271", "273", "274", "275", "298"); + 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.size() > 0) { + 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")) { @@ -370,12 +879,41 @@ 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.size() > 0) { + if (!detailsDtoss.isEmpty()) { outpinexamapplyDto.setDetails(detailsDtoss); AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); String result6 = getAjaxResult(ajaxResult2); @@ -393,23 +931,7 @@ String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("妫�鏌�"); -// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); -// List<TjProject> list = projectService.list(wrapper); -// String tj_price = ""; -// for (TjProject project : list) { -// tj_price += project.getProPrice() + "銆�"; -// } -// tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); -// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); -// wrapper.eq(TjProject::getSl,1); -// wrapper.groupBy(TjProject::getHisXmbm); -// TjProject project = projectService.getOne(wrapper); -// if(null !=project){ -// BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl())); -// tree.setTjPrice(String.valueOf(decimal)); -// } + tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) @@ -426,20 +948,10 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } + tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } -// Map<String, Object> map = object5.getJSONObject("ResultData"); -// map.put("cardId", customer.getCardId()); -// JSONObject jsonObject = JSONUtil.parseObj(map); -// LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinexamapply"); -// HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); -// hisApiGetMethodService.save(jsonObject, "Outpinexamapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinexamapplyDto))); - } -// else { -// return AjaxResult.error("妫�鏌ョ敵璇峰け璐�!"); -// } } @@ -447,25 +959,25 @@ OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); - dao.setSqysbm("00029"); - dao.setMzksbm("0101"); + dao.setSqysbm(ysbm); + dao.setMzksbm(dept); dao.setSjrq(date); - dao.setCzybm("00029"); - dao.setCzyksbm("0101"); + dao.setCzybm(ysbm); + dao.setCzyksbm(dept); dao.setSfjz("0"); - List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); +// List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); - if (null != details && details.size() > 0) { + if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.in(TjProject::getProId, details.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); -// wq.groupBy(TjProject::getHisXmbm); - wq.in(TjProject::getDeptId, "100", "240", "253", "254", "255", "257", "258", "259", "269", "270"); -// wq.isNull(TjProject::getDeptId); + 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) { + 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")) { @@ -476,12 +988,42 @@ 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.size() > 0) { + if (!detailDtos.isEmpty()) { dao.setDetails(detailDtos); AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); String mzylyzsq2 = getAjaxResult(mzylyzsq1); @@ -499,15 +1041,6 @@ String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("澶勭疆"); -// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); -// wrapper.eq(TjProject::getSl,1); -// wrapper.groupBy(TjProject::getHisXmbm); -// TjProject project = projectService.getOne(wrapper); -// if(null !=project){ -// BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl())); -// tree.setTjPrice(String.valueOf(decimal)); -// } tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) @@ -524,33 +1057,1290 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } + tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } -// Map<String, Object> map = mzylyzsq3.getJSONObject("ResultData"); -// map.put("cardId", customer.getCardId()); -// JSONObject jsonObject = JSONUtil.parseObj(map); -// LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintreatapply"); -// HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); -// hisApiGetMethodService.save(jsonObject, "Outpintreatapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dao))); } -// else { -// return AjaxResult.error("澶勭疆鐢宠澶辫触!"); -// } } +/* + //鑽搧鐢宠 + 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"); +// String ysmc = configService.selectConfigByKey("request_default_ysmc"); +// +// List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); +// +// //妫�楠岀敵璇� +// 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()); +// 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(project.getProId()==1740177341251154377L){ +// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); +// detilsDto.setYpbm("00006670"); +// detilsDto.setPcbm("06"); +// detilsDto.setSl("1"); +// detilsDto.setDj("60"); +// detilsDto.setDcjl("1"); +// detilsDto.setPj("60"); +// detilsDto.setJj("60"); +// detilsDto.setJldw(""); +// detilsDto.setTjbm(""); +// detilsDto.setPs(""); +// detilsDto.setPsbm(""); +// detilsDto.setYyts(""); +// detilsDto.setXtph(""); +// detilsDto.setScph(""); +// detilsDto.setYpxq(""); +// detilsDto.setCdbm(""); +// detilsDto.setKfdw(""); +// detilsDto.setYfdw(""); +// detilsDto.setYysm(""); +// detilsDto.setFzbl("1"); +// detilsDto.setZh("0"); +// outpinmedicapplyDetilsDtos.add(detilsDto); +// } +// } +// if (!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); +// 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) { +// 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); +// } +// } +// if(project.getProId()==1740177341251154377L){ +// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); +// detilsDto.setYpbm("00006670"); +// detilsDto.setPcbm("06"); +// detilsDto.setSl("1"); +// detilsDto.setDj("60"); +// detilsDto.setDcjl("1"); +// detilsDto.setPj("60"); +// detilsDto.setJj("60"); +// detilsDto.setJldw(""); +// detilsDto.setTjbm(""); +// detilsDto.setPs(""); +// detilsDto.setPsbm(""); +// detilsDto.setYyts(""); +// detilsDto.setXtph(""); +// detilsDto.setScph(""); +// detilsDto.setYpxq(""); +// detilsDto.setCdbm(""); +// detilsDto.setKfdw(""); +// detilsDto.setYfdw(""); +// detilsDto.setYysm(""); +// detilsDto.setFzbl("1"); +// detilsDto.setZh("0"); +// outpinmedicapplyDetilsDtos.add(detilsDto); +// } +// } +// if (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); +// } +// } +// } +// } +// } +// } +// +// +// //闂ㄨ瘖娌荤枟澶勭疆鐢宠 +// 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.size() > 0) { +// 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<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) { +// 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); +// } +// } +// if(project.getProId()==1740177341251154377L){ +// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); +// detilsDto.setYpbm("00006670"); +// detilsDto.setPcbm("06"); +// detilsDto.setSl("1"); +// detilsDto.setDj("60"); +// detilsDto.setDcjl("1"); +// detilsDto.setPj("60"); +// detilsDto.setJj("60"); +// detilsDto.setJldw(""); +// detilsDto.setTjbm(""); +// detilsDto.setPs(""); +// detilsDto.setPsbm(""); +// detilsDto.setYyts(""); +// detilsDto.setXtph(""); +// detilsDto.setScph(""); +// detilsDto.setYpxq(""); +// detilsDto.setCdbm(""); +// detilsDto.setKfdw(""); +// detilsDto.setYfdw(""); +// detilsDto.setYysm(""); +// detilsDto.setFzbl("1"); +// detilsDto.setZh("0"); +// outpinmedicapplyDetilsDtos.add(detilsDto); +// } +// } +// if (detailDtos.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); +// } +// } +// } +// } +// } +// } +// +// //鑽搧鐢宠 +// 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); +// } +// } +// } +// +// 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"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); + + 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()); + 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); + } + // 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"); + 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(); } + + public AjaxResult tijianshenqing(TjCustomer customer, String date, TjOrder tjOrder, SysUser sysUser, AjaxResult result) { + List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId()); + if (!pacsApiMethodService.save(tjOrder, customer, detailList)) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + Object jzh = result.get("jzh"); + if (null != jzh && null != jzh.toString()) { + ZfHisApiMethod(jzh.toString()); + } + log.error("pacs鐢宠澶辫触 璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId()); + return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString()); + } + List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + 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()); + 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.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + if(null != tjProjectList && !tjProjectList.isEmpty()){ + 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()); + 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()); + } + } + + } + + //妫�楠岀敵璇� +// OutpintestapplyDto dto = new OutpintestapplyDto(); +// dto.setHisRegistrationId(tjOrder.getCardId()); +// dto.setSfzh(customer.getCusIdcard()); +// dto.setSqysbm("00029"); +// dto.setMzksbm("0101"); +// dto.setSjrq(date); +// dto.setCzybm("00029"); +// dto.setCzyksbm("0101"); +// dto.setSfjz("0"); + +// List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 +// OutpintreatapplyDto dao = new OutpintreatapplyDto(); +// dao.setHisRegistrationId(tjOrder.getCardId()); +// dao.setSfzh(customer.getCusIdcard()); +// dao.setSqysbm("00029"); +// dao.setMzksbm("0101"); +// dao.setSjrq(date); +// dao.setCzybm("00029"); +// dao.setCzyksbm("0101"); +// dao.setSfjz("0"); +// List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); +// if (!detailList.isEmpty()) { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); +// wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); +// List<TjProject> projects = projectService.list(wq); +// if (null != projects && !projects.isEmpty()) { +// for (TjProject project : projects) { +// if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { +// if (null != project.getHisXmbm()) { +// OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); +// detailsDto.setMxfyxmbm(project.getHisXmbm()); +// if (project.getSfzhfy().equals("Y")) { +// detailsDto.setSfzhfy("1"); +// } else { +// detailsDto.setSfzhfy("0"); +// } +// detailsDto.setSl(project.getSl()); +// detailsDto.setProjg(project.getProPrice()); +// detailDtos.add(detailsDto); +// } +// if(project.getProId()==1740177341251154377L){ +// OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); +// detilsDto.setYpbm("00006670"); +// detilsDto.setPcbm("06"); +// detilsDto.setSl("1"); +// detilsDto.setDj("60"); +// detilsDto.setDcjl("1"); +// detilsDto.setPj("60"); +// detilsDto.setJj("60"); +// detilsDto.setJldw(""); +// detilsDto.setTjbm(""); +// detilsDto.setPs(""); +// detilsDto.setPsbm(""); +// detilsDto.setYyts(""); +// detilsDto.setXtph(""); +// detilsDto.setScph(""); +// detilsDto.setYpxq(""); +// detilsDto.setCdbm(""); +// detilsDto.setKfdw(""); +// detilsDto.setYfdw(""); +// detilsDto.setYysm(""); +// detilsDto.setFzbl("1"); +// detilsDto.setZh("0"); +// outpinmedicapplyDetilsDtos.add(detilsDto); +// } +// } +// } +// } +// } +// if (!detailDtos.isEmpty()) { +// dao.setDetails(detailDtos); +// AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); +// String mzylyzsq2 = getAjaxResult(mzylyzsq1); +// JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2); +// String code5 = mzylyzsq3.getStr("ResultCode"); +// if (code5.equals("0")) { +// List<OutpintestapplyDetailsDto> details1 = dao.getDetails(); +// for (OutpintestapplyDetailsDto detail : details1) { +// LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); +// tree.setCardId(dao.getHisRegistrationId()); +// tree.setPationid(customer.getPationId()); +// JSONObject resultData = mzylyzsq3.getJSONObject("ResultData"); +// tree.setSqdh(resultData.getStr("zlczh")); +// tree.setFyhj(resultData.getStr("fyhj")); +// String mxfyxmbm = detail.getMxfyxmbm(); +// tree.setHisXmdm(mxfyxmbm); +// tree.setType("澶勭疆"); +// tree.setTjPrice(String.valueOf(detail.getProjg())); +// LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); +// if (detail.getSfzhfy().equals("1")) +// wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); +// else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); +// List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); +// if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { +// String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); +// LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); +// wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); +// LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); +// LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); +// wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); +// LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); +// tree.setXmfl(ejjfxmzd.getYjkmdm()); +// } +// tree.setCreateTime(DateUtil.date()); +// ltkjJianchajianyanTreeService.save(tree); +// } +// } +// } + + //鑽搧鐢宠 +// if(!outpinmedicapplyDetilsDtos.isEmpty()){ +// OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); +// dto1.setHisRegistrationId(tjOrder.getCardId()); +// dto1.setSfzh(customer.getCusIdcard()); +// dto1.setSqysbm("00029"); +// dto1.setMzksbm("0101"); +// dto1.setSjrq(date); +// dto1.setCzybm("00029"); +// dto1.setCzyksbm("0101"); +// dto1.setCflxbm("A"); +// dto1.setYfbm("1"); +// dto1.setFyts("1"); +// dto1.setMzzd(""); +// dto1.setDetails(outpinmedicapplyDetilsDtos); +// AjaxResult resultt = controller.Outpinmedicapply(dto1); +// String result1 = getAjaxResult(resultt); +// JSONObject object = getJSONObject(result1); +// String code = object.getStr("ResultCode"); +// if(null !=code && code.equals("0")){ +// JSONObject resultData = object.getJSONObject("ResultData"); +//// Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); +// String cfh = resultData.getStr("cfh"); +// log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); +// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { +// TjCf cf=new TjCf(); +// cf.setCardId(tjOrder.getCardId()); +// cf.setSfzh(customer.getCusIdcard()); +// cf.setCfh(cfh); +// cf.setSqysbm("00029"); +// cf.setSqysxm("鐜嬪仴钀�"); +// cf.setMzksbn("0101"); +// cf.setSqrq(date); +// cf.setCzybm("00029"); +// cf.setYpbm(detilsDto.getYpbm()); +// cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅"); +// cf.setSl(String.valueOf(detilsDto.getSl())); +// cf.setDj(String.valueOf(detilsDto.getDj())); +// cf.setDcjl(String.valueOf(detilsDto.getDcjl())); +// cf.setPj(String.valueOf(detilsDto.getPj())); +// cf.setJj(String.valueOf(detilsDto.getJj())); +// cf.setCreateTime(new Date()); +// cfService.save(cf); +// } +// } +// } + + return AjaxResult.success(); + } + + + 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) { + public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) { + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); - - List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); - - List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); List<String> zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId()); @@ -558,19 +2348,277 @@ List<String> cfhs = cfService.getCfhs(order.getCardId()); + + AjaxResult ajaxResult = null; + String result2 = null; + JSONObject object1 = null; + String code1 = null; + +// if (isUseLisAndPacsRegister){ + TjCustomer customer1 = customerService.getById(order.getUserId()); + // 浣滃簾妫�鏌ョ敵璇� + List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId()); + if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ + for (String sqdh : bljcsqdhByPacs) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuJcsqdh(order.getCardId()); + } + } + } + // 浣滃簾妫�楠岀敵璇� + List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId()); + if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ + for (String sqdh : bljysqdhByLis) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); + if (cancelLisAjaxResult.get("code").toString().equals("200")){ + String result = cancelLisAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code= object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuJysqdh(order.getCardId()); + } + } + } + } + +// }else { + List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); + + List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); + //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + if (null != jcsqdh && jcsqdh.size()>0) { + for (String s : jcsqdh) { + AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + orderService.delHuoQuJcsqdh(order.getCardId()); + } +// else { +// return false; +// } + } + + } + //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� + if (null != jysqdh && jysqdh.size()>0) { + for (String s : jysqdh) { + ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuJysqdh(order.getCardId()); + } +// else { +// return false; +// } + } + } + + //2.1.6.9 浣滃簾闂ㄨ瘖娌荤枟澶勭疆鐢宠 + if (null != zlsqdh && zlsqdh.size()>0) { + for (String s : zlsqdh) { + ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuZlsqdh(order.getCardId()); + } + } + } + + //浣滃簾鑽搧鐢宠 + if(null !=cfhs && cfhs.size()>0){ + for (String cfh : cfhs) { + AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if(null !=code && code.equals("0")){ + cfService.delCfByCardId(cfh); + } + } + } +// } + + //2.1.3 闂ㄨ瘖鍖荤敓鍙栨秷鎺ヨ瘖 + ajaxResult = controller.Outpinunconapply(order.getCardId(), date, ysbm); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); +// if (!code1.equals("0")) { +// return false; +// } + return true; + } + + + + //浣滃簾琛ュ綍椤圭洰 + public boolean ZfBlXm(List<String> bldhs, TjOrder order) { + log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs)); + if(null !=bldhs && bldhs.size()>0){ + log.info("杩涘叆鍒ゆ柇"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + try { + for (String bldh : bldhs) { + + List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh); + + + List<String> cfhs = cfService.getCfBlhs(order.getCardId(),bldh); + + AjaxResult ajaxResult = null; + String result2 = null; + JSONObject object1 = null; + String code1 = null; + log.info("鏌ヨ鍓�"); +// if (lisApiMethod.isUseLisAndPacsRegister(order)) { + TjCustomer customer1 = customerService.getById(order.getUserId()); + log.info("customer1 ->{}",customer1); + List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh); + log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs); + // 浣滃簾妫�鏌ョ敵璇� + if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ + for (String sqdh : bljcsqdhByPacs) { + AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult)); + String result = cancelPacsAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh); + log.info("bljysqdhByLis ->{}",bljysqdhByLis); + // 浣滃簾妫�楠岀敵璇� + if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ + for (String sqdh : bljysqdhByLis) { + AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); + String result = cancelLisAjaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code= object.getStr("ResultCode"); + if(code.equals("1")){ + orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh); + + List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh); +// }else { +// 2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + if (null != jcsqdh && jcsqdh.size()>0) { + for (String s : jcsqdh) { + AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� + if (null != jysqdh && jysqdh.size()>0) { + for (String s : jysqdh) { + ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + //2.1.6.9 浣滃簾闂ㄨ瘖娌荤枟澶勭疆鐢宠 + if (null != zlsqdh && zlsqdh.size()>0) { + for (String s : zlsqdh) { + ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuZlsqdh(order.getCardId(),bldh); + }else { + return false; + } + } + } + + //浣滃簾鑽搧鐢宠 + if(null !=cfhs && cfhs.size()>0){ + for (String cfh : cfhs) { + AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if(null !=code && code.equals("0")){ + cfService.delCfByCardId(cfh); + }else { + return false; + } + } + } +// } + return true; + } + } catch (Exception e) { + log.error(e.getMessage()); + return false; + } + } + return true; + } + + //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔 + public boolean ZfHisApiMethod(String jzh) { + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + Date dates = new Date(); + final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); + + List<String> jcsqdh = orderService.getHuoQuJcsqdh(jzh); + + List<String> jysqdh = orderService.getHuoQuJysqdh(jzh); + + + List<String> zlsqdh = orderService.getHuoQuZlsqdh(jzh); + + + List<String> cfhs = cfService.getCfhs(jzh); + //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { - AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); + AjaxResult result = controller.Outpindelexamapply(jzh, ysbm, s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { - orderService.delHuoQuJcsqdh(order.getCardId()); + orderService.delHuoQuJcsqdh(jzh); } -// else { -// return false; -// } } } @@ -585,40 +2633,37 @@ if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { - ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); + ajaxResult = controller.Outpindeltestapply(jzh, ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { - orderService.delHuoQuJysqdh(order.getCardId()); + orderService.delHuoQuJysqdh(jzh); } -// else { -// return false; -// } } } //2.1.6.9 浣滃簾闂ㄨ瘖娌荤枟澶勭疆鐢宠 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { - ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s); + ajaxResult = controller.Outpintdelreatapply(jzh, ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); -// if (!code1.equals("0")) { -// return false; -// } + if (code1.equals("0")) { + orderService.delHuoQuZlsqdh(jzh); + } } } //浣滃簾鑽搧鐢宠 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { - AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh); + AjaxResult result = controller.Outpindelmedicapply(jzh, ysbm, cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); - if(null !=code && code.equals("200")){ + if(null !=code && code.equals("0")){ cfService.delCfByCardId(cfh); } } @@ -626,16 +2671,12 @@ //2.1.3 闂ㄨ瘖鍖荤敓鍙栨秷鎺ヨ瘖 - ajaxResult = controller.Outpinunconapply(order.getCardId(), date, "00029"); + ajaxResult = controller.Outpinunconapply(jzh, date, ysbm); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); -// if (!code1.equals("0")) { -// return false; -// } return true; } - //鑾峰彇闂ㄨ瘖缁撶畻璁板綍 @Transactional @@ -645,4 +2686,78 @@ } + public void Getlabreginfoinfo(String hisCardId,String orderTime){ + AjaxResult ajaxResult = controller.Getlabreginfoinfo(hisCardId,true,orderTime); + saveLabRegInfo(ajaxResult); + ajaxResult = controller.Getlabreginfoinfo(hisCardId,false,orderTime); + saveLabRegInfo(ajaxResult); + } + + private void saveLabRegInfo(AjaxResult ajaxResult) { + if (ajaxResult.get("code").toString().equals("200")){ + JSONObject data = JSONUtil.parseObj(ajaxResult.get("data").toString()); + JSONObject response = data.getJSONObject("Response"); + if (response.getStr("ResultCode").equals("0")) { + JSONArray array = response.getJSONArray("ResultData"); + if (!array.isEmpty()){ + for (Object o : array) { + JSONObject jsonObject = (JSONObject) o; + TbLisSq tbLisSq = new TbLisSq(); + tbLisSq.setGrbslx(trimString(jsonObject.getStr("GRBSLX"))); + tbLisSq.setZdjgdm(trimString(jsonObject.getStr("ZDJGDM"))); + tbLisSq.setMzzybz(trimString(jsonObject.getStr("MZZYBZ"))); + tbLisSq.setZdjgmc(trimString(jsonObject.getStr("ZDJGMC"))); + tbLisSq.setBgysqm(trimString(jsonObject.getStr("BGYSQM"))); + tbLisSq.setShysqm(trimString(jsonObject.getStr("SHYSQM"))); + tbLisSq.setSqrqsj(trimString(jsonObject.getStr("SQRQSJ"))); + tbLisSq.setSqjgmc(trimString(jsonObject.getStr("SQJGMC"))); + tbLisSq.setSqrbh(trimString(jsonObject.getStr("SQRBH"))); + tbLisSq.setXyzddm(trimString(jsonObject.getStr("XYZDDM"))); + tbLisSq.setJyxmmc(trimString(jsonObject.getStr("JYXMMC"))); + tbLisSq.setCardId(trimString(jsonObject.getStr("his_registration_id"))); + tbLisSq.setHzlxdm(trimString(jsonObject.getStr("HZLXDM"))); + tbLisSq.setBgysbh(trimString(jsonObject.getStr("BGYSBH"))); + tbLisSq.setJyxmdm(trimString(jsonObject.getStr("JYXMDM"))); + tbLisSq.setBgksbh(trimString(jsonObject.getStr("BGKSBH"))); + tbLisSq.setSqdbh(trimString(jsonObject.getStr("SQDBH"))); + tbLisSq.setJyxh(trimString(jsonObject.getStr("JYXH"))); + tbLisSq.setHzxb(trimString(jsonObject.getStr("HZXB"))); + tbLisSq.setSqjgdm(trimString(jsonObject.getStr("SQJGDM"))); + tbLisSq.setSqrxm(trimString(jsonObject.getStr("SQRXM"))); + tbLisSq.setBgjgdm(trimString(jsonObject.getStr("BGJGDM"))); + tbLisSq.setJyxhHb(trimString(jsonObject.getStr("jyxh_hb"))); + tbLisSq.setHzksmc(trimString(jsonObject.getStr("HZKSMC"))); + tbLisSq.setHzxm(trimString(jsonObject.getStr("HZXM"))); + tbLisSq.setSqksmc(trimString(jsonObject.getStr("SQKSMC"))); + tbLisSq.setYljgdm(trimString(jsonObject.getStr("YLJGDM"))); + tbLisSq.setPationId(trimString(jsonObject.getStr("PationId"))); + tbLisSq.setBgksmc(trimString(jsonObject.getStr("BGKSMC"))); + tbLisSq.setDhhm(trimString(jsonObject.getStr("DHHM"))); + tbLisSq.setHzzs(trimString(jsonObject.getStr("HZZS"))); + tbLisSq.setJyrq(trimString(jsonObject.getStr("JYRQ"))); + tbLisSq.setZzksrqsj(trimString(jsonObject.getStr("ZZKSRQSJ"))); + tbLisSq.setHznl(trimString(jsonObject.getStr("HZNL"))); + tbLisSq.setShrq(trimString(jsonObject.getStr("SHRQ"))); + tbLisSq.setBgjgmc(trimString(jsonObject.getStr("BGJGMC"))); + tbLisSq.setSqksdm(trimString(jsonObject.getStr("SQKSDM"))); + tbLisSq.setHzksdm(trimString(jsonObject.getStr("HZKSDM"))); + tbLisSq.setShysbh(trimString(jsonObject.getStr("SHYSBH"))); + tbLisSq.setXyzdmc(trimString(jsonObject.getStr("XYZDMC"))); + tbLisSq.setZfbz(trimString(jsonObject.getStr("zfbz"))); + LambdaQueryWrapper<TbLisSq> wrapper = new LambdaQueryWrapper<>(tbLisSq); + List<TbLisSq> list = tbLisSqService.list(wrapper); + if (list.isEmpty()){ + tbLisSq.setId(IdUtil.getSnowflake().nextId()); + tbLisSqService.save(tbLisSq); + } + } + } + } + } + } + + private String trimString(String value) { + return value != null ? value.trim() : null; + } + } -- Gitblit v1.8.0