|
@@ -0,0 +1,461 @@
|
|
|
+package com.ruoyi.ams.tm.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.ruoyi.ams.task.domain.WcsTask;
|
|
|
+import com.ruoyi.ams.task.service.IWcsTaskService;
|
|
|
+import com.ruoyi.ams.task.service.impl.WcsTaskServiceImpl;
|
|
|
+import com.ruoyi.ams.tm.common.TsDataConfiguration;
|
|
|
+import com.ruoyi.ams.tm.entity.Destinations;
|
|
|
+import com.ruoyi.ams.tm.entity.OrderSequence;
|
|
|
+import com.ruoyi.ams.tm.entity.TsDataResponse;
|
|
|
+import com.ruoyi.ams.tm.entity.TsTaskStateResponse;
|
|
|
+import com.ruoyi.ams.tm.service.ITsTaskService;
|
|
|
+import com.ruoyi.base.constant.Constant;
|
|
|
+import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
|
+import com.ruoyi.common.core.redis.RedisCache;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
+import com.ruoyi.common.utils.http.HttpRequest;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import sun.security.krb5.internal.crypto.Des;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class TsTaskServiceImpl implements ITsTaskService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
+ @Autowired
|
|
|
+ private IWcsTaskService wcsTaskService;
|
|
|
+ @Autowired
|
|
|
+ private WcsTaskServiceImpl wcsTaskServiceImpl;
|
|
|
+ @Autowired
|
|
|
+ private IBaseLocationInfoService baseLocationInfoService;
|
|
|
+
|
|
|
+
|
|
|
+ //任务状态翻译
|
|
|
+ private Integer tsStateConvert(String code) {
|
|
|
+
|
|
|
+ switch (code) {
|
|
|
+ case "tsOrderStarted":
|
|
|
+ return 1;
|
|
|
+ case "tsOrderFinished":
|
|
|
+ return 2;
|
|
|
+ case "Fetching":
|
|
|
+ return 3;
|
|
|
+ case "Fetched":
|
|
|
+ return 4;
|
|
|
+ case "Delivering":
|
|
|
+ return 5;
|
|
|
+ case "Delivered":
|
|
|
+ return 6;
|
|
|
+ case "tsOrderFailed":
|
|
|
+ return 7;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public synchronized TsTaskStateResponse confirmAnalysis(String tsOrder,String reqType, String agvNo) {
|
|
|
+
|
|
|
+
|
|
|
+ //根据TSOrder 查询任务
|
|
|
+ WcsTask wcsTask = wcsTaskServiceImpl.selectWcsTaskByTaskNo(tsOrder);
|
|
|
+ if(wcsTask == null){
|
|
|
+ return TsTaskStateResponse.error("未查询到对应任务!","");
|
|
|
+ }
|
|
|
+ log.info("TsTaskServiceImpl---confirmAnalysis:" + JSON.toJSONString(wcsTask));
|
|
|
+ return TsTaskStateResponse.success("","");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * tsOrderStarted ——(TS 任务开始) 1
|
|
|
+ * tsOrderFinished ——(TS任务完成) 2
|
|
|
+ * Fetching ——(取货中) 3
|
|
|
+ * Fetched ——(取货完成) 4
|
|
|
+ * Delivering ——(卸货中) 5
|
|
|
+ * Delivered ——(卸货完成) 6
|
|
|
+ * tsOrderFailed ——(TS 任务失败) 7
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsTaskStateResponse tsTaskStateBack(String tsOrder,String reqState, String agvNo) {
|
|
|
+ log.info("TS-天目任务状态反馈------------->TS任务号:{},状态:{},车号:{}" ,tsOrder,reqState,agvNo);
|
|
|
+
|
|
|
+ //根据TSOrder 查询任务
|
|
|
+ WcsTask wcsTask = wcsTaskServiceImpl.selectWcsTaskByTsIndex(tsOrder);
|
|
|
+ if(wcsTask == null){
|
|
|
+ log.info("TsTaskServiceImpl---tsTaskStateBack:未查询到任务数据!");
|
|
|
+ return TsTaskStateResponse.error("未查询到任务数据!","");
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取任务状态
|
|
|
+ Integer state = tsStateConvert(reqState);
|
|
|
+ if(state == 0){
|
|
|
+ log.info("TsTaskServiceImpl---tsTaskStateBack:未匹配到任务状态!");
|
|
|
+ return TsTaskStateResponse.error("未匹配到任务状态!","");
|
|
|
+ }
|
|
|
+ if (state == 2) {
|
|
|
+ log.info("TsTaskServiceImpl---tsTaskStateBack:已完成的任务无需反馈!");
|
|
|
+ return TsTaskStateResponse.error("已完成的任务无需反馈!","");
|
|
|
+ }
|
|
|
+ if (state == 7 && wcsTask.getState() == 7) {
|
|
|
+ log.info("TsTaskServiceImpl---tsTaskStateBack:已取消的任务无需重复取消!");
|
|
|
+ return TsTaskStateResponse.error("已取消的任务无需重复取消!","");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ switch (state) {
|
|
|
+ case 1:
|
|
|
+ wcsTask.setStartTime(new Date());
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ if (wcsTask.getState() == 3 || wcsTask.getState() == 4) {
|
|
|
+ log.info("任务未取货,不能直接完成!" + wcsTask.getTaskNo());
|
|
|
+ return TsTaskStateResponse.error("任务未取货,不能直接完成!" ,"");
|
|
|
+ }
|
|
|
+ // 解锁终点库位
|
|
|
+ baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationTo()), Constant.WAREHOUSE_ID, "TS-TM");
|
|
|
+ // 将中间缓存位库存移动到终点
|
|
|
+ wcsTaskServiceImpl.moveMiddleCacheToDestination(wcsTask);
|
|
|
+ //释放redis锁
|
|
|
+ if (!StringUtils.isEmpty(wcsTask.getExt8())) {
|
|
|
+ redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ if (wcsTask.getState() == 4) {
|
|
|
+ log.info("不能重复取货!" + wcsTask.getTaskNo());
|
|
|
+ return TsTaskStateResponse.error("不能重复取货!","");
|
|
|
+ }
|
|
|
+ // 解锁起始库位
|
|
|
+ baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationFrom()), Constant.WAREHOUSE_ID, "TS-TM");
|
|
|
+ // 将起始点库存移动到中间缓存位
|
|
|
+ wcsTaskServiceImpl.moveStartingPointToMiddleCache(wcsTask);
|
|
|
+ //释放redis锁
|
|
|
+ if (!StringUtils.isEmpty(wcsTask.getExt8())) {
|
|
|
+ redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()), wcsTask.getLocationFrom());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ if (wcsTask.getState() == 3 || wcsTask.getState() == 4) {
|
|
|
+ log.info("任务未取货,不能直接卸货!" + wcsTask.getTaskNo());
|
|
|
+ return TsTaskStateResponse.error("任务未取货,不能直接卸货!","");
|
|
|
+ }
|
|
|
+ if (wcsTask.getState() == 6) {
|
|
|
+ log.info("不能重复卸货!" + wcsTask.getTaskNo());
|
|
|
+ return TsTaskStateResponse.error("不能重复卸货!","");
|
|
|
+ }
|
|
|
+ // 解锁终点库位
|
|
|
+ baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationTo()), Constant.WAREHOUSE_ID, "TS-TM");
|
|
|
+ // 将中间缓存位库存移动到终点
|
|
|
+ wcsTaskServiceImpl.moveMiddleCacheToDestination(wcsTask);
|
|
|
+ //释放redis锁
|
|
|
+ if (!StringUtils.isEmpty(wcsTask.getExt8())) {
|
|
|
+ redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ //如果取到货就只解锁终点库位
|
|
|
+ if (wcsTask.getState() == 4 || wcsTask.getState() == 5) {
|
|
|
+ // 解锁终点库位
|
|
|
+ baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationTo()), Constant.WAREHOUSE_ID, "TS-TM");
|
|
|
+ } else {
|
|
|
+ // 解锁终点和起始库位
|
|
|
+ baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationFrom()), Long.parseLong(wcsTask.getLocationTo()), Constant.WAREHOUSE_ID, "TS-TM");
|
|
|
+ }
|
|
|
+ //释放redis锁
|
|
|
+ if (!StringUtils.isEmpty(wcsTask.getExt8())) {
|
|
|
+ redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info(wcsTask.getTaskNo() + "-----" + "回调状态:" + state + "异常", e);
|
|
|
+ wcsTask.setRemark("回调状态:" + state + "异常");
|
|
|
+ //释放redis锁
|
|
|
+ if (!StringUtils.isEmpty(wcsTask.getExt8())) {
|
|
|
+ redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()));
|
|
|
+ }
|
|
|
+ throw new RuntimeException();
|
|
|
+ }
|
|
|
+
|
|
|
+ wcsTask.setEndTime(new Date());
|
|
|
+ wcsTask.setState(state.longValue());
|
|
|
+ wcsTask.setUpdateUser("TS-TM");
|
|
|
+ wcsTask.setUpdateDate(new Date());
|
|
|
+ wcsTaskService.updateWcsTask(wcsTask);
|
|
|
+ return TsTaskStateResponse.success("操作成功!","");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse sendTaskOrder(WcsTask wcsTask) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ List<OrderSequence> orderSequenceList = new ArrayList<>();
|
|
|
+
|
|
|
+ //起始点位
|
|
|
+ Destinations deLocF = new Destinations();
|
|
|
+ deLocF.setLocationName(wcsTask.getLocationFrom());
|
|
|
+ deLocF.setOperation("Floor0_Take");
|
|
|
+ List<Destinations> desFList = new ArrayList<>();
|
|
|
+ desFList.add(deLocF);
|
|
|
+ OrderSequence orderLocF = new OrderSequence();
|
|
|
+ orderLocF.setStep("1");
|
|
|
+ orderLocF.setDestinations(desFList);
|
|
|
+ //目标点位
|
|
|
+ Destinations deLocT = new Destinations();
|
|
|
+ deLocT.setLocationName(wcsTask.getLocationTo());
|
|
|
+ deLocT.setOperation("Floor0_Place");
|
|
|
+ List<Destinations> desTList = new ArrayList<>();
|
|
|
+ desTList.add(deLocT);
|
|
|
+ OrderSequence orderLocT = new OrderSequence();
|
|
|
+ orderLocT.setStep("2");
|
|
|
+ orderLocT.setDestinations(desTList);
|
|
|
+
|
|
|
+ orderSequenceList.add(orderLocF);
|
|
|
+ orderSequenceList.add(orderLocT);
|
|
|
+
|
|
|
+ JSONObject jsonObject= new JSONObject();
|
|
|
+ jsonObject.put("priority",wcsTask.getPriority()); //任务优先级
|
|
|
+ jsonObject.put("intendedVehicle",""); //计划车辆(不指定的话不传参数)
|
|
|
+ jsonObject.put("orderType",""); //TS 流程编号(默认值由 TS 的 json 文件给出)
|
|
|
+ jsonObject.put("circulation",""); //循环执行订单(给1则表示循环,不需要循环可以不给改参数)
|
|
|
+ jsonObject.put("orderSequence",orderSequenceList); //点位 列表
|
|
|
+
|
|
|
+ log.info("TsTaskServiceImpl---sendTaskOrder:创建TS任务单:"+ JSON.toJSONString(jsonObject));
|
|
|
+ //String str = HttpRequest.postData(TsDataConfiguration.SEND_JOB_TS,jsonObject);
|
|
|
+ String str = "{\n" +
|
|
|
+ " \"success\": true,\n" +
|
|
|
+ " \"error_code\": \"0000\",\n" +
|
|
|
+ " \"msg\": \"\",\n" +
|
|
|
+ " \"data\": \"TSOrder-0003\"\n" +
|
|
|
+ "}";
|
|
|
+ log.info("TsTaskServiceImpl---sendTaskOrder:TS任务单创建结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+
|
|
|
+ if("true".equals(tsData.getSuccess())){
|
|
|
+
|
|
|
+ wcsTask.setState(10L);
|
|
|
+ wcsTask.setDeviceName(tsData.getData().toString());
|
|
|
+ }else{
|
|
|
+
|
|
|
+ wcsTask.setRemark("错误码:"+tsData.getError_code()+",错误信息:"+tsData.getMsg());
|
|
|
+ }
|
|
|
+ wcsTaskService.updateWcsTask(wcsTask);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ wcsTask.setRemark("任务下发异常:"+e);
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse queryOrderInfoByIndex(String tsIndex) {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ //String str = HttpRequest.getData(TsDataConfiguration.QUERY_ORDER_INFO_TS_INDEX,":orderIndex",tsIndex);
|
|
|
+ String str = "{\n" +
|
|
|
+ "\t\"success\": true,\n" +
|
|
|
+ "\t\"error_code\": \"0000\",\n" +
|
|
|
+ "\t\"msg\": \"\",\n" +
|
|
|
+ "\t\"data\": {\n" +
|
|
|
+ "\t\t\"tsOrderIndex\": \"TSOrder-0002\",\n" +
|
|
|
+ "\t\t\"tsOrderState\": \"tsOrder Finished\",\n" +
|
|
|
+ "\t\t\"processingVehicle\": \"Vehicle-0001\",\n" +
|
|
|
+ "\t\t\"createdTime\": \"2022-04-26T09:49:26.959Z\",\n" +
|
|
|
+ "\t\t\"finishedTime\": \"2022-04-26T09:50:10.077Z\",\n" +
|
|
|
+ "\t\t\"destinations\": [\n" +
|
|
|
+ "\t\t\t\"Location-0001\",\n" +
|
|
|
+ "\t\t\t\"Location-0004\"\n" +
|
|
|
+ "\t\t]\n" +
|
|
|
+ "\t}\n" +
|
|
|
+ "}";
|
|
|
+ log.info("TsTaskServiceImpl---queryOrderInfoByIndex:获取订单信息结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse queryOrderInfo() {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ //String str = HttpRequest.getData(TsDataConfiguration.QUERY_ORDER_INFO);
|
|
|
+ String str = "{\n" +
|
|
|
+ "\t\"success\": true,\n" +
|
|
|
+ "\t\"error_code\": \"0000\",\n" +
|
|
|
+ "\t\"msg\": \"\",\n" +
|
|
|
+ "\t\"data\": [\n" +
|
|
|
+ "\t\t{\n" +
|
|
|
+ "\t\t\t\"tsOrderIndex\": \"TSOrder-0003\",\n" +
|
|
|
+ "\t\t\t\"tsOrderState\": \"tsOrder Finished\",\n" +
|
|
|
+ "\t\t\t\"processingVehicle\": \"Vehicle-0001\",\n" +
|
|
|
+ "\t\t\t\"createdTime\": \"2022-04-26T10:42:06.601Z\",\n" +
|
|
|
+ "\t\t\t\"finishedTime\": \"2022-04-26T10:43:57.451Z\",\n" +
|
|
|
+ "\t\t\t\"destinations\": [\n" +
|
|
|
+ "\t\t\t\t\"Location-0001\",\n" +
|
|
|
+ "\t\t\t\t\"Location-0004\"\n" +
|
|
|
+ "\t\t\t]\n" +
|
|
|
+ "\t\t},\n" +
|
|
|
+ "\t\t{\n" +
|
|
|
+ "\t\t\t\"tsOrderIndex\": \"TSOrder-0002\",\n" +
|
|
|
+ "\t\t\t\"tsOrderState\": \"tsOrder Finished\",\n" +
|
|
|
+ "\t\t\t\"processingVehicle\": \"Vehicle-0001\",\n" +
|
|
|
+ "\t\t\t\"createdTime\": \"2022-04-26T10:42:05.604Z\",\n" +
|
|
|
+ "\t\t\t\"finishedTime\": \"2022-04-26T10:43:17.428Z\",\n" +
|
|
|
+ "\t\t\t\"destinations\": [\n" +
|
|
|
+ "\t\t\t\t\"Location-0001\",\n" +
|
|
|
+ "\t\t\t\t\"Location-0004\"\n" +
|
|
|
+ "\t\t\t]\n" +
|
|
|
+ "\t\t},\n" +
|
|
|
+ "\t\t{\n" +
|
|
|
+ "\t\t\t\"tsOrderIndex\": \"TSOrder-0001\",\n" +
|
|
|
+ "\t\t\t\"tsOrderState\": \"tsOrder Finished\",\n" +
|
|
|
+ "\t\t\t\"processingVehicle\": \"Vehicle-0001\",\n" +
|
|
|
+ "\t\t\t\"createdTime\": \"2022-04-26T10:42:04.480Z\",\n" +
|
|
|
+ "\t\t\t\"finishedTime\": \"2022-04-26T10:42:37.095Z\",\n" +
|
|
|
+ "\t\t\t\"destinations\": [\n" +
|
|
|
+ "\t\t\t\t\"Location-0001\",\n" +
|
|
|
+ "\t\t\t\t\"Location-0004\"\n" +
|
|
|
+ "\t\t\t]\n" +
|
|
|
+ "\t\t},\n" +
|
|
|
+ "\t\t{\n" +
|
|
|
+ "\t\t\t\"tsOrderIndex\": \"TSOrder-0000\",\n" +
|
|
|
+ "\t\t\t\"tsOrderState\": \"tsOrder Failed\",\n" +
|
|
|
+ "\t\t\t\"processingVehicle\": \"Vehicle-0001\",\n" +
|
|
|
+ "\t\t\t\"createdTime\": \"2022-04-26T10:40:44.192Z\",\n" +
|
|
|
+ "\t\t\t\"finishedTime\": null,\n" +
|
|
|
+ "\t\t\t\"destinations\": [\n" +
|
|
|
+ "\t\t\t\t\"Location-0001\",\n" +
|
|
|
+ "\t\t\t\t\"Location-0004\"\n" +
|
|
|
+ "\t\t\t]\n" +
|
|
|
+ "\t\t}\n" +
|
|
|
+ "\t]\n" +
|
|
|
+ "}";
|
|
|
+ log.info("TsTaskServiceImpl---queryOrderInfo:全部订单信息结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse delOrderByIndex(String tsIndex) {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ if(tsIndex == null || "".equals(tsIndex)){
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject jsonObject= new JSONObject();
|
|
|
+ jsonObject.put(":TSIndex",tsIndex);
|
|
|
+
|
|
|
+ //String str = HttpRequest.postData(TsDataConfiguration.DEL_ORDER_TS_INDEX,jsonObject);
|
|
|
+ String str = "{\n" +
|
|
|
+ "\"success\": true, \"error_code\": \"0000\", \"msg\": \"\", \"data\": \"\" }";
|
|
|
+ log.info("TsTaskServiceImpl---delOrderByIndex:取消结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse delOrderByAgvNo(String agvNo) {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ JSONObject jsonObject= new JSONObject();
|
|
|
+ jsonObject.put(":VehicleName",agvNo);
|
|
|
+
|
|
|
+ //String str = HttpRequest.postData(TsDataConfiguration.DEL_ORDER_AGV_NO,jsonObject);
|
|
|
+ String str = "{\n" +
|
|
|
+ "\"success\": true, \"error_code\": \"0000\", \"msg\": \"\", \"data\": \"\" }";
|
|
|
+ log.info("TsTaskServiceImpl---delOrder:取消结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public synchronized TsDataResponse sendChargeJob(String agvNo,String loc) {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ //设置充电机位置
|
|
|
+ Destinations destination = new Destinations();
|
|
|
+ destination.setLocationName(loc); //充电机点位
|
|
|
+ destination.setOperation("Charge");
|
|
|
+ List<Destinations> desList = new ArrayList<>();
|
|
|
+ desList.add(destination);
|
|
|
+
|
|
|
+ JSONObject jsonObject= new JSONObject();
|
|
|
+ jsonObject.put("deadline",""); //截至时间
|
|
|
+ jsonObject.put("intendedVehicle",agvNo); //车号
|
|
|
+ jsonObject.put("destinations",desList);
|
|
|
+
|
|
|
+ log.info("TsTaskServiceImpl---sendChargeJob:发送充电任务:"+ JSON.toJSONString(jsonObject));
|
|
|
+ //String str = HttpRequest.postData(TsDataConfiguration.SEND_CHARGE_JOB,jsonObject);
|
|
|
+ String str = "{\n" +
|
|
|
+ "\"success\": true, \"error_code\": \"0000\", \"msg\": \"\", \"data\": \"\" }";
|
|
|
+ log.info("TsTaskServiceImpl---sendChargeJob:充电消息发送结果:"+ JSON.toJSONString(str));
|
|
|
+ TsDataResponse tsData = JSONObject.parseObject(str, TsDataResponse.class);
|
|
|
+ return tsData;
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ return new TsDataResponse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|