优化
This commit is contained in:
@@ -61,6 +61,17 @@ public class LoadingRepository {
|
||||
.eq(LoadingEvidenceEntity::getSealNo, sealNo));
|
||||
}
|
||||
|
||||
public LoadingEvidenceEntity findActiveEvidenceByFile(long tenantId, long inboundId,
|
||||
String evidenceType, long fileId) {
|
||||
return evidences.selectOne(new LambdaQueryWrapper<LoadingEvidenceEntity>()
|
||||
.eq(LoadingEvidenceEntity::getTenantId, tenantId)
|
||||
.eq(LoadingEvidenceEntity::getInboundId, inboundId)
|
||||
.eq(LoadingEvidenceEntity::getEvidenceType, evidenceType)
|
||||
.eq(LoadingEvidenceEntity::getFileId, fileId)
|
||||
.eq(LoadingEvidenceEntity::getStatus, "ACTIVE")
|
||||
.last("LIMIT 1"));
|
||||
}
|
||||
|
||||
public void createEvidence(LoadingEvidenceEntity entity) { evidences.insert(entity); }
|
||||
|
||||
public int voidEvidence(long tenantId, long inboundId, long evidenceId, String reason,
|
||||
|
||||
+13
@@ -34,6 +34,7 @@ import java.security.MessageDigest;
|
||||
import java.util.HexFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -74,6 +75,18 @@ public class LoadingDeliveryService {
|
||||
throw new BizException(ResultCode.CONFLICT, "锁码已用于其他装柜任务");
|
||||
}
|
||||
}
|
||||
LoadingEvidenceEntity existingFile = repository.findActiveEvidenceByFile(
|
||||
tenantId, inboundId, request.evidenceType(), request.fileId());
|
||||
if (existingFile != null) {
|
||||
String requestedSealNo = LoadingEvidenceType.SEAL.equals(request.evidenceType())
|
||||
? request.sealNo().trim() : null;
|
||||
if (!Objects.equals(existingFile.getSealNo(), requestedSealNo)) {
|
||||
throw new BizException(ResultCode.CONFLICT, "该带锁码照已绑定其他锁码,请先作废后重新拍摄");
|
||||
}
|
||||
LoadingActionResponse result = new LoadingActionResponse(
|
||||
requireInbound(tenantId, inboundId).processStatus(), evidenceResponse(tenantId, inboundId));
|
||||
return complete(tenantId, inboundId, operatorId, UPSERT_EVIDENCE, key, result);
|
||||
}
|
||||
var file = validateFile(tenantId, inboundId, request.fileId(), request.evidenceType());
|
||||
String fileName = file.fileName();
|
||||
String sealNo = LoadingEvidenceType.SEAL.equals(request.evidenceType()) ? request.sealNo().trim() : null;
|
||||
|
||||
Reference in New Issue
Block a user