From cc25bc0eec2d50da39d62f9896ed4d5e66805366 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 11 七月 2025 18:04:05 +0800 Subject: [PATCH] zjh20250711 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 208 +++++++++++++++++++++------------------------------ 1 files changed, 86 insertions(+), 122 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index 6cf1d4b..b6508b4 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -482,7 +482,8 @@ TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerSex(tjCustomer.getCusSex()); - order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); + if(null !=tjCustomer.getCusBrithday()) + order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerPhone(tjCustomer.getCusPhone()); order.setTjCusIdCard(tjCustomer.getCusIdcard()); @@ -549,7 +550,8 @@ TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerSex(tjCustomer.getCusSex()); - order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); + if(null !=tjCustomer.getCusBrithday()) + order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerPhone(tjCustomer.getCusPhone()); order.setTjCusIdCard(tjCustomer.getCusIdcard()); @@ -557,13 +559,9 @@ order.setIdType(tjCustomer.getIdType()); order.setAgeUnit(tjCustomer.getAgeUnit()); order.setTjCount(String.valueOf(tjCustomer.getCusNumber())); - if (null != tjCustomer.getCompName()) { - order.setDictCompName(tjCustomer.getCompName()); - } else { - String firmId = order.getFirmId(); - if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { - order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName()); - } + String firmName = order.getFirmName(); + if (StringUtil.isNotBlank(firmName)) { + order.setDictCompName(firmName); } if (null != order.getPacId()) { if (null != tjPackageService.getById(order.getPacId())) { @@ -1176,7 +1174,7 @@ tjOrder.setFirmId("0"); } - if (null != tjOrder.getPhoto()) { + if (StringUtil.isNotBlank(tjOrder.getPhoto())) { File file = new File(tjOrder.getPhoto()); if (file.isFile()) { FileInputStream fileInputStream = new FileInputStream(file); @@ -1188,10 +1186,10 @@ tjOrder.setPhoto(encode); } } + String pacId = transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjCustomer.getCusIdcard())); - - if (null == tjOrder.getPacId() && null != transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))) { - tjOrder.setPacId(transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))); + if (StringUtil.isNotBlank(tjOrder.getPacId()) && StringUtil.isNotBlank(pacId) ) { + tjOrder.setPacId(pacId); } //鍒ゆ柇灏忕▼搴忎笂棰勭害鏄惁浠橀挶 if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId())); @@ -1201,7 +1199,6 @@ tjOrder.setFinishTime(new Date()); tjOrder.setCheckStatus(1); tjOrder.setStatus(TjConstants.TJ_WAIT); - // tjFlowingWater.setPayStasus(1L); } tjFlowingWater.setPayStasus(0L); @@ -1209,9 +1206,12 @@ boolean b = lock.tryLock(3, TimeUnit.MINUTES); if (b) { AjaxResult result = processOrderWithTransaction(tjOrder, tjCustomer, tjReservation, tjFlowingWater, mallOrder, sysUser); - if (!result.get("code").toString().equals("200")) + if (!result.get("code").toString().equals("200")) { + hisApiMethod.ZfHisApiMethod(tjOrder.getCardId()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - tjOrderService.tjQiandaodengji(tjOrder.getTjNumber()); + }else { + tjOrderService.tjQiandaodengji(tjOrder.getTjNumber()); + } return result; } }catch (Exception e){ @@ -1410,14 +1410,17 @@ tjFlowingWater.setPayStasus(1L); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); - if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; + if (!ajaxResult.get("code").toString().equals("200")){ + throw new IllegalStateException("鍥綋鐢宠鍗曞彂閫佸け璐�!" + result.get("msg").toString()); +// return ajaxResult; + } tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); xdPictureService.saveBatch(xdPictureList); - List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); +// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); log.info("璋冪敤his寮�鍚� 杩涘叆涓嶆敹璐规柟娉� 璇ユ柟娉曟墽琛屽畬姣�"); } else { log.info("璋冪敤his寮�鍚� 杩涘叆鏀惰垂鏂规硶 璇ヤ綋妫�浜哄憳鏀惰垂:"+tjOrder.getTjNumber()); @@ -1430,7 +1433,7 @@ else hisApiMethod.tijianshenqingJinchuanNew(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); } } catch (Exception e) { - log.error(String.valueOf(e),e.getMessage()); + log.error("鍙戠敓閿欒 ->{}"+String.valueOf(e),e.getMessage()); throw new IllegalStateException(); } return AjaxResult.success(tjNumber); @@ -1770,16 +1773,11 @@ ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size()); for (String cusId : cusIds) { -// threadPools.execute(new Runnable() { -// @Override -// public void run() { try { getAjaxResults(cusId); } catch (Exception e) { } -// } -// }); } LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.in(TjCustomer::getCusIdcard, cusIds); @@ -1788,18 +1786,6 @@ // ExecutorService threadPool = Executors.newFixedThreadPool(list.size()); ThreadPoolTaskExecutor executor = threadPoolConfig.threadPoolTaskExecutor(); for (Long aLong : list) { -// threadPool.execute(new Runnable() { -// @Override -// public void run() { -// try { -// AjaxResult result = getAjaxResult(aLong, sysUser, daoDto.getTjCategory()); -// threadPool.shutdown(); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// }); - Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override public AjaxResult call() throws Exception { @@ -2011,14 +1997,6 @@ if (tjReservation != null) { tjOrder.setReservationId(tjReservation.getId()); mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId())); -// if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { -// return AjaxResult.error("鏈埌棰勭害鏃堕棿"); -// } -// if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { -// tjReservation.setIsExpire(1); -// tjReservationService.updateById(tjReservation); -// return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); -// } if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo()); if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId()); if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany()); @@ -2041,39 +2019,18 @@ if (StringUtil.isBlank(tjOrder.getFirmId())) { tjOrder.setFirmId("0"); } -// -// tjReservation.setIsExpire(1); -// tjReservationService.updateById(tjReservation); - - //鐢熸垚浣撴鍙� -// String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); -// tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6)); //鑾峰彇鎷兼帴鍓嶇紑 - String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); -// String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber()); -// String tjNumber = idUtils.getTjNumber(); + String sfkqtjhqz = configService.selectConfigByKey("sfkqtjhqz"); + String makeLisTmhPrefix = ""; + if(sfkqtjhqz.equalsIgnoreCase("Y")){ + makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + } + String tjNumber = idUtils.getNewTjNumberRedisLockAndMysql(); if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; - -// if (redisCache.hasKey(TJH)) { -// while (true){ -// List<String> tjh = redisCache.getCacheList(TJH); -// if(tjh.contains(tjNumber)){ -// tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber()); -// if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; -// }else { -// tjh.add(tjNumber); -// } -// } -// }else { -// List<String> stringList = tjOrderService. -// list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); -// stringList.add(tjNumber); -// redisCache.setCacheList(TJH,stringList); -// } tjOrder.setTjNumber(tjNumber); if (null != tjOrder.getPhoto()) { File file = new File(tjOrder.getPhoto()); @@ -2972,9 +2929,10 @@ obj.putOpt("pro_name", tbTransition.getProName()); BigDecimal ordPrice = tbTransition.getOrdPrice(); obj.putOpt("zongjia", ordPrice); - QueryWrapper<TjProject> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("pro_id", tbTransition.getProId()); - TjProject tjProject = projectService.getOne(queryWrapper); +// QueryWrapper<TjProject> queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("pro_id", tbTransition.getProId()); +// TjProject tjProject = projectService.getOne(queryWrapper); + TjProject tjProject = projectService.getTjProjectByIdNodel(tbTransition.getProId()); Integer num = tjProject.getSl(); obj.putOpt("num", num); BigDecimal price = ordPrice.divide(new BigDecimal(num)); @@ -3353,13 +3311,15 @@ TjOrder order = tjOrderService.getOrderByTjNum(tjNum); if (null != order) { -// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); -// if (null != payByTjNum) { -// return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); -// } - if (null != order.getFinishTime()) return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲鎾ら攢!!!"); + + if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!"); + + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId, order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); + String s = configService.selectConfigByKey("is_request_common_his_api"); // if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { @@ -3373,14 +3333,11 @@ wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId()); wrapper1.orderByDesc(TjFlowingWater::getJxbz); List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); - LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjCustomer::getCusId, order.getUserId()); - TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); for (TjFlowingWater water : list) { if (water.getPayStasus() == 0L) { weizhifu.add(water); - } else { + } else if (water.getPayStasus() == 1L) { yizhifu.add(water); } } @@ -3390,21 +3347,16 @@ AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum); if (error1 != null && !error.get("code").toString().equals("200")) return error1; - } else { - tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + } + + /* tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); remarkService.deletedOrderRemarkByTjNum(tjNum); tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(tjNum); ycxmService.delOrderYcXmJyByTjh(tjNum); - - TjCustomer customer = tjCustomerService.getById(order.getUserId()); - customer.setCardId("0"); - tjCustomerService.updateById(customer); xdPictureService.deleteTjXdPictureBytjNum(tjNum); - tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); - } - + tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());*/ String configByKey = configService.selectConfigByKey("sfkqdyhis"); if (configByKey.equals("Y")) { @@ -3425,16 +3377,21 @@ } } boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order, lisApiMethod.isUseLisAndPacsRegister(order)); - if (zfHisApiMethods) { - return AjaxResult.success("鎾ら攢鎴愬姛"); - } else { + if (!zfHisApiMethods) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触"); } - } + + tjCustomer.setCardId("0"); + Long cusNumber = tjCustomer.getCusNumber(); + cusNumber -= 1; + tjCustomer.setCusNumber(cusNumber); + tjCustomerService.updateById(tjCustomer); + tjOrderService.removeById(order.getOrderId()); + return AjaxResult.success("鎾ら攢鎴愬姛"); } - return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!"); + return AjaxResult.error("浣撴璁板綍涓嶅瓨鍦�!"); } @@ -3611,10 +3568,6 @@ TjOrder order = tjOrderService.getOrderByTjNum(tjNum); if (null != order) { -// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); -// if (null != payByTjNum) { -// return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); -// } //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); @@ -3673,6 +3626,9 @@ TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh()); if (null != order) { + if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!"); + + String configByKey = configService.selectConfigByKey("sfkqdyhis"); if (null != configByKey && configByKey.equals("Y")) { log.info("dto鐨勬暟鎹槸" + JSONUtil.toJsonStr(dto)); @@ -3724,7 +3680,7 @@ TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); if (water.getPayStasus() == 0L) { weizhifu.add(water); - } else { + } else if (water.getPayStasus() == 1L) { yizhifu.add(water); } } @@ -3738,18 +3694,18 @@ AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh()); if (error1 != null && !error.get("code").toString().equals("200")) return error1; - return AjaxResult.success(); - } else { +// return AjaxResult.success(); + } + try { extracted(dto, order); } catch (Exception e) { log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); } - return AjaxResult.success(); - } + return AjaxResult.success("鎾ら攢鎴愬姛"); } - return AjaxResult.error(); + return AjaxResult.error("鏈壘鍒颁綋妫�璁板綍"); } private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm, Boolean isDelete, String tjNum) { @@ -3822,7 +3778,7 @@ String tfid = jsonObject.getJSONObject("data").getStr("feiYongId"); water.setHisTfWaterId(tfid); tjFlowingWaterService.updateById(water); - if (isDelete) { + /* if (isDelete) { for (TjFlowingWater water1 : yizhifu) { String bldh1 = water1.getJxbz(); remarkService.deleteTjOrderDetailByjxbz(bldh1); @@ -3832,7 +3788,7 @@ blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); } - } + }*/ } else return AjaxResult.error(); } } @@ -3850,7 +3806,7 @@ String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/revokeCost", chexiaoMap); if (JSONUtil.parseObj(post).getStr("code").equals("200")) { - if (isDelete) { + /*if (isDelete) { for (TjFlowingWater water : weizhifu) { String bldh = water.getJxbz(); if (StrUtil.isNotBlank(bldh)) { @@ -3862,16 +3818,17 @@ tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh); } else { //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� - tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + *//* tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); remarkService.deletedOrderRemarkByTjNum(tjNum); tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(tjNum); - tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); + tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());*//* +// tjOrderService.removeById(order.getOrderId()); } } - } + }*/ } else return AjaxResult.error(); } return null; @@ -3879,14 +3836,18 @@ // @Transactional(propagation =Propagation.REQUIRES_NEW) public void extracted(TjProBlDto dto, TjOrder order) { - for (String bldh : dto.getBldhs()) { - remarkService.deleteTjOrderDetailByjxbz(bldh); - tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); - tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); - transitionService.deleteTjOrderDetailByjxbz(bldh); - blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh)); + try { + for (String bldh : dto.getBldhs()) { + remarkService.deleteTjOrderDetailByjxbz(bldh); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); + transitionService.deleteTjOrderDetailByjxbz(bldh); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh)); + } + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs()); + } catch (Exception e) { + throw new RuntimeException(e); } - tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs()); } @@ -4107,8 +4068,11 @@ @GetMapping(value = "newgetTransitionList") @ApiOperation(value = "鏈�鏂版煡璇㈣繃娓¤〃鏁版嵁") public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) { + Map<String, Object> map = new HashMap<>(); List<TbTransition> list = transitionService.newgetTransitionList(cusId); - return AjaxResult.success(list); + map.put("list", list); + map.put("tjCategory", transitionService.getTjCategoryByTbTransition(cusId)); + return AjaxResult.success(map); } @PostMapping(value = "updateTransitionnewPrice") -- Gitblit v1.8.0