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/TjOrderController.java | 1004 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 649 insertions(+), 355 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 cfe7bce..372f240 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 @@ -56,6 +56,8 @@ import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto; import com.ltkj.hosp.hisDto.OutpinimpapplyDto; import com.ltkj.hosp.hisDto.OutpinmedicapplyDto; +import com.ltkj.hosp.idutil.IdUtils; +import com.ltkj.hosp.mapper.TbTransitionMapper; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; @@ -89,9 +91,11 @@ import org.aspectj.weaver.ast.Var; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.http.HttpRequest; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -140,8 +144,8 @@ private ITbTransitionService transitionService; @Resource private ISysConfigService configService; - @Value("${path.filePath}") - private String value; +// @Value("${path.filePath}") +// private String value; @Resource private ITjOrderRemarkService remarkService; @Resource @@ -236,6 +240,10 @@ private ITjXdPictureService xdPictureService; @Autowired private TjOrderYcxmService ycxmService; + @Autowired + private TbTransitionMapper tbTransitionMapper; + + private static final String TJH = "tjhs:tjh"; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -302,7 +310,7 @@ wqq.like(TjCustomer::getCusName, name); List<TjCustomer> customerList = tjCustomerService.list(wqq); List<TjOrder> list2 = new ArrayList<>(); - if (null != customerList && customerList.size() > 0) { + if (null != customerList && !customerList.isEmpty()) { List<TjOrder> list = new ArrayList<>(); for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); @@ -313,13 +321,13 @@ list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; - if (list.size() > 0) { + if (!list.isEmpty()) { for (TjOrder order : list) { //绛涢�夋湁璋冩煡闂嵎鐨� LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>(); wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq1); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -380,7 +388,7 @@ LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -1026,18 +1034,19 @@ if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory()); if (null != tjReservation.getGroupingId()) { + TjDwGrouping dwGrouping = dwGroupingService.getById(tjReservation.getGroupingId()); tjOrder.setGroupId(tjReservation.getGroupingId()); - tjOrder.setFirmDeptId(tjReservation.getPacId()); + tjOrder.setFirmDeptId(dwGrouping.getDwDeptId()); } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); - if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { - tjOrder.setTjType("1"); - } else if (tjOrder.getTjType().equals("2")) { - tjOrder.setTjType("2"); - } +// if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { +// tjOrder.setTjType("1"); +// } else if (tjOrder.getTjType().equals("2")) { +// tjOrder.setTjType("2"); +// } } - if(StringUtil.isBlank(tjOrder.getFirmId())){ + if (StringUtil.isBlank(tjOrder.getFirmId())) { tjOrder.setFirmId("0"); } @@ -1079,13 +1088,19 @@ tjOrderService.tjQiandaodengji(tjOrder.getTjNumber()); return result; } - } finally { + }catch (Exception e){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error(String.valueOf(e),e.getMessage()); + e.printStackTrace(); + } + finally { lock.unlock(); } return AjaxResult.error(); } - @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED) + + @Transactional(propagation = Propagation.REQUIRED) public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) { //鑾峰彇鎷兼帴鍓嶇紑 @@ -1096,10 +1111,38 @@ // if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; - String tjNumber = (SecurityUtils.getUsername()+IdUtils.getTjNumber()); - if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; - tjOrder.setTjNumber(tjNumber); +// String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber()); +// String tjNumber = idUtils.getTjNumber(); + String tjNumber = null; + int a =0; + while (tjNumber ==null){ + if(a>3){ + throw new RuntimeException("鍓嶆柟鎷ユ尋,璇风◢绛�!!!"); + } + try { + String newTjNumberRedisLockAndMysql = idUtils.getNewTjNumberRedisLockAndMysql(); + if (StringUtil.isNotBlank(makeLisTmhPrefix)){ + String tjh= makeLisTmhPrefix + newTjNumberRedisLockAndMysql; + int countByTjNum = tjOrderService.getOrderCountByTjNum(tjh); + if(countByTjNum==0){ + tjNumber=tjh; + } + }else { + int countByTjNum = tjOrderService.getOrderCountByTjNum(newTjNumberRedisLockAndMysql); + if(countByTjNum==0){ + tjNumber=newTjNumberRedisLockAndMysql; + } + } + } catch (Exception e) { + log.error(e.getMessage()); + throw new IllegalStateException(); + }finally { + a++; + } + } + + tjOrder.setTjNumber(tjNumber); BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())); tjOrder.setDiscount(discount.toString()); @@ -1144,10 +1187,10 @@ tjFlowingWater.setDiscount(discount.toString()); BigDecimal subtract = paidIn.subtract(copeWith.multiply(discount.divide(BigDecimal.valueOf(10)))); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 搴斾粯: "+copeWith); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鎶樻墸: "+discount); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 瀹炰粯: "+paidIn); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鐩稿樊: "+subtract); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 搴斾粯: " + copeWith); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鎶樻墸: " + discount); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 瀹炰粯: " + paidIn); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鐩稿樊: " + subtract); if (isPay.equals("true")) { if (null != mallOrder) { @@ -1178,21 +1221,8 @@ } } - //淇敼姣忛」鐨勫師浠风幇浠� -// transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber()); //淇敼涓存椂琛ㄤ綋妫�鍙� - transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(),tjOrder.getTjNumber()); - //琛ュ樊浠� - /* if(subtract.compareTo(BigDecimal.ZERO)>0){ - tjFlowingWater.setPaidIn(paidIn.add(subtract)); - TbTransition onwTbTransition = transitionService.getOnwTbTransition(tjCustomer.getCusIdcard(),tjOrder.getTjNumber()); - if(null !=onwTbTransition){ - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+"缁�: "+onwTbTransition.getParentProName()+" "+onwTbTransition.getNowPrice() - +" 琛ュ樊浠� "+subtract+" 鏈�缁堝緱 "+onwTbTransition.getNowPrice().add(subtract)); - onwTbTransition.setNowPrice(onwTbTransition.getNowPrice().add(subtract)); - transitionService.updateById(onwTbTransition); - } - }*/ + transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber()); if (tjFlowingWaterService.save(tjFlowingWater)) { tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); @@ -1202,15 +1232,21 @@ /*璋冪敤his鎺ュ彛*/ String config = configService.selectConfigByKey("sfkqdyhis"); if (null != config && config.equals("Y")) { - AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder); - if (!result.get("code").toString().equals("200")) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - Object jzh = result.get("jzh"); - if (null != jzh && null != jzh.toString()) { - hisApiMethod.ZfHisApiMethod(jzh.toString()); + AjaxResult result = null; + try { + result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder); + if (!result.get("code").toString().equals("200")) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + Object jzh = result.get("jzh"); + if (null != jzh && null != jzh.toString()) { + hisApiMethod.ZfHisApiMethod(jzh.toString()); + } + log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId()); + return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString()); } - log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId()); - return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString()); + } catch (NoTransactionException e) { + log.error(e.getMessage()); + throw new RuntimeException(e); } log.info("璇ョ櫥璁颁汉鐨刪is灏辫瘖鍙锋槸: " + tjOrder.getCardId()); @@ -1225,27 +1261,29 @@ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); }*/ // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs - if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { - // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 - 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; - 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); - } else { - newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); - List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); - - hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + try { + if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 + 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; + 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); + } else { + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); + hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + } + return AjaxResult.success(tjNumber); + } catch (Exception e) { + log.error(e.getMessage()); + throw new RuntimeException(e); } - return AjaxResult.success(tjNumber); } else { tjCustomer.setCardId(tjOrder.getTjNumber()); tjCustomerService.updateById(tjCustomer); @@ -1340,33 +1378,110 @@ // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs - if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { - // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 - tjFlowingWater.setPayStasus(1L); - newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); - 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); - return AjaxResult.success(tjNumber); - }else { - newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); - AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater); - if (error != null) return error; -// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); -// addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); + //瀵煎叆浜哄憳鏄惁鏀惰垂 + String drrysfsf = configService.selectConfigByKey("drrysfsf"); + + + try { + if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + if(StringUtil.isNotBlank(drrysfsf) && drrysfsf.equalsIgnoreCase("Y")){ + if(null != tjReservation){ + return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber); + }else { + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater); + if (error != null) return error; + + return AjaxResult.success(tjNumber); + } + } + return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber); + + } else { + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater); + if (error != null) return error; + } + } catch (Exception e) { + log.error(e.getMessage()); + throw new RuntimeException(e); } return AjaxResult.success(tjNumber); -// pacsApiMethodService.OrderAdd(tjCustomer,tjOrder); -// return AjaxResult.success(tjNumber); } TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } + + private AjaxResult isUseLisAndPacsRegister(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, SysUser sysUser, BigDecimal discount, String tjNumber) { + try { + log.info("绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�"); + // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 + tjFlowingWater.setPayStasus(1L); + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + 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()); + log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); + return AjaxResult.success(tjNumber); + } catch (Exception e) { + log.error(e.getMessage()); + throw new RuntimeException(e); + } + } + + public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { + try { + tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); + if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { + tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), + String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber())); + } else { + tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); + } + + tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); + + //娣诲姞remark琛ㄦ暟鎹� + if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { + remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); + + } else { + remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); + + } + //鍒ゆ柇鏄惁浜ら挶 + if ("1".equals(tjOrder.getTjType())) { + if (null != tjReservation && tjReservation.getPayType() == 1) { + 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); + } + } + if (tjFlowingWater.getPayStasus() == 1L) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); + tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); + tjFlowingWater.setPayType(4L); + tjFlowingWaterService.updateById(tjFlowingWater); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); + // asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser); + List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); + xdPictureService.saveBatch(xdPictureList); + } + } catch (Exception e) { + log.error(e.getMessage()); + throw new RuntimeException(e); + } + } + private AjaxResult isRequestCommonHisApi(TjOrder tjOrder, TjCustomer tjCustomer, TjFlowingWater tjFlowingWater) { String s = configService.selectConfigByKey("is_request_common_his_api"); @@ -1390,6 +1505,22 @@ wrapper.gt(TbTransition::getNowPrice, 0); List<TbTransition> list = tbTransitionService.list(wrapper); + BigDecimal zongjia = new BigDecimal("0.0"); + + // his鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰鎬讳环缂栫爜 + String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); + // 鏄惁寮�鍚痟is鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰 N浣跨敤鏄庣粏寮�鍗� 鍏朵粬閮戒负鍗曢」鐩紑鎬讳环 + String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); + // 鏄惁浣跨敤his浠锋牸浼犻�掕鍒� Y寮�鍚� + String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); + // his浠锋牸浼犻�掕鍒欎繚鐣欏緱浣嶆暟 榛樿2浣� + String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); + // his浠锋牸浼犻�掕鍒� 1鍥涜垗浜斿叆 2鐩存帴鑸嶅幓 + String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); + // 浼犻�掗」鐩槸鍚︿娇鐢╤is绉戝 + String isUseHisKs = configService.selectConfigByKey("isCreateMenZhenFyUseHisKs"); + String createMenZhenFyZJUseHisKs = configService.selectConfigByKey("createMenZhenFyZJUseHisKs"); + for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -1400,19 +1531,68 @@ SysDept dept = sysDeptService.getOne(wrapper2); JSONObject obj = JSONUtil.createObj(); - Integer sl = project.getSl(); +// Integer sl = project.getSl(); + int sl = 1; BigDecimal danjia = transition.getNowPrice(); BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){ + int baoliuweishu = 2; + if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){ + try { + baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu); + } catch (NumberFormatException e) { + log.error("his浠锋牸浼犻�掕鍒欎繚鐣欎綅鏁拌浆鎹㈠紓甯� 閰嶇疆鍊�->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage()); + return AjaxResult.error(); + } + } + if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){ + // 鍏朵粬鑷畾涔夌殑瑙勫垯璁$畻鏂规硶 + }else { + // 鍥涜垗浜斿叆 + danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP); + allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP); + } + } obj.putOpt("danJia", danjia); obj.putOpt("jieSuanJe", allPrice); obj.putOpt("shuliang", sl); - obj.putOpt("zhiXingKs", dept.getDeptId()); - obj.putOpt("zhiXingKsMc", dept.getDeptName()); + if (isUseHisKs.equalsIgnoreCase("Y")){ + obj.putOpt("zhiXingKs", dept.getHisksid()); + obj.putOpt("zhiXingKsMc", dept.getHisksmc()); + }else { + obj.putOpt("zhiXingKs", dept.getDeptId()); + obj.putOpt("zhiXingKsMc", dept.getDeptName()); + } obj.putOpt("shouFeiXmId", project.getHisXmbm()); obj.putOpt("shouFeiXmMc", project.getHisXmmc()); array.add(obj); + zongjia = zongjia.add(allPrice); } - map.put("feiYongInfoList", array); + + if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ + map.put("feiYongInfoList", array); + }else { + zongjia = tjFlowingWater.getPaidIn(); + JSONArray zjarray = JSONUtil.createArray(); + JSONObject obj = JSONUtil.createObj(); + int sl = 1; + obj.putOpt("danJia", zongjia); + obj.putOpt("jieSuanJe", zongjia); + obj.putOpt("shuliang", sl); + if (isUseHisKs.equalsIgnoreCase("Y")){ + if (StrUtil.isBlank(createMenZhenFyZJUseHisKs)) return AjaxResult.error(); + obj.putOpt("zhiXingKs", createMenZhenFyZJUseHisKs); + }else { + obj.putOpt("zhiXingKs", "100"); + } + obj.putOpt("zhiXingKsMc","浣撴涓績"); + obj.putOpt("shouFeiXmId", tjfhisxmbm); + obj.putOpt("shouFeiXmMc", "浣撴璐�"); + zjarray.add(obj); + map.put("feiYongInfoList", zjarray); + } + + log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); JSONObject object = JSONUtil.parseObj(post); @@ -1441,6 +1621,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()); @@ -1511,30 +1693,58 @@ } } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + if (StrUtil.isNotBlank(jxbz)) { + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz); + } else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); } + } + + + + @GetMapping("/addCaiYangDengJi") + @ApiOperation(value = "鎵嬪姩娣诲姞閲囨牱璁板綍鎺ュ彛") + public AjaxResult addCaiYangDengJi(@RequestParam("tjNum") String tjNum){ + + try { + TjOrder order = tjOrderService.getOrderByTjNum(tjNum); + if(null !=order){ + Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); + SysUser sysUser = userService.getById(userId); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser, null); + } + } catch (NumberFormatException e) { + log.error(String.valueOf(e)); + } + + return AjaxResult.success(); } @PostMapping("/addPlOrderAndDetail") @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛") - @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) +// @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto, HttpServletResponse response) { SysUser sysUser = UserHoder.getLoginUser().getUser(); List<String> cusIds = daoDto.getCusIds(); ArrayList<String> tjNumbers = new ArrayList<>(); + ArrayList<String> errTjh = new ArrayList<>(); if (null != cusIds && !cusIds.isEmpty()) { ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size()); for (String cusId : cusIds) { - threadPools.execute(new Runnable() { - @Override - public void run() { - getAjaxResults(cusId); - } - }); + +// threadPools.execute(new Runnable() { +// @Override +// public void run() { + try { + getAjaxResults(cusId); + } catch (Exception e) { + + } +// } +// }); } LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.in(TjCustomer::getCusIdcard, cusIds); @@ -1554,6 +1764,7 @@ // } // } // }); + Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override public AjaxResult call() throws Exception { @@ -1562,61 +1773,51 @@ }); try { AjaxResult result = future.get(); - String tjNumber = result.get("tjNumber").toString(); - tjNumbers.add(tjNumber); + String code = result.get("code").toString(); + if (code.equals("200")) { + String tjNumber = result.get("tjNumber").toString(); + tjNumbers.add(tjNumber); + }else { + String userId = result.get("userId").toString(); + errTjh.add(userId); + } } catch (InterruptedException | ExecutionException e) { +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); } } threadPools.shutdown(); } - } - // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 - tjNumbers = new ArrayList<>(); - tjNumbers.add("02095240229171627"); - tjNumbers.add("02095240229173104"); - tjNumbers.add("10001240524172002"); - tjNumbers.add("10001240304124410"); - tjNumbers.add("00325240304160123"); - tjNumbers.add("02095240304162044"); - tjNumbers.add("02095240304162152"); - tjNumbers.add("10001240304163505"); - Map<String, Object> map = null; - try { - map = PDFDocumentUtil.getDocument(); - Document document = (Document) map.get("document"); - for (int i = 0; i < tjNumbers.size(); i++) { - try { - List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i)); - Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i)); - LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); - DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); - String time = null; - if (tjsj != null) { - time = dateFormat.format(tjsj); - } - PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex") - , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time); - PDFDocumentUtil.makeTjInfo(document, djdInfos); - // 澶氭潯鍒欐崲椤� - if (i + 1 < tjNumbers.size()) { - document.newPage(); - } - } catch (DocumentException | IOException e) { - e.printStackTrace(); - } + // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 鎵撳嵃瀵艰瘖鍗� + if (!tjNumbers.isEmpty()) { + Map<String,Object> map=new HashMap<>(); + map.put("tjh",tjNumbers); + return AjaxResult.success("鎿嶄綔鎴愬姛",map); } - document.close(); - ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); - String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); - return AjaxResult.success().put("file", encodeToString); - } catch (IOException | DocumentException e) { - e.printStackTrace(); + + if (!errTjh.isEmpty()){ + Map<String,Object> map=new HashMap<>(); + map.put("errtjh",errTjh); + return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map); + } + return AjaxResult.error(); } - return AjaxResult.success("鎿嶄綔鎴愬姛"); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); } - private void getAjaxResults(String cusIdcard) { + @GetMapping("/signOrderInfo") + public AjaxResult signOrderInfo(@RequestParam("tjNum") String tjNum){ + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNum); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNum); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("djd",djdInfos); + hashMap.put("user",userInfo); + return AjaxResult.success(hashMap); + } + + @Transactional + public void getAjaxResults(String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); @@ -1678,51 +1879,59 @@ tjReservationService.updateById(tjReservation); // return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); }*/ - LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); - qw.eq(TjCustomer::getCusIdcard, cusIdcard); - TjCustomer tjCustomer1 = tjCustomerService.getOne(qw); - if (tjCustomer1 != null) { - tjCustomer1.setTjType(tjReservation.getTjType()); - tjCustomer1.setCusName(tjReservation.getName()); - tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer1.setCusBrithday(tjReservation.getBirthday()); - tjCustomer1.setCusPhone(tjReservation.getPhoe()); - tjCustomer1.setCusEmail(tjReservation.getEmail()); - tjCustomer1.setCusAddr(tjReservation.getAddress()); - tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); - tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation())); - tjCustomer1.setIdType(tjReservation.getIdType()); - tjCustomer1.setAge(tjReservation.getAge()); - tjCustomer1.setAgeUnit(tjReservation.getAgeUnit()); - tjCustomer1.setCareer(tjReservation.getCareer()); - tjCustomerService.updateById(tjCustomer1); - } else { - TjCustomer tjCustomer = new TjCustomer(); - tjCustomer.setCusIdcard(tjReservation.getIdCard()); - tjCustomer.setCusName(tjReservation.getName()); - tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer.setCusBrithday(tjReservation.getBirthday()); - tjCustomer.setCusPhone(tjReservation.getPhoe()); - tjCustomer.setCusEmail(tjReservation.getEmail()); - tjCustomer.setCusAddr(tjReservation.getAddress()); - tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); - tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); - tjCustomer.setIdType(tjReservation.getIdType()); - tjCustomer.setAge(tjReservation.getAge()); - tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); - tjCustomer.setCareer(tjReservation.getCareer()); - tjCustomer.setDwPhone(tjReservation.getDwPhone()); - tjCustomer.setCardId(tjReservation.getCardId()); - tjCustomer.setIndexCard(tjReservation.getIndexCard()); - //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 - String substring = cusIdcard.substring(cusIdcard.length() - 6); - substring = DigestUtils.md5DigestAsHex(substring.getBytes()); - tjCustomer.setCusPassword(substring); - tjCustomer.setTjType(tjReservation.getTjType()); - tjCustomerService.save(tjCustomer); + try { + LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); + qw.eq(TjCustomer::getCusIdcard, cusIdcard); + TjCustomer tjCustomer1 = tjCustomerService.getOne(qw); + if (tjCustomer1 != null) { + tjCustomer1.setTjType(tjReservation.getTjType()); + tjCustomer1.setCusName(tjReservation.getName()); + tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex())); + tjCustomer1.setCusBrithday(tjReservation.getBirthday()); + tjCustomer1.setCusPhone(tjReservation.getPhoe()); + tjCustomer1.setCusEmail(tjReservation.getEmail()); + tjCustomer1.setCusAddr(tjReservation.getAddress()); + tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); + tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation())); + tjCustomer1.setIdType(tjReservation.getIdType()); + tjCustomer1.setAge(tjReservation.getAge()); + tjCustomer1.setAgeUnit(tjReservation.getAgeUnit()); + tjCustomer1.setCareer(tjReservation.getCareer()); + tjCustomerService.updateById(tjCustomer1); + } else { + TjCustomer tjCustomer = new TjCustomer(); + tjCustomer.setCusIdcard(tjReservation.getIdCard()); + tjCustomer.setCusName(tjReservation.getName()); + tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); + tjCustomer.setCusBrithday(tjReservation.getBirthday()); + tjCustomer.setCusPhone(tjReservation.getPhoe()); + tjCustomer.setCusEmail(tjReservation.getEmail()); + tjCustomer.setCusAddr(tjReservation.getAddress()); + tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); + tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); + tjCustomer.setIdType(tjReservation.getIdType()); + tjCustomer.setAge(tjReservation.getAge()); + tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); + tjCustomer.setCareer(tjReservation.getCareer()); + tjCustomer.setDwPhone(tjReservation.getDwPhone()); + tjCustomer.setCardId(tjReservation.getCardId()); + tjCustomer.setIndexCard(tjReservation.getIndexCard()); + //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 + String substring = cusIdcard.substring(cusIdcard.length() - 6); + substring = DigestUtils.md5DigestAsHex(substring.getBytes()); + tjCustomer.setCusPassword(substring); + tjCustomer.setTjType(tjReservation.getTjType()); + tjCustomerService.save(tjCustomer); + } + } catch (Exception e) { + throw new RuntimeException(e); } + }else { + throw new RuntimeException(); } + }else { + throw new RuntimeException(); } } @@ -1750,25 +1959,13 @@ DynamicDataSourceContextHolder.clearDataSourceType(); } - private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { + @Transactional + public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusId, userId); TjCustomer tjCustomer = tjCustomerService.getOne(wq); if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); - -// LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); -// wqq.eq(TjOrder::getUserId, userId); -// wqq.eq(TjOrder::getCheckStatus, 0); -// wqq.isNull(TjOrder::getFinishTime); -// if (!tjCustomer.getCardId().equals("0")) { -// wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); -// } -// TjOrder order = tjOrderService.getOne(wqq); -// if (null != order) { -// transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); -// return AjaxResult.error("涓嶅彲閲嶅鐧昏"); -// } TjOrder tjOrder = new TjOrder(); Date date = new Date(); tjOrder.setCreateTime(date); @@ -1785,16 +1982,17 @@ 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 (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()); if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); @@ -1805,12 +2003,47 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); + if (null != tjReservation.getTeamNo()) { + tjOrder.setTjType("1"); + } else{ + tjOrder.setTjType("2"); + } + + if (StringUtil.isBlank(tjOrder.getFirmId())) { + tjOrder.setFirmId("0"); + } +// +// tjReservation.setIsExpire(1); +// tjReservationService.updateById(tjReservation); //鐢熸垚浣撴鍙� - String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6)); - tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); + //鑾峰彇鎷兼帴鍓嶇紑 + String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); +// String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber()); + 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()); @@ -1851,6 +2084,21 @@ tjCustomer.setCusNumber(cusNumber); // BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); TjFlowingWater tjFlowingWater = new TjFlowingWater(); + tjFlowingWater.setCreateTime(date); + tjFlowingWater.setCreateTime(date); + tjFlowingWater.setUpdateTime(date); + tjFlowingWater.setCreateBy(sysUser.getNickName()); + tjFlowingWater.setUpdateBy(sysUser.getNickName()); +// BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setCopeWith(bigDecimal); +// BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setPaidIn(bigDecimal1); + tjFlowingWater.setDiscount(String.valueOf(10)); + tjFlowingWater.setPayStasus(1L); + tjFlowingWater.setPayType(3L); + tjFlowingWater.setPayStasus(0L); if ("1".equals(tjOrder.getTjType())) { if (tjReservation.getPayType() == 1) { @@ -1899,18 +2147,38 @@ if (tjFlowingWaterService.save(tjFlowingWater)) { tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); tjOrderService.updateById(tjOrder); - - } - asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); + transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber()); + tjCustomer.setCardId(tjOrder.getTjNumber()); + tjCustomerService.updateById(tjCustomer); + transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber()); + tjOrder.setCardId(tjOrder.getTjNumber()); + tjOrderService.updateById(tjOrder); +// asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); + + if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 + tjFlowingWater.setPayStasus(1L); + tjOrder.setTjFlowingWater(tjFlowingWater); + newSaveextracted(tjOrder, tjCustomer, BigDecimal.valueOf(10), sysUser, tjReservation, tjFlowingWater); + 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); +// return AjaxResult.success(tjNumber); + } tjCustomer.setCardId("0"); tjCustomerService.updateById(tjCustomer); return AjaxResult.success().put("tjNumber", tjNumber); } } - return AjaxResult.error(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error().put("userId",userId); } @@ -2000,10 +2268,12 @@ transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId); //琛ュ樊浠� - List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); - if(null !=cjMaps && !cjMaps.isEmpty()){ + List<Map<String, Object>> cjMaps = transitionService.addTbhuoquxiangmuchajia(pacId.toString(), cusId); + if (null != cjMaps && !cjMaps.isEmpty()) { + log.info("璇ュ椁�"+pacId+"涓湁宸环:"+cjMaps.size()+"涓�"); for (Map<String, Object> cjMap : cjMaps) { - transitionService.buxiangmuchajia(cusId,pacId.toString(),cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString())); + log.info("娣诲姞涓存椂琛ㄥ椁愭暟鎹椂鎵�閫夌殑宸环涓�:"+ cjMap.get("cj").toString()); + transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); } } @@ -2692,50 +2962,6 @@ } - public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { - tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); - if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { - tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), - String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber())); - } else { - tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); - } - - tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId()); - - //娣诲姞remark琛ㄦ暟鎹� - if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) { - remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); - - } else { - remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); - - } - //鍒ゆ柇鏄惁浜ら挶 - if ("1".equals(tjOrder.getTjType())) { - if (null != tjReservation && tjReservation.getPayType() == 1) { - 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); - } - } - if (tjFlowingWater.getPayStasus() == 1L) { - tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), - sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); - tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); - tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); - tjFlowingWater.setPayType(4L); - tjFlowingWaterService.updateById(tjFlowingWater); - remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); -// asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser); - List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); - xdPictureService.saveBatch(xdPictureList); - } - } - - public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); @@ -2916,9 +3142,9 @@ TjReport tjReport = new TjReport(); tjReport.setTjNumber(String.valueOf(tjNumber)); tjReport.setPath(urlValue + outputFileName1); - String outputPath1 = value + File.separator; - String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); - tjReport.setReport(pdfBinary); +// String outputPath1 = value + File.separator; +// String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); +// tjReport.setReport(pdfBinary); tjReport.setType("浣撴鎶ュ憡"); tjReport.setPrint("pdf"); tjReportService.save(tjReport); @@ -3049,16 +3275,17 @@ 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("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!"); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); + String username = SecurityUtils.getUsername(); + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId, order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); String s = configService.selectConfigByKey("is_request_common_his_api"); -// if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { + if (null != s && s.equals("Y") && !useLisAndPacsRegister) { String apiUrl = configService.selectConfigByKey("common_api_url"); String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); @@ -3069,37 +3296,35 @@ 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); } } + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+tjNum+" 鐨勪綋妫�璁板綍;" ); AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum); - if (error != null && !error.get("code").toString().equals("200")) return error; - + if (error != null && !error.get("code").toString().equals("200")){ + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍; 鎾ら攢澶辫触!!!!" ); + return error; + }else { + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍;" ); + } 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()); - tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); - remarkService.deletedOrderRemarkByTjNum(tjNum); - tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); - transitionService.deletedTbTransitionByTjNum(tjNum); - ycxmService.delOrderYcXmJyByTjh(tjNum); + if (error1 != null && !error.get("code").toString().equals("200")) + { + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍; 鎾ら攢澶辫触!!!!" ); + return error1; + }else { + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍;" ); + } - TjCustomer customer = tjCustomerService.getById(order.getUserId()); - customer.setCardId("0"); - tjCustomerService.updateById(customer); - xdPictureService.deleteTjXdPictureBytjNum(tjNum); - tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); } + String configByKey = configService.selectConfigByKey("sfkqdyhis"); if (configByKey.equals("Y")) { @@ -3129,8 +3354,21 @@ } } + + tjCustomer.setCardId("0"); + tjCustomerService.updateById(tjCustomer); + /* 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); + xdPictureService.deleteTjXdPictureBytjNum(tjNum); + tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());*/ + tjOrderService.removeById(order.getOrderId()); + return AjaxResult.success("鎾ら攢鎴愬姛"); } - return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!"); + return AjaxResult.error("绛惧埌璁板綍涓嶅瓨鍦�!"); } @@ -3217,7 +3455,7 @@ for (int i = 0; i < tjNumbers.size(); i++) { String tjNumber = tjNumbers.get(i).getTjNumber(); try { - List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); @@ -3306,11 +3544,9 @@ public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) { TjOrder order = tjOrderService.getOrderByTjNum(tjNum); + String username = SecurityUtils.getUsername(); + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗗己鍒舵挙閿� 浣撴鍙蜂负:"+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())); @@ -3330,6 +3566,7 @@ TjOrder order = tjOrderService.getOrderByTjNum(tjNum); if (null != order) { + LambdaQueryWrapper<TjProBl> wq = new LambdaQueryWrapper<>(); wq.eq(TjProBl::getTjh, tjNum); List<TjProBl> blList = blService.list(wq); @@ -3368,7 +3605,12 @@ } TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh()); + String username = SecurityUtils.getUsername(); if (null != order) { + + if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!"); + + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 鐨� 琛ュ綍浣撴璁板綍;" ); String configByKey = configService.selectConfigByKey("sfkqdyhis"); if (null != configByKey && configByKey.equals("Y")) { log.info("dto鐨勬暟鎹槸" + JSONUtil.toJsonStr(dto)); @@ -3420,7 +3662,7 @@ TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); if (water.getPayStasus() == 0L) { weizhifu.add(water); - } else { + } else if (water.getPayStasus() == 1L){ yizhifu.add(water); } } @@ -3430,22 +3672,34 @@ wrapper.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh()); - if (error != null && !error.get("code").toString().equals("200")) return error; + if (error != null && !error.get("code").toString().equals("200")) + { + log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍; 鎾ら攢澶辫触" ); + return error; + }else { + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍;" ); + } 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 { + if (error1 != null && !error.get("code").toString().equals("200")) + { + log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍; 鎾ら攢澶辫触" ); + return error1; + }else { + log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍;" ); + } + } + 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) { @@ -3511,14 +3765,14 @@ log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}", JSONUtil.toJsonStr(map)); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); log.info("閫�璐圭敵璇� 杩斿洖 -> {}", JSONUtil.toJsonStr(post)); - if(null !=post){ + if (null != post) { JSONObject jsonObject = JSONUtil.parseObj(post); if (jsonObject.getStr("code").equals("200")) { // hisTfWaterId 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); @@ -3528,8 +3782,8 @@ blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); } - } - } else return AjaxResult.error(); + }*/ + } else return AjaxResult.error("鎾ら攢澶辫触"); } } } @@ -3546,7 +3800,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)) { @@ -3558,31 +3812,39 @@ 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());*//* +// TjCustomer customer = tjCustomerService.getById(order.getUserId()); +// customer.setCardId("0"); +// tjCustomerService.updateById(customer); +// tjOrderService.removeById(order.getOrderId()); } } - } - } else return AjaxResult.error(); + }*/ + } else return AjaxResult.error("鎾ら攢澶辫触"); } return null; } // @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()); } @@ -3701,7 +3963,7 @@ } } } - if(!list.isEmpty()) { + if (!list.isEmpty()) { int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{})); if (i == 0) { return AjaxResult.error("鎾ゅ洖澶辫触锛�"); @@ -3757,14 +4019,14 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("鎿嶄綔澶辫触! 浠ヤ笅椤圭洰宸插瓨鍦�: " + string); } - transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString()) ; - //琛ュ樊浠� - List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); - if(null !=cjMaps && !cjMaps.isEmpty()){ - for (Map<String, Object> cjMap : cjMaps) { - transitionService.buxiangmuchajia(cusId,pacId.toString(),cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString())); - } + transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString()); + //琛ュ樊浠� + List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); + if (null != cjMaps && !cjMaps.isEmpty()) { + for (Map<String, Object> cjMap : cjMaps) { + transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); } + } } } @@ -3789,17 +4051,7 @@ @GetMapping(value = "newgetTransitionList") @ApiOperation(value = "鏈�鏂版煡璇㈣繃娓¤〃鏁版嵁") public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) { -// String pacId = transitionService.getTbTransitionPacId(cusId); -// if(StringUtil.isNotBlank(pacId)){ -// //琛ュ樊浠� -// List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId, cusId); -// if(null !=cjMaps && !cjMaps.isEmpty()){ -// for (Map<String, Object> cjMap : cjMaps) { -// transitionService.buxiangmuchajia(cusId,pacId,cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString())); -// } -// } -// } - List<TbTransition> list= transitionService.newgetTransitionList(cusId); + List<TbTransition> list = transitionService.newgetTransitionList(cusId); return AjaxResult.success(list); } @@ -3808,33 +4060,43 @@ @Transactional public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) { - if(null !=dtos && !dtos.isEmpty()){ + if (null != dtos && !dtos.isEmpty()) { + boolean flag = false; for (UpdateTransitionnewPriceDto dto : dtos) { - LambdaQueryWrapper<TbTransition> wq=new LambdaQueryWrapper<>(); - wq.eq(TbTransition::getCusId,dto.getCusIdCard()); - wq.eq(TbTransition::getParentProId,dto.getParentProId()); + LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); + wq.eq(TbTransition::getCusId, dto.getCusIdCard()); + wq.eq(TbTransition::getParentProId, dto.getParentProId()); wq.isNull(TbTransition::getTjNum); List<TbTransition> list = transitionService.list(wq); - log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: "+dto.getCusIdCard()); - log.info("鐖堕」鐩甶d涓�: "+dto.getParentProId()); - log.info("鎶樻墸涓�: "+new BigDecimal(dto.getDiscount())); - if(null !=list && !list.isEmpty()){ - BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()); + log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: " + dto.getCusIdCard()); + log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId()); + log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount())); + if (null != list && !list.isEmpty()) { + for (TbTransition transition : list) { BigDecimal ordPrice = transition.getOrdPrice(); BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); - log.info("鍚庣璁$畻鐨勯噾棰�: "+multiply); + log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString()); transition.setNowPrice(multiply); transition.setDiscount(new BigDecimal(dto.getDiscount())); transitionService.updateById(transition); } - if(null !=dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO)>=0){ - List<TbTransition> transitionList = list.stream().filter(a -> - transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); - if(!transitionList.isEmpty()){ - TbTransition tbTransition = transitionList.get(0); - tbTransition.setNowPrice(dxzj); - transitionService.updateById(tbTransition); + + BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()); + + BigDecimal yhj = dto.getYhj(); + log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString()); + BigDecimal cj = yhj.subtract(dxzj); + log.info("璁$畻鐨勫樊浠凤細{}",cj.toString()); + for (TbTransition transition : list) { + BigDecimal result = transition.getNowPrice().add(cj); + log.info("琛ヤ笂宸环鍓嶇殑浠锋牸涓猴細{}",transition.getNowPrice().toString()); + if (result.compareTo(BigDecimal.ZERO)>0 && !flag && cj.compareTo(BigDecimal.ZERO) != 0){ + transition.setNowPrice(result); + transitionService.updateById(transition); + log.info("淇敼 琛ヤ笂宸环鍚庣殑浠锋牸涓猴細{}",result.toString()); + flag = true; + break; } } } @@ -3844,5 +4106,37 @@ } + + @PostMapping("/huifuyuyuejilu") + @ApiOperation(value = "浣撴璁板綍椤甸潰鎭㈠棰勭害璁板綍鎺ュ彛") + @Transactional + public AjaxResult huifuyuyuejilu(@RequestBody List<String> tjNUms) { + + if (null != tjNUms && !tjNUms.isEmpty()) { + for (String tjNUm : tjNUms) { + TjOrder order = tjOrderService.getOrderByTjNum(tjNUm); + if(null !=order && StringUtil.isNotBlank(order.getReservationId())){ + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� + 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()); + + TjReservation reservation = tjReservationService.getById(order.getReservationId()); + if(null !=reservation){ + reservation.setIsExpire(2); + tjReservationService.updateById(reservation); + transitionService.updateTbTransitionByTjNum(tjNUm); + } + + } + } + + return AjaxResult.success(); + } + return AjaxResult.error(); + } } -- Gitblit v1.8.0