ZarApiService.java 2.14 KB
package com.huaheng.api.sap.service;

import com.huaheng.api.sap.domain.ZarDomain;

import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.web.domain.AjaxResult;

import com.huaheng.pc.sap.domain.Zarsh;
import com.huaheng.pc.sap.domain.Zarsi;
import com.huaheng.pc.sap.service.BackSapStatusService;
import com.huaheng.pc.sap.service.ZarshService;
import com.huaheng.pc.sap.service.ZarsiService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

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


@Component
@Transactional
public class ZarApiService {
    @Resource
    private ZarshService zarshService;
    @Resource
    private ZarsiService zarsiService;
    @Resource
    private BackSapStatusService backSapStatusService;

    /**
     *
     * @param zarDomain 入库出库单
     */
    public AjaxResult saveSapData(ZarDomain zarDomain) {
        if(StringUtils.isNull(zarDomain)){
            throw new ServiceException("参数为空");
        }
        List<Zarsi> zarsiList = zarDomain.getZarsiList();
        Zarsh zarsh=zarDomain.getZarsh();
        if(zarsiList==null||zarsiList.size()==0){
            throw new ServiceException("zarsiList参数为空");
        }
        if(zarsh==null){
            throw new ServiceException("zarsh参数为空");
        }
        if(StringUtils.isEmpty(zarsh.getUniqueId())){
            throw new ServiceException("唯一号uniqueId参数为空");
        }
        if(!zarshService.save(zarsh)){
            throw new ServiceException("保存主表数据失败");
        }
        if(!zarsiService.saveBatch(zarsiList)){
            throw new ServiceException("保存子表数据失败");
        }
        AjaxResult ajaxResult= zarshService.saveSapDataByApi(zarDomain);
        if(ajaxResult==null||ajaxResult.hasErr()){
            String msg=ajaxResult.getMsg();
            //调用sap的api,传递任务状态
            backSapStatusService.saveBackSapStatus(zarsh.getUniqueId(), zarsh.getLgnum(), null, 1, "C", null,msg);
        }
        return ajaxResult;
    }



}