From 983d95bdcbb273b4a78efd0058a2a35141be1b51 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 08 四月 2025 18:00:12 +0800 Subject: [PATCH] zjh20250408 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 700 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 473 insertions(+), 227 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..efc09dc 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; @@ -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())); @@ -1037,7 +1045,7 @@ tjOrder.setTjType("2"); } } - if(StringUtil.isBlank(tjOrder.getFirmId())){ + if (StringUtil.isBlank(tjOrder.getFirmId())) { tjOrder.setFirmId("0"); } @@ -1079,13 +1087,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 +1110,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 +1186,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 +1220,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 +1231,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 +1260,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 +1377,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 +1504,7 @@ wrapper.gt(TbTransition::getNowPrice, 0); List<TbTransition> list = tbTransitionService.list(wrapper); + BigDecimal zongjia = new BigDecimal("0.0"); for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -1400,7 +1515,8 @@ 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)); obj.putOpt("danJia", danjia); @@ -1411,8 +1527,10 @@ obj.putOpt("shouFeiXmId", project.getHisXmbm()); obj.putOpt("shouFeiXmMc", project.getHisXmmc()); array.add(obj); + zongjia = zongjia.add(allPrice); } map.put("feiYongInfoList", array); + log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); JSONObject object = JSONUtil.parseObj(post); @@ -1441,6 +1559,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,21 +1631,44 @@ } } - 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) { @@ -1554,6 +1697,7 @@ // } // } // }); + Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override public AjaxResult call() throws Exception { @@ -1562,61 +1706,106 @@ }); 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++) { + // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 鎵撳嵃瀵艰瘖鍗� + if (!tjNumbers.isEmpty()) { + /* Map<String, Object> map = null; 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); + map = PDFDocumentUtil.getDocument(); + Document document = (Document) map.get("document"); +// for (int i = 0; i < tjNumbers.size(); i++) { + int i = 0; + for (String tjNumber : tjNumbers) { + try { + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); + if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){ + 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) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� + TjOrder order = tjOrderService.getOrderByTjNum(tjNumber); + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(tjNumber); + 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(tjNumber); + } + e.printStackTrace(); + } } - 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) { + +// } + 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) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); - } + }*/ + 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.success(); } - 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"); @@ -1750,25 +1939,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 +1962,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 +1983,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.getTjNumber(); + 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 +2064,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 +2127,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 +2248,10 @@ 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 = 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.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); } } @@ -2692,50 +2940,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())); @@ -3217,7 +3421,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"); @@ -3511,7 +3715,7 @@ 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 @@ -3701,7 +3905,7 @@ } } } - if(!list.isEmpty()) { + if (!list.isEmpty()) { int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{})); if (i == 0) { return AjaxResult.error("鎾ゅ洖澶辫触锛�"); @@ -3757,14 +3961,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())); } + } } } @@ -3799,7 +4003,7 @@ // } // } // } - List<TbTransition> list= transitionService.newgetTransitionList(cusId); + List<TbTransition> list = transitionService.newgetTransitionList(cusId); return AjaxResult.success(list); } @@ -3808,33 +4012,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 +4058,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