RobotServiceImpl.java 3.75 KB
package com.huaheng.api.robot.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.api.robot.domain.RobotInfo;
import com.huaheng.common.constant.HttpConstant;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.http.HttpUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class RobotServiceImpl implements RobotService {

    @Resource
    TaskHeaderService taskHeaderService;
    @Resource
    AddressService addressService;

    @Override
    public AjaxResult pushReceiptContainer(List<TaskDetail> taskDetailList, String warehouseCode) {
        QuantityConstant.ryTask_warehouse_code = warehouseCode;
        String url = addressService.selectAddress(QuantityConstant.PUSH_RECEIPT_CONTAINER, warehouseCode, null);
        JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(taskDetailList));
        String JsonParam = jsonArray.toJSONString();
        System.out.println(JsonParam);
        String result = HttpUtils.bodypost(url, JsonParam);
        if(StringUtils.isEmpty(result)) {
            throw new ServiceException("接口地址错误或返回为空");
        }
        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
        if(ajaxResult.getCode() != HttpConstant.OK) {
            return AjaxResult.error(ajaxResult.getMsg());
        }
        return AjaxResult.success("发送入库托盘数据成功");
    }

    @Override
    public AjaxResult pushShipmentContainer(List<TaskDetail> taskDetailList, String warehouseCode) {
        String url = addressService.selectAddress(QuantityConstant.PUSH_SHIPMENT_CONTAINER, warehouseCode, null);
        JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(taskDetailList));
        String JsonParam = jsonArray.toJSONString();
        System.out.println(JsonParam);
        String result = HttpUtils.bodypost(url, JsonParam);
        if(StringUtils.isEmpty(result)) {
            throw new ServiceException("接口地址错误或返回为空");
        }
        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
        if(ajaxResult.getCode() != HttpConstant.OK) {
            return AjaxResult.error(ajaxResult.getMsg());
        }
        return AjaxResult.success("发送出库托盘数据成功");
    }

    @Override
    public AjaxResult back(String containerCode) {
        LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
        taskHeaderLambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode);
        taskHeaderLambdaQueryWrapper.lt(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED);
        TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
        if(taskHeader == null) {
            return AjaxResult.error("不允许回库");
        }
        int back = taskHeader.getBack();
        if(back == 1) {
            return AjaxResult.success("允许回库");
        }
        return AjaxResult.error("不允许回库");
    }
}