From 3602e4088519be44965118c852593c6376217d4e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 03 六月 2023 13:46:38 +0800
Subject: [PATCH] jlwms ==> xzjlwms
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 129 +++++++++++++++++++------------------------
1 files changed, 57 insertions(+), 72 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ebd138e..fc9d604 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -162,45 +162,47 @@
public void startupFullTakeStore(StockOutParam param, Long userId) {
ArrayList<String> locNos = new ArrayList<>();
for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
- locNos.add(locDetl.getLocNo());
+ if (!locNos.contains(locDetl.getLocNo())){
+ locNos.add(locDetl.getLocNo());
+ }
}
//妫�娴嬫槸鍚︿负娴呭簱浣�
- List<LocMast> locMasts = null;
boolean sign=false;
String th = "";
- for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
- int row = getRow(locDetl.getLocNo());
- int bay = getBay(locDetl.getLocNo());
- int lev = getLev(locDetl.getLocNo());
- if (!(row==4 || row==5)){
- if (row>5){
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locNos.contains(locMast1.getLocNo())){
- continue;
- }
- if (locMast1.getRow1()<row){
- if (!locMast1.getLocSts().equals("O")){
- sign=true;
- th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
- }
+ for (String locNo:locNos){
+ if (sign){
+ break;
+ }
+
+ //妫�娴嬪嚭搴撶殑璐х墿涓槸鍚︽湁鐘舵�佷负绂佹鐨勮揣鐗┿��
+ for (LocDetl locDetl : locDetlService.selectByLocNo(locNo)) {
+ if (locDetl.getStockFreeze() == 0) {
+ th="搴撲綅鍙凤細"+locNo+" 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
+ throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ }
+
+ Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+ if (mat == null) {
+ continue;
+ }
+ if (mat.getStatus() == 0) {
+ th="搴撲綅鍙凤細"+locNo+" 鏈夌姝㈠嚭搴撶殑璐х墿锛�";
+ throw new CoolException("鍑哄簱澶辫触锛�"+th);
+ }
+ }
+
+ List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+ if (!Cools.isEmpty(groupInsideLoc)) {
+ for (String insideLoc : groupInsideLoc) {
+ if (locNos.contains(insideLoc)){
+ continue;
}
- }else {
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locNos.contains(locMast1.getLocNo())){
- continue;
- }
- if (locMast1.getRow1()>row){
- if (!locMast1.getLocSts().equals("O")){
- sign=true;
- th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
+ if (locMast != null) {
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){
+ sign=true;
+ th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ break;
}
}
}
@@ -306,7 +308,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13
@@ -385,7 +387,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
Double ioPri = wrkMastService.getIoPri(ioType, taskDto.getLocNo());
wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13
@@ -532,43 +534,26 @@
@Override
@Transactional
public void emptyPlateOut(EmptyPlateOutParam param, Long userId) {
+ List<String> locNos = param.getLocNos();
//妫�娴嬫槸鍚︿负娴呭簱浣�
- List<LocMast> locMasts = null;
boolean sign=false;
String th = "";
- for (String locNoKong: param.getLocNos()){
- int row = getRow(locNoKong);
- int bay = getBay(locNoKong);
- int lev = getLev(locNoKong);
- if (!(row==4 || row==5)){
- if (row>5){
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locMast1.getRow1()<row){
- if (!locMast1.getLocSts().equals("O")){
- if (param.getLocNos().contains(locMast1.getLocNo())){
- continue;
- }
- sign=true;
- th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
- }
+ for (String locNo:locNos){
+ if (sign){
+ break;
+ }
+ List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+ if (!Cools.isEmpty(groupInsideLoc)) {
+ for (String insideLoc : groupInsideLoc) {
+ if (locNos.contains(insideLoc)){
+ continue;
}
- }else {
- locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row)
- .eq("bay1",bay).eq("lev1",lev));
- for (LocMast locMast1:locMasts){
- if (locMast1.getRow1()>row){
- if (!locMast1.getLocSts().equals("O")){
- if (param.getLocNos().contains(locMast1.getLocNo())){
- continue;
- }
- sign=true;
- th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
- break;
- }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
+ if (locMast != null) {
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){
+ sign=true;
+ th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ break;
}
}
}
@@ -614,7 +599,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
Double ioPri = wrkMastService.getIoPri(110, locNo);
wrkMast.setIoPri(ioPri);
@@ -691,7 +676,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
wrkMast.setIoPri(10D);
wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
@@ -1137,7 +1122,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
wrkMast.setIoPri(15D);
wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false)?1:0);;
--
Gitblit v1.9.1