From aea629d098bdab0918d90e0c51af9d7b099bca12 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 31 五月 2024 20:45:51 +0800
Subject: [PATCH] #新旧物料更新接口
---
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 132 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 110 insertions(+), 22 deletions(-)
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 b23a41c..964f52f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -2,15 +2,17 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.param.AgvTaskCreateParam;
import com.zy.asrs.entity.param.AgvTaskParam;
import com.zy.asrs.entity.param.AgvTaskkDescribeParam;
import com.zy.asrs.mapper.AgvWrkMastMapper;
-import com.zy.asrs.service.AgvWrkMastService;
-import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.*;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,10 +39,22 @@
@Value("${agv.containerMoveInPath}")
private String containerMoveInPath;
+ @Value("${agv.containerMoveOutPath}")
+ private String containerMoveOutPath;
+
+ @Value("${agv.containerArrivedPath}")
+ private String containerArrivedPath;
+
@Autowired
AgvWrkMastMapper agvWrkMastMapper;
@Autowired
+ AgvWrkDetlService agvWrkDetlService;
+ @Autowired
+ AgvLocMastService agvLocMastService;
+ @Autowired
ApiLogService apiLogService;
+ @Autowired
+ AgvBasDevpService agvBasDevpService;
public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
AgvWrkMast agvWrkMast = this.selectById(wrkNo);
@@ -50,53 +64,127 @@
this.updateById(agvWrkMast);
}
+ // TODO 鍒ゆ柇瑙勫垯
private boolean checkWrkSts(AgvWrkMast agvWrkMast,long wrkSts){
- // 鍒ゆ柇瑙勫垯TODO
+
return true;
}
- public Map<String,List<Map<String,String>>> startWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
+ public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException {
AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
- agvTaskCreateParam.setTaskType("putaway");
+ agvTaskCreateParam.setTaskType(taskType);
+ getRequestParam(agvTaskCreateParam,agvWrkMastList);
+
+ return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
+
+ //return containerMoveParam;
+ }
+
+ //瀹瑰櫒鍏ュ満
+ public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException {
//璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁�
Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
List<Map<String,String>> positionCodeMapList = new ArrayList<>();
containerMoveParam.put("containerMoveIns",positionCodeMapList);
- getRequestParam(agvTaskCreateParam,agvWrkMastList,positionCodeMapList);
+ getContainerMoveParam(agvWrkMastList,positionCodeMapList);
- doHttpRequest(agvTaskCreateParam,"涓婃灦浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
-
- return containerMoveParam;
- }
-
- public int containerMove(Map<String, List<Map<String, String>>> containerMoveParam) throws IOException {
-
+ if(Cools.isEmpty(positionCodeMapList)){
+ return 0;
+ }
return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
}
- private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
+ //瀹瑰櫒绂诲満
+ public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){
+ Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
+ List<Map<String,String>> positionCodeMapList = new ArrayList<>();
+ containerMoveParam.put("containerMoveOuts",positionCodeMapList);
+ for(AgvWrkMast agvWrkMast : agvWrkMastList){
+ Map<String,String> positionCodeMap = new HashMap<>();
+ positionCodeMap.put("positionCode",agvWrkMast.getLocNo());
+ positionCodeMapList.add(positionCodeMap);
+ }
+ return doHttpRequest(containerMoveParam,"瀹瑰櫒绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1");
+ }
+
+ public boolean insertByIncrease(AgvWrkMast agvWrkMast) {
+ int index = this.baseMapper.insertByIncrease(agvWrkMast);
+
+ return index > 0;
+ }
+
+ @Override
+ public boolean deleteByWrkNo(int wrkNo) {
+ return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
+ }
+
+ //瀹瑰櫒鍒拌揪閫氱煡
+ public int containerArrived(AgvWrkMast agvWrkMast) {
+
+ Map<String,String> containerArrivedParam = new HashMap<>();
+ containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo());
+ containerArrivedParam.put("containerCode",agvWrkMast.getBarcode());
+
+ return doHttpRequest(containerArrivedParam,"瀹瑰櫒杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1");
+ }
+
+ @Override
+ public List<AgvWrkMast> selectReadyAgvWrkMast() {
+ List<String> stationCodes = agvBasDevpService.selectAllStationCode();
+ Wrapper<AgvWrkMast> wrapper = new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 21L).like(false, "loc_no", "@");
+ wrapper.in("loc_no",stationCodes);
+ return this.selectList(wrapper);
+ //return this.baseMapper.selectReadyAgvWrkMast();
+ }
+
+ @Override
+ public AgvWrkMast selectByContainerCode(String containerCode) {
+ return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
+ }
+
+ private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
+ //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
+ for(AgvWrkMast agvWrkMast : agvWrkMastList){
+ //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹�
+ if("Y".equals(agvWrkMast.getMk())){
+ continue;
+ }
+ Map<String,String> positionCodeMap = new HashMap<>();
+ positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
+ positionCodeMapList.add(positionCodeMap);
+ }
+ }
+
+ private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList){
List<AgvTaskParam> agvTaskParamList = agvWrkMastList.stream().map(agvWrkMast -> {
AgvTaskParam agvTaskParam = new AgvTaskParam();
AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam();
agvTaskParam.setTaskDescribe(agvTaskkDescribeParam);
//AgvTaskParam
- agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString());
+ if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){
+ agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + "");
+ }else{
+ agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + "");
+ }
+
agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
- //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
- Map<String,String> positionCodeMap = new HashMap<>();
- positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
- positionCodeMapList.add(positionCodeMap);
-
//AgvTaskkDescribeParam
- agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
- agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+ if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
+ agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
+ }
+
+ if(agvWrkMast.getLocNo().contains("SK")){
+ agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+ }else {
+ agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo());
+ }
agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
return agvTaskParam;
}).collect(Collectors.toList());
--
Gitblit v1.9.1