ARRIVEDMASTERServiceImp.java 3.9 KB
package com.tianbo.analysis.service.imp;

import com.tianbo.analysis.dao.ARRIVEDMASTERMapper;
import com.tianbo.analysis.dao.ARRIVEDSECONDARYMapper;
import com.tianbo.analysis.model.*;
import com.tianbo.analysis.service.ARRIVEDMASTERService;
import com.tianbo.analysis.model.NmmsBase;
import com.tianbo.analysis.tools.AWBTools;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Auther: shenhl
 * @Date: 2019/8/23 15:02
 */
@Service
@Slf4j
@Async
public class ARRIVEDMASTERServiceImp extends NmmsBase implements ARRIVEDMASTERService{


    @Autowired
    ARRIVEDMASTERMapper arrivedmasterMapper;

    @Autowired
    ARRIVEDSECONDARYMapper arrivedsecondaryMapper;


    /**
     * 入库主单回执信息
     * @return 成功返回1,失败返回0。
     */
    @Override
    public int master(){
        //设置主单回执、航班号、航班日期
        ARRIVEDMASTER arrivedmaster = new ARRIVEDMASTER();
        arrivedmaster.setReceiptinformation(reception);
        arrivedmaster.setWaybillnomaster(awbA);
        //拆分航班号和承运人
        String[] flightInfo = AWBTools.splitFlight(customReception.getFlightNo());
        arrivedmaster.setFlightno(flightInfo[1]);
        arrivedmaster.setCarrier(flightInfo[0]);
        arrivedmaster.setFlightDate(flightDate);
        arrivedmaster.setStatus(nmsStatusCode);
        //更新主单回执
        int i = arrivedmasterMapper.updateRECEIPTION(arrivedmaster);
        //获取分单autoid
        List<ARRIVEDMASTER> arrivedmasterList = arrivedmasterMapper.selectAutoIdByAwb(arrivedmaster);
        if(!arrivedmasterList.isEmpty()){
            ARRIVEDMASTER originMaster = arrivedmasterList.get(0);
            String autoId = originMaster.getAutoid();

            //插入sendlog记录表
            log.info("即将插入日志运单号为:"+awbA+"->autoid="+autoId);
            int ii =coustomAnalysisServiceImp.insertSendlog("MT3201",reception,autoId);

            int iii = shareServiceImp.updateMessages(customReception);

            if (i>0 && ii>0){
                log.info("运单号 {} 运抵回执更新成功",awbA);
                return 1;
            }
            if ( iii > 0){
                return 1;
            }

        }
        return 0;
    }

    /**
     * 入库分单回执信息
     * @return 成功返回1,失败返回0。
     */
    @Override
    public int second(){
        // 设置 接收运抵分单  回执
        ARRIVEDSECONDARY arrivedsecondary = new ARRIVEDSECONDARY();
        arrivedsecondary.setReceiption(reception);
        //设置主分单的 主单号
        arrivedsecondary.setWaybillnomaster(awbA);
        //取分单号
        String[] awbhArr = awbH.split("_");
        String awbh = awbhArr[1];
        arrivedsecondary.setWaybillnosecondary(awbh);
        arrivedsecondary.setStatus(nmsStatusCode);
        //更新分单回执
        int i = arrivedsecondaryMapper.updateRECEIPTION(arrivedsecondary);
        //获取分单autoid
        List<ARRIVEDSECONDARY> arrivedsecondaryList = arrivedsecondaryMapper.selectAutoIdByawbAawbH(arrivedsecondary);
        if(!arrivedsecondaryList.isEmpty()){
            ARRIVEDSECONDARY arrivedSecond = arrivedsecondaryList.get(0);
            String autoId =  arrivedSecond.getAutoid();
            //插入sendlog记录表
            log.info("即将插入日志运单号为:"+awbH+"->autoid="+autoId);
            int ii = coustomAnalysisServiceImp.insertSendlog("MT3201",reception,autoId);

            int iii = shareServiceImp.updateMessages(customReception);
            if (i>0 && ii>0 ){
                log.info("运单号 {} 运抵回执更新成功",awbA);
                return 1;
            }
            if ( iii > 0){
                return 1;
            }
        }
        return 0;
    }

}