From de47d3e4cfe6f600e25e88c4a31b6fef1dc41182 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 20 十月 2025 08:47:18 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++--------
1 files changed, 105 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 5918f7c..4cd06b4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -19,10 +19,11 @@
import com.zy.common.model.DetlDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
-import com.zy.common.utils.Synchro;
+import com.zy.common.utils.HttpHandler;
import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -38,6 +39,9 @@
@Slf4j
@Service
public class MobileServiceImpl implements MobileService {
+
+ @Value("${wcs.url}")
+ private String wcsUrl;
@Autowired
private MatService matService;
@@ -600,6 +604,7 @@
DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
detlDto.setWeight(elem.getWeight());
+ detlDto.setCstateid(elem.getCstateid());
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto one = DetlDto.findDto(detlDtos, detlDto);
assert one != null;
@@ -635,6 +640,7 @@
waitPakin.setStandby2(detlDto.getStandby2());
waitPakin.setStandby3(detlDto.getStandby3());
waitPakin.setTkFlag(param.getTkFlag());
+ waitPakin.setCstateid(detlDto.getCstateid());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
@@ -655,6 +661,17 @@
throw new CoolException("鍗曟嵁缂栧彿宸蹭綔涓氬畬鎴�");
}
+ List<WaitPakin> waitPakinList = waitPakinService.selectList(new EntityWrapper<WaitPakin>()
+ .eq("matnr", elem.getMatnr())
+ .eq("batch", elem.getBatch())
+ .eq("order_no", elem.getOrderNo())
+ .eq("anfme", elem.getAnfme())
+ .eq("standby1", elem.getStandby1())
+ );
+ if (!waitPakinList.isEmpty()) {
+ throw new CoolException("璇ヨ鍗曠墿鏂欏凡缁忕粍鎵橈紒");
+ }
+
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3());
@@ -671,6 +688,7 @@
elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
detlDto.setOrderNo(elem.getOrderNo());
detlDto.setWeight(elem.getWeight());
+ detlDto.setCstateid(elem.getCstateid());
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto one = DetlDto.findDto(detlDtos, detlDto);
assert one != null;
@@ -706,6 +724,7 @@
waitPakin.setStandby2(detlDto.getStandby2());
waitPakin.setStandby3(detlDto.getStandby3());
waitPakin.setWeight(detlDto.getWeight());
+ waitPakin.setCstateid(detlDto.getCstateid());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
@@ -740,13 +759,13 @@
}
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getBrand(), waitPakin.getStandby1(), waitPakin.getStandby2(), waitPakin.getStandby3(),
+ OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getBrand(), waitPakin.getStandby1(), waitPakin.getStandby2(), waitPakin.getStandby3(),
waitPakin.getBoxType1(), waitPakin.getBoxType2(), waitPakin.getBoxType3());
- if (orderDetl == null) {
+ if (orderDetlPakin == null) {
continue;
}
- Double workQty = orderDetl.getWorkQty();
+ Double workQty = orderDetlPakin.getWorkQty();
BigDecimal workQtyDecimal = new BigDecimal(workQty);
workQtyDecimal = workQtyDecimal.subtract(BigDecimal.valueOf(waitPakin.getAnfme()));
@@ -754,8 +773,8 @@
if (newWorkQty <= 0) {
newWorkQty = 0D;
}
- orderDetl.setWorkQty(newWorkQty);
- orderDetlService.updateById(orderDetl);
+ orderDetlPakin.setWorkQty(newWorkQty);
+ orderDetlPakinService.updateById(orderDetlPakin);
}
}
@@ -837,10 +856,6 @@
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
List<WrkDetl> list = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
- LocDetlAdjustParam adjustParam = new LocDetlAdjustParam();
- List<LocDetlAdjustParam.LocDetlAdjust> locDetlAdjusts = new ArrayList<>();
-
- adjustParam.setLocNo(wrkMast.getSourceLocNo());
// 淇敼鏁伴噺
Iterator<WrkDetl> iterator = wrkDetls.iterator();
while (iterator.hasNext()) {
@@ -892,11 +907,6 @@
throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
}
}
- List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- for (WrkDetl wrkDetl : wrkDetls1) {
- LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
- locDetlAdjusts.add(locDetlAdjust);
- }
List<WrkDetl> paramWrkDetls = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
for (WrkDetl wrkDetl : paramWrkDetls) {
@@ -921,9 +931,6 @@
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("淇敼鐩樼偣浠诲姟涓绘。澶辫触");
}
- adjustParam.setList(locDetlAdjusts);
- workService.adjustLocDetl2(adjustParam, userId);
-
}
@Override
@@ -1254,21 +1261,15 @@
if (checkOrderDetlList.isEmpty()) {
throw new CoolException("鐩樼偣鍗曟棤鐗╂枡鏄庣粏");
}
- InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0);
-
- List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
- .eq("matnr", orderDetl.getMatnr())
- .eq("batch", orderDetl.getBatch())
- );
boolean complete = true;
- for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+ for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetlList) {
if (!checkOrderDetl.getStatus().equals("2")) {
complete = false;
}
}
if (complete) {
- boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch());
+ boolean result = reportToThirdService.reportCheckOrder(checkOrderDetlList);
if (!result) {
throw new CoolException("鐩樼偣鍗曚笂鎶ュけ璐�");
}
@@ -1276,4 +1277,82 @@
throw new CoolException("鐩樼偣鏈畬鎴愭棤娉曚笂鎶�");
}
}
+
+ @Override
+ public void toOutSta(PalletToOutStaParam param, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪");
+ }
+
+ if (wrkMast.getIoType() != 103) {
+ throw new CoolException("宸ヤ綔妗g被鍨嬩笉鏄嫞鏂欏嚭搴�");
+ }
+
+ if (wrkMast.getWrkSts() != 14) {
+ throw new CoolException("宸ヤ綔鐘舵�佹湭澶勪簬宸插嚭搴�");
+ }
+
+ String response = "";
+ try {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("wrkNo", wrkMast.getWrkNo());
+ map.put("sourceStaNo", wrkMast.getStaNo());
+ map.put("staNo", 1075);
+
+ response = new HttpHandler.Builder()
+ .setUri(wcsUrl)
+ .setPath("/open/toOutSta")
+ .setJson(JSON.toJSONString(map))
+ .build()
+ .doPost();
+ log.info("toOutSta:{},{}",map, response);
+ } catch (Exception e) {
+ log.error("fail", e);
+ }
+ }
+
+ @Override
+ public void toAllOut(PalletToAllOutParam param, Long userId) {
+ String barcodeSize = param.getBarcode().substring(0, 2);
+ String newBarcodeSize = param.getNewBarcode().substring(0, 2);
+ if (!barcodeSize.equals(newBarcodeSize)) {
+ throw new CoolException("鎵樼洏灏哄涓嶄竴鑷�");
+ }
+
+ WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪");
+ }
+
+ if (wrkMast.getIoType() != 103) {
+ throw new CoolException("宸ヤ綔妗g被鍨嬩笉鏄嫞鏂欏嚭搴�");
+ }
+
+ if (wrkMast.getWrkSts() != 14) {
+ throw new CoolException("宸ヤ綔鐘舵�佹湭澶勪簬宸插嚭搴�");
+ }
+
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ if (locMast == null) {
+ throw new CoolException("搴撲綅涓嶅瓨鍦�");
+ }
+
+ if (!locMast.getLocSts().equals("P")) {
+ throw new CoolException("搴撲綅绫诲瀷涓嶆槸鎷f枡鍑哄簱");
+ }
+
+ wrkMast.setBarcode(param.getNewBarcode());
+ wrkMast.setModiTime(new Date());
+ wrkMast.setModiUser(userId);
+ wrkMastService.updateById(wrkMast);
+
+ wrkDetlService.updateBarcode(wrkMast.getWrkNo(), param.getNewBarcode());
+
+ locMast.setBarcode(param.getNewBarcode());
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+
+ locDetlService.updateBarcode(locMast.getLocNo(), param.getNewBarcode());
+ }
}
--
Gitblit v1.9.1