From 14f1953b1944b3e53d8312e151902c4695faa2e1 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 01 四月 2024 22:51:45 +0800
Subject: [PATCH] trace模块修复
---
smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java | 163 +++++++++++++++++++++--------------------------------
1 files changed, 65 insertions(+), 98 deletions(-)
diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java
index 10b4c4a..eddf106 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java
@@ -1,13 +1,5 @@
package com.qianwen.smartman.modules.trace.service.impl;
-import cn.hutool.core.date.DateTime;
-import com.alibaba.excel.write.merge.AbstractMergeStrategy;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import java.lang.invoke.SerializedLambda;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -21,11 +13,14 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
-import com.qianwen.smartman.common.constant.CommonConstant;
-import com.qianwen.smartman.common.constant.DateConstant;
-import com.qianwen.smartman.common.constant.ExcelConstant;
-import com.qianwen.smartman.common.constant.TraceConstant;
-import com.qianwen.smartman.common.utils.MessageUtils;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.alibaba.excel.write.merge.AbstractMergeStrategy;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.qianwen.core.excel.util.ExcelUtil;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
@@ -34,6 +29,11 @@
import com.qianwen.core.oss.model.BladeFile;
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.core.tool.utils.Func;
+import com.qianwen.smartman.common.constant.CommonConstant;
+import com.qianwen.smartman.common.constant.DateConstant;
+import com.qianwen.smartman.common.constant.ExcelConstant;
+import com.qianwen.smartman.common.constant.TraceConstant;
+import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.smartman.modules.cps.enums.WorkTypeEnum;
import com.qianwen.smartman.modules.cps.vo.ConfigVO;
import com.qianwen.smartman.modules.mdc.enums.ProcessParamEnum;
@@ -64,8 +64,8 @@
import com.qianwen.smartman.modules.trace.vo.TraceFlowRecordVO;
import com.qianwen.smartman.modules.trace.vo.WorkpieceTraceSearchVO;
import com.qianwen.smartman.modules.trace.vo.WorkpieceTraceVO;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
+
+import cn.hutool.core.date.DateTime;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/trace/service/impl/TraceFlowRecordServiceImpl.class */
@@ -76,70 +76,6 @@
private final TraceCatalogMapper traceCatalogMapper;
private final OssBuilder ossBuilder;
private final ConfigVO configVO;
-
- private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
- String implMethodName = lambda.getImplMethodName();
- boolean z = true;
- switch (implMethodName.hashCode()) {
- case -557259320:
- if (implMethodName.equals("getWorkstationId")) {
- z = false;
- break;
- }
- break;
- case -75622813:
- if (implMethodName.equals("getCode")) {
- z = true;
- break;
- }
- break;
- case 700604426:
- if (implMethodName.equals("getPartNo")) {
- z = true;
- break;
- }
- break;
- }
- switch (z) {
- case false:
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceFlowRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
- return (v0) -> {
- return v0.getWorkstationId();
- };
- }
- break;
- case true:
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceFlowRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
- return (v0) -> {
- return v0.getPartNo();
- };
- }
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceCatalog") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
- return (v0) -> {
- return v0.getPartNo();
- };
- }
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceCatalog") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
- return (v0) -> {
- return v0.getPartNo();
- };
- }
- break;
- case true:
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceFlowSettings") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
- return (v0) -> {
- return v0.getCode();
- };
- }
- if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/trace/entity/TraceFlowSettings") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
- return (v0) -> {
- return v0.getCode();
- };
- }
- break;
- }
- throw new IllegalArgumentException("Invalid lambda deserialization");
- }
public TraceFlowRecordServiceImpl(final ITraceFlowSettingsService flowSettingsService, final IProcessParameterService processParameterService, final ITraceCatalogService traceCatalogService, final TraceCatalogMapper traceCatalogMapper, final OssBuilder ossBuilder, final ConfigVO configVO) {
this.flowSettingsService = flowSettingsService;
@@ -152,14 +88,17 @@
@Override // org.springblade.modules.trace.service.ITraceFlowRecordService
public List<TraceFlowRecordVO> getTraceFlowRecord(String partNo, String workstationId) {
- Map<String, TraceFlowSettings> settingsMap = (Map) this.flowSettingsService.list().stream().collect(Collectors.toMap((v0) -> {
+ Map<String, TraceFlowSettings> settingsMap = this.flowSettingsService.list().stream().collect(Collectors.toMap((v0) -> {
return v0.getCode();
}, Function.identity()));
+ List<TraceFlowRecord> list = list(Wrappers.<TraceFlowRecord>lambdaQuery().eq(TraceFlowRecord::getPartNo, partNo)
+ .eq(Func.isNotBlank(workstationId), TraceFlowRecord::getWorkstationId, workstationId));
+ /*
List<TraceFlowRecord> list = list(((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> {
return v0.getPartNo();
}, partNo)).eq(Func.isNotBlank(workstationId), (v0) -> {
return v0.getWorkstationId();
- }, workstationId));
+ }, workstationId));*/
if (Func.isNotEmpty(list)) {
List<TraceFlowRecordVO> convert = TraceFlowRecordConvert.INSTANCE.convert(list);
convert.forEach(s -> {
@@ -173,7 +112,7 @@
}
}
});
- return (List) convert.stream().sorted(Comparator.comparing((v0) -> {
+ return convert.stream().sorted(Comparator.comparing((v0) -> {
return v0.getEntryTime();
})).collect(Collectors.toList());
}
@@ -183,9 +122,12 @@
@Override // org.springblade.modules.trace.service.ITraceFlowRecordService
public TraceCatalogAndFlowRecordVO getTraceCatalogAndFlowRecord(String partNo, String workstationId) {
TraceCatalogAndFlowRecordVO traceCatalogAndFlowRecordVO = null;
+
+ TraceCatalog one = this.traceCatalogService.getOne(Wrappers.<TraceCatalog>lambdaQuery().eq(TraceCatalog::getPartNo, partNo));
+ /*
TraceCatalog one = (TraceCatalog) this.traceCatalogService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
return v0.getPartNo();
- }, partNo));
+ }, partNo));*/
if (one != null) {
traceCatalogAndFlowRecordVO = new TraceCatalogAndFlowRecordVO();
traceCatalogAndFlowRecordVO.setPartNo(partNo).setIsReworkPart(one.getIsReworkPart()).setQualified(one.getQualified()).setBatchNumber(one.getBatchNumber()).setOnlineTime(one.getOnlineTime()).setOfflineTime(one.getOfflineTime()).setShiftIndex(one.getShiftIndex()).setShiftIndexName(one.getShiftIndexName()).setFlowRecordVOS(getTraceFlowRecord(partNo, null));
@@ -197,13 +139,16 @@
public OtherWorkstationVO getOtherProcessParameter(String partNo, String id) {
TraceFlowSettings traceFlowSettings;
OtherWorkstationVO otherWorkstationVO = null;
+ TraceCatalog traceCatalog = this.traceCatalogService.getOne(Wrappers.<TraceCatalog>lambdaQuery().eq(TraceCatalog::getPartNo, partNo));
+ /*
TraceCatalog traceCatalog = (TraceCatalog) this.traceCatalogService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
return v0.getPartNo();
- }, partNo));
+ }, partNo));*/
TraceFlowRecord traceFlowRecord = (TraceFlowRecord) getById(id);
- if (traceCatalog != null && traceFlowRecord != null && (traceFlowSettings = (TraceFlowSettings) this.flowSettingsService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
- return v0.getCode();
- }, traceFlowRecord.getFlowCode()))) != null) {
+
+ traceFlowSettings = this.flowSettingsService.getOne(Wrappers.<TraceFlowSettings>lambdaQuery().eq(TraceFlowSettings::getCode, traceFlowRecord.getFlowCode()));
+
+ if (traceCatalog != null && traceFlowRecord != null && traceFlowSettings != null) {
otherWorkstationVO = new OtherWorkstationVO();
otherWorkstationVO.setFlowTag(traceFlowRecord.getFlowTag()).setEntryTime(traceFlowRecord.getEntryTime()).setLeftTime(traceFlowRecord.getLeftTime()).setBatchNumber(traceCatalog.getBatchNumber()).setStationType(traceFlowSettings.getStationType());
}
@@ -214,9 +159,12 @@
public ProParamSheetVO getProcessParameter(String id, Integer shiftIndex) {
TraceFlowRecord traceFlowRecord = (TraceFlowRecord) getById(id);
if (traceFlowRecord != null) {
+ TraceFlowSettings traceFlowSettings = this.flowSettingsService.getOne(Wrappers.<TraceFlowSettings>lambdaQuery()
+ .eq(TraceFlowSettings::getCode, traceFlowRecord.getFlowCode()));
+ /*
TraceFlowSettings traceFlowSettings = (TraceFlowSettings) this.flowSettingsService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
return v0.getCode();
- }, traceFlowRecord.getFlowCode()));
+ }, traceFlowRecord.getFlowCode()));*/
if (traceFlowSettings != null) {
ProcessParameterSearchVO processParameterSearchVO = new ProcessParameterSearchVO();
processParameterSearchVO.setMethodEnum(ProcessParamEnum.HOUR);
@@ -243,13 +191,18 @@
}
List<TraceCatalogFlowRecordExportVO> exportData = ((TraceFlowRecordMapper) this.baseMapper).getExportData(traceCatalogSearchVO);
if (Func.isNotEmpty(exportData)) {
+ List<TraceCatalogFlowRecordExportVO> exportData2 = exportData.stream()
+ .sorted(Comparator.comparing(TraceCatalogFlowRecordExportVO::getOnlineTime, Comparator.reverseOrder())
+ .thenComparing(TraceCatalogFlowRecordExportVO::getFlowSeq, Comparator.nullsLast(Long::compareTo)))
+ .collect(Collectors.toList());
+ /*
List<TraceCatalogFlowRecordExportVO> exportData2 = (List) exportData.stream().sorted(Comparator.comparing((v0) -> {
return v0.getOnlineTime();
}, Comparator.reverseOrder()).thenComparing((v0) -> {
return v0.getFlowSeq();
}, Comparator.nullsLast((v0, v1) -> {
return v0.compareTo(v1);
- }))).collect(Collectors.toList());
+ }))).collect(Collectors.toList());*/
exportData2.forEach(s -> {
s.setQualifiedDesc(TraceQualifiedEnum.findDescByValue(s.getQualified()));
s.setIsReworkPartDesc(TraceIsReworkEnum.findDescByValue(s.getIsReworkPart()));
@@ -258,14 +211,14 @@
});
return exportData2;
}
- return new ArrayList();
+ return new ArrayList<>();
}
@Override // org.springblade.modules.trace.service.ITraceFlowRecordService
public IPage<WorkpieceTraceVO> workpieceTracePage(WorkpieceTraceSearchVO vo, Query query) {
IPage<WorkpieceTraceVO> relatedTracePages = ((TraceFlowRecordMapper) this.baseMapper).getNgTraceFlowRecord(Condition.getPage(query), vo);
if (Func.isNotEmpty(relatedTracePages.getRecords())) {
- List<Long> relatedRecordIds = (List) relatedTracePages.getRecords().stream().map((v0) -> {
+ List<Long> relatedRecordIds = relatedTracePages.getRecords().stream().map((v0) -> {
return v0.getRecordId();
}).collect(Collectors.toList());
relatedTracePages.setRecords(((TraceFlowRecordMapper) this.baseMapper).getNgFullTraceFlowRecord(relatedRecordIds));
@@ -283,23 +236,28 @@
Object endTime = getEndTime(vo.getEndTime());
List<WorkpieceTraceDTO> dto = ((TraceFlowRecordMapper) this.baseMapper).exportNgTraceRecord(vo);
List<WorkpieceTraceDTO> resultList = new ArrayList<>(1000);
- ((Map) dto.parallelStream().collect(Collectors.groupingBy(a -> {
+ (dto.parallelStream().collect(Collectors.groupingBy(a -> {
return a.getPartNo() + "_" + a.getWorkstationCode() + "_" + a.getWorkbenchName();
- }, Collectors.toList()))).forEach(key, transfer -> {
- Optional reduce = transfer.stream().reduce(a2, b -> {
+ }, Collectors.toList()))).forEach((key, transfer) -> {
+ Optional<WorkpieceTraceDTO> reduce = transfer.stream().reduce((a2, b) -> {
return new WorkpieceTraceDTO(a2.getBatchNumber(), a2.getPartNo(), a2.getOnlineTime(), a2.getOfflineTime(), a2.getWorkstationCode(), a2.getWorkstationName(), a2.getWorkbenchName(), a2.getShiftIndexName(), a2.getTraceStatus(), a2.getReasonCode() + "," + b.getReasonCode());
});
- resultList.getClass();
+ //resultList.getClass();
reduce.ifPresent((v1) -> {
- r1.add(v1);
+ resultList.add(v1);
+ //r1.add(v1);
});
- });
+ }//end of foreach
+ );
AtomicReference<Integer> sort = new AtomicReference<>(1);
+ List<WorkpieceTraceExport> collect = resultList.stream().map(c -> convert(c, sort)).sorted(Comparator.comparing(WorkpieceTraceExport::getOnlineTime).reversed()).collect(Collectors.toList());
+ /*
List<WorkpieceTraceExport> collect = (List) resultList.stream().map(c -> {
return convert(c, sort);
}).sorted(Comparator.comparing((v0) -> {
return v0.getOnlineTime();
}).reversed()).collect(Collectors.toList());
+ */
Map<String, Object> timeMap = new HashMap<>(2);
timeMap.put("startTime", startTime);
timeMap.put("endTime", endTime);
@@ -317,13 +275,22 @@
private Wrapper<WorkpieceTraceSearchVO> getWrapper(WorkpieceTraceSearchVO vo, String startTime, String endTime) {
boolean isOracle = CommonConstant.ORACLE.equals(this.configVO.getType());
+
+ return Wrappers.<WorkpieceTraceSearchVO>query().in(Func.isNotEmpty(vo.getGroupIds()), "btc.workstation_group_id", vo.getGroupIds()).eq(Func.isNotEmpty(vo.getWorkstationId()), "btfr.workstation_id", vo.getWorkstationId()).nested(i -> {
+ i.ge("btc.online_time", isOracle ? DateUtil.parse(startTime, DateConstant.PATTERN_DATE_TIME) : startTime).le("btc.online_time", isOracle ? DateUtil.parse(endTime, DateConstant.PATTERN_DATE_TIME) : endTime);
+ }).nested(i2 -> {
+ i2.ge("btc.offline_time", isOracle ? DateUtil.parse(startTime, DateConstant.PATTERN_DATE_TIME) : startTime).le("btc.offline_time", isOracle ? DateUtil.parse(endTime, DateConstant.PATTERN_DATE_TIME) : endTime);
+ }).and(Func.isNotEmpty(vo.getKeyword()), i3 -> {
+ i3.likeRight("btfr.part_no", vo.getKeyword()).or().likeRight("btc.batch_number", vo.getKeyword()).or().likeRight("btfr.workstation_code", vo.getKeyword()).or().likeRight("btfr.workstation_name", vo.getKeyword()).or().likeRight("btfr.workbench_name", vo.getKeyword());
+ });
+ /*
return ((QueryWrapper) ((QueryWrapper) Wrappers.query().in(Func.isNotEmpty(vo.getGroupIds()), "btc.workstation_group_id", vo.getGroupIds()).eq(Func.isNotEmpty(vo.getWorkstationId()), "btfr.workstation_id", vo.getWorkstationId()).nested(i -> {
QueryWrapper queryWrapper = (QueryWrapper) ((QueryWrapper) i.ge("btc.online_time", isOracle ? DateUtil.parse(startTime, DateConstant.PATTERN_DATE_TIME) : startTime)).le("btc.online_time", isOracle ? DateUtil.parse(endTime, DateConstant.PATTERN_DATE_TIME) : endTime);
})).nested(i2 -> {
QueryWrapper queryWrapper = (QueryWrapper) ((QueryWrapper) i2.ge("btc.offline_time", isOracle ? DateUtil.parse(startTime, DateConstant.PATTERN_DATE_TIME) : startTime)).le("btc.offline_time", isOracle ? DateUtil.parse(endTime, DateConstant.PATTERN_DATE_TIME) : endTime);
})).and(Func.isNotEmpty(vo.getKeyword()), i3 -> {
QueryWrapper queryWrapper = (QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) ((QueryWrapper) i3.likeRight("btfr.part_no", vo.getKeyword())).or()).likeRight("btc.batch_number", vo.getKeyword())).or()).likeRight("btfr.workstation_code", vo.getKeyword())).or()).likeRight("btfr.workstation_name", vo.getKeyword())).or()).likeRight("btfr.workbench_name", vo.getKeyword());
- });
+ });*/
}
private String getStartTime(Date startTime) {
--
Gitblit v1.9.3