From e356cb699f91ff4359ef0e835fd311436489b9d8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 26 十月 2022 12:51:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/BasSteService.java | 2 --
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 ++++++++++++++++++++++++++----------
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java | 22 +++-------------------
3 files changed, 29 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/BasSteService.java b/src/main/java/com/zy/asrs/service/BasSteService.java
index e26fd21..0b1f825 100644
--- a/src/main/java/com/zy/asrs/service/BasSteService.java
+++ b/src/main/java/com/zy/asrs/service/BasSteService.java
@@ -5,8 +5,6 @@
public interface BasSteService extends IService<BasSte> {
- BasSte findByCrnNo(Integer crnNo);
-
Boolean updatePos(Integer steNo, Integer row, Integer bay, Integer lev);
Boolean updatePakMk(Integer steNo, String pakMk);
diff --git a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
index 5b3e947..7571e41 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
@@ -1,31 +1,15 @@
package com.zy.asrs.service.impl;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.mapper.BasSteMapper;
-import com.zy.asrs.entity.BasSte;
-import com.zy.asrs.service.BasSteService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.mapper.BasSteMapper;
+import com.zy.asrs.service.BasSteService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-
-import java.util.List;
@Slf4j
@Service("basSteService")
public class BasSteServiceImpl extends ServiceImpl<BasSteMapper, BasSte> implements BasSteService {
-
- @Override
- public BasSte findByCrnNo(Integer crnNo) {
- List<BasSte> basStes = this.selectList(new EntityWrapper<BasSte>().eq("crn_no", crnNo));
- if (Cools.isEmpty(basStes)) {
- return null;
- }
- if (basStes.size() > 1) {
- log.warn("鐩墠鏈墈}鍙扮┛姊溅褰掑睘浜巤}鍙峰爢鍨涙満!!!", basStes.size(), crnNo);
- }
- return basStes.get(0);
- }
@Override
public Boolean updatePos(Integer steNo, Integer row, Integer bay, Integer lev) {
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 0763134..c4be203 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -898,7 +899,7 @@
}
}
}
- // 娌℃湁灏忚溅
+ // 娌℃湁灏忚溅
} else {
if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
// 瀵绘壘褰撳墠鍫嗗灈鏈哄搴旂殑灏忚溅
@@ -1290,17 +1291,32 @@
* 鏌ユ壘褰撳墠搴撲綅鏈�閫傚悎鐨勭┛姊溅鏉ヤ綔涓�
*/
public SteThread queryIdleCar(WrkMast wrkMast) {
- Integer crnNo = wrkMast.getCrnNo();
- BasSte basSte = basSteService.findByCrnNo(crnNo);
- // 鑾峰彇绌挎杞︿俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol != null) {
- if (steProtocol.isIdle()) {
- return steThread;
+ List<BasSte> basStes = basSteService.selectList(new EntityWrapper<>());
+ int val = 0;
+ SteThread result = null;
+ for (BasSte basSte : basStes) {
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ if (!steProtocol.isIdle()) { continue; }
+ String locNo = wrkMast.getWrkSts() < 10 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo();
+ LocMast locMast = locMastService.selectById(locNo);
+ int lev = locMast.getLev1();
+ int bay = locMast.getBay1();
+ int levAbs = Math.abs(lev - steProtocol.getLev());
+ int bayAbs = Math.abs(bay - steProtocol.getBay());
+ if (val == 0) {
+ val = levAbs + bayAbs;
+ result = steThread;
+ } else {
+ if ((levAbs + bayAbs) < val) {
+ val = levAbs + bayAbs;
+ result = steThread;
+ }
}
}
- return null;
+ return result;
}
/**
--
Gitblit v1.9.1