From d6a429826f922b40e0f09bc1616fc573eb232fd2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 25 九月 2024 14:28:26 +0800
Subject: [PATCH] 工单号生成修改
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index c156006..7fd7d38 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -199,7 +199,7 @@
// 濡傛灉鍗冲皢鐢熸垚宸ュ崟锛屼絾鏄澶囧浗鏍囩爜鏌ヤ笉鍒扮偣浣嶏紝鍒欎笉娣诲姞锛�
List<WorkOrder> notAddList = new ArrayList<>();
//鏌edis浠婃棩宸ュ崟鏁伴噺
- int workOrderNum = 1;
+ int workOrderNum = 0;
//UUID浣滀负value锛屼繚璇佷笂閿佺殑绾跨▼鑷繁瑙i攣
String requestId = IdUtils.fastSimpleUUID();
try {
@@ -208,7 +208,7 @@
if (result) {
//鏌ヤ粖鏃ュ伐鍗曢噺
Object redisNum = redisCache.getCacheObject(RedisConstant.WORKORDER_NUM);
- workOrderNum = redisNum == null ? 1 : (Integer) redisNum;
+ workOrderNum = redisNum == null ? 0 : (Integer) redisNum;
break;
} else {
if (i == 2) {
@@ -216,16 +216,13 @@
return Boolean.FALSE;
}
//绛夊緟涓�娈垫椂闂村悗缁х画
- Thread.sleep(3000);
+ Thread.sleep(5000);
}
}
} catch (InterruptedException e) {
log.error("鑾峰彇閿佸紓甯�");
return Boolean.FALSE;
- } finally {
- redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId);
}
-
for (WorkOrder workOrder : waitAddList) {
YwPoint point = pointMapping.get(workOrder.getSerialNumber());
if (Objects.isNull(point)) {
@@ -233,8 +230,8 @@
continue;
}
//鏁板瓧鍓嶉潰琛�0
- workOrder.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum)));
workOrderNum++;
+ workOrder.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum)));
if (Objects.nonNull(point.getUnitId())) {
workOrder.setUnitId(Math.toIntExact(point.getUnitId()));
}
@@ -259,6 +256,7 @@
}
//璁板綍宸ュ崟鏁�
redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
+ redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId);
// 淇濆瓨宸ュ崟鍜屾晠闅滅被鍨�
baseMapper.addMany(waitAddList);
if (!CollectionUtils.isEmpty(waitAddErrorTypeList)) {
@@ -302,6 +300,8 @@
//鏌ヤ粖鏃ュ伐鍗曢噺
Object redisNum = redisCache.getCacheObject(RedisConstant.WORKORDER_NUM);
workOrderNum = redisNum == null ? 1 : (Integer) redisNum;
+ workOrderNum++;
+ redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId);
} else {
return Result.error("宸ュ崟姝e湪娣诲姞锛岃绋嶅悗鍐嶈瘯");
@@ -313,8 +313,6 @@
entity.setCreateTime(now);
entity.setUpdateTime(now);
entity.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum)));
- workOrderNum++;
- redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
entity.setErrorType(String.join(",", form.getErrorType()));
List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList();
workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes);
--
Gitblit v1.8.0