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 | 155 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 145 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 2d251c6..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);
@@ -105,6 +106,44 @@
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;
+ }
+ log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
+ return R.ok().add(dto);
+ }
+
@PostMapping("/auto/emptyIn/v1")
@ResponseBody
public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto){
@@ -115,12 +154,15 @@
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
StartupDto dto = commonService.getLocNo( 10, 1038, findLocNoAttributeVo, locTypeDto);
+ if (dto == null){
+ throw new CoolException("鏌ヨ搴撲綅澶辫触");
+ }
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(dto.getWorkNo());
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(1L);
+ wrkMast.setWrkSts(2L);
wrkMast.setIoPri(13D);
wrkMast.setIoType(10);
wrkMast.setCrnNo(dto.getCrnNo());
@@ -137,7 +179,26 @@
wrkMast.setAppeTime(now);
wrkMast.setModiTime(now);
wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
- return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触");
+ // 鏇存柊婧愮珯鐐逛俊鎭�
+ sourceStaNo.setWrkNo(dto.getWorkNo());
+ sourceStaNo.setModiUser(9999L);
+ sourceStaNo.setModiTime(now);
+ if (!basDevpService.updateById(sourceStaNo)){
+ throw new CoolException("鏇存柊婧愮珯澶辫触");
+ }
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")){
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiUser(9999L);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)){
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()).add(wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触");
}
@PostMapping("auto/emptyOut/v1")
@@ -156,20 +217,63 @@
}
- @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(wrkMast1== null){
return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
}
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo());
Date now = new Date();
-
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
+ int workNo = getWorkNo(0);
wrkMast.setWrkNo(9997);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L);
@@ -177,7 +281,7 @@
wrkMast.setIoType(12);
wrkMast.setCrnNo(3);
wrkMast.setBarcode(transplantWork.getBarcode());
- wrkMast.setSourceStaNo(1015);
+ wrkMast.setSourceStaNo(transplantWork.getSourceStaNo());
wrkMast.setStaNo(transplantWork.getStaNo());
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
@@ -206,8 +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(wrkMast1== null){
return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
}
@@ -218,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);
@@ -250,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