From a49cdaa669f18d92e8fef5d84da536c0465670db Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 17 十二月 2025 21:21:07 +0800
Subject: [PATCH] 1.新增组托入库生成AGV搬运任务,执行AGV搬运任务时判断堆垛机接驳站点是否有空料架,有的话需要进行搬离(没有出库任务的情况下) 2.完善配盘出库单agv目标地点,可能是区域也可能是站点 Q为区域;Z为站点 3.完善立库入库找规则方法
---
src/main/java/com/zy/asrs/service/WorkService.java | 2
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java | 170 ++++++++++++++++++++--------
src/main/java/com/zy/asrs/entity/BasDevp.java | 4
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2
src/main/java/com/zy/asrs/entity/OrderPakout.java | 13 +-
src/main/java/com/zy/common/web/WcsController.java | 8
pom.xml | 2
src/main/java/com/zy/common/model/LocTypeDto.java | 12 +
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java | 1
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 47 ++++++-
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 10 +
src/main/resources/application-dev.yml | 6
src/main/webapp/static/js/common.js | 2
src/main/java/com/zy/asrs/controller/OutController.java | 27 +++-
src/main/java/com/zy/common/service/CommonService.java | 13 +
15 files changed, 226 insertions(+), 93 deletions(-)
diff --git a/pom.xml b/pom.xml
index ef5393c..d887d0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -124,7 +124,7 @@
</dependencies>
<build>
- <finalName>ljqwms</finalName>
+ <finalName>hkwms</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index e222a56..5a603ab 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -232,12 +232,13 @@
i++;
//閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
if (orderPakout.getDocType() == 11) {
- if (size<5&&i==size){
+ if (i==size){
for (;j<=orderPakout.getPayType();j++){
String bar="";
- if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
- bar = "A01";
- }
+ //鍏蜂綋寰呭畾
+// if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+// bar = "A01";
+// }
LocMast locMast = new LocMast();
if(Cools.isEmpty(bar)){
locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
@@ -254,11 +255,17 @@
EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
emptyPlateOutParam.setOutSite(303);
emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri);
+ String agvSta = "";
+ if(locMast.getLocType3()==2){
+
+ }else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
ioPri--;
}
- }else if(i == 5){
+ }else if(i == 4){
String bar="";
if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
bar = "A01";
@@ -279,7 +286,13 @@
EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
emptyPlateOutParam.setOutSite(303);
emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri);
+ String agvSta = "";
+ if(locMast.getLocType3()==2){
+
+ }else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,ioPri,agvSta);
ioPri--;
}
}
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 78ca14c..ea6dc42 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -94,9 +94,9 @@
private String downing;
/**
- * 闇�姹�1
+ * 鏂欐灦
*/
- @ApiModelProperty(value= "闇�姹�1")
+ @ApiModelProperty(value= "鏂欐灦")
private String inreq1;
/**
diff --git a/src/main/java/com/zy/asrs/entity/OrderPakout.java b/src/main/java/com/zy/asrs/entity/OrderPakout.java
index 08ffcc2..07317fb 100644
--- a/src/main/java/com/zy/asrs/entity/OrderPakout.java
+++ b/src/main/java/com/zy/asrs/entity/OrderPakout.java
@@ -74,6 +74,13 @@
private String shipCode;
/**
+ * AGV鐩爣绔欑偣
+ */
+ @ApiModelProperty(value= "AGV鐩爣绔欑偣")
+ @TableField("cstmr_name")
+ private String cstmrName;
+
+ /**
* 椤圭洰缂栧彿
*/
@ApiModelProperty(value= "椤圭洰缂栧彿")
@@ -110,12 +117,6 @@
@ApiModelProperty(value= "瀹㈡埛缂栧彿")
private Long cstmr;
- /**
- * 瀹㈡埛
- */
- @ApiModelProperty(value= "瀹㈡埛")
- @TableField("cstmr_name")
- private String cstmrName;
/**
* 鑱旂郴鏂瑰紡
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 835461b4..351548d 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -58,7 +58,7 @@
* @param param
* @return
*/
- public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri);
+ public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri,String agvSta);
/**
* 鐩樼偣鍑哄簱
diff --git a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
index 9e42536..4ca46f5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -967,6 +967,7 @@
orderPakout.setUpdateTime(now);
orderPakout.setMemo(JSONObject.toJSONString(mesCallOutApply));
orderPakout.setPakinPakoutStatus(2);
+ orderPakout.setCstmrName(mesCallOutApply.getStationId());//agv鐩爣绔欑偣
if (!orderPakoutService.insert(orderPakout)) {
log.error("MES淇濆瓨鍑哄簱璁㈠崟锛堝彨鏂欙級涓绘。澶辫触");
throw new CoolException("淇濆瓨鍑哄簱璁㈠崟锛堝彨鏂欙級涓绘。澶辫触");
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index b48d5d9..9b1f3f4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -606,9 +606,9 @@
if (Cools.isEmpty(mat)) {
throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
- if (mat.getUpQty().compareTo(detlDto.getAnfme()) < 0) {
- throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + mat.getUpQty());
- }
+// if (mat.getUpQty().compareTo(detlDto.getAnfme()) < 0) {
+// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + mat.getUpQty());
+// }
WaitPakin waitPakin = new WaitPakin();
BeanUtils.copyProperties(mat, waitPakin);
waitPakin.setBatch(detlDto.getBatch());
@@ -704,6 +704,9 @@
// if (suplus < 0) {
// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
// }
+ OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
+ .eq("order_no", param.getOrderNo())
+ .eq("matnr", detlDto.getMatnr()));
WaitPakin waitPakin = new WaitPakin();
BeanUtils.copyProperties(mat, waitPakin);
@@ -719,6 +722,7 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
+ waitPakin.setStandby1(detls.getStandby1());//閰嶇洏鍙�
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 0e276ff..1cf5a2f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -105,7 +105,7 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
// 妫�绱㈠簱浣�
- LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,"");
// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
@@ -411,9 +411,22 @@
String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
- StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+// StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+
+ //鍑哄簱浠诲姟鍫嗗灈鏈哄嚭搴撶珯鐐规寚瀹�
+ String SourceStaNo = "";
+ if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){
+ SourceStaNo = "303";
+ }else if (locMast.getLocType3()==2&&!Cools.isEmpty(orderPakout.getCstmrName())){
+ SourceStaNo = "307";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){
+ SourceStaNo = "402";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){
+ SourceStaNo = "401";
+ }
+
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -422,8 +435,8 @@
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(ioPri+0.0); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
- wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 婧愮珯
- wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
+ wrkMast.setSourceStaNo(SourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(SourceStaNo); // 鐩爣绔�
wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
@@ -435,6 +448,11 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){
+ }else {
+ wrkMast.setMemo(orderPakout.getCstmrName());//agv鐩爣绔欑偣
+ }
+
if (!wrkMastService.insert(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
}
@@ -502,7 +520,7 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
- LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,"");
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
@@ -629,7 +647,7 @@
@Override
@Transactional
- public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri) {
+ public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri,String agvSta) {
WrkMast wrkMast = new WrkMast();
if (Cools.isEmpty(param.getOutSite())) {
throw new CoolException("绔欑偣涓嶅瓨鍦�");
@@ -642,10 +660,21 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
}
+
+ //鍑哄簱浠诲姟鍫嗗灈鏈哄嚭搴撶珯鐐规寚瀹�
+ String SourceStaNo = "";
+ if(locMast.getLocType3()==2){
+ SourceStaNo = "303";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){
+ SourceStaNo = "402";
+ }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){
+ SourceStaNo = "401";
+ }
+
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
- .eq("stn_no", param.getOutSite())
+ .eq("stn_no", SourceStaNo)
.eq("crn_no", locMast.getCrnNo());
StaDesc staDesc = staDescService.selectOne(wrapper);
Integer sourceStaNo = staDesc.getCrnStn();
@@ -661,7 +690,7 @@
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
wrkMast.setIoPri(ioPri+0.0);
wrkMast.setSourceStaNo(sourceStaNo + ""); // 婧愮珯
- wrkMast.setStaNo(param.getOutSite() + ""); // 鐩爣绔�
+ wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -673,7 +702,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(1L);
wrkMast.setModiTime(now);
- wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱");
+ wrkMast.setMemo(agvSta);//agv鐩爣绔欑偣
boolean res = wrkMastService.insert(wrkMast);
if (!res) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
diff --git a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
index fbd0213..2c0a156 100644
--- a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.Task;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.TaskService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.impl.BasDevpServiceImpl;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.AGVTaskReportHandler;
import org.slf4j.Logger;
@@ -31,58 +33,67 @@
private Boolean switchErpReportOld;
@Autowired
private WrkMastService wrkMastService;
+ @Autowired
+ private BasDevpServiceImpl basDevpService;
/**
* 婊℃澘鍜岀┖鏉垮嚭搴撲换鍔★紝鍑哄埌杈撻�佺嚎鍚庡垱寤篈GV鎼繍浠诲姟
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private void createAGVTask(){
- if (!switchErpReportOld){
+ private void createAGVTask() {
+ if (!switchErpReportOld) {
return;
}
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 300));
- if (wrkMasts.isEmpty()){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 30));
+ if (wrkMasts.isEmpty()) {
return;
}
- for (WrkMast wrkMast : wrkMasts){
+ for (WrkMast wrkMast : wrkMasts) {
//鏌ヨ鏄惁鏈夋簮绔欏拰鐩爣绔欐湁涓�鏍风殑agv鎼繍浠诲姟
//濡傛灉鏈夊垯璺宠繃鏈agv鎼繍浠诲姟涓嬪彂
+
+ //mes缁欑殑agv鐩爣绔欑偣闇�瑕佽В鏋� Q锛氬尯鍩� 锛� Z锛� 绔欑偣
+ String[] split = wrkMast.getMemo().split("-");
+ //鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
+ Integer ioType = split[0].equals("Q") ? 4 : 3;
+ //agv鐩爣绔欑偣
+ String stnNo = split[1];
Task task1 = taskService.selectOne(new EntityWrapper<Task>()
.in("source_sta_no", wrkMast.getSourceStaNo(), wrkMast.getMemo())
.in("sta_no", wrkMast.getSourceStaNo(), wrkMast.getMemo()));
if (Cools.isEmpty(task1)) {
- //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
- // 淇濆瓨宸ヤ綔妗�
- Task task = new Task();
- Date date = new Date();
- String TaskNo = wrkMast.getWrkNo()+"-"+date.getTime();
- task.setWrkNo(wrkMast.getWrkNo())
- .setTaskNo(TaskNo)
- .setIoTime(date)
- .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
- .setIoType(3) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔�
- .setTaskType("agv")
- .setIoPri(10D)
- .setFullPlt("Y") // 婊℃澘锛歒
- .setPicking("N") // 鎷f枡
- .setExitMk("N")// 閫�鍑�
- .setStaNo(wrkMast.getMemo())
- .setSourceStaNo(wrkMast.getSourceStaNo())//绌烘枡鏋剁紦瀛樺尯E1
- .setEmptyMk("N")// 绌烘澘
- .setBarcode(wrkMast.getBarcode())// 鎵樼洏鐮�
- .setLinkMis("N")
- .setAppeUser(9945L)
- .setAppeTime(date)
- .setModiUser(9945L)
- .setModiTime(date);
- if (!taskService.insert(task)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
- }else {
- wrkMast.setWrkSts(31L);//31.AGV鎼繍浠诲姟鍒涘缓鎴愬姛
- wrkMast.setModiTime(date);
- wrkMastService.updateById(wrkMast);
- }
+ //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
+ // 淇濆瓨宸ヤ綔妗�
+ Task task = new Task();
+ Date date = new Date();
+ String TaskNo = wrkMast.getWrkNo() + "-" + date.getTime();
+ task.setWrkNo(wrkMast.getWrkNo())
+ .setTaskNo(TaskNo)
+ .setIoTime(date)
+ .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
+ .setIoType(ioType) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
+ .setTaskType("agv")
+ .setIoPri(10D)
+ .setFullPlt("Y") // 婊℃澘锛歒
+ .setPicking("N") // 鎷f枡
+ .setExitMk("N")// 閫�鍑�
+ .setStaNo(stnNo)
+ .setSourceStaNo(wrkMast.getSourceStaNo())//绌烘枡鏋剁紦瀛樺尯E1
+ .setEmptyMk("N")// 绌烘澘
+ .setBarcode(wrkMast.getBarcode())// 鎵樼洏鐮�
+ .setLinkMis("N")
+ .setAppeUser(9945L)
+ .setAppeTime(date)
+ .setModiUser(9945L)
+ .setModiTime(date);
+ if (!taskService.insert(task)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ } else {
+ wrkMast.setWrkSts(31L);//31.AGV鎼繍浠诲姟鍒涘缓鎴愬姛
+ wrkMast.setModiTime(date);
+ wrkMastService.updateById(wrkMast);
+ }
}
}
}
@@ -91,14 +102,14 @@
* AGV 浠诲姟涓嬪彂鎺ュ彛锛屽畾鏃剁粰AGV涓嬪彂浠诲姟
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
- if (!switchErpReportOld){
+ private void execute() {
+ if (!switchErpReportOld) {
return;
}
//鏌ヨ鎵�鏈塧gv寰呬笅鍙戜换鍔�
List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301));
- if (wrkSts!=null&& !wrkSts.isEmpty()){
- for (Task task:wrkSts){
+ if (wrkSts != null && !wrkSts.isEmpty()) {
+ for (Task task : wrkSts) {
//鏌ヨ鏄惁鏈夋鍦ㄤ綔涓氱殑婧愮珯鍜岀洰鏍囩珯鏈変竴鏍风殑agv鎼繍浠诲姟
//濡傛灉鏈夊垯璺宠繃鏈agv鎼繍浠诲姟涓嬪彂
Task task1 = taskService.selectOne(new EntityWrapper<Task>()
@@ -106,17 +117,80 @@
.andNew()
.in("source_sta_no", task.getSourceStaNo(), task.getStaNo())
.in("sta_no", task.getStaNo(), task.getSourceStaNo()));
+ Boolean flag = true;
if (Cools.isEmpty(task1)) {
- //AGV浠诲姟涓嬪彂
- ReturnT<String> start = AGVTaskReportHandler.start(task);
- if (!start.isSuccess()){
- task.setUpdMk("X");
- task.setErrorMemo(start.getMsg());
- task.setModiTime(new Date());
- if (!taskService.updateById(task)) {
- log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", task.getWrkNo());
+ //agv鎼繍绉诲姩浠诲姟涓嬪彂鏃讹紝鎼繍鐩爣鐐规槸鍚︽槸绔嬪簱AGV鍜屽爢鍨涙満鎺ラ┏绔欑偣
+ //濡傛灉鏄帴椹崇珯鐐瑰垯闇�瑕佸垽鏂帴椹崇珯鐐规槸鍚︽湁绌烘枡鏋�
+ //濡傛灉鏈夌┖鏂欐灦闇�瑕佸垽鏂槸鍚︽湁鍑哄簱浠诲姟
+ //鏈夊嚭搴撲换鍔″垯绂佹涓嬪彂鏈鎼繍浠诲姟
+ if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+ BasDevp basDevp = basDevpService.checkSiteStatus(Integer.parseInt(task.getStaNo()));
+ if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) && basDevp.getInreq1().equals("Y")) {
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("io_type", 101, 110)
+ .eq("sta_no", task1.getStaNo()));
+ flag = false;
+ if (Cools.isEmpty(wrkMasts)) {
+ //鍒ゆ柇鏄惁宸茬粡鐢熸垚绌烘枡鏋舵惉杩愬洖绌烘枡鏋惰ˉ搴撳尯
+ //濡傛灉鏈夌殑璇濓紝涓嶅湪鐢熸垚浠诲姟
+ Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("sta_no", task1.getStaNo()).eq("source_sta_no", task1.getSourceStaNo()));
+ //鏈夊叆搴撲换鍔℃惉杩愶紝闇�瑕佺敓鎴愮┖鏂欐灦鎼繍鍒扮┖鏂欐灦缂撳啿鍖篈GV浠诲姟
+ if (Cools.isEmpty(task2)) {
+ //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
+ // 淇濆瓨宸ヤ綔妗�
+ String SourceStaNo = "";
+ if (task.getStaNo().equals("401")) {
+ //澶ф枡鏋剁紦鍐插尯
+ SourceStaNo = "E3";
+ }else if (task.getStaNo().equals("402")) {
+ SourceStaNo = "E2";
+ }else if (task.getStaNo().equals("307")) {
+ SourceStaNo = "E1";
+ }
+ Task task3 = new Task();
+ Date date = new Date();
+ String TaskNo = task.getTaskNo() + "-" + date.getTime();
+ task3.setWrkNo(999999)
+ .setTaskNo(TaskNo)
+ .setIoTime(date)
+ .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
+ .setIoType(4) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔� 4.绔欏埌鍖哄煙
+ .setTaskType("agv")
+ .setIoPri(10D)
+ .setFullPlt("Y") // 婊℃澘锛歒
+ .setPicking("N") // 鎷f枡
+ .setExitMk("N")// 閫�鍑�
+ .setStaNo(task.getStaNo())
+ .setSourceStaNo(SourceStaNo)//绌烘枡鏋剁紦瀛樺尯E1
+ .setEmptyMk("N")// 绌烘澘
+ .setBarcode("")// 鎵樼洏鐮�
+ .setLinkMis("N")
+ .setAppeUser(9945L)
+ .setAppeTime(date)
+ .setModiUser(9945L)
+ .setModiTime(date);
+ if (!taskService.insert(task)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ }
+ }
+ }
+
+ }
+ if (flag) {
+ //AGV浠诲姟涓嬪彂
+ ReturnT<String> start = AGVTaskReportHandler.start(task);
+ if (!start.isSuccess()) {
+ task.setUpdMk("X");
+ task.setErrorMemo(start.getMsg());
+ task.setModiTime(new Date());
+ if (!taskService.updateById(task)) {
+ log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", task.getWrkNo());
+ }
}
}
+
+
}
}
}
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 3e27a83..69cab94 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -228,7 +228,7 @@
}
}
- String url = MES_URL + "loadComplete";
+ String url = MES_URL + "issueCompleteFit";
String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(result));
if (!StringUtils.isEmpty(response) && response.contains("Success")) {
MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index e8ac917..f0dff62 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -1,6 +1,7 @@
package com.zy.common.model;
import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
import lombok.Data;
@@ -25,15 +26,20 @@
public LocTypeDto() {
}
- public LocTypeDto(BasDevp basDevp) {
- if (basDevp.getLocType2() == null || basDevp.getLocType2() == 0) {
+ public LocTypeDto(BasDevp basDevp,String barcode) {
+ if (basDevp.getLocType1() == null || basDevp.getLocType1() == 0) {
throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
}
- if (basDevp.getLocType2() == 1) {
+ if (basDevp.getLocType1() == 1) {
this.locType1 = 1; // 浣庡簱浣�
} else {
this.locType1 = 2; // 楂樺簱浣�
}
+ if (!Cools.isEmpty(barcode)&&barcode.substring(0,1).equals("4")){
+ this.locType2 = 1;
+ }else if (!Cools.isEmpty(barcode)&&barcode.substring(0,1).equals("5")){
+ this.locType2 = 2;
+ }
log.info(JSON.toJSONString(this));
}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index baf4f20..f01b610 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -170,11 +170,16 @@
throw new CoolException("鍏ュ簱璇锋眰搴撲綅澶辫触锛氳矾寰勪笉瀛樺湪" + staDescId +"," + sourceStaNo);
}
- Short locType1 = 1;
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("loc_type1", locType1).orderBy("lev1").orderBy("bay1").orderBy("row1"));
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "O")
+ .eq("loc_type1", locTypeDto.getLocType1())
+ .eq("loc_type2", locTypeDto.getLocType2())
+ .orderBy("lev1")
+ .orderBy("bay1")
+ .orderBy("row1"));
if (locMast == null) {
- log.error("鍏ュ簱璇锋眰搴撲綅澶辫触锛氭棤搴撲綅" + locType1);
- throw new CoolException("鍏ュ簱璇锋眰搴撲綅澶辫触锛氭棤搴撲綅" + locType1);
+ log.error("鍏ュ簱璇锋眰搴撲綅澶辫触锛氭棤搴撲綅" + locTypeDto.getLocType1());
+ throw new CoolException("鍏ュ簱璇锋眰搴撲綅澶辫触锛氭棤搴撲綅" + locTypeDto.getLocType1());
}
StartupDto startupDto = new StartupDto();
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index bcad0a9..9196aa2 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -90,9 +90,9 @@
}
// 婧愮珯鐐圭姸鎬佹娴�
-// BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
-// sourceStaNo.setLocType2(param.getLocType1());
- LocTypeDto locTypeDto = new LocTypeDto();
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
+ sourceStaNo.setLocType1(param.getLocType1());
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,param.getBarcode());
StartupDto dto = null;
switch (param.getIoType()) {
@@ -156,7 +156,7 @@
EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
emptyPlateOutParam.setOutSite(12);
emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
- WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,50);
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam,50,"");
return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index c807524..1e70885 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -1,5 +1,5 @@
server:
- port: 8083
+ port: 8084
servlet:
context-path: /@pom.build.finalName@
@@ -12,7 +12,7 @@
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: sa
password: sa@123
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=jnejc-ljqwms
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=jnejc-hkwms
# username: sa
# password: Skyouc#23
# url: jdbc:sqlserver://192.168.4.24:1433;databasename=jsxswms
@@ -138,7 +138,7 @@
#娴峰悍瀵规帴
hik:
- switch: false
+ switch: true
url: http://172.26.11.98:80/
#鍗庢檽瀵规帴
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index ca66c3c..7b34545 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/ljqwms";
+var baseUrl = "/hkwms";
// 璇︽儏绐楀彛-楂樺害
var detailHeight = '80%';
--
Gitblit v1.9.1