From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期二, 24 六月 2025 18:04:34 +0800 Subject: [PATCH] 2025-06-24 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 598 +++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 352 insertions(+), 246 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 d6edbfa..bd54ce1 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 @@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.enums.DataSourceType; @@ -25,6 +26,7 @@ import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.*; +import com.ltkj.hosp.vo.ProFcListVo; import com.ltkj.hosp.vodomain.CsProVo; import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo; import com.ltkj.mall.mallOrderUtils.TjConstants; @@ -1001,105 +1003,19 @@ @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber, @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId, @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name, + @ApiParam(value = "瀹℃牳鍖荤敓)") @RequestParam(required = false) String shys, @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime, - @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) { - // String config = configService.selectConfigByKey("tj_confirm"); -// DateTime beginTimes = null; -// DateTime endTimes = null; -// if (null != beginTime && null != endTime) { -// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime)); -// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime)); -// } -// asyncService.checkSetCustomerLisByRedis(config); -// //鍒濆鍖栦綋妫�璁㈠崟琛� -// List<TjOrder> orderList = null; -// List<TjCustomer> customerList = new ArrayList<>(); -// Map<String, Object> map = new HashMap<>(); -// -// //濮撳悕鏌ヨ -// if (null != name && !"".equals(name)) { -// List<TjCustomer> list = customerService.getTjCustomerList(name); -// if (null != list && list.size() > 0) { -// List<TjCustomer> lists = new ArrayList<>(); -// for (TjCustomer customer : list) { -// if ("Y".equals(config)) { -// orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId()); -// } else { -// orderList = orderService.getTjOrderListByCusId(customer.getCusId()); -// } -// if (null != orderList && orderList.size() > 0) { -// for (TjOrder tjOrder : orderList) { -// customer.setTjNumber(tjOrder.getTjNumber()); -// customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); -// customer.setOrderId(tjOrder.getOrderId()); -// customer.setTjTime(tjOrder.getFinishTime()); -// customer.setFinishTime(tjOrder.getFinishTime()); -// customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); -// customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); -// customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); -// customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); -// customer.setTjCategory(tjOrder.getTjCategory()); -// if (tjOrder.getFirmId().equals("0")) { -// customer.setTjCompName(null); -// } else { -// customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName()); -// } -// lists.add(customer); -// } -// } -// } -// List<TjCustomer> customers = null; -// if (lists.size() > 0) { -// customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); -// } -// map.put("customers", customers); -// map.put("total", lists.size()); -// return AjaxResult.success(map); -// } -// return AjaxResult.success("鏆傛棤鏁版嵁"); -// } -// -// //鏉′欢鏌ヨ -// if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) { -// //鍒ゆ柇鏄惁寮�鍚垵瀹� -// if ("Y".equals(config)) { -// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); -// } else { -// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); -// } -// return getResult(page, pageSize, orderList, customerList, map); -// } -// -// List<TjCustomer> customers = null; -// if (null != checkStatus && checkStatus == 0) { -// customers = redisCache.getCacheMapValue("check", "ws"); -// } -// if (null != checkStatus && checkStatus == 1) { -// customers = redisCache.getCacheMapValue("check", "ys"); -// } -// if (customers != null && customers.size() > 0) { -//// asyncService.addRedis(customers); -// List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); -// map.put("customers", customerLists); -// map.put("total", customers.size()); -// return AjaxResult.success(map); -// } else { -// //鍒ゆ柇鏄惁寮�鍚垵瀹� -// if ("Y".equals(config)) { -// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); -// } else { -// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); -// } -// return getResult(page, pageSize, orderList, customerList, map); -// } + @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime, + @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) { String value = String.valueOf(compId); if (tjNumber == null) tjNumber = ""; if (compId == null) value = ""; if (name == null) name = ""; + if (shys == null) shys = ""; if (beginTime == null) beginTime = ""; if (endTime == null) endTime = ""; - return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name)); + return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,shys,tjCategory)); } @@ -1226,8 +1142,9 @@ // @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')") public AjaxResult getTjdetailList(@ApiParam(value = "浣撴tjNumber") @RequestParam String tjNumber, @ApiParam(value = "鎬绘寤鸿") @RequestParam(required = false) String advice, - @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus) { - + @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus, + @ApiParam(value = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl, + @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) { String config = configService.selectConfigByKey("sfjcwjhyqxm"); if (null != config && config.equalsIgnoreCase("Y")) { int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); @@ -1248,6 +1165,10 @@ tjOrder.setCheckTime(date); tjOrder.setStatus(401); tjOrder.setFinishTime(date); + if (StrUtil.isNotBlank(zhiyeJl)) + tjOrder.setZhiyeJl(zhiyeJl); + if (StrUtil.isNotBlank(zhiyeJg)) + tjOrder.setZhiyeJg(zhiyeJg); if (orderService.updateById(tjOrder)) { TjCustomer customer = customerService.getById(tjOrder.getUserId()); if (null != customer) { @@ -1496,6 +1417,8 @@ parent.put("parent", remark.getProName()); parent.put("parentId", remark.getProsId()); parent.put("xmlb", remark.getXmlb()); + parent.put("zhiyejl",one.getZhiyeJl()); + parent.put("zhiyejg", one.getZhiyeJg()); parent.put("", remark.getXmlb()); List<TjOrderDetail> dels = new ArrayList<>(); if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { @@ -1540,7 +1463,11 @@ } catch (NumberFormatException ignored) { } } else { - tjOrderDetail.setYcbz(""); + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz(""); + + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz("鈫�"); tjOrderDetail.setProResult(tjOrderDetail.getProResult()); } @@ -1559,12 +1486,13 @@ if (dels.isEmpty()) { continue; } - dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); - dels = dels.stream() - .sorted(Comparator.comparingInt( - tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� - )) - .collect(Collectors.toList()); +// dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); +// dels = dels.stream() +// .sorted(Comparator.comparingInt( +// tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� +// )) +// .collect(Collectors.toList()); + dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getXh)).collect(Collectors.toList()); parent.put("sons", dels); parent.put("remark", remark.getRemark()); parent.put("jgbx", remark.getJgbx()); @@ -1652,81 +1580,275 @@ @GetMapping("/getzongjianyishengchakanyichangxiangmu") @ApiOperation(value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { - if (StrUtil.isNotBlank(tjNum)) { - TjOrder one = orderService.getOrderByTjNum(tjNum); + try { + if (StrUtil.isNotBlank(tjNum)) { + TjOrder one = orderService.getOrderByTjNum(tjNum); - if (one == null) { - return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + 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); + } else { + return zongjianyishengchakanyichangxiangmu(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); - } else { - return zongjianyishengchakanyichangxiangmu(tjNum); - } + return AjaxResult.error(); + } catch (Exception ex) { + //throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); } - return AjaxResult.error(); } private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) { - Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); - List<Map<String, Object>> maps = new ArrayList<>(); - for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { - Map<String, Object> parent = new HashMap<>(); - List<TjOrderDetail> dels = new ArrayList<>(); - for (TjOrderYcxm ycxm : entry.getValue()) { - TjOrderDetail detail = new TjOrderDetail(); - detail.setOrderDetailId(Long.valueOf(ycxm.getId())); - detail.setProName(ycxm.getJcxm()); - detail.setProResult(ycxm.getJcjg()); - detail.setStanId(ycxm.getCkfw()); - detail.setProAdvice(ycxm.getDw()); - List<Map<String, Object>> btnrlist = new ArrayList<>(); - String jynr = ycxm.getJynr(); - JSONArray array = JSONUtil.parseArray(jynr); - for (Object object : array) { - Map<String, Object> objectMap = new HashMap<>(); - JSONObject jsonObject = (JSONObject) object; - String bt = jsonObject.getStr("bt"); - String nr = jsonObject.getStr("nr"); - objectMap.put("bt", bt); - objectMap.put("nr", nr); - if (null != bt || null != nr) btnrlist.add(objectMap); - } - detail.setAdvices(btnrlist); - dels.add(detail); + try { + List<Map<String, Object>> maps = getYcxmMapList(list); + if (!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); } - - parent.put("proName", entry.getKey()); - parent.put("jyjc", entry.getValue().get(0).getJyjc()); - parent.put("sone", dels); - maps.add(parent); + return AjaxResult.success(maps); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); } - // List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); - - -// List<Map<String, Object>> collect = mapList.stream() -// .filter(b -> maps.stream() -// .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌 -// .collect(Collectors.toList()); - - -// if(!collect.isEmpty()){ -// maps.addAll(collect); -// } - if (!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); } + private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) { + try { + Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); + List<Map<String, Object>> maps = new ArrayList<>(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { + Map<String, Object> parent = new HashMap<>(); + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderYcxm ycxm : entry.getValue()) { + TjOrderDetail detail = new TjOrderDetail(); + detail.setOrderDetailId(Long.valueOf(ycxm.getId())); + detail.setProName(ycxm.getJcxm()); + detail.setProResult(ycxm.getJcjg()); + detail.setStanId(ycxm.getCkfw()); + detail.setProAdvice(ycxm.getDw()); + List<Map<String, Object>> btnrlist = new ArrayList<>(); + String jynr = ycxm.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String, Object> objectMap = new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt", bt); + objectMap.put("nr", nr); + if (null != bt || null != nr) btnrlist.add(objectMap); + } + detail.setAdvices(btnrlist); + dels.add(detail); + } + + parent.put("proName", entry.getKey()); + parent.put("jyjc", entry.getValue().get(0).getJyjc()); + parent.put("sone", dels); + maps.add(parent); + } + return maps; + } catch (NumberFormatException ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return null; + } + } + + private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { + List<Map<String, Object>> list = new ArrayList<>(); + try { + List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + String xb= customerService.getSexByTjh(order.getTjNumber()); + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjNumber); + List<TjOrderYcxm> ycxmList = ycxmService.list(wq); + 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.getYcbz()) { + if (!tjOrderDetail.getDeptId().equals("2")) { + String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", ""); + + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(replacedAll,replacedAll, + tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber,replacedAll, tjOrderDetail.getProResult()); + + + if (null != maps && !maps.isEmpty()) { + tjOrderDetail.setAdvices(maps); + } + + } else { + String regex = configService.selectConfigByKey("jcycjgfgzz"); + if(StringUtil.isBlank(regex)) regex="銆倈锛泑;|,|锛�"; + String[] split = tjOrderDetail.getProResult().replaceAll("\n", "").split(regex); + List<Map<String, Object>> mapList = new ArrayList<>(); + for (String s : split) { + if(StringUtil.isNotBlank(s)){ + s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","") + .replaceAll("[0-9]", ""); + Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s.replaceAll(" ",""), "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); + } + + } + if (null == ycxmList || ycxmList.isEmpty()) { + TjOrderYcxm ycxm = new TjOrderYcxm(); + ycxm.setTjh(tjNumber); + ycxm.setParentName(remark.getProName()); + ycxm.setJcxm(tjOrderDetail.getProName()); + ycxm.setJcjg(tjOrderDetail.getProResult()); + ycxm.setCkfw(tjOrderDetail.getStanId()); + ycxm.setDw(tjOrderDetail.getProAdvice()); + ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices())); + ycxm.setJyjc(remark.getJyjc()); + if (ycxmService.save(ycxm)) { + tjOrderYcxms.add(ycxm); + } + } + dels.add(tjOrderDetail); + } + } + if (!dels.isEmpty()) { + parent.put("proName", remark.getProName()); + parent.put("jyjc", remark.getJyjc()); + parent.put("sone", dels); + list.add(parent); + } + } + } + if (!tjOrderYcxms.isEmpty()) { + Collections.reverse(tjOrderYcxms); + return getOrderYcxmList(tjOrderYcxms); + } + + } + } + return AjaxResult.success(list); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.success(list); + } + } + + private void yichangxiangmu(String tjNumber) { + try { + List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); + + if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ + + List<Map<String, Object>> list = new ArrayList<>(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + 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<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(mapList); + } + + } + dels.add(tjOrderDetail); + } + } + 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); + } + } + } + } + + } catch (Exception ex) { + log.error(ex.getMessage()); + } + } @GetMapping("/delzongjianyishengchakanyichangxiangmu") @ApiOperation(value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛") @@ -1735,88 +1857,7 @@ return AjaxResult.success(); } - private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { - List<Map<String, Object>> list = new ArrayList<>(); - List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); - TjOrder order = orderService.getOrderByTjNum(tjNumber); - if (null != order) { - List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); - List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); - LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderYcxm::getTjh, tjNumber); - List<TjOrderYcxm> ycxmList = ycxmService.list(wq); - 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")) { - List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() - , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber - , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "") - , 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", ""); -// Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); - Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0"); - 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); - } - - } - if (null == ycxmList || ycxmList.isEmpty()) { - TjOrderYcxm ycxm = new TjOrderYcxm(); - ycxm.setTjh(tjNumber); - ycxm.setParentName(remark.getProName()); - ycxm.setJcxm(tjOrderDetail.getProName()); - ycxm.setJcjg(tjOrderDetail.getProResult()); - ycxm.setCkfw(tjOrderDetail.getStanId()); - ycxm.setDw(tjOrderDetail.getProAdvice()); - ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices())); - ycxm.setJyjc(remark.getJyjc()); - if (ycxmService.save(ycxm)) { - tjOrderYcxms.add(ycxm); - } - } - dels.add(tjOrderDetail); - } - } - if (!tjOrderYcxms.isEmpty()) { - Collections.reverse(tjOrderYcxms); - return getOrderYcxmList(tjOrderYcxms); - } - if (!dels.isEmpty()) { - parent.put("proName", remark.getProName()); - parent.put("jyjc", remark.getJyjc()); - parent.put("sone", dels); - list.add(parent); - } - } - } - - } - } - return AjaxResult.success(list); - } @GetMapping("/chushenyemianchakanxiangmujieguo") @ApiOperation(value = "鍒濆椤甸潰鏌ョ湅椤圭洰缁撴灉鎺ュ彛") @@ -1867,5 +1908,70 @@ return AjaxResult.success(); } + /** + * 鏌ヨ澶嶆煡椤圭洰鍒楄〃 + * @param tjNum 浣撴鍙� + * @param type 澶嶆煡鐘舵�� 0鏈鏌ョ姸鎬� 1澶嶆煡鐘舵�� + * @return + */ + @GetMapping("/getFcList") + public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){ + TjOrder order = orderService.getOrderByTjNum(tjNum); + if (order == null) + return AjaxResult.error(); + List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type); + return AjaxResult.success(list); + } + + /** + * 澶嶆煡椤圭洰鎻愪氦 + * @param json + * @return + */ + @PostMapping("/UpdFcPro") + public AjaxResult updFcPro(@RequestBody String json) { + return detailService.updFcPro(json); + } + + + @GetMapping("/zongjianyishengHuiFuyichangxiangmu") + @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎺ュ彛") + public AjaxResult zongjianyishengHuiFuyichangxiangmu(@RequestParam String tjNum) { + + List<TjOrderYcxm> list = ycxmService.zongjianyishengHuiFuyichangxiangmu(tjNum); + return AjaxResult.success(list); + } + + + + @GetMapping("/csymxmxzqtyybcjk") + @ApiOperation(value = "鍒濆椤甸潰椤圭洰閫夋嫨鍏朵粬鍘熷洜淇濆瓨鎺ュ彛") + @Transactional + public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("浣撴鍙�") String tjNum,@RequestParam @ApiParam("椤圭洰ID") String proId, + @RequestParam @ApiParam("鍘熷洜") String yy) { + + try { + String czydm = SecurityUtils.getUsername(); + String czy = SecurityUtils.getLoginUser().getUser().getNickName(); + TjProject tjProject = projectService.getById(proId); + if(null != tjProject){ + SysDept dept = deptService.getById(tjProject.getDeptId()); + + LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderRemark::getTjNumber, tjNum); + wq.eq(TjOrderRemark::getProId, proId); + TjOrderRemark remark = orderRemarkService.getOne(wq); + remark.setType(1); + if (orderRemarkService.updateById(remark)) { + orderRemarkService.csymxmxzqtyybcjk(tjNum,proId,yy,dept.getOrgType(),czy,czydm); + return AjaxResult.success(); + } + } + } catch (Exception ex) { + log.error(ex.getMessage()); + throw new RuntimeException(ex); + } + return AjaxResult.error(); + } } -- Gitblit v1.8.0