From 1ce606a5cd06b859a57eabf8b12c4fb3704168b4 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 06 一月 2025 16:46:16 +0800 Subject: [PATCH] 20250106 --- ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java | 28 ++++++++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 54 ++++++++++++++++---------- 2 files changed, 61 insertions(+), 21 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 6e0d904..fbc2e45 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 @@ -1085,11 +1085,21 @@ @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED) public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) { - //鐢熸垚浣撴鍙� - String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); - tjOrder.setTjNumber(tjNumber); - BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())); + //鑾峰彇鎷兼帴鍓嶇紑 + String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + + //鐢熸垚浣撴鍙� +// String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; + + + String tjNumber = (SecurityUtils.getUsername()+IdUtils.getTjNumber()); + if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; + tjOrder.setTjNumber(tjNumber); + + + BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())); tjOrder.setDiscount(discount.toString()); if (tjOrderService.save(tjOrder)) { //淇濆瓨鏀惰揣鍦板潃 @@ -3481,24 +3491,26 @@ log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}", JSONUtil.toJsonStr(map)); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); log.info("閫�璐圭敵璇� 杩斿洖 -> {}", JSONUtil.toJsonStr(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) { - for (TjFlowingWater water1 : yizhifu) { - String bldh1 = water1.getJxbz(); - remarkService.deleteTjOrderDetailByjxbz(bldh1); - tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh1); - tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh1); - transitionService.deleteTjOrderDetailByjxbz(bldh1); - blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); - tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); + 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) { + for (TjFlowingWater water1 : yizhifu) { + String bldh1 = water1.getJxbz(); + remarkService.deleteTjOrderDetailByjxbz(bldh1); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh1); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh1); + transitionService.deleteTjOrderDetailByjxbz(bldh1); + 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(); + } } } return null; diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java index 1936ff9..f681ca0 100644 --- a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java +++ b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java @@ -6,6 +6,7 @@ import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Random; /** * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 @@ -17,6 +18,8 @@ private static final String LIS_LAST_ID_KEY = "id:generate:lis:id"; private static final String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate"; + +// private static final UidGenerator uidGenerator = new DefaultUidGenerator(); // 浣跨敤榛樿鐨凷nowflake鐢熸垚鍣� @Autowired private StringRedisTemplate stringRedisTemplate; @@ -38,4 +41,29 @@ return String.format(prefix+"%s%05d", yyMMdd, lastId); } + + //鐢熸垚浣撴鍙风敤 + private static long lastTimestamp = -1; + private static final Random random = new Random(); + + public static synchronized String getTjNumber() { + long timestamp = System.currentTimeMillis(); // 鑾峰彇褰撳墠鏃堕棿鎴筹紙姣锛� + + // 濡傛灉鏃堕棿鎴冲拰涓婃鐢熸垚鐨勬椂闂存埑鐩稿悓锛岀敓鎴愪竴涓柊鐨勯殢鏈烘暟 + if (timestamp == lastTimestamp) { + return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); + } else { + lastTimestamp = timestamp; // 鏇存柊鏈�鍚庣敓鎴愭椂闂存埑 + return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100); + } + } + + +// 浣跨敤鍒嗗竷寮廔D鐢熸垚鍣紙濡係nowflake锛� + public static String generateExamNumber() { +// long id = uidGenerator.getUID(); // 鑾峰彇鐢熸垚鐨勫敮涓�ID +// return String.format("%09d", Math.abs(id) % 1000000000); // 鏍煎紡鍖栦负9浣� + return null; + } + } -- Gitblit v1.8.0