From cdfd0e963d66721dfb0410598002273f7d26bc89 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 07 四月 2025 17:56:20 +0800 Subject: [PATCH] zjh20250407 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 233 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 152 insertions(+), 81 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 74ec827..564e90c 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 @@ -1,6 +1,5 @@ package com.ltkj.web.controller.service; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -8,19 +7,17 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.alibaba.druid.sql.visitor.functions.If; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; -import com.ltkj.common.utils.IdUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; -import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.*; +import com.ltkj.hosp.idutil.IdUtils; import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; @@ -40,7 +37,6 @@ import com.ltkj.web.controller.system.SamplingServiceApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -48,8 +44,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -451,6 +445,8 @@ if (null != detailList && detailList1) { 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; TjSampling sampling = new TjSampling(); if (null == projectService.getById(detail.getProId())) continue; TjProject project = projectService.getById(detail.getProId()); @@ -587,84 +583,157 @@ @Override //@Async("async") public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) { - String currentDataSource = DynamicDataSourceContextHolder.getDataSourceType(); - log.info("寮傛绾跨▼涓殑鏁版嵁婧�: {}", currentDataSource); - 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 ssyszy=""; - 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()); - if (detail.getExceptionDesc() == 1) { - TjOrderYcxm ycxm = ycxmService.getOne(wq); - if (null != ycxm) { - ycxm.setJcjg(detail.getProResult()); - List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() - , detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), "", order.getTjNumber() - , detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "") - , detail.getProResult()); - - - 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); - } - } - - if (null != maps && !maps.isEmpty()) { - ycxm.setJynr(JSONUtil.toJsonStr(maps)); - } - if (!mapList.isEmpty()) { - ycxm.setJynr(JSONUtil.toJsonStr(mapList)); - } - if(detail.getProName().contains("鑸掑紶鍘�")||detail.getProName().contains("鏀剁缉鍘�")){ - ssyszy+=ycxm.getJcxm(); - } - ycxmService.updateById(ycxm); - } - }else { - ycxmService.remove(wq); - } - - - } catch (Exception e) { - e.printStackTrace(); - log.error(e.getMessage()); + 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(); } + 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()); + if (detail.getExceptionDesc() == 1) { + + if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){ + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() + , detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), "", order.getTjNumber() + , detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "") + , detail.getProResult()); + + + 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 { + + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() + , detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), "", order.getTjNumber() + , detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "") + , detail.getProResult()); + + + 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); + } + } + + 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("/"); + + } + ycxmService.remove(wq); + } + } + + // 浣跨敤 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)); } } @@ -866,6 +935,8 @@ Date date = new Date(); String format = DateUtil.format(date, "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { + int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId())); + if(i>0) continue; TjSampling sampling = new TjSampling(); if (null == projectService.getById(detail.getProId())) continue; TjProject project = projectService.getById(detail.getProId()); -- Gitblit v1.8.0