From c4df5d2cfaa12a1c8a72ef25934fdc31d5be65a1 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期日, 29 九月 2024 11:21:21 +0800
Subject: [PATCH] 工单导出
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 42 +++++++++++++++++++++++++++++++-----------
1 files changed, 31 insertions(+), 11 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..32536ae 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
@@ -1,5 +1,6 @@
package com.ycl.platform.service.impl;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -55,6 +56,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
+import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -93,7 +95,6 @@
@Override
@Transactional(rollbackFor = Exception.class)
- //TODO锛歊edis鍔犻攣锛屼粠Redis璇诲彇褰撴棩宸ュ崟鏁版嵁閲�
public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) {
int total = workOrderList.size();
workOrderList.stream().filter(item -> {
@@ -199,7 +200,7 @@
// 濡傛灉鍗冲皢鐢熸垚宸ュ崟锛屼絾鏄澶囧浗鏍囩爜鏌ヤ笉鍒扮偣浣嶏紝鍒欎笉娣诲姞锛�
List<WorkOrder> notAddList = new ArrayList<>();
//鏌edis浠婃棩宸ュ崟鏁伴噺
- int workOrderNum = 1;
+ int workOrderNum = 0;
//UUID浣滀负value锛屼繚璇佷笂閿佺殑绾跨▼鑷繁瑙i攣
String requestId = IdUtils.fastSimpleUUID();
try {
@@ -208,7 +209,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 +217,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 +231,8 @@
continue;
}
//鏁板瓧鍓嶉潰琛�0
- workOrder.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum)));
workOrderNum++;
+ workOrder.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", workOrderNum)));
if (Objects.nonNull(point.getUnitId())) {
workOrder.setUnitId(Math.toIntExact(point.getUnitId()));
}
@@ -259,6 +257,7 @@
}
//璁板綍宸ュ崟鏁�
redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
+ redisCache.releaseLock(RedisConstant.WORKORDER_NUM_LOCK, requestId);
// 淇濆瓨宸ュ崟鍜屾晠闅滅被鍨�
baseMapper.addMany(waitAddList);
if (!CollectionUtils.isEmpty(waitAddErrorTypeList)) {
@@ -302,6 +301,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湪娣诲姞锛岃绋嶅悗鍐嶈瘯");
@@ -312,9 +313,7 @@
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
- entity.setWorkOrderNo(IdUtils.randomNO(now, String.format("%05d", workOrderNum)));
- workOrderNum++;
- redisCache.setCacheObject(RedisConstant.WORKORDER_NUM, workOrderNum);
+ entity.setWorkOrderNo(IdUtils.workOrderNO(now, String.format("%05d", 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);
@@ -944,4 +943,25 @@
workOrder.setImgList(imgList);
return Result.ok().data(workOrder);
}
+
+ @Override
+ public List<WorkOrderVO> export(WorkOrderExportQuery query) {
+ query.setUnitId(SecurityUtils.getUnitId());
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ if (query.getStart() == null) {
+ query.setStart(format.format(DateUtils.getDayStart(new Date())));
+ } else {
+ query.setStart(query.getStart() + " 00:00:00");
+ }
+ if (query.getEnd() == null) {
+ query.setStart(format.format(DateUtils.getDayEnd(new Date())));
+ } else {
+ query.setEnd(query.getEnd() + " 23:59:59");
+ }
+
+ List<WorkOrderVO> export = baseMapper.export(query);
+
+ System.out.println(export);
+ return export;
+ }
}
--
Gitblit v1.8.0