ItemDownloadApiService.java 5.17 KB
package com.huaheng.api.SSP.service;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.huaheng.api.SSP.domain.SSPmaterialModel;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.http.HttpUtils;
import com.huaheng.common.utils.http.OkHttpUtils;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.domain.AjaxResultWCS;
import com.huaheng.pc.config.address.domain.Address;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.text.SimpleDateFormat;
import java.util.Date;

//物料信息上传
@Service
@Transactional
public class ItemDownloadApiService {

    @Autowired
    MaterialService materialService;

    @Autowired
    private AddressService addressService;


    public String getQGUrl(String containerCode) {
        Address address = new Address();
        String number = containerCode.substring(0, 1);
        address.setNumber(number);
        address.setParam("QG");
        address.setWarehouseCode(ShiroUtils.getWarehouseCode());
        String url = addressService.selectEntity(address).getUrl();
        return url;
    }

    //private  static String address="http://172.16.30.238:4322/api/SSP/";

    public AjaxResult Idls(String url) {
        String ur = url.substring(0, 25);
        Address address = new Address();
        address.setUrl(ur);
        //String warehouseCode=addressService.selectWarehouse(address).getWarehouseCode();
        String warehouseCode = addressService.list(new LambdaQueryWrapper<Address>().like(Address::getUrl, ur)).get(0).getWarehouseCode();
        if (StringUtils.isEmpty(warehouseCode)) {
            return AjaxResult.success("该地址没找到仓库");
        }
        Material material = new Material();
        material.setWarehouseCode(warehouseCode);
        material.setZoneCode("QG");
        material.setUserDef2("0");
        Material materials = materialService.list(new LambdaQueryWrapper<Material>()
                .eq(Material::getUserDef2, 0)
                .eq(Material::getWarehouseCode, warehouseCode)
                .eq(Material::getZoneCode, "QG")).get(0);
        //Material materials = materialService.selectFirstEntity(material);
        if (materials == null) {
            return AjaxResult.success("系统中没有钱柜的物料!!或钱柜的物流已全部发完!!");
        }

        try {
            SSPmaterialModel smm = new SSPmaterialModel();
            smm.setSpecification(materials.getSpec());
            smm.setCubeCode(materials.getZoneCode());
            smm.setCompanyCode(materials.getCompanyCode());
            smm.setItemCode(materials.getCode());
            smm.setItemName(materials.getName());
            smm.setItemBarcode(materials.getCode());
            smm.setWarehouseCode(materials.getWarehouseCode());
            smm.setItemUnit(materials.getUnit());
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sss");
            smm.setcDatetime(df.format(new Date()));

            String JsonParam = JSON.toJSONString(smm);
            String result = HttpUtils.bodypost(url, JsonParam, "CS0001");
            AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);

            Material upm = new Material();
            upm.setId(materials.getId());
            upm.setUserDef2("1");
            materialService.updateById(upm);
            return ajaxResult;
        } catch (Exception e) {
            throw new ServiceException("物料信息同步上传失败");
        }
    }

    public AjaxResult sendMaterial(Material material, String containerCode) {
        SSPmaterialModel smm = new SSPmaterialModel();
        smm.setSpecification(material.getSpec());
        smm.setCubeCode(material.getZoneCode());
        smm.setCompanyCode(material.getCompanyCode());
        smm.setItemCode(material.getCode());
        smm.setItemName(material.getName());
        smm.setItemBarcode(material.getCode());
        smm.setWarehouseCode(material.getWarehouseCode());
        smm.setItemUnit(material.getUnit());
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sss");
        smm.setcDatetime(df.format(new Date()));
        String url = this.getQGUrl(containerCode) + "ItemDownload";
        String JsonParam = JSON.toJSONString(smm);
        String result = OkHttpUtils.bodypost(url, JsonParam, ShiroUtils.getWarehouseCode());
        if (StringUtils.isEmpty(result)) {
            throw new ServiceException("接口地址错误或服务器连接不到或返回为空");
        }
        AjaxResultWCS ajaxResult = JSON.parseObject(result, AjaxResultWCS.class);
        AjaxResult ajaxResult1=new AjaxResult();
        ajaxResult1.setCode(ajaxResult.code);
        ajaxResult1.setMsg(ajaxResult.getMessage());
        return ajaxResult1;
    }


}