From 14ecea8537d5b29ca64c75aad4ff49265018415d Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 02 七月 2025 08:51:22 +0800 Subject: [PATCH] zjh20250702 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 653 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 393 insertions(+), 260 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index bcaa9a3..66d92b1 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -42,6 +42,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; @@ -180,7 +181,6 @@ private TjOrderRemarkMapper remarkMapper; - @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { long l = System.currentTimeMillis(); @@ -207,7 +207,7 @@ redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId"); if (null != tbTransitionList && tbTransitionList.size() > 0) { - tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); + tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); //淇敼姣忛」鐨勫師浠风幇浠� for (TbTransition transition : tbTransitionList) { @@ -260,7 +260,7 @@ tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), - String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); + String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); if (!b) { List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId())); if (null != proList && !proList.isEmpty()) { @@ -316,13 +316,13 @@ if (null != tjReservation && tjReservation.getPayType() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); - orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); + orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); } } if (tjFlowingWater.getPayStasus() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); - orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); + orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); } if (tjFlowingWater.getDiscount() == null) { transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber()); @@ -330,7 +330,7 @@ transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber()); } - tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); + tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); // List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); // if (list != null) { // for (TjOrderDetail tjOrderDetail : list) { @@ -445,12 +445,12 @@ } List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser, null); List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(order.getTjNumber()); xdPictureService.saveBatch(xdPictureList); } - public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { + public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) { try { String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); String config = configService.selectConfigByKey("sfkqdyhis"); @@ -459,7 +459,7 @@ String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId())); - if(i>0) continue; + if (i > 0) continue; TjSampling sampling = new TjSampling(); if (null == projectService.getById(detail.getProId())) continue; TjProject project = projectService.getById(detail.getProId()); @@ -467,36 +467,38 @@ String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); if (null != proParentId && proParentId == 0) { sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); - // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); - // if (jyxmzd != null) { + // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); + // if (jyxmzd != null) { if (config.equals("Y") && lisAndPacsRegister) sampling.setJyxmdm(project.getLisXmbm()); else sampling.setJyxmdm(String.valueOf(project.getProId())); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); - // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); - // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); - // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); - // sampling.setSpecimenType(jybbzd.getJybbmc()); - // sampling.setJyxmdm(jyxmzd.getJyxmdm()); - // } + sampling.setYb(project.getYb()); + // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); + // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); + // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); + // sampling.setSpecimenType(jybbzd.getJybbmc()); + // sampling.setJyxmdm(jyxmzd.getJyxmdm()); + // } } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); + sampling.setYb(project.getYb()); if (config.equals("Y") && lisAndPacsRegister) sampling.setJyxmdm(project1.getLisXmbm()); else sampling.setJyxmdm(String.valueOf(project1.getProId())); - // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); - // if (jyxmzd != null) { - // sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); - // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); - // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); - // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); - // sampling.setSpecimenType(jybbzd.getJybbmc()); - // sampling.setJyxmdm(jyxmzd.getJyxmdm()); - // } + // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); + // if (jyxmzd != null) { + // sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); + // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); + // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); + // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); + // sampling.setSpecimenType(jybbzd.getJybbmc()); + // sampling.setJyxmdm(jyxmzd.getJyxmdm()); + // } } sampling.setSamplingNumber(format); sampling.setTjNum(order.getTjNumber()); @@ -518,9 +520,9 @@ samplingService.save(sampling); } } - if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ + if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) { AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); - if (ajaxResult.get("code").toString().equals("200")){ + if (ajaxResult.get("code").toString().equals("200")) { String str = ajaxResult.get("data").toString(); str = str.replace("=", ":"); JSONArray array = JSONUtil.parseArray(str); @@ -532,12 +534,12 @@ lisJyflhb.setMc(object.getStr("mc")); lisJyflhb.setFlbm(object.getStr("flbm")); LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); + wrapper.eq(LisJyflhb::getFlbm, lisJyflhb.getFlbm()); LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); if (jyflhb == null) { lisJyflhb.setId(IdUtil.getSnowflake().nextId()); lisJyflhbService.save(lisJyflhb); - }else { + } else { lisJyflhb.setId(jyflhb.getId()); lisJyflhbService.updateById(lisJyflhb); } @@ -545,10 +547,10 @@ } } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + if (StrUtil.isNotBlank(jxbz)) { + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz); + } else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); } } catch (Exception e) { log.error(e.getMessage()); @@ -597,68 +599,157 @@ } @Override - @Async("async") - public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) { - String deptname=""; - TjProject tjProject = projectService.getById(orderRemark.getProId()); - if(null !=tjProject){ - SysDept dept = deptService.getById(tjProject.getDeptId()); - if(dept.getParentId()!=100L){ - deptname= deptService.getprentks(dept.getParentId().toString()); - }else { - deptname=dept.getDeptName(); - } + //@Async("async") + public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) { + + try { + String deptname = ""; + TjProject tjProject = projectService.getById(orderRemark.getProId()); + if (null != tjProject) { + SysDept dept = deptService.getById(tjProject.getDeptId()); + if (dept.getParentId() != 100L) { + deptname = deptService.getprentks(dept.getParentId().toString()); + } else { + deptname = dept.getDeptName(); + } + String xb = tjCustomerService.getSexByTjh(order.getTjNumber()); + + StringBuilder ssyszys = new StringBuilder(); + StringBuilder ssyszyjgs = new StringBuilder(); + List<Map<String, Object>> jianyilis = new ArrayList<>(); + for (TjOrderDetail detail : tjOrderDetailList) { + detail.setTjStatus(1L); + LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>(); + wq0.eq(TjStandard::getProId, detail.getProId()); + detail.setUpdateBy(sysUser.getNickName()); + detail.setUpdateTime(new Date()); + detail.setCreateId(String.valueOf(sysUser.getUserId())); + detail.setUpdateId(String.valueOf(sysUser.getUserId())); + tjOrderDetailService.updateById(detail); + + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, order.getTjNumber()); + wq.eq(TjOrderYcxm::getJcxm, detail.getProName()); + ycxmService.remove(wq); + if (detail.getExceptionDesc() == 1) { + if (tjProject.getSfcyyc() == 0) { + String replacedAll = detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", ""); + + if (!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")) { + + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber() + , replacedAll, detail.getProResult()); - for (TjOrderDetail detail : tjOrderDetailList) { - detail.setTjStatus(1L); - LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>(); - wq0.eq(TjStandard::getProId, detail.getProId()); - detail.setUpdateBy(sysUser.getNickName()); - detail.setUpdateTime(new Date()); - detail.setCreateId(String.valueOf(sysUser.getUserId())); - detail.setUpdateId(String.valueOf(sysUser.getUserId())); - tjOrderDetailService.updateById(detail); - try { - LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>(); - wq.eq(TjOrderYcxm::getTjh,order.getTjNumber()); - wq.eq(TjOrderYcxm::getJcxm,detail.getProName()); - TjOrderYcxm ycxm = ycxmService.getOne(wq); - if(null !=ycxm){ - ycxm.setJcjg(detail.getProResult()); - List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() - ,"","",order.getTjNumber() - ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇","") - ,detail.getProResult()); + String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+"); + List<Map<String, Object>> mapList = new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ", "") + .replaceAll("鐥�", "").replaceAll("[0-9]", ""); + Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0", xb); + if (null != mapss && !mapss.isEmpty()) { + Object bt = mapss.get("bt"); + Object nr = mapss.get("nr"); + if (null != bt || null != nr) { - String[] split = detail.getProResult().split("銆倈,|锛�"); - List<Map<String,Object>> mapList=new ArrayList<>(); - for (String s : split) { - s = s.replaceAll("\n", ""); -// Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); - Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0"); - if(null !=mapss && !mapss.isEmpty()){ - Object bt = mapss.get("bt"); - Object nr = mapss.get("nr"); - if(null !=bt || null !=nr){ + } + mapList.add(mapss); + } + } + TjOrderYcxm ycxm = ycxmService.getOne(wq); + if (null != ycxm) { + ycxm.setJcjg(detail.getProResult()); + if (null != maps && !maps.isEmpty()) { + ycxm.setJynr(JSONUtil.toJsonStr(maps)); + } + if (!mapList.isEmpty()) { + ycxm.setJynr(JSONUtil.toJsonStr(mapList)); + } + ycxmService.updateById(ycxm); + } else { + TjOrderYcxm orderYcxm = new TjOrderYcxm(); + orderYcxm.setTjh(order.getTjNumber()); + orderYcxm.setParentName(tjProject.getProName()); + orderYcxm.setJcxm(detail.getProName()); + orderYcxm.setJcjg(detail.getProResult()); + if (null != maps && !maps.isEmpty()) { + orderYcxm.setJynr(JSONUtil.toJsonStr(maps)); + } + if (!mapList.isEmpty()) { + orderYcxm.setJynr(JSONUtil.toJsonStr(mapList)); + } + orderYcxm.setJyjc("0"); + ycxmService.save(orderYcxm); + } + } else { - } mapList.add(mapss); + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() + , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult()); + + + String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+"); + List<Map<String, Object>> mapList = new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ", "") + .replaceAll("鐥�", "").replaceAll("[0-9]", ""); + Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0", xb); + if (null != mapss && !mapss.isEmpty()) { + Object bt = mapss.get("bt"); + Object nr = mapss.get("nr"); + if (null != bt || null != nr) { + + } + mapList.add(mapss); + } + } + + if (null != maps && !maps.isEmpty()) { + jianyilis.addAll(maps); + } + if (!mapList.isEmpty()) { + jianyilis.addAll(mapList); + } + ssyszys.append(detail.getProName()).append("/"); + ssyszyjgs.append(detail.getProResult()).append("/"); } } + } else { + if (detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")) { + ssyszys.append(detail.getProName()).append("/"); + ssyszyjgs.append(detail.getProResult()).append("/"); - if(null != maps && !maps.isEmpty()){ - ycxm.setJynr(JSONUtil.toJsonStr(maps)); } - if( !mapList.isEmpty()){ - ycxm.setJynr(JSONUtil.toJsonStr(mapList)); - } - ycxmService.updateById(ycxm); - if(detail.getExceptionDesc()==0)ycxmService.remove(wq); + } - } catch (Exception e) { + } + + // 浣跨敤 stream 杩囨护鍑� proName 涓� "鑸掑紶鍘�" 鎴� "鏀剁缉鍘�" 鐨勫厓绱� + List<TjOrderDetail> filteredList = tjOrderDetailList.stream() + .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc() == 1) + .collect(Collectors.toList()); + if (StrUtil.isNotBlank(ssyszys.toString())) { + + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, order.getTjNumber()); + wq.like(TjOrderYcxm::getJcxm, "鑸掑紶鍘�"); + ycxmService.remove(wq); + + if (!filteredList.isEmpty()) { + TjOrderYcxm orderYcxm = new TjOrderYcxm(); + orderYcxm.setTjh(order.getTjNumber()); + orderYcxm.setParentName(tjProject.getProName()); + orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", "")); + orderYcxm.setJcjg(ssyszyjgs.toString().replaceFirst("/$", "")); + orderYcxm.setJynr(JSONUtil.toJsonStr(jianyilis)); + orderYcxm.setJyjc("0"); + ycxmService.save(orderYcxm); + } } } + } catch (Exception e) { + e.printStackTrace(); + log.error(String.valueOf(e)); } } @@ -681,14 +772,14 @@ @Override // @Async("async") // @Transactional - public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) { + public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser, String jxbz) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); tjFlowingWater.setJxbz(jxbz); tjFlowingWaterService.updateById(tjFlowingWater); - TjProBl proBl=new TjProBl(); + TjProBl proBl = new TjProBl(); proBl.setTjh(order.getTjNumber()); proBl.setBldh(jxbz); proBl.setBlsj(date); @@ -701,7 +792,7 @@ String config = configService.selectConfigByKey("sfkqdyhis"); - List<TjProject> projectList=new ArrayList<>(); + List<TjProject> projectList = new ArrayList<>(); // ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>(); for (String tjProId : tjProIds) { @@ -759,14 +850,14 @@ TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId); // if(null !=orderDetail) continue; - if(null !=orderDetail) { + if (null != orderDetail) { detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString()); } TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); if (null != projects) { TjProject projectss = projectService.getById(projects.getProParentId()); - if (null != projectss && projectss.getProParentId()==0L) { + if (null != projectss && projectss.getProParentId() == 0L) { projectList.add(projectss); } } @@ -787,10 +878,10 @@ } - List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId); + List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(), tjProId); if (null != tbTransitionList && !tbTransitionList.isEmpty()) { for (TbTransition transition : tbTransitionList) { - transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(), + transitionService.updateTbTransitionById(transition.getId().toString(), jxbz, order.getTjNumber(), order.getCardId(), transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10)))); } } @@ -801,12 +892,12 @@ ArrayList<TjProject> jianChaProjects = new ArrayList<>(); - if(!projectList.isEmpty()){ + if (!projectList.isEmpty()) { List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList()); for (TjProject project : list) { TjOrderRemark orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId())); - if(null !=orderRemark){ + if (null != orderRemark) { remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString()); } @@ -826,7 +917,7 @@ TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString()); - if(null !=orderDetail) { + if (null != orderDetail) { detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString()); } @@ -844,26 +935,25 @@ detail1.setJxbz(jxbz); tjOrderDetailService.save(detail1); // tjOrderDetails.add(detail1); - if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { - if (null != project.getHisXmbm()) { - jianChaProjects.add(project); - } + if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { + if (null != project.getHisXmbm()) { + jianChaProjects.add(project); } + } } // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛� - if(config.equalsIgnoreCase("Y")){ -// if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) { - List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); - addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); -// } + if (config.equalsIgnoreCase("Y")) { + List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); + addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx"); AjaxResult result; if (isUseMx.equalsIgnoreCase("Y")) - result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); - else result = tijianbulushenqingJinchuanNew (customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); + result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, (tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L)); + else + result = tijianbulushenqingJinchuanNew(customer, date, order.getCardId(), jxbz, jianChaProjects,(tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L)); return result.get("code").toString().equals("200"); - }else { + } else { List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); } @@ -872,7 +962,7 @@ return true; } - public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { + public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) { try { String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); if (null != detailList && detailList1) { @@ -880,7 +970,7 @@ String format = DateUtil.format(date, "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId())); - if(i>0) continue; + if (i > 0) continue; TjSampling sampling = new TjSampling(); if (null == projectService.getById(detail.getProId())) continue; @@ -922,9 +1012,9 @@ } } String config = configService.selectConfigByKey("sfkqdyhis"); - if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ + if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) { AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); - if (ajaxResult.get("code").toString().equals("200")){ + if (ajaxResult.get("code").toString().equals("200")) { String str = ajaxResult.get("data").toString(); str = str.replace("=", ":"); JSONArray array = JSONUtil.parseArray(str); @@ -936,12 +1026,12 @@ lisJyflhb.setMc(object.getStr("mc")); lisJyflhb.setFlbm(object.getStr("flbm")); LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); + wrapper.eq(LisJyflhb::getFlbm, lisJyflhb.getFlbm()); LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); if (jyflhb == null) { lisJyflhb.setId(IdUtil.getSnowflake().nextId()); lisJyflhbService.save(lisJyflhb); - }else { + } else { lisJyflhb.setId(jyflhb.getId()); lisJyflhbService.updateById(lisJyflhb); } @@ -949,53 +1039,58 @@ } } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + if (StrUtil.isNotBlank(jxbz)) { + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz); + } else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); } } catch (Exception e) { log.error(e.getMessage()); } } - private static List<String> mapJinchuan=null; - public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { - mapJinchuan=new ArrayList<>(); - tijianbulushenqingOld( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao); + private static List<String> mapJinchuan = null; - tijianbulushenqingJinchuan( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao); + private static ArrayList<String> ids = null; + + public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) { + mapJinchuan = new ArrayList<>(); + ids = new ArrayList<>(); + tijianbulushenqingOld(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao); + + tijianbulushenqingJinchuan(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao); return AjaxResult.success(); //return AjaxResult.success(); } - public AjaxResult tijianbulushenqingJinchuan(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { + + public AjaxResult tijianbulushenqingJinchuan(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) { TjOrder order = orderService.getOrderByCardId(cardId); - if(null !=order){ + if (null != order) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); - List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); + List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); - List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>(); if (useLisAndPacsRegister && isTuanTiPiao) { // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); - wrapper.eq(TjSampling::getJxbz,jxbz); + wrapper.eq(TjSampling::getTjNum, order.getTjNumber()); + wrapper.eq(TjSampling::getJxbz, jxbz); List<TjSampling> list = tjSamplingService.list(wrapper); - log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); - if (!list.isEmpty()){ + 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<>(); + 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()); + log.info("key ->{},val ->{}", entry.getKey(), entry.getValue()); // Lis鏍囨湰浠g爜 String specimenTypeCode = entry.getKey(); List<TjSampling> samplings = entry.getValue(); - if (samplings.size() >= 2){ + if (samplings.size() >= 2) { // 杩涜鍚堝苟 List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); // log.info("鎻愬彇id ->{}",stringList); @@ -1007,20 +1102,21 @@ } } if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); + String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix); ids.add(id); - }else { + } else { ids.add(stringList.get(0)); } - }else { + } else { ids.add(samplings.get(0).getId()); } } - Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); + + Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids.stream().distinct().collect(Collectors.toList()), "Y", "N"); if (!confirmed) return AjaxResult.error("澶勭悊澶辫触"); } - }else { + } else { List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); //妫�楠岀敵璇� if (null != detailList && !detailList.isEmpty()) { @@ -1028,14 +1124,14 @@ 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()); + 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); + listMap.put("", isNull); for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); @@ -1050,7 +1146,7 @@ List<TjProject> value = entry.getValue(); for (TjProject project : value) { LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getProParentId,project.getProId()); + wrapper.eq(TjProject::getProParentId, project.getProId()); if (!mapJinchuan.isEmpty()) { wrapper.notIn(TjProject::getProId, mapJinchuan); wrapper.notIn(TjProject::getProParentId, mapJinchuan); @@ -1072,7 +1168,7 @@ } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { - OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -1155,15 +1251,15 @@ 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()); + 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()){ + 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.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); @@ -1187,7 +1283,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -1280,15 +1376,15 @@ 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()); + 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()){ + 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.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); @@ -1310,7 +1406,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -1381,8 +1477,8 @@ } //鑽搧鐢宠 - if(!outpinmedicapplyDetilsDtos.isEmpty()){ - OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); + if (!outpinmedicapplyDetilsDtos.isEmpty()) { + OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm(ysbm); @@ -1412,13 +1508,13 @@ String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); - if(null !=code && code.equals("0")){ + 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()); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + " outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString()); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { - TjCf cf=new TjCf(); + TjCf cf = new TjCf(); cf.setJxbz(jxbz); cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); @@ -1445,38 +1541,38 @@ return AjaxResult.success(); } -// 浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� - public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { + // 浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� + public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) { TjOrder order = orderService.getOrderByCardId(cardId); - if(null !=order){ + if (null != order) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); - List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); + List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); - List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>(); if (useLisAndPacsRegister && isTuanTiPiao) { // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); - wrapper.eq(TjSampling::getJxbz,jxbz); + wrapper.eq(TjSampling::getTjNum, order.getTjNumber()); + wrapper.eq(TjSampling::getJxbz, jxbz); List<TjSampling> list = tjSamplingService.list(wrapper); - log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); - if (!list.isEmpty()){ + 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)); + 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()); + log.info("key ->{},val ->{}", entry.getKey(), entry.getValue()); // Lis鏍囨湰浠g爜 String specimenTypeCode = entry.getKey(); List<TjSampling> samplings = entry.getValue(); - if (samplings.size() >= 2){ + if (samplings.size() >= 2) { // 杩涜鍚堝苟 List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); - log.info("鎻愬彇id ->{}",stringList); + log.info("鎻愬彇id ->{}", stringList); for (int i = 0; i < stringList.size(); i++) { String s = stringList.get(i); if (tjSamplingService.isMergeItem(s) != 0) { @@ -1485,20 +1581,20 @@ } } if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); + String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix); ids.add(id); - }else { + } else { ids.add(stringList.get(0)); } - }else { + } else { ids.add(samplings.get(0).getId()); } } - Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); - if (!confirmed) - return AjaxResult.error("澶勭悊澶辫触"); +// Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); +// if (!confirmed) +// return AjaxResult.error("澶勭悊澶辫触"); } - }else { + } else { List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); //妫�楠岀敵璇� OutpintestapplyDto dto = new OutpintestapplyDto(); @@ -1517,7 +1613,7 @@ 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()); + wq.in(TjProject::getDeptId, deptService.getJyDeptIds()); List<TjProject> projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { @@ -1539,7 +1635,7 @@ } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { - OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -1625,7 +1721,7 @@ 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()); + wq.in(TjProject::getDeptId, deptService.getJcDeptIds()); List<TjProject> projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { @@ -1648,7 +1744,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -1735,7 +1831,7 @@ 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()); + wq.in(TjProject::getDeptId, deptService.getCzDeptIds()); List<TjProject> projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { @@ -1773,7 +1869,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -2338,59 +2434,97 @@ // return AjaxResult.success(); // } - public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { + public AjaxResult tijianbulushenqing(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) { TjOrder order = orderService.getOrderByCardId(cardId); - if(null !=order){ + if (null != order) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); - List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); - Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); - List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); - if (useLisAndPacsRegister && isTuanTiPiao) { + List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz); +// Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>(); + String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); + + if (isTuanTiPiao) { + // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); - wrapper.eq(TjSampling::getJxbz,jxbz); + wrapper.eq(TjSampling::getTjNum, order.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); - } + log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list)); + + if (isRequestLisAllzx != null && isRequestLisAllzx.equalsIgnoreCase("Y")){ + log.info("琛ュ綍椤圭洰杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�"); + + if(null !=list && !list.isEmpty()){ + List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(TjProject::getProParentId,strings); + wrapper1.eq(TjProject::getProStatus,0); + wrapper1.groupBy(TjProject::getProId); + List<TjProject> tjProjectList = projectService.list(wrapper1); + if(null != tjProjectList && !tjProjectList.isEmpty()){ + Map<String, List<TjProject>> listMap = tjProjectList.stream() + .collect(Collectors.groupingBy(p->p.getSpecimenType()+"_"+p.getYb())); + + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + boolean save = lisApiMethod.save(listMap, order, customer); + if (!save) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("澶勭悊澶辫触"); } - if (stringList.size() > 1) { - String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); - ids.add(id); - }else { - ids.add(stringList.get(0)); + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); } - }else { - ids.add(samplings.get(0).getId()); + tjSamplingService.updateBatchById(list); } } - Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); - if (!confirmed) - return AjaxResult.error("澶勭悊澶辫触"); + + + }else { + if (!list.isEmpty()) { +// Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + Map<String, List<TjSampling>> listMap = list.stream() + .collect(Collectors.groupingBy(p->p.getSpecimenTypeCode()+"_"+p.getYb())); + + 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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) + return AjaxResult.error("澶勭悊澶辫触"); + } } - }else { + + } else { List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); //妫�楠岀敵璇� if (null != detailList && !detailList.isEmpty()) { @@ -2398,14 +2532,14 @@ 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()); + 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); + listMap.put("", isNull); for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); @@ -2420,7 +2554,7 @@ List<TjProject> value = entry.getValue(); for (TjProject project : value) { LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjProject::getProParentId,project.getProId()); + 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) { @@ -2438,7 +2572,7 @@ } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { - OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -2522,15 +2656,15 @@ 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()); + 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()){ + 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.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()) { @@ -2550,7 +2684,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -2644,15 +2778,15 @@ 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()); + 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()){ + 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.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()) { @@ -2670,7 +2804,7 @@ 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(); + OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); @@ -2806,7 +2940,7 @@ /** * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃 */ - if(!outpinmedicapplyDetilsDtos.isEmpty()){ + if (!outpinmedicapplyDetilsDtos.isEmpty()) { String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); @@ -3150,12 +3284,12 @@ @Override @Async("async") - public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List<Long> proIds) { + public void saveRedisTransitionByPacId(String cusId, String cardId, Long pacId, List<Long> proIds) { if (null != pacId) { - transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId); + transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId); } if (null != proIds && proIds.size() > 0) { - saveRedisTransitionByProId(cusId,cardId, proIds); + saveRedisTransitionByProId(cusId, cardId, proIds); } } @@ -3265,7 +3399,7 @@ public void run() { try { // transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId()); - transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(),"0",reservation.getGroupingId()); + transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(), "0", reservation.getGroupingId()); threadPool.shutdown(); } catch (Exception e) { @@ -3390,20 +3524,19 @@ } List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null); + addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser, null); } - //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙� private AjaxResult getPieCharts() { Map<String, Object> map = new HashMap<>(); - Date date=new Date(); + Date date = new Date(); //鑾峰彇浣撴鐧昏鏁� LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); - wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); + wq0.between(TjOrder::getCreateTime, DateUtil.offsetMonth(date, -1), date); List<TjOrder> orderCountList = orderService.list(wq0); if (null != orderCountList && !orderCountList.isEmpty()) { List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList); @@ -3413,11 +3546,11 @@ } //鑾峰彇浣撴寮傚父鏁� LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); - wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); + wq1.between(TjOrder::getCreateTime, DateUtil.offsetMonth(date, -1), date); // wq1.isNotNull(TjOrder::getFinishTime); // wq1.eq(TjOrder::getCheckStatus, 1); List<TjOrder> orderList = orderService.list(wq1); - if (null !=orderList && !orderList.isEmpty()) { + if (null != orderList && !orderList.isEmpty()) { // List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList()); List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderList); map.put("tjyc", pieChartVoList); @@ -3493,7 +3626,7 @@ wq.eq(TjOrderDetail::getExceptionDesc, 1); List<TjOrderDetail> list = tjOrderDetailService.list(wq); int count = hysqdService.getHyYcXmCount(tjOrder.getCardId()); - if ((null != list && !list.isEmpty()) || (count>0)) { + if ((null != list && !list.isEmpty()) || (count > 0)) { TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); if (null != customer) { int age = DateUtil.ageOfNow(customer.getCusBrithday()); @@ -4265,13 +4398,13 @@ } //涓存椂琛ㄦ坊鍔犲崟椤� - public void saveRedisTransitionByProId(String cusId,String cardId, List<Long> proIds) { + public void saveRedisTransitionByProId(String cusId, String cardId, List<Long> proIds) { for (Long proId : proIds) { TjProject project = projectService.selectTjProjectByProId(proId); - if(null !=project){ //&& (!project.getProName().contains("闈欒剦閲囪")|| !project.getProName().contains("璐�")) + if (null != project) { //&& (!project.getProName().contains("闈欒剦閲囪")|| !project.getProName().contains("璐�")) List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null == transitionList || transitionList.size() == 0) { - transitionService.saveRedisTransitionByProId(cusId,cardId, proId); + transitionService.saveRedisTransitionByProId(cusId, cardId, proId); } } // if(null !=project) transitionService.saveRedisTransitionByProId(cusId,cardId, proId); -- Gitblit v1.8.0