#
luxiaotao1123
2021-06-03 958b12cccc9e0043eb0c6b9bb84ebdf554ebe1a1
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1,34 +1,48 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasAgv;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.BasAgvService;
import com.zy.asrs.service.MatCodeService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.agv.AgvCommand;
import com.zy.common.model.agv.AgvResult;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.Date;
/**
 * 移动端服务核心类
 * Created by vincent on 2020/6/28
 */
@Slf4j
@Service
public class MobileServiceImpl implements MobileService {
    @Value("${agv.url}")
    private String agvUrl;
    @Autowired
    private MatCodeService matCodeService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private BasAgvService basAgvService;
    @Override
    @Transactional
@@ -66,6 +80,34 @@
                        throw new CoolException("保存数据失败");
                    }
                }
                // 小车入库搬运命令 ----------------------------------------------------
                if (!Cools.isEmpty(param.getAgvSite())) {
                    BasAgv idleAgv = basAgvService.selectIdleAgv();
                    AgvCommand command = new AgvCommand();
                    command.setAgvId(idleAgv.getAgvId());
                    command.setInterCode("8888");
                    command.setBeginLoc(String.valueOf(param.getAgvSite()));
                    command.setEndLoc("10");
                    log.info(JSON.toJSONString(command));
                    String result;
                    try {
                        result = new HttpHandler.Builder()
                                .setUri(agvUrl + "/api/interfaceTask/SendTaskByThirdParty")
                                .setJson(JSON.toJSONString(command))
                                .build()
                                .doPost();
                    } catch (IOException e) {
                        e.printStackTrace();
                        throw new CoolException("访问AGV接口失败");
                    }
                    AgvResult agvResult = JSON.parseObject(result, AgvResult.class);
                    log.info(JSON.toJSONString(agvResult));
                    if (!agvResult.getResult()) {
                        log.error("agv命令发送失败[agvId={}],错误信息={}", command.getAgvId(), agvResult.getExplain());
                        throw new CoolException("agv命令发送失败[agvId=" + command.getAgvId() + "],错误信息=" + agvResult.getExplain());
                    }
                }
            } else {
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.setZpallet(param.getBarcode());   // 托盘码