From 45333415b7634fc20b03b7e8ae3b7eee91101bda Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 07 十二月 2023 10:48:31 +0800
Subject: [PATCH] 增加筛选条件
---
src/main/java/com/zy/common/model/TaskDto.java | 92 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index c2e8223..494c703 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -1,10 +1,14 @@
package com.zy.common.model;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.service.LocDetlService;
import lombok.Data;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
/**
* Created by vincent on 2022/3/28
@@ -15,6 +19,8 @@
private String locNo;
private Integer staNo;
+
+ private String agvStaNo;
private List<LocDto> locDtos;
@@ -33,6 +39,12 @@
this.locDtos.add(locDto);
}
+ public TaskDto(String locNo, String agvStaNo, LocDto locDto) {
+ this.locNo = locNo;
+ this.agvStaNo = agvStaNo;
+ this.locDtos.add(locDto);
+ }
+
public TaskDto(String locNo, Integer staNo, List<LocDto> locDtos) {
this.locNo = locNo;
this.staNo = staNo;
@@ -44,6 +56,9 @@
return false;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return true;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return true;
}
@@ -56,6 +71,9 @@
return null;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return taskDto;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return taskDto;
}
@@ -63,4 +81,74 @@
return null;
}
+ public boolean isAll(){
+ // 姹囨�讳笉鑰冭檻搴忓垪鐮�
+ List<DetlDto> detlDtos = new ArrayList<>();
+ for (LocDto locDto : this.getLocDtos()) {
+ DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(), locDto.getCsocode(), locDto.getIsoseq(),locDto.getContainerCode());
+ //dto.setContainerCode(locDto.getContainerCode());
+ if (DetlDto.has(detlDtos, dto)) {
+ DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),dto.getContainerCode());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme());
+ } else {
+ detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode()));
+ }
+ }
+
+ // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏
+ LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo));
+ if (locDetls == null || locDetls.isEmpty()){
+ throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo);
+ }
+ int sameNumber = 0;
+ for (LocDetl locDetl : locDetls) {
+ Iterator<DetlDto> iterator = detlDtos.iterator();
+ while (iterator.hasNext()) {
+ DetlDto dto = iterator.next();
+ if (!dto.getMatnr().equals(locDetl.getMatnr())) {
+ continue;
+ }
+ if(!Cools.eq(dto.getBatch(),locDetl.getBatch())){
+ continue;
+ }
+ if(!Cools.eq(dto.getCsocode(),locDetl.getThreeCode())){
+ continue;
+ }
+ if(!Cools.eq(dto.getIsoseq(),locDetl.getDeadTime())){
+ continue;
+ }
+ if(!Cools.eq(dto.getContainerCode(),locDetl.getSuppCode())){
+ continue;
+ }
+// if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
+// continue;
+// }
+// if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) {
+// continue;
+// }
+// if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
+// if (!dto.getBatch().equals(locDetl.getBatch())) {
+// continue;
+// }
+// }
+// if (!Cools.isEmpty(dto.getContainerCode()) && !Cools.isEmpty(locDetl.getSuppCode())) {
+// if (!dto.getContainerCode().equals(locDetl.getSuppCode())) {
+// continue;
+// }
+// }
+ if (dto.getAnfme() > locDetl.getAnfme()) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+ }
+ if (dto.getAnfme().equals(locDetl.getAnfme())) {
+ sameNumber++;
+ iterator.remove();
+ break;
+ }
+ }
+ }
+ return sameNumber == locDetls.size();
+ }
+
}
--
Gitblit v1.9.1