From e6be2f618355fb182d31c3ddc3d19127eea5e723 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 04 八月 2025 17:35:34 +0800 Subject: [PATCH] zjh20250804 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 593 +++++++++++++++++++++++----------------------------------- 1 files changed, 236 insertions(+), 357 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 6869d55..bec6c62 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,8 @@ 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.SysRole; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.enums.DataSourceType; @@ -23,6 +25,7 @@ import com.ltkj.framework.config.UserHoder; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.dto.CheckUpdateStatusDto; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.*; @@ -32,6 +35,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; @@ -47,7 +51,9 @@ import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -89,11 +95,7 @@ @Resource private ITjOrderRemarkService orderRemarkService; @Resource - private ITbTransitionService transitionService; - @Resource private ISysUserService userService; - @Resource - private RedisCache redisCache; @Resource private TjAsyncService asyncService; @Resource @@ -104,12 +106,6 @@ private ISysDeptService deptService; @Resource private TestMapper testMapper; - @Resource - private TjvLtkjvtjpatService tjvLtkjvtjpatService; - @Resource - private LtkjMiddleDetailService middleDetailService; - @Resource - private LtkjMiddleHeadService headService; @Resource private LtkjExamJcbgdService jcbgdService; @Resource @@ -135,11 +131,9 @@ @Autowired private SysConfigController configController; @Autowired - private TjJcycxmService jcycxmService; - @Resource - private TjXdtgmdjgService xdtgmdjgService; - @Resource - private TjXdPictureController pictureController; + private TjReportController reportController; + @Autowired + private ISysDictDataService sysDictDataService; @GetMapping("/ceshicc") @ApiOperation(value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛") @@ -1142,96 +1136,9 @@ @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name, @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime, @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime, - @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) { - // 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 tjCategory, + @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tcm) { + String value = String.valueOf(compId); if (tjNumber == null) tjNumber = ""; @@ -1239,7 +1146,7 @@ if (name == null) name = ""; if (beginTime == null) beginTime = ""; if (endTime == null) endTime = ""; - return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory)); + return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory,tcm)); } @@ -1253,95 +1160,6 @@ @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name, @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); -// } String value = String.valueOf(compId); if (tjNumber == null) tjNumber = ""; @@ -1356,61 +1174,53 @@ /** * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛 * - * @param tjNumber - * @param advice - * @param checkStatus * @return */ - @PutMapping("/getTjdetailList") + @PostMapping("/getTjdetailList") @ApiOperation(value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛") -// @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 = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl, - @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) { + @Transactional + public AjaxResult getTjdetailList(@RequestBody CheckUpdateStatusDto dto) { - String config = configService.selectConfigByKey("sfjcwjhyqxm"); - if (null != config && config.equalsIgnoreCase("Y")) { - int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); - } - Date date = new Date(); - if (null != tjNumber) { - Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); - SysUser sysUser = userService.getById(userId); - LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjOrder::getTjNumber, tjNumber); - TjOrder tjOrder = orderService.getOne(wq1); - if (null != tjOrder) { - tjOrder.setCheckAdvice(advice); - tjOrder.setCheckStatus(checkStatus); - tjOrder.setStatus(TjConstants.TJ_CHECK); - tjOrder.setCheckDoctor(sysUser.getNickName()); - 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) { - customer.setCusNumber(customer.getCusNumber() + 1); - customer.setCardId("0"); - if (customerService.updateById(customer)) { - asyncService.updateCheckType(tjNumber); - return AjaxResult.success("鎿嶄綔鎴愬姛"); - } - return AjaxResult.error("鎿嶄綔澶辫触"); - } - } - return AjaxResult.error("鎿嶄綔澶辫触"); + try { + String config = configService.selectConfigByKey("sfjcwjhyqxm"); + if (null != config && config.equalsIgnoreCase("Y")) { + int num = orderRemarkService.getTjYqOrderRemarkByTjNum(dto.getTjNumber()); + if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); } - return AjaxResult.success("鏁版嵁涓嶅瓨鍦�"); + Date date = new Date(); + if (null != dto.getTjNumber()) { + Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); + SysUser sysUser = userService.getById(userId); + TjOrder tjOrder = orderService.getOrderByTjNum(dto.getTjNumber()); + if (null != tjOrder) { + tjOrder.setCheckAdvice(dto.getAdvice()); + tjOrder.setCheckStatus(dto.getCheckStatus()); + tjOrder.setStatus(TjConstants.TJ_CHECK); + tjOrder.setCheckDoctor(sysUser.getNickName()); + tjOrder.setCheckTime(date); + tjOrder.setStatus(401); + tjOrder.setFinishTime(date); + if (StrUtil.isNotBlank(dto.getZhiyeJl())) + tjOrder.setZhiyeJl(dto.getZhiyeJl()); + if (StrUtil.isNotBlank(dto.getZhiyeJg())) + tjOrder.setZhiyeJg(dto.getZhiyeJg()); + if (orderService.updateById(tjOrder)) { + 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("鎿嶄綔澶辫触"); + } + return AjaxResult.success("鏁版嵁涓嶅瓨鍦�"); + } + return AjaxResult.error(); + } catch (Exception ex) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + throw new RuntimeException(ex); } - return AjaxResult.error(); } @@ -1647,58 +1457,81 @@ parent.put("zhiyejg", one.getZhiyeJg()); 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(""); + 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("-")) { + 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(""); } - if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) { - 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 { + } else { // tjOrderDetail.setYcbz(""); - if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) - tjOrderDetail.setYcbz(""); + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz(""); - if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) - tjOrderDetail.setYcbz("鈫�"); - tjOrderDetail.setProResult(tjOrderDetail.getProResult()); - } + 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); + } } } } @@ -1809,20 +1642,26 @@ try { if (StrUtil.isNotBlank(tjNum)) { TjOrder one = orderService.getOrderByTjNum(tjNum); - + List<Map<String, Object>> maps = new ArrayList<>(); 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 { + 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); } + } return AjaxResult.error(); } catch (Exception ex) { @@ -1985,88 +1824,94 @@ private void yichangxiangmu(String tjNumber) { try { - List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); - String xb= customerService.getSexByTjh(tjNumber); - if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ + 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")) { + 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("鈼�", ""); - 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); - } } } } @@ -2233,4 +2078,38 @@ } + + @GetMapping("/getRsjList") + @ApiOperation(value = "鎬绘妫�鏌ヤ簩涓夌骇鏌ヨ鎺ュ彛")//0寰�1宸� +// @PreAuthorize("@ss.hasPermi('check:check:getList')") + public AjaxResult getRsjList(@ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam(required = false) Integer checkStatus, + @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page, + @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize, + @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 beginTime, + @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime, + @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory, + @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tcm) { + + List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); + String type = "0"; + if (null != roles && !roles.isEmpty()) { + List<SysRole> erji = roles.stream().filter(item -> item.getRoleName().contains("浜岀骇瀹℃牳")).collect(Collectors.toList()); + List<SysRole> sanji = roles.stream().filter(item -> item.getRoleName().contains("涓夌骇瀹℃牳")).collect(Collectors.toList()); + if (!erji.isEmpty()) type="2"; + if (!sanji.isEmpty()) type="3"; + } + + String value = String.valueOf(compId); + if (tjNumber == null) tjNumber = ""; + if (compId == null) value = ""; + if (name == null) name = ""; + if (beginTime == null) beginTime = ""; + if (endTime == null) endTime = ""; + return AjaxResult.success(orderService.getEsjCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, + beginTime, endTime, name,tjCategory,tcm,type)); + } + } -- Gitblit v1.8.0