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