From 91cfc50d5231ffa6e1e9a86e12bd68f3efa57e50 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 22 十月 2025 09:21:09 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/common/web/WcsController.java | 80 +++++++++++++++++++++++++++++++++++++---
1 files changed, 74 insertions(+), 6 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..b01636e 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);
@@ -115,12 +116,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 +141,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 +179,62 @@
}
+ /**
+ * 鐢熸垚宸ヤ綔鍙�
+ *
+ * @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);
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 +242,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枡
@@ -208,6 +273,9 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode());
+ if(sourceStaNo == null){
+
+ }
if(wrkMast1== null){
return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
}
--
Gitblit v1.9.1