From 0a68d1ae4a7e797342cf039a757fae4fc357faef Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 07 八月 2025 08:46:07 +0800
Subject: [PATCH] zjh202500807
---
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 287 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 174 insertions(+), 113 deletions(-)
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index d7fde73..4149025 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -14,6 +14,7 @@
import com.ltkj.common.annotation.RepeatSubmit;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysDept;
+import com.ltkj.common.core.domain.entity.SysDictData;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.enums.DataSourceType;
@@ -33,6 +34,7 @@
import com.ltkj.mall.mallOrderUtils.TjConstants;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
+import com.ltkj.system.service.ISysDictDataService;
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethodService;
@@ -49,6 +51,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -134,6 +137,10 @@
private ITjProAdvicerulesService tjProAdvicerulesService;
@Autowired
private TjOrderYcxmService ycxmService;
+ @Autowired
+ private TjReportController reportController;
+ @Autowired
+ private ISysDictDataService sysDictDataService;
@GetMapping("/ceshicc")
@@ -1133,9 +1140,6 @@
/**
* 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛
*
- * @param tjNumber
- * @param advice
- * @param checkStatus
* @return
*/
@PostMapping("/getTjdetailList")
@@ -1166,7 +1170,12 @@
if (StrUtil.isNotBlank(dto.getZhiyeJg()))
tjOrder.setZhiyeJg(dto.getZhiyeJg());
if (orderService.updateById(tjOrder)) {
- return AjaxResult.success("鎿嶄綔鎴愬姛");
+ AjaxResult pdf = reportController.toPdf(dto.getTjNumber());
+ if (!pdf.get("code").toString().equals("200")) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.error("鎿嶄綔澶辫触!");
+ }
+ return AjaxResult.success("瀹℃牳骞剁敓鎴愭姤鍛婃垚鍔�!");
}
return AjaxResult.error("鎿嶄綔澶辫触");
}
@@ -1382,7 +1391,7 @@
}
private AjaxResult getResult(String tjNumber) {
- asyncService.updateCheckType(tjNumber);
+// asyncService.updateCheckType(tjNumber);
List<Map<String, Object>> list = new ArrayList<>();
TjOrder one = orderService.getOrderByTjNum(tjNumber);
@@ -1409,60 +1418,96 @@
parent.put("", remark.getXmlb());
List<TjOrderDetail> dels = new ArrayList<>();
if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
- for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
- if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
- String ckfw = tjOrderDetail.getStanId();
- if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
- ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
- }
- if (StrUtil.isNotBlank(ckfw)) {
- try {
- if (ckfw != null && ckfw.contains("-")) {
- Integer.parseInt(tjOrderDetail.getYcbz());
- String[] split = ckfw.split("-");
- BigDecimal min = new BigDecimal(split[0]);
- BigDecimal max = new BigDecimal(split[1]);
- String proResult = tjOrderDetail.getProResult();
- if (null != proResult) {
- BigDecimal jyjgval = new BigDecimal(proResult);
- if (jyjgval.compareTo(min) < 0) {
- tjOrderDetail.setYcbz("鈫�");
- } else if (jyjgval.compareTo(max) > 0) {
- tjOrderDetail.setYcbz("鈫�");
- } else if (proResult.contains("闃�")) {
- tjOrderDetail.setYcbz("");
- } else {
- tjOrderDetail.setYcbz("");
- }
- if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
+
+ Map<String, List<TjOrderDetail>> listMap = tjOrderDetails.stream()
+ .filter(i -> StrUtil.isNotBlank(i.getProResult()) && remark.getProsId().equals(i.getProsId()))
+ .collect(Collectors.groupingBy(TjOrderDetail::getProResult));
+
+ boolean isGroupOnce = false;
+ String groupOnceProResult = "";
+ if (listMap.size() == 1) {
+ String firstKey = listMap.keySet().stream().findFirst().orElse(null);
+ LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(SysDictData::getDictType, "qj_type");
+ wrapper.eq(SysDictData::getDictLabel, firstKey);
+ List<SysDictData> dictList = sysDictDataService.list(wrapper);
+ if (!dictList.isEmpty()) {
+ isGroupOnce = true;
+ groupOnceProResult = firstKey;
+ }
+ }
+ if (isGroupOnce) {
+ TjOrderDetail tjOrderDetail = new TjOrderDetail();
+ tjOrderDetail.setProName(remark.getProName());
+ tjOrderDetail.setProResult(groupOnceProResult);
+ dels.add(tjOrderDetail);
+ } else {
+ for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+ if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+ /* String ckfw = tjOrderDetail.getStanId();
+ if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
+ ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
+ }
+ if (StrUtil.isNotBlank(ckfw)) {
+ try {
+ if (ckfw != null && ckfw.contains("-")) {
+ String ycbz = tjOrderDetail.getYcbz();
+ if(StringUtil.isBlank(ycbz)){
+ Integer.parseInt(tjOrderDetail.getYcbz());
+ String[] split = ckfw.split("-");
+ BigDecimal min = new BigDecimal(split[0]);
+ BigDecimal max = new BigDecimal(split[1]);
+ String proResult = tjOrderDetail.getProResult();
+ if (null != proResult) {
+ BigDecimal jyjgval = new BigDecimal(proResult);
+ if (jyjgval.compareTo(min) < 0) {
+ tjOrderDetail.setYcbz("鈫�");
+ } else if (jyjgval.compareTo(max) > 0) {
+ tjOrderDetail.setYcbz("鈫�");
+ } else if (proResult.contains("闃�")) {
+ tjOrderDetail.setYcbz("");
+ } else {
+ tjOrderDetail.setYcbz("");
+ }
+ if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
+ tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
+ }
+ } else {
+ tjOrderDetail.setYcbz("");
+ }
+ }else {
tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
}
} else {
- tjOrderDetail.setYcbz("");
+ if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+ tjOrderDetail.setYcbz("");
+
+ if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+ tjOrderDetail.setYcbz("鈫�");
}
- } else {
- if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
- tjOrderDetail.setYcbz("");
-
- if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
- tjOrderDetail.setYcbz("鈫�");
+ } catch (NumberFormatException ignored) {
}
- } catch (NumberFormatException ignored) {
+ } else {
+ if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+ tjOrderDetail.setYcbz("");
+
+ if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+ tjOrderDetail.setYcbz("鈫�");
+ tjOrderDetail.setProResult(tjOrderDetail.getProResult());
+ }*/
+
+ String ycbz = tjOrderDetail.getYcbz();
+ if(StringUtil.isNotBlank(ycbz)){
+ tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
}
- } else {
- if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
- tjOrderDetail.setYcbz("");
-
- if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
- tjOrderDetail.setYcbz("鈫�");
- tjOrderDetail.setProResult(tjOrderDetail.getProResult());
- }
-
- if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
- dels.add(tjOrderDetail);
+ if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
+ dels.add(tjOrderDetail);
+ }
}
}
}
+
+
String summary = remark.getSummary();
if (null != summary) {
String[] split = summary.split(";");
@@ -1569,18 +1614,24 @@
public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
try {
if (StrUtil.isNotBlank(tjNum)) {
+ List<Map<String, Object>> maps = new ArrayList<>();
TjOrder one = orderService.getOrderByTjNum(tjNum);
if (one == null) {
return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
}
yichangxiangmu(tjNum);
- LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
- wq.eq(TjOrderYcxm::getTjh, tjNum);
- List<TjOrderYcxm> list = ycxmService.list(wq);
- if (null != list && !list.isEmpty()) {
- Collections.reverse(list);
- return getOrderYcxmList(list);
+ List<TjOrderYcxm> tjOrderYcxmList = ycxmService.selectListByTjh(tjNum);
+ if (null != tjOrderYcxmList && !tjOrderYcxmList.isEmpty()) {
+ LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+ wq.eq(TjOrderYcxm::getTjh, tjNum);
+ List<TjOrderYcxm> list = ycxmService.list(wq);
+ if (null != list && !list.isEmpty()) {
+ Collections.reverse(list);
+ return getOrderYcxmList(list);
+ } else {
+ return AjaxResult.success(maps);
+ }
} else {
return zongjianyishengchakanyichangxiangmu(tjNum);
}
@@ -1596,11 +1647,12 @@
private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
try {
List<Map<String, Object>> maps = getYcxmMapList(list);
- if (!maps.isEmpty()) {
+ if (null != maps && !maps.isEmpty()) {
List<Map<String, Object>> collect1 = maps.stream()
.sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString()))
.collect(Collectors.toList());
return AjaxResult.success(collect1);
+// return AjaxResult.success(maps);
}
return AjaxResult.success(maps);
} catch (Exception ex) {
@@ -1652,6 +1704,7 @@
return null;
}
}
+
private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
List<Map<String, Object>> list = new ArrayList<>();
@@ -1758,77 +1811,85 @@
if (null != order) {
String xb = customerService.getSexByTjh(order.getTjNumber());
List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+
+
List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
if (null != remarkList && !remarkList.isEmpty()) {
- for (TjOrderRemark remark : remarkList) {
- Map<String, Object> parent = new HashMap<>();
- if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
- List<TjOrderDetail> dels = new ArrayList<>();
- for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
- if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
- if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
- if (!tjOrderDetail.getDeptId().equals("2")) {
- String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
- .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+ List<TjOrderRemark> collects = remarkList.stream()
+ .filter(b -> tjOrderYcxmList.stream()
+ .noneMatch(a -> a.getParentName() != null && a.getParentName().equals(b.getProName()))).collect(Collectors.toList());
+ if (!collects.isEmpty()) {
+ for (TjOrderRemark remark : remarkList) {
+ Map<String, Object> parent = new HashMap<>();
+ if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
+ List<TjOrderDetail> dels = new ArrayList<>();
+ for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+ if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+ if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
+ if (!tjOrderDetail.getDeptId().equals("2")) {
+ String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+ .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
- List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
- , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult());
+ List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+ , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult());
- if (null != maps && !maps.isEmpty()) {
- tjOrderDetail.setAdvices(maps);
- }
-
- } else {
- String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
- List<Map<String, Object>> mapList = new ArrayList<>();
- for (String s : split) {
- s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
- ;
- Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb);
if (null != maps && !maps.isEmpty()) {
- Object bt = maps.get("bt");
- Object nr = maps.get("nr");
- if (null != bt || null != nr) mapList.add(maps);
+ tjOrderDetail.setAdvices(maps);
}
- }
- tjOrderDetail.setAdvices(mapList);
- }
+ } else {
+ String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
+ List<Map<String, Object>> mapList = new ArrayList<>();
+ for (String s : split) {
+ s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
+ ;
+ Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb);
+ if (null != maps && !maps.isEmpty()) {
+ Object bt = maps.get("bt");
+ Object nr = maps.get("nr");
+ if (null != bt || null != nr) mapList.add(maps);
+ }
+ }
+ tjOrderDetail.setAdvices(mapList);
+ }
+
+ }
+ dels.add(tjOrderDetail);
}
- dels.add(tjOrderDetail);
+ }
+ if (!dels.isEmpty()) {
+ parent.put("proName", remark.getProName());
+ parent.put("jyjc", remark.getJyjc());
+ parent.put("sone", dels);
+ list.add(parent);
}
}
- if (!dels.isEmpty()) {
- parent.put("proName", remark.getProName());
- parent.put("jyjc", remark.getJyjc());
- parent.put("sone", dels);
- list.add(parent);
+ }
+
+ List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
+ List<Map<String, Object>> collect = list.stream()
+ .filter(b -> maps.stream()
+ .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
+ .collect(Collectors.toList());
+ if (!collect.isEmpty()) {
+ for (Map<String, Object> map : collect) {
+ for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
+ TjOrderYcxm ycxm = new TjOrderYcxm();
+ ycxm.setTjh(tjNumber);
+ ycxm.setParentName(map.get("proName").toString());
+ ycxm.setJcxm(detail.getProName());
+ ycxm.setJcjg(detail.getProResult());
+ ycxm.setCkfw(detail.getStanId());
+ ycxm.setDw(detail.getProAdvice());
+ ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
+ ycxm.setJyjc(map.get("jyjc").toString());
+ ycxmService.save(ycxm);
+ }
}
}
}
- }
- }
- List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
- List<Map<String, Object>> collect = list.stream()
- .filter(b -> maps.stream()
- .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
- .collect(Collectors.toList());
- if (!collect.isEmpty()) {
- for (Map<String, Object> map : collect) {
- for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
- TjOrderYcxm ycxm = new TjOrderYcxm();
- ycxm.setTjh(tjNumber);
- ycxm.setParentName(map.get("proName").toString());
- ycxm.setJcxm(detail.getProName());
- ycxm.setJcjg(detail.getProResult());
- ycxm.setCkfw(detail.getStanId());
- ycxm.setDw(detail.getProAdvice());
- ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
- ycxm.setJyjc(map.get("jyjc").toString());
- ycxmService.save(ycxm);
- }
}
}
}
--
Gitblit v1.8.0