From efac58964167be8db7cc5e967051c104d741bac2 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期五, 20 九月 2024 09:23:41 +0800
Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp
---
src/main/java/com/zy/asrs/controller/OrderController.java | 37 +++++++--
src/main/java/com/zy/asrs/task/OverYearLogScheduler.java | 2
src/main/java/com/zy/asrs/task/handler/AutoMoveCreateExecuteHandler.java | 2
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 35 +++++++-
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 2
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 35 +++++++-
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 3
src/main/java/com/zy/common/config/ScheduleConfig.java | 18 ++++
src/main/java/com/zy/asrs/controller/AgvBasDevpController.java | 2
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2
src/main/java/com/zy/common/web/WcsController.java | 1
src/main/webapp/static/js/agvWrkMast/wrkMast.js | 3
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 11 ++
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 14 +-
src/main/java/com/zy/asrs/task/PlcLogScheduler.java | 2
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 12 +++
src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js | 2
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 3
src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 2
src/main/java/com/zy/common/model/DetlDto.java | 6 +
src/main/java/com/zy/asrs/task/AutoMoveCreateExecuteScheduler.java | 1
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 4 +
src/main/java/com/zy/asrs/task/NotifyLogScheduler.java | 2
23 files changed, 166 insertions(+), 35 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
index 466391b..44c98f3 100644
--- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -235,6 +235,7 @@
}
agvWrkMast.setWrkSts(206L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
return R.ok("璐ф灦绂诲満鎴愬姛");
@@ -254,6 +255,7 @@
}
agvWrkMast.setWrkSts(208L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
return R.ok("璐ф灦绂诲満鎴愬姛");
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 2f37df0..66ecba6 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -28,6 +28,7 @@
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Date;
import java.util.EnumSet;
import java.util.Map;
@@ -182,6 +183,7 @@
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
agvWrkMast.setWrkSts(206L);
}
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
}
},
@@ -193,6 +195,7 @@
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.浠诲姟寮�濮�
agvWrkMast.setWrkSts(203L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
}
},
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index abc64da..adfbd0d 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -583,6 +583,7 @@
@Transactional
public R formModify(@RequestBody OrderDomainParam param){
Order order = orderService.selectById(param.getOrderId());
+ int docType = param.getDocType().intValue();
if (order == null || order.getStatus() == 0) {
return R.error("璁㈠崟涓嶅瓨鍦�");
}
@@ -606,7 +607,7 @@
// 2.閲嶇粍鏁版嵁
List<DetlDto> list = new ArrayList<>();
for (OrderDetl orderDetl : param.getOrderDetlList()) {
- DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+ DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getAnfme(), orderDetl.getProcessSts());
if (DetlDto.has(list, dto)) {
OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
@@ -614,10 +615,20 @@
throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
}
} else {
+ if (docType == 35 && orderDetl.getProcessSts() == 1) {
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>()
+ .eq("matnr", orderDetl.getMatnr())
+ .eq("order_no", orderDetl.getOrderNo())
+ .eq("process_sts", 3));
+ for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ agvLocDetl.setProcessSts(1);
+ agvLocDetlService.updateById(agvLocDetl);
+ }
+ }
list.add(dto);
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
- orderDetl.setSource(param.getDocType().intValue());
+ orderDetl.setSource(docType);
orderDetl.setCreateBy(getUserId());
orderDetl.setCreateTime(now);
orderDetl.setUpdateBy(getUserId());
@@ -886,18 +897,18 @@
proSts = 3;
}
-
+ String odNo = uuid;
if(docType.getPakin() == 1){
- uuid += "_I";
+ odNo += "_I";
}else {
- uuid += "_O";
+ odNo += "_O";
}
- Order order = orderService.selectByNo(uuid);
+ Order order = orderService.selectByNo(odNo);
if (null == order) {
order = new Order(
String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
- uuid, // 璁㈠崟缂栧彿
+ odNo, // 璁㈠崟缂栧彿
null, // 鍗曟嵁鏃ユ湡
docType.getDocId(), // 鍗曟嵁绫诲瀷
null, // 椤圭洰缂栧彿
@@ -935,6 +946,11 @@
throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃閲嶆柊瀵煎叆锛�");
}
}else {
+ // 鏈夊師璁㈠崟鍦ㄧ殑鎯呭喌
+ DocType orderType = docTypeService.selectById(order.getDocType());
+ if (!orderType.getDocName().equals(docName)) {
+ throw new CoolException("鏂拌鍗曪細" + uuid + " 涓庣郴缁熷唴鐨勮鍗曞彿鐩稿悓锛屽崟鎹被鍨嬩笉鍚屻�傝纭鏂拌鍗曞崟鎹被鍨嬶紒");
+ }
order.setSettle(order.getSettle() == 1L ? 1L : 2L );
orderService.updateById(order);
}
@@ -961,13 +977,16 @@
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
}
} else {
+ if (anfme < 0) {
+ throw new CoolException("璁㈠崟鏁伴噺涓嶅厑璁镐负璐熸暟锛�");
+ }
if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme,csocode,isocode)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
}
}
// 鐢熸垚璋冩嫧鍗�
if (docType.getDocId().intValue() == 32) {
- String dbUuid = "DB" + uuid;
+ String dbUuid = "DB" + odNo;
Order order2 = orderService.selectByNo(dbUuid);
if (null == order2) {
order2 = new Order(
@@ -1045,7 +1064,7 @@
// 宸ュ簭涓�1锛氬緟鍔犲伐 鐢熸垚鍔犲伐鍗�
if (proSts == 1) {
if (docType.getDocId().intValue() == 32) {
- String dbUuid = "JG" + uuid;
+ String dbUuid = "JG" + odNo;
Order order3 = orderService.selectByNo(dbUuid);
if (null == order3) {
order3 = new Order(
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index e56ddff..349450e 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -15,7 +15,9 @@
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
+import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -149,12 +151,15 @@
}
@RequestMapping(value = "/orderDetl/pakout/list/authV3")
+ @Synchronized
@ManagerAuth
public R pakoutList3(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam(required = false)String orderByField,
@RequestParam(required = false)String orderByType,
@RequestParam Map<String, Object> param){
+ StopWatch stopWatch = new StopWatch();
+ stopWatch.start();
EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
excludeTrash(param);
convertLike(param, wrapper);
@@ -168,14 +173,14 @@
docIds.add(pakin.getDocId());
}
}
-
- wrapper.in("source",docIds);
+ wrapper.ne("source",19);
Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
for (OrderDetl record : page.getRecords()) {
Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
record.setStock(sumAnfme == null ? 0 : sumAnfme);
}
-
+ stopWatch.stop();
+ System.out.println(stopWatch.getTotalTimeSeconds());
return R.ok(page);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index c8b1273..7ac7ed3 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -151,6 +151,7 @@
} else {
Double anfme = agvWrkDetl.getAnfme() + pick.getCount();
agvWrkDetl.setAnfme(anfme);
+ agvWrkDetl.setModiTime(new Date());
agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()).eq("supp_code",pick.getSuppCode()));
}
@@ -178,6 +179,7 @@
}
if (agvLocDetls.size() == sameNumber) {
agvWrkMast.setIoType(101);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", pickParams.getWrkNo()));
}
@@ -515,7 +517,10 @@
if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) {
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 33));
+ if (Cools.isEmpty(orderDetl)) {
+ throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒");
+ }
orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
if (!orderDetlService.updateById(orderDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
@@ -547,8 +552,28 @@
if (!agvWrkMast.getBarcode().equals(param.getBarcode())) {
throw new CoolException("褰撳墠璐ф灦鐮佷笌浠诲姟涓嶅尮閰�");
}
- if (!agvWrkMast.getWrkSts().equals(207L)) {
- throw new CoolException("宸ヤ綔鐘舵�佷笉绗﹀悎绂诲満鏉′欢");
+ if (!agvWrkMast.getWrkSts().equals(207L) && !agvWrkMast.getWrkSts().equals(205L)) {
+ throw new CoolException("褰撳墠宸ヤ綔鐘舵��:" + agvWrkMast.getWrkSts$() +"涓嶇鍚堢鍦烘潯浠�");
+ }
+ if (agvWrkMast.getWrkSts().equals(205L)) {
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+ if (agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ // 鎺ラ┏浣� -- 搴撲綅
+ } else {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ }
+
+ // 鎺ラ┏浣� -- 搴撲綅
+ if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+ } else {
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+ //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+ }
}
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
@@ -571,7 +596,7 @@
}
}
// 鏇存柊绔欑偣鐘舵��
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+// agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
// 鏇存柊婧愬簱浣嶇姸鎬�
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
@@ -640,6 +665,7 @@
if (!agvWrkMast.getBarcode().equals(param.getBarcode())) {
throw new CoolException("褰撳墠璐ф灦鐮佷笌浠诲姟涓嶅尮閰�");
}
+ agvWrkMast.setModiTime(new Date());
agvWrkMast.setWrkSts(213L);
agvWrkMast.setSourceLocNo("");
if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
@@ -668,6 +694,7 @@
throw new CoolException("褰撳墠宸ヤ綔绫诲瀷涓嶈兘绌烘灦杩涘満");
}
agvWrkMast.setWrkSts(214L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMast.setSourceLocNo(param.getDevNo());
if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index dc0d6a4..c512623 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -284,6 +284,7 @@
String locNo = agvWrkMast.getLocNo();
agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
agvWrkMast.setSourceLocNo(locNo);
+ agvWrkMast.setModiTime(new Date());
agvWrkMast.setIoTime(now);
agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
agvWrkMastService.updateById(agvWrkMast);
@@ -1215,9 +1216,11 @@
}
if (wrkMast.getIoType() == 108) {
wrkMast.setIoType(111);
+ wrkMast.setModiTime(new Date());
agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
} else if(wrkMast.getIoType() == 111) {
wrkMast.setIoType(108);
+ wrkMast.setModiTime(new Date());
agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index ce05dd6..ddfc242 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -67,6 +67,7 @@
//鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
checkWrkSts(agvWrkMast,wrkSts);
agvWrkMast.setWrkSts(wrkSts);
+ agvWrkMast.setModiTime(new Date());
this.updateById(agvWrkMast);
}
@@ -109,6 +110,7 @@
agvWrkMast.setLocNo(locMast.getLocNo());
agvWrkMast.setWrkSts(201L);
agvWrkMast.setLogErrMemo("startAllcationIn");
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
// 鏇寸洰鏍囧簱浣�
locMast.setLocSts("S");
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 539a5b5..a7dcc13 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -43,7 +43,7 @@
/*
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 涓� 锛�1.鍏ュ簱 || 53锛屾嫞鏂欏叆搴� || 57.鐩樼偣鍏ュ簱 || 10.绌烘澘鍏ュ簱 || 11.鍗曞眰绉诲簱 || 12.璺ㄥ眰绉诲簱 || 108.鑷姩璋冩嫧 || 109.鎵嬪姩璋冩嫧)鐨勬暟鎹�
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void excutePutwayWrk(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
.eq("wrk_sts", 205)
@@ -76,7 +76,7 @@
/*
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void excuteCarryWrk(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
.eq("wrk_sts", 206)
@@ -97,7 +97,7 @@
/*
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void excuteCarryWrk2(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
.eq("wrk_sts", 208)
@@ -119,7 +119,7 @@
putaway锛氫笂鏋�
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void startPutwayWrk(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
,new EntityWrapper<AgvWrkMast>()
@@ -152,7 +152,7 @@
putaway锛氫笂鏋�
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void startAllcationIn(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
,new EntityWrapper<AgvWrkMast>()
@@ -174,7 +174,7 @@
carry锛氭惉杩愶紝缁熸寚鍑哄簱銆佺Щ搴撱�佺偣鍒扮偣鎼繍绛�
瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓�(鍑哄簱绫诲瀷涓� 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 11.搴撴牸绉绘牻 || 110.绌烘澘鍑哄簱 || 107.鐩樼偣鍑哄簱)鐨勬暟鎹�
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void startCarryWrk(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
,new EntityWrapper<AgvWrkMast>()
@@ -241,7 +241,7 @@
/*
鑷姩鐢熸垚绌烘澘鍑哄簱浠诲姟
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
public void autoEmptyOut(){
boolean packageEmptyAutoOUt = Cools.eq("Y",Parameter.get().getPackageEmptyAutoOUt());
boolean mateEmptyAutoOut = Cools.eq("Y",Parameter.get().getMateEmptyAutoOut());
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveCreateExecuteScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveCreateExecuteScheduler.java
index 57a4370..682cf0c 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveCreateExecuteScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveCreateExecuteScheduler.java
@@ -117,6 +117,7 @@
WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectOne(new EntityWrapper<WrkMastExecute>().eq("io_type", 121).eq("wrk_no", agvWrkMast.getWrkNo().longValue()));
if (!Cools.isEmpty(wrkMastExecute) && wrkMastExecute.getWrkSts()==3L && wrkMastExecute.getNowPosition()==3){
agvWrkMast.setWrkSts(205L);//浠诲姟瀹屾垚
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//鐢熸垚agv_wrk_mast_execute浠诲姟鍘嗗彶妗�
wrkMastExecuteLogService.save(wrkMastExecute);
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 04fe7ac..c7b265e 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -66,7 +66,7 @@
* ioType 108.鑷姩璋冩嫧
* crnNo :2鐩爣妤煎眰
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private synchronized void execute2(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
.eq("wrk_sts", 22)
diff --git a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
index 93799d9..bbff508 100644
--- a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
@@ -19,7 +19,7 @@
@Autowired
private NotifyLogHandler notifyLogHandler;
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute(){
ReturnT<String> returnT = notifyLogHandler.start();
if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 84bfaa1..65a84cc 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,9 +1,14 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
+import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.AgvLocDetlService;
import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OrderSyncHandler;
@@ -30,8 +35,14 @@
@Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private AgvLocDetlService agvLocDetlService;
+
+ @Autowired
+ private OrderDetlService orderDetlService;
+
@Scheduled(cron = "0 0 1 * * ? ")
- public void clearApiLog(){
+ public void clearApiLog() {
try {
apiLogService.clearWeekBefore();
} catch (Exception e) {
@@ -40,12 +51,28 @@
}
@Scheduled(cron = "0/5 * * * * ? ")
- @Async("orderThreadPool")
- public void completeAndReport(){
+ //@Async("orderThreadPool")
+ public void completeAndReport() {
String erpReport = Parameter.get().getErpReport();
if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
List<Order> orders = orderService.selectComplete();
for (Order order : orders) {
+ //濡傛灉鏄姞宸ュ崟鍒欒繘琛屽垽鏂�
+ if (order.getDocType() == 33) {
+ //鏌ヨ搴撳瓨涓槸鍚﹀瓨鍦ㄨ璁㈠崟鐨勭墿鏂欎俊鎭紝瀛樺湪鍒欎笉澶勭悊璇ヨ鍗�
+ List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
+ Boolean flag = false;
+ for (OrderDetl orderDetl : orderDetlList) {
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()));
+ if (!Cools.isEmpty(agvLocDetls)) {
+ //鍙鏈変竴椤硅鍗曟槑缁嗗瓨鍦紝鍒欐爣璇嗕负true锛岃烦杩囪璁㈠崟
+ flag = true;
+ }
+ }
+ if (flag) {
+ continue;
+ }
+ }
ReturnT<String> result = orderSyncHandler.start(order);
if (!result.isSuccess()) {
log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
@@ -58,7 +85,7 @@
瀹氭椂鏌ヨ鐘舵�佷负2.浣滀笟涓殑鍗曟嵁锛屾鏌ユ槸鍚﹀畬鎴�
*/
@Scheduled(cron = "0 */1 * * * ? ")
- public void completeOrder(){
+ public void completeOrder() {
List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
orderList.forEach(order -> {
orderService.checkComplete(order.getOrderNo());
diff --git a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
index 95a8a29..39652b4 100644
--- a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
@@ -19,7 +19,7 @@
@Autowired
private OverYearLogHandler overYearLogHandler;
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute(){
ReturnT<String> returnT = overYearLogHandler.start();
if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
index 708392f..61c7e8a 100644
--- a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
@@ -19,7 +19,7 @@
@Autowired
private PlcLogHandler plcLogHandler;
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute(){
ReturnT<String> returnT = plcLogHandler.start();
if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
index 06a0624..148f081 100644
--- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -23,7 +23,7 @@
@Autowired
private WrkMastService wrkMastService;
- @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute(){
List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData();
if (wrkMasts.isEmpty()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 9a23068..ea153f8 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -116,6 +116,7 @@
}
+ agvWrkMast.setModiTime(new Date());
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
agvWrkMastService.updateById(agvWrkMast);
@@ -279,6 +280,13 @@
//鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
}
+// else {
+// agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+// if (!agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+// agvWrkMast.setSourceLocNo("");
+// }
+// agvWrkMastService.updateById(agvWrkMast);
+// }
if(!isJSON(orderNo)){
//妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
@@ -320,6 +328,7 @@
String orderNo = getOrderNoByWrkNo(wrkNo);
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//淇敼婧愬簱浣嶇姸鎬佷负O
if (agvWrkMast.getIoType() == 110) {
@@ -420,6 +429,7 @@
}
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
@@ -472,6 +482,7 @@
}
agvWrkMast.setWrkSts(202L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
if(agvWrkMast.getIoType() == 1){
//淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
@@ -537,6 +548,7 @@
Map<String, Object> devNoMap = devNoMaps.get(0);
if((int)devNoMap.get("num") < maxWrokNum){
agvWrkMast.setLocNo(devNoMap.get("dev_no").toString());
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
log.info("after锛�" + devNoMap.toString() + ", wrkNo:" + agvWrkMast.getWrkNo() + ", locNo: " + agvWrkMast.getLocNo());
}
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveCreateExecuteHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveCreateExecuteHandler.java
index 6a43f32..866b082 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveCreateExecuteHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveCreateExecuteHandler.java
@@ -28,7 +28,7 @@
try{
if (wrkMastExecuteService.insert(wrkMastExecute)){
agvWrkMast.setWrkSts(agvWrkMast.getWrkSts()+1);
- agvWrkMast.setAppeTime(new Date());
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
}
}catch (Exception e){
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 9648cba..8653c4c 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -198,6 +198,7 @@
throw new CoolException("褰撳墠搴撲綅姝e湪杩涜鍏ュ簱锛岃繘琛屼笅涓�娆¤疆璇�");
}
agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMast.setLocNo(locMast.getLocNo());
agvWrkMast.setLogErrMemo("start2-doAutoMove2");
agvWrkMastService.updateById(agvWrkMast);
@@ -219,6 +220,7 @@
agvWrkMast.setWrkSts(201L);
agvWrkMast.setLocNo(locMast.getLocNo());
agvWrkMast.setLogErrMemo("start2-doAutoMove2");
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//鏇存柊鐩爣搴撲綅鐘舵��
updateAgvLocMast(locMast,"S");
@@ -241,8 +243,10 @@
}
agvWrkMast.setWrkSts(201L);
agvWrkMast.setLocNo(devpNo.getDevNo());
+ agvWrkMast.setModiTime(new Date());
agvWrkMast.setLogErrMemo("start3-doHandMove2");
agvWrkMastService.updateById(agvWrkMast);
+ agvWrkMast.setModiTime(new Date());
updateAgvBasDevp(devpNo,"S",null,agvWrkMast.getBarcode());
return SUCCESS;
}
diff --git a/src/main/java/com/zy/common/config/ScheduleConfig.java b/src/main/java/com/zy/common/config/ScheduleConfig.java
new file mode 100644
index 0000000..d6c4aeb
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ScheduleConfig.java
@@ -0,0 +1,18 @@
+package com.zy.common.config;
+
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
+@Configuration
+public class ScheduleConfig implements SchedulingConfigurer {
+
+ @Override
+ public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+ taskRegistrar.setScheduler(Executors.newScheduledThreadPool(12));
+ }
+}
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 00640f9..0ebe17e 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -46,6 +46,12 @@
this.anfme = anfme;
}
+ public DetlDto(String matnr, Double anfme,Integer processSts) {
+ this.matnr = matnr;
+ this.anfme = anfme;
+ this.processSts = processSts;
+ }
+
public DetlDto(String matnr, String batch) {
this.matnr = matnr;
this.batch = batch;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fb0ed88..07864aa 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -651,6 +651,7 @@
if(!Cools.isEmpty(agvWrkMast) && agvWrkMast.getIoType() == 101){
//灏嗗伐浣滃厷鐘舵�佹敼涓鸿揣鏋剁鍦�
agvWrkMast.setWrkSts(206L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
// //鍙戦�佽揣鏋剁珛鍦鸿姹傦紝瀹屾垚宸ヤ綔妗�
// List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
diff --git a/src/main/webapp/static/js/agvWrkMast/wrkMast.js b/src/main/webapp/static/js/agvWrkMast/wrkMast.js
index 1fd852b..6887bf7 100644
--- a/src/main/webapp/static/js/agvWrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/agvWrkMast/wrkMast.js
@@ -21,7 +21,7 @@
cols: [[
{type: 'checkbox'}
,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�',sort: true, width: 85}
- ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿',sort: true, width: 160}
+ ,{field: 'modiTime$', align: 'center',title: '宸ヤ綔鏃堕棿',sort: true, width: 160}
,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��'}
,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�'}
,{field: 'ioPri', align: 'center',title: '浼樺厛绾�',width: 80}
@@ -57,6 +57,7 @@
// ,{field: 'crnStrTime$', align: 'center',title: '鍫嗗灈鏈哄惎鍔ㄦ椂闂�'}
// ,{field: 'crnEndTime$', align: 'center',title: '鍫嗗灈鏈哄仠姝㈡椂闂�'}
// ,{field: 'refIotime$', align: 'center',title: '鎷f枡鏃堕棿'}
+ ,{field: 'appeTime$', align: 'center',title: '寮�濮嬫椂闂�', hide:false, width: 160}
,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true}
,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true, width: 160}
// ,{field: 'memo', align: 'center',title: '澶囨敞'}
diff --git a/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js b/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js
index 867626e..c29516e 100644
--- a/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js
+++ b/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js
@@ -28,7 +28,7 @@
,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'}
,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'}
,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true}
- ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true}
+ ,{field: 'appeTime$', align: 'center',title: '寮�濮嬫椂闂�', hide:false}
,{field: 'barcode', align: 'center',title: '璐ф灦鐮�'}
,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 80}
]],
--
Gitblit v1.9.1