From 55eb3d480594f4c0dd382eaeeb8548bf911d6ad7 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 23 十月 2025 08:28:08 +0800
Subject: [PATCH] 13
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 292 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 183 insertions(+), 109 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 3f4ac35..0897fc2 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -69,9 +69,13 @@
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
- private OrderService orderService;
+ private OrderPakoutService orderPakoutService;
@Autowired
- private OrderDetlService orderDetlService;
+ private OrderPakinService orderPakinService;
+ @Autowired
+ private OrderDetlPakoutService orderDetlPakoutService;
+ @Autowired
+ private OrderDetlPakinService orderDetlPakinService;
@Autowired
private WcsController wcsController;
@Autowired
@@ -80,8 +84,6 @@
private SlaveProperties slaveProperties;
@Autowired
private WaitPakinService waitPakinService;
- @Autowired
- private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
@Override
@Transactional
@@ -174,15 +176,22 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
if (!locDetlDtos.isEmpty()) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
- // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ if (staNo.getDevNo() == 1135 && locMast.getLocType1() == 2) {
+ throw new CoolException("鎵�閫夊簱浣嶄笉鏄綆搴撲綅鏃犳硶璋冩嫧锛屽簱浣嶅彿锛歿}" + locMast.getLocNo());
+ }
+ if (staNo.getDevNo() >= 1100) {
+ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ stockOut(staNo, locDetlDtos, null, userId);
+ } else {
+ stockOutSXK(staNo, locDetlDtos, null, userId);
+ }
} else {
throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
}
@@ -228,6 +237,11 @@
LocMast locMast = locMastService.selectById(dto.getLocNo());
Integer outSta = staNo.getDevNo();
+ if (outSta == 1135 || outSta == 1031) {
+ if (101 != ioType) {
+ throw new CoolException("璇ョ珯鐐瑰繀椤诲叏鏉垮嚭搴擄紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ }
// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
// if(locMast.getCrnNo()==2){
// outSta = ioType == 101 ? 204 : 202;
@@ -374,19 +388,6 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- InventoryCheckOrderDetl inventoryCheckOrderDetl = new InventoryCheckOrderDetl();
- inventoryCheckOrderDetl.setOrderNo(param.getOrderNo());
- inventoryCheckOrderDetl.setMatnr(detlDto.getLocDetl().getMatnr());
- inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
- inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
- inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
- inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin());
- inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
- inventoryCheckOrderDetl.setIoTime(now);
- inventoryCheckOrderDetl.setStatus("1");
- if (!inventoryCheckOrderDetlService.insert(inventoryCheckOrderDetl)) {
- throw new CoolException("淇濆瓨鐩樼偣鏄庣粏澶辫触");
- }
if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
continue;
@@ -473,12 +474,12 @@
if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
continue;
}
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
- if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ if (orderDetlPakout == null) {
+ orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
}
WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(orderDetl);
+ wrkDetl.sync(orderDetlPakout);
wrkDetl.setZpallet(wrkMast.getBarcode());
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
@@ -493,10 +494,10 @@
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
// 淇敼璁㈠崟鏄庣粏
- if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlPakoutService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
- orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+ orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
@@ -526,30 +527,26 @@
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
List<LocMast> locMasts = new ArrayList<>();
- if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+ if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6)) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1", locMast.getLocType1())
- .orderBy("bay1", false));
- } else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
+ .eq("row1", locMast.getBay1())
+ .in("bay1", 3, 4, 5, 6)
.eq("crn_no", 7)
.eq("loc_type1", locMast.getLocType1())
.orderBy("bay1", true));
- }
- for (LocMast locMast1 : locMasts) {
- if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
- break;
- }
- if (locMast1.getLocSts().equals("X")) {
- throw new CoolException(taskDto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
- }
- if (locMast1.getLocSts().equals("F")) {
- moveLocForDeepLoc(locMast1);
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("X")) {
+ throw new CoolException(taskDto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+ }
+ if (locMast1.getLocSts().equals("F")) {
+ locMast = locMast1;
+ }
}
}
+
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
@@ -585,12 +582,12 @@
if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
continue;
}
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
- if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ if (orderDetlPakout == null) {
+ orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
}
WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(orderDetl);
+ wrkDetl.sync(orderDetlPakout);
wrkDetl.setZpallet(wrkMast.getBarcode());
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
@@ -605,10 +602,10 @@
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
// 淇敼璁㈠崟鏄庣粏
- if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlPakoutService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
- orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+ orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
@@ -904,7 +901,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -932,7 +929,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -1050,19 +1047,6 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- InventoryCheckOrderDetl inventoryCheckOrderDetl = new InventoryCheckOrderDetl();
- inventoryCheckOrderDetl.setOrderNo(param.getOrderNo());
- inventoryCheckOrderDetl.setMatnr(detlDto.getLocDetl().getMatnr());
- inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
- inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
- inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
- inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin());
- inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
- inventoryCheckOrderDetl.setIoTime(now);
- inventoryCheckOrderDetl.setStatus("1");
- if (!inventoryCheckOrderDetlService.insert(inventoryCheckOrderDetl)) {
- throw new CoolException("淇濆瓨鐩樼偣鏄庣粏澶辫触");
- }
if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
continue;
@@ -1188,7 +1172,7 @@
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
@@ -1218,7 +1202,7 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException("搴撲綅涓嶅瓨鍦�");
}
- if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
+ if (!(locMast.getLocSts().equals("P") || locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$());
}
@@ -1242,7 +1226,7 @@
if (!locDetl.getAnfme().equals(adjust.getCount())) {
// todo 鐩樼偣璁板綍
// 淇敼搴撳瓨
- if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku())) {
throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
}
// 淇濆瓨璋冩暣璁板綍
@@ -1292,7 +1276,8 @@
Mat mat = matService.selectByMatnr(adjust.getMatnr());
LocDetl locDetl = new LocDetl();
locDetl.sync(mat);
- locDetl.setBatch(adjust.getBatch());
+ locDetl.setDanger(adjust.getDanger());
+ locDetl.setSku(adjust.getBatch());
locDetl.setLocNo(locMast.getLocNo());
locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
@@ -1329,6 +1314,9 @@
}
locMast.setModiUser(userId);
locMast.setModiTime(now);
+ if (locMast.getLocSts().equals("O")) {
+ locMast.setBarcode("");
+ }
if (!locMastService.updateById(locMast)) {
throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
@@ -1411,26 +1399,26 @@
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ if (!orderDetlPakoutService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
//淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
boolean flag = true;
- List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo()));
- for (OrderDetl orderDetl : orderDetls) {
- if (orderDetl.getWorkQty() > 0) {
+ List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
+ for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
+ if (orderDetlPakout.getWorkQty() > 0) {
flag = false;
}
}
if (flag) {
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
+ OrderPakout order = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()));
if (!Cools.isEmpty(order) && order.getSettle() == 2) {
order.setSettle(1L);
order.setUpdateBy(userId);
order.setUpdateTime(now);
}
- if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()))) {
+ if (!orderPakoutService.update(order, new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()))) {
throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
}
}
@@ -1521,7 +1509,7 @@
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("stn_no", wrkMast.getSourceStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
@@ -1693,7 +1681,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -1714,7 +1702,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -1763,30 +1751,50 @@
LocMast locMast = locMastService.selectById(dto.getLocNo());
List<LocMast> locMasts = new ArrayList<>();
- if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+// if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+// locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+// .eq("gro1", locMast.getGro1())
+// .eq("crn_no", 7)
+// .eq("loc_type1", locMast.getLocType1())
+// .orderBy("bay1", false));
+// } else {
+// locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+// .eq("gro1", locMast.getGro1())
+// .eq("crn_no", 7)
+// .eq("loc_type1", locMast.getLocType1())
+// .orderBy("bay1", true));
+// }
+// for (LocMast locMast1 : locMasts) {
+// if (locMast1.getLocNo().equals(dto.getLocNo())) {
+// break;
+// }
+// if (locMast1.getLocSts().equals("X")) {
+// throw new CoolException(dto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+// }
+// if (locMast1.getLocSts().equals("F")) {
+// moveLocForDeepLoc(locMast1);
+// }
+// }
+ if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6)) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1", locMast.getLocType1())
- .orderBy("bay1", false));
- } else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
+ .eq("row1", locMast.getBay1())
+ .in("bay1", 3, 4, 5, 6)
.eq("crn_no", 7)
.eq("loc_type1", locMast.getLocType1())
.orderBy("bay1", true));
- }
- for (LocMast locMast1 : locMasts) {
- if (locMast1.getLocNo().equals(dto.getLocNo())) {
- break;
- }
- if (locMast1.getLocSts().equals("X")) {
- throw new CoolException(dto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
- }
- if (locMast1.getLocSts().equals("F")) {
- moveLocForDeepLoc(locMast1);
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(locMast.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("X")) {
+ throw new CoolException(locMast.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+ }
+ if (locMast1.getLocSts().equals("F")) {
+ locMast = locMast1;
+ }
}
}
+
Integer outSta = staNo.getDevNo();
// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
@@ -1863,7 +1871,6 @@
@Transactional
public void toSxk(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
-
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1(locType);
StartupDto dto = commonService.getLocNo(1, 1031, null, null, null, locTypeDto, false);
@@ -1877,9 +1884,11 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
- wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
- wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細 1.搴撴牸绉昏浇
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(wrkMastold.getIoType() - 100); // 鍏ュ嚭搴撶姸鎬侊細 1.搴撴牸绉昏浇
wrkMast.setIoPri(12D);
+ wrkMast.setStaNo(1032);
+ wrkMast.setSourceStaNo(1031);
wrkMast.setCrnNo(7);
wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
wrkMast.setFullPlt("Y"); // 婊℃澘
@@ -1888,6 +1897,7 @@
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setBarcode(wrkMastold.getBarcode()); // 鎵樼洏鐮�
wrkMast.setLinkMis("N");
+ wrkMast.setPltType(wrkMastold.getWrkNo());
wrkMast.setAppeTime(new Date());
wrkMast.setModiTime(new Date());
boolean res = wrkMastService.insert(wrkMast);
@@ -1895,16 +1905,18 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 宸ヤ綔妗f槑缁嗕繚瀛�
- for (WrkDetl wrk : wrkDetls) {
- WrkDetl wrkDetl = new WrkDetl();
- Synchro.Copy(wrk, wrkDetl);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setAnfme(wrk.getAnfme());
- wrkDetl.setAppeTime(new Date());
- wrkDetl.setModiTime(new Date());
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
}
}
// 淇敼鐩爣搴撲綅鐘舵��
@@ -1920,5 +1932,67 @@
}
+ @Transactional
+ public void toCrn(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1(locType);
+ StartupDto dto = commonService.getLocNo(1, 1135, null, null, null, locTypeDto, false);
+ if (Cools.isEmpty(dto)) {
+ throw new CoolException("鍘诲爢鍨涙満鏈壘鍒板簱浣�");
+ }
+ LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", dto.getLocNo()));
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(wrkMastold.getIoType() - 100); // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱
+ wrkMast.setIoPri(12D);
+ wrkMast.setCrnNo(1);
+ wrkMast.setStaNo(1131);
+ wrkMast.setSourceStaNo(1135);
+ wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt(wrkDetls == null ? "N" : "Y"); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(wrkDetls != null ? "N" : "Y"); // 绌烘澘
+ wrkMast.setBarcode(wrkMastold.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setPltType(wrkMastold.getWrkNo());
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiTime(new Date());
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(new Date());
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触");
+ }
+
+ }
}
--
Gitblit v1.9.1