From 13a7ee010e75bab8030c7c0be736d0ca02d966d7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 08 十二月 2023 10:04:11 +0800
Subject: [PATCH] #避让起始列
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 70 ++++++++++++-----------------------
1 files changed, 24 insertions(+), 46 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 631a492..b655e3a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -36,6 +37,8 @@
import java.util.*;
import java.util.stream.Collectors;
+
+import static com.zy.asrs.utils.Utils.isJson;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -1279,7 +1282,7 @@
if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴�
//寮哄埗棰勭暀涓�鍙板皬杞︾粰鍏ュ簱浠诲姟
int lev = Utils.getLev(wrkMast.getSourceLocNo());
- //鑾峰彇褰撳墠妤煎眰鏈夊嚑鍙扮┖闂插彲鐢ㄥ皬杞�
+ //鑾峰彇褰撳墠妤煎眰鏈夊嚑鍙板彲鐢ㄥ皬杞�
int shuttleCount = shuttleDispatchUtils.getShuttleCountByLev(lev);
if (shuttleCount >= 2) {//鍙湁鍙敤灏忚溅鏁伴噺澶т簬2锛屾墠杩涜鍏ュ簱浠诲姟棰勭暀灏忚溅
int shuttleWrkInObligateCount = 1;//棰勭暀灏忚溅鏁伴噺
@@ -2845,44 +2848,7 @@
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
ledCommand.setLocNo(wrkMast.getLocNo());
ledCommand.setStaNo(wrkMast.getStaNo());
- if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10 && wrkMast.getIoType() != 107) {
- //for (WrkDetl wrkDetl : wrkDetls) {
- // LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
- //
- // locDetls.forEach(locDetl1 -> {
- // //宸ヤ綔妗d腑瀛樺湪璇ョ墿鏂欏垯璺宠繃
- // String suppCode = "";
- //
- // if (wrkDetl.getMatnr().equals(locDetl1.getMatnr())) {
- // Double anfme = 0D;
- // if (locDetl != null) {
- // anfme = locDetl.getAnfme();
- // }
- // if (wrkDetl.getSuppCode() != null) {
- // suppCode = wrkDetl.getSuppCode();
- // }
- // ledCommand.getMatDtos()
- // .add(new MatDto(wrkDetl.getMatnr()
- // , wrkDetl.getMaktx()
- // , wrkDetl.getAnfme()
- // , (wrkDetl.getAnfme()-anfme)
- // , wrkDetl.getSpecs()
- // , suppCode));
- // } else {
- // if (locDetl1.getSuppCode() != null) {
- // suppCode = locDetl1.getSuppCode();
- // }
- // ledCommand.getMatDtos()
- // .add(new MatDto(locDetl1.getMatnr()
- // , locDetl1.getMaktx()
- // , 0D
- // , locDetl1.getAnfme()
- // , locDetl1.getSpecs()
- // , suppCode));
- // }
- // });
- // //LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
- //}
+ if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
locDetls.forEach(locDetl -> {
Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq("matnr", locDetl.getMatnr()).eq("wrk_no", wrkMast.getWrkNo());
@@ -2891,6 +2857,7 @@
Utils.wapperSetCondition(wrapper, "dead_time", locDetl.getDeadTime());
Utils.wapperSetCondition(wrapper, "supp_code", locDetl.getSuppCode());//鏂欑鐮�
WrkDetl detl = wrkDetlService.selectOne(wrapper);
+
if (Cools.isEmpty(detl)) {
String suppCode = "";
if (locDetl.getSuppCode() != null) {
@@ -2899,19 +2866,30 @@
ledCommand.getMatDtos().add(new MatDto(locDetl.getMatnr(), locDetl.getMaktx(), 0D, locDetl.getAnfme(), locDetl.getSpecs(), suppCode));
} else {
String suppCode = "";
+ String orderNo = detl.getOrderNo();
if (detl.getSuppCode() != null) {
suppCode = detl.getSuppCode();
}
- ledCommand.getMatDtos().add(new MatDto(detl.getMatnr(), detl.getMaktx(), detl.getAnfme(), (locDetl.getAnfme() - detl.getAnfme()), detl.getSpecs(), suppCode));
+ if (isJson(orderNo)) {
+ JSONArray orders = JSON.parseArray(orderNo);
+ for (Object order : orders) {
+ JSONObject order1 = (JSONObject) order;
+ ledCommand.getMatDtos().add(new MatDto(detl.getMatnr(), detl.getMaktx(), (Double) order1.get("anfme"), (locDetl.getAnfme() - detl.getAnfme()), detl.getSpecs(), suppCode,(String) order1.get("orderNo")));
+ }
+ } else {
+ ledCommand.getMatDtos().add(new MatDto(detl.getMatnr(), detl.getMaktx(), detl.getAnfme(), (locDetl.getAnfme() - detl.getAnfme()), detl.getSpecs(), suppCode,detl.getOrderNo()));
+ }
+
+
}
});
- }
- if (wrkMast.getIoType() == 107) {
- List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- wrkDetls.forEach(wrkDetl -> {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode()));
- });
+ if (locDetls.isEmpty()) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ wrkDetls.forEach(wrkDetl -> {
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode()));
+ });
+ }
}
commands.add(ledCommand);
--
Gitblit v1.9.1