From e97bfb5567d95dea572f84a84db9c4151b884656 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期五, 02 八月 2024 11:36:57 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/param/AgvMobileStartPakin.java | 4
src/main/java/com/zy/asrs/controller/OrderController.java | 22 ++++
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 6 +
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 63 ++++++++++++
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 19 +++
src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java | 4
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 31 ++++++
src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java | 12 ++
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 2
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 2
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 2
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 37 +++++-
src/main/java/com/zy/asrs/controller/OutController.java | 1
src/main/java/com/zy/asrs/service/AgvBasDevpService.java | 1
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 69 +++++++++++++
15 files changed, 260 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 771ae87..e9fa509 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -117,7 +117,7 @@
}
/*
- 鍚姩鍏ュ簱锛岀粍鎵� + 鐢熶骇宸ヤ綔妗�
+ 鍚姩鍏ュ簱锛岀粍鎵� + 鐢熸垚宸ヤ綔妗�
*/
@PostMapping("/start/pakin/auth")
@Synchronized
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 6b87a01..2f37df0 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -203,11 +203,22 @@
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
- //鍏ュ簱浠诲姟 || 鎷f枡鍏ュ簱浠诲姟 ||鐩樼偣鍐嶅叆搴� ||绌烘澘鍏ュ簱
- if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){
- //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ switch(agvWrkMast.getIoType()) {
+ //鍏ュ簱浠诲姟
+ case 1:
+ // 绌烘澘鍏ュ簱
+ case 10:
+ // 鎷f枡鍏ュ簱浠诲姟
+ case 53:
+ // 鐩樼偣鍐嶅叆搴�
+ case 57:
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ break;
}
+ //if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){
+ // //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
+ // agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ //}
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 771adbb..10de0f4 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -166,6 +166,28 @@
// return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
}
+ @RequestMapping(value = "/order/wait/detls/pakin/page/auth")
+ @ManagerAuth
+ public R waitOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "100")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convert(param, wrapper);
+// return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetl.class)));
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
+ List<Long> docIds = new ArrayList<>();
+ for (DocType pakin : pakins) {
+ if (pakin.getDocId() == 36) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+ wrapper.in("source",docIds);
+ return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ }
+
// 鎵�鏈夊叆搴撹鍗曟槑缁�
@RequestMapping(value = "/order/bcp/detls/pakin/page/auth")
@ManagerAuth
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 1906679..c0c1deb 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -194,6 +194,37 @@
return R.ok(page);
}
+ @RequestMapping(value = "/orderDetl/pakout/list/authV6")
+ @ManagerAuth
+ public R pakoutList6(@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){
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convertLike(param, wrapper);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+ wrapper.orderBy("create_time", false);
+ }
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
+ List<Long> docIds = new ArrayList<>();
+ for (DocType pakin : pakins) {
+ if (pakin.getDocId() == 37) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+
+ wrapper.in("source",docIds);
+ 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);
+ }
+
+ return R.ok(page);
+ }
+
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
String val = String.valueOf(entry.getValue());
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 425cdb0..17c08a7 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -184,6 +184,7 @@
if(!staNoList.contains(locDto.getAgvStaNo())){
return R.error(locDto.getAgvStaNo()+"璇ョ珯鐐瑰凡鏈夊嚭搴撲换鍔★紝鏃犳硶閫夋嫨璇ョ珯鐐瑰嚭搴�");
}
+
}
//濡傛灉鎵�鏈夊簱閮芥病鏈夊簱瀛橈紝鍒欒繑鍥�
for (LocDto locDto : locDtos) {
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvMobileStartPakin.java b/src/main/java/com/zy/asrs/entity/param/AgvMobileStartPakin.java
index 2392904..4bcb2d2 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvMobileStartPakin.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvMobileStartPakin.java
@@ -1,5 +1,7 @@
package com.zy.asrs.entity.param;
+import com.zy.asrs.entity.AgvWrkDetl;
+import com.zy.asrs.entity.WrkDetl;
import lombok.Data;
import java.util.List;
@@ -20,6 +22,8 @@
private List<CombParam> combParams;
+ private List<AgvWrkDetl> wrkDetls;
+
// private List<CombParam> combParam;
diff --git a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
index 6fcda28..885fb64 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
@@ -38,6 +38,18 @@
List<String> selectCacheShelvesStationCodeByLocType(@Param("locType") Short locType, @Param("floor") int floor);
@Select("SELECT\n" +
+ "\tdev_no \n" +
+ "FROM\n" +
+ "\tagv_bas_devp\n" +
+ "\tLEFT JOIN agv_wrk_mast ON agv_bas_devp.dev_no = agv_wrk_mast.source_loc_no \n" +
+ "WHERE\n" +
+ "\tagv_wrk_mast.loc_no IS NULL \n" +
+ "\tAND agv_bas_devp.loc_type1 = #{locType} \n" +
+ "\tAND agv_bas_devp.floor = #{floor} \n" +
+ "\tAND agv_bas_devp.out_enable = 'Y'")
+ List<String> selectCacheShelvesStationCodeByLocType2(@Param("locType") Short locType, @Param("floor") int floor);
+
+ @Select("SELECT\n" +
"\tbas.dev_no,\n" +
"\tCOUNT ( mast.loc_no ) AS num \n" +
"FROM\n" +
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index 52d314a..b0f3a46 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -28,7 +28,7 @@
@Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts = 1")
Double selectSumAnfmeByMatnrProcess(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
- @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.lev1 != 2")
+ @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.floor != 1")
Double selectSumAnfmeByMatnrProcessed(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
@Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1")
diff --git a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
index 399593a..dab9548 100644
--- a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
+++ b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
@@ -26,6 +26,7 @@
List<String> selectCacheShelvesStationCodeByFloor(int floor);
List<String> selectCacheShelvesStationCodeByLocType(short locType, int floor);
+ List<String> selectCacheShelvesStationCodeByLocType2(short locType, int floor);
public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
index d9c18b8..2242247 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -303,6 +303,10 @@
public List<String> selectCacheShelvesStationCodeByLocType(short locType, int floor) {
return this.baseMapper.selectCacheShelvesStationCodeByLocType(locType,floor);
}
+ @Override
+ public List<String> selectCacheShelvesStationCodeByLocType2(short locType, int floor) {
+ return this.baseMapper.selectCacheShelvesStationCodeByLocType2(locType,floor);
+ }
public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode){
return this.baseMapper.selectDevNoAndNumBystationCode(stationCode);
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 51e91ce..6c1417e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -701,6 +701,12 @@
List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code",param.getBarcode()));
agvWrkDetls.forEach(agvWrkDetl -> {
+ for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
+ if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {
+ agvWrkDetl.setAnfme(wrkDetl.getAnfme());
+ break;
+ }
+ }
agvWrkDetl.setProcessSts(2);
agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2));
agvWrkDetl.setModiUser(userId);
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 e66cebf..97316b1 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -17,8 +17,11 @@
import com.zy.common.model.TaskDto;
import com.zy.common.service.AgvCommonService;
import com.zy.common.web.BaseController;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -69,6 +72,8 @@
private AgvWrkDetlLogService agvWrkDetlLogService;
@Autowired
private WrkMastExecuteService wrkMastExecuteService;
+ @Autowired
+ private ConfigService configService;
/*
@@ -476,13 +481,28 @@
}
}
});
- if (isCurrLev.get()) {
- agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+
+
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "elevatorTasks"));
+ if (Cools.isEmpty(config)) {
+ if (isCurrLev.get()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
} else {
- agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
+ if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ if (isCurrLev.get()) {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+ } else {
+ agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
+ //agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+ }
}
-
-
String devNo = agvBasDevp.getDevNo();
String locNo = agvLocMast.getLocNo();
@@ -514,7 +534,6 @@
updateAgvLocMast(agvLocMast,"S");
return agvLocMast.getLocNo();
}
-
/*
绌烘澘鍑哄簱
*/
@@ -693,7 +712,9 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
-
+ if (wrkMast.getIoType() == 113 && (wrkMast.getWrkSts() != 212L || wrkMast.getWrkSts() != 213L || wrkMast.getWrkSts() != 214L)) {
+ throw new CoolException(workNo+"涓嶆敮鎸佹墜鍔ㄧ淮鎶�");
+ }
if (wrkMast.getIoType()==121){
if (wrkMast.getWrkSts()<12L){
agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"鎵嬪姩瀹屾垚",userId);
@@ -1206,4 +1227,4 @@
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index f4ce7b2..539a5b5 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -142,7 +142,7 @@
try{
agvWrkMastHandler.startPutWayWrk(agvWrkMast);
} catch (Exception e){
- log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+ log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
}
});
}
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 0275339..db4034f 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -1,7 +1,11 @@
package com.zy.asrs.task;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvBasDevp;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
@@ -10,11 +14,15 @@
import com.zy.asrs.service.AgvWrkMastService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.AutoMoveHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -31,6 +39,8 @@
private AgvWrkMastService agvWrkMastService;
@Autowired
private AgvBasDevpService agvBasDevpService;
+ @Autowired
+ private ConfigService configService;
// 璋冩嫧鍑哄簱
// @Scheduled(cron = "0/2 * * * * ? ")
@@ -305,4 +315,57 @@
}
}
}
+
+ /**
+ * 鑷姩绉诲簱
+ *
+ */
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void autoEmptyBack7() throws ParseException {
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String currentDay = sdf.format(now);
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoTime"));
+ if (Cools.isEmpty(config)) {
+
+ } else {
+ if (config.getStatus().intValue() == 0) {
+ return;
+ }
+ JSONObject jsonObject = JSON.parseObject(config.getValue().toString());
+ Integer maxTansk = jsonObject.getInteger("maxTansk");
+ //Integer startTime = jsonObject.getInteger("startTime");
+ String startTime = jsonObject.getString("startTime");
+ long time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(currentDay + " " + startTime).getTime();
+ long time = now.getTime();
+ long time3 = time - time1;
+
+
+
+ if (time3 > 0 && time3 < (1000* 60 * 10)) {
+
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
+ if (maxTansk <= agvWrkMasts.size()){
+ return;
+ }
+
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+ new EntityWrapper<AgvLocMast>()
+ .eq("floor", 1)
+ .eq("lev1", 1)
+ .eq("loc_sts","F")
+ .eq("loc_type1",3));
+ if (agvLocMasts.isEmpty()) {
+ return;
+ }
+ for (AgvLocMast agvLocMast : agvLocMasts) {
+ try{
+ autoMoveHandler.autoTransfers(agvLocMast,maxTansk);
+ } catch (Exception e){
+ log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+ }
+ }
+ }
+ }
+ }
}
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 0207985..6a10807 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -537,4 +537,73 @@
return SUCCESS;
}
+
+ public ReturnT<String> autoTransfers(AgvLocMast agvLocMast,Integer maxTansk) {
+ Date now = new Date();
+ List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
+ locDetls.forEach(agvLocDetl -> {
+ if (agvLocDetl.getProcessSts().equals(1)) {
+ throw new CoolException("褰撳墠搴撲綅鏈夊簱瀛樻湭鍔犲伐");
+ }
+ });
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode());
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+ }
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ AgvLocMast LocMast = agvCommonService.getLocNo(3,1,false,false);
+ if (LocMast.getLev1() != 2) {
+ throw new CoolException("鐩爣妤煎眰涓嶆槸鍚稿浜屾ゼ");
+ }
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast mast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(201L);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(12);
+ mast.setIoTime(now);
+ //浼樺厛绾�
+ mast.setIoPri(300.0);
+ //婧愮珯鐐�
+ mast.setSourceLocNo(agvLocMast.getLocNo());
+ //鐩爣绔欑偣
+ mast.setLocNo(LocMast.getLocNo());
+ //璐ф灦缂栫爜
+ mast.setBarcode(agvLocMast.getBarcode());
+ //璐ф灦绫诲瀷
+ mast.setWhsType(30);
+
+ mast.setAppeUser(9527L);
+ mast.setAppeTime(now);
+ mast.setModiUser(9527L);
+ mast.setModiTime(now);
+ mast.setLogErrMemo("doAutoMove");
+ if (!agvWrkMastService.insertByIncrease(mast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", LocMast.getLocNo()).eq("source_loc_no",agvLocMast.getLocNo()));
+ //鐢熸垚宸ヤ綔妗f槑缁�
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
+ agvLocDetls.forEach(agvLocDetl -> {
+ AgvWrkDetl wrkDetl = new AgvWrkDetl();
+ wrkDetl.setWrkNo(mast1.getWrkNo());
+ wrkDetl.sync(agvLocDetl);
+ wrkDetl.setSuppCode(agvLocDetl.getSuppCode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeUser(9527L);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiUser(9527L);
+ wrkDetl.setModiTime(now);
+ if (!agvWrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvLocMast(agvLocMast,"R");
+ updateAgvLocMast(LocMast,"S");
+
+ return SUCCESS;
+ }
}
--
Gitblit v1.9.1