TaskCancelServiceImpl.java 3.54 KB
package com.huaheng.api.wcs.service.taskCancel;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.wcs.domain.WcsTask;
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.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.container.service.ContainerService;
import com.huaheng.pc.config.containerType.domain.ContainerType;
import com.huaheng.pc.config.containerType.service.ContainerTypeService;
import com.huaheng.pc.config.location.service.LocationService;
import com.huaheng.pc.config.locationType.domain.LocationType;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class TaskCancelServiceImpl implements TaskCancelService {


    @Autowired
    private AddressService addressService;
    @Resource
    private TaskHeaderService taskHeaderService;
    @Resource
    private ContainerTypeService containerTypeService;
    @Resource
    private ContainerService containerService;
    /**取消任务
     * 1、判断参数是否为空
     * 2、转换实体
     * 3、发送数据
     * @param id
     * @return
     */
    @Override
    public AjaxResult TaskCance(Integer id) {

        //1、判断参数是否为空
        if(id == null){
            throw new ServiceException("任务号为空");
        }
        //2、转换实体
        WcsTask wcsTask = new WcsTask();
        wcsTask.setTaskNo(id.toString());
        TaskHeader byId = taskHeaderService.getById(id);
            String area=null;
            String warehouseCode=null;
              String url=null;

        LambdaQueryWrapper<Container> lambdaWrapper = Wrappers.lambdaQuery();
        lambdaWrapper.eq(Container::getCode,byId.getContainerCode());
        Container container = containerService.getOne(lambdaWrapper);


            LambdaQueryWrapper<ContainerType> lambdaWrapper1 = Wrappers.lambdaQuery();
            lambdaWrapper1.eq(ContainerType::getCode,container.getContainerType());
            ContainerType containerType = containerTypeService.getOne(lambdaWrapper1);
             area = containerType.getArea();
             warehouseCode=containerType.getWarehouseCode();

            if (byId.getZoneCode()==null)
            {

                url = addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_CANCEL,warehouseCode,area);
            }
            else {
             if (byId.getZoneCode().equals("C"))
            {area="3";
            warehouseCode=byId.getWarehouseCode();}
             url = addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_CANCEL,warehouseCode,area);
            }
        //3、发送数据

        String jsonParam = JSON.toJSONString(wcsTask);
        String result = HttpUtils.bodypost(url, jsonParam);
        if(StringUtils.isEmpty(result)){
            throw new ServiceException("接口地址错误");
        }
        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
        return ajaxResult;
    }
}