From 91c623a67e67a0f2627d237fbf54bacbf678cbd2 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 16 五月 2024 14:14:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/phyzasrs' into phyzasrs
---
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 99 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index be57ed6..de60dca 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -2,23 +2,19 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
-import com.zy.asrs.entity.AgvBasDevp;
-import com.zy.asrs.entity.AgvLocDetl;
-import com.zy.asrs.entity.AgvLocMast;
-import com.zy.asrs.entity.param.AgvMobileStartPakin;
-import com.zy.asrs.entity.param.AgvMobileStartParam;
-import com.zy.asrs.entity.param.CombParam;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
+import io.swagger.models.auth.In;
import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
@@ -56,6 +52,14 @@
agvMobileService.comb(combParam, getUserId());
return R.ok();
+ }
+
+ // 鍐嶆鎷f枡
+ @RequestMapping("/pick/again/auth")
+ @ManagerAuth(memo = "鍐嶆鎷f枡")
+ public R pickAgain(@RequestBody PickParam pickParams){
+ agvMobileService.pickAgain(pickParams, 1l);
+ return R.ok("鎷f枡鎴愬姛");
}
/*
@@ -175,6 +179,7 @@
String orderNo = params.get("orderNo");
String threeCode = params.get("threeCode");
String matnr = params.get("matnr");
+ String floor = params.get("floor");
Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr);
@@ -182,9 +187,27 @@
wrapper = Cools.isEmpty(threeCode) ? wrapper.isNull("three_code") : wrapper.eq("three_code",threeCode);
+ if (threeCode.substring(0,2).equals(30)) {
+ wrapper.isNull("specs").or().eq("specs","").eq("floor",1);
+ }
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(wrapper);
+ List<AgvLocDetl> locDetls = new ArrayList<>();
+ for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ AgvLocMast agvLocMast = new AgvLocMast();
+ if (Cools.isEmpty(floor)) {
+ agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).notLike("loc_no","F1"));
+ } else {
+ agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).like("loc_no",floor));
+ }
- return R.ok(agvLocDetls);
+ if (Cools.isEmpty(agvLocMast)) continue;
+ agvLocDetl.setLocSts(agvLocMast.getLocSts());
+ agvLocDetl.setLocSts$(agvLocMast.getLocSts$());
+ locDetls.add(agvLocDetl);
+ }
+
+
+ return R.ok(locDetls);
}
/*
@@ -240,10 +263,10 @@
AgvLocMast agvLocMastByContainerCode = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("barcode", containerCode));
AgvLocMast agvLocMastByLocNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
- String locNo1 = listByContainerCode.get(0).getLocNo();
- String suppCode = listByLocNo.get(0).getSuppCode();
+ String barcode1 = agvLocMastByLocNo.getBarcode();
- List<AgvLocDetl> supp_codes = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", suppCode));
+
+
if((!Cools.eq("F",agvLocMastByContainerCode.getLocSts())
&& !Cools.eq("D",agvLocMastByContainerCode.getLocSts()))
|| (!Cools.eq("F",agvLocMastByLocNo.getLocSts())
@@ -252,7 +275,7 @@
return R.error("搴撲綅鐘舵�佷笉涓篎鎴栬�匘锛屾棤娉曠淮鎶�");
}
-
+ // -------------1-----------------------------
//搴撲綅淇℃伅涓虹┖ 璐ф灦淇℃伅涓嶄负绌�
if(Cools.isEmpty(listByLocNo) && !Cools.isEmpty(listByContainerCode)){
//鏇存柊璐ф灦淇℃伅鐨勫簱浣嶄负褰撳墠搴撲綅
@@ -263,29 +286,36 @@
});
agvLocMastByLocNo.setLocSts("F");
+ agvLocMastByLocNo.setBarcode(containerCode);
agvLocMastService.updateById(agvLocMastByLocNo);
- if(!Cools.isEmpty(agvLocMastByContainerCode) && Cools.eq("D",agvLocMastByContainerCode.getLocSts())){
+ if(!Cools.isEmpty(agvLocMastByContainerCode) && Cools.eq("F",agvLocMastByContainerCode.getLocSts())){
agvLocMastByContainerCode.setLocSts("D");
+ agvLocMastByContainerCode.setBarcode(barcode1);
agvLocMastService.updateById(agvLocMastByContainerCode);
}
return R.ok("缁存姢鎴愬姛");
}
+
+ // -------------2-----------------------------
//搴撲綅淇℃伅涓嶄负绌� 璐ф灦淇℃伅涓虹┖
if(!Cools.isEmpty(listByLocNo) && Cools.isEmpty(listByContainerCode)){
+ String newLocNo = agvLocMastByContainerCode.getLocNo();
//鏇存柊璐ф灦淇℃伅鐨勫簱浣嶄负褰撳墠搴撲綅
listByLocNo.forEach(agvLocDetl -> {
String sourceLoc = agvLocDetl.getLocNo();
agvLocDetl.setLocNo(agvLocMastByContainerCode.getLocNo());
- agvLocDetlService.updateLocNo(locNo,sourceLoc,agvLocDetl);
+ agvLocDetlService.updateLocNo(newLocNo,sourceLoc,agvLocDetl);
});
agvLocMastByContainerCode.setLocSts("F");
+ agvLocMastByContainerCode.setBarcode(agvLocMastByLocNo.getBarcode());
agvLocMastService.updateById(agvLocMastByContainerCode);
agvLocMastByLocNo.setLocSts("D");
+ agvLocMastByLocNo.setBarcode(containerCode);
agvLocMastService.updateById(agvLocMastByLocNo);
return R.ok("缁存姢鎴愬姛");
@@ -297,17 +327,24 @@
+ // --------------3----------------------------
+ String locNo1 = listByContainerCode.get(0).getLocNo();
listByContainerCode.forEach(agvLocDetl -> {
String sourceLoc = agvLocDetl.getLocNo();
agvLocDetl.setLocNo(agvLocMastByLocNo.getLocNo());
agvLocDetlService.updateLocNo(locNo,sourceLoc,agvLocDetl);
});
+ if (!Cools.isEmpty(listByLocNo)) {
+ String suppCode = listByLocNo.get(0).getSuppCode();
+ List<AgvLocDetl> supp_codes = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", suppCode));
- supp_codes.forEach(agvLocDetl -> {
- agvLocDetl.setLocNo(locNo1);
- agvLocDetlService.updateLocNo(locNo1,locNo,agvLocDetl);
- });
+ supp_codes.forEach(agvLocDetl -> {
+ agvLocDetl.setLocNo(locNo1);
+ agvLocDetlService.updateLocNo(locNo1,locNo,agvLocDetl);
+ });
+ }
+
// listByLocNo.forEach(agvLocDetl -> {
// String sourceLoc = agvLocDetl.getLocNo();
// agvLocDetl.setLocNo(agvLocMastByContainerCode.getLocNo());
@@ -323,6 +360,47 @@
}
+ @PostMapping("/agv/v1/locMove")
+ @Transactional
+ @ManagerAuth(memo = "璋冩嫧鍗曚换鍔′笅鍙�")
+ public R agvLocMove(@RequestBody HashMap<String,Object> params){
+ String fl = String.valueOf(params.get("floor"));
+ short floor =(short)Integer.parseInt(fl.substring(0, 1));
+ List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList");
+ params.get("dbList");
+ Object moveType = params.get("moveType");
+ if (moveType == "unAuto") {
+ return R.error("鎵嬪姩鍔熻兘鏆傛椂鏃犳硶浣跨敤");
+ }
+ for (HashMap<String, String> map : dbList) {
+ String locNo = map.get("locNo");
+ Wrapper<AgvLocMast> wrapper = new EntityWrapper<AgvLocMast>().eq("loc_no", locNo);
+ AgvLocMast agvLocMast = agvLocMastService.selectOne(wrapper);
+ agvLocMast.setLocType("1");
+ agvLocMast.setLocType3(floor);
+ agvLocMastService.update(agvLocMast,wrapper);
+ // 鍚屾璋冩嫧鍗�
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+ for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ // 鏇存柊璁㈠崟
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+ orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
+ if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
+ throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+ }
+ }
+ }
+ return R.ok();
+ }
+
+ @PostMapping("/hand/control/locMove")
+ @Transactional
+ @ManagerAuth(memo = "鎵嬪姩搴撲綅杞Щ")
+ public R handControlLocMove(@RequestBody LocMoveParam param){
+ agvMobileService.handControlLocMove(param, getUserId());
+ return R.ok();
+ }
+
public static void main(String[] args) {
List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
List<AgvLocDetl> agvLocDetls2 = new ArrayList<>();
--
Gitblit v1.9.1