From c16ca04b474d445cde54332045db19458863709e Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 26 八月 2024 19:42:11 +0800
Subject: [PATCH] 设备增加厂商类型
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 68 ++++++++++++++++++++++++----------
1 files changed, 48 insertions(+), 20 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 7b5fac5..a668898 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
@@ -37,7 +37,10 @@
import com.ycl.utils.http.HttpUtils;
import com.ycl.utils.redis.RedisCache;
import com.ycl.utils.uuid.IdUtils;
-import enumeration.general.*;
+import enumeration.general.NotifyTypeEnum;
+import enumeration.general.UrgentLevelEnum;
+import enumeration.general.WorkOrderDistributeWayEnum;
+import enumeration.general.WorkOrderStatusEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
@@ -118,6 +121,12 @@
List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48);
Integer updateNum = 0;
Date now = new Date();
+ // 鍥犳晠闅滅被鍨嬩笉涓�鑷磋�岃鏇存柊鐘舵�佺殑宸ュ崟
+ List<WorkOrder> willUpdateStatusWorkOrderList = new ArrayList<>(48);
+ // 鏇存敼宸ュ崟绫诲瀷鑰岃澧炲姞鐨勭郴缁熻繍缁村鐞嗕俊鎭�
+ List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48);
+ // 鍗冲皢瑕佹坊鍔犵殑閿欒绫诲瀷
+ List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96);
for (WorkOrder workOrder : workOrderList) {
WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
if (Objects.nonNull(databaseWorkOrder)) {
@@ -135,20 +144,21 @@
workOrderErrorType.setCreateTime(now);
workOrderErrorType.setUpdateTime(now);
workOrderErrorType.setErrorName(errorType);
- workOrderErrorTypeService.save(workOrderErrorType);
+ willAddErrorType.add(workOrderErrorType);
}
}
databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
databaseWorkOrder.setUpdateTime(now);
- baseMapper.updateById(databaseWorkOrder);
+ willUpdateStatusWorkOrderList.add(databaseWorkOrder);
updateNum++;
// 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣
WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord();
- ywRecord.setWorkOrderId(databaseWorkOrder.getId());
+ ywRecord.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo());
ywRecord.setCommitUser(1);
ywRecord.setYwCondition("鏁呴殰绫诲瀷鏇存柊锛屽伐鍗曠姸鎬佽皟鏁翠负寰呭鐞�");
ywRecord.setCreateTime(new Date());
- workOrderYwConditionRecordMapper.insert(ywRecord);
+ ywRecord.setSysMsg(Boolean.TRUE);
+ willAddMsg.add(ywRecord);
}
} else {
workOrder.setCreateTime(new Date());
@@ -160,6 +170,15 @@
// }
waitAddList.add(workOrder);
}
+ }
+ if (willAddErrorType.size() > 0) {
+ workOrderErrorTypeService.getBaseMapper().addMany(willAddErrorType);
+ }
+ if (willAddMsg.size() > 0) {
+ workOrderYwConditionRecordMapper.insertMany(willAddMsg);
+ }
+ if (willUpdateStatusWorkOrderList.size() > 0) {
+ this.baseMapper.updateMany(willUpdateStatusWorkOrderList);
}
if (CollectionUtils.isEmpty(waitAddList)) {
return Boolean.TRUE;
@@ -211,7 +230,9 @@
}
// 濡傛灉鏄洿鎺ヤ笅鍙戯紝娣诲姞涓嬪彂璁板綍
if (WorkOrderStatusEnum.DISTRIBUTED.equals(waitAddList.get(0).getStatus())) {
+ ArrayList<String> list = new ArrayList<>();
List<WorkOrderDistributeRecord> distributedRecordList = waitAddList.stream().map(item -> {
+ list.add(item.getSerialNumber());
WorkOrderDistributeRecord workOrderDistributeRecord = new WorkOrderDistributeRecord();
workOrderDistributeRecord.setWorkOrderNo(item.getWorkOrderNo());
workOrderDistributeRecord.setDistributeWay(WorkOrderDistributeWayEnum.DIRECT_DISTRIBUTE);
@@ -221,6 +242,8 @@
return workOrderDistributeRecord;
}).collect(Collectors.toList());
workOrderDistributeRecordMapper.insertBatch(distributedRecordList);
+ // 鍚屾鐐逛綅鐘舵��
+ ywPointService.updateRecovery(list, 1);
}
log.info("浼犲叆宸ュ崟鎬绘暟: {}锛屽疄闄呮坊鍔犲伐鍗曟暟锛歿}, 瀹為檯淇敼宸ュ崟鏁帮細{}", total, waitAddList.size(), updateNum);
return Boolean.TRUE;
@@ -278,7 +301,7 @@
baseMapper.updateById(workOrder);
// 娣诲姞涓�鏉″鏍歌褰�
WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
- workOrderAuditingRecord.setWorkOrderId(workOrder.getId());
+ workOrderAuditingRecord.setWorkOrderNo(workOrder.getWorkOrderNo());
workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc());
workOrderAuditingRecord.setRemark(form.getAuditingRemark());
@@ -292,7 +315,7 @@
notifyService.save(notify);
// 鍚屾鐐逛綅鐘舵��
if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
- ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0);
+ ywPointService.updateRecovery(Collections.singletonList(workOrder.getSerialNumber()), 0);
}
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -304,22 +327,23 @@
List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
.in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
.in(WorkOrder::getErrorType, form.getErrorTypes())
- .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo)
+ .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo, WorkOrder::getSerialNumber)
.list();
if (list.isEmpty()) {
return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳");
}
- List<Integer> ids = list.stream().map(WorkOrder::getId).collect(Collectors.toList());
+ List<String> workOrderNoList = list.stream().map(WorkOrder::getWorkOrderNo).collect(Collectors.toList());
+ List<String> serialNumbers = list.stream().map(WorkOrder::getSerialNumber).toList();
// 宸ュ崟鐘舵��
LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
- lambdaUpdateWrapper.in(WorkOrder::getId, ids);
+ lambdaUpdateWrapper.in(WorkOrder::getWorkOrderNo, workOrderNoList);
lambdaUpdateWrapper.set(WorkOrder::getStatus, form.getAuditingResult());
baseMapper.update(lambdaUpdateWrapper);
// 娣诲姞澶氭潯瀹℃牳璁板綍
List<WorkOrderAuditingRecord> workOrderAuditingRecords = new ArrayList<>();
- for (Integer id : ids) {
+ for (String workOrderNo : workOrderNoList) {
WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
- workOrderAuditingRecord.setWorkOrderId(id);
+ workOrderAuditingRecord.setWorkOrderNo(workOrderNo);
workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc());
workOrderAuditingRecord.setRemark(form.getAuditingRemark());
@@ -335,6 +359,10 @@
UrgentLevelEnum.WARNING,
workOrder.getWorkOrderNo());
notifies.add(notify);
+ }
+ // 鍚屾鐐逛綅鐘舵��
+ if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
+ ywPointService.updateRecovery(serialNumbers, 0);
}
notifyService.saveBatch(notifies);
return Result.ok("鎿嶄綔鎴愬姛");
@@ -353,7 +381,7 @@
baseMapper.updateById(workOrder);
// 娣诲姞涓�鏉¤繍缁存儏鍐佃褰�
WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
- workOrderYwConditionRecord.setWorkOrderId(workOrder.getId());
+ workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo());
workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
@@ -363,8 +391,8 @@
}
@Override
- public Result selectYwConditionByYwId(Integer id) {
- List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id);
+ public Result selectYwConditionByYwId(String workOrderNo) {
+ List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(workOrderNo);
ywConditionList.stream().forEach(item -> {
if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) {
item.setCommitUserName("绯荤粺娑堟伅");
@@ -374,10 +402,10 @@
}
@Override
- public Result selectYwAuditingListByYwId(String id) {
+ public Result selectYwAuditingListByYwId(String workOrderNo) {
return Result.ok().data(
new LambdaQueryChainWrapper<>(workOrderAuditingRecordMapper)
- .eq(WorkOrderAuditingRecord::getWorkOrderId, id)
+ .eq(WorkOrderAuditingRecord::getWorkOrderNo, workOrderNo)
.orderByAsc(WorkOrderAuditingRecord::getCreateTime)
.list());
}
@@ -467,7 +495,7 @@
// 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗�
List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
- .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber)
+ .select(WorkOrder::getSerialNumber, WorkOrder::getWorkOrderNo)
.eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
.eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId())
.eq(WorkOrder::getErrorType, data.getErrorType())
@@ -506,7 +534,7 @@
query.setWorkOrderNOList(new LambdaQueryChainWrapper<>(baseMapper)
.eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
.eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId())
- .select(WorkOrder::getId)
+ .select(WorkOrder::getWorkOrderNo)
.list()
.stream()
.map(WorkOrder::getWorkOrderNo)
@@ -520,7 +548,7 @@
.update();
addDistributeRecord(query.getWorkOrderNOList(), distributeWayEnum);
// 鍚屾鐐逛綅鐘舵��
- List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList();
+ List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getWorkOrderNo, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList();
ywPointService.updateRecovery(serialNumberList, 1);
return Result.ok("鎴愬姛涓嬪彂" + query.getWorkOrderNOList().size() + "鏉″伐鍗�");
} catch (Exception e) {
--
Gitblit v1.8.0