From f14bb52ddab40bf589304b6b43331ddaccea69f6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 27 十二月 2025 16:03:36 +0800
Subject: [PATCH] 1.完善AGV任务创建和下发 2.完善数据孪生 3.新增拍照获取照片 4.新增PDA配盘出库单立即出库 5.新增PDA配盘入库单下拉框获取订单号
---
src/main/java/com/zy/asrs/controller/MobileController.java | 207 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 168 insertions(+), 39 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 81cd8f6..b239166 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -14,6 +14,10 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderDetlPakoutServiceImpl;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderPakoutServiceImpl;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.common.model.WrkDto;
import com.zy.common.utils.HttpHandler;
@@ -24,6 +28,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -61,6 +66,16 @@
@Resource
private StaDescService staDescService;
+ @Autowired
+ private OrderPakinServiceImpl orderPakinService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private OrderDetlPakinServiceImpl orderDetlPakinService;
+ @Autowired
+ private OrderPakoutServiceImpl orderPakoutService;
+ @Autowired
+ private OrderDetlPakoutServiceImpl orderDetlPakoutService;
@RequestMapping("/pda/WarehouseOut/v1")
@ManagerAuth(memo = "骞舵澘閫斾腑鎷f枡-鍙傝�冨康鍒�")
@@ -209,48 +224,50 @@
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
public R orderSearchByBarcode(@RequestParam String orderNo){
- if (Cools.isEmpty(orderNo)){
- orderNo=null;
- }
-// List<Order> orders = orderService.selectorderNoL(orderNo);
- List<Order> orders = OrderInAndOutUtil.selectOrderNoL(null, orderNo);
- if (Cools.isEmpty(orders)){
+ OrderPakin orderPakin = orderPakinService.selectByNo(orderNo);
+ if (orderPakin == null) {
return R.ok();
}
- LinkedList<CombParam> combParams = new LinkedList<>();
- if (!Cools.isEmpty(orders)){
- for (Order order:orders){
- CombParam combParam=new CombParam();
- if (order == null) {
- continue;
- }
- DocType docType = docTypeService.selectById(order.getDocType());
- if (docType.getPakin() == null || docType.getPakin() != 1) {
- continue;
- }
- if (order.getSettle() > 2) {
- continue;
- }
-// List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
- List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(), order.getId());
- if (!Cools.isEmpty(orderDetls)) {
- LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
- for (OrderDetl orderDetl:orderDetls){
- CombParam.CombMat combMat = new CombParam.CombMat();
- combMat.setMatnr(orderDetl.getMatnr());
- combMat.setBatch(orderDetl.getBatch());
- combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
- combMat.setMaktx(orderDetl.getMaktx());
- combMat.setSpecs(orderDetl.getSpecs());
- combMats.add(combMat);
- }
- combParam.setCombMats(combMats);
- }
- combParam.setOrderNo(order.getOrderNo());
- combParams.add(combParam);
- }
+ DocType docType = docTypeService.selectById(orderPakin.getDocType());
+ if (docType.getPakin() != 1) {
+ return R.ok();
}
- return R.ok().add(combParams);
+
+ List<OrderDetlPakin> orderDetlPakins = orderPakinService.selectWorkingDetls(orderPakin.getId());
+ if (Cools.isEmpty(orderDetlPakins)) {
+ return R.ok();
+ }
+ List<OrderDetlPakin> orderDetls1= new ArrayList<>();
+ for (OrderDetlPakin orderDetl : orderDetlPakins) {
+ if(orderDetl.getAnfme()-orderDetl.getWorkQty()>0){
+ orderDetls1.add(orderDetl);
+ }
+
+ }
+ return R.ok().add(orderDetls1);
+ }
+
+ @RequestMapping("/order/search/orderNo/out/auth")
+ @ManagerAuth
+ public R orderSearchByBarcodeOut(@RequestParam String orderNo){
+ OrderPakout orderPakout = orderPakoutService.selectByNo(orderNo);
+ if (orderPakout == null) {
+ return R.ok();
+ }
+ DocType docType = docTypeService.selectById(orderPakout.getDocType());
+
+ List<OrderDetlPakout> orderDetlPakouts = orderPakoutService.selectWorkingDetls(orderPakout.getId());
+ if (Cools.isEmpty(orderDetlPakouts)) {
+ return R.ok();
+ }
+ List<OrderDetlPakout> orderDetls1= new ArrayList<>();
+ for (OrderDetlPakout orderDetl : orderDetlPakouts) {
+ if(orderDetl.getAnfme()-orderDetl.getWorkQty()>0){
+ orderDetls1.add(orderDetl);
+ }
+
+ }
+ return R.ok().add(orderDetls1);
}
@RequestMapping("/comb/auth")
@@ -549,4 +566,116 @@
return mobileService.callEmptyBinOutBound(locNo,size,getUserId());
}
+ /**
+ * 绌烘澘鍥炲簱鎴栬�呮嫞鏂欏洖搴�
+ *
+ * @param sourceStaNo
+ * @param staNo
+ * @return
+ */
+ @RequestMapping("/AGVStartReturn")
+ public synchronized R AGVStartReturn(@RequestParam(required = false) String sourceStaNo
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
+ if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
+ return R.error("婧愮珯鐐瑰拰鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ List<Task> tasks = taskService.selectList(new EntityWrapper<Task>().eq("source_sta_no", sourceStaNo).eq("barcode", staNo));
+ if (tasks.size() > 0) {
+ return R.error("璇ユ墭鐩�="+staNo+"宸茬粡瀛樺湪鎼繍浠诲姟锛岃涓嶈閲嶅涓嬪彂");
+ }
+
+ String barcode = staNo.substring(0,1);
+ if(barcode.equals("3")){
+ taskNo = "307";
+ }else if(barcode.equals("4")){
+ taskNo = "402";
+ }else if(barcode.equals("5")){
+ taskNo = "401";
+ }
+
+ R r = R.ok();
+ //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
+ // 淇濆瓨宸ヤ綔妗�
+ Task task = new Task();
+ Date date = new Date();
+ String TaskNo = 555555 + "aa" + date.getTime();
+ task.setWrkNo((int) date.getTime())
+ .setTaskNo(TaskNo)
+ .setIoTime(date)
+ .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
+ .setIoType(3) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
+ .setTaskType("agv")
+ .setIoPri(10D)
+ .setFullPlt("Y") // 婊℃澘锛歒
+ .setPicking("N") // 鎷f枡
+ .setExitMk("N")// 閫�鍑�
+ .setStaNo(staNo)
+ .setSourceStaNo(taskNo)//agv鍙栬揣绔欑偣
+ .setEmptyMk("N")// 绌烘澘
+ .setBarcode(staNo)// 鎵樼洏鐮�
+ .setLinkMis("N")
+ .setAppeUser(9945L)
+ .setAppeTime(date)
+ .setModiUser(9945L)
+ .setModiTime(date);
+ if (!taskService.insert(task)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ return r;
+ }
+
+ @RequestMapping("/orderIn")
+ public synchronized R AGVOrderInReturn() {
+ List<OrderPakin> settle = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("settle", 1, 2));
+ List<String> list = new ArrayList<>();
+ for (OrderPakin orderPakin : settle) {
+ if (orderPakin.getSettle()==2){
+ List<OrderDetlPakin> orderId = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderPakin.getId()));
+ Boolean boo=true;
+ for (OrderDetlPakin orderDetlPakin : orderId) {
+ if (orderDetlPakin.getAnfme()>orderDetlPakin.getWorkQty()){
+ boo=false;
+ break;
+ }
+ }
+ if (boo) {
+ settle.remove(orderPakin);
+ }else {
+ list.add(orderPakin.getOrderNo());
+ }
+ }else {
+ list.add(orderPakin.getOrderNo());
+ }
+ }
+ return R.ok(list);
+ }
+
+ @RequestMapping("/orderOut")
+ public synchronized R AGVOrderOutReturn() {
+ List<OrderPakout> settle = orderPakoutService.selectList(new EntityWrapper<OrderPakout>().in("settle", 1, 2).eq("doc_type",11));
+ List<String> list = new ArrayList<>();
+ for (OrderPakout orderPakout: settle) {
+ if (orderPakout.getSettle()==2){
+ List<OrderDetlPakout> orderId = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderPakout.getId()));
+ Boolean boo=true;
+ for (OrderDetlPakout orderDetlPakout: orderId) {
+ if (orderDetlPakout.getAnfme()>orderDetlPakout.getWorkQty()){
+ boo=false;
+ break;
+ }
+ }
+ if (boo) {
+ settle.remove(orderPakout);
+ }else {
+ list.add(orderPakout.getOrderNo());
+ }
+ }else {
+ list.add(orderPakout.getOrderNo());
+ }
+ }
+ return R.ok(list);
+ }
+
}
--
Gitblit v1.9.1