From 817d992cc9b1a22d1b81f8c6348c760a23f0ba48 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 04 十一月 2024 15:31:54 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 144 +++++++++++++++++++++++++++++++++++------------
1 files changed, 107 insertions(+), 37 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 2cd706e..6981160 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -7,14 +7,11 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
-import com.zy.common.CodeRes;
+import com.zy.common.constant.ApiInterfaceConstant;
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
@@ -77,6 +74,64 @@
@Override
+ public R inLocCallAgv(String sta, String inSta) {
+ // 鍒ゆ柇鍏ュ簱绔欑偣鏈夋棤鍑哄簱浠诲姟
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", inSta));
+ if (count > 0) {
+ return R.parse(inSta + "绔欑偣瀛樺湪鍑哄簱浠诲姟");
+ }
+
+ ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
+ forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", ""));
+ forwardAGVTaskParam.setTaskTyp("GT3");
+ forwardAGVTaskParam.setCtnrTyp("2");
+ forwardAGVTaskParam.setPriority("1");
+ List<ForwardAGVTaskParam.PositionCodePaths> positionCodePathsList = new ArrayList<>();
+ positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(sta, "05"));
+ positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(inSta, "05"));
+ forwardAGVTaskParam.setPositionCodePath(positionCodePathsList);
+
+ String body = JSON.toJSONString(forwardAGVTaskParam);
+ String response = "";
+ String message = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(ApiInterfaceConstant.AGV_IP)
+ .setPath(ApiInterfaceConstant.AGV_CALL_IN_PATH)
+ .setJson(body)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ jsonObject.getString("message");
+ if (jsonObject.getInteger("code").equals(0)) {
+ success = true;
+ } else {
+ log.error("鍏ュ簱鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response);
+ }
+ } catch (Exception e) {
+ log.error("鍏ュ簱鍛煎彨agv寮傚父", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍏ュ簱鍛煎彨agv",
+ ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH,
+ null,
+ "127.0.0.1",
+ body,
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
+
+ return success ? R.ok("鍛煎彨agv鎴愬姛") : R.parse(message);
+ }
+
+ @Override
@Transactional
public void comb(CombParam param, Long userId) {
if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
@@ -91,8 +146,8 @@
throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
}
- if(param.getBarcode().length()!=8){
- throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
+ if(param.getBarcode().length()!=9){
+ throw new CoolException("鏉$爜闀垮害涓嶆槸9浣�===>>" + param.getBarcode());
}
if (param.getCombMats().size()>1){
throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
@@ -152,10 +207,17 @@
}
// 鐢熸垚鍏ュ簱閫氱煡妗�
List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
+
+ for (CombParam.CombMat elem : param.getCombMats()) {
+
+
+// param.getCombMats().forEach(elem -> {
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
+ if (Cools.isEmpty(orderDetl)) {
+ throw new CoolException("璇ュ崟鎹腑鏈壘鍒板搴旂墿鏂欐槑缁�");
+ }
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
@@ -164,7 +226,7 @@
throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getManu());
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
assert one != null;
@@ -172,7 +234,8 @@
} else {
detlDtos.add(detlDto);
}
- });
+// });
+ }
for (DetlDto detlDto : detlDtos) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
@@ -190,6 +253,7 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
+ waitPakin.setManu(detlDto.getMark());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
@@ -431,7 +495,7 @@
String orderNo = "PACK" + snowflakeIdWorker.nextId();
OpenOrderPakinParam openParam = new OpenOrderPakinParam();
openParam.setOrderNo(orderNo);
- openParam.setOrderTime(DateUtils.convert(now));
+ openParam.setInboundDate(DateUtils.convert(now));
openParam.setOrderType("鎵撳寘鍏ュ簱鍗�");
openParam.setOrderDetails(detlDtos);
openService.pakinOrderCreate(openParam);
@@ -560,38 +624,44 @@
@Override
// @Transactional
public void leftoversOut(Map<String, Object> map,Long userId) {
-
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", map.get("barcode")).eq("io_type", 103));
+ String barcode = map.get("barcode").toString();
+ String barcode2 = map.get("barcode2").toString();
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).eq("io_type", 103));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException("鏈煡璇㈠埌鎷f枡浠诲姟");
}
- Date now = new Date();
int workNo = commonService.getWorkNo(1);
- WrkMast wrkMast1 = new WrkMast();
- wrkMast1.sync(wrkMast);
- wrkMast1.setWrkNo(workNo);
- wrkMast1.setWrkSts(2L);
- wrkMast1.setIoType(200);
- wrkMast1.setSourceStaNo(wrkMast.getStaNo() == 113 ? 111 : 117);
- wrkMast1.setStaNo(map.get("floor").hashCode() == 2 ? 204:304);
- wrkMast1.setIoTime(now);
- wrkMast1.setIoPri(13D); // 浼樺厛绾э細13
- wrkMast1.setCrnNo(wrkMast.getCrnNo());
- wrkMast1.setSourceLocNo(wrkMast.getLocNo()); // 婧愬簱浣�
- wrkMast1.setFullPlt("Y"); // 婊℃澘锛歒
- wrkMast1.setPicking("N"); // 鎷f枡
- wrkMast1.setExitMk("N"); // 閫�鍑�
- wrkMast1.setEmptyMk("N"); // 绌烘澘
- wrkMast1.setLinkMis("N");
- wrkMast1.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
- wrkMast1.setAppeTime(now);
- wrkMast1.setModiUser(userId);
- wrkMast1.setModiTime(now);
- wrkMast1.setBarcode(wrkMast.getBarcode());
- if (!wrkMastService.insert(wrkMast1)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ WrkMast wrkMast2 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode2).eq("io_type", 200));
+ if (Cools.isEmpty(wrkMast2)) {
+ Date now = new Date();
+
+ WrkMast wrkMast1 = new WrkMast();
+ wrkMast1.sync(wrkMast);
+ wrkMast1.setWrkNo(workNo);
+ wrkMast1.setWrkSts(2L);
+ wrkMast1.setIoType(200);
+ wrkMast1.setSourceStaNo(wrkMast.getStaNo() == 113 ? 111 : 117);
+ wrkMast1.setStaNo(wrkMast.getStaNo() == 113 ? 204 : 304);
+ wrkMast1.setIoTime(now);
+ wrkMast1.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast1.setCrnNo(wrkMast.getCrnNo());
+ wrkMast1.setSourceLocNo(wrkMast.getLocNo()); // 婧愬簱浣�
+ wrkMast1.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast1.setPicking("N"); // 鎷f枡
+ wrkMast1.setExitMk("N"); // 閫�鍑�
+ wrkMast1.setEmptyMk("N"); // 绌烘澘
+ wrkMast1.setLinkMis("N");
+ wrkMast1.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast1.setAppeTime(now);
+ wrkMast1.setModiUser(userId);
+ wrkMast1.setModiTime(now);
+ wrkMast1.setBarcode(barcode2);
+ if (!wrkMastService.insert(wrkMast1)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
}
+
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", map.get("barcode")));
if (Cools.isEmpty(wrkDetls)) {
throw new CoolException("鏈煡璇㈠埌鎷f枡浠诲姟鏄庣粏");
--
Gitblit v1.9.1