From b14531e3b850fe6d2fa916ba7b88b3e2bd2ff30a Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 11 九月 2024 16:47:48 +0800
Subject: [PATCH] OSD加标签
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 50 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 767691e..a946f0c 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
@@ -26,6 +26,7 @@
import com.ycl.platform.wvp.WVPResult;
import com.ycl.system.Result;
import com.ycl.system.domain.SysConfig;
+import com.ycl.system.entity.SysDictData;
import com.ycl.system.mapper.SysConfigMapper;
import com.ycl.system.mapper.SysDictDataMapper;
import com.ycl.system.model.LoginUser;
@@ -55,11 +56,6 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
-import javax.imageio.ImageIO;
-import javax.swing.*;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -101,10 +97,10 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) {
+ public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) {
int total = workOrderList.size();
workOrderList.stream().filter(item -> {
- return StringUtils.hasText(item.getSerialNumber()) && Objects.nonNull(item.getStatus()) && StringUtils.hasText(item.getErrorType());
+ return StringUtils.hasText(item.getSerialNumber()) && Objects.nonNull(item.getStatus()) && !CollectionUtils.isEmpty(item.getErrorTypeList());
});
if (CollectionUtils.isEmpty(workOrderList)) {
return Boolean.TRUE;
@@ -211,7 +207,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 +264,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);
@@ -464,6 +460,7 @@
@Override
public Result page(WorkOrderQuery query) {
IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
+ query.setUnitId(SecurityUtils.getUnitId());
baseMapper.page(page, query);
if (! CollectionUtils.isEmpty(page.getRecords())) {
page.getRecords().stream().forEach(item -> {
@@ -743,6 +740,12 @@
@Override
public Result processImg(String workOrderNo) {
+ WorkOrder workOrder = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(WorkOrder::getWorkOrderNo, workOrderNo)
+ .one();
+ if (Objects.isNull(workOrder)) {
+ throw new RuntimeException("姝ゅ伐鍗曚笉瀛樺湪");
+ }
// 杩愮淮璁板綍
List<WorkOrderYwConditionRecordVO> workOrderYwConditionRecordVOS = this.selectYwConditionByYwId(workOrderNo);
// 瀹℃牳璁板綍
@@ -750,6 +753,44 @@
WorkOrderProcessVO process = new WorkOrderProcessVO();
process.setYwList(workOrderYwConditionRecordVOS);
process.setAuditingList(workOrderAuditingRecords);
+ // 鏌ヨ鐐逛綅浜嬪墠浜嬪悗鏈�鏂扮殑涓�鏉℃暟鎹槸鍚﹀鏍搁�氳繃
+ ReportAuditingRecordVO beforeRecord = ywPointService.getReportResult(workOrder.getSerialNumber(), "浜嬪墠鎶ュ");
+ ReportAuditingRecordVO afterRecord = ywPointService.getReportResult(workOrder.getSerialNumber(), "浜嬪悗鎶ュ");
+
+ Date now = new Date();
+ if (Objects.nonNull(beforeRecord)) {
+ if (now.before(beforeRecord.getBeginCreateTime())) {
+ process.setBeforeReportMsg("浜嬪墠鎶ュ宸插け鏁�");
+ } else if (now.after(beforeRecord.getEndCreateTime())){
+ process.setBeforeReportMsg("浜嬪墠鎶ュ鏈敓鏁�");
+ } else {
+ process.setBeforeReportMsg("宸蹭簨鍓嶆姤澶�");
+ }
+ }
+ if (Objects.nonNull(afterRecord)) {
+ if (now.before(afterRecord.getBeginCreateTime())) {
+ process.setAfterReportMsg("浜嬪悗鎶ュ宸插け鏁�");
+ } else if (now.after(afterRecord.getEndCreateTime())){
+ process.setAfterReportMsg("浜嬪悗鎶ュ鏈敓鏁�");
+ } else {
+ process.setAfterReportMsg("宸蹭簨鍚庢姤澶�");
+ }
+ }
return Result.ok().data(process);
}
+
+ @Override
+ public Result detailByNo(String workOrderNo) {
+ WorkOrderDetailVO workOrder = baseMapper.detailByNo(workOrderNo);
+ // 鏄惁鎶ュ
+ boolean hasReport = new LambdaQueryChainWrapper<>(reportMapper)
+ .eq(Report::getSerialNumber, workOrder.getSerialNumber())
+ .exists();
+ workOrder.setHasReport(hasReport);
+ // 鏁呴殰绫诲瀷
+ List<SysDictData> errorList = workOrderErrorTypeService.getBaseMapper().getErrorList(workOrder.getWorkOrderNo());
+ List<String> errList = errorList.stream().map(SysDictData::getDictLabel).collect(Collectors.toList());
+ workOrder.setErrorTypeList(errList);
+ return Result.ok().data(workOrder);
+ }
}
--
Gitblit v1.8.0