From 8076a2a7abb05b4f49544bd95a6083bae0048023 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 13 一月 2021 15:19:38 +0800
Subject: [PATCH] #test
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 93 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index fe74358..cb11c6a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -134,7 +134,7 @@
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
- StartupDto startupDto = commonService.getLocNo(1, 1, inSta.getStaNo(), matNos, locTypeDto);
+ StartupDto startupDto = commonService.getLocNo(1, 1, inSta.getStaNo(), matNos, locTypeDto, 0);
// 宸ヤ綔鍙�
int workNo = startupDto.getWorkNo();
// 鎻掑叆宸ヤ綔鏄庣粏妗�
@@ -632,7 +632,6 @@
/**
* 搴撲綅绉昏浆
*/
- @Async
public synchronized void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){
// 鑾峰彇宸ヤ綔妗d俊鎭�
WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId());
@@ -756,7 +755,7 @@
if (wrkMast == null) {
continue;
}
- BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
@@ -803,7 +802,7 @@
if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
// 璁板綍鏂板紓甯�
if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
@@ -874,7 +873,7 @@
&& staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
- StartupDto startupDto = commonService.getLocNo(1, 10, emptyInSta.getStaNo(), null, locTypeDto);
+ StartupDto startupDto = commonService.getLocNo(1, 10, emptyInSta.getStaNo(), null, locTypeDto, 0);
// 宸ヤ綔鍙�
int workNo = startupDto.getWorkNo();
@@ -1223,4 +1222,93 @@
}
}
+ /**
+ * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆
+ */
+ public synchronized void crnDemoOfLocMove1(){
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ if (!crn.getDemo()) { continue; } // 蹇呴』涓烘紨绀虹姸鎬�
+
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ // 鑾峰彇绉诲簱宸ヤ綔妗d俊鎭�
+ WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getId());
+ if (null != wrkMast) { continue; }
+
+ LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId());
+ LocMast loc = locMastService.queryDemoLoc(crn.getId());
+ if (null == sourceLoc || null == loc) { continue; }
+
+ String sourceLocNo = sourceLoc.getLocNo();
+ String locNo = loc.getLocNo();
+
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
+ // 淇濆瓨宸ヤ綔妗�
+ wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+ wrkMast.setIoPri(13D);
+ wrkMast.setCrnNo(crn.getId());
+ wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
+ wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
+ wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiTime(new Date());
+ int res = wrkMastMapper.insert(wrkMast);
+ if (res == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
+ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ sourceLoc.setModiTime(new Date());
+ if (!locMastService.updateById(sourceLoc)){
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(new Date());
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触");
+ }
+
+ }
+
+ }
+ }
+
+
}
--
Gitblit v1.9.1