From 4f75c44a7efcd1f26aae764c89b2ace8db796d3e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 24 十二月 2025 16:37:22 +0800
Subject: [PATCH] 根据起始站点区分两条产线,分配不同接驳位
---
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java | 443 ++++++++++++++++++++++++-------------------------------
1 files changed, 194 insertions(+), 249 deletions(-)
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 2b93d99..97ce139 100644
--- a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -4,10 +4,12 @@
import com.alibaba.excel.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.digitaltwin.DtLocDetailVo;
import com.zy.asrs.entity.mes.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.rcs.*;
@@ -132,11 +134,7 @@
// 瑙勫垯瀹氫箟锛氶粯璁ょ3灞備负鍚屾鐨勭墿鏂欑被鍨�
long secondPath = 2;
String secondParentName = WMS_CURRENT_NAME;
-// long locType = 1;
long userId = defaultUserId;
-// if (mesMatInfo.getModified_operator1() != null && !mesMatInfo.getModified_operator1().isEmpty()) {
-// userId = Long.parseLong(mesMatInfo.getModified_operator1());
-// }
Date now = new Date();
if (mesMatInfo.getModified_date1() != null && !mesMatInfo.getModified_date1().isEmpty()) {
now = Date.from(OffsetDateTime.parse(mesMatInfo.getModified_date1()).toInstant());
@@ -167,35 +165,29 @@
// 鐗╂枡鏇存柊
long tagId = tagService.selectByName(mesMatInfo.getItem_type(), 3).getId();
Mat mat = matService.selectByMatnr(mesMatInfo.getItem_no());
- Mat newMat = new Mat();
- newMat.setMatnr(mesMatInfo.getItem_no());
- newMat.setMaktx(mesMatInfo.getDescription());
- newMat.setTagId(tagId);
- newMat.setLocType(tagId); //locType
- newMat.setSpecs(mesMatInfo.getSpecification());
- newMat.setUnit("浠�"); //缁熶竴涓轰欢锛宮esMatInfo.getUnit_of_measure()
- newMat.setModel(mesMatInfo.getClassification_code());
- newMat.setMemo(JSONObject.toJSONString(mesMatInfo));
- newMat.setCreateBy(userId);
- newMat.setCreateTime(now);
- newMat.setUpdateBy(userId);
- newMat.setUpdateTime(now);
- newMat.setStatus(1);
if (mat == null) {
- if (!matService.insert(newMat))
- return -2;
+ Mat newMat = new Mat();
+ newMat.setMatnr(mesMatInfo.getItem_no());
+ newMat.setMaktx(mesMatInfo.getDescription());
+ newMat.setTagId(tagId);
+ newMat.setLocType(tagId); //locType
+ newMat.setSpecs(mesMatInfo.getSpecification());
+ newMat.setUnit(mesMatInfo.getUnit_of_measure());
+ newMat.setModel(mesMatInfo.getClassification_code());
+// newMat.setMemo(JSONObject.toJSONString(mesMatInfo));
+ newMat.setCreateBy(userId);
+ newMat.setCreateTime(now);
+ newMat.setUpdateBy(userId);
+ newMat.setUpdateTime(now);
+ newMat.setStatus(1);
+ matService.insert(newMat);
} else {
- JSONObject dbMemo = JSONObject.parseObject(mat.getMemo());
-// dbMemo.remove("OrderNo");
-// dbMemo.remove("qty");
- JSONObject newMemo = JSONObject.parseObject(newMat.getMemo());
-// newMemo.remove("OrderNo");
-// newMemo.remove("qty");
- if (!dbMemo.equals(newMemo)) {
- newMat.setId(mat.getId());
- if (!matService.updateById(newMat))
- return -2;
- }
+ mat.setMaktx(mesMatInfo.getDescription());
+ mat.setSpecs(mesMatInfo.getSpecification());
+ mat.setUnit(mesMatInfo.getUnit_of_measure());
+ mat.setModel(mesMatInfo.getClassification_code());
+ mat.setUpdateTime(now);
+ matService.updateById(mat);
}
return 1;
@@ -265,6 +257,9 @@
return 0;
}
+ @Resource
+ private BasStationService basStationService;
+
/**
* 鍑哄簱鐢宠
* 鍔犲伐搴撱�佸垁鍏峰簱
@@ -272,22 +267,41 @@
* @param mesOutApply
* @return 1 鎴愬姛锛�-1 璁㈠崟閲嶅锛�
*/
- public int outBoundOrder(MesInApply mesOutApply){
+ @Transactional
+ public MesReturn outBoundOrder(MesInApply mesOutApply) {
+ MesReturn mesReturn = new MesReturn();
+ // 缁堢偣涓虹┖锛岃绠楁帴椹充綅
+ BasStation basStation = null;
+ if (Cools.isEmpty(mesOutApply.getNextStationId())) {
+ // 1.杩炴潌绾匡紝2.铻烘潌绾�
+ int productionLine = mesOutApply.getStationId().startsWith("LL") ? 1 : 2;
+ List<BasStation> basStations = basStationService.selectList(new EntityWrapper<BasStation>().eq("loc_sts", "O").eq("area_id",productionLine));
+ if (basStations.isEmpty()) {
+ mesReturn.setSuccess("2");
+ mesReturn.setMessage("鏃犵┖鎺ラ┏浣嶏紝璇风◢鍚庡啀璇�!");
+ return mesReturn;
+ }
+ // 鎺ラ┏鐐�
+ basStation = basStations.get(0);
+ mesOutApply.setNextStationId(basStation.getDevNo());
+ }
// docType鏍规嵁搴撶被鍨嬬‘瀹�
- long docType = 7;
+ long docType = Long.parseLong(mesOutApply.getBillType());
long settle = 1;
// 鏍¢獙璁㈠崟鏄惁閲嶅
OrderPakout order = orderPakoutService.selectByNo(mesOutApply.getOrderNo());
if (order != null && !StringUtils.isEmpty(order.getOrderNo())) {
- return -1;
+ mesReturn.setSuccess("2");
+ mesReturn.setMessage("orderNo閲嶅锛�" + mesOutApply.getOrderNo());
+ return mesReturn;
}
// 鐢熸垚璁㈠崟
Date now = new Date();
OrderPakout orderPakout = new OrderPakout();
- orderPakout.setUuid( String.valueOf(snowflakeIdWorker.nextId()));
+ orderPakout.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
orderPakout.setOrderNo(mesOutApply.getOrderNo());
orderPakout.setOrderTime(com.core.common.DateUtils.convert(now));
orderPakout.setDocType(docType);
@@ -300,7 +314,7 @@
orderPakout.setMemo(JSONObject.toJSONString(mesOutApply));
orderPakout.setPakinPakoutStatus(2);
if (!orderPakoutService.insert(orderPakout)) {
- log.error("MES淇濆瓨鍑哄簱璁㈠崟涓绘。澶辫触");
+ log.error("MES淇濆瓨鍑哄簱璁㈠崟涓绘。澶辫触:{}", orderPakout);
throw new CoolException("淇濆瓨鍑哄簱璁㈠崟涓绘。澶辫触");
}
@@ -310,7 +324,7 @@
OrderDetlPakout orderDetlPakout = new OrderDetlPakout();
orderDetlPakout.setOrderId(orderPakout.getId());
orderDetlPakout.setOrderNo(orderPakout.getOrderNo());
- orderDetlPakout.setAnfme(Double.valueOf(item.getAnfme()));
+ orderDetlPakout.setAnfme(item.getAnfme());
orderDetlPakout.setQty(0.0);
orderDetlPakout.setMatnr(mat.getMatnr());
orderDetlPakout.setMaktx(mat.getMaktx());
@@ -323,98 +337,43 @@
orderDetlPakout.setStatus(1);
orderDetlPakout.setPakinPakoutStatus(2);
if (!orderDetlPakoutService.insert(orderDetlPakout)) {
- log.error("MES淇濆瓨鍑哄簱璁㈠崟鏄庣粏妗eけ璐�");
+ log.error("MES淇濆瓨鍑哄簱璁㈠崟鏄庣粏妗eけ璐�:{}", orderDetlPakout);
throw new CoolException("淇濆瓨鍑哄簱璁㈠崟鏄庣粏妗eけ璐�");
}
}
- // TODO锛欳TU鍑哄簱鍔ㄤ綔
-
- // todo 鍛煎彨agv浜х嚎鍙栫┖鏂欐灦
- // TODO锛氳嫢AGV鍜岃緭閫佺嚎娌℃湁瀹夊叏浜や簰锛屽垯瑕佷繚璇佺珛搴撳嚭璐у畬鎴愬悗鍐嶅懠鍙獳GV銆�
// 绔嬪簱鐢熸垚璁㈠崟鍚庯紝鑷姩璋冨害AGV浠庝骇绾胯繍杈撶┖鍒�鏋惰嚦绔嬪簱缂撳瓨鍖恒��
- try {
- if (!StringUtils.isEmpty(mesOutApply.getTaskNo()) && !StringUtils.isEmpty(mesOutApply.getStationId())) {
- TransTask transTask = new TransTask();
- transTask.setTaskno(mesOutApply.getTaskNo());
-// transTask.setTaskname(mesOutApply.getTaskname());
- transTask.setOrderNo(mesOutApply.getOrderNo());
- transTask.setTransType("02"); //杩愬洖鍒�鏋舵椂榛樿02锛堜笅绌烘墭锛� mesOutApply.getTransType()
- transTask.setCurProcess(mesOutApply.getProductLineId());
- transTask.setCurStationId(mesOutApply.getStationId());
-// transTask.setNextProcess();
- transTask.setNextStationId(WMS_TRANS_START_STATION_1);
-// transTask.setItemno(mesOutApply.getItemNo());
- transTask.setQty(0);
- transTask.setProductLineId(mesOutApply.getProductLineId());
-// transTask.setItemBarcode(codes);
-// transTask.setTuoPanId(entry.getKey());
- transTask.setOperateType(1);
- transTask.setAgvFactory(1);
- JSONObject sendAgvTask = submitTask(transTask);
- if (!"1".equals(sendAgvTask.getString("Success"))) {
- log.error("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触", JSONObject.toJSONString(transTask));
- }
-
-
-// // 鎸夐浂浠朵簩缁寸爜鏌ヨ鏈夊嚑涓墭锛屽鎵樼敓鎴愬涓换鍔★紝姣忔墭瀵瑰簲闆朵欢浜岀淮鐮�
-//// String barCode = barCodeListToStr(mesOutApply.getItemBarcode());
-// EntityWrapper<MatItemBarcode> matItemBarcodeEntityWrapper = new EntityWrapper<>();
-// matItemBarcodeEntityWrapper.in("item_barcode", barCode);
-// List<MatItemBarcode> barcodes = matItemBarcodeMapper.selectList(matItemBarcodeEntityWrapper);
-// if (barcodes != null) {
-// Map<String, List<MatItemBarcode>> map = barcodes.stream().collect(Collectors.groupingBy(MatItemBarcode::getZapplet));
-// for (Map.Entry<String, List<MatItemBarcode>> entry : map.entrySet()) {
-// List<MatItemBarcode> list = entry.getValue();
-// List<String> codes = new ArrayList<>();
-// for (MatItemBarcode zapllet : list) {
-// codes.add(zapllet.getItemBarcode());
-// }
-//
-//
-// }
-// }
+ TransTask transTask = new TransTask();
+ transTask.setTaskno(mesOutApply.getTaskNo());
+ transTask.setTaskname(mesOutApply.getTaskname());
+ transTask.setOrderNo(mesOutApply.getOrderNo());
+ transTask.setTransType("02"); //杩愬洖鍒�鏋舵椂榛樿02锛堜笅绌烘墭锛� mesOutApply.getTransType()
+ transTask.setCurProcess(mesOutApply.getProductLineId());
+ transTask.setCurStationId(mesOutApply.getStationId());
+ transTask.setNextProcess(mesOutApply.getProductLineId());
+ transTask.setNextStationId(mesOutApply.getNextStationId());
+ transTask.setQty(1);
+ transTask.setProductLineId(mesOutApply.getProductLineId());
+ transTask.setDjNo(mesOutApply.getDjNo());
+ transTask.setOperateType(1);
+ transTask.setAgvFactory(1);
+ JSONObject sendAgvTask = submitTask(transTask);
+ if ("1".equals(sendAgvTask.getString("Success"))) {
+ // 鏂版帴椹崇偣鐘舵��
+ if (basStation != null) {
+ basStation.setModiTime(new Date());
+ basStation.setLocSts("S");
+ basStation.setBarcode(mesOutApply.getDjNo());
+ basStationService.updateById(basStation);
}
- } catch (Exception e) {
- log.error("涓嬪彂AGV杩愯緭浠诲姟澶辫触", e);
+
+ mesReturn.setSuccess("1");
+ mesReturn.setMessage("璁㈠崟涓嬪彂鎴愬姛锛宎gv寮�濮嬭繍杈擄細" + transTask.getTaskno());
+ return mesReturn;
+ } else {
+ log.error("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触锛歿}", JSONObject.toJSONString(transTask));
+ throw new CoolException("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触");
}
- return 1;
- }
-
- public int transDj(String taskNo,String djNo) {
- try {
- EntityWrapper<Task> wapper = new EntityWrapper<>();
- wapper.eq("task_no", taskNo).orderBy("wrk_date");
- Task task = taskService.selectOne(wapper);
- if (task != null) {
- JSONObject memo = JSONObject.parseObject(task.getMemo());
-
- TransTask transTask = new TransTask();
- transTask.setTaskno(taskNo + "_1");
-// transTask.setTaskname(mesOutApply.getTaskname());
- transTask.setOrderNo(memo.getString("OrderNo"));
- transTask.setTransType("05"); //閫佸垁鏃堕粯璁�05锛堜笂鍒�锛�
- transTask.setCurStationId(WMS_TRANS_START_STATION_1);
- transTask.setNextProcess(memo.getString("ProductLineId"));
- transTask.setNextStationId(memo.getString("CurStationId"));
-// transTask.setItemno(mesOutApply.getItemNo());
-// transTask.setQty(0);
- transTask.setProductLineId(memo.getString("ProductLineId"));
-// transTask.setItemBarcode(codes);
-// transTask.setTuoPanId(entry.getKey());
- transTask.setOperateType(1);
- transTask.setAgvFactory(1);
- transTask.setDjNo(djNo);
- JSONObject sendAgvTask = submitTask(transTask);
- if (!"1".equals(sendAgvTask.getString("Success"))) {
- log.error("涓婂垁涓嬪彂agv杩愯緭浠诲姟澶辫触", JSONObject.toJSONString(transTask));
- }
- }
- } catch (Exception e) {
- log.error("涓婂垁涓嬪彂AGV杩愯緭浠诲姟澶辫触", e);
- }
-
- return 1;
}
/**
@@ -423,6 +382,7 @@
* @param mesInApply
* @return 1 鎴愬姛锛�-1 鍏ュ簱璁㈠崟閲嶅锛�0 閮ㄥ垎澶辫触锛�
*/
+ @Transactional
public int inBoundOrder(MesInApply mesInApply, int check){
// docType鏍规嵁搴撶被鍨嬬‘瀹�
@@ -461,7 +421,7 @@
OrderDetlPakin orderDetlPakin = new OrderDetlPakin();
orderDetlPakin.setOrderId(orderPakin.getId());
orderDetlPakin.setOrderNo(orderPakin.getOrderNo());
- orderDetlPakin.setAnfme(Double.valueOf(item.getAnfme()));
+ orderDetlPakin.setAnfme(item.getAnfme());
orderDetlPakin.setQty(0.0);
orderDetlPakin.setMatnr(mat.getMatnr());
orderDetlPakin.setMaktx(mat.getMaktx());
@@ -483,6 +443,28 @@
}
}
+ // 鍛煎彨agv鎼繍
+ if (!StringUtils.isEmpty(mesInApply.getTaskNo())) {
+ TransTask transTask = new TransTask();
+ transTask.setTaskno(mesInApply.getTaskNo());
+ transTask.setTaskname(mesInApply.getTaskNo());
+ transTask.setOrderNo(mesInApply.getOrderNo());
+ transTask.setTransType(mesInApply.getTransType());
+ transTask.setCurProcess(mesInApply.getProductLineId());
+ transTask.setCurStationId(mesInApply.getStationId());
+ transTask.setNextStationId(WMS_TRANS_START_STATION_1);
+// transTask.setItemno(mesInApply.get());
+// transTask.setQty(mesInApply.getQty());
+ transTask.setProductLineId(mesInApply.getProductLineId());
+// transTask.setItemBarcode(itemBarcode);
+ transTask.setDjNo(mesInApply.getDjNo());
+ transTask.setOperateType(1);
+ transTask.setAgvFactory(1);
+ JSONObject sendAgvTask = submitTask(transTask);
+ if (!"1".equals(sendAgvTask.getString("Success"))) {
+ log.error("鍑哄簱涓嬪彂agv杩愯緭浠诲姟澶辫触:{}", JSONObject.toJSONString(transTask));
+ }
+ }
// // TODO:鏄惁缁戝畾璐х墿鍜屾墭鐩�?
@@ -709,7 +691,6 @@
/**
* 9.1涓嬪彂杩愯緭浠诲姟
- * TODO:鍏朵粬搴撶殑浠诲姟鍏ㄩ儴杞埌婊戝潡搴撶粺涓�璋冨害
*
* @param transTask
* @return
@@ -726,11 +707,36 @@
List<Task> tasks = taskService.selectList(wrapper);
if (tasks != null && !tasks.isEmpty()) {
result.put("Success", "2");
- result.put("Message", "浠诲姟閲嶅鍙戦��");
+ result.put("Message", "浠诲姟鍙烽噸澶嶅彂閫侊細" + transTask.getTaskno());
return result;
}
- try {
+ // 涓嬪彂缁橰CS
+ RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
+ // 妯℃澘鍚�
+ if(transTask.getCurStationId().startsWith("LL") || transTask.getCurStationId().startsWith("LG")) { // 璧风偣浜х嚎
+ rcsTaskSubmit.setTaskType("DJ1");
+ } else if(transTask.getNextStationId().startsWith("LL") || transTask.getNextStationId().startsWith("LG")) { // 缁堢偣浜х嚎
+ rcsTaskSubmit.setTaskType("DJ2");
+ }
+ rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno());
+ rcsTaskSubmit.setInitPriority(10); //榛樿10
+ List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
+ RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
+ startRoute.setSeq(0);
+ startRoute.setCode(transTask.getCurStationId());
+ startRoute.setOperation("COLLECT");
+ targetRouteList.add(startRoute);
+ RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
+ endRoute.setSeq(1);
+ endRoute.setCode(transTask.getNextStationId());
+ endRoute.setOperation("DELIVERY");
+ targetRouteList.add(endRoute);
+ rcsTaskSubmit.setTargetRoute(targetRouteList);
+
+ // 杞彂缁欐捣搴锋垨鍗庢檽RCS
+ RcsReturn rcsReturn = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
+ if (rcsReturn.getCode().equals("SUCCESS")) {
int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);
Date now = new Date();
Task task = new Task();
@@ -747,87 +753,30 @@
task.setAppeUser(defaultUserId);
task.setAppeTime(now);
task.setTaskNo(transTask.getTaskno());
+ task.setBarcode(transTask.getDjNo()); // 鍒�鏋跺彿
task.setMemo(JSONObject.toJSONString(transTask));
+ taskService.insert(task);
- if (taskService.insert(task)) {
- Mat mat = matService.selectByMatnr("emptyDj");
- TaskDetl taskDetl = new TaskDetl();
- taskDetl.setWrkNo(task.getWrkNo());
- taskDetl.setIoTime(task.getIoTime());
- taskDetl.setMatnr(mat.getMatnr());
- taskDetl.setAnfme(0.0);
- taskDetl.setStandby1(String.valueOf(transTask.getQty()));
- taskDetl.setMaktx(mat.getMaktx());
- taskDetl.setSpecs(mat.getSpecs());
- taskDetl.setOrderNo(transTask.getOrderNo());
- taskDetl.setModiUser(defaultUserId);
- taskDetl.setModiTime(now);
- taskDetl.setAppeUser(defaultUserId);
- taskDetl.setAppeTime(now);
- taskDetlService.insert(taskDetl);
+ Mat mat = matService.selectByMatnr("emptyDj");
+ TaskDetl taskDetl = new TaskDetl();
+ taskDetl.setWrkNo(task.getWrkNo());
+ taskDetl.setIoTime(task.getIoTime());
+ taskDetl.setMatnr(mat.getMatnr());
+ taskDetl.setAnfme(1.0);
+ taskDetl.setMaktx(mat.getMaktx());
+ taskDetl.setSpecs(mat.getSpecs());
+ taskDetl.setOrderNo(transTask.getOrderNo());
+ taskDetl.setModiUser(defaultUserId);
+ taskDetl.setModiTime(now);
+ taskDetl.setAppeUser(defaultUserId);
+ taskDetl.setAppeTime(now);
+ taskDetlService.insert(taskDetl);
+ result.put("Success", "1");
+ result.put("Message", "浠诲姟鎺ユ敹鎴愬姛");
-// EntityWrapper<WaitPakin> wrapper1 = new EntityWrapper<>();
-// wrapper1.eq("order_no", transTask.getTaskno())
-// .eq("matnr", mat.getMatnr())
-// .eq("anfme", transTask.getQty());
-// WaitPakin waitPakin = waitPakinService.selectOne(wrapper1);
-// if (waitPakin != null)
-// {
-// TaskDetl taskDetl = new TaskDetl();
-// taskDetl.setWrkNo(task.getWrkNo());
-// taskDetl.setIoTime(task.getIoTime());
-// taskDetl.setMatnr(transTask.getItemno());
-// taskDetl.setAnfme(Double.valueOf(transTask.getQty()));
-// taskDetl.setAnfme(0.0);
-// taskDetl.setStandby1(String.valueOf(transTask.getQty()));
-// taskDetl.setZpallet(waitPakin.getZpallet());
-// taskDetl.setMaktx(mat.getMaktx());
-// taskDetl.setSpecs(mat.getSpecs());
-// taskDetl.setOrderNo(transTask.getOrderNo());
-// taskDetl.setModiUser(defaultUserId);
-// taskDetl.setModiTime(now);
-// taskDetl.setAppeUser(defaultUserId);
-// taskDetl.setAppeTime(now);
-// taskDetlService.insert(taskDetl);
-// }
-// else {
-// result.put("Success", "2");
-// result.put("Message", "鎺ユ敹浠诲姟澶辫触");
-// // Throw
-// }
-
- // 涓嬪彂缁橰CS
- RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
- rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno());
- rcsTaskSubmit.setInitPriority(10); //榛樿10
- List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
- RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
- startRoute.setSeq(0);
- startRoute.setCode(transTask.getCurStationId());
- startRoute.setOperation("COLLECT");
- targetRouteList.add(startRoute);
- RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
- endRoute.setSeq(1);
- endRoute.setCode(transTask.getNextStationId());
- endRoute.setOperation("DELIVERY");
- targetRouteList.add(endRoute);
- rcsTaskSubmit.setTargetRoute(targetRouteList);
-
- // 杞彂缁欐捣搴锋垨鍗庢檽RCS
- int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
- if (success == 1) {
- result.put("Success", "1");
- result.put("Message", "浠诲姟鎺ユ敹鎴愬姛");
- } else {
- result.put("Success", "2");
- result.put("Message", "浠诲姟涓嬪彂缁橰CS澶辫触");
- }
- } else {
- result.put("Success", "2");
- result.put("Message", "鎺ユ敹浠诲姟澶辫触");
- }
- } catch (Exception e) {
- log.error("涓嬪彂杩愯緭浠诲姟閿欎綅 - {}", transTask, e);
+ } else {
+ result.put("Success", "2");
+ result.put("Message", "浠诲姟涓嬪彂缁橰CS澶辫触");
}
return result;
@@ -1025,52 +974,47 @@
return 0;
}
- @Override
- public R tkt(String taskNo) {
- boolean flag = false;
- try {
- EntityWrapper<Task> wapper = new EntityWrapper<>();
- wapper.eq("task_no", taskNo).orderBy("wrk_date",false);
- Task task = taskService.selectOne(wapper);
- // 涓嬪彂缁橰CS
- RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
- rcsTaskSubmit.setRobotTaskCode(taskNo + "-1");
- rcsTaskSubmit.setInitPriority(10); //榛樿10
- List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
- RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
- startRoute.setSeq(0);
- startRoute.setCode(task.getStaNo());
- startRoute.setOperation("COLLECT");
- targetRouteList.add(startRoute);
- RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
- endRoute.setSeq(1);
- endRoute.setCode(task.getSourceStaNo());
- endRoute.setOperation("DELIVERY");
- targetRouteList.add(endRoute);
- rcsTaskSubmit.setTargetRoute(targetRouteList);
- // 鏇存柊璧风偣鍜岀粓鐐�
- String memo = task.getMemo();
- TransTask transTask = JSONObject.parseObject(memo, TransTask.class);
- transTask.setCurStationId(task.getSourceStaNo());
- transTask.setNextStationId(task.getStaNo());
- transTask.setTransType("01"); // 涓嬬┖鎵�
- // 鏇存柊agv浠诲姟璧风偣鍜岀粓鐐�
- task.setTaskNo(taskNo + "-1");
- task.setSourceStaNo(transTask.getCurStationId());
- task.setStaNo(transTask.getNextStationId());
- task.setMemo(JSONObject.toJSONString(transTask));
- taskService.updateById(task);
- // 杞彂缁欐捣搴锋垨鍗庢檽RCS
- int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
+ @Resource
+ private LocDetlService locDetlService;
- if (success == 1) {
- flag = true;
- }
- } catch (Exception e) {
- log.error("绌烘墭鍥炰骇绾垮彂AGV杩愯緭浠诲姟澶辫触", e);
+ @Resource
+ private LocMastService locMastService;
+
+ @Override
+ public R queryStock(String matnr) {
+ List<LocDetl> locDetls;
+ if (Cools.isEmpty(matnr)) {
+ locDetls = locDetlService.selectList(new EntityWrapper<>());
+ } else {
+ locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr",matnr));
}
- return flag ?R.ok() : R.parse("绌烘墭鍥炰骇绾垮懠鍙玜gv澶辫触");
+ List<String> locNoList = locDetls.stream().map(LocDetl::getLocNo).distinct().collect(Collectors.toList());
+ List<DtLocDetailVo> dtLocDetailVoList = new ArrayList<>();
+ for (String locNo: locNoList) {
+
+ LocMast locMast = locMastService.selectById(locNo);
+ DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
+ dtLocDetailVo.setLocNo(locNo);
+ dtLocDetailVo.setLocSts(locMast.getLocSts());
+ dtLocDetailVo.setRow1(locMast.getRow1());
+ dtLocDetailVo.setBay1(locMast.getBay1());
+ dtLocDetailVo.setLev1(locMast.getLev1());
+
+ List<LocDetl> locDetlList2 = locDetls.parallelStream().filter(o-> o.getLocNo().equals(locNo)).collect(Collectors.toList());
+ List<StockDetl> stockDetls = new ArrayList<>();
+ for(LocDetl locDetl:locDetlList2) {
+ StockDetl stockDetl = new StockDetl();
+ stockDetl.setMatnr(locDetl.getMatnr());
+ stockDetl.setMaktx(locDetl.getMaktx());
+ stockDetl.setAnfme(locDetl.getAnfme());
+ stockDetls.add(stockDetl);
+ }
+ dtLocDetailVo.setLocDetl(stockDetls);
+ dtLocDetailVoList.add(dtLocDetailVo);
+ }
+
+ return R.ok(dtLocDetailVoList);
}
// endregion
@@ -1083,8 +1027,9 @@
*/
private int checkRcsFactory(String agvNo) {
- AgvInfo agvInfo = agvInfoMapper.selectById(agvNo);
- return agvInfo.getAgvFactory();
+// AgvInfo agvInfo = agvInfoMapper.selectById(agvNo);
+// return agvInfo.getAgvFactory();
+ return 1;
}
}
--
Gitblit v1.9.1