From e0897449eabdeddcadee9104ca15f1c829354ee3 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 02 九月 2024 15:26:34 +0800
Subject: [PATCH] 工单号生成策略修改
---
ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 6 +++---
ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java | 2 +-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 4 ++--
ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java | 6 ++++--
ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java | 8 ++++----
5 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
index 7d64e05..000be1e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
@@ -48,7 +48,7 @@
throw new RuntimeException("鍒楀悕绉颁笉鑳介噸澶�");
}
DynamicColumn entity = DynamicColumnForm.getEntityByForm(form, null);
- entity.setPropName(IdUtils.randomNO());
+ entity.setPropName(IdUtils.randomNO(new Date()));
entity.setCreateTime(new Date());
entity.setTableName(TABLE_NAME);
baseMapper.insert(entity);
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
index dfe6ed7..99893fb 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -88,10 +88,10 @@
Report entity = ReportForm.getEntityByForm(form, null);
entity.setSerialNumber(point.getSerialNumber());
entity.setStatus(0);
- entity.setIdentify(IdUtils.randomNO());
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
+ entity.setIdentify(IdUtils.randomNO(now));
baseMapper.insert(entity);
List<ReportErrorType> errorTypeList = form.getErrorTypeList().stream().map(item -> {
ReportErrorType reportErrorType = new ReportErrorType();
@@ -125,8 +125,9 @@
// 璇诲彇excel鏁版嵁
ExcelUtil<ReportImportDTO> excelUtil = new ExcelUtil<>(ReportImportDTO.class);
List<ReportImportDTO> list = excelUtil.importExcel(form.getImportPointId().getInputStream());
+ Date now = DateUtils.getNowDate();
// 鎵归噺鎻掑叆
- String pid = IdUtils.randomNO();
+ String pid = IdUtils.randomNO(now);
Integer success = 0;
for (ReportImportDTO item : list) {
if ("浜嬪墠鎶ュ".equals(form.getReportType())) {
@@ -146,8 +147,7 @@
entity.setImportBatchNumber(pid);
entity.setSerialNumber(item.getSerialNumber());
entity.setStatus(0);
- entity.setIdentify(IdUtils.randomNO());
- Date now = DateUtils.getNowDate();
+ entity.setIdentify(IdUtils.randomNO(now));
entity.setCreateTime(now);
entity.setUpdateTime(now);
baseMapper.insert(entity);
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
index ba79174..332a429 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
@@ -8,12 +8,14 @@
import constant.ApiConstants;
import enumeration.ErrorType;
import enumeration.general.WorkOrderStatusEnum;
+import lombok.Data;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -131,6 +133,7 @@
@Override
public void osdCheck(List<OsdCheckResult> dataList) {
+ Date now = new Date();
List<WorkOrder> workOrderList = dataList.stream().map(item -> {
WorkOrder workOrder = new WorkOrder();
// osd鏃堕棿
@@ -158,9 +161,6 @@
* @param serialNumber 鍥芥爣鐮�
*/
private void genWorkOrder(WorkOrder workOrder, ErrorType errorType, String serialNumber) {
- if (! StringUtils.hasText(workOrder.getWorkOrderNo())) {
- workOrder.setWorkOrderNo(IdUtils.randomNO());
- }
if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
workOrder.setErrorTypeList(new ArrayList<>());
workOrder.getErrorTypeList().add(errorType.getValue());
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 a81ca14..8b4cfe0 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
@@ -211,7 +211,7 @@
notAddList.add(workOrder);
continue;
}
- workOrder.setWorkOrderNo(IdUtils.randomNO());
+ workOrder.setWorkOrderNo(IdUtils.randomNO(now));
if (Objects.nonNull(point.getUnitId())) {
workOrder.setUnitId(Math.toIntExact(point.getUnitId()));
}
@@ -268,12 +268,12 @@
@Override
public Result add(WorkOrderForm form) {
WorkOrder entity = WorkOrderForm.getEntityByForm(form, null);
- entity.setWorkOrderNo(IdUtils.randomNO());
entity.setCreateTime(DateUtils.getNowDate());
entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE);
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
+ entity.setWorkOrderNo(IdUtils.randomNO(now));
entity.setErrorType(String.join(",", form.getErrorType()));
List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList();
workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes);
diff --git a/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java b/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
index 40a6840..29c88bf 100644
--- a/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
@@ -1,6 +1,7 @@
package com.ycl.utils.uuid;
import java.text.SimpleDateFormat;
+import java.util.Date;
/**
* ID鐢熸垚鍣ㄥ伐鍏风被
@@ -11,6 +12,7 @@
{
private final static SimpleDateFormat FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
+ private final static SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("yyyyMMdd");
/**
* 鑾峰彇闅忔満UUID
@@ -57,8 +59,8 @@
*
* @return 缂栧彿
*/
- public static String randomNO()
+ public static String randomNO(Date now)
{
- return UUID.randomUUID().toString().replaceAll("-","").substring(0, 24);
+ return DAY_FORMAT.format(now) + UUID.randomUUID().toString().replaceAll("-","").substring(0, 18);
}
}
--
Gitblit v1.8.0