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

import com.alibaba.fastjson.JSON;
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.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.domain.Address;
import com.huaheng.pc.config.address.service.IAddressService;
import com.huaheng.pc.general.material.domain.Material;
import com.huaheng.pc.general.material.service.IMaterialService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

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

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

    @Autowired
    IMaterialService iMaterialService;

    @Autowired
    private IAddressService addressService;


    public String getQGUrl(){
        Address address =new Address();
        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();
        Material material = new Material();
        material.setWarehouseCode(warehouseCode);
        material.setZoneCode("QG");
        material.setUserDef2("0");
        Material materials = iMaterialService.selectFirstEntity(material);
        if (materials==null){
            return AjaxResult.success("系统中没有钱柜的物料!!或钱柜的物流已全部发完!!");
        }

        try {
            SSPmaterialModel smm = new SSPmaterialModel();
            smm.setSpecification(materials.getSpecification());
            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.getMasterUnit());
            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);
            AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);

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

    public AjaxResult sendMaterial(Material material){
        SSPmaterialModel smm = new SSPmaterialModel();
        smm.setSpecification(material.getSpecification());
        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.getMasterUnit());
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sss");
        smm.setcDatetime(df.format(new Date()));
        String url=this.getQGUrl()+"ItemDownload";
        String JsonParam = JSON.toJSONString(smm);
        String result = HttpUtils.bodypost(url, JsonParam);
        if(StringUtils.isEmpty(result)){
            throw new ServiceException("接口地址错误");
        }
        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
        return ajaxResult;
    }


}