From da8e0338292e8c104f65415e24345e3d583e051e Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期二, 27 六月 2023 16:46:29 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/WrkDetlMapper.xml | 2
src/main/java/com/zy/asrs/utils/Utils.java | 120 ++++++++++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 28 ++++++--
3 files changed, 141 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 428e0ce..fa2ca02 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3908,18 +3908,24 @@
ledCommand.setBarcode(wrkMast.getBarcode());
if (wrkMast.getIoType() != 110) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
- EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
- wrkDetls.forEach(wrkDetl -> {
+ wrkDetls.forEach(wrkDetl -> {
+ Double total = 0.0;
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
+ if (Cools.isEmpty(locDetl)) {
+ total = wrkDetl.getAnfme();
+ } else {
+ total = locDetl.getAnfme();
+ }
if (wrkMast.getIoType() == 101) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),locDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),locDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 107) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),locDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
});
}
@@ -4367,9 +4373,15 @@
continue;
}
- //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
- if (Utils.checkInsideLocIsDFX(one.getLocNo())) {
- //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+// //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+// if (Utils.checkInsideLocIsDFX(one.getLocNo())) {
+// //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+// continue;
+// }
+
+ //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丱
+ if (Utils.checkInsideLocIsDFXO(one.getLocNo())) {
+ //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆丱銆備笉鑳介�夊彇璇ュ簱浣�
continue;
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 7793dd3..9625946 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,5 +1,6 @@
package com.zy.asrs.utils;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
@@ -604,6 +605,27 @@
for (LocMast mast : insideLocMast) {
if (!mast.getLocSts().equals("D")
&& !mast.getLocSts().equals("F")
+ && !mast.getLocSts().equals("X")) {
+ //D銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丱
+ * 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFXO锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FXO
+ */
+ public static boolean checkInsideLocIsDFXO(String locNo) {
+ LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+ List<String> insideLoc = Utils.getGroupInsideLoc(locNo);
+ if (insideLoc.size() > 0) {
+ List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc);
+ for (LocMast mast : insideLocMast) {
+ if (!mast.getLocSts().equals("D")
+ && !mast.getLocSts().equals("F")
&& !mast.getLocSts().equals("X")
&& !mast.getLocSts().equals("O")) {
//D銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
@@ -611,7 +633,105 @@
}
}
}
+ Integer row = selectInSide(Utils.getRow(locNo));
+ if (row==0){
+ return true;
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", row).eq("bay1", Utils.getBay(locNo)).eq("lev1", Utils.getLev(locNo)));
+ if (Cools.isEmpty(locMast)) {
+ if (row==7 && Utils.getBay(locNo)<4){
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 6).eq("bay1", Utils.getBay(locNo)).eq("lev1", Utils.getLev(locNo)));
+ if (Cools.isEmpty(locMast)) {
+ return false;
+ }
+ }else {
+ return false;
+ }
+ }
+ if (!locMast.getLocSts().equals("F") && !locMast.getLocSts().equals("D") ){
+ if (locMast.getLocSts().equals("X")){
+ row = selectInSide2(row);
+ if (row==0){
+ return true;
+ }
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", row).eq("bay1", Utils.getBay(locNo)).eq("lev1", Utils.getLev(locNo)));
+ if (!locMast1.getLocSts().equals("F") && !locMast1.getLocSts().equals("D") ){
+ return true;
+ }
+ } else {
+ return true;
+ }
+ }
+
return false;
}
+ public static Integer selectInSide(Integer row){
+ switch (row){
+ case 1:
+ case 2:
+ case 3:
+ row = 1;
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ row = 7;
+ break;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ row = 8;
+ break;
+ case 12:
+ case 13:
+ case 14:
+ row = 14;
+ break;
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ row = 15;
+ break;
+ case 19:
+ case 20:
+ case 21:
+ row = 21;
+ break;
+ default:
+ row = 0;
+ break;
+ }
+ return row;
+ }
+ public static Integer selectInSide2(Integer row){
+ switch (row){
+ case 1:
+ row = 2;
+ break;
+ case 7:
+ row = 6;
+ break;
+ case 8:
+ row = 9;
+ break;
+ case 14:
+ row = 13;
+ break;
+ case 15:
+ row = 16;
+ break;
+ case 21:
+ row = 20;
+ break;
+ default:
+ row = 0;
+ break;
+ }
+ return row;
+ }
+
}
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index b8cc654..a46d755 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -48,7 +48,7 @@
</resultMap>
<select id="findByWorkNo" resultMap="BaseResultMap">
- select wrk_no, matnr, maktx, specs, anfme, manu, memo from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
+ select wrk_no, matnr, maktx, specs, anfme, manu, memo ,zpallet from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
</select>
</mapper>
--
Gitblit v1.9.1