From 49f306cb470a8ee824204b701796d1d8f63ff223 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 27 十月 2025 17:58:05 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/common/web/WcsController.java | 132 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 120 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index ab15718..30f438b 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -31,7 +31,8 @@
@RestController
@RequestMapping("/rpc")
public class WcsController {
-
+ @Autowired
+ private WrkLastnoService wrkLastnoService;
@Autowired
private WrkMastService wrkMastService;
@Autowired
@@ -74,7 +75,7 @@
}
return R.parse(CodeRes.NO_COMB_700);
}
- int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
if (countLoc > 0 || countWrk > 0) {
return R.error(CodeRes.EXIST_500);
@@ -98,6 +99,44 @@
case 10://绌烘墭鐩樺叆搴�
dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
break;
+ default:
+ break;
+ }
+ log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
+ return R.ok().add(dto);
+ }
+
+ @PostMapping("/pakin/agv/loc/v1")
+ @ResponseBody
+ public synchronized R getLocNoAgv(@RequestBody SearchLocParam param) {
+ log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
+ if (Cools.isEmpty(param.getIoType())) {
+ return R.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
+ }
+ if (Cools.isEmpty(param.getSourceStaNo())) {
+ return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
+ }
+ if (param.getIoType() == 1) {
+ if (Cools.isEmpty(param.getBarcode())) {
+ return R.error("鏉$爜涓嶈兘涓虹┖");
+ }
+ }
+ if (Cools.isEmpty(param.getLocType1())){
+ return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
+ }
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
+ sourceStaNo.setLocType1(param.getLocType1());
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+
+ StartupDto dto = null;
+ switch (param.getIoType()) {
+ case 1://婊℃墭鐩樺叆搴�
+ case 10://绌烘墭鐩樺叆搴�
+ dto = startupFullPutStoreAgv(param.getSourceStaNo(), param.getBarcode(), locTypeDto);
+ break;
+// dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
+// break;
default:
break;
}
@@ -178,15 +217,55 @@
}
- @PostMapping("/auto/TransplantingOut/v1")
+ /**
+ * 鐢熸垚宸ヤ綔鍙�
+ *
+ * @param wrkMk
+ * @return workNo(宸ヤ綔鍙�)
+ */
+ public int getWorkNo(Integer wrkMk) {
+ WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
+ if (Cools.isEmpty(wrkLastno)) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+
+ int workNo = wrkLastno.getWrkNo();
+ int sNo = wrkLastno.getSNo();
+ int eNo = wrkLastno.getENo();
+ workNo = workNo >= eNo ? sNo : workNo + 1;
+ while (true) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (null != wrkMast) {
+ workNo = workNo >= eNo ? sNo : workNo + 1;
+ } else {
+ break;
+ }
+ }
+ // 淇敼搴忓彿璁板綍
+ if (workNo > 0) {
+ wrkLastno.setWrkNo(workNo);
+ wrkLastnoService.updateById(wrkLastno);
+ }
+ // 妫�楠�
+ if (workNo == 0) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
+ } else {
+ if (wrkMastService.selectById(workNo) != null) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
+ }
+ }
+ return workNo;
+ }
+ @PostMapping("/auto/銆�" +
+ "TransplantingOut/v1")
@ResponseBody
public R autoTransplantingOut(@RequestBody TransplantWork transplantWork){
// 婧愮珯鐐圭姸鎬佹娴�
- BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
+// BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode());
- if(sourceStaNo ==null ){
- return R.error("璇ョ珯鐐圭洏鐐圭Щ鏍借鍙紝璇锋煡鐪嬫簮绔欑偣鐘舵�佹娴�");
- }
+// if(sourceStaNo ==null ){
+// return R.error("璇ョ珯鐐圭洏鐐圭Щ鏍借鍙紝璇锋煡鐪嬫簮绔欑偣鐘舵�佹娴�");
+// }
if(wrkMast1== null){
return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
}
@@ -194,6 +273,7 @@
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
+ int workNo = getWorkNo(0);
wrkMast.setWrkNo(9997);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L);
@@ -230,11 +310,11 @@
@ResponseBody
public R autoTransplantingIn(@RequestBody TransplantWork transplantWork){
// 婧愮珯鐐圭姸鎬佹娴�
- BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
+// BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode());
- if(sourceStaNo == null){
-
- }
+// if(sourceStaNo == null){
+//
+// }
if(wrkMast1== null){
return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
}
@@ -245,7 +325,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(9996);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(2L);
+ wrkMast.setWrkSts(11L);
wrkMast.setIoPri(14D);
wrkMast.setIoType(12);
wrkMast.setCrnNo(3);
@@ -277,6 +357,34 @@
/**
+ * 鍏ㄦ澘鍏ュ簱AGV
+ */
+ @Transactional
+ public StartupDto startupFullPutStoreAgv(Integer devpNo, String barcode, LocTypeDto locTypeDto) {
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+ // 妫�绱㈠簱浣�
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
+ StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ Date now = new Date();
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")){
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setBarcode(barcode);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ return dto;
+ }
+
+
+ /**
* 鍏ㄦ澘鍏ュ簱
*/
@Transactional
--
Gitblit v1.9.1