From 4aebedd582c7b1beb23df39829c341b40343e2ce Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 21 十二月 2025 16:16:16 +0800
Subject: [PATCH] pda相关功能开发完善
---
src/main/java/com/zy/asrs/controller/OrderController.java | 21 ++++++++++
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java | 11 +----
src/main/java/com/zy/asrs/task/handler/JlerHandler.java | 15 +------
src/main/java/com/zy/asrs/controller/OrderPakinController.java | 13 +++++-
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 3 +
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 17 +++++++-
src/main/resources/application-dev.yml | 2 +
src/main/java/com/zy/asrs/controller/MobileController.java | 8 +++-
src/main/java/com/zy/asrs/service/MobileService.java | 6 ++
9 files changed, 64 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 3e69d15..63780c7 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -542,10 +542,14 @@
@PostMapping("/callEmptyBinInBound")
@ManagerAuth(memo = "pda鍛煎彨鏂欐鍥炲簱")
public synchronized R callEmptyBinInBound(@RequestBody JSONObject param) {
- if(!param.containsKey("site")){ // 鎼繍璧风偣
+ if (!param.containsKey("site") || !param.containsKey("barcode") || !param.containsKey("emptyFlag")) {
return R.parse(BaseRes.PARAM);
}
- return mobileService.callEmptyBinInBound(param.getString("site"),getUserId());
+ String site = param.getString("site"); // 璧峰绔欑偣
+ String barcode = param.getString("barcode"); // 鎵樼洏鏉$爜
+ String emptyFlag = param.getString("emptyFlag"); // 1.鏈夎揣(榛樿)锛�2.绌烘墭
+
+ return mobileService.callEmptyBinInBound(site, barcode, emptyFlag, getUserId());
}
}
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 4c1bd74..4c87c56 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -19,6 +19,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.util.*;
@RestController
@@ -43,6 +45,25 @@
@Autowired
private WrkMastLogService wrkMastLogService;
+ @Resource
+ private OrderDetlPakinService orderDetlPakinService;
+
+ @RequestMapping(value = "/order/list/orderNo")
+ public R orderListorderNo(@RequestParam String orderNo) {
+ //鏁伴噺淇敼鎴愪负瀹屾垚鏁伴噺
+ List<OrderDetlPakin> orderDetl1 = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderNo));
+ List<OrderDetlPakin> orderDetls= new ArrayList<>();
+ for (OrderDetlPakin o: orderDetl1) {
+ BigDecimal c1 = new BigDecimal(o.getEnableQty()).setScale(2,BigDecimal.ROUND_HALF_UP);
+ o.setAnfme(c1.doubleValue());
+ if (o.getAnfme().equals(0.0)){
+ continue;
+ }
+ orderDetls.add(o);
+ }
+ return R.ok(orderDetls);
+ }
+
@RequestMapping(value = "/order/nav/list/auth")
@ManagerAuth
public R navList(@RequestParam(required = false) String orderNo){
diff --git a/src/main/java/com/zy/asrs/controller/OrderPakinController.java b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
index fb81d0f..17785a0 100644
--- a/src/main/java/com/zy/asrs/controller/OrderPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -53,7 +54,7 @@
wrapper.le("settle", 2).eq("status", 1);
wrapper.orderBy("create_time", false);
List<OrderPakin> orders = orderService.selectList(wrapper);
- // 淇濈暀鍑哄簱鍗�
+ // 淇濈暀鍏ュ簱鍗�
if (!Cools.isEmpty(orders)) {
Iterator<OrderPakin> iterator = orders.iterator();
while (iterator.hasNext()) {
@@ -61,14 +62,20 @@
if (order.getDocType() != null) {
DocType docType = docTypeService.selectById(order.getDocType());
if (docType != null) {
- if (docType.getPakout() == 0) {
+ if (docType.getPakout() == 1) {
iterator.remove();
}
}
}
}
}
- return R.ok().add(orders);
+ JSONArray jsonArray = new JSONArray();
+ for(OrderPakin orderPakin: orders) {
+ JSONObject object = new JSONObject();
+ object.put("order_no",orderPakin.getOrderNo());
+ jsonArray.add(object);
+ }
+ return R.ok().add(jsonArray);
}
@RequestMapping(value = "/order/head/page/auth")
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index a561770..b2ebfdc 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -111,6 +111,10 @@
/**
* pda鍛煎彨鏂欐鍥炲簱
+ * @param site 璧峰绔欑偣
+ * @param barcode 鏉$爜
+ * @param emptyFlag 1.鏈夎揣(榛樿)锛�2.绌烘墭
+ * @param userId 鐢ㄦ埛id
*/
- R callEmptyBinInBound(String site, Long userId);
+ R callEmptyBinInBound(String site, String barcode, String emptyFlag, Long userId);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
index c18ad1e..3150545 100644
--- a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -983,7 +983,7 @@
transTask.setAgvFactory(1);
JSONObject sendAgvTask = submitTask(transTask);
if (!"1".equals(sendAgvTask.getString("Success"))) {
- log.error("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触", JSONObject.toJSONString(transTask));
+ log.error("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触:{}", JSONObject.toJSONString(transTask));
}
}
} else {
@@ -1073,7 +1073,6 @@
/**
* 9.1涓嬪彂杩愯緭浠诲姟
- * TODO:鍏朵粬搴撶殑浠诲姟鍏ㄩ儴杞埌婊戝潡搴撶粺涓�璋冨害
*
* @param transTask
* @return
@@ -1123,12 +1122,6 @@
// 杞彂缁欐捣搴锋垨鍗庢檽RCS
RcsReturn rcsReturn = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
if (rcsReturn.getCode().equals("SUCCESS")) {
- if (Cools.isEmpty(transTask.getTaskno())) {
- JSONObject data = rcsReturn.getData();
- String robotTaskCode = data.getString("robotTaskCode");
- transTask.setTaskno(robotTaskCode);
- result.put("taskno", transTask.getTaskno());
- }
int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);
Date now = new Date();
Task task = new Task();
@@ -1160,7 +1153,7 @@
taskDetl.setSpecs(mat.getSpecs());
taskDetl.setOrderNo(transTask.getOrderNo());
taskDetl.setZpallet(transTask.getTuoPanId());
- taskDetl.setMemo(barCodeListToStr(transTask.getItemBarcode()));
+ taskDetl.setMemo(Cools.isEmpty(transTask.getItemBarcode()) ? "":barCodeListToStr(transTask.getItemBarcode()));
taskDetl.setModiUser(defaultUserId);
taskDetl.setModiTime(now);
taskDetl.setAppeUser(defaultUserId);
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 174cbdd..23c861b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -50,6 +50,9 @@
@Value("${wms.zpalletId}")
public String WMS_ZPALLET_ID;
+ @Value("${wms.loadedPallet}")
+ public String WMS_LOADED_PALLET;
+
@Autowired
private MatService matService;
@Autowired
@@ -597,7 +600,7 @@
Date now = new Date();
// 鏃犲崟缁勬墭
- if (Cools.isEmpty(param.getOrderNo())) {
+ if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) {
// 鐢熸垚鍏ュ簱閫氱煡妗�
List<DetlDto> detlDtos = new ArrayList<>();
param.getCombMats().forEach(elem -> {
@@ -1349,9 +1352,9 @@
}
@Override
- public R callEmptyBinInBound(String site, Long userId) {
+ public R callEmptyBinInBound(String site, String barcode, String emptyFlag, Long userId) {
TransTask transTask = new TransTask();
-// transTask.setTaskno(mesInApply.getTaskno());
+ transTask.setTaskno(String.valueOf(new Date().getTime()));
// transTask.setTaskname(mesInApply.getTaskname());
// transTask.setOrderNo(mesInApply.getOrderNo());
transTask.setTransType("02"); // 涓嬫瘺鍧�
@@ -1359,10 +1362,18 @@
transTask.setCurStationId(site);
transTask.setNextStationId(WMS_TRANS_START_STATION_2);
transTask.setItemno(WMS_ZPALLET_ID); // 鍥哄畾涓虹┖鎵樼殑缂栫爜
+ if ("1".equals(emptyFlag)) { // 鍒ゆ柇鏄惁缁勬墭
+ int count = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", barcode));
+ if(count <= 0) {
+ return R.parse("鏈粍鎵橈細" + barcode);
+ }
+ transTask.setItemno(WMS_LOADED_PALLET); // 鍥哄畾涓烘弧鎵樼殑缂栫爜
+ }
transTask.setQty(1); // 绌烘墭鍙洖1涓�
// transTask.setProductLineId(mesInApply.getProductLineId());
transTask.setOperateType(1);
transTask.setAgvFactory(1);
+ transTask.setTuoPanId(barcode);
JSONObject sendAgvTask = mesService.submitTask(transTask);
if ("1".equals(sendAgvTask.getString("Success"))) {
log.info("pda鍛煎彨鏂欐鍥炲簱鎴愬姛,{}", JSONObject.toJSONString(transTask));
diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index 4c69d23..148e36d 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -229,8 +229,9 @@
try {
// 妯℃嫙杩斿洖
// rcsReturn.setCode("SUCCESS");
-// log.info("鍛煎彨agv鎼繍鎴愬姛锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
// success = true;
+// log.info("鍛煎彨agv鎼繍鎴愬姛锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
+
response = sendPost(url, JSONObject.toJSONString(rcsTaskSubmit));
if (!StringUtils.isEmpty(response) && response.contains("code")) {
diff --git a/src/main/java/com/zy/asrs/task/handler/JlerHandler.java b/src/main/java/com/zy/asrs/task/handler/JlerHandler.java
index 06862fe..6f4331e 100644
--- a/src/main/java/com/zy/asrs/task/handler/JlerHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/JlerHandler.java
@@ -15,6 +15,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
+import java.util.Date;
/**
* @author pang.jiabao
@@ -50,7 +51,7 @@
if(wrkMast.getIoType() == 110) {
if(mesOutApply == null) { // 涓嶆槸mes涓嬪彂鐨勭┖鎵樺嚭搴�
TransTask transTask = new TransTask();
-// transTask.setTaskno(mesOutApply.getTaskno());
+ transTask.setTaskno(String.valueOf(new Date().getTime()));
// transTask.setTaskname(mesOutApply.getTaskname());
// transTask.setOrderNo(mesOutApply.getOrderNo());
transTask.setTransType("01");
@@ -64,10 +65,6 @@
transTask.setAgvFactory(1);
JSONObject sendAgvTask = mesService.submitTask(transTask);
if ("1".equals(sendAgvTask.getString("Success"))) {
- String taskno = sendAgvTask.getString("taskno");
- if(Cools.isEmpty(wrkMast.getTaskNo())) {
- wrkMast.setTaskNo(taskno);
- }
wrkMast.setCallAgv(1);
wrkMastService.updateById(wrkMast);
}else {
@@ -90,10 +87,6 @@
transTask.setAgvFactory(1);
JSONObject sendAgvTask = mesService.submitTask(transTask);
if ("1".equals(sendAgvTask.getString("Success"))) {
-// String taskno = sendAgvTask.getString("taskno");
-// if(Cools.isEmpty(wrkMast.getTaskNo())) {
-// wrkMast.setTaskNo(taskno);
-// }
wrkMast.setCallAgv(1);
wrkMastService.updateById(wrkMast);
}else {
@@ -122,10 +115,6 @@
JSONObject sendAgvTask = mesService.submitTask(transTask);
if ("1".equals(sendAgvTask.getString("Success"))) {
-// String taskno = sendAgvTask.getString("taskno");
-// if(Cools.isEmpty(wrkMast.getTaskNo())) {
-// wrkMast.setTaskNo(taskno);
-// }
wrkMast.setCallAgv(1);
wrkMastService.updateById(wrkMast);
}else {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index eb60083..1c04b05 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -128,6 +128,8 @@
wmsTransStartStation3: 204
#鎵樼洏鐗╂枡鍙�
zpalletId: tuopan
+ #鏈夎揣鎵樼洏 pda鎵樼洏鍥炲簱鐢�
+ loadedPallet: loadedPallet
#mes瀵规帴
mes:
--
Gitblit v1.9.1